[ { "inputs": [ { "internalType": "address", "name": "pptBase", "type": "address" }, { "internalType": "string", "name": "uri", "type": "string" }, { "internalType": "uint256", "name": "deadlineIn", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "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": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" }, { "inputs": [], "name": "ALPHA_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ALPHA_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DELTA_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DELTA_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "EXA", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "GAMMA_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "GAMMA_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "GIGA", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "KILO", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MEGA", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MOE_SEAL_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MOE_SEAL_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "NFT_SEAL_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "NFT_SEAL_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PETA", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SOV_SEAL_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SOV_SEAL_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TERA", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "THETA_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "THETA_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "UNIT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "URI_DATA_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "URI_DATA_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "YOTTA", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ZETTA", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "nftId", "type": "uint256" } ], "name": "ageOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "nftId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256[]", "name": "nftIds", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "burnBatch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "level", "type": "uint256" } ], "name": "denominationOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "exists", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getRoleMember", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleMemberCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "anno", "type": "uint256" }, { "internalType": "uint256", "name": "level", "type": "uint256" } ], "name": "idBy", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "anno", "type": "uint256" }, { "internalType": "uint256[]", "name": "levels", "type": "uint256[]" } ], "name": "idsBy", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "nftId", "type": "uint256" } ], "name": "levelOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "nftId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "migrate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "nftIds", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "migrateBatch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "nftId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "nftIds", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "mintBatch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "nftIds", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "nftId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "seal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newuri", "type": "string" } ], "name": "setURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "nftId", "type": "uint256" } ], "name": "totalAgeOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "year", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "nftId", "type": "uint256" } ], "name": "yearOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" } ]
60806040526008805460ff191660011790553480156200001e57600080fd5b50604051620042cb380380620042cb83398101604081905262000041916200058a565b828282828282828183620000558162000364565b506200006360003362000376565b6200009e7f39331c3081f37cb3d1da4e5ce293da53d66ea4df63f4ddb834ef31094c8e0fc16000805160206200420b833981519152620003b9565b620000b96000805160206200420b8339815191523362000376565b620000f47f5c4a8fcfe2d0ae629a83e88fafb83c323492e5bd0a29542da23fb84bb87a4991600080516020620042ab833981519152620003b9565b6200010f600080516020620042ab8339815191523362000376565b6200014a7fc59bac438accc1773e42114a5d60cc41578f9661c64de118f75dd833d66c9ada6000805160206200424b833981519152620003b9565b620001656000805160206200424b8339815191523362000376565b620001a07f503a2d748c5ecb01ed789bb2094880edb7d51ae1befc2df98a828eaade7c8195600080516020620041eb833981519152620003b9565b620001bb600080516020620041eb8339815191523362000376565b620001f67faa06a9d3e3ec1501dfa4c06793f24ccddc527fa3089263f11fd78652bb9bafdb6000805160206200422b833981519152620003b9565b620002116000805160206200422b8339815191523362000376565b6200024c7f59c5589e073e79cb068a473a938b08b6e078e7ab02c16b2566189f37d4ef86fe6000805160206200428b833981519152620003b9565b620002676000805160206200428b8339815191523362000376565b620002a27fbc524e8ef0f829ac5a52282466b7de9273cee2f628ae71bbcd8e2d8cd73f4a596000805160206200426b833981519152620003b9565b620002bd6000805160206200426b8339815191523362000376565b620002f87f4a89d315e602b0589d706720a2c812227309c5069c55dff3ebf78f5e797aac69600080516020620041cb833981519152620003b9565b62000313600080516020620041cb8339815191523362000376565b6200031f814262000689565b60075550600680546001600160a01b0319166001600160a01b0392909216919091179055620003556200034f3390565b62000404565b50505050505050505062000805565b600262000372828262000739565b5050565b6200038d82826200045e60201b620014fe1760201c565b6000828152600560209081526040909120620003b49183906200158462000502821b17901c565b505050565b600082815260046020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600880546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008281526004602090815260408083206001600160a01b038516845290915290205460ff16620003725760008281526004602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620004be3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600062000519836001600160a01b03841662000522565b90505b92915050565b60008181526001830160205260408120546200056b575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200051c565b5060006200051c565b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215620005a057600080fd5b83516001600160a01b0381168114620005b857600080fd5b602085810151919450906001600160401b0380821115620005d857600080fd5b818701915087601f830112620005ed57600080fd5b81518181111562000602576200060262000574565b604051601f8201601f19908116603f011681019083821181831017156200062d576200062d62000574565b816040528281528a868487010111156200064657600080fd5b600093505b828410156200066a57848401860151818501870152928501926200064b565b6000868483010152809750505050505050604084015190509250925092565b808201808211156200051c57634e487b7160e01b600052601160045260246000fd5b600181811c90821680620006c057607f821691505b602082108103620006e157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003b457600081815260208120601f850160051c81016020861015620007105750805b601f850160051c820191505b8181101562000731578281556001016200071c565b505050505050565b81516001600160401b0381111562000755576200075562000574565b6200076d81620007668454620006ab565b84620006e7565b602080601f831160018114620007a557600084156200078c5750858301515b600019600386901b1c1916600185901b17855562000731565b600085815260208120601f198616915b82811015620007d657888601518255948401946001909101908401620007b5565b5085821015620007f55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6139b680620008156000396000f3fe608060405234801561001057600080fd5b50600436106103b95760003560e01c806389c3cbae116101f4578063ca15c8731161011a578063df435be8116100ad578063f2fde38b1161007c578063f2fde38b14610957578063f32697161461096a578063f5298aca14610972578063fd511a8d1461098557600080fd5b8063df435be8146108d9578063e985e9c5146108e1578063eb4972141461091d578063f242432a1461094457600080fd5b8063cde82895116100e9578063cde8289514610884578063d547741f146108ab578063d5e5e062146108be578063d81d0a15146108c657600080fd5b8063ca15c8731461081b578063cb431e761461082e578063cc6919a414610836578063cd9b869a1461085d57600080fd5b8063a22cb46511610192578063bb14047011610161578063bb140470146107b9578063bd85b039146107e0578063c446d55014610800578063c7b8b19d1461080857600080fd5b8063a22cb46514610745578063a62c779914610758578063ab31b70e1461076b578063b68041291461079257600080fd5b806391d14854116101ce57806391d148541461070357806394c209a5146107165780639d8e21771461073d578063a217fddf1461073d57600080fd5b806389c3cbae146106be5780638da5cb5b146106c65780639010d07c146106f057600080fd5b80633e54bacb116102e45780636252e4e7116102775780636c749c26116102465780636c749c26146106745780636d5e30321461067c578063715018a61461068f57806376d844541461069757600080fd5b80636252e4e714610600578063653e102c146106135780636b20c4541461063a5780636c6284dc1461064d57600080fd5b80634f558e79116102b35780634f558e791461059c57806355095bd2146105be5780635925e211146105d15780635d45bf5e146105d957600080fd5b80633e54bacb1461053a5780633fb27b851461054d5780634990dad3146105555780634e1273f41461057c57600080fd5b8063248a9ca31161035c5780632ffa2d761161032b5780632ffa2d76146104e557806335996f5b146104f8578063361ce97e1461051f57806336568abe1461052757600080fd5b8063248a9ca31461048957806329cd827d146104ac5780632eb2c2d6146104bf5780632f2ff15d146104d257600080fd5b80630a99e88a116103985780630a99e88a1461041c5780630e89341c14610443578063156e29f6146104635780631c6172301461047657600080fd5b8062fdd58e146103be57806301ffc9a7146103e457806302fe530514610407575b600080fd5b6103d16103cc366004612a97565b6109ac565b6040519081526020015b60405180910390f35b6103f76103f2366004612ad7565b610a45565b60405190151581526020016103db565b61041a610415366004612b93565b610a50565b005b6103d17faa06a9d3e3ec1501dfa4c06793f24ccddc527fa3089263f11fd78652bb9bafdb81565b610456610451366004612be3565b610a87565b6040516103db9190612c4c565b61041a610471366004612c5f565b610b1b565b6103d1610484366004612be3565b610b4e565b6103d1610497366004612be3565b60009081526004602052604090206001015490565b6103d16104ba366004612be3565b610bb5565b61041a6104cd366004612d46565b610c0a565b61041a6104e0366004612def565b610c34565b61041a6104f3366004612e1b565b610c59565b6103d17f5c4a8fcfe2d0ae629a83e88fafb83c323492e5bd0a29542da23fb84bb87a499181565b6103d1600381565b61041a610535366004612def565b610dbd565b61041a610548366004612e7e565b610e37565b61041a610f68565b6103d17f1e1b9e42058f87aacc86151eee60be3728a69ade31e7db408acbba7774f5d2c581565b61058f61058a366004612ea0565b610f9f565b6040516103db9190612f8e565b6103f76105aa366004612be3565b600090815260036020526040902054151590565b6103d16105cc366004612be3565b6110c8565b6103d1601581565b6103d17f47fa9d826949f4f367afefb5d5a267558f054ceca49dcb3bde75713cd8e50eaf81565b6103d161060e366004612e7e565b6110f9565b6103d17f45c2e9089aab0ada4a53b23071933de07fadb404d384f07834351ae6401e212181565b61041a610648366004612fa1565b611181565b6103d17fc59bac438accc1773e42114a5d60cc41578f9661c64de118f75dd833d66c9ada81565b6103d1601281565b6103d161068a366004612be3565b61119f565b61041a6111f7565b6103d17f59c5589e073e79cb068a473a938b08b6e078e7ab02c16b2566189f37d4ef86fe81565b6103d1600c81565b60085461010090046001600160a01b03165b6040516001600160a01b0390911681526020016103db565b6106d86106fe366004612e7e565b61120b565b6103f7610711366004612def565b611223565b6103d17fbc524e8ef0f829ac5a52282466b7de9273cee2f628ae71bbcd8e2d8cd73f4a5981565b6103d1600081565b61041a610753366004613014565b61124e565b6103d1610766366004612a97565b611259565b6103d17f1d79eadc793a64c7d14d38414c0f4e02a3d61d2bbca04d299f819c3874c62f5081565b6103d17fe1322164d2a9c594e09927ac212ba43210d25e7c9efc459689fb7b6107c895b181565b6103d17f7df1fa30796d39d0e882422146943ee011c6f6b410f211570cc3a712e3e51e6a81565b6103d16107ee366004612be3565b60009081526003602052604090205490565b6103d1600981565b61058f610816366004613050565b6112e2565b6103d1610829366004612be3565b611389565b6103d1600681565b6103d17f39331c3081f37cb3d1da4e5ce293da53d66ea4df63f4ddb834ef31094c8e0fc181565b6103d17f4a89d315e602b0589d706720a2c812227309c5069c55dff3ebf78f5e797aac6981565b6103d17f18279111969b053eb32d637cdc8d9e7e53d648d3969f60ee55ddd0f63a7c328081565b61041a6108b9366004612def565b6113a0565b6103d1601881565b61041a6108d4366004612fa1565b6113c5565b6103d1600f81565b6103f76108ef36600461308c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6103d17f21b4f2a846971d5096997e4122542f612858bcbb112ef24ef9b354083523151981565b61041a6109523660046130b6565b6113f3565b61041a61096536600461311a565b611416565b6103d161148f565b61041a610980366004612c5f565b6114e0565b6103d17f503a2d748c5ecb01ed789bb2094880edb7d51ae1befc2df98a828eaade7c819581565b60006001600160a01b038316610a1c5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b6000610a3f82611599565b7f4a89d315e602b0589d706720a2c812227309c5069c55dff3ebf78f5e797aac69610a7a816115a4565b610a83826115ae565b5050565b606060028054610a9690613135565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac290613135565b8015610b0f5780601f10610ae457610100808354040283529160200191610b0f565b820191906000526020600020905b815481529060010190602001808311610af257829003601f168201915b50505050509050919050565b610b236115ba565b610b2e83838361161a565b610b49838383604051806020016040528060008152506116af565b505050565b6000818152600b6020908152604080832054600c90925282205480821115610bab5760008481526003602052604081205490610b8a8385613185565b905080610b974284613198565b610ba19190613185565b9695505050505050565b5060009392505050565b6000610bc26003836131c5565b15610bdf5760405162461bcd60e51b8152600401610a13906131d9565b60648210610bff5760405162461bcd60e51b8152600401610a1390613204565b610a3f82600a61330f565b610c15858484611798565b610c2084848461180a565b610c2d8585858585611876565b5050505050565b600082815260046020526040902060010154610c4f816115a4565b610b4983836118bb565b60085460ff16610c9e5760405162461bcd60e51b815260206004820152601060248201526f1b5a59dc985d1a5bdb881cd9585b195960821b6044820152606401610a13565b6007544290811115610ce45760405162461bcd60e51b815260206004820152600f60248201526e191958591b1a5b99481c185cdcd959608a1b6044820152606401610a13565b600654604051631ac8311560e21b81526001600160a01b0390911690636b20c45490610d189033908790879060040161331b565b600060405180830381600087803b158015610d3257600080fd5b505af1158015610d46573d6000803e3d6000fd5b5050505060005b8251811015610da1576000838281518110610d6a57610d6a613351565b602002602001015111610d8f5760405162461bcd60e51b8152600401610a1390613367565b80610d9981613394565b915050610d4d565b50610b49338484604051806020016040528060008152506118dd565b6001600160a01b0381163314610e2d5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610a13565b610a838282611a37565b60085460ff16610e7c5760405162461bcd60e51b815260206004820152601060248201526f1b5a59dc985d1a5bdb881cd9585b195960821b6044820152606401610a13565b6007544290811115610ec25760405162461bcd60e51b815260206004820152600f60248201526e191958591b1a5b99481c185cdcd959608a1b6044820152606401610a13565b600654604051637a94c56560e11b815233600482015260248101859052604481018490526001600160a01b039091169063f5298aca90606401600060405180830381600087803b158015610f1557600080fd5b505af1158015610f29573d6000803e3d6000fd5b5050505060008211610f4d5760405162461bcd60e51b8152600401610a1390613367565b610b49338484604051806020016040528060008152506116af565b7fbc524e8ef0f829ac5a52282466b7de9273cee2f628ae71bbcd8e2d8cd73f4a59610f92816115a4565b506008805460ff19169055565b606081518351146110045760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610a13565b600083516001600160401b0381111561101f5761101f612af4565b604051908082528060200260200182016040528015611048578160200160208202803683370190505b50905060005b84518110156110c05761109385828151811061106c5761106c613351565b602002602001015185838151811061108657611086613351565b60200260200101516109ac565b8282815181106110a5576110a5613351565b60209081029190910101526110b981613394565b905061104e565b509392505050565b6000806110d66064846133ad565b90506107b28111610a3f5760405162461bcd60e51b8152600401610a13906133c1565b60006111066003836131c5565b156111235760405162461bcd60e51b8152600401610a13906131d9565b606482106111435760405162461bcd60e51b8152600401610a1390613204565b6107b283116111645760405162461bcd60e51b8152600401610a13906133c1565b81611170846064613198565b61117a91906133e7565b9392505050565b6111896115ba565b611194838383611798565b610b49838383611a59565b6000806111ad6064846131c5565b90506111ba6003826131c5565b156111d75760405162461bcd60e51b8152600401610a13906131d9565b60648110610a3f5760405162461bcd60e51b8152600401610a1390613204565b6111ff6115ba565b6112096000611bf5565b565b600082815260056020526040812061117a9083611c4f565b60009182526004602090815260408084206001600160a01b0393909316845291905290205460ff1690565b610a83338383611c5b565b6001600160a01b0382166000818152600960209081526040808320858452825280832054938352600a8252808320858452909152812054909190808211156112d75760006112a786866109ac565b905060006112b58385613185565b9050806112c24284613198565b6112cc9190613185565b945050505050610a3f565b506000949350505050565b6060600082516001600160401b038111156112ff576112ff612af4565b604051908082528060200260200182016040528015611328578160200160208202803683370190505b50905060005b83518110156110c05761135a8585838151811061134d5761134d613351565b60200260200101516110f9565b82828151811061136c5761136c613351565b60209081029190910101528061138181613394565b91505061132e565b6000818152600560205260408120610a3f90611d3b565b6000828152600460205260409020600101546113bb816115a4565b610b498383611a37565b6113cd6115ba565b6113d883838361180a565b610b49838383604051806020016040528060008152506118dd565b6113fe858484611d45565b61140984848461161a565b610c2d8585858585611dd0565b61141e6115ba565b6001600160a01b0381166114835760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a13565b61148c81611bf5565b50565b60008063bc1913806114a2426064613198565b6114ac91906133ad565b6114b8906107b26133e7565b90506107b281116114db5760405162461bcd60e51b8152600401610a13906133c1565b919050565b6114e86115ba565b6114f3838383611d45565b610b49838383611e15565b6115088282611223565b610a835760008281526004602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115403390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600061117a836001600160a01b038416611f2d565b6000610a3f82611f7c565b61148c8133611f87565b6002610a838282613440565b6008546001600160a01b036101009091041633146112095760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a13565b6000811161163a5760405162461bcd60e51b8152600401610a1390613367565b6116444282613198565b6001600160a01b0384166000908152600960209081526040808320868452909152812080549091906116779084906133e7565b9091555061168790504282613198565b6000838152600b6020526040812080549091906116a59084906133e7565b9091555050505050565b6001600160a01b0384166116d55760405162461bcd60e51b8152600401610a13906134ff565b3360006116e185611feb565b905060006116ee85611feb565b90506116ff83600089858589612036565b6000868152602081815260408083206001600160a01b038b1684529091528120805487929061172f9084906133e7565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461178f8360008989898961204c565b50505050505050565b80518251146117a9576117a9613540565b60005b8251811015611804576117f2848483815181106117cb576117cb613351565b60200260200101518484815181106117e5576117e5613351565b6020026020010151611d45565b806117fc81613394565b9150506117ac565b50505050565b805182511461181b5761181b613540565b60005b8251811015611804576118648484838151811061183d5761183d613351565b602002602001015184848151811061185757611857613351565b602002602001015161161a565b8061186e81613394565b91505061181e565b6001600160a01b038516331480611892575061189285336108ef565b6118ae5760405162461bcd60e51b8152600401610a1390613556565b610c2d85858585856121a7565b6118c582826114fe565b6000828152600560205260409020610b499082611584565b6001600160a01b0384166119035760405162461bcd60e51b8152600401610a13906134ff565b81518351146119245760405162461bcd60e51b8152600401610a13906135a5565b3361193481600087878787612036565b60005b84518110156119cf5783818151811061195257611952613351565b602002602001015160008087848151811061196f5761196f613351565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546119b791906133e7565b909155508190506119c781613394565b915050611937565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611a209291906135ed565b60405180910390a4610c2d81600087878787612345565b611a418282612400565b6000828152600560205260409020610b499082612467565b6001600160a01b038316611a7f5760405162461bcd60e51b8152600401610a139061361b565b8051825114611aa05760405162461bcd60e51b8152600401610a13906135a5565b6000339050611ac381856000868660405180602001604052806000815250612036565b60005b8351811015611b88576000848281518110611ae357611ae3613351565b602002602001015190506000848381518110611b0157611b01613351565b602090810291909101810151600084815280835260408082206001600160a01b038c168352909352919091205490915081811015611b515760405162461bcd60e51b8152600401610a139061365e565b6000928352602083815260408085206001600160a01b038b1686529091529092209103905580611b8081613394565b915050611ac6565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051611bd99291906135ed565b60405180910390a4604080516020810190915260009052611804565b600880546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061117a838361247c565b816001600160a01b0316836001600160a01b031603611cce5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610a13565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000610a3f825490565b60008111611d655760405162461bcd60e51b8152600401610a1390613367565b611d6f4282613198565b6001600160a01b0384166000908152600a6020908152604080832086845290915281208054909190611da29084906133e7565b90915550611db290504282613198565b6000838152600c6020526040812080549091906116a59084906133e7565b6001600160a01b038516331480611dec5750611dec85336108ef565b611e085760405162461bcd60e51b8152600401610a1390613556565b610c2d85858585856124a6565b6001600160a01b038316611e3b5760405162461bcd60e51b8152600401610a139061361b565b336000611e4784611feb565b90506000611e5484611feb565b9050611e7483876000858560405180602001604052806000815250612036565b6000858152602081815260408083206001600160a01b038a16845290915290205484811015611eb55760405162461bcd60e51b8152600401610a139061365e565b6000868152602081815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091526000905261178f565b6000818152600183016020526040812054611f7457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610a3f565b506000610a3f565b6000610a3f826125de565b611f918282611223565b610a8357611fa9816001600160a01b031660146125e9565b611fb48360206125e9565b604051602001611fc59291906136a2565b60408051601f198184030181529082905262461bcd60e51b8252610a1391600401612c4c565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061202557612025613351565b602090810291909101015292915050565b612044868686868686612784565b505050505050565b6001600160a01b0384163b156120445760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906120909089908990889088908890600401613717565b6020604051808303816000875af19250505080156120cb575060408051601f3d908101601f191682019092526120c89181019061375c565b60015b612177576120d7613779565b806308c379a00361211057506120eb613795565b806120f65750612112565b8060405162461bcd60e51b8152600401610a139190612c4c565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610a13565b6001600160e01b0319811663f23a6e6160e01b1461178f5760405162461bcd60e51b8152600401610a139061381e565b81518351146121c85760405162461bcd60e51b8152600401610a13906135a5565b6001600160a01b0384166121ee5760405162461bcd60e51b8152600401610a1390613866565b336121fd818787878787612036565b60005b84518110156122e357600085828151811061221d5761221d613351565b60200260200101519050600085838151811061223b5761223b613351565b602090810291909101810151600084815280835260408082206001600160a01b038e16835290935291909120549091508181101561228b5760405162461bcd60e51b8152600401610a13906138ab565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906122c89084906133e7565b92505081905550505050806122dc90613394565b9050612200565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516123339291906135ed565b60405180910390a46120448187878787875b6001600160a01b0384163b156120445760405163bc197c8160e01b81526001600160a01b0385169063bc197c819061238990899089908890889088906004016138f5565b6020604051808303816000875af19250505080156123c4575060408051601f3d908101601f191682019092526123c19181019061375c565b60015b6123d0576120d7613779565b6001600160e01b0319811663bc197c8160e01b1461178f5760405162461bcd60e51b8152600401610a139061381e565b61240a8282611223565b15610a835760008281526004602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600061117a836001600160a01b0384166128fd565b600082600001828154811061249357612493613351565b9060005260206000200154905092915050565b6001600160a01b0384166124cc5760405162461bcd60e51b8152600401610a1390613866565b3360006124d885611feb565b905060006124e585611feb565b90506124f5838989858589612036565b6000868152602081815260408083206001600160a01b038c168452909152902054858110156125365760405162461bcd60e51b8152600401610a13906138ab565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906125739084906133e7565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46125d3848a8a8a8a8a61204c565b505050505050505050565b6000610a3f826129f0565b606060006125f8836002613198565b6126039060026133e7565b6001600160401b0381111561261a5761261a612af4565b6040519080825280601f01601f191660200182016040528015612644576020820181803683370190505b509050600360fc1b8160008151811061265f5761265f613351565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061268e5761268e613351565b60200101906001600160f81b031916908160001a90535060006126b2846002613198565b6126bd9060016133e7565b90505b6001811115612735576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106126f1576126f1613351565b1a60f81b82828151811061270757612707613351565b60200101906001600160f81b031916908160001a90535060049490941c9361272e81613953565b90506126c0565b50831561117a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610a13565b6001600160a01b03851661280b5760005b8351811015612809578281815181106127b0576127b0613351565b6020026020010151600360008684815181106127ce576127ce613351565b6020026020010151815260200190815260200160002060008282546127f391906133e7565b90915550612802905081613394565b9050612795565b505b6001600160a01b0384166120445760005b835181101561178f57600084828151811061283957612839613351565b60200260200101519050600084838151811061285757612857613351565b60200260200101519050600060036000848152602001908152602001600020549050818110156128da5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b6064820152608401610a13565b600092835260036020526040909220910390556128f681613394565b905061281c565b600081815260018301602052604081205480156129e6576000612921600183613185565b855490915060009061293590600190613185565b905081811461299a57600086600001828154811061295557612955613351565b906000526020600020015490508087600001848154811061297857612978613351565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806129ab576129ab61396a565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610a3f565b6000915050610a3f565b60006001600160e01b03198216635a05180f60e01b1480610a3f5750610a3f8260006001600160e01b03198216637965db0b60e01b1480610a3f5750610a3f8260006001600160e01b03198216636cdb3d1360e11b1480612a6157506001600160e01b031982166303a24d0760e21b145b80610a3f57506301ffc9a760e01b6001600160e01b0319831614610a3f565b80356001600160a01b03811681146114db57600080fd5b60008060408385031215612aaa57600080fd5b612ab383612a80565b946020939093013593505050565b6001600160e01b03198116811461148c57600080fd5b600060208284031215612ae957600080fd5b813561117a81612ac1565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715612b2f57612b2f612af4565b6040525050565b60006001600160401b03831115612b4f57612b4f612af4565b604051612b66601f8501601f191660200182612b0a565b809150838152848484011115612b7b57600080fd5b83836020830137600060208583010152509392505050565b600060208284031215612ba557600080fd5b81356001600160401b03811115612bbb57600080fd5b8201601f81018413612bcc57600080fd5b612bdb84823560208401612b36565b949350505050565b600060208284031215612bf557600080fd5b5035919050565b60005b83811015612c17578181015183820152602001612bff565b50506000910152565b60008151808452612c38816020860160208601612bfc565b601f01601f19169290920160200192915050565b60208152600061117a6020830184612c20565b600080600060608486031215612c7457600080fd5b612c7d84612a80565b95602085013595506040909401359392505050565b60006001600160401b03821115612cab57612cab612af4565b5060051b60200190565b600082601f830112612cc657600080fd5b81356020612cd382612c92565b604051612ce08282612b0a565b83815260059390931b8501820192828101915086841115612d0057600080fd5b8286015b84811015612d1b5780358352918301918301612d04565b509695505050505050565b600082601f830112612d3757600080fd5b61117a83833560208501612b36565b600080600080600060a08688031215612d5e57600080fd5b612d6786612a80565b9450612d7560208701612a80565b935060408601356001600160401b0380821115612d9157600080fd5b612d9d89838a01612cb5565b94506060880135915080821115612db357600080fd5b612dbf89838a01612cb5565b93506080880135915080821115612dd557600080fd5b50612de288828901612d26565b9150509295509295909350565b60008060408385031215612e0257600080fd5b82359150612e1260208401612a80565b90509250929050565b60008060408385031215612e2e57600080fd5b82356001600160401b0380821115612e4557600080fd5b612e5186838701612cb5565b93506020850135915080821115612e6757600080fd5b50612e7485828601612cb5565b9150509250929050565b60008060408385031215612e9157600080fd5b50508035926020909101359150565b60008060408385031215612eb357600080fd5b82356001600160401b0380821115612eca57600080fd5b818501915085601f830112612ede57600080fd5b81356020612eeb82612c92565b604051612ef88282612b0a565b83815260059390931b8501820192828101915089841115612f1857600080fd5b948201945b83861015612f3d57612f2e86612a80565b82529482019490820190612f1d565b96505086013592505080821115612e6757600080fd5b600081518084526020808501945080840160005b83811015612f8357815187529582019590820190600101612f67565b509495945050505050565b60208152600061117a6020830184612f53565b600080600060608486031215612fb657600080fd5b612fbf84612a80565b925060208401356001600160401b0380821115612fdb57600080fd5b612fe787838801612cb5565b93506040860135915080821115612ffd57600080fd5b5061300a86828701612cb5565b9150509250925092565b6000806040838503121561302757600080fd5b61303083612a80565b91506020830135801515811461304557600080fd5b809150509250929050565b6000806040838503121561306357600080fd5b8235915060208301356001600160401b0381111561308057600080fd5b612e7485828601612cb5565b6000806040838503121561309f57600080fd5b6130a883612a80565b9150612e1260208401612a80565b600080600080600060a086880312156130ce57600080fd5b6130d786612a80565b94506130e560208701612a80565b9350604086013592506060860135915060808601356001600160401b0381111561310e57600080fd5b612de288828901612d26565b60006020828403121561312c57600080fd5b61117a82612a80565b600181811c9082168061314957607f821691505b60208210810361316957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a3f57610a3f61316f565b8082028115828204841417610a3f57610a3f61316f565b634e487b7160e01b600052601260045260246000fd5b6000826131d4576131d46131af565b500690565b6020808252601190820152701b9bdb8b5d195c9b985c9e481b195d995b607a1b604082015260600190565b6020808252600d908201526c1a5b9d985b1a59081b195d995b609a1b604082015260600190565b600181815b8085111561326657816000190482111561324c5761324c61316f565b8085161561325957918102915b93841c9390800290613230565b509250929050565b60008261327d57506001610a3f565b8161328a57506000610a3f565b81600181146132a057600281146132aa576132c6565b6001915050610a3f565b60ff8411156132bb576132bb61316f565b50506001821b610a3f565b5060208310610133831016604e8410600b84101617156132e9575081810a610a3f565b6132f3838361322b565b80600019048211156133075761330761316f565b029392505050565b600061117a838361326e565b6001600160a01b038416815260606020820181905260009061333f90830185612f53565b8281036040840152610ba18185612f53565b634e487b7160e01b600052603260045260246000fd5b6020808252601390820152721b9bdb8b5c1bdcda5d1a5d9948185b5bdd5b9d606a1b604082015260600190565b6000600182016133a6576133a661316f565b5060010190565b6000826133bc576133bc6131af565b500490565b6020808252600c908201526b34b73b30b634b2103cb2b0b960a11b604082015260600190565b80820180821115610a3f57610a3f61316f565b601f821115610b4957600081815260208120601f850160051c810160208610156134215750805b601f850160051c820191505b818110156120445782815560010161342d565b81516001600160401b0381111561345957613459612af4565b61346d816134678454613135565b846133fa565b602080601f8311600181146134a2576000841561348a5750858301515b600019600386901b1c1916600185901b178555612044565b600085815260208120601f198616915b828110156134d1578886015182559484019460019091019084016134b2565b50858210156134ef5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b634e487b7160e01b600052600160045260246000fd5b6020808252602f908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526e195c881b9bdc88185c1c1c9bdd9959608a1b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b6040815260006136006040830185612f53565b82810360208401526136128185612f53565b95945050505050565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516136da816017850160208801612bfc565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161370b816028840160208801612bfc565b01602801949350505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061375190830184612c20565b979650505050505050565b60006020828403121561376e57600080fd5b815161117a81612ac1565b600060033d11156137925760046000803e5060005160e01c5b90565b600060443d10156137a35790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156137d257505050505090565b82850191508151818111156137ea5750505050505090565b843d87010160208285010111156138045750505050505090565b61381360208286010187612b0a565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6001600160a01b0386811682528516602082015260a06040820181905260009061392190830186612f53565b82810360608401526139338186612f53565b905082810360808401526139478185612c20565b98975050505050505050565b6000816139625761396261316f565b506000190190565b634e487b7160e01b600052603160045260246000fdfea26469706673582212206df3b8858ef3caa895ff43d577843cb397e2dbd6c13023cada0a654f8a37848064736f6c6343000811003321b4f2a846971d5096997e4122542f612858bcbb112ef24ef9b35408352315191d79eadc793a64c7d14d38414c0f4e02a3d61d2bbca04d299f819c3874c62f5045c2e9089aab0ada4a53b23071933de07fadb404d384f07834351ae6401e21217df1fa30796d39d0e882422146943ee011c6f6b410f211570cc3a712e3e51e6a1e1b9e42058f87aacc86151eee60be3728a69ade31e7db408acbba7774f5d2c518279111969b053eb32d637cdc8d9e7e53d648d3969f60ee55ddd0f63a7c3280e1322164d2a9c594e09927ac212ba43210d25e7c9efc459689fb7b6107c895b147fa9d826949f4f367afefb5d5a267558f054ceca49dcb3bde75713cd8e50eaf0000000000000000000000006b43ad7890cfb4810d5e0d2d74dbf0218620355500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000007861f80000000000000000000000000000000000000000000000000000000000000006b68747470733a2f2f697066732e78706f7765726d696e652e636f6d2f697066732f516d597269516561516d444e6f5978696f506345704733554a3358316246736b52777a567835447566726a70635a2f707074732f333230783432372f6f64696e2f7b69647d2e6a736f6e000000000000000000000000000000000000000000