[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "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": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAllDelegation", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "address", "name": "delegator", "type": "address" } ], "name": "DelegatorApproved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" }, { "indexed": true, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "start", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "cliff", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "end", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rate", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "period", "type": "uint256" } ], "name": "PlanCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountRedeemed", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "planRemainder", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "resetDate", "type": "uint256" } ], "name": "PlanRedeemed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "segmentId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newPlanAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newPlanRate", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "segmentAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "segmentRate", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "start", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "cliff", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "period", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newPlanEnd", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "segmentEnd", "type": "uint256" } ], "name": "PlanSegmented", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id0", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "id1", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "survivingId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rate", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "start", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "cliff", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "period", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "end", "type": "uint256" } ], "name": "PlansCombined", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_admin", "type": "address" } ], "name": "URIAdminDeleted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "newURI", "type": "string" } ], "name": "URISet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "vaultAddress", "type": "address" } ], "name": "VotingVaultCreated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegator", "type": "address" }, { "internalType": "uint256", "name": "planId", "type": "uint256" } ], "name": "approveDelegator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "planId", "type": "uint256" } ], "name": "approveSpenderDelegator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId0", "type": "uint256" }, { "internalType": "uint256", "name": "planId1", "type": "uint256" } ], "name": "combinePlans", "outputs": [ { "internalType": "uint256", "name": "survivingPlanId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "start", "type": "uint256" }, { "internalType": "uint256", "name": "cliff", "type": "uint256" }, { "internalType": "uint256", "name": "rate", "type": "uint256" }, { "internalType": "uint256", "name": "period", "type": "uint256" } ], "name": "createPlan", "outputs": [ { "internalType": "uint256", "name": "newPlanId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" }, { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegateAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "planIds", "type": "uint256[]" }, { "internalType": "address[]", "name": "delegatees", "type": "address[]" } ], "name": "delegatePlans", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "deleteAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" } ], "name": "getApprovedDelegator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAllDelegation", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "address", "name": "token", "type": "address" } ], "name": "lockedBalances", "outputs": [ { "internalType": "uint256", "name": "lockedBalance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "planIds", "type": "uint256[]" }, { "internalType": "uint256", "name": "redemptionTime", "type": "uint256" } ], "name": "partialRedeemPlans", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" }, { "internalType": "uint256", "name": "timeStamp", "type": "uint256" }, { "internalType": "uint256", "name": "redemptionTime", "type": "uint256" } ], "name": "planBalanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "remainder", "type": "uint256" }, { "internalType": "uint256", "name": "latestUnlock", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" } ], "name": "planEnd", "outputs": [ { "internalType": "uint256", "name": "end", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "plans", "outputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "start", "type": "uint256" }, { "internalType": "uint256", "name": "cliff", "type": "uint256" }, { "internalType": "uint256", "name": "rate", "type": "uint256" }, { "internalType": "uint256", "name": "period", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "redeemAllPlans", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "planIds", "type": "uint256[]" } ], "name": "redeemPlans", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" }, { "internalType": "uint256[]", "name": "segmentAmounts", "type": "uint256[]" }, { "internalType": "address[]", "name": "delegatees", "type": "address[]" } ], "name": "segmentAndDelegatePlans", "outputs": [ { "internalType": "uint256[]", "name": "newPlanIds", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "segmentOriginalEnd", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" }, { "internalType": "uint256[]", "name": "segmentAmounts", "type": "uint256[]" } ], "name": "segmentPlan", "outputs": [ { "internalType": "uint256[]", "name": "newPlanIds", "type": "uint256[]" } ], "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": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAllDelegation", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" } ], "name": "setupVoting", "outputs": [ { "internalType": "address", "name": "votingVault", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "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": "uint256", "name": "planId", "type": "uint256" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" } ], "name": "transferAndDelegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "updateBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "votingVaults", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
6080604052346200033c57620057dc803803806200001d8162000341565b9283398101906040818303126200033c5780516001600160401b03908181116200033c57836200004f91840162000367565b91602093848201518381116200033c576200006b920162000367565b825190828211620003265760008054926001958685811c951680156200031b575b8886101462000307578190601f95868111620002b4575b5088908683116001146200025057849262000244575b5050600019600383901b1c191690861b1781555b8151938411620002305784548581811c9116801562000225575b878210146200021157838111620001c9575b50859284116001146200016457839495509262000158575b5050600019600383901b1c191690821b1781555b600e5560108054610100600160a81b0319163360081b610100600160a81b03161790556040516154029081620003da8239f35b01519050388062000111565b9190601f1984169585845280842093905b878210620001b15750508385961062000197575b505050811b01815562000125565b015160001960f88460031b161c1916905538808062000189565b80878596829496860151815501950193019062000175565b8582528682208480870160051c82019289881062000207575b0160051c019086905b828110620001fb575050620000f9565b838155018690620001eb565b92508192620001e2565b634e487b7160e01b82526022600452602482fd5b90607f1690620000e7565b634e487b7160e01b81526041600452602490fd5b015190503880620000b9565b8480528985208994509190601f198416865b8c8282106200029d575050841162000283575b505050811b018155620000cd565b015160001960f88460031b161c1916905538808062000275565b8385015186558c9790950194938401930162000262565b9091508380528884208680850160051c8201928b8610620002fd575b918a91869594930160051c01915b828110620002ee575050620000a3565b8681558594508a9101620002de565b92508192620002d0565b634e487b7160e01b83526022600452602483fd5b94607f16946200008c565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200032657604052565b919080601f840112156200033c5782516001600160401b03811162000326576020906200039d601f8201601f1916830162000341565b928184528282870101116200033c5760005b818110620003c557508260009394955001015290565b8581018301518482018401528201620003af56fe60808060405260043610156200001457600080fd5b600090813560e01c90816301ffc9a714620024ae5750806306fdde0314620023ce578063081812fc14620023ab57806308bbb8241462002376578063095ea7b3146200223c5780630aef166c146200198e57806316c09967146200190d57806318160ddd14620018ed5780631f25ccb6146200184657806323b872dd146200181957806323bdaea914620017c15780632f745c5914620017935780632f809b38146200161d578063402d5a7714620015fa57806342842e0e14620015dd5780634e897e1614620011ad5780634f6ccce7146200111657806352e5b7e4146200102e5780636352211e1462000ff95780636b0402181462000f6b5780636c0360eb1462000f4a57806370a082311462000f205780637b4e51f61462000ef557806388cccd801462000ed7578063931688cb1462000ca757806395d89b411462000bb8578063968b3e591462000b5a578063a22cb4651462000b3c578063a41415961462000a73578063a8713ec71462000a3e578063a8973e2b146200093d578063b162061614620008d1578063b6f977871462000877578063b88d4fde14620007d6578063b9bdac2c1462000760578063c3ca575514620006da578063c7711c4c1462000638578063c7d74fa714620005f0578063c83d78181462000545578063c87b56dd14620002f2578063de6923b814620002ae578063e985e9c514620002545763fcbdd196146200022657600080fd5b3462000251576020366003190112620002515760406020916004358152600d83522054604051908152f35b80fd5b503462000251576040366003190112620002515762000272620025a1565b60406200027e6200258a565b9260018060a01b0380931681526005602052209116600052602052602060ff604060002054166040519015158152f35b5034620002515760203660031901126200025157620002cc6200328f565b6020620002db60043562003f91565b6001600e556040516001600160a01b039091168152f35b503462000251576020908160031936011262000251576004356000818152600260205260409020549091839162000334906001600160a01b0316151562002965565b6200033e62002799565b80519093901562000529578190807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156200051a575b5050846d04ee2d6d415b85acef8100000000808410156200050b575b5050662386f26fc1000080831015620004fb575b506305f5e10080831015620004eb575b5061271080831015620004db575b506064821015620004ca575b600a80921015620004bf575b600190816021818601956200040b620003f28862002895565b9762000402604051998a6200263c565b80895262002895565b878a019890601f1901368a3750860101905b62000486575b50505050926200046a92916200045d9460405195836200044d88955180928880890191016200253e565b840191518093868401906200253e565b010380845201826200263c565b905b6200048260405192828493845283019062002563565b0390f35b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215620004b9579190826200041d565b62000423565b9160010191620003d9565b9190606460029104910191620003cd565b60049193920491019138620003c1565b60089193920491019138620003b3565b60109193920491019138620003a3565b9301929091049084386200038f565b60409450049150388062000373565b50915050604051906200053c8262002620565b8152906200046c565b50346200025157604036600319011262000251576004356024356001600160401b038111620005ec576200057e903690600401620026cb565b90620005896200328f565b620005958251620034d5565b925b8251811015620005d75780620005be620005b6620005d193866200351d565b5184620039de565b620005ca82876200351d565b526200350d565b62000597565b6001600e5560405180620004828682620026ec565b8280fd5b5034620002515760603660031901126200025157620004826200061b6044356024356004356200470c565b604080519384526020840192909252908201529081906060820190565b503462000251578060031936011262000251576010546200066833600883901c6001600160a01b03161462004a5f565b60ff811615620006af57610100600160a81b0319166010556040513381527fa775782c93424d570e142a52abffaedcebb0e9cd73cca502455acb0587efb6b790602090a180f35b606460405162461bcd60e51b81526020600482015260046024820152630854d15560e21b6044820152fd5b50346200025157602036600319011262000251576200075860a060406020936004358152600c8552206040516200071181620025f0565b600180841b038254168152600182015490818682015260028301549081604082015260038401546060820152600560048501549485608084015201549485910152620041df565b604051908152f35b503462000251578060031936011262000251576200077d6200328f565b6200078833620028ed565b6200079381620034d5565b90825b818110620007b35783620007ab428562003543565b6001600e5580f35b80620007c4620007d092336200318f565b620005ca82866200351d565b62000796565b5034620002515760803660031901126200025157620007f4620025a1565b620007fe6200258a565b90606435906044356001600160401b03831162000873573660238401121562000873576200087093620008406200086a943690602481600401359101620028b1565b926200085762000851843362002b21565b62002a17565b6200086483838362002bf2565b6200310d565b62002afa565b80f35b8480fd5b503462000251576040366003190112620002515762000895620025a1565b6040620008a16200258a565b9260018060a01b038093168152600b602052209116600052602052602060ff604060002054166040519015158152f35b5034620002515760203660031901126200025157604060c0916004358152600c6020522060018060a01b038154169060018101549060028101546003820154906005600484015493015493604051958652602086015260408501526060840152608083015260a0820152f35b50346200025157604036600319011262000251576001600160401b03600435818111620005ec576200097490369060040162002729565b9160243590811162000a3a576200099090369060040162002729565b9290916200099d6200328f565b83820362000a0757845b828110620009b857856001600e5580f35b620009c581848462003532565b3590620009d481878762003532565b35916001600160a01b038316830362000a0357620009fd92620009f79162004122565b6200350d565b620009a7565b8780fd5b60405162461bcd60e51b815260206004820152600b60248201526a30b93930bc9032b93937b960a91b6044820152606490fd5b8380fd5b5034620002515760203660031901126200025157602090600435815260128252604060018060a01b0391205416604051908152f35b50346200025157604036600319011262000251576200087062000a95620025a1565b6024359062000ad46001600160a01b038062000ab185620029b2565b16803314801562000ae6575b62000ac9915062004817565b821633141562004855565b62000ae0828262004893565b62002ebb565b50808752600b602052604087203360005260205260ff604060002054168062000b16575b62000ac9915062000abd565b5086526005602052604086203360005260205262000ac960ff6040600020541662000b0a565b503462000251576200087062000b523662002863565b903362002f1a565b50346200025157602036600319011262000251576004356001600160401b03811162000bb45762000bae62000b98620007ab92369060040162002729565b919062000ba46200328f565b4292369162002676565b62003543565b5080fd5b503462000251578060031936011262000251576040516000600180549062000be0826200275c565b8085529181811690811562000c7e575060011462000c21575b620004828462000c0c818603826200263c565b60405191829160208352602083019062002563565b600081815292507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b82841062000c6557505050810160200162000c0c8262000bf9565b8054602085870181019190915290930192810162000c4a565b60ff191660208087019190915292151560051b8501909201925062000c0c915083905062000bf9565b503462000251576020908160031936011262000251576001600160401b03600435818111620005ec5736602382011215620005ec5762000cf2903690602481600401359101620028b1565b9062000d0d60018060a01b0360105460081c16331462004a5f565b815190811162000ec35762000d24600f546200275c565b601f811162000e5b575b5083601f821160011462000db45790808495927fde63cc2d19581e57e158d078c2df83f9ab70addd6257f7f12bfecb21c06c9128959162000da8575b508160011b916000199060031b1c191617600f555b600160ff19601054161760105562000da260405192828493845283019062002563565b0390a180f35b90508301513862000d6a565b600f84527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80290601f198316855b81811062000e4357509183917fde63cc2d19581e57e158d078c2df83f9ab70addd6257f7f12bfecb21c06c91289697946001941062000e29575b5050811b01600f5562000d7f565b85015160001960f88460031b161c19169055388062000e1b565b91928760018192868901518155019401920162000de1565b600f84527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802601f830160051c81019186841062000eb8575b601f0160051c01905b81811062000eab575062000d2e565b6000815560010162000e9c565b909150819062000e93565b634e487b7160e01b83526041600452602483fd5b503462000251576200087062000eed3662002863565b903362004905565b503462000251576200087062000f0b3662002863565b9062000f1982823362004905565b3362002f1a565b503462000251576020366003190112620002515760206200075862000f44620025a1565b620028ed565b503462000251578060031936011262000251576200048262000c0c62002799565b50346200025157604036600319011262000251576004356001600160401b03811162000bb45762000fa190369060040162002729565b6024359062000faf6200328f565b4282101562000fca57620007ab9262000bae91369162002676565b60405162461bcd60e51b81526020600482015260076024820152662166757475726560c81b6044820152606490fd5b503462000251576020366003190112620002515760206200101c600435620029b2565b6040516001600160a01b039091168152f35b50346200025157604036600319011262000251576200104c620025a1565b90620010576200258a565b816200106384620028ed565b916001600160a01b03908116825b8481106200108457602086604051908152f35b6200109081886200318f565b84526020600c815260408520604051620010aa81620025f0565b60a0600587845416938484526001810154809685015260028101546040850152600381015460608501526004810154608085015201549101528314620010fd575b50620010f7906200350d565b62001071565b6200110e90620010f7929762003f07565b9590620010eb565b503462000251576020366003190112620002515760043560085481101562001153576200114560209162003220565b90546040519160031b1c8152f35b60405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608490fd5b5034620002515760e03660031901126200025157620011cb620025a1565b90620011d66200258a565b91620011e16200328f565b6001600160a01b03811615620015aa576001600160a01b038316156200157b576200121a60c43560a4356044356084356064356200422d565b15620005ec5760118054600101908190556040516370a0823160e01b81523060048201529093906020816024816001600160a01b038a165afa9081156200157057829162001538575b506040516370a0823160e01b81523360048201526020816024816001600160a01b038b165afa908115620014b257839162001500575b5060443511620014d3576040516323b872dd60e01b60208201523360248201523060448201526044356064820152606481528060a08101106001600160401b0360a083011117620014bd5760a0810160405262001300906001600160a01b03881662004421565b6040516370a0823160e01b8152306004820152906020826024816001600160a01b038b165afa918215620014b257839262001472575b5060209686936200137c7fe7d9b7fd810a51c7f2f160d0c100b1bb756592fdeaf6b9b84425b44eca133e9b9462001375620014629560443592620039d0565b14620043ec565b6005604051916200138d83620025f0565b60018060a01b03841683528a8301604435815260408401606435815260608501906084358252608086019260a4358452604060a088019560c43587528c81526020600c9052209660018060a01b039051166001600160601b0360a01b88541617875551600187015551600286015551600385015551600484015551910155620014178487620032e6565b604080516044358152606435602082015260843591810191909152606081019590955260a435608086015260c43560a08601526001600160a01b0390811695169390819060c0820190565b0390a46001600e55604051908152f35b91506020823d602011620014a9575b8162001490602093836200263c565b81010312620014a457905190602062001336565b600080fd5b3d915062001481565b6040513d85823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152600560248201526454484c303160d81b6044820152606490fd5b90506020813d6020116200152f575b816200151e602093836200263c565b81010312620014a457513862001299565b3d91506200150f565b90506020813d60201162001567575b8162001556602093836200263c565b81010312620014a457513862001263565b3d915062001547565b6040513d84823e3d90fd5b60405162461bcd60e51b8152602060048201526007602482015266182fba37b5b2b760c91b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a0c17dc9958da5c1a595b9d60aa1b6044820152606490fd5b5034620002515762000870620015f336620025b8565b9162002a7a565b503462000251576020366003190112620002515760206200101c600435620049b5565b50346200025157606036600319011262000251576004356001600160401b0360243581811162000a3a5762001657903690600401620026cb565b9160443591821162000a3a573660238301121562000a3a5781600401356200167f816200265e565b926200168f60405194856200263c565b81845260209160248386019160051b8301019136831162000a0357602401905b8282106200177257505050620016c46200328f565b8351835103620017445750620016db8351620034d5565b935b83518110156200172f5780620016fc620005b66200172993876200351d565b6200171d6001600160a01b036200171484886200351d565b51168262004122565b620005ca82886200351d565b620016dd565b6001600e5560405180620004828782620026ec565b6064906040519062461bcd60e51b825260048201526007602482015266042d8cadccee8d60cb1b6044820152fd5b81356001600160a01b0381168103620014a4578152908301908301620016af565b5034620002515760403660031901126200025157602062000758620017b7620025a1565b602435906200318f565b5034620002515760603660031901126200025157600435620017e26200258a565b90604435906001600160a01b0382168203620014a457620018138183620007ab956200180d6200328f565b62002a7a565b62004122565b50346200025157620008706200182f36620025b8565b916200184062000851843362002b21565b62002bf2565b503462000251576040366003190112620002515762001864620025a1565b6200186e6200258a565b620018786200328f565b6200188333620028ed565b916001600160a01b0390811690845b848110620018a357856001600e5580f35b80620018b4620018d492336200318f565b808852600c60205285858560408b20541614620018da575b50506200350d565b62001892565b620018e59162004122565b3885620018cc565b503462000251578060031936011262000251576020600854604051908152f35b5034620002515760403660031901126200025157620008706200192f620025a1565b60243590620019626001600160a01b03806200194b85620029b2565b168033148015620019685762000ac9915062004817565b62004893565b508652600b602052604086203360005260205262000ac960ff6040600020541662000abd565b5034620002515760403660031901126200025157620019ac6200328f565b602435600435146200220b57620019da620019c9600435620029b2565b6001600160a01b0316331462003754565b620019fc336001600160a01b03620019f4602435620029b2565b161462003754565b6004358152600c6020526040812060056040519162001a1b83620025f0565b60018060a01b03815416835260018101546020840152600281015460408401526003810154606084015260048101546080840152015460a08201526024358252600c60205260408220906040519162001a7483620025f0565b80546001600160a01b039081168085526001830154602086015260028301546040860152600383015460608601526004830154608086015260059092015460a085015282511603620021d8576040810151604083015103620021a5576060810151606083015103620021725760a081015160a0830151036200213e5762001b106040820151602083015160808401519060a085015192620041df565b9062001b316040840151602085015160808601519060a087015192620041df565b92838314801562002109575b15620020d857600435808652601260205260408087205460243588529087205491956001600160a01b03918216939190921691831562001db057506024358752600c6020526001604088200154600435885262001ba3600160408a200191825462003f07565b905562001be68562001bbf602087015160208501519062003f07565b62001bd4608088015160808601519062003f07565b60408801519060a08901519262004399565b95906004358952600c602052600460408a200155851062001d78575b811562001d3d57602001518691803b15620005ec576040516306b091f960e01b81526001600160a01b0394909416600485015260248401919091528290604490829084905af1801562001d3257604060209686959493600080516020620053ad8339815191529362001d20575b505b6024358152600c885262001ca582822060056000918281558260018201558260028201558260038201558260048201550155565b62001cb26024356200378a565b6004358152600c8852209160046001840154930154936200146260408301519160a060608501519401516040519485946024359960043599879260a094919796959260c0850198855260208501526040840152606083015260808201520152565b6001600e55604051908152f35b62001d2b906200260c565b3862001c6f565b6040513d87823e3d90fd5b600080516020620053ad833981519152915060209662001d72604092889796958a60018060a01b0388511692015191620045d1565b62001c71565b600d60205260408720548514801562001d9d575b62001d979062003f15565b62001c02565b5060243587526040872054851462001d8c565b60209796919590949350821562001f665750509062001e65916004358652600c87526001604087200154602435875262001df36001604089200191825462003f07565b905562001e348462001e0d898501518a8901519062003f07565b62001e22608086015160808a01519062003f07565b60408901519060a08a01519262004399565b94906024358852600c89526004604089200155841062001f2a575b815191870151916001600160a01b0316620045d1565b6040602435936004358152600c865262001e9f82822060056000918281558260018201558260028201558260038201558260048201550155565b62001eac6004356200378a565b6024358152600c865220600080516020620053ad833981519152600460018301549201549260408501519462001f2160a0606083015192015192604051938493602435996024359960043599879260a094919796959260c0850198855260208501526040840152606083015260808201520152565b0390a462001d13565b6004358652600d875260408620548414801562001f53575b62001f4d9062003f15565b62001e4f565b5060243586526040862054841462001f42565b80945062001fd39196925060409395600c895260018585200154600435855262001f9860018787200191825462003f07565b905562001fc262001fb18a8901518b8401519062003f07565b916080808a01519101519062003f07565b858801519060a08901519262004399565b93906004358352600c8852600484842001558310620020a3575b6024358152600c86526200202182822060056000918281558260018201558260028201558260038201558260048201550155565b6200202e6024356200378a565b6004358152600c865220600080516020620053ad833981519152600460018301549201549260408501519462001f2160a0606083015192015192604051938493600435996024359960043599879260a094919796959260c0850198855260208501526040840152606083015260808201520152565b600d86528181205483148015620020c6575b620020c09062003f15565b62001fed565b506024358152818120548314620020b5565b60405162461bcd60e51b815260206004820152600960248201526832b7321032b93937b960b91b6044820152606490fd5b506004358552600d60205260408520546024358652604086205414801562001b3d575060043585526040852054151562001b3d565b60405162461bcd60e51b815260206004820152600c60248201526b3832b934b7b21032b93937b960a11b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a31b634b3331032b93937b960a91b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a39ba30b93a1032b93937b960a91b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a3a37b5b2b71032b93937b960a91b6044820152606490fd5b60405162461bcd60e51b815260206004820152600960248201526839b0b6b290383630b760b91b6044820152606490fd5b50346200025157604036600319011262000251576200225a620025a1565b6024356001600160a01b03806200227183620029b2565b168091841614620023275780331490811562002305575b50156200229a57620008709162002ebb565b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b9050835260056020526040832033845260205260ff6040842054163862002288565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b5034620002515760403660031901126200025157620007ab620023986200258a565b620023a26200328f565b60043562004122565b503462000251576020366003190112620002515760206200101c600435620029d7565b5034620002515780600319360112620002515760405190808054620023f3816200275c565b8085529160019180831690811562002481575060011462002422575b620004828562000c0c818703826200263c565b80809450527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8284106200246857505050810160200162000c0c82620004826200240f565b8054602085870181019190915290930192810162002449565b869550620004829693506020925062000c0c94915060ff191682840152151560051b82010192936200240f565b90503462000bb457602036600319011262000bb45760043563ffffffff60e01b8116809103620005ec576020925063780e9d6360e01b8114908115620024f6575b5015158152f35b6380ac58cd60e01b8114915081156200252c575b81156200251a575b5038620024ef565b6301ffc9a760e01b1490503862002512565b635b5e139f60e01b811491506200250a565b60005b838110620025525750506000910152565b818101518382015260200162002541565b906020916200257e815180928185528580860191016200253e565b601f01601f1916010190565b602435906001600160a01b0382168203620014a457565b600435906001600160a01b0382168203620014a457565b6060906003190112620014a4576001600160a01b03906004358281168103620014a457916024359081168103620014a4579060443590565b60c081019081106001600160401b03821117620014bd57604052565b6001600160401b038111620014bd57604052565b602081019081106001600160401b03821117620014bd57604052565b90601f801991011681019081106001600160401b03821117620014bd57604052565b6001600160401b038111620014bd5760051b60200190565b929162002683826200265e565b916200269360405193846200263c565b829481845260208094019160051b8101928311620014a457905b828210620026bb5750505050565b81358152908301908301620026ad565b9080601f83011215620014a457816020620026e99335910162002676565b90565b6020908160408183019282815285518094520193019160005b82811062002714575050505090565b83518552938101939281019260010162002705565b9181601f84011215620014a4578235916001600160401b038311620014a4576020808501948460051b010111620014a457565b90600182811c921680156200278e575b60208310146200277857565b634e487b7160e01b600052602260045260246000fd5b91607f16916200276c565b60405190600082600f5491620027af836200275c565b808352926001908181169081156200283f5750600114620027dc575b50620027da925003836200263c565b565b600f600090815291507f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8025b848310620028235750620027da935050810160200138620027cb565b81935090816020925483858a0101520191019091859262002807565b905060209250620027da94915060ff191682840152151560051b82010138620027cb565b6040906003190112620014a4576004356001600160a01b0381168103620014a457906024358015158103620014a45790565b6001600160401b038111620014bd57601f01601f191660200190565b929192620028bf8262002895565b91620028cf60405193846200263c565b829481845281830111620014a4578281602093846000960137010152565b6001600160a01b031680156200290e57600052600360205260406000205490565b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b156200296d57565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316620026e981151562002965565b600081815260026020526040902054620029fc906001600160a01b0316151562002965565b6000908152600460205260409020546001600160a01b031690565b1562002a1f57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b620027da926200086a926040519262002a938462002620565b600084526200085762000851843362002b21565b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1562002b0257565b60405162461bcd60e51b81528062002b1d6004820162002aa7565b0390fd5b906001600160a01b03808062002b3784620029b2565b1693169183831493841562002b6f575b50831562002b56575b50505090565b62002b6491929350620029d7565b161438808062002b50565b909350600052600560205260406000208260005260205260ff60406000205416923862002b47565b1562002b9f57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b62002c1b9062002c0284620029b2565b6001600160a01b03808316939092918316841462002b97565b81841693841562002e6a57831591821562002db6575060085486600052600960205280604060002055600160401b811015620014bd578662002c6882600162002c81940160085562003220565b90919082549060031b91821b91600019901b1916179055565b83850362002d80575b50600091858352600a602052604090818420926001600160601b0360a01b93848154169055158062002d77575b62002d40577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef93929162002cfa86889362002cf28b620029b2565b161462002b97565b87845260046020528084208381541690558584526003602052808420600019815401905581845280842060018154019055878452600260205283209182541617905580a4565b815162461bcd60e51b815260206004820152601060248201526f4e6f74205472616e7366657261626c6560801b6044820152606490fd5b50600162002cb7565b62002d8b90620028ed565b6040600086815260066020528181208382526020528782822055878152600760205220553862002c8a565b85850362002dc6575b5062002c81565b62002dd190620028ed565b600019810190811162002e5457600090878252602090600782526040918284205482810362002e1c575b50898452838381205587845260068152828420918452528120553862002dbf565b888552600682528385208386528252838520548986526006835284862082875283528085872055855260078252838520553862002dfb565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b600082815260046020526040902080546001600160a01b0319166001600160a01b039283169081179091559062002ef283620029b2565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4565b6001600160a01b039182169291169081831462002f8e5760207f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31918360005260058252604060002085600052825262002f838160406000209060ff801983541691151516179055565b6040519015158152a3565b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b3d1562003003573d9062002fe78262002895565b9162002ff760405193846200263c565b82523d6000602084013e565b606090565b9091600091803b156200310457620030566020918493604051948580948193630a85bd0160e11b9a8b8452336004850152846024850152604484015260806064840152608483019062002563565b03926001600160a01b03165af190829082620030b5575b5050620030a7576200307e62002fd3565b80519081620030a25760405162461bcd60e51b81528062002b1d6004820162002aa7565b602001fd5b6001600160e01b0319161490565b909192506020813d8211620030fb575b81620030d4602093836200263c565b8101031262000bb45751906001600160e01b0319821682036200025157509038806200306d565b3d9150620030c5565b50505050600190565b91926000929190813b156200318557602091620031669185604051958680958194630a85bd0160e11b9b8c845233600485015260018060a01b038095166024850152604484015260806064840152608483019062002563565b0393165af190829082620030b5575050620030a7576200307e62002fd3565b5050505050600190565b6200319a81620028ed565b821015620031c75760018060a01b0316600052600660205260406000209060005260205260406000205490565b60405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608490fd5b600854811015620032585760086000527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30190600090565b634e487b7160e01b600052603260045260246000fd5b811562003279570490565b634e487b7160e01b600052601260045260246000fd5b6002600e5414620032a1576002600e55565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90604091825192620032f88462002620565b60008085526001600160a01b038316918215620034455760008581526002602052604090205462003336906001600160a01b031615155b1562003488565b60085490858352602091600983528082852055600160401b811015620034315792869491928286946200337f6200086a9a62002c68896001620027da9f9d9b0160085562003220565b6200338a87620028ed565b82855260068452818520818652845286828620558685526007845281852055600a83526002818520936001600160601b0360a01b94858154169055620033e96200332f89600052600260205260018060a01b0360406000205416151590565b8386526003815282862060018154019055878652528320918254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a462003008565b634e487b7160e01b84526041600452602484fd5b5162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606490fd5b156200349057565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b90620034e1826200265e565b620034f060405191826200263c565b828152809262003503601f19916200265e565b0190602036910137565b600019811462002e545760010190565b8051821015620032585760209160051b010190565b9190811015620032585760051b0190565b919060005b83518110156200374e576200356b82426200356484886200351d565b516200470c565b918062003587575b50505062003581906200350d565b62003548565b6200359384886200351d565b5192620035a084620029b2565b6001600160a01b0390620035b8908216331462003754565b84600052600c60209080825260409280846000205416926012918282528560002054169288156000146200373657896000528152620036188560002060056000918281558260018201558260028201558260038201558260048201550155565b52600083902080546001600160a01b031916905562003637876200378a565b80620036a25750620035819695949284926200367b7fa6faee2246474597b6de7c76bf9a45d256737543cb0806e6e805b55b38c7663f9662003696943390620045d1565b51938493846040919493926060820195825260208201520152565b0390a290388062003573565b8091503b15620014a45781516306b091f960e01b815233600482015260248101859052906000908290604490829084905af180156200372b57927fa6faee2246474597b6de7c76bf9a45d256737543cb0806e6e805b55b38c7663f94926200369692620035819998979562003719575b506200367b565b62003724906200260c565b3862003712565b82513d6000823e3d90fd5b91505283600284600020886001820155015562003637565b50509050565b156200375c57565b60405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b6044820152606490fd5b6200379581620029b2565b6001600160a01b039080821680159182156200394457505060085483600052600960205280604060002055600160401b811015620014bd578362002c68826001620037e4940160085562003220565b600854600019919082810190811162002e54576000938585526020906009825260409262003816848820549162003220565b90549060031b1c6200382d8162002c688462003220565b875260098352838720558686528583812055600854801562003930578501620038568162003220565b8782549160031b1b19169055600855868652600a8252828620936001600160601b0360a01b94858154169055158062003928575b620038f257906002916200389e88620029b2565b888852600483528488208681541690551694858752600382528387209081540190558686525283209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b50606491519062461bcd60e51b82526004820152601060248201526f4e6f74205472616e7366657261626c6560801b6044820152fd5b50856200388a565b634e487b7160e01b87526031600452602487fd5b6200394f90620028ed565b60001981019190821162002e54576000918583526020600781526040928385205483810362003998575b50878552848481205584526006815282842091845252812055620037e4565b818652600683528486208487528352848620548287526006845285872082885284528086882055865260078352848620553862003979565b9190820391821162002e5457565b9190620039ef620019c984620029b2565b82600052600c6020526040600020926040519362003a0d85620025f0565b80546001600160a01b03168552600181015460208601818152600283015460408801526003830154606088015260048301546080880190815260059093015460a0880152939081101562003ed357801562003ea25762003a7c6040870151855184519060a08a015192620041df565b936001601154019485601155859762003a97848451620039d0565b945192519360408201519360a08301519360608401519688670de0b6b3a7640000810204670de0b6b3a7640000148915171562002e545785878562003b4a62003b12998c978e62003b19670de0b6b3a764000062003b0762003b0062003b539b8386026200326e565b85620041cb565b049d8e8094620039d0565b86620041c0565b62003e7a5762003b4162003b2e8487620041cb565b62003b3a888c620039d0565b906200326e565b998a966200422d565b9b909a6200422d565b8891989162003e71575b501562003e395788600052600d602052604060002054801560001462003e335750805b80871062003dfd57871062003dc55788600052600c60205284600460406000208a6001820155015562003bb48a33620032e6565b60018060a01b03845116600560408601518c606088015160a0890151926040519562003be087620025f0565b8652602086018981526040870191825260608701928352608087019389855260a08801958652600052600c60205260406000209660018060a01b039051166001600160601b0360a01b8854161787555160018701555160028601555160038501555160048401555191015588600052600d602052604060002054801560001462003db3575088600052600d60205280604060002055896000526040600020555b6000888152601260205260409020546001600160a01b03168062003d0e575b50916101209593917f951d6388fa4b9c632ce8fdc16c4275079f7a0f61173a15b277546c9810fa44dd97959360408301519160a0606085015194015194604051988952602089015260408801526060870152608086015260a085015260c084015260e0830152610100820152a3565b96949290959391873b15620014a4576040516306b091f960e01b815230600482015260248101829052976000908990604490829084905af196871562003da7577f951d6388fa4b9c632ce8fdc16c4275079f7a0f61173a15b277546c9810fa44dd986101209862003d95575b5062003d868b62003f91565b50919395975091939562003c9f565b62003da0906200260c565b3862003d7a565b6040513d6000823e3d90fd5b90508960005260406000205562003c80565b60405162461bcd60e51b815260206004820152601060248201526f39b2b3b6b2b73a22b7321032b93937b960811b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d383630b71032b7321032b93937b960911b6044820152606490fd5b62003b80565b60405162461bcd60e51b815260206004820152601060248201526f696e76616c696420656e64206461746560801b6044820152606490fd5b90503862003b5d565b62003b418962003b3a8562003e9c8a62003e95838c620041cb565b94620039d0565b620039d0565b60405162461bcd60e51b81526020600482015260096024820152680c17dcd959db595b9d60ba1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b30b6b7bab73a1032b93937b960a11b6044820152606490fd5b9190820180921162002e5457565b1562003f1d57565b60405162461bcd60e51b815260206004820152601260248201527137b934b3b4b730b61032b7321032b93937b960711b6044820152606490fd5b1562003f5f57565b60405162461bcd60e51b815260206004820152600a60248201526910b232b632b3b0ba37b960b11b6044820152606490fd5b62003fa762003fa18233620049f5565b62003f57565b6000818152601260209081526040808320549093926001600160a01b03918216620040f557838152600c835284812091855162003fe481620025f0565b81845416808252600560018601549587840196875260028101548a8501526003810154606085015260048101546080850152015460a08301526200402887620029b2565b885191610917808401908482106001600160401b03831117620040e157918493916200406e9362004a9686396001600160a01b0391821681529116602082015260400190565b039084f08015620040d75792827fa9649a60c9bf950652949a7d6e3dca992b30cca610efc7df4469b15a8f778ddd969592620040cf948a961699838a8c95526012895220836001600160601b0360a01b8254161790555116915191620045d1565b51848152a290565b87513d85823e3d90fd5b634e487b7160e01b88526041600452602488fd5b845162461bcd60e51b815260048101849052600660248201526565786973747360d01b6044820152606490fd5b6200413262003fa18233620049f5565b60008181526012602052604081205490916001600160a01b03918291908216908115620041ad575b501692833b15620005ec57906024839283604051968794859363b1161b8b60e01b85521660048401525af1908115620041a15750620041965750565b620027da906200260c565b604051903d90823e3d90fd5b620041b9915062003f91565b386200415a565b811562003279570690565b8181029291811591840414171562002e5457565b9190620041ed8282620041c0565b620042135792620042076200420d92620026e9956200326e565b620041cb565b62003f07565b926200420d81620042076200420d94620026e9976200326e565b9194939290948015620043695781156200433b5780821162004306578315620042d6576200425c8282620041c0565b620042b65792620042076200420d9262004276956200326e565b8092116200428357600190565b60405162461bcd60e51b815260206004820152600b60248201526a18db1a5999880f88195b9960aa1b6044820152606490fd5b926200420d81620042076200420d94620042d0976200326e565b62004276565b60405162461bcd60e51b81526020600482015260086024820152670c17dc195c9a5bd960c21b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c1c985d19480f88185b5bdd5b9d609a1b6044820152606490fd5b60405162461bcd60e51b8152602060048201526006602482015265305f7261746560d01b6044820152606490fd5b60405162461bcd60e51b81526020600482015260086024820152670c17d85b5bdd5b9d60c21b6044820152606490fd5b9493620026e9939291620043d2918385620043c1620043b9828c620041cb565b948b620041c0565b620043db575062003b3a91620039d0565b948591620041df565b9062003e9c9062003b3a93620039d0565b15620043f457565b60405162461bcd60e51b81526020600482015260056024820152642a2426181960d91b6044820152606490fd5b60018060a01b03169060405160408101908082106001600160401b03831117620014bd5762004497916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af16200449062002fd3565b9162004532565b8051918215918483156200450b575b505050905015620044b45750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b91938180945001031262000bb45782015190811515820362000251575080388084620044a6565b9192901562004597575081511562004548575090565b3b15620045525790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620045ab5750805190602001fd5b60405162461bcd60e51b81526020600482015290819062002b1d90602483019062002563565b6040516370a0823160e01b8082526001600160a01b0384811660048401819052602094909116929091908481602481875afa95861562003da7578791600097620046d1575b5060405163a9059cbb60e01b878201526001600160a01b03919091166024808301919091526044808301939093529181528593929062004664906200465d6064826200263c565b8662004421565b6040519485938492835260048301525afa91821562003da75760009262004699575b5050620027da92916200137591620039d0565b81819392933d8311620046c9575b620046b381836200263c565b8101031262000251575051816200137562004686565b503d620046a7565b9150958582813d831162004704575b620046ec81836200263c565b81010312620002515750519486906200466462004616565b503d620046e0565b90916000918252600c60205260a060408320604051936200472d85620025f0565b600180841b03825416855260018201549384602087015260028301549586604082015260038401549081606082015260056004860154958660808401520154958691015282978088119182156200480c575b5050801562004801575b156200479757505050509192565b620047f094965090620047ca620047c285620047bc89620047e997969a989a620039d0565b6200326e565b9283620041cb565b9050868111620047f557620047e2905b8097620039d0565b94620041cb565b9062003f07565b909192565b50620047e286620047da565b508581111562004789565b11905038806200477f565b156200481f57565b60405162461bcd60e51b815260206004820152600e60248201526d10b7bbb732b927b832b930ba37b960911b6044820152606490fd5b156200485d57565b60405162461bcd60e51b815260206004820152600e60248201526d085cd95b1988185c1c1c9bdd985b60921b6044820152606490fd5b6000828152600a6020526040902080546001600160a01b0319166001600160a01b0383161790557f5f05f4f4b46d943d34b887b4741055b5ab6decb7b4fd2670a98969d38a36408090620048e783620029b2565b604080516001600160a01b03928316815292909116602083015290a2565b6001600160a01b03918216911680821462004984577f947bc3b5c76434e50335b9127e82fb1abb17b34d9380caf2a64cd8c6f43711849260609282600052600b6020526040600020816000526020526200496f8260406000209060ff801983541691151516179055565b604051928352602083015215156040820152a1565b60405162461bcd60e51b815260206004820152600960248201526810b7b832b930ba37b960b91b6044820152606490fd5b600081815260026020526040902054620049da906001600160a01b0316151562002965565b6000908152600a60205260409020546001600160a01b031690565b906001600160a01b03808062004a0b84620029b2565b1693169183831493841562004a37575b50831562004a295750505090565b62002b6491929350620049b5565b909350600052600b60205260406000208260005260205260ff60406000205416923862004a1b565b1562004a6757565b60405162461bcd60e51b815260206004820152600660248201526510a0a226a4a760d11b6044820152606490fdfe6080604090808252346101a1578181610917803803809161002082856101cf565b8339810103126101a15761003f6020610038836101f2565b92016101f2565b600180546001600160a01b03199081163317909155600080549091166001600160a01b0393841690811782558451632c3e6f0f60e11b81529284166004840181905291939192602081602481855afa908115610197579083918691610158575b501692831561010d57505082541690813b1561010957829160248392865195869384926317066a5760e21b845260048401525af19081156100fe57506100ef575b505b5161071090816102078239f35b6100f8906101a6565b386100e0565b8351903d90823e3d90fd5b8280fd5b91508092503b1561010957829160248392865195869384926317066a5760e21b845260048401525af19081156100fe5750610149575b506100e2565b610152906101a6565b38610143565b9150506020813d821161018f575b81610173602093836101cf565b8101031261018b5761018583916101f2565b3861009f565b8480fd5b3d9150610166565b86513d87823e3d90fd5b600080fd5b6001600160401b0381116101b957604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b038211908210176101b957604052565b51906001600160a01b03821682036101a15756fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306b091f91461025157508163b1161b8b146100a357508063f77c47911461007b5763fc0c546a1461005157600080fd5b34610077578160031936011261007757905490516001600160a01b039091168152602090f35b5080fd5b503461007757816003193601126100775760015490516001600160a01b039091168152602090f35b9190503461024d5760209081600319360112610249576100c16105b8565b6001546001600160a01b039081163303610245578086541690835191876370a0823160e01b9485855230898601528785602481865afa94851561023b57829561020c575b50823b15610077576024849183895195869485936317066a5760e21b8552168d8401525af18015610202576101d4575b5084908754169260248551809581938252308a8301525afa9182156101ca578692610196575b5003610165578380f35b5162461bcd60e51b815291820152600d60248201526c3130b630b731b29032b93937b960991b604482015260649150fd5b9091508381813d83116101c3575b6101ae81836105ce565b810103126101be5751903861015b565b600080fd5b503d6101a4565b83513d88823e3d90fd5b67ffffffffffffffff81989298116101ef5784529584610135565b634e487b7160e01b825260418752602482fd5b85513d8a823e3d90fd5b9094508781813d8311610234575b61022481836105ce565b8101031261007757519338610105565b503d61021a565b87513d84823e3d90fd5b8580fd5b8380fd5b8280fd5b9291503461024957816003193601126102495761026c6105b8565b60015490936001600160a01b03929091602490813590851633036105b45784885416856370a0823160e01b988987521694858582015260209586828681865afa9182156105aa578b92610577575b5088518781019063a9059cbb60e01b8252828782015285604482015260448152608081019167ffffffffffffffff91808410838511176105655760c0810184811084821117610552578d528a84527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a0820152518e9182919082895af1903d15610544573d9081116105325761037492918e918d51906103648d601f19601f84011601836105ce565b815280928c3d92013e5b86610606565b805188811591821561050e575b50509050156104b9578690858b8b51958693849283528a8301525afa9182156104af578a9261047c575b50810390811161046a570361044257908291875496865195869384928352309083015288165afa9283156104395750849261040b575b5050156103ec575080f35b6bffffffffffffffffffffffff60a01b80911682556001541660015580f35b90809250813d8311610432575b61042281836105ce565b8101031261024d575138806103e1565b503d610418565b513d86823e3d90fd5b60059060649386519362461bcd60e51b8552840152820152642a2426181960d91b6044820152fd5b634e487b7160e01b8952601184528289fd5b9091508581813d83116104a8575b61049481836105ce565b810103126104a4575190386103ab565b8980fd5b503d61048a565b88513d8c823e3d90fd5b885162461bcd60e51b8152808701889052602a818701527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b838092935001031261052e57870151801515810361052e57808838610381565b8b80fd5b634e487b7160e01b8e5260418952878efd5b50906103749160609061036e565b50634e487b7160e01b8f5260418a52888ffd5b634e487b7160e01b8f5260418a52888ffd5b9091508681813d83116105a3575b61058f81836105ce565b8101031261059f575190386102ba565b8a80fd5b503d610585565b89513d8d823e3d90fd5b8780fd5b600435906001600160a01b03821682036101be57565b90601f8019910116810190811067ffffffffffffffff8211176105f057604052565b634e487b7160e01b600052604160045260246000fd5b91929015610668575081511561061a575090565b3b156106235790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561067b5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106106c1575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935061069e56fea26469706673582212206f06f990f66fdab7bd5d8e4062bba801616e3535c34e2a48e194a7359d24d2f664736f6c6343000813003368362f23abee957d51cf9ad5676447be98bb329fda7263be069a80d23569a8e8a2646970667358221220790a3f01ab929a61eb8980125a513d57fc3daa424f56816cac9a2c33fe17ec6764736f6c6343000813003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001c426f756e642d566f74696e67546f6b656e4c6f636b7570506c616e73000000000000000000000000000000000000000000000000000000000000000000000006422d56544c500000000000000000000000000000000000000000000000000000