[ { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_liquidity", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "ERC2612ExpiredSignature", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC2612InvalidSigner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "preLiquidity", "type": "address" }, { "indexed": true, "internalType": "address", "name": "liquidity", "type": "address" } ], "name": "TransferLiquidity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "unlockDelaySec", "type": "uint256" } ], "name": "TransferOwnerLocked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "transferOwnerTime", "type": "uint256" } ], "name": "TransferOwnerUnlocked", "type": "event" }, { "inputs": [], "name": "ADVISORS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CORE_TEAM", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "INITIAL_LIQUIDITY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "INVESTORS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "REWARDS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SIGN_IN_BONUS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TREASURY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_unlockDelaySec", "type": "uint32" } ], "name": "editOwnerLockedInfo", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getTransferOwnershipInfo", "outputs": [ { "components": [ { "internalType": "bool", "name": "locked", "type": "bool" }, { "internalType": "uint32", "name": "unlockDelaySec", "type": "uint32" }, { "internalType": "uint48", "name": "transferOwnerTime", "type": "uint48" } ], "internalType": "struct Ownerable.TransferOwnerInfo", "name": "info", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "infos", "outputs": [ { "internalType": "bool", "name": "locked", "type": "bool" }, { "internalType": "uint32", "name": "unlockDelaySec", "type": "uint32" }, { "internalType": "uint48", "name": "transferOwnerTime", "type": "uint48" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[6]", "name": "addresses", "type": "address[6]" } ], "name": "init", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_liquidity", "type": "address" } ], "name": "transferLiquidity", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unlockAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unlockInfo", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6101606040525f600a5534801562000015575f80fd5b5060405162004efb38038062004efb83398181016040528101906200003b919062000a92565b81806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152508484816003908162000086919062000d76565b50806004908162000098919062000d76565b505050620000b1600583620001dc60201b90919060201c565b6101208181525050620000cf600682620001dc60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506200010e6200023160201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200016c620001606200028d60201b60201c565b6200029460201b60201c565b6200017d846200037260201b60201c565b620001928462015180620005ad60201b60201c565b8260115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505062001316565b5f6020835110156200020157620001f9836200078060201b60201c565b90506200022b565b826200021383620007ea60201b60201c565b5f01908162000223919062000d76565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200027295949392919062000e96565b60405160208183030381529060405280519060200120905090565b5f33905090565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f8282546200030d919062000f1e565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b62000382620007f360201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620003f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003ea9062000fdc565b60405180910390fd5b6001600a541162000415576200040f816200029460201b60201c565b620005aa565b5f60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f1515815f015f9054906101000a900460ff16151514620004ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004a4906200104a565b60405180910390fd5b5f815f0160059054906101000a900465ffffffffffff1665ffffffffffff16116200050f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000506906200104a565b60405180910390fd5b42815f0160059054906101000a900465ffffffffffff1665ffffffffffff16111562000572576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200056990620010b8565b60405180910390fd5b62000583826200029460201b60201c565b620005a882825f0160019054906101000a900463ffffffff16620005ad60201b60201c565b505b50565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050805f0160019054906101000a900463ffffffff1663ffffffff168263ffffffff16101562000652576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006499062001126565b60405180910390fd5b60405180606001604052806001151581526020018363ffffffff1681526020015f65ffffffffffff1681525060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f015f6101000a81548160ff0219169083151502179055506020820151815f0160016101000a81548163ffffffff021916908363ffffffff1602179055506040820151815f0160056101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050508273ffffffffffffffffffffffffffffffffffffffff167feb7498540808890de0ea16a2351a51808b1b3a1447a27e20524a6027167747f2836040516200077391906200118d565b60405180910390a2505050565b5f80829050601f81511115620007cf57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401620007c69190620011e8565b60405180910390fd5b805181620007dd9062001239565b5f1c175f1b915050919050565b5f819050919050565b620008036200028d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620008296200088460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000882576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200087990620012f6565b60405180910390fd5b565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620008e882620008bd565b9050919050565b620008fa81620008dc565b811462000905575f80fd5b50565b5f815190506200091881620008ef565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200096e8262000926565b810181811067ffffffffffffffff8211171562000990576200098f62000936565b5b80604052505050565b5f620009a4620008ac565b9050620009b2828262000963565b919050565b5f67ffffffffffffffff821115620009d457620009d362000936565b5b620009df8262000926565b9050602081019050919050565b5f5b8381101562000a0b578082015181840152602081019050620009ee565b5f8484015250505050565b5f62000a2c62000a2684620009b7565b62000999565b90508281526020810184848401111562000a4b5762000a4a62000922565b5b62000a58848285620009ec565b509392505050565b5f82601f83011262000a775762000a766200091e565b5b815162000a8984826020860162000a16565b91505092915050565b5f805f806080858703121562000aad5762000aac620008b5565b5b5f62000abc8782880162000908565b945050602062000acf8782880162000908565b935050604085015167ffffffffffffffff81111562000af35762000af2620008b9565b5b62000b018782880162000a60565b925050606085015167ffffffffffffffff81111562000b255762000b24620008b9565b5b62000b338782880162000a60565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000b8e57607f821691505b60208210810362000ba45762000ba362000b49565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000c087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000bcb565b62000c14868362000bcb565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000c5e62000c5862000c528462000c2c565b62000c35565b62000c2c565b9050919050565b5f819050919050565b62000c798362000c3e565b62000c9162000c888262000c65565b84845462000bd7565b825550505050565b5f90565b62000ca762000c99565b62000cb481848462000c6e565b505050565b5b8181101562000cdb5762000ccf5f8262000c9d565b60018101905062000cba565b5050565b601f82111562000d2a5762000cf48162000baa565b62000cff8462000bbc565b8101602085101562000d0f578190505b62000d2762000d1e8562000bbc565b83018262000cb9565b50505b505050565b5f82821c905092915050565b5f62000d4c5f198460080262000d2f565b1980831691505092915050565b5f62000d66838362000d3b565b9150826002028217905092915050565b62000d818262000b3f565b67ffffffffffffffff81111562000d9d5762000d9c62000936565b5b62000da9825462000b76565b62000db682828562000cdf565b5f60209050601f83116001811462000dec575f841562000dd7578287015190505b62000de3858262000d59565b86555062000e52565b601f19841662000dfc8662000baa565b5f5b8281101562000e255784890151825560018201915060208501945060208101905062000dfe565b8683101562000e45578489015162000e41601f89168262000d3b565b8355505b6001600288020188555050505b505050505050565b5f819050919050565b62000e6e8162000e5a565b82525050565b62000e7f8162000c2c565b82525050565b62000e9081620008dc565b82525050565b5f60a08201905062000eab5f83018862000e63565b62000eba602083018762000e63565b62000ec9604083018662000e63565b62000ed8606083018562000e74565b62000ee7608083018462000e85565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000f2a8262000c2c565b915062000f378362000c2c565b925082820190508082111562000f525762000f5162000ef1565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f62000fc460268362000f58565b915062000fd18262000f68565b604082019050919050565b5f6020820190508181035f83015262000ff58162000fb6565b9050919050565b7f6d7573742063616c6c20756e6c6f636b496e666f2829206669727374000000005f82015250565b5f62001032601c8362000f58565b91506200103f8262000ffc565b602082019050919050565b5f6020820190508181035f830152620010638162001024565b9050919050565b7f5472616e73666572206f776e6572206973206e6f7420647565000000000000005f82015250565b5f620010a060198362000f58565b9150620010ad826200106a565b602082019050919050565b5f6020820190508181035f830152620010d18162001092565b9050919050565b7f63616e6e6f7420646563726561736520756e6c6f636b2074696d6500000000005f82015250565b5f6200110e601b8362000f58565b91506200111b82620010d8565b602082019050919050565b5f6020820190508181035f8301526200113f8162001100565b9050919050565b5f63ffffffff82169050919050565b5f620011756200116f620011698462001146565b62000c35565b62000c2c565b9050919050565b620011878162001155565b82525050565b5f602082019050620011a25f8301846200117c565b92915050565b5f620011b48262000b3f565b620011c0818562000f58565b9350620011d2818560208601620009ec565b620011dd8162000926565b840191505092915050565b5f6020820190508181035f830152620012028184620011a8565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f62001230825162000e5a565b80915050919050565b5f62001245826200120a565b82620012518462001214565b90506200125e8162001223565b92506020821015620012a1576200129c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262000bcb565b831692505b5050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f620012de60208362000f58565b9150620012eb82620012a8565b602082019050919050565b5f6020820190508181035f8301526200130f81620012d0565b9050919050565b60805160a05160c05160e051610100516101205161014051613b93620013685f395f611e8d01525f611e5201525f61262b01525f61260a01525f611d5001525f611da601525f611dcf0152613b935ff3fe608060405234801561000f575f80fd5b50600436106101d8575f3560e01c806370a0823111610102578063a9059cbb116100a0578063cd24b0a31161006f578063cd24b0a314610568578063d505accf14610572578063dd62ed3e1461058e578063f2fde38b146105be576101d8565b8063a9059cbb146104de578063c0034e0c1461050e578063c4a529791461052c578063c6ddb64214610536576101d8565b806384b0196e116100dc57806384b0196e146104605780638da5cb5b1461048457806395d89b41146104a257806399ec816e146104c0576101d8565b806370a08231146103f6578063715018a6146104265780637ecebe0014610430576101d8565b8063242adde31161017a5780633644e515116101495780633644e5151461037e5780634581d3cd1461039c5780634ed87713146103ba57806355097bf1146103d8576101d8565b8063242adde3146102f4578063243a2897146103125780632d2c556514610342578063313ce56714610360576101d8565b80630dfb9d6d116101b65780630dfb9d6d1461025a57806318160ddd1461028a57806321065cdf146102a857806323b872dd146102c4576101d8565b806306fdde03146101dc578063095ea7b3146101fa5780630a0196781461022a575b5f80fd5b6101e46105da565b6040516101f19190612b1d565b60405180910390f35b610214600480360381019061020f9190612bd7565b61066a565b6040516102219190612c2f565b60405180910390f35b610244600480360381019061023f9190612c48565b61068c565b6040516102519190612d00565b60405180910390f35b610274600480360381019061026f9190612c48565b61074c565b6040516102819190612c2f565b60405180910390f35b61029261081e565b60405161029f9190612d28565b60405180910390f35b6102c260048036038101906102bd9190612e6f565b610827565b005b6102de60048036038101906102d99190612e9a565b610cf3565b6040516102eb9190612c2f565b60405180910390f35b6102fc610d21565b6040516103099190612ef9565b60405180910390f35b61032c60048036038101906103279190612f3c565b610d46565b6040516103399190612c2f565b60405180910390f35b61034a610d61565b6040516103579190612ef9565b60405180910390f35b610368610d86565b6040516103759190612f82565b60405180910390f35b610386610d8e565b6040516103939190612fb3565b60405180910390f35b6103a4610d9c565b6040516103b19190612ef9565b60405180910390f35b6103c2610dc1565b6040516103cf9190612ef9565b60405180910390f35b6103e0610de6565b6040516103ed9190612ef9565b60405180910390f35b610410600480360381019061040b9190612c48565b610e0b565b60405161041d9190612d28565b60405180910390f35b61042e610e50565b005b61044a60048036038101906104459190612c48565b610e5a565b6040516104579190612d28565b60405180910390f35b610468610e6b565b60405161047b97969594939291906130bd565b60405180910390f35b61048c610f10565b6040516104999190612ef9565b60405180910390f35b6104aa610f38565b6040516104b79190612b1d565b60405180910390f35b6104c8610fc8565b6040516104d59190612ef9565b60405180910390f35b6104f860048036038101906104f39190612bd7565b610fed565b6040516105059190612c2f565b60405180910390f35b61051661100f565b6040516105239190612ef9565b60405180910390f35b610534611034565b005b610550600480360381019061054b9190612c48565b6111d8565b60405161055f9392919061315d565b60405180910390f35b61057061122a565b005b61058c600480360381019061058791906131e6565b611514565b005b6105a860048036038101906105a39190613283565b611659565b6040516105b59190612d28565b60405180910390f35b6105d860048036038101906105d39190612c48565b6116db565b005b6060600380546105e9906132ee565b80601f0160208091040260200160405190810160405280929190818152602001828054610615906132ee565b80156106605780601f1061063757610100808354040283529160200191610660565b820191905f5260205f20905b81548152906001019060200180831161064357829003601f168201915b5050505050905090565b5f806106746118e8565b90506106818185856118ef565b600191505092915050565b610694612a65565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060600160405290815f82015f9054906101000a900460ff161515151581526020015f820160019054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020015f820160059054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff16815250509050919050565b5f610755611901565b5f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508260115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f6429f03bd5306303d1f709406befa7031c811536cade436cf0a330b1c74a8eda60405160405180910390a36001915050919050565b5f600254905090565b5f6b019d971e4fe8401e740000009050815f6006811061084a5761084961331e565b5b6020020151600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816001600681106108a2576108a161331e565b5b6020020151600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816002600681106108fa576108f961331e565b5b6020020151600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816003600681106109525761095161331e565b5b6020020151600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816004600681106109aa576109a961331e565b5b6020020151600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600560068110610a0257610a0161331e565b5b602002015160105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a89600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064601684610a7a9190613378565b610a8491906133e6565b61197f565b610acc600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064601484610abd9190613378565b610ac791906133e6565b61197f565b610b0f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064600484610b009190613378565b610b0a91906133e6565b61197f565b610b52600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064600684610b439190613378565b610b4d91906133e6565b61197f565b610b9560115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064600384610b869190613378565b610b9091906133e6565b61197f565b610bd8600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064600284610bc99190613378565b610bd391906133e6565b61197f565b610c1b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064602b84610c0c9190613378565b610c1691906133e6565b61197f565b5f5b6006811015610ca557828160068110610c3957610c3861331e565b5b602002015173ffffffffffffffffffffffffffffffffffffffff16630f15f4c06040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610c82575f80fd5b505af1158015610c94573d5f803e3d5ffd5b505050508080600101915050610c1d565b5080610caf61081e565b14610cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce690613460565b60405180910390fd5b5050565b5f80610cfd6118e8565b9050610d0a8582856119fe565b610d15858585611a90565b60019150509392505050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610d4f611901565b610d5882611b80565b60019050919050565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012905090565b5f610d97611d4d565b905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e58611901565b565b5f610e6482611e03565b9050919050565b5f6060805f805f6060610e7c611e49565b610e84611e84565b46305f801b5f67ffffffffffffffff811115610ea357610ea2612d45565b5b604051908082528060200260200182016040528015610ed15781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610f47906132ee565b80601f0160208091040260200160405190810160405280929190818152602001828054610f73906132ee565b8015610fbe5780601f10610f9557610100808354040283529160200191610fbe565b820191905f5260205f20905b815481529060010190602001808311610fa157829003601f168201915b5050505050905090565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610ff76118e8565b9050611004818585611a90565b600191505092915050565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f815f0160019054906101000a900463ffffffff1663ffffffff16036110cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c6906134c8565b60405180910390fd5b805f015f9054906101000a900460ff1661111e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111590613530565b60405180910390fd5b5f815f0160019054906101000a900463ffffffff1663ffffffff1642611144919061354e565b905080825f0160056101000a81548165ffffffffffff021916908365ffffffffffff1602179055505f825f015f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f7771292bd4f76abf65cb4edb11cd736aeea5ff907dbafca21cd95e248d8f8a09826040516111cc91906135c0565b60405180910390a25050565b6009602052805f5260405f205f91509050805f015f9054906101000a900460ff1690805f0160019054906101000a900463ffffffff1690805f0160059054906101000a900465ffffffffffff16905083565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a69df4b56040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611290575f80fd5b505af11580156112a2573d5f803e3d5ffd5b50505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a69df4b56040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561130c575f80fd5b505af115801561131e573d5f803e3d5ffd5b50505050600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a69df4b56040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611388575f80fd5b505af115801561139a573d5f803e3d5ffd5b50505050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a69df4b56040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611404575f80fd5b505af1158015611416573d5f803e3d5ffd5b50505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a69df4b56040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611480575f80fd5b505af1158015611492573d5f803e3d5ffd5b5050505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a69df4b56040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156114fc575f80fd5b505af115801561150e573d5f803e3d5ffd5b50505050565b8342111561155957836040517f627913020000000000000000000000000000000000000000000000000000000081526004016115509190612d28565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886115878c611ebf565b8960405160200161159d969594939291906135d9565b6040516020818303038152906040528051906020012090505f6115bf82611f12565b90505f6115ce82878787611f2b565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461164257808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401611639929190613638565b60405180910390fd5b61164d8a8a8a6118ef565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6116e3611901565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611751576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611748906136cf565b60405180910390fd5b6001600a54116117695761176481611f54565b6118e5565b5f60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f1515815f015f9054906101000a900460ff161515146117fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f590613737565b60405180910390fd5b5f815f0160059054906101000a900465ffffffffffff1665ffffffffffff161161185d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185490613737565b60405180910390fd5b42815f0160059054906101000a900465ffffffffffff1665ffffffffffff1611156118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b49061379f565b60405180910390fd5b6118c682611f54565b6118e382825f0160019054906101000a900463ffffffff16612030565b505b50565b5f33905090565b6118fc83838360016121fe565b505050565b6119096118e8565b73ffffffffffffffffffffffffffffffffffffffff16611927610f10565b73ffffffffffffffffffffffffffffffffffffffff161461197d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197490613807565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119ef575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016119e69190612ef9565b60405180910390fd5b6119fa5f83836123cd565b5050565b5f611a098484611659565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a8a5781811015611a7b578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401611a7293929190613825565b60405180910390fd5b611a8984848484035f6121fe565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b00575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611af79190612ef9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b70575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611b679190612ef9565b60405180910390fd5b611b7b8383836123cd565b505050565b5f60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050805f0160019054906101000a900463ffffffff1663ffffffff168263ffffffff161015611c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c19906138a4565b60405180910390fd5b60405180606001604052806001151581526020018363ffffffff1681526020015f65ffffffffffff1681525060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f015f6101000a81548160ff0219169083151502179055506020820151815f0160016101000a81548163ffffffff021916908363ffffffff1602179055506040820151815f0160056101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050503373ffffffffffffffffffffffffffffffffffffffff167feb7498540808890de0ea16a2351a51808b1b3a1447a27e20524a6027167747f283604051611d4191906138f2565b60405180910390a25050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611dc857507f000000000000000000000000000000000000000000000000000000000000000046145b15611df5577f00000000000000000000000000000000000000000000000000000000000000009050611e00565b611dfd6125e6565b90505b90565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060611e7f60057f000000000000000000000000000000000000000000000000000000000000000061267b90919063ffffffff16565b905090565b6060611eba60067f000000000000000000000000000000000000000000000000000000000000000061267b90919063ffffffff16565b905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f611f24611f1e611d4d565b83612728565b9050919050565b5f805f611f3a87878787612768565b91509150611f4781612840565b8192505050949350505050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f828254611fcb919061390b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050805f0160019054906101000a900463ffffffff1663ffffffff168263ffffffff1610156120d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c9906138a4565b60405180910390fd5b60405180606001604052806001151581526020018363ffffffff1681526020015f65ffffffffffff1681525060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f015f6101000a81548160ff0219169083151502179055506020820151815f0160016101000a81548163ffffffff021916908363ffffffff1602179055506040820151815f0160056101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050508273ffffffffffffffffffffffffffffffffffffffff167feb7498540808890de0ea16a2351a51808b1b3a1447a27e20524a6027167747f2836040516121f191906138f2565b60405180910390a2505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361226e575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016122659190612ef9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122de575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016122d59190612ef9565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156123c7578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516123be9190612d28565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361241d578060025f828254612411919061390b565b925050819055506124eb565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156124a6578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161249d93929190613825565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612532578060025f828254039250508190555061257c565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125d99190612d28565b60405180910390a3505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000463060405160200161266095949392919061393e565b60405160208183030381529060405280519060200120905090565b606060ff5f1b831461269757612690836129a5565b9050612722565b8180546126a3906132ee565b80601f01602080910402602001604051908101604052809291908181526020018280546126cf906132ee565b801561271a5780601f106126f15761010080835404028352916020019161271a565b820191905f5260205f20905b8154815290600101906020018083116126fd57829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0835f1c11156127a0575f600391509150612837565b5f6001878787876040515f81526020016040526040516127c3949392919061398f565b6020604051602081039080840390855afa1580156127e3573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361282f575f60019250925050612837565b805f92509250505b94509492505050565b5f6004811115612853576128526139d2565b5b816004811115612866576128656139d2565b5b03156129a257600160048111156128805761287f6139d2565b5b816004811115612893576128926139d2565b5b036128d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ca90613a49565b60405180910390fd5b600260048111156128e7576128e66139d2565b5b8160048111156128fa576128f96139d2565b5b0361293a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293190613ab1565b60405180910390fd5b6003600481111561294e5761294d6139d2565b5b816004811115612961576129606139d2565b5b036129a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299890613b3f565b60405180910390fd5b5b50565b60605f6129b183612a17565b90505f602067ffffffffffffffff8111156129cf576129ce612d45565b5b6040519080825280601f01601f191660200182016040528015612a015781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f8060ff835f1c169050601f811115612a5c576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b60405180606001604052805f151581526020015f63ffffffff1681526020015f65ffffffffffff1681525090565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612aca578082015181840152602081019050612aaf565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612aef82612a93565b612af98185612a9d565b9350612b09818560208601612aad565b612b1281612ad5565b840191505092915050565b5f6020820190508181035f830152612b358184612ae5565b905092915050565b5f604051905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612b7382612b4a565b9050919050565b612b8381612b69565b8114612b8d575f80fd5b50565b5f81359050612b9e81612b7a565b92915050565b5f819050919050565b612bb681612ba4565b8114612bc0575f80fd5b50565b5f81359050612bd181612bad565b92915050565b5f8060408385031215612bed57612bec612b46565b5b5f612bfa85828601612b90565b9250506020612c0b85828601612bc3565b9150509250929050565b5f8115159050919050565b612c2981612c15565b82525050565b5f602082019050612c425f830184612c20565b92915050565b5f60208284031215612c5d57612c5c612b46565b5b5f612c6a84828501612b90565b91505092915050565b612c7c81612c15565b82525050565b5f63ffffffff82169050919050565b612c9a81612c82565b82525050565b5f65ffffffffffff82169050919050565b612cba81612ca0565b82525050565b606082015f820151612cd45f850182612c73565b506020820151612ce76020850182612c91565b506040820151612cfa6040850182612cb1565b50505050565b5f606082019050612d135f830184612cc0565b92915050565b612d2281612ba4565b82525050565b5f602082019050612d3b5f830184612d19565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612d7b82612ad5565b810181811067ffffffffffffffff82111715612d9a57612d99612d45565b5b80604052505050565b5f612dac612b3d565b9050612db88282612d72565b919050565b5f67ffffffffffffffff821115612dd757612dd6612d45565b5b602082029050919050565b5f80fd5b5f612df8612df384612dbd565b612da3565b90508060208402830185811115612e1257612e11612de2565b5b835b81811015612e3b5780612e278882612b90565b845260208401935050602081019050612e14565b5050509392505050565b5f82601f830112612e5957612e58612d41565b5b6006612e66848285612de6565b91505092915050565b5f60c08284031215612e8457612e83612b46565b5b5f612e9184828501612e45565b91505092915050565b5f805f60608486031215612eb157612eb0612b46565b5b5f612ebe86828701612b90565b9350506020612ecf86828701612b90565b9250506040612ee086828701612bc3565b9150509250925092565b612ef381612b69565b82525050565b5f602082019050612f0c5f830184612eea565b92915050565b612f1b81612c82565b8114612f25575f80fd5b50565b5f81359050612f3681612f12565b92915050565b5f60208284031215612f5157612f50612b46565b5b5f612f5e84828501612f28565b91505092915050565b5f60ff82169050919050565b612f7c81612f67565b82525050565b5f602082019050612f955f830184612f73565b92915050565b5f819050919050565b612fad81612f9b565b82525050565b5f602082019050612fc65f830184612fa4565b92915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61300081612fcc565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61303881612ba4565b82525050565b5f613049838361302f565b60208301905092915050565b5f602082019050919050565b5f61306b82613006565b6130758185613010565b935061308083613020565b805f5b838110156130b0578151613097888261303e565b97506130a283613055565b925050600181019050613083565b5085935050505092915050565b5f60e0820190506130d05f83018a612ff7565b81810360208301526130e28189612ae5565b905081810360408301526130f68188612ae5565b90506131056060830187612d19565b6131126080830186612eea565b61311f60a0830185612fa4565b81810360c08301526131318184613061565b905098975050505050505050565b61314881612c82565b82525050565b61315781612ca0565b82525050565b5f6060820190506131705f830186612c20565b61317d602083018561313f565b61318a604083018461314e565b949350505050565b61319b81612f67565b81146131a5575f80fd5b50565b5f813590506131b681613192565b92915050565b6131c581612f9b565b81146131cf575f80fd5b50565b5f813590506131e0816131bc565b92915050565b5f805f805f805f60e0888a03121561320157613200612b46565b5b5f61320e8a828b01612b90565b975050602061321f8a828b01612b90565b96505060406132308a828b01612bc3565b95505060606132418a828b01612bc3565b94505060806132528a828b016131a8565b93505060a06132638a828b016131d2565b92505060c06132748a828b016131d2565b91505092959891949750929550565b5f806040838503121561329957613298612b46565b5b5f6132a685828601612b90565b92505060206132b785828601612b90565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061330557607f821691505b602082108103613318576133176132c1565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61338282612ba4565b915061338d83612ba4565b925082820261339b81612ba4565b915082820484148315176133b2576133b161334b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133f082612ba4565b91506133fb83612ba4565b92508261340b5761340a6133b9565b5b828204905092915050565b7f50434d546f6b656e3a20496e6974416d6f756e740000000000000000000000005f82015250565b5f61344a601483612a9d565b915061345582613416565b602082019050919050565b5f6020820190508181035f8301526134778161343e565b9050919050565b7f6e6f74206c6f636b6564000000000000000000000000000000000000000000005f82015250565b5f6134b2600a83612a9d565b91506134bd8261347e565b602082019050919050565b5f6020820190508181035f8301526134df816134a6565b9050919050565b7f616c726561647920756e6c6f636b6564000000000000000000000000000000005f82015250565b5f61351a601083612a9d565b9150613525826134e6565b602082019050919050565b5f6020820190508181035f8301526135478161350e565b9050919050565b5f61355882612ca0565b915061356383612ca0565b9250828201905065ffffffffffff8111156135815761358061334b565b5b92915050565b5f819050919050565b5f6135aa6135a56135a084612ca0565b613587565b612ba4565b9050919050565b6135ba81613590565b82525050565b5f6020820190506135d35f8301846135b1565b92915050565b5f60c0820190506135ec5f830189612fa4565b6135f96020830188612eea565b6136066040830187612eea565b6136136060830186612d19565b6136206080830185612d19565b61362d60a0830184612d19565b979650505050505050565b5f60408201905061364b5f830185612eea565b6136586020830184612eea565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6136b9602683612a9d565b91506136c48261365f565b604082019050919050565b5f6020820190508181035f8301526136e6816136ad565b9050919050565b7f6d7573742063616c6c20756e6c6f636b496e666f2829206669727374000000005f82015250565b5f613721601c83612a9d565b915061372c826136ed565b602082019050919050565b5f6020820190508181035f83015261374e81613715565b9050919050565b7f5472616e73666572206f776e6572206973206e6f7420647565000000000000005f82015250565b5f613789601983612a9d565b915061379482613755565b602082019050919050565b5f6020820190508181035f8301526137b68161377d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6137f1602083612a9d565b91506137fc826137bd565b602082019050919050565b5f6020820190508181035f83015261381e816137e5565b9050919050565b5f6060820190506138385f830186612eea565b6138456020830185612d19565b6138526040830184612d19565b949350505050565b7f63616e6e6f7420646563726561736520756e6c6f636b2074696d6500000000005f82015250565b5f61388e601b83612a9d565b91506138998261385a565b602082019050919050565b5f6020820190508181035f8301526138bb81613882565b9050919050565b5f6138dc6138d76138d284612c82565b613587565b612ba4565b9050919050565b6138ec816138c2565b82525050565b5f6020820190506139055f8301846138e3565b92915050565b5f61391582612ba4565b915061392083612ba4565b92508282019050808211156139385761393761334b565b5b92915050565b5f60a0820190506139515f830188612fa4565b61395e6020830187612fa4565b61396b6040830186612fa4565b6139786060830185612d19565b6139856080830184612eea565b9695505050505050565b5f6080820190506139a25f830187612fa4565b6139af6020830186612f73565b6139bc6040830185612fa4565b6139c96060830184612fa4565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f45434453413a20696e76616c6964207369676e617475726500000000000000005f82015250565b5f613a33601883612a9d565b9150613a3e826139ff565b602082019050919050565b5f6020820190508181035f830152613a6081613a27565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e677468005f82015250565b5f613a9b601f83612a9d565b9150613aa682613a67565b602082019050919050565b5f6020820190508181035f830152613ac881613a8f565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f613b29602283612a9d565b9150613b3482613acf565b604082019050919050565b5f6020820190508181035f830152613b5681613b1d565b905091905056fea2646970667358221220e9aad909b5b22080e9ab9d10fde1dda892127690c5a4297c042c20ff510bf07a64736f6c6343000816003300000000000000000000000036a9ac722158d347738f703db8c40a245c01258e000000000000000000000000e9fc4aaacb4ce8f776255e1af8f9e424dd507bee000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000850434d2054657374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000450434d5400000000000000000000000000000000000000000000000000000000