@artblocks/abx-sdk 0.1.0-alpha.34 → 0.1.0-alpha.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/abi/generated.js +19 -19
- package/dist/anchors.d.ts +2 -2
- package/dist/anchors.d.ts.map +1 -1
- package/dist/anchors.js +15 -1
- package/dist/anchors.js.map +1 -1
- package/dist/chain-support.d.ts +28 -0
- package/dist/chain-support.d.ts.map +1 -0
- package/dist/chain-support.js +65 -0
- package/dist/chain-support.js.map +1 -0
- package/dist/chain-support.json +60 -0
- package/dist/chains.d.ts +6 -2
- package/dist/chains.d.ts.map +1 -1
- package/dist/chains.js +20 -4
- package/dist/chains.js.map +1 -1
- package/dist/contract-generations.json +25 -3
- package/dist/deployments.d.ts +4 -2
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +38 -24
- package/dist/deployments.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/abi/generated.js
CHANGED
|
@@ -2,45 +2,45 @@
|
|
|
2
2
|
// Source: contracts/out (Foundry artifacts). Re-run `pnpm sync-abis` after `forge build`.
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
export const oneOfOneImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
|
|
5
|
-
export const oneOfOneImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b614a3880610b9e83390190565b608051610b1061008e6000396000818160c1015281816101300152818161016c015281816101a801526102dd0152610b106000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c60da1b116100505780635c60da1b146100bc5780635c857b3e146100e3578063d3a091911461011657600080fd5b806342495af61461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101066100f1366004610591565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f6101243660046105ac565b610198565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b60006101927f00000000000000000000000000000000000000000000000000000000000000008330610359565b92915050565b60006101a3826103b6565b6101cd7f00000000000000000000000000000000000000000000000000000000000000008361041b565b905061019281846101e6565b6000610192600083610430565b6040517f277cf99a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063277cf99a90610238908490600401610800565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c59150820182610591565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103a08560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506103ad818585610485565b95945050505050565b606081901c80158015906103e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610417576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000610429600084846104a7565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104f25763301164256000526004601cfd5b60006021529392505050565b60006101e0828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b60006020828403121561056657600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105a357600080fd5b6104298261056d565b600080604083850312156105bf57600080fd5b823567ffffffffffffffff8111156105d657600080fd5b6105e2858286016104fe565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107f4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126107a857600080fd5b860180358452602080820135908501526107c560408201826105f1565b9150606060408601526107dc60608601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b6020815261082e602082016108148461056d565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061083c6020840161056d565b73ffffffffffffffffffffffffffffffffffffffff811660408401525061086660408401846105f1565b6101e0606085015261087d6102008501828461065c565b91505061088d60608501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160808601526108c283828461065c565b925050506108d360808501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a086015261090883828461065c565b9250505061091860a0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660c08501525061094260c08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160e086015261097783828461065c565b9250505061098760e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610100850152506109b2610100850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109dd61012085016106a5565b61ffff8116610140850152506109f661014085016106a5565b61ffff811661016085015250610a0f61016085016106b7565b80151561018085015250610a26610180850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101a085015250610a526101a08501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016101c0860152610a8883828461072e565b92505050610a9a6101c08501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016101e0860152610ad083828461072e565b969550505050505056fea264697066735822122095087948c0fffdafa76cbc2ed614b5677964f566960f0015cc636b4a9816910464736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6149ab8061008d6000396000f3fe6080604052600436106103975760003560e01c80638da5cb5b116101dc578063c3e617a211610102578063e8a3d485116100a0578063f04e283e1161006f578063f04e283e14610be8578063f2fde38b14610bfb578063fee81cf414610c0e578063ff87a5f514610c4157600080fd5b8063e8a3d48514610b38578063e8dc3e0914610b4d578063e985e9c514610b9d578063ee748f2c14610bd357600080fd5b8063d50bac33116100dc578063d50bac3314610a9e578063da2bbfc714610ae8578063e1c2ffad14610b08578063e4df18ec14610b1d57600080fd5b8063c3e617a214610a3e578063c83569a914610a5e578063c87b56dd14610a7e57600080fd5b8063a482c9461161017a578063ac998f4511610149578063ac998f4514610984578063b18f004a146109d3578063b88d4fde14610a0b578063bb77e79614610a1e57600080fd5b8063a482c94614610904578063a8cdf07814610924578063a9fc664e14610944578063ac9650d81461096457600080fd5b806395d89b41116101b657806395d89b411461087d578063a07c7ce414610892578063a148d8cf146108c9578063a22cb465146108e457600080fd5b80638da5cb5b146108095780638e08141f1461083d578063913b385a1461085d57600080fd5b80632e73cddb116102c157806355828c501161025f5780636a6278421161022e5780636a6278421461077257806370a0823114610792578063715018a6146107b2578063738e1496146107ba57600080fd5b806355828c50146106c55780635a50ca65146106f35780635e5a9e301461073d5780636352211e1461075257600080fd5b806342966c681161029b57806342966c681461065a5780634331f6391461067a5780634aa3adb31461069a57806354d1f13d146106bd57600080fd5b80632e73cddb146106075780633dda44b01461062757806342842e0e1461064757600080fd5b806318160ddd1161033957806326dfe8c71161030857806326dfe8c714610566578063277cf99a14610586578063298bb40e146105a65780632a55205a146105bb57600080fd5b806318160ddd146104f857806323b872dd146105365780632569296214610549578063261220a31461055157600080fd5b8063095ea7b311610375578063095ea7b314610438578063098144d41461044d5780630d705df6146104975780631622326a146104d857600080fd5b806301ffc9a71461039c57806306fdde03146103d1578063081812fc146103f3575b600080fd5b3480156103a857600080fd5b506103bc6103b7366004613b82565b610c61565b60405190151581526020015b60405180910390f35b3480156103dd57600080fd5b506103e6610cae565b6040516103c89190613c32565b3480156103ff57600080fd5b5061041361040e366004613c45565b610d60565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103c8565b61044b610446366004613c82565b610db4565b005b34801561045957600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16610413565b3480156104a357600080fd5b50604080517fcaee23ea00000000000000000000000000000000000000000000000000000000815260016020820152016103c8565b3480156104e457600080fd5b5061044b6104f3366004613cf5565b610dc3565b34801561050457600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b6040519081526020016103c8565b61044b610544366004613d41565b610ef0565b61044b611046565b34801561055d57600080fd5b506103e6611096565b34801561057257600080fd5b5061044b610581366004613d7e565b6110be565b34801561059257600080fd5b5061044b6105a1366004613d99565b6111f7565b3480156105b257600080fd5b506103e66113eb565b3480156105c757600080fd5b506105db6105d6366004613dd5565b611413565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016103c8565b34801561061357600080fd5b506103bc610622366004613c45565b611486565b34801561063357600080fd5b5061044b610642366004613dd5565b611490565b61044b610655366004613d41565b61151f565b34801561066657600080fd5b5061044b610675366004613c45565b61154c565b34801561068657600080fd5b5061044b610695366004613e09565b6115b4565b3480156106a657600080fd5b5060025b60405161ffff90911681526020016103c8565b61044b6115c6565b3480156106d157600080fd5b506106e56106e0366004613c45565b611602565b6040516103c8929190613e3c565b3480156106ff57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610413565b34801561074957600080fd5b5061044b61160e565b34801561075e57600080fd5b5061041361076d366004613c45565b61169f565b34801561077e57600080fd5b5061044b61078d366004613d7e565b6116ff565b34801561079e57600080fd5b506105286107ad366004613d7e565b611712565b61044b611762565b3480156107c657600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166103bc565b34801561081557600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610413565b34801561084957600080fd5b5061044b610858366004613c45565b611776565b34801561086957600080fd5b5061044b610878366004613e55565b6117fd565b34801561088957600080fd5b506103e6611891565b34801561089e57600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166103bc565b3480156108d557600080fd5b506103bc610622366004613dd5565b3480156108f057600080fd5b5061044b6108ff366004613eb8565b6118c3565b34801561091057600080fd5b5061044b61091f366004613ee2565b611919565b34801561093057600080fd5b5061044b61093f366004613f43565b6119b0565b34801561095057600080fd5b5061044b61095f366004613d7e565b611a89565b610977610972366004613f85565b611b19565b6040516103c89190613ffc565b34801561099057600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166103bc565b3480156109df57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff166106aa565b61044b610a1936600461407f565b611b38565b348015610a2a57600080fd5b506103e6610a39366004613c45565b611b8c565b348015610a4a57600080fd5b5061044b610a59366004613f43565b611c4d565b348015610a6a57600080fd5b5061044b610a793660046140d1565b611cfa565b348015610a8a57600080fd5b506103e6610a99366004613c45565b611e14565b348015610aaa57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610413565b348015610af457600080fd5b5061044b610b03366004613f43565b612122565b348015610b1457600080fd5b5061044b612265565b348015610b2957600080fd5b506106e56106e0366004613dd5565b348015610b4457600080fd5b506103e66122f6565b348015610b5957600080fd5b506106aa610b68366004613c45565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610ba957600080fd5b506103bc610bb83660046140ec565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610bdf57600080fd5b506103e661251f565b61044b610bf6366004613d7e565b612547565b61044b610c09366004613d7e565b612584565b348015610c1a57600080fd5b50610528610c29366004613d7e565b63389a75e1600c908152600091909152602090205490565b348015610c4d57600080fd5b5061044b610c5c366004613d7e565b6125ab565b6000610c6c8261270d565b80610c7b5750610c7b82612744565b80610c8a5750610c8a826127ba565b80610c995750610c998261285e565b80610ca85750610ca88261288b565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610cdd90614116565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0990614116565b8015610d565780601f10610d2b57610100808354040283529160200191610d56565b820191906000526020600020905b815481529060010190602001808311610d3957829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610daa5763ceea21b66000526004601cfd5b6001015492915050565b610dbf338383612977565b5050565b610dcb612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610e61576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e7c8385836141df565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610eaf929190614342565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610efb838383612a63565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f6f5767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f9d576030600c2054610f9d57634b6e7f186000526004601cfd5b8215610fab57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261100c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611041838383612a6e565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610cd2565b6110c6612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561115c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156112495760018160011c14303b106112405763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061125f61125a6020840184613d7e565b612a79565b61128461126f6080840184614356565b61127f60c0860160a08701613d7e565b612acf565b6112a66112946040840184614356565b6112a16060860186614356565b612b47565b6112ae612b84565b6112ec6112c361012084016101008501613d7e565b6112d5610140850161012086016140d1565b6112e7610160860161014087016140d1565b612bba565b611306611301610180840161016085016143bb565b612cb3565b61132c60006113196101a08501856143d6565b6113276101c08701876143d6565b612d37565b61135261133c60c0840184614356565b61134d610100860160e08701613d7e565b612d97565b61136c6113676101a084016101808501613d7e565b612e36565b600061137e6040840160208501613d7e565b73ffffffffffffffffffffffffffffffffffffffff16146113b3576113b36113ac6040840160208501613d7e565b6000612ee6565b8015610dbf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610cd2565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611447576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610397612fb0565b611498612a2d565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561150357600080fd5b505af4158015611517573d6000803e3d6000fd5b505050505050565b61152a838383610ef0565b813b156110415761104183838360405180602001604052806000815250612fc0565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166115a7576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b13382613044565b50565b6115bc612a2d565b610dbf8282613165565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610397612fb0565b611616612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806116fa5763ceea21b66000526004601cfd5b919050565b611707612a2d565b6115b1816000612ee6565b60008161172757638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61176a612a2d565b611774600061327f565b565b61177e612a2d565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b1580156117e257600080fd5b505af41580156117f6573d6000803e3d6000fd5b5050505050565b611805612a2d565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061185b90879087908790879060040161443e565b60006040518083038186803b15801561187357600080fd5b505af4158015611887573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610cdd90614116565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611921612a2d565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906119799088908890889088908890600401614468565b60006040518083038186803b15801561199157600080fd5b505af41580156119a5573d6000803e3d6000fd5b505050505050505050565b6119b8612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a4e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611a5a8385836141df565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611afd576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b06826132e5565b611b1081836133a5565b610dbf82613447565b60603415611b2657600080fd5b610ca8611b3384846134ed565b613584565b611b43858585610ef0565b833b156117f6576117f685858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fc092505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611bc890614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611bf490614116565b8015611c415780601f10611c1657610100808354040283529160200191611c41565b820191906000526020600020905b815481529060010190602001808311611c2457829003601f168201915b50505050509050919050565b611c55612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611ceb576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611a5a8385836141df565b611d02612a2d565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff90811690831610611d65576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d6d613595565b61ffff168261ffff161015611dae576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020015b60405180910390a15050565b6060611e538260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611e89576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611fac5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611f5f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611fa59190810190614499565b9392505050565b600083815260028201602052604081208054611fc790614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611ff390614116565b80156120405780601f1061201557610100808354040283529160200191612040565b820191906000526020600020905b81548152906001019060200180831161202357829003601f168201915b505050505090508051600014612057579392505050565b8154829061206490614116565b905060000361208457505060408051602081019091526000815292915050565b61211a82600001805461209690614116565b80601f01602080910402602001604051908101604052809291908181526020018280546120c290614116565b801561210f5780601f106120e45761010080835404028352916020019161210f565b820191906000526020600020905b8154815290600101906020018083116120f257829003601f168201915b5050505050856135a4565b949350505050565b61212a612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156121c0576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806121cc8385836141df565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516121fe929190614342565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61226d612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156124125760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156123c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261240c9190810190614499565b91505090565b80600101805461242190614116565b1590506124bb5780600101805461243790614116565b80601f016020809104026020016040519081016040528092919081815260200182805461246390614116565b80156124b05780601f10612485576101008083540402835291602001916124b0565b820191906000526020600020905b81548152906001019060200180831161249357829003601f168201915b505050505091505090565b805481906124c890614116565b90506000036124e557505060408051602081019091526000815290565b806124ef466135ec565b6124f83061364e565b60405160200161250a939291906145a7565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7006118b5565b61254f612a2d565b63389a75e1600c52806000526020600c20805442111561257757636f5e88186000526004601cfd5b600090556115b18161327f565b61258c612a2d565b8060601b6125a257637448fbae6000526004601cfd5b6115b18161327f565b6125b3612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612649576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e08565b600061271882613690565b80610ca85750610ca8826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061276c826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b60006127c582613690565b8061276c57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061286982613690565b80610ca85750632a55205a60e083901c9081146301ffc9a79190911417610ca8565b600061289682613690565b80610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061292d57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ca857507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816129d35763ceea21b66000526004601cfd5b8185148515176129f957816000526030600c20546129f957634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611774576382b429006000526004601cfd5b611041838383613728565b611041838383613860565b73ffffffffffffffffffffffffffffffffffffffff8116612ac6576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b1816138fd565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080612afc8486836141df565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080612b748587836141df565b50600181016115178385836141df565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b612be57f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613961565b61271061ffff82161115612c25576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110418383613165565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180548215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560408051918252517f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39181900360200190a150565b612d3f6139f0565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b169061197990889088908890889088906004016147c6565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080612dc48486836141df565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116612e545750565b612e5d81613a1b565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611b067f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001613961565b612ef260008383612a63565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612f455763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612f7a5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610dbf60008383612a6e565b613a6d80610dbf63ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015613007578060c08401826020870160045afa505b60208360a48301601c860160008a5af161302a573d1561302a573d6000843e3d83fd5b508060e01b8251146115175763d1a57ed66000526004601cfd5b600061304f8261169f565b905061305d81600084612a63565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826130c45763ceea21b66000526004601cfd5b826000528160010154808614848714178615176130f3576030600c20546130f357634b6e7f186000526004601cfd5b801561310157600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a461104181600084612a6e565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156131cc576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613225576131ea600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613233828261ffff16613aa5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613219565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b600061330f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036133785773ffffffffffffffffffffffffffffffffffffffff8116156115b1576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613380612a2d565b73ffffffffffffffffffffffffffffffffffffffff8116156115b1576115b181613a1b565b815473ffffffffffffffffffffffffffffffffffffffff90811690821681036133cd57505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612258565b73ffffffffffffffffffffffffffffffffffffffff81166134655750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b1580156134d457600080fd5b505af19250505080156134e5575060015b156115b15750565b600060405190506020815281816020015280604001808360051b80868437820180851561356c575b835187018035602082018337600038823584305af4613537573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613515575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611fa581612710611413565b6060826135b0466135ec565b6135b93061364e565b6135c2856135ec565b6040516020016135d594939291906147ff565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806136075750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061365982613af5565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061376b5750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806137a2575073ffffffffffffffffffffffffffffffffffffffff8316155b156137ad5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036137d05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561384c57600080fd5b505afa158015611887573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166138b3577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614908565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611041577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614940565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613219565b6117747f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613961565b600063a9b1c2d36000526000386004601c855afa823b151790508015610dbf576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613a9f573d6000fd5b503d6000f35b6bffffffffffffffffffffffff1661271080821115613acc5763350a88b36000526004601cfd5b8260601b80613ae35763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613b35575050919050565b600060208284031215613b9457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611fa557600080fd5b60005b83811015613bdf578181015183820152602001613bc7565b50506000910152565b60008151808452613c00816020860160208601613bc4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611fa56020830184613be8565b600060208284031215613c5757600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146116fa57600080fd5b60008060408385031215613c9557600080fd5b613c9e83613c5e565b946020939093013593505050565b60008083601f840112613cbe57600080fd5b50813567ffffffffffffffff811115613cd657600080fd5b602083019150836020828501011115613cee57600080fd5b9250929050565b600080600060408486031215613d0a57600080fd5b83359250602084013567ffffffffffffffff811115613d2857600080fd5b613d3486828701613cac565b9497909650939450505050565b600080600060608486031215613d5657600080fd5b613d5f84613c5e565b9250613d6d60208501613c5e565b929592945050506040919091013590565b600060208284031215613d9057600080fd5b611fa582613c5e565b600060208284031215613dab57600080fd5b813567ffffffffffffffff811115613dc257600080fd5b82016101e08185031215611fa557600080fd5b60008060408385031215613de857600080fd5b50508035926020909101359150565b803561ffff811681146116fa57600080fd5b60008060408385031215613e1c57600080fd5b613e2583613c5e565b9150613e3360208401613df7565b90509250929050565b82815260406020820152600061211a6040830184613be8565b60008060008060608587031215613e6b57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613e9057600080fd5b613e9c87828801613cac565b95989497509550505050565b803580151581146116fa57600080fd5b60008060408385031215613ecb57600080fd5b613ed483613c5e565b9150613e3360208401613ea8565b600080600080600060808688031215613efa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b613f3288828901613cac565b969995985093965092949392505050565b60008060208385031215613f5657600080fd5b823567ffffffffffffffff811115613f6d57600080fd5b613f7985828601613cac565b90969095509350505050565b60008060208385031215613f9857600080fd5b823567ffffffffffffffff811115613faf57600080fd5b8301601f81018513613fc057600080fd5b803567ffffffffffffffff811115613fd757600080fd5b8560208260051b8401011115613fec57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614073577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261405e858351613be8565b94506020938401939190910190600101614024565b50929695505050505050565b60008060008060006080868803121561409757600080fd5b6140a086613c5e565b94506140ae60208701613c5e565b935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b6000602082840312156140e357600080fd5b611fa582613df7565b600080604083850312156140ff57600080fd5b61410883613c5e565b9150613e3360208401613c5e565b600181811c9082168061412a57607f821691505b602082108103614163577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561104157806000526020600020601f840160051c810160208510156141bf5750805b601f840160051c820191505b818110156117f657600081556001016141cb565b67ffffffffffffffff8311156141f7576141f7614169565b61420b836142058354614116565b83614198565b6000601f84116001811461425d57600085156142275750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556117f6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156142ac578685013582556020948501946001909201910161428c565b50868210156142e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061211a6020830184866142f9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261438b57600080fd5b83018035915067ffffffffffffffff8211156143a657600080fd5b602001915036819003821315613cee57600080fd5b6000602082840312156143cd57600080fd5b611fa582613ea8565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261440b57600080fd5b83018035915067ffffffffffffffff82111561442657600080fd5b6020019150600581901b3603821315613cee57600080fd5b84815283602082015260606040820152600061445e6060830184866142f9565b9695505050505050565b85815284602082015283604082015260806060820152600061448e6080830184866142f9565b979650505050505050565b6000602082840312156144ab57600080fd5b815167ffffffffffffffff8111156144c257600080fd5b8201601f810184136144d357600080fd5b805167ffffffffffffffff8111156144ed576144ed614169565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561455957614559614169565b60405281815282820160200186101561457157600080fd5b614582826020830160208601613bc4565b95945050505050565b6000815161459d818560208601613bc4565b9290920192915050565b60008085546145b581614116565b6001821680156145cc57600181146145ff5761462f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061462f565b88600052602060002060005b838110156146275781548882015260019091019060200161460b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614668816001840160208901613bc4565b01614695600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61445e600282018561458b565b60008383855260208501945060208460051b8201018360005b868110156147ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261471c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261476257600080fd5b0160208101903567ffffffffffffffff81111561477e57600080fd5b80360382131561478d57600080fd5b606060408601526147a26060860182846142f9565b60209a8b019a909550939093019250506001016146bb565b50909695505050505050565b8581526060602082015260006147e06060830186886146a2565b82810360408401526147f38185876146a2565b98975050505050505050565b60008551614811818460208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161484b816001840160208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451614889816002840160208901613bc4565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516148cb816002840160208801613bc4565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614939576149396148d9565b5060010190565b60008161494f5761494f6148d9565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212201c44bea1c2db8336bbe203b35ca2bf5fe5c4bfc0eb8a52570fbe4d7c3fc7e64564736f6c634300081c0033";
|
|
5
|
+
export const oneOfOneImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b614a3880610b9e83390190565b608051610b1061008e6000396000818160c1015281816101300152818161016c015281816101a801526102dd0152610b106000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c60da1b116100505780635c60da1b146100bc5780635c857b3e146100e3578063d3a091911461011657600080fd5b806342495af61461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101066100f1366004610591565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f6101243660046105ac565b610198565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b60006101927f00000000000000000000000000000000000000000000000000000000000000008330610359565b92915050565b60006101a3826103b6565b6101cd7f00000000000000000000000000000000000000000000000000000000000000008361041b565b905061019281846101e6565b6000610192600083610430565b6040517f277cf99a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063277cf99a90610238908490600401610800565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c59150820182610591565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103a08560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506103ad818585610485565b95945050505050565b606081901c80158015906103e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610417576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000610429600084846104a7565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104f25763301164256000526004601cfd5b60006021529392505050565b60006101e0828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b60006020828403121561056657600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105a357600080fd5b6104298261056d565b600080604083850312156105bf57600080fd5b823567ffffffffffffffff8111156105d657600080fd5b6105e2858286016104fe565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107f4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126107a857600080fd5b860180358452602080820135908501526107c560408201826105f1565b9150606060408601526107dc60608601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b6020815261082e602082016108148461056d565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061083c6020840161056d565b73ffffffffffffffffffffffffffffffffffffffff811660408401525061086660408401846105f1565b6101e0606085015261087d6102008501828461065c565b91505061088d60608501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160808601526108c283828461065c565b925050506108d360808501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a086015261090883828461065c565b9250505061091860a0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660c08501525061094260c08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160e086015261097783828461065c565b9250505061098760e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610100850152506109b2610100850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109dd61012085016106a5565b61ffff8116610140850152506109f661014085016106a5565b61ffff811661016085015250610a0f61016085016106b7565b80151561018085015250610a26610180850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101a085015250610a526101a08501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016101c0860152610a8883828461072e565b92505050610a9a6101c08501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016101e0860152610ad083828461072e565b969550505050505056fea264697066735822122064ad115d05d405871e1bf19d19967aeb1233b992a4fbe87b94e3d99d4351703264736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6149ab8061008d6000396000f3fe6080604052600436106103975760003560e01c80638da5cb5b116101dc578063c3e617a211610102578063e8a3d485116100a0578063f04e283e1161006f578063f04e283e14610be8578063f2fde38b14610bfb578063fee81cf414610c0e578063ff87a5f514610c4157600080fd5b8063e8a3d48514610b38578063e8dc3e0914610b4d578063e985e9c514610b9d578063ee748f2c14610bd357600080fd5b8063d50bac33116100dc578063d50bac3314610a9e578063da2bbfc714610ae8578063e1c2ffad14610b08578063e4df18ec14610b1d57600080fd5b8063c3e617a214610a3e578063c83569a914610a5e578063c87b56dd14610a7e57600080fd5b8063a482c9461161017a578063ac998f4511610149578063ac998f4514610984578063b18f004a146109d3578063b88d4fde14610a0b578063bb77e79614610a1e57600080fd5b8063a482c94614610904578063a8cdf07814610924578063a9fc664e14610944578063ac9650d81461096457600080fd5b806395d89b41116101b657806395d89b411461087d578063a07c7ce414610892578063a148d8cf146108c9578063a22cb465146108e457600080fd5b80638da5cb5b146108095780638e08141f1461083d578063913b385a1461085d57600080fd5b80632e73cddb116102c157806355828c501161025f5780636a6278421161022e5780636a6278421461077257806370a0823114610792578063715018a6146107b2578063738e1496146107ba57600080fd5b806355828c50146106c55780635a50ca65146106f35780635e5a9e301461073d5780636352211e1461075257600080fd5b806342966c681161029b57806342966c681461065a5780634331f6391461067a5780634aa3adb31461069a57806354d1f13d146106bd57600080fd5b80632e73cddb146106075780633dda44b01461062757806342842e0e1461064757600080fd5b806318160ddd1161033957806326dfe8c71161030857806326dfe8c714610566578063277cf99a14610586578063298bb40e146105a65780632a55205a146105bb57600080fd5b806318160ddd146104f857806323b872dd146105365780632569296214610549578063261220a31461055157600080fd5b8063095ea7b311610375578063095ea7b314610438578063098144d41461044d5780630d705df6146104975780631622326a146104d857600080fd5b806301ffc9a71461039c57806306fdde03146103d1578063081812fc146103f3575b600080fd5b3480156103a857600080fd5b506103bc6103b7366004613b82565b610c61565b60405190151581526020015b60405180910390f35b3480156103dd57600080fd5b506103e6610cae565b6040516103c89190613c32565b3480156103ff57600080fd5b5061041361040e366004613c45565b610d60565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103c8565b61044b610446366004613c82565b610db4565b005b34801561045957600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16610413565b3480156104a357600080fd5b50604080517fcaee23ea00000000000000000000000000000000000000000000000000000000815260016020820152016103c8565b3480156104e457600080fd5b5061044b6104f3366004613cf5565b610dc3565b34801561050457600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b6040519081526020016103c8565b61044b610544366004613d41565b610ef0565b61044b611046565b34801561055d57600080fd5b506103e6611096565b34801561057257600080fd5b5061044b610581366004613d7e565b6110be565b34801561059257600080fd5b5061044b6105a1366004613d99565b6111f7565b3480156105b257600080fd5b506103e66113eb565b3480156105c757600080fd5b506105db6105d6366004613dd5565b611413565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016103c8565b34801561061357600080fd5b506103bc610622366004613c45565b611486565b34801561063357600080fd5b5061044b610642366004613dd5565b611490565b61044b610655366004613d41565b61151f565b34801561066657600080fd5b5061044b610675366004613c45565b61154c565b34801561068657600080fd5b5061044b610695366004613e09565b6115b4565b3480156106a657600080fd5b5060035b60405161ffff90911681526020016103c8565b61044b6115c6565b3480156106d157600080fd5b506106e56106e0366004613c45565b611602565b6040516103c8929190613e3c565b3480156106ff57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610413565b34801561074957600080fd5b5061044b61160e565b34801561075e57600080fd5b5061041361076d366004613c45565b61169f565b34801561077e57600080fd5b5061044b61078d366004613d7e565b6116ff565b34801561079e57600080fd5b506105286107ad366004613d7e565b611712565b61044b611762565b3480156107c657600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166103bc565b34801561081557600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610413565b34801561084957600080fd5b5061044b610858366004613c45565b611776565b34801561086957600080fd5b5061044b610878366004613e55565b6117fd565b34801561088957600080fd5b506103e6611891565b34801561089e57600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166103bc565b3480156108d557600080fd5b506103bc610622366004613dd5565b3480156108f057600080fd5b5061044b6108ff366004613eb8565b6118c3565b34801561091057600080fd5b5061044b61091f366004613ee2565b611919565b34801561093057600080fd5b5061044b61093f366004613f43565b6119b0565b34801561095057600080fd5b5061044b61095f366004613d7e565b611a89565b610977610972366004613f85565b611b19565b6040516103c89190613ffc565b34801561099057600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166103bc565b3480156109df57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff166106aa565b61044b610a1936600461407f565b611b38565b348015610a2a57600080fd5b506103e6610a39366004613c45565b611b8c565b348015610a4a57600080fd5b5061044b610a59366004613f43565b611c4d565b348015610a6a57600080fd5b5061044b610a793660046140d1565b611cfa565b348015610a8a57600080fd5b506103e6610a99366004613c45565b611e14565b348015610aaa57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610413565b348015610af457600080fd5b5061044b610b03366004613f43565b612122565b348015610b1457600080fd5b5061044b612265565b348015610b2957600080fd5b506106e56106e0366004613dd5565b348015610b4457600080fd5b506103e66122f6565b348015610b5957600080fd5b506106aa610b68366004613c45565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610ba957600080fd5b506103bc610bb83660046140ec565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610bdf57600080fd5b506103e661251f565b61044b610bf6366004613d7e565b612547565b61044b610c09366004613d7e565b612584565b348015610c1a57600080fd5b50610528610c29366004613d7e565b63389a75e1600c908152600091909152602090205490565b348015610c4d57600080fd5b5061044b610c5c366004613d7e565b6125ab565b6000610c6c8261270d565b80610c7b5750610c7b82612744565b80610c8a5750610c8a826127ba565b80610c995750610c998261285e565b80610ca85750610ca88261288b565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610cdd90614116565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0990614116565b8015610d565780601f10610d2b57610100808354040283529160200191610d56565b820191906000526020600020905b815481529060010190602001808311610d3957829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610daa5763ceea21b66000526004601cfd5b6001015492915050565b610dbf338383612977565b5050565b610dcb612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610e61576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e7c8385836141df565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610eaf929190614342565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610efb838383612a63565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f6f5767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f9d576030600c2054610f9d57634b6e7f186000526004601cfd5b8215610fab57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261100c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611041838383612a6e565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610cd2565b6110c6612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561115c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156112495760018160011c14303b106112405763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061125f61125a6020840184613d7e565b612a79565b61128461126f6080840184614356565b61127f60c0860160a08701613d7e565b612acf565b6112a66112946040840184614356565b6112a16060860186614356565b612b47565b6112ae612b84565b6112ec6112c361012084016101008501613d7e565b6112d5610140850161012086016140d1565b6112e7610160860161014087016140d1565b612bba565b611306611301610180840161016085016143bb565b612cb3565b61132c60006113196101a08501856143d6565b6113276101c08701876143d6565b612d37565b61135261133c60c0840184614356565b61134d610100860160e08701613d7e565b612d97565b61136c6113676101a084016101808501613d7e565b612e36565b600061137e6040840160208501613d7e565b73ffffffffffffffffffffffffffffffffffffffff16146113b3576113b36113ac6040840160208501613d7e565b6000612ee6565b8015610dbf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610cd2565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611447576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610397612fb0565b611498612a2d565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561150357600080fd5b505af4158015611517573d6000803e3d6000fd5b505050505050565b61152a838383610ef0565b813b156110415761104183838360405180602001604052806000815250612fc0565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166115a7576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b13382613044565b50565b6115bc612a2d565b610dbf8282613165565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610397612fb0565b611616612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806116fa5763ceea21b66000526004601cfd5b919050565b611707612a2d565b6115b1816000612ee6565b60008161172757638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61176a612a2d565b611774600061327f565b565b61177e612a2d565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b1580156117e257600080fd5b505af41580156117f6573d6000803e3d6000fd5b5050505050565b611805612a2d565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061185b90879087908790879060040161443e565b60006040518083038186803b15801561187357600080fd5b505af4158015611887573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610cdd90614116565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611921612a2d565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906119799088908890889088908890600401614468565b60006040518083038186803b15801561199157600080fd5b505af41580156119a5573d6000803e3d6000fd5b505050505050505050565b6119b8612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a4e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611a5a8385836141df565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611afd576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b06826132e5565b611b1081836133a5565b610dbf82613447565b60603415611b2657600080fd5b610ca8611b3384846134ed565b613584565b611b43858585610ef0565b833b156117f6576117f685858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fc092505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611bc890614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611bf490614116565b8015611c415780601f10611c1657610100808354040283529160200191611c41565b820191906000526020600020905b815481529060010190602001808311611c2457829003601f168201915b50505050509050919050565b611c55612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611ceb576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611a5a8385836141df565b611d02612a2d565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff90811690831610611d65576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d6d613595565b61ffff168261ffff161015611dae576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020015b60405180910390a15050565b6060611e538260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611e89576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611fac5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611f5f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611fa59190810190614499565b9392505050565b600083815260028201602052604081208054611fc790614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611ff390614116565b80156120405780601f1061201557610100808354040283529160200191612040565b820191906000526020600020905b81548152906001019060200180831161202357829003601f168201915b505050505090508051600014612057579392505050565b8154829061206490614116565b905060000361208457505060408051602081019091526000815292915050565b61211a82600001805461209690614116565b80601f01602080910402602001604051908101604052809291908181526020018280546120c290614116565b801561210f5780601f106120e45761010080835404028352916020019161210f565b820191906000526020600020905b8154815290600101906020018083116120f257829003601f168201915b5050505050856135a4565b949350505050565b61212a612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156121c0576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806121cc8385836141df565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516121fe929190614342565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61226d612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156124125760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156123c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261240c9190810190614499565b91505090565b80600101805461242190614116565b1590506124bb5780600101805461243790614116565b80601f016020809104026020016040519081016040528092919081815260200182805461246390614116565b80156124b05780601f10612485576101008083540402835291602001916124b0565b820191906000526020600020905b81548152906001019060200180831161249357829003601f168201915b505050505091505090565b805481906124c890614116565b90506000036124e557505060408051602081019091526000815290565b806124ef466135ec565b6124f83061364e565b60405160200161250a939291906145a7565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7006118b5565b61254f612a2d565b63389a75e1600c52806000526020600c20805442111561257757636f5e88186000526004601cfd5b600090556115b18161327f565b61258c612a2d565b8060601b6125a257637448fbae6000526004601cfd5b6115b18161327f565b6125b3612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612649576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e08565b600061271882613690565b80610ca85750610ca8826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061276c826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b60006127c582613690565b8061276c57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061286982613690565b80610ca85750632a55205a60e083901c9081146301ffc9a79190911417610ca8565b600061289682613690565b80610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061292d57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ca857507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816129d35763ceea21b66000526004601cfd5b8185148515176129f957816000526030600c20546129f957634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611774576382b429006000526004601cfd5b611041838383613728565b611041838383613860565b73ffffffffffffffffffffffffffffffffffffffff8116612ac6576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b1816138fd565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080612afc8486836141df565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080612b748587836141df565b50600181016115178385836141df565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b612be57f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613961565b61271061ffff82161115612c25576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110418383613165565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180548215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560408051918252517f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39181900360200190a150565b612d3f6139f0565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b169061197990889088908890889088906004016147c6565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080612dc48486836141df565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116612e545750565b612e5d81613a1b565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611b067f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001613961565b612ef260008383612a63565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612f455763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612f7a5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610dbf60008383612a6e565b613a6d80610dbf63ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015613007578060c08401826020870160045afa505b60208360a48301601c860160008a5af161302a573d1561302a573d6000843e3d83fd5b508060e01b8251146115175763d1a57ed66000526004601cfd5b600061304f8261169f565b905061305d81600084612a63565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826130c45763ceea21b66000526004601cfd5b826000528160010154808614848714178615176130f3576030600c20546130f357634b6e7f186000526004601cfd5b801561310157600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a461104181600084612a6e565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156131cc576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613225576131ea600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613233828261ffff16613aa5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613219565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b600061330f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036133785773ffffffffffffffffffffffffffffffffffffffff8116156115b1576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613380612a2d565b73ffffffffffffffffffffffffffffffffffffffff8116156115b1576115b181613a1b565b815473ffffffffffffffffffffffffffffffffffffffff90811690821681036133cd57505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612258565b73ffffffffffffffffffffffffffffffffffffffff81166134655750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b1580156134d457600080fd5b505af19250505080156134e5575060015b156115b15750565b600060405190506020815281816020015280604001808360051b80868437820180851561356c575b835187018035602082018337600038823584305af4613537573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613515575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611fa581612710611413565b6060826135b0466135ec565b6135b93061364e565b6135c2856135ec565b6040516020016135d594939291906147ff565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806136075750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061365982613af5565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061376b5750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806137a2575073ffffffffffffffffffffffffffffffffffffffff8316155b156137ad5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036137d05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561384c57600080fd5b505afa158015611887573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166138b3577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614908565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611041577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614940565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613219565b6117747f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613961565b600063a9b1c2d36000526000386004601c855afa823b151790508015610dbf576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613a9f573d6000fd5b503d6000f35b6bffffffffffffffffffffffff1661271080821115613acc5763350a88b36000526004601cfd5b8260601b80613ae35763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613b35575050919050565b600060208284031215613b9457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611fa557600080fd5b60005b83811015613bdf578181015183820152602001613bc7565b50506000910152565b60008151808452613c00816020860160208601613bc4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611fa56020830184613be8565b600060208284031215613c5757600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146116fa57600080fd5b60008060408385031215613c9557600080fd5b613c9e83613c5e565b946020939093013593505050565b60008083601f840112613cbe57600080fd5b50813567ffffffffffffffff811115613cd657600080fd5b602083019150836020828501011115613cee57600080fd5b9250929050565b600080600060408486031215613d0a57600080fd5b83359250602084013567ffffffffffffffff811115613d2857600080fd5b613d3486828701613cac565b9497909650939450505050565b600080600060608486031215613d5657600080fd5b613d5f84613c5e565b9250613d6d60208501613c5e565b929592945050506040919091013590565b600060208284031215613d9057600080fd5b611fa582613c5e565b600060208284031215613dab57600080fd5b813567ffffffffffffffff811115613dc257600080fd5b82016101e08185031215611fa557600080fd5b60008060408385031215613de857600080fd5b50508035926020909101359150565b803561ffff811681146116fa57600080fd5b60008060408385031215613e1c57600080fd5b613e2583613c5e565b9150613e3360208401613df7565b90509250929050565b82815260406020820152600061211a6040830184613be8565b60008060008060608587031215613e6b57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613e9057600080fd5b613e9c87828801613cac565b95989497509550505050565b803580151581146116fa57600080fd5b60008060408385031215613ecb57600080fd5b613ed483613c5e565b9150613e3360208401613ea8565b600080600080600060808688031215613efa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b613f3288828901613cac565b969995985093965092949392505050565b60008060208385031215613f5657600080fd5b823567ffffffffffffffff811115613f6d57600080fd5b613f7985828601613cac565b90969095509350505050565b60008060208385031215613f9857600080fd5b823567ffffffffffffffff811115613faf57600080fd5b8301601f81018513613fc057600080fd5b803567ffffffffffffffff811115613fd757600080fd5b8560208260051b8401011115613fec57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614073577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261405e858351613be8565b94506020938401939190910190600101614024565b50929695505050505050565b60008060008060006080868803121561409757600080fd5b6140a086613c5e565b94506140ae60208701613c5e565b935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b6000602082840312156140e357600080fd5b611fa582613df7565b600080604083850312156140ff57600080fd5b61410883613c5e565b9150613e3360208401613c5e565b600181811c9082168061412a57607f821691505b602082108103614163577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561104157806000526020600020601f840160051c810160208510156141bf5750805b601f840160051c820191505b818110156117f657600081556001016141cb565b67ffffffffffffffff8311156141f7576141f7614169565b61420b836142058354614116565b83614198565b6000601f84116001811461425d57600085156142275750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556117f6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156142ac578685013582556020948501946001909201910161428c565b50868210156142e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061211a6020830184866142f9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261438b57600080fd5b83018035915067ffffffffffffffff8211156143a657600080fd5b602001915036819003821315613cee57600080fd5b6000602082840312156143cd57600080fd5b611fa582613ea8565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261440b57600080fd5b83018035915067ffffffffffffffff82111561442657600080fd5b6020019150600581901b3603821315613cee57600080fd5b84815283602082015260606040820152600061445e6060830184866142f9565b9695505050505050565b85815284602082015283604082015260806060820152600061448e6080830184866142f9565b979650505050505050565b6000602082840312156144ab57600080fd5b815167ffffffffffffffff8111156144c257600080fd5b8201601f810184136144d357600080fd5b805167ffffffffffffffff8111156144ed576144ed614169565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561455957614559614169565b60405281815282820160200186101561457157600080fd5b614582826020830160208601613bc4565b95945050505050565b6000815161459d818560208601613bc4565b9290920192915050565b60008085546145b581614116565b6001821680156145cc57600181146145ff5761462f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061462f565b88600052602060002060005b838110156146275781548882015260019091019060200161460b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614668816001840160208901613bc4565b01614695600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61445e600282018561458b565b60008383855260208501945060208460051b8201018360005b868110156147ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261471c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261476257600080fd5b0160208101903567ffffffffffffffff81111561477e57600080fd5b80360382131561478d57600080fd5b606060408601526147a26060860182846142f9565b60209a8b019a909550939093019250506001016146bb565b50909695505050505050565b8581526060602082015260006147e06060830186886146a2565b82810360408401526147f38185876146a2565b98975050505050505050565b60008551614811818460208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161484b816001840160208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451614889816002840160208901613bc4565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516148cb816002840160208801613bc4565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614939576149396148d9565b5060010190565b60008161494f5761494f6148d9565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220e489c04f42cdd560c0663a4b207ae0d0f6a020f87d2960e770fa0985a5cccac264736f6c634300081c0033";
|
|
6
6
|
export const oneOfOneImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct OneOfOneImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
|
|
7
|
-
export const oneOfOneImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6149ab8061008d6000396000f3fe6080604052600436106103975760003560e01c80638da5cb5b116101dc578063c3e617a211610102578063e8a3d485116100a0578063f04e283e1161006f578063f04e283e14610be8578063f2fde38b14610bfb578063fee81cf414610c0e578063ff87a5f514610c4157600080fd5b8063e8a3d48514610b38578063e8dc3e0914610b4d578063e985e9c514610b9d578063ee748f2c14610bd357600080fd5b8063d50bac33116100dc578063d50bac3314610a9e578063da2bbfc714610ae8578063e1c2ffad14610b08578063e4df18ec14610b1d57600080fd5b8063c3e617a214610a3e578063c83569a914610a5e578063c87b56dd14610a7e57600080fd5b8063a482c9461161017a578063ac998f4511610149578063ac998f4514610984578063b18f004a146109d3578063b88d4fde14610a0b578063bb77e79614610a1e57600080fd5b8063a482c94614610904578063a8cdf07814610924578063a9fc664e14610944578063ac9650d81461096457600080fd5b806395d89b41116101b657806395d89b411461087d578063a07c7ce414610892578063a148d8cf146108c9578063a22cb465146108e457600080fd5b80638da5cb5b146108095780638e08141f1461083d578063913b385a1461085d57600080fd5b80632e73cddb116102c157806355828c501161025f5780636a6278421161022e5780636a6278421461077257806370a0823114610792578063715018a6146107b2578063738e1496146107ba57600080fd5b806355828c50146106c55780635a50ca65146106f35780635e5a9e301461073d5780636352211e1461075257600080fd5b806342966c681161029b57806342966c681461065a5780634331f6391461067a5780634aa3adb31461069a57806354d1f13d146106bd57600080fd5b80632e73cddb146106075780633dda44b01461062757806342842e0e1461064757600080fd5b806318160ddd1161033957806326dfe8c71161030857806326dfe8c714610566578063277cf99a14610586578063298bb40e146105a65780632a55205a146105bb57600080fd5b806318160ddd146104f857806323b872dd146105365780632569296214610549578063261220a31461055157600080fd5b8063095ea7b311610375578063095ea7b314610438578063098144d41461044d5780630d705df6146104975780631622326a146104d857600080fd5b806301ffc9a71461039c57806306fdde03146103d1578063081812fc146103f3575b600080fd5b3480156103a857600080fd5b506103bc6103b7366004613b82565b610c61565b60405190151581526020015b60405180910390f35b3480156103dd57600080fd5b506103e6610cae565b6040516103c89190613c32565b3480156103ff57600080fd5b5061041361040e366004613c45565b610d60565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103c8565b61044b610446366004613c82565b610db4565b005b34801561045957600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16610413565b3480156104a357600080fd5b50604080517fcaee23ea00000000000000000000000000000000000000000000000000000000815260016020820152016103c8565b3480156104e457600080fd5b5061044b6104f3366004613cf5565b610dc3565b34801561050457600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b6040519081526020016103c8565b61044b610544366004613d41565b610ef0565b61044b611046565b34801561055d57600080fd5b506103e6611096565b34801561057257600080fd5b5061044b610581366004613d7e565b6110be565b34801561059257600080fd5b5061044b6105a1366004613d99565b6111f7565b3480156105b257600080fd5b506103e66113eb565b3480156105c757600080fd5b506105db6105d6366004613dd5565b611413565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016103c8565b34801561061357600080fd5b506103bc610622366004613c45565b611486565b34801561063357600080fd5b5061044b610642366004613dd5565b611490565b61044b610655366004613d41565b61151f565b34801561066657600080fd5b5061044b610675366004613c45565b61154c565b34801561068657600080fd5b5061044b610695366004613e09565b6115b4565b3480156106a657600080fd5b5060025b60405161ffff90911681526020016103c8565b61044b6115c6565b3480156106d157600080fd5b506106e56106e0366004613c45565b611602565b6040516103c8929190613e3c565b3480156106ff57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610413565b34801561074957600080fd5b5061044b61160e565b34801561075e57600080fd5b5061041361076d366004613c45565b61169f565b34801561077e57600080fd5b5061044b61078d366004613d7e565b6116ff565b34801561079e57600080fd5b506105286107ad366004613d7e565b611712565b61044b611762565b3480156107c657600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166103bc565b34801561081557600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610413565b34801561084957600080fd5b5061044b610858366004613c45565b611776565b34801561086957600080fd5b5061044b610878366004613e55565b6117fd565b34801561088957600080fd5b506103e6611891565b34801561089e57600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166103bc565b3480156108d557600080fd5b506103bc610622366004613dd5565b3480156108f057600080fd5b5061044b6108ff366004613eb8565b6118c3565b34801561091057600080fd5b5061044b61091f366004613ee2565b611919565b34801561093057600080fd5b5061044b61093f366004613f43565b6119b0565b34801561095057600080fd5b5061044b61095f366004613d7e565b611a89565b610977610972366004613f85565b611b19565b6040516103c89190613ffc565b34801561099057600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166103bc565b3480156109df57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff166106aa565b61044b610a1936600461407f565b611b38565b348015610a2a57600080fd5b506103e6610a39366004613c45565b611b8c565b348015610a4a57600080fd5b5061044b610a59366004613f43565b611c4d565b348015610a6a57600080fd5b5061044b610a793660046140d1565b611cfa565b348015610a8a57600080fd5b506103e6610a99366004613c45565b611e14565b348015610aaa57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610413565b348015610af457600080fd5b5061044b610b03366004613f43565b612122565b348015610b1457600080fd5b5061044b612265565b348015610b2957600080fd5b506106e56106e0366004613dd5565b348015610b4457600080fd5b506103e66122f6565b348015610b5957600080fd5b506106aa610b68366004613c45565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610ba957600080fd5b506103bc610bb83660046140ec565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610bdf57600080fd5b506103e661251f565b61044b610bf6366004613d7e565b612547565b61044b610c09366004613d7e565b612584565b348015610c1a57600080fd5b50610528610c29366004613d7e565b63389a75e1600c908152600091909152602090205490565b348015610c4d57600080fd5b5061044b610c5c366004613d7e565b6125ab565b6000610c6c8261270d565b80610c7b5750610c7b82612744565b80610c8a5750610c8a826127ba565b80610c995750610c998261285e565b80610ca85750610ca88261288b565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610cdd90614116565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0990614116565b8015610d565780601f10610d2b57610100808354040283529160200191610d56565b820191906000526020600020905b815481529060010190602001808311610d3957829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610daa5763ceea21b66000526004601cfd5b6001015492915050565b610dbf338383612977565b5050565b610dcb612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610e61576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e7c8385836141df565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610eaf929190614342565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610efb838383612a63565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f6f5767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f9d576030600c2054610f9d57634b6e7f186000526004601cfd5b8215610fab57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261100c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611041838383612a6e565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610cd2565b6110c6612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561115c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156112495760018160011c14303b106112405763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061125f61125a6020840184613d7e565b612a79565b61128461126f6080840184614356565b61127f60c0860160a08701613d7e565b612acf565b6112a66112946040840184614356565b6112a16060860186614356565b612b47565b6112ae612b84565b6112ec6112c361012084016101008501613d7e565b6112d5610140850161012086016140d1565b6112e7610160860161014087016140d1565b612bba565b611306611301610180840161016085016143bb565b612cb3565b61132c60006113196101a08501856143d6565b6113276101c08701876143d6565b612d37565b61135261133c60c0840184614356565b61134d610100860160e08701613d7e565b612d97565b61136c6113676101a084016101808501613d7e565b612e36565b600061137e6040840160208501613d7e565b73ffffffffffffffffffffffffffffffffffffffff16146113b3576113b36113ac6040840160208501613d7e565b6000612ee6565b8015610dbf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610cd2565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611447576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610397612fb0565b611498612a2d565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561150357600080fd5b505af4158015611517573d6000803e3d6000fd5b505050505050565b61152a838383610ef0565b813b156110415761104183838360405180602001604052806000815250612fc0565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166115a7576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b13382613044565b50565b6115bc612a2d565b610dbf8282613165565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610397612fb0565b611616612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806116fa5763ceea21b66000526004601cfd5b919050565b611707612a2d565b6115b1816000612ee6565b60008161172757638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61176a612a2d565b611774600061327f565b565b61177e612a2d565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b1580156117e257600080fd5b505af41580156117f6573d6000803e3d6000fd5b5050505050565b611805612a2d565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061185b90879087908790879060040161443e565b60006040518083038186803b15801561187357600080fd5b505af4158015611887573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610cdd90614116565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611921612a2d565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906119799088908890889088908890600401614468565b60006040518083038186803b15801561199157600080fd5b505af41580156119a5573d6000803e3d6000fd5b505050505050505050565b6119b8612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a4e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611a5a8385836141df565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611afd576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b06826132e5565b611b1081836133a5565b610dbf82613447565b60603415611b2657600080fd5b610ca8611b3384846134ed565b613584565b611b43858585610ef0565b833b156117f6576117f685858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fc092505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611bc890614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611bf490614116565b8015611c415780601f10611c1657610100808354040283529160200191611c41565b820191906000526020600020905b815481529060010190602001808311611c2457829003601f168201915b50505050509050919050565b611c55612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611ceb576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611a5a8385836141df565b611d02612a2d565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff90811690831610611d65576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d6d613595565b61ffff168261ffff161015611dae576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020015b60405180910390a15050565b6060611e538260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611e89576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611fac5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611f5f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611fa59190810190614499565b9392505050565b600083815260028201602052604081208054611fc790614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611ff390614116565b80156120405780601f1061201557610100808354040283529160200191612040565b820191906000526020600020905b81548152906001019060200180831161202357829003601f168201915b505050505090508051600014612057579392505050565b8154829061206490614116565b905060000361208457505060408051602081019091526000815292915050565b61211a82600001805461209690614116565b80601f01602080910402602001604051908101604052809291908181526020018280546120c290614116565b801561210f5780601f106120e45761010080835404028352916020019161210f565b820191906000526020600020905b8154815290600101906020018083116120f257829003601f168201915b5050505050856135a4565b949350505050565b61212a612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156121c0576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806121cc8385836141df565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516121fe929190614342565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61226d612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156124125760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156123c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261240c9190810190614499565b91505090565b80600101805461242190614116565b1590506124bb5780600101805461243790614116565b80601f016020809104026020016040519081016040528092919081815260200182805461246390614116565b80156124b05780601f10612485576101008083540402835291602001916124b0565b820191906000526020600020905b81548152906001019060200180831161249357829003601f168201915b505050505091505090565b805481906124c890614116565b90506000036124e557505060408051602081019091526000815290565b806124ef466135ec565b6124f83061364e565b60405160200161250a939291906145a7565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7006118b5565b61254f612a2d565b63389a75e1600c52806000526020600c20805442111561257757636f5e88186000526004601cfd5b600090556115b18161327f565b61258c612a2d565b8060601b6125a257637448fbae6000526004601cfd5b6115b18161327f565b6125b3612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612649576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e08565b600061271882613690565b80610ca85750610ca8826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061276c826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b60006127c582613690565b8061276c57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061286982613690565b80610ca85750632a55205a60e083901c9081146301ffc9a79190911417610ca8565b600061289682613690565b80610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061292d57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ca857507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816129d35763ceea21b66000526004601cfd5b8185148515176129f957816000526030600c20546129f957634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611774576382b429006000526004601cfd5b611041838383613728565b611041838383613860565b73ffffffffffffffffffffffffffffffffffffffff8116612ac6576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b1816138fd565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080612afc8486836141df565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080612b748587836141df565b50600181016115178385836141df565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b612be57f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613961565b61271061ffff82161115612c25576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110418383613165565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180548215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560408051918252517f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39181900360200190a150565b612d3f6139f0565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b169061197990889088908890889088906004016147c6565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080612dc48486836141df565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116612e545750565b612e5d81613a1b565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611b067f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001613961565b612ef260008383612a63565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612f455763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612f7a5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610dbf60008383612a6e565b613a6d80610dbf63ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015613007578060c08401826020870160045afa505b60208360a48301601c860160008a5af161302a573d1561302a573d6000843e3d83fd5b508060e01b8251146115175763d1a57ed66000526004601cfd5b600061304f8261169f565b905061305d81600084612a63565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826130c45763ceea21b66000526004601cfd5b826000528160010154808614848714178615176130f3576030600c20546130f357634b6e7f186000526004601cfd5b801561310157600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a461104181600084612a6e565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156131cc576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613225576131ea600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613233828261ffff16613aa5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613219565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b600061330f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036133785773ffffffffffffffffffffffffffffffffffffffff8116156115b1576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613380612a2d565b73ffffffffffffffffffffffffffffffffffffffff8116156115b1576115b181613a1b565b815473ffffffffffffffffffffffffffffffffffffffff90811690821681036133cd57505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612258565b73ffffffffffffffffffffffffffffffffffffffff81166134655750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b1580156134d457600080fd5b505af19250505080156134e5575060015b156115b15750565b600060405190506020815281816020015280604001808360051b80868437820180851561356c575b835187018035602082018337600038823584305af4613537573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613515575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611fa581612710611413565b6060826135b0466135ec565b6135b93061364e565b6135c2856135ec565b6040516020016135d594939291906147ff565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806136075750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061365982613af5565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061376b5750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806137a2575073ffffffffffffffffffffffffffffffffffffffff8316155b156137ad5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036137d05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561384c57600080fd5b505afa158015611887573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166138b3577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614908565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611041577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614940565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613219565b6117747f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613961565b600063a9b1c2d36000526000386004601c855afa823b151790508015610dbf576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613a9f573d6000fd5b503d6000f35b6bffffffffffffffffffffffff1661271080821115613acc5763350a88b36000526004601cfd5b8260601b80613ae35763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613b35575050919050565b600060208284031215613b9457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611fa557600080fd5b60005b83811015613bdf578181015183820152602001613bc7565b50506000910152565b60008151808452613c00816020860160208601613bc4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611fa56020830184613be8565b600060208284031215613c5757600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146116fa57600080fd5b60008060408385031215613c9557600080fd5b613c9e83613c5e565b946020939093013593505050565b60008083601f840112613cbe57600080fd5b50813567ffffffffffffffff811115613cd657600080fd5b602083019150836020828501011115613cee57600080fd5b9250929050565b600080600060408486031215613d0a57600080fd5b83359250602084013567ffffffffffffffff811115613d2857600080fd5b613d3486828701613cac565b9497909650939450505050565b600080600060608486031215613d5657600080fd5b613d5f84613c5e565b9250613d6d60208501613c5e565b929592945050506040919091013590565b600060208284031215613d9057600080fd5b611fa582613c5e565b600060208284031215613dab57600080fd5b813567ffffffffffffffff811115613dc257600080fd5b82016101e08185031215611fa557600080fd5b60008060408385031215613de857600080fd5b50508035926020909101359150565b803561ffff811681146116fa57600080fd5b60008060408385031215613e1c57600080fd5b613e2583613c5e565b9150613e3360208401613df7565b90509250929050565b82815260406020820152600061211a6040830184613be8565b60008060008060608587031215613e6b57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613e9057600080fd5b613e9c87828801613cac565b95989497509550505050565b803580151581146116fa57600080fd5b60008060408385031215613ecb57600080fd5b613ed483613c5e565b9150613e3360208401613ea8565b600080600080600060808688031215613efa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b613f3288828901613cac565b969995985093965092949392505050565b60008060208385031215613f5657600080fd5b823567ffffffffffffffff811115613f6d57600080fd5b613f7985828601613cac565b90969095509350505050565b60008060208385031215613f9857600080fd5b823567ffffffffffffffff811115613faf57600080fd5b8301601f81018513613fc057600080fd5b803567ffffffffffffffff811115613fd757600080fd5b8560208260051b8401011115613fec57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614073577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261405e858351613be8565b94506020938401939190910190600101614024565b50929695505050505050565b60008060008060006080868803121561409757600080fd5b6140a086613c5e565b94506140ae60208701613c5e565b935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b6000602082840312156140e357600080fd5b611fa582613df7565b600080604083850312156140ff57600080fd5b61410883613c5e565b9150613e3360208401613c5e565b600181811c9082168061412a57607f821691505b602082108103614163577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561104157806000526020600020601f840160051c810160208510156141bf5750805b601f840160051c820191505b818110156117f657600081556001016141cb565b67ffffffffffffffff8311156141f7576141f7614169565b61420b836142058354614116565b83614198565b6000601f84116001811461425d57600085156142275750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556117f6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156142ac578685013582556020948501946001909201910161428c565b50868210156142e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061211a6020830184866142f9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261438b57600080fd5b83018035915067ffffffffffffffff8211156143a657600080fd5b602001915036819003821315613cee57600080fd5b6000602082840312156143cd57600080fd5b611fa582613ea8565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261440b57600080fd5b83018035915067ffffffffffffffff82111561442657600080fd5b6020019150600581901b3603821315613cee57600080fd5b84815283602082015260606040820152600061445e6060830184866142f9565b9695505050505050565b85815284602082015283604082015260806060820152600061448e6080830184866142f9565b979650505050505050565b6000602082840312156144ab57600080fd5b815167ffffffffffffffff8111156144c257600080fd5b8201601f810184136144d357600080fd5b805167ffffffffffffffff8111156144ed576144ed614169565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561455957614559614169565b60405281815282820160200186101561457157600080fd5b614582826020830160208601613bc4565b95945050505050565b6000815161459d818560208601613bc4565b9290920192915050565b60008085546145b581614116565b6001821680156145cc57600181146145ff5761462f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061462f565b88600052602060002060005b838110156146275781548882015260019091019060200161460b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614668816001840160208901613bc4565b01614695600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61445e600282018561458b565b60008383855260208501945060208460051b8201018360005b868110156147ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261471c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261476257600080fd5b0160208101903567ffffffffffffffff81111561477e57600080fd5b80360382131561478d57600080fd5b606060408601526147a26060860182846142f9565b60209a8b019a909550939093019250506001016146bb565b50909695505050505050565b8581526060602082015260006147e06060830186886146a2565b82810360408401526147f38185876146a2565b98975050505050505050565b60008551614811818460208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161484b816001840160208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451614889816002840160208901613bc4565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516148cb816002840160208801613bc4565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614939576149396148d9565b5060010190565b60008161494f5761494f6148d9565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212201c44bea1c2db8336bbe203b35ca2bf5fe5c4bfc0eb8a52570fbe4d7c3fc7e64564736f6c634300081c0033";
|
|
7
|
+
export const oneOfOneImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6149ab8061008d6000396000f3fe6080604052600436106103975760003560e01c80638da5cb5b116101dc578063c3e617a211610102578063e8a3d485116100a0578063f04e283e1161006f578063f04e283e14610be8578063f2fde38b14610bfb578063fee81cf414610c0e578063ff87a5f514610c4157600080fd5b8063e8a3d48514610b38578063e8dc3e0914610b4d578063e985e9c514610b9d578063ee748f2c14610bd357600080fd5b8063d50bac33116100dc578063d50bac3314610a9e578063da2bbfc714610ae8578063e1c2ffad14610b08578063e4df18ec14610b1d57600080fd5b8063c3e617a214610a3e578063c83569a914610a5e578063c87b56dd14610a7e57600080fd5b8063a482c9461161017a578063ac998f4511610149578063ac998f4514610984578063b18f004a146109d3578063b88d4fde14610a0b578063bb77e79614610a1e57600080fd5b8063a482c94614610904578063a8cdf07814610924578063a9fc664e14610944578063ac9650d81461096457600080fd5b806395d89b41116101b657806395d89b411461087d578063a07c7ce414610892578063a148d8cf146108c9578063a22cb465146108e457600080fd5b80638da5cb5b146108095780638e08141f1461083d578063913b385a1461085d57600080fd5b80632e73cddb116102c157806355828c501161025f5780636a6278421161022e5780636a6278421461077257806370a0823114610792578063715018a6146107b2578063738e1496146107ba57600080fd5b806355828c50146106c55780635a50ca65146106f35780635e5a9e301461073d5780636352211e1461075257600080fd5b806342966c681161029b57806342966c681461065a5780634331f6391461067a5780634aa3adb31461069a57806354d1f13d146106bd57600080fd5b80632e73cddb146106075780633dda44b01461062757806342842e0e1461064757600080fd5b806318160ddd1161033957806326dfe8c71161030857806326dfe8c714610566578063277cf99a14610586578063298bb40e146105a65780632a55205a146105bb57600080fd5b806318160ddd146104f857806323b872dd146105365780632569296214610549578063261220a31461055157600080fd5b8063095ea7b311610375578063095ea7b314610438578063098144d41461044d5780630d705df6146104975780631622326a146104d857600080fd5b806301ffc9a71461039c57806306fdde03146103d1578063081812fc146103f3575b600080fd5b3480156103a857600080fd5b506103bc6103b7366004613b82565b610c61565b60405190151581526020015b60405180910390f35b3480156103dd57600080fd5b506103e6610cae565b6040516103c89190613c32565b3480156103ff57600080fd5b5061041361040e366004613c45565b610d60565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103c8565b61044b610446366004613c82565b610db4565b005b34801561045957600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16610413565b3480156104a357600080fd5b50604080517fcaee23ea00000000000000000000000000000000000000000000000000000000815260016020820152016103c8565b3480156104e457600080fd5b5061044b6104f3366004613cf5565b610dc3565b34801561050457600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b6040519081526020016103c8565b61044b610544366004613d41565b610ef0565b61044b611046565b34801561055d57600080fd5b506103e6611096565b34801561057257600080fd5b5061044b610581366004613d7e565b6110be565b34801561059257600080fd5b5061044b6105a1366004613d99565b6111f7565b3480156105b257600080fd5b506103e66113eb565b3480156105c757600080fd5b506105db6105d6366004613dd5565b611413565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016103c8565b34801561061357600080fd5b506103bc610622366004613c45565b611486565b34801561063357600080fd5b5061044b610642366004613dd5565b611490565b61044b610655366004613d41565b61151f565b34801561066657600080fd5b5061044b610675366004613c45565b61154c565b34801561068657600080fd5b5061044b610695366004613e09565b6115b4565b3480156106a657600080fd5b5060035b60405161ffff90911681526020016103c8565b61044b6115c6565b3480156106d157600080fd5b506106e56106e0366004613c45565b611602565b6040516103c8929190613e3c565b3480156106ff57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610413565b34801561074957600080fd5b5061044b61160e565b34801561075e57600080fd5b5061041361076d366004613c45565b61169f565b34801561077e57600080fd5b5061044b61078d366004613d7e565b6116ff565b34801561079e57600080fd5b506105286107ad366004613d7e565b611712565b61044b611762565b3480156107c657600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166103bc565b34801561081557600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610413565b34801561084957600080fd5b5061044b610858366004613c45565b611776565b34801561086957600080fd5b5061044b610878366004613e55565b6117fd565b34801561088957600080fd5b506103e6611891565b34801561089e57600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166103bc565b3480156108d557600080fd5b506103bc610622366004613dd5565b3480156108f057600080fd5b5061044b6108ff366004613eb8565b6118c3565b34801561091057600080fd5b5061044b61091f366004613ee2565b611919565b34801561093057600080fd5b5061044b61093f366004613f43565b6119b0565b34801561095057600080fd5b5061044b61095f366004613d7e565b611a89565b610977610972366004613f85565b611b19565b6040516103c89190613ffc565b34801561099057600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166103bc565b3480156109df57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff166106aa565b61044b610a1936600461407f565b611b38565b348015610a2a57600080fd5b506103e6610a39366004613c45565b611b8c565b348015610a4a57600080fd5b5061044b610a59366004613f43565b611c4d565b348015610a6a57600080fd5b5061044b610a793660046140d1565b611cfa565b348015610a8a57600080fd5b506103e6610a99366004613c45565b611e14565b348015610aaa57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610413565b348015610af457600080fd5b5061044b610b03366004613f43565b612122565b348015610b1457600080fd5b5061044b612265565b348015610b2957600080fd5b506106e56106e0366004613dd5565b348015610b4457600080fd5b506103e66122f6565b348015610b5957600080fd5b506106aa610b68366004613c45565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610ba957600080fd5b506103bc610bb83660046140ec565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610bdf57600080fd5b506103e661251f565b61044b610bf6366004613d7e565b612547565b61044b610c09366004613d7e565b612584565b348015610c1a57600080fd5b50610528610c29366004613d7e565b63389a75e1600c908152600091909152602090205490565b348015610c4d57600080fd5b5061044b610c5c366004613d7e565b6125ab565b6000610c6c8261270d565b80610c7b5750610c7b82612744565b80610c8a5750610c8a826127ba565b80610c995750610c998261285e565b80610ca85750610ca88261288b565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610cdd90614116565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0990614116565b8015610d565780601f10610d2b57610100808354040283529160200191610d56565b820191906000526020600020905b815481529060010190602001808311610d3957829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610daa5763ceea21b66000526004601cfd5b6001015492915050565b610dbf338383612977565b5050565b610dcb612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610e61576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e7c8385836141df565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610eaf929190614342565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610efb838383612a63565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f6f5767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f9d576030600c2054610f9d57634b6e7f186000526004601cfd5b8215610fab57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261100c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611041838383612a6e565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610cd2565b6110c6612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561115c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156112495760018160011c14303b106112405763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061125f61125a6020840184613d7e565b612a79565b61128461126f6080840184614356565b61127f60c0860160a08701613d7e565b612acf565b6112a66112946040840184614356565b6112a16060860186614356565b612b47565b6112ae612b84565b6112ec6112c361012084016101008501613d7e565b6112d5610140850161012086016140d1565b6112e7610160860161014087016140d1565b612bba565b611306611301610180840161016085016143bb565b612cb3565b61132c60006113196101a08501856143d6565b6113276101c08701876143d6565b612d37565b61135261133c60c0840184614356565b61134d610100860160e08701613d7e565b612d97565b61136c6113676101a084016101808501613d7e565b612e36565b600061137e6040840160208501613d7e565b73ffffffffffffffffffffffffffffffffffffffff16146113b3576113b36113ac6040840160208501613d7e565b6000612ee6565b8015610dbf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610cd2565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611447576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610397612fb0565b611498612a2d565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561150357600080fd5b505af4158015611517573d6000803e3d6000fd5b505050505050565b61152a838383610ef0565b813b156110415761104183838360405180602001604052806000815250612fc0565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff166115a7576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b13382613044565b50565b6115bc612a2d565b610dbf8282613165565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610397612fb0565b611616612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806116fa5763ceea21b66000526004601cfd5b919050565b611707612a2d565b6115b1816000612ee6565b60008161172757638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61176a612a2d565b611774600061327f565b565b61177e612a2d565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b1580156117e257600080fd5b505af41580156117f6573d6000803e3d6000fd5b5050505050565b611805612a2d565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061185b90879087908790879060040161443e565b60006040518083038186803b15801561187357600080fd5b505af4158015611887573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610cdd90614116565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611921612a2d565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906119799088908890889088908890600401614468565b60006040518083038186803b15801561199157600080fd5b505af41580156119a5573d6000803e3d6000fd5b505050505050505050565b6119b8612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a4e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611a5a8385836141df565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611afd576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b06826132e5565b611b1081836133a5565b610dbf82613447565b60603415611b2657600080fd5b610ca8611b3384846134ed565b613584565b611b43858585610ef0565b833b156117f6576117f685858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fc092505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611bc890614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611bf490614116565b8015611c415780601f10611c1657610100808354040283529160200191611c41565b820191906000526020600020905b815481529060010190602001808311611c2457829003601f168201915b50505050509050919050565b611c55612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611ceb576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611a5a8385836141df565b611d02612a2d565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff90811690831610611d65576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d6d613595565b61ffff168261ffff161015611dae576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020015b60405180910390a15050565b6060611e538260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611e89576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611fac5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611f5f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611fa59190810190614499565b9392505050565b600083815260028201602052604081208054611fc790614116565b80601f0160208091040260200160405190810160405280929190818152602001828054611ff390614116565b80156120405780601f1061201557610100808354040283529160200191612040565b820191906000526020600020905b81548152906001019060200180831161202357829003601f168201915b505050505090508051600014612057579392505050565b8154829061206490614116565b905060000361208457505060408051602081019091526000815292915050565b61211a82600001805461209690614116565b80601f01602080910402602001604051908101604052809291908181526020018280546120c290614116565b801561210f5780601f106120e45761010080835404028352916020019161210f565b820191906000526020600020905b8154815290600101906020018083116120f257829003601f168201915b5050505050856135a4565b949350505050565b61212a612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156121c0576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806121cc8385836141df565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516121fe929190614342565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61226d612a2d565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156124125760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156123c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261240c9190810190614499565b91505090565b80600101805461242190614116565b1590506124bb5780600101805461243790614116565b80601f016020809104026020016040519081016040528092919081815260200182805461246390614116565b80156124b05780601f10612485576101008083540402835291602001916124b0565b820191906000526020600020905b81548152906001019060200180831161249357829003601f168201915b505050505091505090565b805481906124c890614116565b90506000036124e557505060408051602081019091526000815290565b806124ef466135ec565b6124f83061364e565b60405160200161250a939291906145a7565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7006118b5565b61254f612a2d565b63389a75e1600c52806000526020600c20805442111561257757636f5e88186000526004601cfd5b600090556115b18161327f565b61258c612a2d565b8060601b6125a257637448fbae6000526004601cfd5b6115b18161327f565b6125b3612a2d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612649576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e08565b600061271882613690565b80610ca85750610ca8826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061276c826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b60006127c582613690565b8061276c57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ca85750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061286982613690565b80610ca85750632a55205a60e083901c9081146301ffc9a79190911417610ca8565b600061289682613690565b80610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061292d57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ca857507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816129d35763ceea21b66000526004601cfd5b8185148515176129f957816000526030600c20546129f957634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611774576382b429006000526004601cfd5b611041838383613728565b611041838383613860565b73ffffffffffffffffffffffffffffffffffffffff8116612ac6576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b1816138fd565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080612afc8486836141df565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080612b748587836141df565b50600181016115178385836141df565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b612be57f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613961565b61271061ffff82161115612c25576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110418383613165565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180548215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560408051918252517f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39181900360200190a150565b612d3f6139f0565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b169061197990889088908890889088906004016147c6565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080612dc48486836141df565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116612e545750565b612e5d81613a1b565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611b067f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001613961565b612ef260008383612a63565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612f455763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612f7a5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610dbf60008383612a6e565b613a6d80610dbf63ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015613007578060c08401826020870160045afa505b60208360a48301601c860160008a5af161302a573d1561302a573d6000843e3d83fd5b508060e01b8251146115175763d1a57ed66000526004601cfd5b600061304f8261169f565b905061305d81600084612a63565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826130c45763ceea21b66000526004601cfd5b826000528160010154808614848714178615176130f3576030600c20546130f357634b6e7f186000526004601cfd5b801561310157600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a461104181600084612a6e565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156131cc576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613225576131ea600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613233828261ffff16613aa5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613219565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b600061330f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036133785773ffffffffffffffffffffffffffffffffffffffff8116156115b1576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613380612a2d565b73ffffffffffffffffffffffffffffffffffffffff8116156115b1576115b181613a1b565b815473ffffffffffffffffffffffffffffffffffffffff90811690821681036133cd57505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612258565b73ffffffffffffffffffffffffffffffffffffffff81166134655750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b1580156134d457600080fd5b505af19250505080156134e5575060015b156115b15750565b600060405190506020815281816020015280604001808360051b80868437820180851561356c575b835187018035602082018337600038823584305af4613537573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613515575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611fa581612710611413565b6060826135b0466135ec565b6135b93061364e565b6135c2856135ec565b6040516020016135d594939291906147ff565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806136075750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061365982613af5565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ca857507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061376b5750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806137a2575073ffffffffffffffffffffffffffffffffffffffff8316155b156137ad5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036137d05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561384c57600080fd5b505afa158015611887573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166138b3577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614908565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611041577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906138aa90614940565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613219565b6117747f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613961565b600063a9b1c2d36000526000386004601c855afa823b151790508015610dbf576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613a9f573d6000fd5b503d6000f35b6bffffffffffffffffffffffff1661271080821115613acc5763350a88b36000526004601cfd5b8260601b80613ae35763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613b35575050919050565b600060208284031215613b9457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611fa557600080fd5b60005b83811015613bdf578181015183820152602001613bc7565b50506000910152565b60008151808452613c00816020860160208601613bc4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611fa56020830184613be8565b600060208284031215613c5757600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146116fa57600080fd5b60008060408385031215613c9557600080fd5b613c9e83613c5e565b946020939093013593505050565b60008083601f840112613cbe57600080fd5b50813567ffffffffffffffff811115613cd657600080fd5b602083019150836020828501011115613cee57600080fd5b9250929050565b600080600060408486031215613d0a57600080fd5b83359250602084013567ffffffffffffffff811115613d2857600080fd5b613d3486828701613cac565b9497909650939450505050565b600080600060608486031215613d5657600080fd5b613d5f84613c5e565b9250613d6d60208501613c5e565b929592945050506040919091013590565b600060208284031215613d9057600080fd5b611fa582613c5e565b600060208284031215613dab57600080fd5b813567ffffffffffffffff811115613dc257600080fd5b82016101e08185031215611fa557600080fd5b60008060408385031215613de857600080fd5b50508035926020909101359150565b803561ffff811681146116fa57600080fd5b60008060408385031215613e1c57600080fd5b613e2583613c5e565b9150613e3360208401613df7565b90509250929050565b82815260406020820152600061211a6040830184613be8565b60008060008060608587031215613e6b57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613e9057600080fd5b613e9c87828801613cac565b95989497509550505050565b803580151581146116fa57600080fd5b60008060408385031215613ecb57600080fd5b613ed483613c5e565b9150613e3360208401613ea8565b600080600080600060808688031215613efa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b613f3288828901613cac565b969995985093965092949392505050565b60008060208385031215613f5657600080fd5b823567ffffffffffffffff811115613f6d57600080fd5b613f7985828601613cac565b90969095509350505050565b60008060208385031215613f9857600080fd5b823567ffffffffffffffff811115613faf57600080fd5b8301601f81018513613fc057600080fd5b803567ffffffffffffffff811115613fd757600080fd5b8560208260051b8401011115613fec57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614073577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261405e858351613be8565b94506020938401939190910190600101614024565b50929695505050505050565b60008060008060006080868803121561409757600080fd5b6140a086613c5e565b94506140ae60208701613c5e565b935060408601359250606086013567ffffffffffffffff811115613f2657600080fd5b6000602082840312156140e357600080fd5b611fa582613df7565b600080604083850312156140ff57600080fd5b61410883613c5e565b9150613e3360208401613c5e565b600181811c9082168061412a57607f821691505b602082108103614163577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561104157806000526020600020601f840160051c810160208510156141bf5750805b601f840160051c820191505b818110156117f657600081556001016141cb565b67ffffffffffffffff8311156141f7576141f7614169565b61420b836142058354614116565b83614198565b6000601f84116001811461425d57600085156142275750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556117f6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156142ac578685013582556020948501946001909201910161428c565b50868210156142e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061211a6020830184866142f9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261438b57600080fd5b83018035915067ffffffffffffffff8211156143a657600080fd5b602001915036819003821315613cee57600080fd5b6000602082840312156143cd57600080fd5b611fa582613ea8565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261440b57600080fd5b83018035915067ffffffffffffffff82111561442657600080fd5b6020019150600581901b3603821315613cee57600080fd5b84815283602082015260606040820152600061445e6060830184866142f9565b9695505050505050565b85815284602082015283604082015260806060820152600061448e6080830184866142f9565b979650505050505050565b6000602082840312156144ab57600080fd5b815167ffffffffffffffff8111156144c257600080fd5b8201601f810184136144d357600080fd5b805167ffffffffffffffff8111156144ed576144ed614169565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561455957614559614169565b60405281815282820160200186101561457157600080fd5b614582826020830160208601613bc4565b95945050505050565b6000815161459d818560208601613bc4565b9290920192915050565b60008085546145b581614116565b6001821680156145cc57600181146145ff5761462f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061462f565b88600052602060002060005b838110156146275781548882015260019091019060200161460b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614668816001840160208901613bc4565b01614695600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61445e600282018561458b565b60008383855260208501945060208460051b8201018360005b868110156147ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261471c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261476257600080fd5b0160208101903567ffffffffffffffff81111561477e57600080fd5b80360382131561478d57600080fd5b606060408601526147a26060860182846142f9565b60209a8b019a909550939093019250506001016146bb565b50909695505050505050565b8581526060602082015260006147e06060830186886146a2565b82810360408401526147f38185876146a2565b98975050505050505050565b60008551614811818460208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161484b816001840160208a01613bc4565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451614889816002840160208901613bc4565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516148cb816002840160208801613bc4565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614939576149396148d9565b5060010190565b60008161494f5761494f6148d9565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220e489c04f42cdd560c0663a4b207ae0d0f6a020f87d2960e770fa0985a5cccac264736f6c634300081c0033";
|
|
8
8
|
export const seriesImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
|
|
9
|
-
export const seriesImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61575f80610cf783390190565b608051610c6961008e6000396000818160c1015281816101300152818161016c015281816101a801526102dd0152610c696000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c60da1b116100505780635c60da1b146100bc5780635c857b3e146100e357806380cc74971461011657600080fd5b80632f6920fd1461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101066100f1366004610591565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f6101243660046105ac565b610198565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b60006101927f00000000000000000000000000000000000000000000000000000000000000008330610359565b92915050565b60006101a3826103b6565b6101cd7f00000000000000000000000000000000000000000000000000000000000000008361041b565b905061019281846101e6565b6000610192600083610430565b6040517f7e2c303f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690637e2c303f906102389084906004016108d0565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c59150820182610591565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103a08560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506103ad818585610485565b95945050505050565b606081901c80158015906103e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610417576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000610429600084846104a7565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104f25763301164256000526004601cfd5b60006021529392505050565b6000610280828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b60006020828403121561056657600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105a357600080fd5b6104298261056d565b600080604083850312156105bf57600080fd5b823567ffffffffffffffff8111156105d657600080fd5b6105e2858286016104fe565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818736030181126107a857600080fd5b86018035845260208082013590850152604080820135908501526107cf60608201826105f1565b9150608060608601526107e660808601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261088457600080fd5b860180358452602080820135908501526108a160408201826105f1565b9150606060408601526108b860608601838361065c565b60209a8b019a90955093909301925050600101610823565b602081526108fe602082016108e48461056d565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061090d60208401846105f1565b61028060408501526109246102a08501828461065c565b91505061093460408501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301606086015261096983828461065c565b9250505061097a60608501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160808601526109af83828461065c565b925050506109bf6080850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109e960a08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a1e83828461065c565b92505050610a2e60c0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a5760e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a8261010085016106a5565b61ffff811661012085015250610a9b61012085016106a5565b61ffff811661014085015250610ab461014085016106b7565b80151561016085015250610acb610160850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610180850152506101808401356101a084810191909152610b0490850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101c085015250610b2f6101c0850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101e085015250610b5a6101e085016106b7565b80151561020085015250610b71610200850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166102208501525061022084013561024084810191909152610bab908501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610260860152610be183828461072e565b92505050610bf36102608501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610280860152610c2983828461080a565b969550505050505056fea2646970667358221220d81a5a785c9b4f8069d3c82214d94a9bbf407c12b446906c133a125661ca115464736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6156d28061008d6000396000f3fe6080604052600436106104655760003560e01c80637e2c303f11610243578063c3e617a211610143578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610d97578063fee81cf414610db7578063ff87a5f514610dea57600080fd5b8063f04e283e14610d71578063f2fde38b14610d8457600080fd5b8063e8a3d48514610cc1578063e8dc3e0914610cd6578063e985e9c514610d26578063ee748f2c14610d5c57600080fd5b8063d8b4f8ac11610112578063e1c2ffad116100f7578063e1c2ffad14610c71578063e2969ba714610c86578063e4df18ec14610ca657600080fd5b8063d8b4f8ac14610c3c578063da2bbfc714610c5157600080fd5b8063c3e617a214610b92578063c83569a914610bb2578063c87b56dd14610bd2578063d50bac3314610bf257600080fd5b8063a22cb465116101d6578063ac9650d8116101a5578063b18f004a1161018a578063b18f004a14610b27578063b88d4fde14610b5f578063bb77e79614610b7257600080fd5b8063ac9650d814610ab8578063ac998f4514610ad857600080fd5b8063a22cb46514610a38578063a482c94614610a58578063a8cdf07814610a78578063a9fc664e14610a9857600080fd5b806395d89b411161021257806395d89b41146109b157806397e950f7146109c6578063a07c7ce4146109e6578063a148d8cf14610a1d57600080fd5b80637e2c303f1461091d5780638da5cb5b1461093d5780638e08141f14610971578063913b385a1461099157600080fd5b80633dda44b0116103695780635e5a9e30116102e15780636cbdef61116102b0578063715018a611610295578063715018a6146108b1578063738e1496146108b957806375794a3c1461090857600080fd5b80636cbdef611461087c57806370a082311461089157600080fd5b80635e5a9e30146108075780635e8306561461081c5780636352211e1461083c5780636a6278421461085c57600080fd5b80634aa3adb31161033857806355828c501161031d57806355828c50146107585780635a50ca65146107865780635c975abb146107d057600080fd5b80634aa3adb31461072d57806354d1f13d1461075057600080fd5b80633dda44b0146106ba57806342842e0e146106da57806342966c68146106ed5780634331f6391461070d57600080fd5b806316c38b3c116103fc578063261220a3116103cb578063298bb40e116103b0578063298bb40e146106395780632a55205a1461064e5780632e73cddb1461069a57600080fd5b8063261220a31461060457806326dfe8c71461061957600080fd5b806316c38b3c146105a657806318160ddd146105c657806323b872dd146105e957806325692962146105fc57600080fd5b8063095ea7b311610438578063095ea7b31461051b578063098144d4146105305780630d705df6146105455780631622326a1461058657600080fd5b806301ffc9a71461046a57806306fdde031461049f57806307546172146104c1578063081812fc146104fb575b600080fd5b34801561047657600080fd5b5061048a6104853660046147e0565b610e0a565b60405190151581526020015b60405180910390f35b3480156104ab57600080fd5b506104b4610edf565b6040516104969190614890565b3480156104cd57600080fd5b506104d6610f91565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610496565b34801561050757600080fd5b506104d66105163660046148a3565b610fd1565b61052e6105293660046148e0565b611025565b005b34801561053c57600080fd5b506104d6611034565b34801561055157600080fd5b50604080517fcaee23ea0000000000000000000000000000000000000000000000000000000081526001602082015201610496565b34801561059257600080fd5b5061052e6105a1366004614953565b61105c565b3480156105b257600080fd5b5061052e6105c13660046149af565b611189565b3480156105d257600080fd5b506105db611216565b604051908152602001610496565b61052e6105f73660046149ca565b611240565b61052e611396565b34801561061057600080fd5b506104b46113e6565b34801561062557600080fd5b5061052e610634366004614a07565b61140e565b34801561064557600080fd5b506104b4611547565b34801561065a57600080fd5b5061066e610669366004614a22565b61156f565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610496565b3480156106a657600080fd5b5061048a6106b53660046148a3565b6115e2565b3480156106c657600080fd5b5061052e6106d5366004614a22565b6115ec565b61052e6106e83660046149ca565b61167b565b3480156106f957600080fd5b5061052e6107083660046148a3565b6116a8565b34801561071957600080fd5b5061052e610728366004614a56565b611710565b34801561073957600080fd5b5060025b60405161ffff9091168152602001610496565b61052e611722565b34801561076457600080fd5b506107786107733660046148a3565b61175e565b604051610496929190614a89565b34801561079257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104d6565b3480156107dc57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661048a565b34801561081357600080fd5b5061052e61176a565b34801561082857600080fd5b5061052e6108373660046148e0565b6117fb565b34801561084857600080fd5b506104d66108573660046148a3565b611820565b34801561086857600080fd5b506105db610877366004614a07565b611880565b34801561088857600080fd5b506105db611893565b34801561089d57600080fd5b506105db6108ac366004614a07565b6118bb565b61052e61190b565b3480156108c557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661048a565b34801561091457600080fd5b506105db61191f565b34801561092957600080fd5b5061052e610938366004614aa2565b611947565b34801561094957600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104d6565b34801561097d57600080fd5b5061052e61098c3660046148a3565b611c33565b34801561099d57600080fd5b5061052e6109ac366004614ade565b611cba565b3480156109bd57600080fd5b506104b4611d4e565b3480156109d257600080fd5b5061052e6109e13660046148a3565b611d80565b3480156109f257600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661048a565b348015610a2957600080fd5b5061048a6106b5366004614a22565b348015610a4457600080fd5b5061052e610a53366004614b31565b611e9b565b348015610a6457600080fd5b5061052e610a73366004614b5b565b611ef1565b348015610a8457600080fd5b5061052e610a93366004614bbc565b611f88565b348015610aa457600080fd5b5061052e610ab3366004614a07565b612061565b610acb610ac6366004614bfe565b6120f1565b6040516104969190614c75565b348015610ae457600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661048a565b348015610b3357600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661073d565b61052e610b6d366004614cf8565b612110565b348015610b7e57600080fd5b506104b4610b8d3660046148a3565b612164565b348015610b9e57600080fd5b5061052e610bad366004614bbc565b612225565b348015610bbe57600080fd5b5061052e610bcd366004614d4a565b6122d2565b348015610bde57600080fd5b506104b4610bed3660046148a3565b6123e4565b348015610bfe57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104d6565b348015610c4857600080fd5b506104d66126f2565b348015610c5d57600080fd5b5061052e610c6c366004614bbc565b61271a565b348015610c7d57600080fd5b5061052e61285d565b348015610c9257600080fd5b5061052e610ca1366004614a07565b6128ee565b348015610cb257600080fd5b50610778610773366004614a22565b348015610ccd57600080fd5b506104b4612988565b348015610ce257600080fd5b5061073d610cf13660046148a3565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d3257600080fd5b5061048a610d41366004614d65565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610d6857600080fd5b506104b4612bb1565b61052e610d7f366004614a07565b612bd9565b61052e610d92366004614a07565b612c16565b348015610da357600080fd5b5061052e610db2366004614a07565b612c3d565b348015610dc357600080fd5b506105db610dd2366004614a07565b63389a75e1600c908152600091909152602090205490565b348015610df657600080fd5b5061052e610e05366004614a07565b612cd7565b6000610e1582612e39565b80610e245750610e2482612e70565b80610e335750610e3382612ee6565b80610e425750610e4282612f8a565b80610e515750610e5182612fb7565b80610e605750610e60826130a3565b80610e6f5750610e6f826130ff565b80610e7e5750610e7e8261315b565b80610e8d5750610e8d826131b7565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f0e90614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3a90614d8f565b8015610f875780601f10610f5c57610100808354040283529160200191610f87565b820191906000526020600020905b815481529060010190602001808311610f6a57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b61101b5763ceea21b66000526004601cfd5b6001015492915050565b611030338383613213565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fb5565b6110646132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156110fa576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020611115838583614e58565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051611148929190614fbb565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6111916132c9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b61124b8383836132ff565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112bf5767ceea21b6a1148100831560021b526004601cfd5b8560005281600101549250823314863314176112ed576030600c20546112ed57634b6e7f186000526004601cfd5b82156112fb57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261135c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461139183838361330a565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f03565b6114166132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156114ac576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f03565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836115a3576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610465613315565b6115f46132c9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561165f57600080fd5b505af4158015611673573d6000803e3d6000fd5b505050505050565b611686838383611240565b813b156113915761139183838360405180602001604052806000815250613325565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611703576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d33826133a9565b50565b6117186132c9565b61103082826134ca565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610465613315565b6117726132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b6118036135e4565b60005b8181101561139157611817836136ec565b50600101611806565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff168061187b5763ceea21b66000526004601cfd5b919050565b600061188a6135e4565b610ed9826136ec565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570061123a565b6000816118d057638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b6119136132c9565b61191d600061374c565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0061123a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156119995760018160011c14303b106119905763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036119d9576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261022001351115611a1d576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a32611a2d6020840184614a07565b6137b2565b611a57611a426060840184614fcf565b611a5260a0860160808701614a07565b613808565b611a79611a676020840184614fcf565b611a746040860186614fcf565b613880565b611a816138bd565b611abe611a95610100840160e08501614a07565b611aa761012085016101008601614d4a565b611ab961014086016101208701614d4a565b6138f3565b611ad8611ad3610160840161014085016149af565b6139ec565b611ae6826101800135613a6a565b611b00611afb6101e084016101c08501614a07565b613ae8565b611b1a611b156101c084016101a08501614a07565b613b56565b611b34611b2f61020084016101e085016149af565b613bc4565b611b58611b45610240840184615034565b611b53610260860186615034565b613c72565b611b7d611b6860a0840184614fcf565b611b7860e0860160c08701614a07565b613cd0565b611b97611b9261018084016101608501614a07565b613d6f565b6000611bab61022084016102008501614a07565b73ffffffffffffffffffffffffffffffffffffffff1614611bfb5760005b826102200135811015611bf957611bf0611beb61022085016102008601614a07565b6136ec565b50600101611bc9565b505b8015611030576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611c3b6132c9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b158015611c9f57600080fd5b505af4158015611cb3573d6000803e3d6000fd5b5050505050565b611cc26132c9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611d1890879087908790879060040161509c565b60006040518083038186803b158015611d3057600080fd5b505af4158015611d44573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f0e90614d8f565b611d886132c9565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611de4576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611e1f576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611e2761191f565b821015611e60576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611ef96132c9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611f5190889088908890889088906004016150c6565b60006040518083038186803b158015611f6957600080fd5b505af4158015611f7d573d6000803e3d6000fd5b505050505050505050565b611f906132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612026576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612032838583614e58565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff166120d5576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120de82613e1f565b6120e88183613edf565b61103082613f81565b606034156120fe57600080fd5b610ed961210b8484614027565b6140be565b61211b858585611240565b833b15611cb357611cb385858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061332592505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906121a090614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546121cc90614d8f565b80156122195780601f106121ee57610100808354040283529160200191612219565b820191906000526020600020905b8154815290600101906020018083116121fc57829003601f168201915b50505050509050919050565b61222d6132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156122c3576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101612032838583614e58565b6122da6132c9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff9081169083161061233d576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6123456140cf565b61ffff168261ffff161015612386576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611e8f565b60606124238260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b612459576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561257c5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561252f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261257591908101906150f7565b9392505050565b60008381526002820160205260408120805461259790614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546125c390614d8f565b80156126105780601f106125e557610100808354040283529160200191612610565b820191906000526020600020905b8154815290600101906020018083116125f357829003601f168201915b505050505090508051600014612627579392505050565b8154829061263490614d8f565b905060000361265457505060408051602081019091526000815292915050565b6126ea82600001805461266690614d8f565b80601f016020809104026020016040519081016040528092919081815260200182805461269290614d8f565b80156126df5780601f106126b4576101008083540402835291602001916126df565b820191906000526020600020905b8154815290600101906020018083116126c257829003601f168201915b5050505050856140de565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fb5565b6127226132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156127b8576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806127c4838583614e58565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516127f6929190614fbb565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6128656132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6128f66132c9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff1615612aa45760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612a58573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612a9e91908101906150f7565b91505090565b806001018054612ab390614d8f565b159050612b4d57806001018054612ac990614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054612af590614d8f565b8015612b425780601f10612b1757610100808354040283529160200191612b42565b820191906000526020600020905b815481529060010190602001808311612b2557829003601f168201915b505050505091505090565b80548190612b5a90614d8f565b9050600003612b7757505060408051602081019091526000815290565b80612b8146614126565b612b8a30614188565b604051602001612b9c93929190615205565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611d72565b612be16132c9565b63389a75e1600c52806000526020600c208054421115612c0957636f5e88186000526004601cfd5b6000905561170d8161374c565b612c1e6132c9565b8060601b612c3457637448fbae6000526004601cfd5b61170d8161374c565b612c456132c9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612cdf6132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612d75576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e8f565b6000612e44826141ca565b80610ed95750610ed9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612e98826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612ef1826141ca565b80612e9857507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612f95826141ca565b80610ed95750632a55205a60e083901c9081146301ffc9a79190911417610ed9565b6000612fc2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061305957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ed957507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60006130ae826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b600061310a826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000613166826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b60006131c2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c526020600020820182018054821691508161326f5763ceea21b66000526004601cfd5b81851485151761329557816000526030600c205461329557634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461191d576382b429006000526004601cfd5b611391838383614262565b61139183838361439a565b6144378061103063ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a0840152801561336c578060c08401826020870160045afa505b60208360a48301601c860160008a5af161338f573d1561338f573d6000843e3d83fd5b508060e01b8251146116735763d1a57ed66000526004601cfd5b60006133b482611820565b90506133c2816000846132ff565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826134295763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613458576030600c205461345857634b6e7f186000526004601cfd5b801561346657600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46113918160008461330a565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff161115613531576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff1660000361358a5761354f600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613598828261ffff1661446f565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161357e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361362457565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613680576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613688610f91565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461191d576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0054613717816144bf565b6137218282614519565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b73ffffffffffffffffffffffffffffffffffffffff81166137ff576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d816145e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613835848683614e58565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806138ad858783614e58565b5060018101611673838583614e58565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61391e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614647565b61271061ffff8216111561395e576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161139183836134ca565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b613a957ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614647565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161120b565b613b137fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612c68565b613b817fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612919565b613bef7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614647565b801561170d577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b613c7a6146d6565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611d18908790879087908790600401615436565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613cfd848683614e58565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116613d8d5750565b613d9681614701565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556120de7f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614647565b6000613e497fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff1603613eb25773ffffffffffffffffffffffffffffffffffffffff81161561170d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613eba6132c9565b73ffffffffffffffffffffffffffffffffffffffff81161561170d5761170d81614701565b815473ffffffffffffffffffffffffffffffffffffffff9081169082168103613f0757505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612850565b73ffffffffffffffffffffffffffffffffffffffff8116613f9f5750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b15801561400e57600080fd5b505af192505050801561401f575060015b1561170d5750565b600060405190506020815281816020015280604001808360051b8086843782018085156140a6575b835187018035602082018337600038823584305af4614071573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061404f575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b6000806125758161271061156f565b6060826140ea46614126565b6140f330614188565b6140fc85614126565b60405160200161410f9493929190615526565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806141415750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061419382614753565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806142a55750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806142dc575073ffffffffffffffffffffffffffffffffffffffff8316155b156142e75750505050565b73ffffffffffffffffffffffffffffffffffffffff8116330361430a5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561438657600080fd5b505afa158015611d44573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166143ed577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e49061562f565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611391577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e490615667565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614469573d6000fd5b503d6000f35b6bffffffffffffffffffffffff16612710808211156144965763350a88b36000526004601cfd5b8260601b806144ad5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054811061170d576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614525600083836132ff565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156145785763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026145ad5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46110306000838361330a565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161357e565b61191d7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614647565b600063a9b1c2d36000526000386004601c855afa823b151790508015611030576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614793575050919050565b6000602082840312156147f257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461257557600080fd5b60005b8381101561483d578181015183820152602001614825565b50506000910152565b6000815180845261485e816020860160208601614822565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006125756020830184614846565b6000602082840312156148b557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461187b57600080fd5b600080604083850312156148f357600080fd5b6148fc836148bc565b946020939093013593505050565b60008083601f84011261491c57600080fd5b50813567ffffffffffffffff81111561493457600080fd5b60208301915083602082850101111561494c57600080fd5b9250929050565b60008060006040848603121561496857600080fd5b83359250602084013567ffffffffffffffff81111561498657600080fd5b6149928682870161490a565b9497909650939450505050565b8035801515811461187b57600080fd5b6000602082840312156149c157600080fd5b6125758261499f565b6000806000606084860312156149df57600080fd5b6149e8846148bc565b92506149f6602085016148bc565b929592945050506040919091013590565b600060208284031215614a1957600080fd5b612575826148bc565b60008060408385031215614a3557600080fd5b50508035926020909101359150565b803561ffff8116811461187b57600080fd5b60008060408385031215614a6957600080fd5b614a72836148bc565b9150614a8060208401614a44565b90509250929050565b8281526040602082015260006126ea6040830184614846565b600060208284031215614ab457600080fd5b813567ffffffffffffffff811115614acb57600080fd5b8201610280818503121561257557600080fd5b60008060008060608587031215614af457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614b1957600080fd5b614b258782880161490a565b95989497509550505050565b60008060408385031215614b4457600080fd5b614b4d836148bc565b9150614a806020840161499f565b600080600080600060808688031215614b7357600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b614bab8882890161490a565b969995985093965092949392505050565b60008060208385031215614bcf57600080fd5b823567ffffffffffffffff811115614be657600080fd5b614bf28582860161490a565b90969095509350505050565b60008060208385031215614c1157600080fd5b823567ffffffffffffffff811115614c2857600080fd5b8301601f81018513614c3957600080fd5b803567ffffffffffffffff811115614c5057600080fd5b8560208260051b8401011115614c6557600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614cec577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614cd7858351614846565b94506020938401939190910190600101614c9d565b50929695505050505050565b600080600080600060808688031215614d1057600080fd5b614d19866148bc565b9450614d27602087016148bc565b935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b600060208284031215614d5c57600080fd5b61257582614a44565b60008060408385031215614d7857600080fd5b614d81836148bc565b9150614a80602084016148bc565b600181811c90821680614da357607f821691505b602082108103614ddc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561139157806000526020600020601f840160051c81016020851015614e385750805b601f840160051c820191505b81811015611cb35760008155600101614e44565b67ffffffffffffffff831115614e7057614e70614de2565b614e8483614e7e8354614d8f565b83614e11565b6000601f841160018114614ed65760008515614ea05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611cb3565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614f255786850135825560209485019460019092019101614f05565b5086821015614f60577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006126ea602083018486614f72565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261500457600080fd5b83018035915067ffffffffffffffff82111561501f57600080fd5b60200191503681900382131561494c57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261506957600080fd5b83018035915067ffffffffffffffff82111561508457600080fd5b6020019150600581901b360382131561494c57600080fd5b8481528360208201526060604082015260006150bc606083018486614f72565b9695505050505050565b8581528460208201528360408201526080606082015260006150ec608083018486614f72565b979650505050505050565b60006020828403121561510957600080fd5b815167ffffffffffffffff81111561512057600080fd5b8201601f8101841361513157600080fd5b805167ffffffffffffffff81111561514b5761514b614de2565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151b7576151b7614de2565b6040528181528282016020018610156151cf57600080fd5b6151e0826020830160208601614822565b95945050505050565b600081516151fb818560208601614822565b9290920192915050565b600080855461521381614d8f565b60018216801561522a576001811461525d5761528d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061528d565b88600052602060002060005b8381101561528557815488820152600190910190602001615269565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152c6816001840160208901614822565b016152f3600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6150bc60028201856151e9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261533557600080fd5b830160208101925035905067ffffffffffffffff81111561535557600080fd5b80360382131561494c57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561542a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126153de57600080fd5b860180358452602080820135908501526153fb6040820182615300565b915060606040860152615412606086018383614f72565b60209a8b019a9095509390930192505060010161537d565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b8982101561550f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154b657600080fd5b8b018035865260208082013590870152604080820135908701526154dd6060820182615300565b9150608060608801526154f4608088018383614f72565b96505050602083019250602084019350600182019150615479565b5050505082810360208401526150ec818587615364565b60008551615538818460208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551615572816001840160208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516155b0816002840160208901614822565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516155f2816002840160208801614822565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361566057615660615600565b5060010190565b60008161567657615676615600565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212204dbdf7048c964a133fd4da1009540d069cb097c12f5435a2d4280a77bbefd09b64736f6c634300081c0033";
|
|
9
|
+
export const seriesImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61575f80610cf783390190565b608051610c6961008e6000396000818160c1015281816101300152818161016c015281816101a801526102dd0152610c696000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c60da1b116100505780635c60da1b146100bc5780635c857b3e146100e357806380cc74971461011657600080fd5b80632f6920fd1461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101066100f1366004610591565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f6101243660046105ac565b610198565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b60006101927f00000000000000000000000000000000000000000000000000000000000000008330610359565b92915050565b60006101a3826103b6565b6101cd7f00000000000000000000000000000000000000000000000000000000000000008361041b565b905061019281846101e6565b6000610192600083610430565b6040517f7e2c303f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831690637e2c303f906102389084906004016108d0565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c59150820182610591565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103a08560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506103ad818585610485565b95945050505050565b606081901c80158015906103e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610417576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000610429600084846104a7565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104f25763301164256000526004601cfd5b60006021529392505050565b6000610280828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b60006020828403121561056657600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105a357600080fd5b6104298261056d565b600080604083850312156105bf57600080fd5b823567ffffffffffffffff8111156105d657600080fd5b6105e2858286016104fe565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818736030181126107a857600080fd5b86018035845260208082013590850152604080820135908501526107cf60608201826105f1565b9150608060608601526107e660808601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261088457600080fd5b860180358452602080820135908501526108a160408201826105f1565b9150606060408601526108b860608601838361065c565b60209a8b019a90955093909301925050600101610823565b602081526108fe602082016108e48461056d565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061090d60208401846105f1565b61028060408501526109246102a08501828461065c565b91505061093460408501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301606086015261096983828461065c565b9250505061097a60608501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160808601526109af83828461065c565b925050506109bf6080850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109e960a08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a1e83828461065c565b92505050610a2e60c0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a5760e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a8261010085016106a5565b61ffff811661012085015250610a9b61012085016106a5565b61ffff811661014085015250610ab461014085016106b7565b80151561016085015250610acb610160850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610180850152506101808401356101a084810191909152610b0490850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101c085015250610b2f6101c0850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101e085015250610b5a6101e085016106b7565b80151561020085015250610b71610200850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166102208501525061022084013561024084810191909152610bab908501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610260860152610be183828461072e565b92505050610bf36102608501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610280860152610c2983828461080a565b969550505050505056fea2646970667358221220be8bea7b827c54235db2ae15b15b7a6e83bc8ba53dcef7945be644ce466272a264736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6156d28061008d6000396000f3fe6080604052600436106104655760003560e01c80637e2c303f11610243578063c3e617a211610143578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610d97578063fee81cf414610db7578063ff87a5f514610dea57600080fd5b8063f04e283e14610d71578063f2fde38b14610d8457600080fd5b8063e8a3d48514610cc1578063e8dc3e0914610cd6578063e985e9c514610d26578063ee748f2c14610d5c57600080fd5b8063d8b4f8ac11610112578063e1c2ffad116100f7578063e1c2ffad14610c71578063e2969ba714610c86578063e4df18ec14610ca657600080fd5b8063d8b4f8ac14610c3c578063da2bbfc714610c5157600080fd5b8063c3e617a214610b92578063c83569a914610bb2578063c87b56dd14610bd2578063d50bac3314610bf257600080fd5b8063a22cb465116101d6578063ac9650d8116101a5578063b18f004a1161018a578063b18f004a14610b27578063b88d4fde14610b5f578063bb77e79614610b7257600080fd5b8063ac9650d814610ab8578063ac998f4514610ad857600080fd5b8063a22cb46514610a38578063a482c94614610a58578063a8cdf07814610a78578063a9fc664e14610a9857600080fd5b806395d89b411161021257806395d89b41146109b157806397e950f7146109c6578063a07c7ce4146109e6578063a148d8cf14610a1d57600080fd5b80637e2c303f1461091d5780638da5cb5b1461093d5780638e08141f14610971578063913b385a1461099157600080fd5b80633dda44b0116103695780635e5a9e30116102e15780636cbdef61116102b0578063715018a611610295578063715018a6146108b1578063738e1496146108b957806375794a3c1461090857600080fd5b80636cbdef611461087c57806370a082311461089157600080fd5b80635e5a9e30146108075780635e8306561461081c5780636352211e1461083c5780636a6278421461085c57600080fd5b80634aa3adb31161033857806355828c501161031d57806355828c50146107585780635a50ca65146107865780635c975abb146107d057600080fd5b80634aa3adb31461072d57806354d1f13d1461075057600080fd5b80633dda44b0146106ba57806342842e0e146106da57806342966c68146106ed5780634331f6391461070d57600080fd5b806316c38b3c116103fc578063261220a3116103cb578063298bb40e116103b0578063298bb40e146106395780632a55205a1461064e5780632e73cddb1461069a57600080fd5b8063261220a31461060457806326dfe8c71461061957600080fd5b806316c38b3c146105a657806318160ddd146105c657806323b872dd146105e957806325692962146105fc57600080fd5b8063095ea7b311610438578063095ea7b31461051b578063098144d4146105305780630d705df6146105455780631622326a1461058657600080fd5b806301ffc9a71461046a57806306fdde031461049f57806307546172146104c1578063081812fc146104fb575b600080fd5b34801561047657600080fd5b5061048a6104853660046147e0565b610e0a565b60405190151581526020015b60405180910390f35b3480156104ab57600080fd5b506104b4610edf565b6040516104969190614890565b3480156104cd57600080fd5b506104d6610f91565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610496565b34801561050757600080fd5b506104d66105163660046148a3565b610fd1565b61052e6105293660046148e0565b611025565b005b34801561053c57600080fd5b506104d6611034565b34801561055157600080fd5b50604080517fcaee23ea0000000000000000000000000000000000000000000000000000000081526001602082015201610496565b34801561059257600080fd5b5061052e6105a1366004614953565b61105c565b3480156105b257600080fd5b5061052e6105c13660046149af565b611189565b3480156105d257600080fd5b506105db611216565b604051908152602001610496565b61052e6105f73660046149ca565b611240565b61052e611396565b34801561061057600080fd5b506104b46113e6565b34801561062557600080fd5b5061052e610634366004614a07565b61140e565b34801561064557600080fd5b506104b4611547565b34801561065a57600080fd5b5061066e610669366004614a22565b61156f565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610496565b3480156106a657600080fd5b5061048a6106b53660046148a3565b6115e2565b3480156106c657600080fd5b5061052e6106d5366004614a22565b6115ec565b61052e6106e83660046149ca565b61167b565b3480156106f957600080fd5b5061052e6107083660046148a3565b6116a8565b34801561071957600080fd5b5061052e610728366004614a56565b611710565b34801561073957600080fd5b5060035b60405161ffff9091168152602001610496565b61052e611722565b34801561076457600080fd5b506107786107733660046148a3565b61175e565b604051610496929190614a89565b34801561079257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104d6565b3480156107dc57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661048a565b34801561081357600080fd5b5061052e61176a565b34801561082857600080fd5b5061052e6108373660046148e0565b6117fb565b34801561084857600080fd5b506104d66108573660046148a3565b611820565b34801561086857600080fd5b506105db610877366004614a07565b611880565b34801561088857600080fd5b506105db611893565b34801561089d57600080fd5b506105db6108ac366004614a07565b6118bb565b61052e61190b565b3480156108c557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661048a565b34801561091457600080fd5b506105db61191f565b34801561092957600080fd5b5061052e610938366004614aa2565b611947565b34801561094957600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104d6565b34801561097d57600080fd5b5061052e61098c3660046148a3565b611c33565b34801561099d57600080fd5b5061052e6109ac366004614ade565b611cba565b3480156109bd57600080fd5b506104b4611d4e565b3480156109d257600080fd5b5061052e6109e13660046148a3565b611d80565b3480156109f257600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661048a565b348015610a2957600080fd5b5061048a6106b5366004614a22565b348015610a4457600080fd5b5061052e610a53366004614b31565b611e9b565b348015610a6457600080fd5b5061052e610a73366004614b5b565b611ef1565b348015610a8457600080fd5b5061052e610a93366004614bbc565b611f88565b348015610aa457600080fd5b5061052e610ab3366004614a07565b612061565b610acb610ac6366004614bfe565b6120f1565b6040516104969190614c75565b348015610ae457600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661048a565b348015610b3357600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661073d565b61052e610b6d366004614cf8565b612110565b348015610b7e57600080fd5b506104b4610b8d3660046148a3565b612164565b348015610b9e57600080fd5b5061052e610bad366004614bbc565b612225565b348015610bbe57600080fd5b5061052e610bcd366004614d4a565b6122d2565b348015610bde57600080fd5b506104b4610bed3660046148a3565b6123e4565b348015610bfe57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104d6565b348015610c4857600080fd5b506104d66126f2565b348015610c5d57600080fd5b5061052e610c6c366004614bbc565b61271a565b348015610c7d57600080fd5b5061052e61285d565b348015610c9257600080fd5b5061052e610ca1366004614a07565b6128ee565b348015610cb257600080fd5b50610778610773366004614a22565b348015610ccd57600080fd5b506104b4612988565b348015610ce257600080fd5b5061073d610cf13660046148a3565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d3257600080fd5b5061048a610d41366004614d65565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610d6857600080fd5b506104b4612bb1565b61052e610d7f366004614a07565b612bd9565b61052e610d92366004614a07565b612c16565b348015610da357600080fd5b5061052e610db2366004614a07565b612c3d565b348015610dc357600080fd5b506105db610dd2366004614a07565b63389a75e1600c908152600091909152602090205490565b348015610df657600080fd5b5061052e610e05366004614a07565b612cd7565b6000610e1582612e39565b80610e245750610e2482612e70565b80610e335750610e3382612ee6565b80610e425750610e4282612f8a565b80610e515750610e5182612fb7565b80610e605750610e60826130a3565b80610e6f5750610e6f826130ff565b80610e7e5750610e7e8261315b565b80610e8d5750610e8d826131b7565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f0e90614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3a90614d8f565b8015610f875780601f10610f5c57610100808354040283529160200191610f87565b820191906000526020600020905b815481529060010190602001808311610f6a57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b61101b5763ceea21b66000526004601cfd5b6001015492915050565b611030338383613213565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fb5565b6110646132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156110fa576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020611115838583614e58565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051611148929190614fbb565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6111916132c9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b61124b8383836132ff565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112bf5767ceea21b6a1148100831560021b526004601cfd5b8560005281600101549250823314863314176112ed576030600c20546112ed57634b6e7f186000526004601cfd5b82156112fb57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261135c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461139183838361330a565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f03565b6114166132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156114ac576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f03565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836115a3576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610465613315565b6115f46132c9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561165f57600080fd5b505af4158015611673573d6000803e3d6000fd5b505050505050565b611686838383611240565b813b156113915761139183838360405180602001604052806000815250613325565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611703576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d33826133a9565b50565b6117186132c9565b61103082826134ca565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610465613315565b6117726132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b6118036135e4565b60005b8181101561139157611817836136ec565b50600101611806565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff168061187b5763ceea21b66000526004601cfd5b919050565b600061188a6135e4565b610ed9826136ec565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570061123a565b6000816118d057638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b6119136132c9565b61191d600061374c565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0061123a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156119995760018160011c14303b106119905763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036119d9576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261022001351115611a1d576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a32611a2d6020840184614a07565b6137b2565b611a57611a426060840184614fcf565b611a5260a0860160808701614a07565b613808565b611a79611a676020840184614fcf565b611a746040860186614fcf565b613880565b611a816138bd565b611abe611a95610100840160e08501614a07565b611aa761012085016101008601614d4a565b611ab961014086016101208701614d4a565b6138f3565b611ad8611ad3610160840161014085016149af565b6139ec565b611ae6826101800135613a6a565b611b00611afb6101e084016101c08501614a07565b613ae8565b611b1a611b156101c084016101a08501614a07565b613b56565b611b34611b2f61020084016101e085016149af565b613bc4565b611b58611b45610240840184615034565b611b53610260860186615034565b613c72565b611b7d611b6860a0840184614fcf565b611b7860e0860160c08701614a07565b613cd0565b611b97611b9261018084016101608501614a07565b613d6f565b6000611bab61022084016102008501614a07565b73ffffffffffffffffffffffffffffffffffffffff1614611bfb5760005b826102200135811015611bf957611bf0611beb61022085016102008601614a07565b6136ec565b50600101611bc9565b505b8015611030576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611c3b6132c9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b158015611c9f57600080fd5b505af4158015611cb3573d6000803e3d6000fd5b5050505050565b611cc26132c9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611d1890879087908790879060040161509c565b60006040518083038186803b158015611d3057600080fd5b505af4158015611d44573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f0e90614d8f565b611d886132c9565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611de4576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611e1f576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611e2761191f565b821015611e60576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611ef96132c9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611f5190889088908890889088906004016150c6565b60006040518083038186803b158015611f6957600080fd5b505af4158015611f7d573d6000803e3d6000fd5b505050505050505050565b611f906132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612026576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612032838583614e58565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff166120d5576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120de82613e1f565b6120e88183613edf565b61103082613f81565b606034156120fe57600080fd5b610ed961210b8484614027565b6140be565b61211b858585611240565b833b15611cb357611cb385858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061332592505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906121a090614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546121cc90614d8f565b80156122195780601f106121ee57610100808354040283529160200191612219565b820191906000526020600020905b8154815290600101906020018083116121fc57829003601f168201915b50505050509050919050565b61222d6132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156122c3576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101612032838583614e58565b6122da6132c9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff9081169083161061233d576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6123456140cf565b61ffff168261ffff161015612386576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611e8f565b60606124238260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b612459576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561257c5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561252f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261257591908101906150f7565b9392505050565b60008381526002820160205260408120805461259790614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546125c390614d8f565b80156126105780601f106125e557610100808354040283529160200191612610565b820191906000526020600020905b8154815290600101906020018083116125f357829003601f168201915b505050505090508051600014612627579392505050565b8154829061263490614d8f565b905060000361265457505060408051602081019091526000815292915050565b6126ea82600001805461266690614d8f565b80601f016020809104026020016040519081016040528092919081815260200182805461269290614d8f565b80156126df5780601f106126b4576101008083540402835291602001916126df565b820191906000526020600020905b8154815290600101906020018083116126c257829003601f168201915b5050505050856140de565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fb5565b6127226132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156127b8576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806127c4838583614e58565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516127f6929190614fbb565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6128656132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6128f66132c9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff1615612aa45760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612a58573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612a9e91908101906150f7565b91505090565b806001018054612ab390614d8f565b159050612b4d57806001018054612ac990614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054612af590614d8f565b8015612b425780601f10612b1757610100808354040283529160200191612b42565b820191906000526020600020905b815481529060010190602001808311612b2557829003601f168201915b505050505091505090565b80548190612b5a90614d8f565b9050600003612b7757505060408051602081019091526000815290565b80612b8146614126565b612b8a30614188565b604051602001612b9c93929190615205565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611d72565b612be16132c9565b63389a75e1600c52806000526020600c208054421115612c0957636f5e88186000526004601cfd5b6000905561170d8161374c565b612c1e6132c9565b8060601b612c3457637448fbae6000526004601cfd5b61170d8161374c565b612c456132c9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612cdf6132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612d75576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e8f565b6000612e44826141ca565b80610ed95750610ed9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612e98826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612ef1826141ca565b80612e9857507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612f95826141ca565b80610ed95750632a55205a60e083901c9081146301ffc9a79190911417610ed9565b6000612fc2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061305957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ed957507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60006130ae826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b600061310a826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000613166826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b60006131c2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c526020600020820182018054821691508161326f5763ceea21b66000526004601cfd5b81851485151761329557816000526030600c205461329557634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461191d576382b429006000526004601cfd5b611391838383614262565b61139183838361439a565b6144378061103063ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a0840152801561336c578060c08401826020870160045afa505b60208360a48301601c860160008a5af161338f573d1561338f573d6000843e3d83fd5b508060e01b8251146116735763d1a57ed66000526004601cfd5b60006133b482611820565b90506133c2816000846132ff565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826134295763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613458576030600c205461345857634b6e7f186000526004601cfd5b801561346657600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46113918160008461330a565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff161115613531576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff1660000361358a5761354f600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613598828261ffff1661446f565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161357e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361362457565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613680576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613688610f91565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461191d576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0054613717816144bf565b6137218282614519565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b73ffffffffffffffffffffffffffffffffffffffff81166137ff576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d816145e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613835848683614e58565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806138ad858783614e58565b5060018101611673838583614e58565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61391e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614647565b61271061ffff8216111561395e576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161139183836134ca565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b613a957ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614647565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161120b565b613b137fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612c68565b613b817fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612919565b613bef7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614647565b801561170d577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b613c7a6146d6565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611d18908790879087908790600401615436565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613cfd848683614e58565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116613d8d5750565b613d9681614701565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556120de7f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614647565b6000613e497fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff1603613eb25773ffffffffffffffffffffffffffffffffffffffff81161561170d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613eba6132c9565b73ffffffffffffffffffffffffffffffffffffffff81161561170d5761170d81614701565b815473ffffffffffffffffffffffffffffffffffffffff9081169082168103613f0757505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612850565b73ffffffffffffffffffffffffffffffffffffffff8116613f9f5750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b15801561400e57600080fd5b505af192505050801561401f575060015b1561170d5750565b600060405190506020815281816020015280604001808360051b8086843782018085156140a6575b835187018035602082018337600038823584305af4614071573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061404f575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b6000806125758161271061156f565b6060826140ea46614126565b6140f330614188565b6140fc85614126565b60405160200161410f9493929190615526565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806141415750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061419382614753565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806142a55750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806142dc575073ffffffffffffffffffffffffffffffffffffffff8316155b156142e75750505050565b73ffffffffffffffffffffffffffffffffffffffff8116330361430a5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561438657600080fd5b505afa158015611d44573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166143ed577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e49061562f565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611391577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e490615667565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614469573d6000fd5b503d6000f35b6bffffffffffffffffffffffff16612710808211156144965763350a88b36000526004601cfd5b8260601b806144ad5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054811061170d576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614525600083836132ff565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156145785763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026145ad5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46110306000838361330a565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161357e565b61191d7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614647565b600063a9b1c2d36000526000386004601c855afa823b151790508015611030576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614793575050919050565b6000602082840312156147f257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461257557600080fd5b60005b8381101561483d578181015183820152602001614825565b50506000910152565b6000815180845261485e816020860160208601614822565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006125756020830184614846565b6000602082840312156148b557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461187b57600080fd5b600080604083850312156148f357600080fd5b6148fc836148bc565b946020939093013593505050565b60008083601f84011261491c57600080fd5b50813567ffffffffffffffff81111561493457600080fd5b60208301915083602082850101111561494c57600080fd5b9250929050565b60008060006040848603121561496857600080fd5b83359250602084013567ffffffffffffffff81111561498657600080fd5b6149928682870161490a565b9497909650939450505050565b8035801515811461187b57600080fd5b6000602082840312156149c157600080fd5b6125758261499f565b6000806000606084860312156149df57600080fd5b6149e8846148bc565b92506149f6602085016148bc565b929592945050506040919091013590565b600060208284031215614a1957600080fd5b612575826148bc565b60008060408385031215614a3557600080fd5b50508035926020909101359150565b803561ffff8116811461187b57600080fd5b60008060408385031215614a6957600080fd5b614a72836148bc565b9150614a8060208401614a44565b90509250929050565b8281526040602082015260006126ea6040830184614846565b600060208284031215614ab457600080fd5b813567ffffffffffffffff811115614acb57600080fd5b8201610280818503121561257557600080fd5b60008060008060608587031215614af457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614b1957600080fd5b614b258782880161490a565b95989497509550505050565b60008060408385031215614b4457600080fd5b614b4d836148bc565b9150614a806020840161499f565b600080600080600060808688031215614b7357600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b614bab8882890161490a565b969995985093965092949392505050565b60008060208385031215614bcf57600080fd5b823567ffffffffffffffff811115614be657600080fd5b614bf28582860161490a565b90969095509350505050565b60008060208385031215614c1157600080fd5b823567ffffffffffffffff811115614c2857600080fd5b8301601f81018513614c3957600080fd5b803567ffffffffffffffff811115614c5057600080fd5b8560208260051b8401011115614c6557600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614cec577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614cd7858351614846565b94506020938401939190910190600101614c9d565b50929695505050505050565b600080600080600060808688031215614d1057600080fd5b614d19866148bc565b9450614d27602087016148bc565b935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b600060208284031215614d5c57600080fd5b61257582614a44565b60008060408385031215614d7857600080fd5b614d81836148bc565b9150614a80602084016148bc565b600181811c90821680614da357607f821691505b602082108103614ddc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561139157806000526020600020601f840160051c81016020851015614e385750805b601f840160051c820191505b81811015611cb35760008155600101614e44565b67ffffffffffffffff831115614e7057614e70614de2565b614e8483614e7e8354614d8f565b83614e11565b6000601f841160018114614ed65760008515614ea05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611cb3565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614f255786850135825560209485019460019092019101614f05565b5086821015614f60577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006126ea602083018486614f72565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261500457600080fd5b83018035915067ffffffffffffffff82111561501f57600080fd5b60200191503681900382131561494c57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261506957600080fd5b83018035915067ffffffffffffffff82111561508457600080fd5b6020019150600581901b360382131561494c57600080fd5b8481528360208201526060604082015260006150bc606083018486614f72565b9695505050505050565b8581528460208201528360408201526080606082015260006150ec608083018486614f72565b979650505050505050565b60006020828403121561510957600080fd5b815167ffffffffffffffff81111561512057600080fd5b8201601f8101841361513157600080fd5b805167ffffffffffffffff81111561514b5761514b614de2565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151b7576151b7614de2565b6040528181528282016020018610156151cf57600080fd5b6151e0826020830160208601614822565b95945050505050565b600081516151fb818560208601614822565b9290920192915050565b600080855461521381614d8f565b60018216801561522a576001811461525d5761528d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061528d565b88600052602060002060005b8381101561528557815488820152600190910190602001615269565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152c6816001840160208901614822565b016152f3600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6150bc60028201856151e9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261533557600080fd5b830160208101925035905067ffffffffffffffff81111561535557600080fd5b80360382131561494c57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561542a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126153de57600080fd5b860180358452602080820135908501526153fb6040820182615300565b915060606040860152615412606086018383614f72565b60209a8b019a9095509390930192505060010161537d565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b8982101561550f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154b657600080fd5b8b018035865260208082013590870152604080820135908701526154dd6060820182615300565b9150608060608801526154f4608088018383614f72565b96505050602083019250602084019350600182019150615479565b5050505082810360208401526150ec818587615364565b60008551615538818460208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551615572816001840160208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516155b0816002840160208901614822565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516155f2816002840160208801614822565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361566057615660615600565b5060010190565b60008161567657615676615600565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212205c0cd80cff85f60147c9e33a9a7c48bf4e82102c8bc81cd9e99ce8ee43f7558264736f6c634300081c0033";
|
|
10
10
|
export const seriesImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
|
|
11
|
-
export const seriesImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6156d28061008d6000396000f3fe6080604052600436106104655760003560e01c80637e2c303f11610243578063c3e617a211610143578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610d97578063fee81cf414610db7578063ff87a5f514610dea57600080fd5b8063f04e283e14610d71578063f2fde38b14610d8457600080fd5b8063e8a3d48514610cc1578063e8dc3e0914610cd6578063e985e9c514610d26578063ee748f2c14610d5c57600080fd5b8063d8b4f8ac11610112578063e1c2ffad116100f7578063e1c2ffad14610c71578063e2969ba714610c86578063e4df18ec14610ca657600080fd5b8063d8b4f8ac14610c3c578063da2bbfc714610c5157600080fd5b8063c3e617a214610b92578063c83569a914610bb2578063c87b56dd14610bd2578063d50bac3314610bf257600080fd5b8063a22cb465116101d6578063ac9650d8116101a5578063b18f004a1161018a578063b18f004a14610b27578063b88d4fde14610b5f578063bb77e79614610b7257600080fd5b8063ac9650d814610ab8578063ac998f4514610ad857600080fd5b8063a22cb46514610a38578063a482c94614610a58578063a8cdf07814610a78578063a9fc664e14610a9857600080fd5b806395d89b411161021257806395d89b41146109b157806397e950f7146109c6578063a07c7ce4146109e6578063a148d8cf14610a1d57600080fd5b80637e2c303f1461091d5780638da5cb5b1461093d5780638e08141f14610971578063913b385a1461099157600080fd5b80633dda44b0116103695780635e5a9e30116102e15780636cbdef61116102b0578063715018a611610295578063715018a6146108b1578063738e1496146108b957806375794a3c1461090857600080fd5b80636cbdef611461087c57806370a082311461089157600080fd5b80635e5a9e30146108075780635e8306561461081c5780636352211e1461083c5780636a6278421461085c57600080fd5b80634aa3adb31161033857806355828c501161031d57806355828c50146107585780635a50ca65146107865780635c975abb146107d057600080fd5b80634aa3adb31461072d57806354d1f13d1461075057600080fd5b80633dda44b0146106ba57806342842e0e146106da57806342966c68146106ed5780634331f6391461070d57600080fd5b806316c38b3c116103fc578063261220a3116103cb578063298bb40e116103b0578063298bb40e146106395780632a55205a1461064e5780632e73cddb1461069a57600080fd5b8063261220a31461060457806326dfe8c71461061957600080fd5b806316c38b3c146105a657806318160ddd146105c657806323b872dd146105e957806325692962146105fc57600080fd5b8063095ea7b311610438578063095ea7b31461051b578063098144d4146105305780630d705df6146105455780631622326a1461058657600080fd5b806301ffc9a71461046a57806306fdde031461049f57806307546172146104c1578063081812fc146104fb575b600080fd5b34801561047657600080fd5b5061048a6104853660046147e0565b610e0a565b60405190151581526020015b60405180910390f35b3480156104ab57600080fd5b506104b4610edf565b6040516104969190614890565b3480156104cd57600080fd5b506104d6610f91565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610496565b34801561050757600080fd5b506104d66105163660046148a3565b610fd1565b61052e6105293660046148e0565b611025565b005b34801561053c57600080fd5b506104d6611034565b34801561055157600080fd5b50604080517fcaee23ea0000000000000000000000000000000000000000000000000000000081526001602082015201610496565b34801561059257600080fd5b5061052e6105a1366004614953565b61105c565b3480156105b257600080fd5b5061052e6105c13660046149af565b611189565b3480156105d257600080fd5b506105db611216565b604051908152602001610496565b61052e6105f73660046149ca565b611240565b61052e611396565b34801561061057600080fd5b506104b46113e6565b34801561062557600080fd5b5061052e610634366004614a07565b61140e565b34801561064557600080fd5b506104b4611547565b34801561065a57600080fd5b5061066e610669366004614a22565b61156f565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610496565b3480156106a657600080fd5b5061048a6106b53660046148a3565b6115e2565b3480156106c657600080fd5b5061052e6106d5366004614a22565b6115ec565b61052e6106e83660046149ca565b61167b565b3480156106f957600080fd5b5061052e6107083660046148a3565b6116a8565b34801561071957600080fd5b5061052e610728366004614a56565b611710565b34801561073957600080fd5b5060025b60405161ffff9091168152602001610496565b61052e611722565b34801561076457600080fd5b506107786107733660046148a3565b61175e565b604051610496929190614a89565b34801561079257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104d6565b3480156107dc57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661048a565b34801561081357600080fd5b5061052e61176a565b34801561082857600080fd5b5061052e6108373660046148e0565b6117fb565b34801561084857600080fd5b506104d66108573660046148a3565b611820565b34801561086857600080fd5b506105db610877366004614a07565b611880565b34801561088857600080fd5b506105db611893565b34801561089d57600080fd5b506105db6108ac366004614a07565b6118bb565b61052e61190b565b3480156108c557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661048a565b34801561091457600080fd5b506105db61191f565b34801561092957600080fd5b5061052e610938366004614aa2565b611947565b34801561094957600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104d6565b34801561097d57600080fd5b5061052e61098c3660046148a3565b611c33565b34801561099d57600080fd5b5061052e6109ac366004614ade565b611cba565b3480156109bd57600080fd5b506104b4611d4e565b3480156109d257600080fd5b5061052e6109e13660046148a3565b611d80565b3480156109f257600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661048a565b348015610a2957600080fd5b5061048a6106b5366004614a22565b348015610a4457600080fd5b5061052e610a53366004614b31565b611e9b565b348015610a6457600080fd5b5061052e610a73366004614b5b565b611ef1565b348015610a8457600080fd5b5061052e610a93366004614bbc565b611f88565b348015610aa457600080fd5b5061052e610ab3366004614a07565b612061565b610acb610ac6366004614bfe565b6120f1565b6040516104969190614c75565b348015610ae457600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661048a565b348015610b3357600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661073d565b61052e610b6d366004614cf8565b612110565b348015610b7e57600080fd5b506104b4610b8d3660046148a3565b612164565b348015610b9e57600080fd5b5061052e610bad366004614bbc565b612225565b348015610bbe57600080fd5b5061052e610bcd366004614d4a565b6122d2565b348015610bde57600080fd5b506104b4610bed3660046148a3565b6123e4565b348015610bfe57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104d6565b348015610c4857600080fd5b506104d66126f2565b348015610c5d57600080fd5b5061052e610c6c366004614bbc565b61271a565b348015610c7d57600080fd5b5061052e61285d565b348015610c9257600080fd5b5061052e610ca1366004614a07565b6128ee565b348015610cb257600080fd5b50610778610773366004614a22565b348015610ccd57600080fd5b506104b4612988565b348015610ce257600080fd5b5061073d610cf13660046148a3565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d3257600080fd5b5061048a610d41366004614d65565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610d6857600080fd5b506104b4612bb1565b61052e610d7f366004614a07565b612bd9565b61052e610d92366004614a07565b612c16565b348015610da357600080fd5b5061052e610db2366004614a07565b612c3d565b348015610dc357600080fd5b506105db610dd2366004614a07565b63389a75e1600c908152600091909152602090205490565b348015610df657600080fd5b5061052e610e05366004614a07565b612cd7565b6000610e1582612e39565b80610e245750610e2482612e70565b80610e335750610e3382612ee6565b80610e425750610e4282612f8a565b80610e515750610e5182612fb7565b80610e605750610e60826130a3565b80610e6f5750610e6f826130ff565b80610e7e5750610e7e8261315b565b80610e8d5750610e8d826131b7565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f0e90614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3a90614d8f565b8015610f875780601f10610f5c57610100808354040283529160200191610f87565b820191906000526020600020905b815481529060010190602001808311610f6a57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b61101b5763ceea21b66000526004601cfd5b6001015492915050565b611030338383613213565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fb5565b6110646132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156110fa576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020611115838583614e58565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051611148929190614fbb565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6111916132c9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b61124b8383836132ff565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112bf5767ceea21b6a1148100831560021b526004601cfd5b8560005281600101549250823314863314176112ed576030600c20546112ed57634b6e7f186000526004601cfd5b82156112fb57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261135c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461139183838361330a565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f03565b6114166132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156114ac576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f03565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836115a3576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610465613315565b6115f46132c9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561165f57600080fd5b505af4158015611673573d6000803e3d6000fd5b505050505050565b611686838383611240565b813b156113915761139183838360405180602001604052806000815250613325565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611703576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d33826133a9565b50565b6117186132c9565b61103082826134ca565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610465613315565b6117726132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b6118036135e4565b60005b8181101561139157611817836136ec565b50600101611806565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff168061187b5763ceea21b66000526004601cfd5b919050565b600061188a6135e4565b610ed9826136ec565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570061123a565b6000816118d057638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b6119136132c9565b61191d600061374c565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0061123a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156119995760018160011c14303b106119905763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036119d9576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261022001351115611a1d576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a32611a2d6020840184614a07565b6137b2565b611a57611a426060840184614fcf565b611a5260a0860160808701614a07565b613808565b611a79611a676020840184614fcf565b611a746040860186614fcf565b613880565b611a816138bd565b611abe611a95610100840160e08501614a07565b611aa761012085016101008601614d4a565b611ab961014086016101208701614d4a565b6138f3565b611ad8611ad3610160840161014085016149af565b6139ec565b611ae6826101800135613a6a565b611b00611afb6101e084016101c08501614a07565b613ae8565b611b1a611b156101c084016101a08501614a07565b613b56565b611b34611b2f61020084016101e085016149af565b613bc4565b611b58611b45610240840184615034565b611b53610260860186615034565b613c72565b611b7d611b6860a0840184614fcf565b611b7860e0860160c08701614a07565b613cd0565b611b97611b9261018084016101608501614a07565b613d6f565b6000611bab61022084016102008501614a07565b73ffffffffffffffffffffffffffffffffffffffff1614611bfb5760005b826102200135811015611bf957611bf0611beb61022085016102008601614a07565b6136ec565b50600101611bc9565b505b8015611030576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611c3b6132c9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b158015611c9f57600080fd5b505af4158015611cb3573d6000803e3d6000fd5b5050505050565b611cc26132c9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611d1890879087908790879060040161509c565b60006040518083038186803b158015611d3057600080fd5b505af4158015611d44573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f0e90614d8f565b611d886132c9565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611de4576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611e1f576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611e2761191f565b821015611e60576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611ef96132c9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611f5190889088908890889088906004016150c6565b60006040518083038186803b158015611f6957600080fd5b505af4158015611f7d573d6000803e3d6000fd5b505050505050505050565b611f906132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612026576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612032838583614e58565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff166120d5576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120de82613e1f565b6120e88183613edf565b61103082613f81565b606034156120fe57600080fd5b610ed961210b8484614027565b6140be565b61211b858585611240565b833b15611cb357611cb385858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061332592505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906121a090614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546121cc90614d8f565b80156122195780601f106121ee57610100808354040283529160200191612219565b820191906000526020600020905b8154815290600101906020018083116121fc57829003601f168201915b50505050509050919050565b61222d6132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156122c3576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101612032838583614e58565b6122da6132c9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff9081169083161061233d576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6123456140cf565b61ffff168261ffff161015612386576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611e8f565b60606124238260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b612459576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561257c5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561252f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261257591908101906150f7565b9392505050565b60008381526002820160205260408120805461259790614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546125c390614d8f565b80156126105780601f106125e557610100808354040283529160200191612610565b820191906000526020600020905b8154815290600101906020018083116125f357829003601f168201915b505050505090508051600014612627579392505050565b8154829061263490614d8f565b905060000361265457505060408051602081019091526000815292915050565b6126ea82600001805461266690614d8f565b80601f016020809104026020016040519081016040528092919081815260200182805461269290614d8f565b80156126df5780601f106126b4576101008083540402835291602001916126df565b820191906000526020600020905b8154815290600101906020018083116126c257829003601f168201915b5050505050856140de565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fb5565b6127226132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156127b8576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806127c4838583614e58565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516127f6929190614fbb565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6128656132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6128f66132c9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff1615612aa45760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612a58573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612a9e91908101906150f7565b91505090565b806001018054612ab390614d8f565b159050612b4d57806001018054612ac990614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054612af590614d8f565b8015612b425780601f10612b1757610100808354040283529160200191612b42565b820191906000526020600020905b815481529060010190602001808311612b2557829003601f168201915b505050505091505090565b80548190612b5a90614d8f565b9050600003612b7757505060408051602081019091526000815290565b80612b8146614126565b612b8a30614188565b604051602001612b9c93929190615205565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611d72565b612be16132c9565b63389a75e1600c52806000526020600c208054421115612c0957636f5e88186000526004601cfd5b6000905561170d8161374c565b612c1e6132c9565b8060601b612c3457637448fbae6000526004601cfd5b61170d8161374c565b612c456132c9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612cdf6132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612d75576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e8f565b6000612e44826141ca565b80610ed95750610ed9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612e98826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612ef1826141ca565b80612e9857507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612f95826141ca565b80610ed95750632a55205a60e083901c9081146301ffc9a79190911417610ed9565b6000612fc2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061305957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ed957507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60006130ae826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b600061310a826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000613166826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b60006131c2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c526020600020820182018054821691508161326f5763ceea21b66000526004601cfd5b81851485151761329557816000526030600c205461329557634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461191d576382b429006000526004601cfd5b611391838383614262565b61139183838361439a565b6144378061103063ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a0840152801561336c578060c08401826020870160045afa505b60208360a48301601c860160008a5af161338f573d1561338f573d6000843e3d83fd5b508060e01b8251146116735763d1a57ed66000526004601cfd5b60006133b482611820565b90506133c2816000846132ff565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826134295763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613458576030600c205461345857634b6e7f186000526004601cfd5b801561346657600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46113918160008461330a565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff161115613531576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff1660000361358a5761354f600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613598828261ffff1661446f565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161357e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361362457565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613680576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613688610f91565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461191d576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0054613717816144bf565b6137218282614519565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b73ffffffffffffffffffffffffffffffffffffffff81166137ff576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d816145e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613835848683614e58565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806138ad858783614e58565b5060018101611673838583614e58565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61391e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614647565b61271061ffff8216111561395e576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161139183836134ca565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b613a957ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614647565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161120b565b613b137fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612c68565b613b817fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612919565b613bef7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614647565b801561170d577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b613c7a6146d6565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611d18908790879087908790600401615436565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613cfd848683614e58565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116613d8d5750565b613d9681614701565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556120de7f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614647565b6000613e497fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff1603613eb25773ffffffffffffffffffffffffffffffffffffffff81161561170d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613eba6132c9565b73ffffffffffffffffffffffffffffffffffffffff81161561170d5761170d81614701565b815473ffffffffffffffffffffffffffffffffffffffff9081169082168103613f0757505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612850565b73ffffffffffffffffffffffffffffffffffffffff8116613f9f5750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b15801561400e57600080fd5b505af192505050801561401f575060015b1561170d5750565b600060405190506020815281816020015280604001808360051b8086843782018085156140a6575b835187018035602082018337600038823584305af4614071573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061404f575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b6000806125758161271061156f565b6060826140ea46614126565b6140f330614188565b6140fc85614126565b60405160200161410f9493929190615526565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806141415750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061419382614753565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806142a55750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806142dc575073ffffffffffffffffffffffffffffffffffffffff8316155b156142e75750505050565b73ffffffffffffffffffffffffffffffffffffffff8116330361430a5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561438657600080fd5b505afa158015611d44573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166143ed577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e49061562f565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611391577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e490615667565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614469573d6000fd5b503d6000f35b6bffffffffffffffffffffffff16612710808211156144965763350a88b36000526004601cfd5b8260601b806144ad5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054811061170d576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614525600083836132ff565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156145785763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026145ad5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46110306000838361330a565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161357e565b61191d7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614647565b600063a9b1c2d36000526000386004601c855afa823b151790508015611030576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614793575050919050565b6000602082840312156147f257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461257557600080fd5b60005b8381101561483d578181015183820152602001614825565b50506000910152565b6000815180845261485e816020860160208601614822565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006125756020830184614846565b6000602082840312156148b557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461187b57600080fd5b600080604083850312156148f357600080fd5b6148fc836148bc565b946020939093013593505050565b60008083601f84011261491c57600080fd5b50813567ffffffffffffffff81111561493457600080fd5b60208301915083602082850101111561494c57600080fd5b9250929050565b60008060006040848603121561496857600080fd5b83359250602084013567ffffffffffffffff81111561498657600080fd5b6149928682870161490a565b9497909650939450505050565b8035801515811461187b57600080fd5b6000602082840312156149c157600080fd5b6125758261499f565b6000806000606084860312156149df57600080fd5b6149e8846148bc565b92506149f6602085016148bc565b929592945050506040919091013590565b600060208284031215614a1957600080fd5b612575826148bc565b60008060408385031215614a3557600080fd5b50508035926020909101359150565b803561ffff8116811461187b57600080fd5b60008060408385031215614a6957600080fd5b614a72836148bc565b9150614a8060208401614a44565b90509250929050565b8281526040602082015260006126ea6040830184614846565b600060208284031215614ab457600080fd5b813567ffffffffffffffff811115614acb57600080fd5b8201610280818503121561257557600080fd5b60008060008060608587031215614af457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614b1957600080fd5b614b258782880161490a565b95989497509550505050565b60008060408385031215614b4457600080fd5b614b4d836148bc565b9150614a806020840161499f565b600080600080600060808688031215614b7357600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b614bab8882890161490a565b969995985093965092949392505050565b60008060208385031215614bcf57600080fd5b823567ffffffffffffffff811115614be657600080fd5b614bf28582860161490a565b90969095509350505050565b60008060208385031215614c1157600080fd5b823567ffffffffffffffff811115614c2857600080fd5b8301601f81018513614c3957600080fd5b803567ffffffffffffffff811115614c5057600080fd5b8560208260051b8401011115614c6557600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614cec577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614cd7858351614846565b94506020938401939190910190600101614c9d565b50929695505050505050565b600080600080600060808688031215614d1057600080fd5b614d19866148bc565b9450614d27602087016148bc565b935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b600060208284031215614d5c57600080fd5b61257582614a44565b60008060408385031215614d7857600080fd5b614d81836148bc565b9150614a80602084016148bc565b600181811c90821680614da357607f821691505b602082108103614ddc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561139157806000526020600020601f840160051c81016020851015614e385750805b601f840160051c820191505b81811015611cb35760008155600101614e44565b67ffffffffffffffff831115614e7057614e70614de2565b614e8483614e7e8354614d8f565b83614e11565b6000601f841160018114614ed65760008515614ea05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611cb3565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614f255786850135825560209485019460019092019101614f05565b5086821015614f60577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006126ea602083018486614f72565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261500457600080fd5b83018035915067ffffffffffffffff82111561501f57600080fd5b60200191503681900382131561494c57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261506957600080fd5b83018035915067ffffffffffffffff82111561508457600080fd5b6020019150600581901b360382131561494c57600080fd5b8481528360208201526060604082015260006150bc606083018486614f72565b9695505050505050565b8581528460208201528360408201526080606082015260006150ec608083018486614f72565b979650505050505050565b60006020828403121561510957600080fd5b815167ffffffffffffffff81111561512057600080fd5b8201601f8101841361513157600080fd5b805167ffffffffffffffff81111561514b5761514b614de2565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151b7576151b7614de2565b6040528181528282016020018610156151cf57600080fd5b6151e0826020830160208601614822565b95945050505050565b600081516151fb818560208601614822565b9290920192915050565b600080855461521381614d8f565b60018216801561522a576001811461525d5761528d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061528d565b88600052602060002060005b8381101561528557815488820152600190910190602001615269565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152c6816001840160208901614822565b016152f3600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6150bc60028201856151e9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261533557600080fd5b830160208101925035905067ffffffffffffffff81111561535557600080fd5b80360382131561494c57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561542a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126153de57600080fd5b860180358452602080820135908501526153fb6040820182615300565b915060606040860152615412606086018383614f72565b60209a8b019a9095509390930192505060010161537d565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b8982101561550f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154b657600080fd5b8b018035865260208082013590870152604080820135908701526154dd6060820182615300565b9150608060608801526154f4608088018383614f72565b96505050602083019250602084019350600182019150615479565b5050505082810360208401526150ec818587615364565b60008551615538818460208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551615572816001840160208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516155b0816002840160208901614822565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516155f2816002840160208801614822565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361566057615660615600565b5060010190565b60008161567657615676615600565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212204dbdf7048c964a133fd4da1009540d069cb097c12f5435a2d4280a77bbefd09b64736f6c634300081c0033";
|
|
11
|
+
export const seriesImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6156d28061008d6000396000f3fe6080604052600436106104655760003560e01c80637e2c303f11610243578063c3e617a211610143578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610d97578063fee81cf414610db7578063ff87a5f514610dea57600080fd5b8063f04e283e14610d71578063f2fde38b14610d8457600080fd5b8063e8a3d48514610cc1578063e8dc3e0914610cd6578063e985e9c514610d26578063ee748f2c14610d5c57600080fd5b8063d8b4f8ac11610112578063e1c2ffad116100f7578063e1c2ffad14610c71578063e2969ba714610c86578063e4df18ec14610ca657600080fd5b8063d8b4f8ac14610c3c578063da2bbfc714610c5157600080fd5b8063c3e617a214610b92578063c83569a914610bb2578063c87b56dd14610bd2578063d50bac3314610bf257600080fd5b8063a22cb465116101d6578063ac9650d8116101a5578063b18f004a1161018a578063b18f004a14610b27578063b88d4fde14610b5f578063bb77e79614610b7257600080fd5b8063ac9650d814610ab8578063ac998f4514610ad857600080fd5b8063a22cb46514610a38578063a482c94614610a58578063a8cdf07814610a78578063a9fc664e14610a9857600080fd5b806395d89b411161021257806395d89b41146109b157806397e950f7146109c6578063a07c7ce4146109e6578063a148d8cf14610a1d57600080fd5b80637e2c303f1461091d5780638da5cb5b1461093d5780638e08141f14610971578063913b385a1461099157600080fd5b80633dda44b0116103695780635e5a9e30116102e15780636cbdef61116102b0578063715018a611610295578063715018a6146108b1578063738e1496146108b957806375794a3c1461090857600080fd5b80636cbdef611461087c57806370a082311461089157600080fd5b80635e5a9e30146108075780635e8306561461081c5780636352211e1461083c5780636a6278421461085c57600080fd5b80634aa3adb31161033857806355828c501161031d57806355828c50146107585780635a50ca65146107865780635c975abb146107d057600080fd5b80634aa3adb31461072d57806354d1f13d1461075057600080fd5b80633dda44b0146106ba57806342842e0e146106da57806342966c68146106ed5780634331f6391461070d57600080fd5b806316c38b3c116103fc578063261220a3116103cb578063298bb40e116103b0578063298bb40e146106395780632a55205a1461064e5780632e73cddb1461069a57600080fd5b8063261220a31461060457806326dfe8c71461061957600080fd5b806316c38b3c146105a657806318160ddd146105c657806323b872dd146105e957806325692962146105fc57600080fd5b8063095ea7b311610438578063095ea7b31461051b578063098144d4146105305780630d705df6146105455780631622326a1461058657600080fd5b806301ffc9a71461046a57806306fdde031461049f57806307546172146104c1578063081812fc146104fb575b600080fd5b34801561047657600080fd5b5061048a6104853660046147e0565b610e0a565b60405190151581526020015b60405180910390f35b3480156104ab57600080fd5b506104b4610edf565b6040516104969190614890565b3480156104cd57600080fd5b506104d6610f91565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610496565b34801561050757600080fd5b506104d66105163660046148a3565b610fd1565b61052e6105293660046148e0565b611025565b005b34801561053c57600080fd5b506104d6611034565b34801561055157600080fd5b50604080517fcaee23ea0000000000000000000000000000000000000000000000000000000081526001602082015201610496565b34801561059257600080fd5b5061052e6105a1366004614953565b61105c565b3480156105b257600080fd5b5061052e6105c13660046149af565b611189565b3480156105d257600080fd5b506105db611216565b604051908152602001610496565b61052e6105f73660046149ca565b611240565b61052e611396565b34801561061057600080fd5b506104b46113e6565b34801561062557600080fd5b5061052e610634366004614a07565b61140e565b34801561064557600080fd5b506104b4611547565b34801561065a57600080fd5b5061066e610669366004614a22565b61156f565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610496565b3480156106a657600080fd5b5061048a6106b53660046148a3565b6115e2565b3480156106c657600080fd5b5061052e6106d5366004614a22565b6115ec565b61052e6106e83660046149ca565b61167b565b3480156106f957600080fd5b5061052e6107083660046148a3565b6116a8565b34801561071957600080fd5b5061052e610728366004614a56565b611710565b34801561073957600080fd5b5060035b60405161ffff9091168152602001610496565b61052e611722565b34801561076457600080fd5b506107786107733660046148a3565b61175e565b604051610496929190614a89565b34801561079257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104d6565b3480156107dc57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661048a565b34801561081357600080fd5b5061052e61176a565b34801561082857600080fd5b5061052e6108373660046148e0565b6117fb565b34801561084857600080fd5b506104d66108573660046148a3565b611820565b34801561086857600080fd5b506105db610877366004614a07565b611880565b34801561088857600080fd5b506105db611893565b34801561089d57600080fd5b506105db6108ac366004614a07565b6118bb565b61052e61190b565b3480156108c557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661048a565b34801561091457600080fd5b506105db61191f565b34801561092957600080fd5b5061052e610938366004614aa2565b611947565b34801561094957600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104d6565b34801561097d57600080fd5b5061052e61098c3660046148a3565b611c33565b34801561099d57600080fd5b5061052e6109ac366004614ade565b611cba565b3480156109bd57600080fd5b506104b4611d4e565b3480156109d257600080fd5b5061052e6109e13660046148a3565b611d80565b3480156109f257600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661048a565b348015610a2957600080fd5b5061048a6106b5366004614a22565b348015610a4457600080fd5b5061052e610a53366004614b31565b611e9b565b348015610a6457600080fd5b5061052e610a73366004614b5b565b611ef1565b348015610a8457600080fd5b5061052e610a93366004614bbc565b611f88565b348015610aa457600080fd5b5061052e610ab3366004614a07565b612061565b610acb610ac6366004614bfe565b6120f1565b6040516104969190614c75565b348015610ae457600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661048a565b348015610b3357600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661073d565b61052e610b6d366004614cf8565b612110565b348015610b7e57600080fd5b506104b4610b8d3660046148a3565b612164565b348015610b9e57600080fd5b5061052e610bad366004614bbc565b612225565b348015610bbe57600080fd5b5061052e610bcd366004614d4a565b6122d2565b348015610bde57600080fd5b506104b4610bed3660046148a3565b6123e4565b348015610bfe57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104d6565b348015610c4857600080fd5b506104d66126f2565b348015610c5d57600080fd5b5061052e610c6c366004614bbc565b61271a565b348015610c7d57600080fd5b5061052e61285d565b348015610c9257600080fd5b5061052e610ca1366004614a07565b6128ee565b348015610cb257600080fd5b50610778610773366004614a22565b348015610ccd57600080fd5b506104b4612988565b348015610ce257600080fd5b5061073d610cf13660046148a3565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d3257600080fd5b5061048a610d41366004614d65565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610d6857600080fd5b506104b4612bb1565b61052e610d7f366004614a07565b612bd9565b61052e610d92366004614a07565b612c16565b348015610da357600080fd5b5061052e610db2366004614a07565b612c3d565b348015610dc357600080fd5b506105db610dd2366004614a07565b63389a75e1600c908152600091909152602090205490565b348015610df657600080fd5b5061052e610e05366004614a07565b612cd7565b6000610e1582612e39565b80610e245750610e2482612e70565b80610e335750610e3382612ee6565b80610e425750610e4282612f8a565b80610e515750610e5182612fb7565b80610e605750610e60826130a3565b80610e6f5750610e6f826130ff565b80610e7e5750610e7e8261315b565b80610e8d5750610e8d826131b7565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f0e90614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3a90614d8f565b8015610f875780601f10610f5c57610100808354040283529160200191610f87565b820191906000526020600020905b815481529060010190602001808311610f6a57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b61101b5763ceea21b66000526004601cfd5b6001015492915050565b611030338383613213565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fb5565b6110646132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156110fa576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020611115838583614e58565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051611148929190614fbb565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6111916132c9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b61124b8383836132ff565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112bf5767ceea21b6a1148100831560021b526004601cfd5b8560005281600101549250823314863314176112ed576030600c20546112ed57634b6e7f186000526004601cfd5b82156112fb57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff8116840261135c5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461139183838361330a565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f03565b6114166132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156114ac576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f03565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836115a3576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610465613315565b6115f46132c9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b15801561165f57600080fd5b505af4158015611673573d6000803e3d6000fd5b505050505050565b611686838383611240565b813b156113915761139183838360405180602001604052806000815250613325565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611703576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d33826133a9565b50565b6117186132c9565b61103082826134ca565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610465613315565b6117726132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b6118036135e4565b60005b8181101561139157611817836136ec565b50600101611806565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff168061187b5763ceea21b66000526004601cfd5b919050565b600061188a6135e4565b610ed9826136ec565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570061123a565b6000816118d057638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b6119136132c9565b61191d600061374c565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0061123a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156119995760018160011c14303b106119905763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036119d9576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261022001351115611a1d576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a32611a2d6020840184614a07565b6137b2565b611a57611a426060840184614fcf565b611a5260a0860160808701614a07565b613808565b611a79611a676020840184614fcf565b611a746040860186614fcf565b613880565b611a816138bd565b611abe611a95610100840160e08501614a07565b611aa761012085016101008601614d4a565b611ab961014086016101208701614d4a565b6138f3565b611ad8611ad3610160840161014085016149af565b6139ec565b611ae6826101800135613a6a565b611b00611afb6101e084016101c08501614a07565b613ae8565b611b1a611b156101c084016101a08501614a07565b613b56565b611b34611b2f61020084016101e085016149af565b613bc4565b611b58611b45610240840184615034565b611b53610260860186615034565b613c72565b611b7d611b6860a0840184614fcf565b611b7860e0860160c08701614a07565b613cd0565b611b97611b9261018084016101608501614a07565b613d6f565b6000611bab61022084016102008501614a07565b73ffffffffffffffffffffffffffffffffffffffff1614611bfb5760005b826102200135811015611bf957611bf0611beb61022085016102008601614a07565b6136ec565b50600101611bc9565b505b8015611030576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611c3b6132c9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f9060240160006040518083038186803b158015611c9f57600080fd5b505af4158015611cb3573d6000803e3d6000fd5b5050505050565b611cc26132c9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611d1890879087908790879060040161509c565b60006040518083038186803b158015611d3057600080fd5b505af4158015611d44573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f0e90614d8f565b611d886132c9565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611de4576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611e1f576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611e2761191f565b821015611e60576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611ef96132c9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611f5190889088908890889088906004016150c6565b60006040518083038186803b158015611f6957600080fd5b505af4158015611f7d573d6000803e3d6000fd5b505050505050505050565b611f906132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612026576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612032838583614e58565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff166120d5576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120de82613e1f565b6120e88183613edf565b61103082613f81565b606034156120fe57600080fd5b610ed961210b8484614027565b6140be565b61211b858585611240565b833b15611cb357611cb385858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061332592505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906121a090614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546121cc90614d8f565b80156122195780601f106121ee57610100808354040283529160200191612219565b820191906000526020600020905b8154815290600101906020018083116121fc57829003601f168201915b50505050509050919050565b61222d6132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156122c3576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101612032838583614e58565b6122da6132c9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff9081169083161061233d576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6123456140cf565b61ffff168261ffff161015612386576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611e8f565b60606124238260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b612459576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561257c5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561252f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261257591908101906150f7565b9392505050565b60008381526002820160205260408120805461259790614d8f565b80601f01602080910402602001604051908101604052809291908181526020018280546125c390614d8f565b80156126105780601f106125e557610100808354040283529160200191612610565b820191906000526020600020905b8154815290600101906020018083116125f357829003601f168201915b505050505090508051600014612627579392505050565b8154829061263490614d8f565b905060000361265457505060408051602081019091526000815292915050565b6126ea82600001805461266690614d8f565b80601f016020809104026020016040519081016040528092919081815260200182805461269290614d8f565b80156126df5780601f106126b4576101008083540402835291602001916126df565b820191906000526020600020905b8154815290600101906020018083116126c257829003601f168201915b5050505050856140de565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fb5565b6127226132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156127b8576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806127c4838583614e58565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516127f6929190614fbb565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6128656132c9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6128f66132c9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff1615612aa45760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612a58573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612a9e91908101906150f7565b91505090565b806001018054612ab390614d8f565b159050612b4d57806001018054612ac990614d8f565b80601f0160208091040260200160405190810160405280929190818152602001828054612af590614d8f565b8015612b425780601f10612b1757610100808354040283529160200191612b42565b820191906000526020600020905b815481529060010190602001808311612b2557829003601f168201915b505050505091505090565b80548190612b5a90614d8f565b9050600003612b7757505060408051602081019091526000815290565b80612b8146614126565b612b8a30614188565b604051602001612b9c93929190615205565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611d72565b612be16132c9565b63389a75e1600c52806000526020600c208054421115612c0957636f5e88186000526004601cfd5b6000905561170d8161374c565b612c1e6132c9565b8060601b612c3457637448fbae6000526004601cfd5b61170d8161374c565b612c456132c9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612cdf6132c9565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612d75576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611e8f565b6000612e44826141ca565b80610ed95750610ed9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612e98826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612ef1826141ca565b80612e9857507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001480610ed95750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612f95826141ca565b80610ed95750632a55205a60e083901c9081146301ffc9a79190911417610ed9565b6000612fc2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c00000000000000000000000000000000000000000000000000000000148061305957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ed957507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60006130ae826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b600061310a826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000613166826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b60006131c2826141ca565b80610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c526020600020820182018054821691508161326f5763ceea21b66000526004601cfd5b81851485151761329557816000526030600c205461329557634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461191d576382b429006000526004601cfd5b611391838383614262565b61139183838361439a565b6144378061103063ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a0840152801561336c578060c08401826020870160045afa505b60208360a48301601c860160008a5af161338f573d1561338f573d6000843e3d83fd5b508060e01b8251146116735763d1a57ed66000526004601cfd5b60006133b482611820565b90506133c2816000846132ff565b50600081815273ffffffffffffffffffffffffffffffffffffffff9283167f7d8825530a5a2e7a0000000000000000000000000000000000000000000000008117601c5260209091208201820180549193821691826134295763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613458576030600c205461345857634b6e7f186000526004601cfd5b801561346657600083600101555b5082189055601c600c2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46113918160008461330a565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff161115613531576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff1660000361358a5761354f600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613598828261ffff1661446f565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161357e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361362457565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613680576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613688610f91565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461191d576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0054613717816144bf565b6137218282614519565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b73ffffffffffffffffffffffffffffffffffffffff81166137ff576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170d816145e3565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613835848683614e58565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806138ad858783614e58565b5060018101611673838583614e58565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61391e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614647565b61271061ffff8216111561395e576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161139183836134ca565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b613a957ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614647565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161120b565b613b137fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612c68565b613b817fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614647565b73ffffffffffffffffffffffffffffffffffffffff81161561170d57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612919565b613bef7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614647565b801561170d577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b613c7a6146d6565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611d18908790879087908790600401615436565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613cfd848683614e58565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b73ffffffffffffffffffffffffffffffffffffffff8116613d8d5750565b613d9681614701565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556120de7f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614647565b6000613e497fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff1603613eb25773ffffffffffffffffffffffffffffffffffffffff81161561170d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613eba6132c9565b73ffffffffffffffffffffffffffffffffffffffff81161561170d5761170d81614701565b815473ffffffffffffffffffffffffffffffffffffffff9081169082168103613f0757505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612850565b73ffffffffffffffffffffffffffffffffffffffff8116613f9f5750565b6040517ffb2de5d70000000000000000000000000000000000000000000000000000000081523060048201526102d1602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b15801561400e57600080fd5b505af192505050801561401f575060015b1561170d5750565b600060405190506020815281816020015280604001808360051b8086843782018085156140a6575b835187018035602082018337600038823584305af4614071573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061404f575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b6000806125758161271061156f565b6060826140ea46614126565b6140f330614188565b6140fc85614126565b60405160200161410f9493929190615526565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806141415750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061419382614753565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ed957507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806142a55750505050565b73ffffffffffffffffffffffffffffffffffffffff841615806142dc575073ffffffffffffffffffffffffffffffffffffffff8316155b156142e75750505050565b73ffffffffffffffffffffffffffffffffffffffff8116330361430a5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561438657600080fd5b505afa158015611d44573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff83166143ed577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e49061562f565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216611391577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906143e490615667565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614469573d6000fd5b503d6000f35b6bffffffffffffffffffffffff16612710808211156144965763350a88b36000526004601cfd5b8260601b806144ad5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054811061170d576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614525600083836132ff565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156145785763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026145ad5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46110306000838361330a565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161357e565b61191d7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614647565b600063a9b1c2d36000526000386004601c855afa823b151790508015611030576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614793575050919050565b6000602082840312156147f257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461257557600080fd5b60005b8381101561483d578181015183820152602001614825565b50506000910152565b6000815180845261485e816020860160208601614822565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006125756020830184614846565b6000602082840312156148b557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461187b57600080fd5b600080604083850312156148f357600080fd5b6148fc836148bc565b946020939093013593505050565b60008083601f84011261491c57600080fd5b50813567ffffffffffffffff81111561493457600080fd5b60208301915083602082850101111561494c57600080fd5b9250929050565b60008060006040848603121561496857600080fd5b83359250602084013567ffffffffffffffff81111561498657600080fd5b6149928682870161490a565b9497909650939450505050565b8035801515811461187b57600080fd5b6000602082840312156149c157600080fd5b6125758261499f565b6000806000606084860312156149df57600080fd5b6149e8846148bc565b92506149f6602085016148bc565b929592945050506040919091013590565b600060208284031215614a1957600080fd5b612575826148bc565b60008060408385031215614a3557600080fd5b50508035926020909101359150565b803561ffff8116811461187b57600080fd5b60008060408385031215614a6957600080fd5b614a72836148bc565b9150614a8060208401614a44565b90509250929050565b8281526040602082015260006126ea6040830184614846565b600060208284031215614ab457600080fd5b813567ffffffffffffffff811115614acb57600080fd5b8201610280818503121561257557600080fd5b60008060008060608587031215614af457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614b1957600080fd5b614b258782880161490a565b95989497509550505050565b60008060408385031215614b4457600080fd5b614b4d836148bc565b9150614a806020840161499f565b600080600080600060808688031215614b7357600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b614bab8882890161490a565b969995985093965092949392505050565b60008060208385031215614bcf57600080fd5b823567ffffffffffffffff811115614be657600080fd5b614bf28582860161490a565b90969095509350505050565b60008060208385031215614c1157600080fd5b823567ffffffffffffffff811115614c2857600080fd5b8301601f81018513614c3957600080fd5b803567ffffffffffffffff811115614c5057600080fd5b8560208260051b8401011115614c6557600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614cec577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614cd7858351614846565b94506020938401939190910190600101614c9d565b50929695505050505050565b600080600080600060808688031215614d1057600080fd5b614d19866148bc565b9450614d27602087016148bc565b935060408601359250606086013567ffffffffffffffff811115614b9f57600080fd5b600060208284031215614d5c57600080fd5b61257582614a44565b60008060408385031215614d7857600080fd5b614d81836148bc565b9150614a80602084016148bc565b600181811c90821680614da357607f821691505b602082108103614ddc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561139157806000526020600020601f840160051c81016020851015614e385750805b601f840160051c820191505b81811015611cb35760008155600101614e44565b67ffffffffffffffff831115614e7057614e70614de2565b614e8483614e7e8354614d8f565b83614e11565b6000601f841160018114614ed65760008515614ea05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611cb3565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614f255786850135825560209485019460019092019101614f05565b5086821015614f60577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6020815260006126ea602083018486614f72565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261500457600080fd5b83018035915067ffffffffffffffff82111561501f57600080fd5b60200191503681900382131561494c57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261506957600080fd5b83018035915067ffffffffffffffff82111561508457600080fd5b6020019150600581901b360382131561494c57600080fd5b8481528360208201526060604082015260006150bc606083018486614f72565b9695505050505050565b8581528460208201528360408201526080606082015260006150ec608083018486614f72565b979650505050505050565b60006020828403121561510957600080fd5b815167ffffffffffffffff81111561512057600080fd5b8201601f8101841361513157600080fd5b805167ffffffffffffffff81111561514b5761514b614de2565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151b7576151b7614de2565b6040528181528282016020018610156151cf57600080fd5b6151e0826020830160208601614822565b95945050505050565b600081516151fb818560208601614822565b9290920192915050565b600080855461521381614d8f565b60018216801561522a576001811461525d5761528d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061528d565b88600052602060002060005b8381101561528557815488820152600190910190602001615269565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152c6816001840160208901614822565b016152f3600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6150bc60028201856151e9565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261533557600080fd5b830160208101925035905067ffffffffffffffff81111561535557600080fd5b80360382131561494c57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561542a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126153de57600080fd5b860180358452602080820135908501526153fb6040820182615300565b915060606040860152615412606086018383614f72565b60209a8b019a9095509390930192505060010161537d565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b8982101561550f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154b657600080fd5b8b018035865260208082013590870152604080820135908701526154dd6060820182615300565b9150608060608801526154f4608088018383614f72565b96505050602083019250602084019350600182019150615479565b5050505082810360208401526150ec818587615364565b60008551615538818460208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551615572816001840160208a01614822565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516155b0816002840160208901614822565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516155f2816002840160208801614822565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361566057615660615600565b5060010190565b60008161567657615676615600565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212205c0cd80cff85f60147c9e33a9a7c48bf4e82102c8bc81cd9e99ce8ee43f7558264736f6c634300081c0033";
|
|
12
12
|
export const seriesCodeFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
|
|
13
|
-
export const seriesCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615c3080610a9483390190565b608051610a0661008e6000396000818160a40152818161011c0152818161015a0152818161018701526102a90152610a066000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063302c59ce1461005c5780635414dff01461008c5780635c60da1b1461009f5780635c857b3e146100c6578063f84467d5146100f9575b600080fd5b61006f61006a36600461045c565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f61009a3660046104a1565b610153565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100e96100d43660046104d1565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b61006f6101073660046104ec565b610180565b6000610117826101bc565b6101417f0000000000000000000000000000000000000000000000000000000000000000836101fb565b905061014d8184610210565b92915050565b600061014d7f0000000000000000000000000000000000000000000000000000000000000000833061030b565b60006101ab7f0000000000000000000000000000000000000000000000000000000000000000610368565b90506101b78183610210565b919050565b606081901c80158015906101d957506001600160a01b0381163314155b156101f75760405163c61a579960e01b815260040160405180910390fd5b5050565b600061020960008484610375565b9392505050565b6040516361d8791f60e01b81526001600160a01b038316906361d8791f9061023c908490600401610736565b600060405180830381600087803b15801561025657600080fd5b505af115801561026a573d6000803e3d6000fd5b5050506001600160a01b038316600090815260208181526040909120805460ff1916600117905561029e91508201826104d1565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103528560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061035f8185856103cc565b95945050505050565b600061014d6000836103ee565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806103c05763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104385763301164256000526004601cfd5b600060215292915050565b60006102c0828403121561045657600080fd5b50919050565b6000806040838503121561046f57600080fd5b823567ffffffffffffffff81111561048657600080fd5b61049285828601610443565b95602094909401359450505050565b6000602082840312156104b357600080fd5b5035919050565b80356001600160a01b03811681146101b757600080fd5b6000602082840312156104e357600080fd5b610209826104ba565b6000602082840312156104fe57600080fd5b813567ffffffffffffffff81111561051557600080fd5b61052184828501610443565b949350505050565b6000808335601e1984360301811261054057600080fd5b830160208101925035905067ffffffffffffffff81111561056057600080fd5b80360382131561056f57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff811681146101b757600080fd5b803580151581146101b757600080fd5b6000808335601e198436030181126105d857600080fd5b830160208101925035905067ffffffffffffffff8111156105f857600080fd5b8060051b360382131561056f57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003607e1901811261064957600080fd5b86018035845260208082013590850152604080820135908501526106706060820182610529565b915060806060860152610687608086018383610576565b60209a8b019a90955093909301925050600101610623565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003605e190181126106ea57600080fd5b860180358452602080820135908501526107076040820182610529565b91506060604086015261071e606086018383610576565b60209a8b019a909550939093019250506001016106c4565b602081526107576020820161074a846104ba565b6001600160a01b03169052565b60006107666020840184610529565b6102c0604085015261077d6102e085018284610576565b91505061078d6040850185610529565b848303601f190160608601526107a4838284610576565b925050506107b56060850185610529565b848303601f190160808601526107cc838284610576565b925050506107dc608085016104ba565b6001600160a01b03811660a0850152506107f960a0850185610529565b848303601f190160c0860152610810838284610576565b9250505061082060c085016104ba565b6001600160a01b03811660e08501525061083c60e085016104ba565b6001600160a01b0381166101008501525061085a610100850161059f565b61ffff811661012085015250610873610120850161059f565b61ffff81166101408501525061088c61014085016105b1565b801515610160850152506108a361016085016104ba565b6001600160a01b038116610180850152506101808401356101a0848101919091526108cf9085016104ba565b6001600160a01b0381166101c0850152506108ed6101c085016104ba565b6001600160a01b0381166101e08501525061090b6101e085016105b1565b8015156102008501525061092261020085016104ba565b6001600160a01b0381166102208501525061094061022085016105b1565b8015156102408501525061095761024085016104ba565b6001600160a01b0381166102608501525061026084013561028084810191909152610984908501856105c1565b848303601f19016102a086015261099c83828461060a565b925050506109ae6102a08501856105c1565b848303601f19016102c08601526109c68382846106ab565b969550505050505056fea2646970667358221220cf2f6648cd9d763f1c41c350571fbe5fc24201db2063f909f85ea5327cca670364736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615ba38061008d6000396000f3fe6080604052600436106106e95760003560e01c80637b1d470711610385578063bb77e796116101dc578063e2969ba71161010d578063ee748f2c116100ab578063f8d3adc81161007a578063f8d3adc814610a3d578063fca3b5aa146113f6578063fee81cf414611416578063ff87a5f51461144957600080fd5b8063ee748f2c14611387578063f04e283e1461139c578063f2235701146113af578063f2fde38b146113e357600080fd5b8063e8a3d485116100e7578063e8a3d485146112ec578063e8dc3e0914611301578063e985e9c514611351578063ea58f97114610e5457600080fd5b8063e2969ba7146112b1578063e42b7baf14610b52578063e4df18ec146112d157600080fd5b8063d50bac331161017a578063da2bbfc711610154578063da2bbfc71461124c578063dc9838791461126c578063e1b7938114611281578063e1c2ffad1461129c57600080fd5b8063d50bac331461120c578063d8b4f8ac14611237578063d90f5df214610f1d57600080fd5b8063c83569a9116101b6578063c83569a91461119e578063c87b56dd146111be578063cc1cf51514611183578063cfc59afd146111de57600080fd5b8063bb77e79614611143578063c3e617a214611163578063c4f260481461118357600080fd5b80639a5db503116102b6578063a9fc664e11610254578063ac998f451161022e578063ac998f45146110c9578063b18f004a146110f5578063b47842471461111b578063b88d4fde1461113057600080fd5b8063a9fc664e1461106e578063aa0de18d1461108e578063ac9650d8146110a957600080fd5b8063a148d8cf11610290578063a148d8cf14610ff3578063a22cb4651461100e578063a482c9461461102e578063a8cdf0781461104e57600080fd5b80639a5db50314610f875780639aa1a1f014610f9c578063a07c7ce414610fbc57600080fd5b8063909206e31161032357806392d9906f116102fd57806392d9906f14610f1d57806395d89b4114610f3257806396f4205a14610f4757806397e950f714610f6757600080fd5b8063909206e314610b7a578063913b385a14610efd57806392b29b1714610e8957600080fd5b806386b7f6a41161035f57806386b7f6a414610e895780638da5cb5b14610ea45780638e08141f14610ebd5780638e4cc07014610edd57600080fd5b80637b1d470714610e345780637d0b7ae414610e5457806384f6687f14610e6957600080fd5b80633dda44b0116105445780635e830656116104755780636c59f75911610413578063715018a6116103e2578063715018a614610db7578063738e149614610dbf57806374828e3414610deb57806375794a3c14610e1f57600080fd5b80636c59f75914610d4d5780636cb0281814610d625780636cbdef6114610d8257806370a0823114610d9757600080fd5b8063690533741161044f5780636905337414610cd25780636a62784214610ced5780636aaf760714610d0d5780636bd3922214610d2d57600080fd5b80635e83065614610c7257806361d8791f14610c925780636352211e14610cb257600080fd5b806355580cca116104e25780635b02f81c116104bc5780635b02f81c14610bf55780635c975abb14610c235780635d0b722014610c485780635e5a9e3014610c5d57600080fd5b806355580cca14610b7a57806355828c5014610b9c5780635a50ca6514610bca57600080fd5b80634331f6391161051e5780634331f63914610b0f5780634aa3adb314610b2f5780634efdb5ae14610b5257806354d1f13d14610b7257600080fd5b80633dda44b014610abc57806342842e0e14610adc57806342966c6814610aef57600080fd5b80631c31cac31161061e57806326dfe8c7116105bc5780632e73cddb116105965780632e73cddb14610a1d5780633990b22114610a3d5780633ba1bd8614610a5d5780633c59f1bb14610a7d57600080fd5b806326dfe8c7146109a9578063298bb40e146109c95780632a55205a146109de57600080fd5b806323b872dd116105f857806323b872dd1461096457806325628d3414610977578063256929621461098c578063261220a31461099457600080fd5b80631c31cac3146108b157806320ac0944146108d15780632352b33f146108e657600080fd5b80630b4c562b1161068b5780631622326a116106655780631622326a1461083957806316c38b3c1461085957806317afae431461087957806318160ddd1461088e57600080fd5b80630b4c562b146107dc5780630d705df6146107fc57806313bfffac1461082457600080fd5b8063081812fc116106c7578063081812fc1461077257806308a3839514610792578063095ea7b3146107b4578063098144d4146107c757600080fd5b806301ffc9a7146106ee57806306fdde03146107235780630754617214610745575b600080fd5b3480156106fa57600080fd5b5061070e610709366004614a59565b611469565b60405190151581526020015b60405180910390f35b34801561072f57600080fd5b50610738611549565b60405161071a9190614ad3565b34801561075157600080fd5b5061075a6115fb565b6040516001600160a01b03909116815260200161071a565b34801561077e57600080fd5b5061075a61078d366004614ae6565b61162e565b34801561079e57600080fd5b506107b26107ad366004614b77565b61166d565b005b6107b26107c2366004614c28565b6116f7565b3480156107d357600080fd5b5061075a611706565b3480156107e857600080fd5b506107b26107f7366004614c93565b61171c565b34801561080857600080fd5b506040805163657711f560e11b8152600160208201520161071a565b34801561083057600080fd5b5061075a611729565b34801561084557600080fd5b506107b2610854366004614c93565b611733565b34801561086557600080fd5b506107b2610874366004614cee565b611812565b34801561088557600080fd5b5061075a61186f565b34801561089a57600080fd5b506108a3611885565b60405190815260200161071a565b3480156108bd57600080fd5b506107b26108cc366004614d09565b6118af565b3480156108dd57600080fd5b5061075a6118ba565b3480156108f257600080fd5b50610947610901366004614ae6565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b60408051938452911515602084015215159082015260600161071a565b6107b2610972366004614d24565b6118c4565b34801561098357600080fd5b506107b26119d5565b6107b2611a3b565b3480156109a057600080fd5b50610738611a8a565b3480156109b557600080fd5b506107b26109c4366004614d09565b611aa0565b3480156109d557600080fd5b50610738611b66565b3480156109ea57600080fd5b506109fe6109f9366004614d61565b611b7c565b604080516001600160a01b03909316835260208301919091520161071a565b348015610a2957600080fd5b5061070e610a38366004614ae6565b611bd1565b348015610a4957600080fd5b506107b2610a58366004614d61565b611bdb565b348015610a6957600080fd5b50610738610a78366004614d61565b611be3565b348015610a8957600080fd5b50610a92611bed565b604080516001600160a01b039485168152928416602084015292169181019190915260600161071a565b348015610ac857600080fd5b506107b2610ad7366004614d61565b611bfa565b6107b2610aea366004614d24565b611c70565b348015610afb57600080fd5b506107b2610b0a366004614ae6565b611c9d565b348015610b1b57600080fd5b506107b2610b2a366004614d95565b611ce9565b348015610b3b57600080fd5b5060025b60405161ffff909116815260200161071a565b348015610b5e57600080fd5b506107b2610b6d366004614dc8565b611cfb565b6107b2611d03565b348015610b8657600080fd5b50610b8f611be3565b60405161071a9190614e56565b348015610ba857600080fd5b50610bbc610bb7366004614ae6565b611d3f565b60405161071a929190614e69565b348015610bd657600080fd5b50600080516020615b0e833981519152546001600160a01b031661075a565b348015610c0157600080fd5b50610c15610c10366004614e82565b611d4b565b60405161071a929190614eae565b348015610c2f57600080fd5b50600080516020615aae8339815191525460ff1661070e565b348015610c5457600080fd5b506107b2611d57565b348015610c6957600080fd5b506107b2611d61565b348015610c7e57600080fd5b506107b2610c8d366004614c28565b611db4565b348015610c9e57600080fd5b506107b2610cad366004614ed0565b611dd9565b348015610cbe57600080fd5b5061075a610ccd366004614ae6565b6120b7565b348015610cde57600080fd5b506107b26108cc366004614ae6565b348015610cf957600080fd5b506108a3610d08366004614d09565b6120f5565b348015610d1957600080fd5b50610738610d28366004614ae6565b612108565b348015610d3957600080fd5b50610947610d48366004614d61565b612112565b348015610d5957600080fd5b5061070e611729565b348015610d6e57600080fd5b50610738610d7d366004614ae6565b612166565b348015610d8e57600080fd5b506108a36121cc565b348015610da357600080fd5b506108a3610db2366004614d09565b6121e2565b6107b261221d565b348015610dcb57600080fd5b50600080516020615b0e83398151915254600160a01b900460ff1661070e565b348015610df757600080fd5b50610e0b610e06366004614ae6565b61222f565b60405161071a989796959493929190614f45565b348015610e2b57600080fd5b506108a3612243565b348015610e4057600080fd5b506107b2610e4f366004614d09565b61226b565b348015610e6057600080fd5b5061070e6118ba565b348015610e7557600080fd5b50610738610e84366004614d61565b6122ce565b348015610e9557600080fd5b506107b26107f7366004614e82565b348015610eb057600080fd5b50638b78c6d8195461075a565b348015610ec957600080fd5b506107b2610ed8366004614ae6565b612340565b348015610ee957600080fd5b506107b2610ef8366004614fa4565b6123af565b348015610f0957600080fd5b506107b2610f18366004614dc8565b612427565b348015610f2957600080fd5b506108a36118ba565b348015610f3e57600080fd5b506107386124a2565b348015610f5357600080fd5b506107b2610f62366004614d09565b6124d4565b348015610f7357600080fd5b506107b2610f82366004614ae6565b61251c565b348015610f9357600080fd5b506107b26125da565b348015610fa857600080fd5b506107b2610fb7366004614c93565b612626565b348015610fc857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661070e565b348015610fff57600080fd5b5061070e610a38366004614d61565b34801561101a57600080fd5b506107b2611029366004614fcf565b612669565b34801561103a57600080fd5b506107b2611049366004614ff9565b6126bf565b34801561105a57600080fd5b506107b2611069366004615059565b61273d565b34801561107a57600080fd5b506107b2611089366004614d09565b6127c8565b34801561109a57600080fd5b506107b26107f736600461509a565b6110bc6110b73660046150dd565b61281c565b60405161071a9190615112565b3480156110d557600080fd5b50600080516020615a8e83398151915254600160a01b900460ff1661070e565b34801561110157600080fd5b50600080516020615a4e8339815191525461ffff16610b3f565b34801561112757600080fd5b506107b261283b565b6107b261113e366004615177565b612887565b34801561114f57600080fd5b5061073861115e366004614ae6565b6128db565b34801561116f57600080fd5b506107b261117e366004615059565b61299c565b34801561118f57600080fd5b50610c15610c10366004614d61565b3480156111aa57600080fd5b506107b26111b93660046151c8565b6129fb565b3480156111ca57600080fd5b506107386111d9366004614ae6565b612aaf565b3480156111ea57600080fd5b506111fe6111f9366004614ae6565b612d0b565b60405161071a9291906151f3565b34801561121857600080fd5b50600080516020615a8e833981519152546001600160a01b031661075a565b34801561124357600080fd5b5061075a612d16565b34801561125857600080fd5b506107b2611267366004615059565b612d3e565b34801561127857600080fd5b506107b2612e15565b34801561128d57600080fd5b50610b8f610a78366004614ae6565b3480156112a857600080fd5b506107b2612e61565b3480156112bd57600080fd5b506107b26112cc366004614d09565b612eb4565b3480156112dd57600080fd5b50610bbc610bb7366004614d61565b3480156112f857600080fd5b50610738612f29565b34801561130d57600080fd5b50610b3f61131c366004614ae6565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561135d57600080fd5b5061070e61136c36600461520e565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561139357600080fd5b506107386130dd565b6107b26113aa366004614d09565b6130f3565b3480156113bb57600080fd5b506113cf6113ca366004614ae6565b613130565b60405161071a989796959493929190615238565b6107b26113f1366004614d09565b613145565b34801561140257600080fd5b506107b2611411366004614d09565b61316c565b34801561142257600080fd5b506108a3611431366004614d09565b63389a75e1600c908152600091909152602090205490565b34801561145557600080fd5b506107b2611464366004614d09565b6131e1565b6000611474826132b2565b806114835750611483826132e9565b8061149257506114928261332e565b806114a157506114a182613370565b806114b057506114b08261339d565b806114bf57506114bf82613404565b806114ce57506114ce8261342f565b806114dd57506114dd8261345a565b806114ec57506114ec82613485565b806114fb57506114fb826134b0565b8061150a575061150a826134db565b80611519575061151982613506565b80611528575061152882613531565b8061154357506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054611578906152f4565b80601f01602080910402602001604051908101604052809291908181526020018280546115a4906152f4565b80156115f15780601f106115c6576101008083540402835291602001916115f1565b820191906000526020600020905b8154815290600101906020018083116115d457829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6116635763ceea21b66000526004601cfd5b6001015492915050565b61167561355c565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906116bc908c908c908c908c908c908c908c908c908c90600401615396565b60006040518083038186803b1580156116d457600080fd5b505af41580156116e8573d6000803e3d6000fd5b50505050505050505050505050565b611702338383613577565b5050565b6000600080516020615b4e83398151915261161f565b611724613618565b505050565b60006106e9613620565b61173b61355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156117835760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061179e8385836154b1565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516117d1929190615570565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b61181a61355c565b600080516020615aae833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615b2e83398151915261161f565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6118b7613618565b50565b60006106e9613630565b6118cf838383613640565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119215767ceea21b6a1148100831560021b526004601cfd5b85600052816001015492508233148633141761194f576030600c205461194f57634b6e7f186000526004601cfd5b821561195d57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119a05767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461172483838361364b565b6119dd61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b505af4158015611a35573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615ace83398151915261156d565b611aa861355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff1615611af0576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615aee83398151915261156d565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611bb0576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106e9613661565b611702613618565b60606106e9613620565b60008060006106e9613620565b611c0261355c565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b158015611c5457600080fd5b505af4158015611c68573d6000803e3d6000fd5b505050505050565b611c7b8383836118c4565b813b156117245761172483838360405180602001604052806000815250613671565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611cdf5760405163be20705f60e01b815260040160405180910390fd5b6118b733826136f5565b611cf161355c565b61170282826137d6565b611a35613618565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106e9613661565b606060006106e9613620565b611d5f613618565b565b611d6961355c565b600080516020615a8e833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611dbc6138b8565b60005b8181101561172457611dd08361393a565b50600101611dbf565b63409feecd198054600382558015611e105760018160011c14303b10611e075763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101800135600003611e375760405163fe5afcb960e01b815260040160405180910390fd5b8161018001358261026001351115611e6257604051633f63c5bf60e01b815260040160405180910390fd5b611e77611e726020840184614d09565b6139ff565b611e9c611e876060840184615584565b611e9760a0860160808701614d09565b613a2f565b611ebe611eac6020840184615584565b611eb96040860186615584565b613a70565b611ec6613aad565b611f03611eda610100840160e08501614d09565b611eec610120850161010086016151c8565b611efe610140860161012087016151c8565b613ae3565b611f1d611f1861016084016101408501614cee565b613b93565b611f2b826101800135613bf3565b611f45611f406101e084016101c08501614d09565b613c5f565b611f5f611f5a6101c084016101a08501614d09565b613cc0565b611f79611f7461020084016101e08501614cee565b613d21565b611f93611f8e61022084016102008501614d09565b613d9f565b611f9b613dee565b611fb5611fb061024084016102208501614cee565b613e19565b611fbd613ec3565b611fc5613eee565b611fe9611fd66102808401846155ca565b611fe46102a08601866155ca565b613f19565b61200e611ff960a0840184615584565b61200960e0860160c08701614d09565b613f5e565b61202861202361018084016101608501614d09565b613fc6565b600061203c61026084016102408501614d09565b6001600160a01b03161461207f5760005b82610260013581101561207d5761207461206f61026085016102408601614d09565b61393a565b5060010161204d565b505b8015611702576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806120f05763ceea21b66000526004601cfd5b919050565b60006120ff6138b8565b6115438261393a565b60606106e9613630565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156121b4576121af8161402b565b6121c5565b604051806020016040528060008152505b9392505050565b6000600080516020615a6e8339815191526118a9565b6000816121f757638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61222561355c565b611d5f6000614059565b6000806000806000806000806106e9613620565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006118a9565b61227361355c565b80600080516020615b2e8339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b03168015612327576123228161402b565b612338565b604051806020016040528060008152505b949350505050565b61234861355c565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561239457600080fd5b505af41580156123a8573d6000803e3d6000fd5b5050505050565b6123b761355c565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906123f290869086908690600401615613565b60006040518083038186803b15801561240a57600080fd5b505af415801561241e573d6000803e3d6000fd5b50505050505050565b61242f61355c565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061246c908790879087908790600401615635565b60006040518083038186803b15801561248457600080fd5b505af4158015612498573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054611578906152f4565b6124dc61355c565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161237c565b61252461355c565b600080516020615a6e83398151915260008290036125555760405163fe5afcb960e01b815260040160405180910390fd5b805482111561257757604051632b953d0360e11b815260040160405180910390fd5b61257f612243565b82101561259f57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6125e261355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b61262e61355c565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906123f29086908690869060040161565f565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6126c761355c565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906127069088908890889088908890600401615682565b60006040518083038186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b505050505050505050565b61274561355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff161561278d576040516352be865b60e01b815260040160405180910390fd5b806127998385836154b1565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b600080516020615b4e8339815191528054600160a01b900460ff1661280057604051638915b2e160e01b815260040160405180910390fd5b61280982614097565b61281381836140fb565b6117028261416b565b6060341561282957600080fd5b61154361283684846141de565b614275565b61284361355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b6128928585856118c4565b833b156123a8576123a885858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061367192505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612917906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612943906152f4565b80156129905780601f1061296557610100808354040283529160200191612990565b820191906000526020600020905b81548152906001019060200180831161297357829003601f168201915b50505050509050919050565b6129a461355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff16156129ec576040516352be865b60e01b815260040160405180910390fd5b600181016127998385836154b1565b612a0361355c565b600080516020615a4e833981519152805461ffff90811690831610612a3e576040516001625957a760e11b0319815260040160405180910390fd5b612a46614285565b61ffff168261ffff161015612a6e5760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020016125ce565b6060612ad9826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612af65760405163163a09e160e31b815260040160405180910390fd5b600080516020615a8e83398151915254600080516020615ace833981519152906001600160a01b031615612b9d57600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612b75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121c591908101906156b3565b600083815260028201602052604081208054612bb8906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612be4906152f4565b8015612c315780601f10612c0657610100808354040283529160200191612c31565b820191906000526020600020905b815481529060010190602001808311612c1457829003601f168201915b505050505090508051600014612c48579392505050565b81548290612c55906152f4565b9050600003612c7557505060408051602081019091526000815292915050565b612338826000018054612c87906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612cb3906152f4565b8015612d005780601f10612cd557610100808354040283529160200191612d00565b820191906000526020600020905b815481529060010190602001808311612ce357829003601f168201915b505050505085614294565b6000806106e9613630565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061161f565b612d4661355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff1615612d8e5760405163dd48f3ab60e01b815260040160405180910390fd5b80612d9a8385836154b1565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612dcc929190615570565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b612e1d61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b612e6961355c565b600080516020615b0e833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612ebc61355c565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b0e83398151915254606090600080516020615aee833981519152906001600160a01b031615612fd057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612fa2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fca91908101906156b3565b91505090565b806001018054612fdf906152f4565b15905061307957806001018054612ff5906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054613021906152f4565b801561306e5780601f106130435761010080835404028352916020019161306e565b820191906000526020600020905b81548152906001019060200180831161305157829003601f168201915b505050505091505090565b80548190613086906152f4565b90506000036130a357505060408051602081019091526000815290565b806130ad466142dc565b6130b630614320565b6040516020016130c893929190615778565b60405160208183030381529060405291505090565b6060600080516020615aee8339815191526124c6565b6130fb61355c565b63389a75e1600c52806000526020600c20805442111561312357636f5e88186000526004601cfd5b600090556118b781614059565b600080600080600080600060606106e9613620565b61314d61355c565b8060601b61316357637448fbae6000526004601cfd5b6118b781614059565b61317461355c565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6131e961355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156132315760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016125ce565b60006132bd82614344565b806115435750611543826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613311826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806115435750506001600160e01b031916632483248360e11b1490565b600061333982614344565b8061331157506001600160e01b031982166307ccd03560e31b14806115435750506001600160e01b031916632483248360e11b1490565b600061337b82614344565b806115435750632a55205a60e083901c9081146301ffc9a79190911417611543565b60006133a882614344565b8061154357506001600160e01b03198216632b435fdb60e21b14806133dd57506001600160e01b0319821663503e914d60e11b145b80156115435750600080516020615b4e83398151915254600160a01b900460ff1692915050565b600061340f82614344565b8061154357506001600160e01b03198216636cbdef6160e01b1492915050565b600061343a82614344565b8061154357506001600160e01b031982166303aa30b960e11b1492915050565b600061346582614344565b8061154357506001600160e01b0319821663362d3e2b60e21b1492915050565b600061349082614344565b8061154357506001600160e01b03198216635c975abb60e01b1492915050565b60006134bb82614344565b8061154357506001600160e01b031982166317afae4360e01b1492915050565b60006134e68261437a565b8061154357506001600160e01b0319821663a2316e0b60e01b1492915050565b600061351182614344565b8061154357506001600160e01b0319821663215f672360e21b1492915050565b600061353c82614344565b8061154357506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314611d5f576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816135be5763ceea21b66000526004601cfd5b8185148515176135e457816000526030600c20546135e457634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b611d5f6143a5565b6143a58061170263ffffffff8216565b6143dd8061170263ffffffff8216565b61172483838361440f565b6136568383836144db565b61172481848461455e565b6146078061170263ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156136b8578060c08401826020870160045afa505b60208360a48301601c860160008a5af16136db573d156136db573d6000843e3d83fd5b508060e01b825114611c685763d1a57ed66000526004601cfd5b6000613700826120b7565b905061370e81600084613640565b5060008181526001600160a01b03928316673ec412a9852d173d60c11b8117601c5260209091208201820180549193821691826137535763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613782576030600c205461378257634b6e7f186000526004601cfd5b801561379057600083600101555b5082189055601c600c208054600019019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46117248160008461364b565b600080516020615a4e8339815191525461ffff1661ffff168161ffff1611156138125760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff1660000361386b57613830600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613879828261ffff16614639565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161385f565b638b78c6d819546001600160a01b031633036138d057565b600080516020615aae8339815191525460ff1615613901576040516375ab03ab60e11b815260040160405180910390fd5b6139096115fb565b6001600160a01b0316336001600160a01b031614611d5f5760405163263ab11d60e21b815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0080549061396782614689565b6001828101825560008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808320631cd9595960e21b845290915290200154610100900460ff166139ef5760008060006139ca85876146b8565b92509250925082156139eb576139eb85631cd9595960e21b846000856147c6565b5050505b6139f98383614823565b50919050565b6001600160a01b038116613a26576040516349e27cff60e01b815260040160405180910390fd5b6118b7816148d8565b600080516020615ace83398151915280613a4a8486836154b1565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613a9d8587836154b1565b5060018101611c688385836154b1565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b613b0e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614914565b61271061ffff82161115613b34576040516274280760e61b815260040160405180910390fd5b80600080516020615a4e833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161172483836137d6565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914001805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611864565b613c1e7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614914565b80600080516020615a6e833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611864565b613c8a7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614914565b6001600160a01b038116156118b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00613197565b613ceb7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614914565b6001600160a01b038116156118b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612edf565b613d4c7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614914565b80156118b757600080516020615aae833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611864565b613dca7fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614914565b6001600160a01b038116156118b75780600080516020615b2e833981519152612284565b611d5f7f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614914565b613e447f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614914565b8015613e825760405163487fbd2b60e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063487fbd2b9060240161237c565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b611d5f7fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614914565b611d5f7fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614914565b613f21614986565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061246c9087908790879087906004016158b4565b600080516020615aee83398151915280613f798486836154b1565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6001600160a01b038116613fd75750565b613fe0816149b1565b600080516020615b4e833981519152805460ff60a01b1916600160a01b1781556128097f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614914565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006140a6638b78c6d8195490565b6001600160a01b0316036140db576001600160a01b038116156118b7576040516282b42960e81b815260040160405180910390fd5b6140e361355c565b6001600160a01b038116156118b7576118b7816149b1565b81546001600160a01b03908116908216810361411657505050565b82546001600160a01b0319166001600160a01b03838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612e08565b6001600160a01b03811661417c5750565b60405163fb2de5d760e01b81523060048201526102d160248201526001600160a01b0382169063fb2de5d790604401600060405180830381600087803b1580156141c557600080fd5b505af19250505080156141d6575060015b156118b75750565b600060405190506020815281816020015280604001808360051b80868437820180851561425d575b835187018035602082018337600038823584305af4614228573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614206575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806121c581612710611b7c565b6060826142a0466142dc565b6142a930614320565b6142b2856142dc565b6040516020016142c59493929190615968565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806142f7575050819003601f19909101908152919050565b606061432b826149ea565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061154357506001600160e01b0319821663513fc9dd60e11b1492915050565b600061438582614344565b8061154357506001600160e01b03198216638bd8666560e01b1492915050565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b503d6000f35b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b600080516020615b4e833981519152546001600160a01b0316806144335750505050565b6001600160a01b038416158061445057506001600160a01b038316155b1561445b5750505050565b6001600160a01b03811633036144715750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b1580156144c757600080fd5b505afa158015612498573d6000803e3d6000fd5b6001600160a01b038316614521577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a04565b90915550505050565b6001600160a01b038216611724577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a1d565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b0316806145945750505050565b604051631e68598960e21b8152600481018590526001600160a01b0384811660248301528381166044830152336064830152600160848301528216906379a166249060a401600060405180830381600087803b1580156145f357600080fd5b505af1158015612498573d6000803e3d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b6bffffffffffffffffffffffff16612710808211156146605763350a88b36000526004601cfd5b8260601b806146775763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b600080516020615a6e8339815191525481106118b75760405163ba470cd560e01b815260040160405180910390fd5b600080516020615b2e8339815191525460009081906001600160a01b0316806146e95750600091508190508061215f565b73__$e7b790d12aa4dbca4f4490208141613ae5$__631de450a06040518163ffffffff1660e01b815260040160006040518083038186803b15801561472d57600080fd5b505af4158015614741573d6000803e3d6000fd5b505060405163058e173960e11b8152600481018890526001600160a01b0387811660248301526001935084169150630b1c2e72906044016020604051808303816000875af1158015614797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147bb9190615a34565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a401612706565b61482f60008383613640565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b1561486d5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026148a25767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46117026000838361364b565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161385f565b611d5f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614914565b600063a9b1c2d36000526000386004601c855afa823b15179050801561170257604051631ab5243360e31b815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614a2a575050919050565b600060208284031215614a6b57600080fd5b81356001600160e01b0319811681146121c557600080fd5b60005b83811015614a9e578181015183820152602001614a86565b50506000910152565b60008151808452614abf816020860160208601614a83565b601f01601f19169290920160200192915050565b6020815260006121c56020830184614aa7565b600060208284031215614af857600080fd5b5035919050565b80356001600160a01b03811681146120f057600080fd5b803565ffffffffffff811681146120f057600080fd5b60008083601f840112614b3e57600080fd5b5081356001600160401b03811115614b5557600080fd5b6020830191508360208260051b8501011115614b7057600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614b9657600080fd5b8935985060208a013560098110614bac57600080fd5b975060408a013560078110614bc057600080fd5b9650614bce60608b01614aff565b9550614bdc60808b01614b16565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614c0557600080fd5b614c118c828d01614b2c565b915080935050809150509295985092959850929598565b60008060408385031215614c3b57600080fd5b614c4483614aff565b946020939093013593505050565b60008083601f840112614c6457600080fd5b5081356001600160401b03811115614c7b57600080fd5b602083019150836020828501011115614b7057600080fd5b600080600060408486031215614ca857600080fd5b8335925060208401356001600160401b03811115614cc557600080fd5b614cd186828701614c52565b9497909650939450505050565b803580151581146120f057600080fd5b600060208284031215614d0057600080fd5b6121c582614cde565b600060208284031215614d1b57600080fd5b6121c582614aff565b600080600060608486031215614d3957600080fd5b614d4284614aff565b9250614d5060208501614aff565b929592945050506040919091013590565b60008060408385031215614d7457600080fd5b50508035926020909101359150565b803561ffff811681146120f057600080fd5b60008060408385031215614da857600080fd5b614db183614aff565b9150614dbf60208401614d83565b90509250929050565b60008060008060608587031215614dde57600080fd5b843593506020850135925060408501356001600160401b03811115614e0257600080fd5b614e0e87828801614c52565b95989497509550505050565b600081518084526020840193506020830160005b82811015614e4c578151865260209586019590910190600101614e2e565b5093949350505050565b6020815260006121c56020830184614e1a565b8281526040602082015260006123386040830184614aa7565b600080600060608486031215614e9757600080fd5b505081359360208301359350604090920135919050565b604081526000614ec16040830185614e1a565b90508260208301529392505050565b600060208284031215614ee257600080fd5b81356001600160401b03811115614ef857600080fd5b82016102c081850312156121c557600080fd5b634e487b7160e01b600052602160045260246000fd5b60098110614f3157614f31614f0b565b9052565b60078110614f3157614f31614f0b565b88151581526101008101614f5c602083018a614f21565b614f696040830189614f35565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fb957600080fd5b83359250602084013560028110614d5057600080fd5b60008060408385031215614fe257600080fd5b614feb83614aff565b9150614dbf60208401614cde565b60008060008060006080868803121561501157600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561503c57600080fd5b61504888828901614c52565b969995985093965092949392505050565b6000806020838503121561506c57600080fd5b82356001600160401b0381111561508257600080fd5b61508e85828601614c52565b90969095509350505050565b6000806000606084860312156150af57600080fd5b6150b884614aff565b92506150c660208501614aff565b91506150d460408501614aff565b90509250925092565b600080602083850312156150f057600080fd5b82356001600160401b0381111561510657600080fd5b61508e85828601614b2c565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561516b57603f19878603018452615156858351614aa7565b9450602093840193919091019060010161513a565b50929695505050505050565b60008060008060006080868803121561518f57600080fd5b61519886614aff565b94506151a660208701614aff565b93506040860135925060608601356001600160401b0381111561503c57600080fd5b6000602082840312156151da57600080fd5b6121c582614d83565b60028110614f3157614f31614f0b565b6040810161520182856151e3565b8260208301529392505050565b6000806040838503121561522157600080fd5b61522a83614aff565b9150614dbf60208401614aff565b600061010082018a15158352615251602084018b614f21565b61525e604084018a614f35565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156152e15761011f198786030184526152cc858351614aa7565b945060209384019391909101906001016152af565b50929d9c50505050505050505050505050565b600181811c9082168061530857607f821691505b6020821081036139f957634e487b7160e01b600052602260045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261536857600080fd5b83016020810192503590506001600160401b0381111561538757600080fd5b803603821315614b7057600080fd5b600061010082018b83526153ad602084018c614f21565b6153ba604084018b614f35565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154415785840361011f1901835261541f8289615351565b61542a868284615328565b955050506020928301929190910190600101615403565b50919d9c50505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b601f82111561172457806000526020600020601f840160051c810160208510156154915750805b601f840160051c820191505b818110156123a8576000815560010161549d565b6001600160401b038311156154c8576154c8615454565b6154dc836154d683546152f4565b8361546a565b6000601f84116001811461551057600085156154f85750838201355b600019600387901b1c1916600186901b1783556123a8565b600083815260209020601f19861690835b828110156155415786850135825560209485019460019092019101615521565b508682101561555e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b602081526000612338602083018486615328565b6000808335601e1984360301811261559b57600080fd5b8301803591506001600160401b038211156155b557600080fd5b602001915036819003821315614b7057600080fd5b6000808335601e198436030181126155e157600080fd5b8301803591506001600160401b038211156155fb57600080fd5b6020019150600581901b3603821315614b7057600080fd5b8381526060810161562760208301856151e3565b826040830152949350505050565b848152836020820152606060408201526000615655606083018486615328565b9695505050505050565b838152604060208201526000615679604083018486615328565b95945050505050565b8581528460208201528360408201526080606082015260006156a8608083018486615328565b979650505050505050565b6000602082840312156156c557600080fd5b81516001600160401b038111156156db57600080fd5b8201601f810184136156ec57600080fd5b80516001600160401b0381111561570557615705615454565b604051601f8201601f19908116603f011681016001600160401b038111828210171561573357615733615454565b60405281815282820160200186101561574b57600080fd5b615679826020830160208601614a83565b6000815161576e818560208601614a83565b9290920192915050565b6000808554615786816152f4565b60018216801561579d57600181146157b2576157e2565b60ff19831686528115158202860193506157e2565b88600052602060002060005b838110156157da578154888201526001909101906020016157be565b505081860193505b505050602f60f81b815284516157ff816001840160208901614a83565b0161581060018201602f60f81b9052565b615655600282018561575c565b60008383855260208501945060208460051b8201018360005b868110156158a857838303601f19018852813536879003605e1901811261585c57600080fd5b860180358452602080820135908501526158796040820182615351565b915060606040860152615890606086018383615328565b60209a8b019a90955093909301925050600101615836565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b8982101561595157868503605f1901845282358181126158f857600080fd5b8b0180358652602080820135908701526040808201359087015261591f6060820182615351565b915060806060880152615936608088018383615328565b965050506020830192506020840193506001820191506158d9565b5050505082810360208401526156a881858761581d565b6000855161597a818460208a01614a83565b602f60f81b9083019081528551615998816001840160208a01614a83565b602f60f81b6001929091019182015284516159ba816002840160208901614a83565b600181830101915050602f60f81b600182015283516159e0816002840160208801614a83565b016002019695505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201615a1657615a166159ee565b5060010190565b600081615a2c57615a2c6159ee565b506000190190565b600060208284031215615a4657600080fd5b505191905056fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382011f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a264697066735822122002782ac4a206149a8b35480d2c8fc19856f35306fdfe6f2c396827f414db085764736f6c634300081c0033";
|
|
13
|
+
export const seriesCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615c3080610a9483390190565b608051610a0661008e6000396000818160a40152818161011c0152818161015a0152818161018701526102a90152610a066000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063302c59ce1461005c5780635414dff01461008c5780635c60da1b1461009f5780635c857b3e146100c6578063f84467d5146100f9575b600080fd5b61006f61006a36600461045c565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f61009a3660046104a1565b610153565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100e96100d43660046104d1565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b61006f6101073660046104ec565b610180565b6000610117826101bc565b6101417f0000000000000000000000000000000000000000000000000000000000000000836101fb565b905061014d8184610210565b92915050565b600061014d7f0000000000000000000000000000000000000000000000000000000000000000833061030b565b60006101ab7f0000000000000000000000000000000000000000000000000000000000000000610368565b90506101b78183610210565b919050565b606081901c80158015906101d957506001600160a01b0381163314155b156101f75760405163c61a579960e01b815260040160405180910390fd5b5050565b600061020960008484610375565b9392505050565b6040516361d8791f60e01b81526001600160a01b038316906361d8791f9061023c908490600401610736565b600060405180830381600087803b15801561025657600080fd5b505af115801561026a573d6000803e3d6000fd5b5050506001600160a01b038316600090815260208181526040909120805460ff1916600117905561029e91508201826104d1565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103528560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061035f8185856103cc565b95945050505050565b600061014d6000836103ee565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806103c05763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104385763301164256000526004601cfd5b600060215292915050565b60006102c0828403121561045657600080fd5b50919050565b6000806040838503121561046f57600080fd5b823567ffffffffffffffff81111561048657600080fd5b61049285828601610443565b95602094909401359450505050565b6000602082840312156104b357600080fd5b5035919050565b80356001600160a01b03811681146101b757600080fd5b6000602082840312156104e357600080fd5b610209826104ba565b6000602082840312156104fe57600080fd5b813567ffffffffffffffff81111561051557600080fd5b61052184828501610443565b949350505050565b6000808335601e1984360301811261054057600080fd5b830160208101925035905067ffffffffffffffff81111561056057600080fd5b80360382131561056f57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff811681146101b757600080fd5b803580151581146101b757600080fd5b6000808335601e198436030181126105d857600080fd5b830160208101925035905067ffffffffffffffff8111156105f857600080fd5b8060051b360382131561056f57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003607e1901811261064957600080fd5b86018035845260208082013590850152604080820135908501526106706060820182610529565b915060806060860152610687608086018383610576565b60209a8b019a90955093909301925050600101610623565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003605e190181126106ea57600080fd5b860180358452602080820135908501526107076040820182610529565b91506060604086015261071e606086018383610576565b60209a8b019a909550939093019250506001016106c4565b602081526107576020820161074a846104ba565b6001600160a01b03169052565b60006107666020840184610529565b6102c0604085015261077d6102e085018284610576565b91505061078d6040850185610529565b848303601f190160608601526107a4838284610576565b925050506107b56060850185610529565b848303601f190160808601526107cc838284610576565b925050506107dc608085016104ba565b6001600160a01b03811660a0850152506107f960a0850185610529565b848303601f190160c0860152610810838284610576565b9250505061082060c085016104ba565b6001600160a01b03811660e08501525061083c60e085016104ba565b6001600160a01b0381166101008501525061085a610100850161059f565b61ffff811661012085015250610873610120850161059f565b61ffff81166101408501525061088c61014085016105b1565b801515610160850152506108a361016085016104ba565b6001600160a01b038116610180850152506101808401356101a0848101919091526108cf9085016104ba565b6001600160a01b0381166101c0850152506108ed6101c085016104ba565b6001600160a01b0381166101e08501525061090b6101e085016105b1565b8015156102008501525061092261020085016104ba565b6001600160a01b0381166102208501525061094061022085016105b1565b8015156102408501525061095761024085016104ba565b6001600160a01b0381166102608501525061026084013561028084810191909152610984908501856105c1565b848303601f19016102a086015261099c83828461060a565b925050506109ae6102a08501856105c1565b848303601f19016102c08601526109c68382846106ab565b969550505050505056fea26469706673582212201e20ea2c171db0761606beb87ba1f2f8e407249f221e9240a5fb8b0a11e3b26f64736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615ba38061008d6000396000f3fe6080604052600436106106e95760003560e01c80637b1d470711610385578063bb77e796116101dc578063e2969ba71161010d578063ee748f2c116100ab578063f8d3adc81161007a578063f8d3adc814610a3d578063fca3b5aa146113f6578063fee81cf414611416578063ff87a5f51461144957600080fd5b8063ee748f2c14611387578063f04e283e1461139c578063f2235701146113af578063f2fde38b146113e357600080fd5b8063e8a3d485116100e7578063e8a3d485146112ec578063e8dc3e0914611301578063e985e9c514611351578063ea58f97114610e5457600080fd5b8063e2969ba7146112b1578063e42b7baf14610b52578063e4df18ec146112d157600080fd5b8063d50bac331161017a578063da2bbfc711610154578063da2bbfc71461124c578063dc9838791461126c578063e1b7938114611281578063e1c2ffad1461129c57600080fd5b8063d50bac331461120c578063d8b4f8ac14611237578063d90f5df214610f1d57600080fd5b8063c83569a9116101b6578063c83569a91461119e578063c87b56dd146111be578063cc1cf51514611183578063cfc59afd146111de57600080fd5b8063bb77e79614611143578063c3e617a214611163578063c4f260481461118357600080fd5b80639a5db503116102b6578063a9fc664e11610254578063ac998f451161022e578063ac998f45146110c9578063b18f004a146110f5578063b47842471461111b578063b88d4fde1461113057600080fd5b8063a9fc664e1461106e578063aa0de18d1461108e578063ac9650d8146110a957600080fd5b8063a148d8cf11610290578063a148d8cf14610ff3578063a22cb4651461100e578063a482c9461461102e578063a8cdf0781461104e57600080fd5b80639a5db50314610f875780639aa1a1f014610f9c578063a07c7ce414610fbc57600080fd5b8063909206e31161032357806392d9906f116102fd57806392d9906f14610f1d57806395d89b4114610f3257806396f4205a14610f4757806397e950f714610f6757600080fd5b8063909206e314610b7a578063913b385a14610efd57806392b29b1714610e8957600080fd5b806386b7f6a41161035f57806386b7f6a414610e895780638da5cb5b14610ea45780638e08141f14610ebd5780638e4cc07014610edd57600080fd5b80637b1d470714610e345780637d0b7ae414610e5457806384f6687f14610e6957600080fd5b80633dda44b0116105445780635e830656116104755780636c59f75911610413578063715018a6116103e2578063715018a614610db7578063738e149614610dbf57806374828e3414610deb57806375794a3c14610e1f57600080fd5b80636c59f75914610d4d5780636cb0281814610d625780636cbdef6114610d8257806370a0823114610d9757600080fd5b8063690533741161044f5780636905337414610cd25780636a62784214610ced5780636aaf760714610d0d5780636bd3922214610d2d57600080fd5b80635e83065614610c7257806361d8791f14610c925780636352211e14610cb257600080fd5b806355580cca116104e25780635b02f81c116104bc5780635b02f81c14610bf55780635c975abb14610c235780635d0b722014610c485780635e5a9e3014610c5d57600080fd5b806355580cca14610b7a57806355828c5014610b9c5780635a50ca6514610bca57600080fd5b80634331f6391161051e5780634331f63914610b0f5780634aa3adb314610b2f5780634efdb5ae14610b5257806354d1f13d14610b7257600080fd5b80633dda44b014610abc57806342842e0e14610adc57806342966c6814610aef57600080fd5b80631c31cac31161061e57806326dfe8c7116105bc5780632e73cddb116105965780632e73cddb14610a1d5780633990b22114610a3d5780633ba1bd8614610a5d5780633c59f1bb14610a7d57600080fd5b806326dfe8c7146109a9578063298bb40e146109c95780632a55205a146109de57600080fd5b806323b872dd116105f857806323b872dd1461096457806325628d3414610977578063256929621461098c578063261220a31461099457600080fd5b80631c31cac3146108b157806320ac0944146108d15780632352b33f146108e657600080fd5b80630b4c562b1161068b5780631622326a116106655780631622326a1461083957806316c38b3c1461085957806317afae431461087957806318160ddd1461088e57600080fd5b80630b4c562b146107dc5780630d705df6146107fc57806313bfffac1461082457600080fd5b8063081812fc116106c7578063081812fc1461077257806308a3839514610792578063095ea7b3146107b4578063098144d4146107c757600080fd5b806301ffc9a7146106ee57806306fdde03146107235780630754617214610745575b600080fd5b3480156106fa57600080fd5b5061070e610709366004614a59565b611469565b60405190151581526020015b60405180910390f35b34801561072f57600080fd5b50610738611549565b60405161071a9190614ad3565b34801561075157600080fd5b5061075a6115fb565b6040516001600160a01b03909116815260200161071a565b34801561077e57600080fd5b5061075a61078d366004614ae6565b61162e565b34801561079e57600080fd5b506107b26107ad366004614b77565b61166d565b005b6107b26107c2366004614c28565b6116f7565b3480156107d357600080fd5b5061075a611706565b3480156107e857600080fd5b506107b26107f7366004614c93565b61171c565b34801561080857600080fd5b506040805163657711f560e11b8152600160208201520161071a565b34801561083057600080fd5b5061075a611729565b34801561084557600080fd5b506107b2610854366004614c93565b611733565b34801561086557600080fd5b506107b2610874366004614cee565b611812565b34801561088557600080fd5b5061075a61186f565b34801561089a57600080fd5b506108a3611885565b60405190815260200161071a565b3480156108bd57600080fd5b506107b26108cc366004614d09565b6118af565b3480156108dd57600080fd5b5061075a6118ba565b3480156108f257600080fd5b50610947610901366004614ae6565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b60408051938452911515602084015215159082015260600161071a565b6107b2610972366004614d24565b6118c4565b34801561098357600080fd5b506107b26119d5565b6107b2611a3b565b3480156109a057600080fd5b50610738611a8a565b3480156109b557600080fd5b506107b26109c4366004614d09565b611aa0565b3480156109d557600080fd5b50610738611b66565b3480156109ea57600080fd5b506109fe6109f9366004614d61565b611b7c565b604080516001600160a01b03909316835260208301919091520161071a565b348015610a2957600080fd5b5061070e610a38366004614ae6565b611bd1565b348015610a4957600080fd5b506107b2610a58366004614d61565b611bdb565b348015610a6957600080fd5b50610738610a78366004614d61565b611be3565b348015610a8957600080fd5b50610a92611bed565b604080516001600160a01b039485168152928416602084015292169181019190915260600161071a565b348015610ac857600080fd5b506107b2610ad7366004614d61565b611bfa565b6107b2610aea366004614d24565b611c70565b348015610afb57600080fd5b506107b2610b0a366004614ae6565b611c9d565b348015610b1b57600080fd5b506107b2610b2a366004614d95565b611ce9565b348015610b3b57600080fd5b5060035b60405161ffff909116815260200161071a565b348015610b5e57600080fd5b506107b2610b6d366004614dc8565b611cfb565b6107b2611d03565b348015610b8657600080fd5b50610b8f611be3565b60405161071a9190614e56565b348015610ba857600080fd5b50610bbc610bb7366004614ae6565b611d3f565b60405161071a929190614e69565b348015610bd657600080fd5b50600080516020615b0e833981519152546001600160a01b031661075a565b348015610c0157600080fd5b50610c15610c10366004614e82565b611d4b565b60405161071a929190614eae565b348015610c2f57600080fd5b50600080516020615aae8339815191525460ff1661070e565b348015610c5457600080fd5b506107b2611d57565b348015610c6957600080fd5b506107b2611d61565b348015610c7e57600080fd5b506107b2610c8d366004614c28565b611db4565b348015610c9e57600080fd5b506107b2610cad366004614ed0565b611dd9565b348015610cbe57600080fd5b5061075a610ccd366004614ae6565b6120b7565b348015610cde57600080fd5b506107b26108cc366004614ae6565b348015610cf957600080fd5b506108a3610d08366004614d09565b6120f5565b348015610d1957600080fd5b50610738610d28366004614ae6565b612108565b348015610d3957600080fd5b50610947610d48366004614d61565b612112565b348015610d5957600080fd5b5061070e611729565b348015610d6e57600080fd5b50610738610d7d366004614ae6565b612166565b348015610d8e57600080fd5b506108a36121cc565b348015610da357600080fd5b506108a3610db2366004614d09565b6121e2565b6107b261221d565b348015610dcb57600080fd5b50600080516020615b0e83398151915254600160a01b900460ff1661070e565b348015610df757600080fd5b50610e0b610e06366004614ae6565b61222f565b60405161071a989796959493929190614f45565b348015610e2b57600080fd5b506108a3612243565b348015610e4057600080fd5b506107b2610e4f366004614d09565b61226b565b348015610e6057600080fd5b5061070e6118ba565b348015610e7557600080fd5b50610738610e84366004614d61565b6122ce565b348015610e9557600080fd5b506107b26107f7366004614e82565b348015610eb057600080fd5b50638b78c6d8195461075a565b348015610ec957600080fd5b506107b2610ed8366004614ae6565b612340565b348015610ee957600080fd5b506107b2610ef8366004614fa4565b6123af565b348015610f0957600080fd5b506107b2610f18366004614dc8565b612427565b348015610f2957600080fd5b506108a36118ba565b348015610f3e57600080fd5b506107386124a2565b348015610f5357600080fd5b506107b2610f62366004614d09565b6124d4565b348015610f7357600080fd5b506107b2610f82366004614ae6565b61251c565b348015610f9357600080fd5b506107b26125da565b348015610fa857600080fd5b506107b2610fb7366004614c93565b612626565b348015610fc857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661070e565b348015610fff57600080fd5b5061070e610a38366004614d61565b34801561101a57600080fd5b506107b2611029366004614fcf565b612669565b34801561103a57600080fd5b506107b2611049366004614ff9565b6126bf565b34801561105a57600080fd5b506107b2611069366004615059565b61273d565b34801561107a57600080fd5b506107b2611089366004614d09565b6127c8565b34801561109a57600080fd5b506107b26107f736600461509a565b6110bc6110b73660046150dd565b61281c565b60405161071a9190615112565b3480156110d557600080fd5b50600080516020615a8e83398151915254600160a01b900460ff1661070e565b34801561110157600080fd5b50600080516020615a4e8339815191525461ffff16610b3f565b34801561112757600080fd5b506107b261283b565b6107b261113e366004615177565b612887565b34801561114f57600080fd5b5061073861115e366004614ae6565b6128db565b34801561116f57600080fd5b506107b261117e366004615059565b61299c565b34801561118f57600080fd5b50610c15610c10366004614d61565b3480156111aa57600080fd5b506107b26111b93660046151c8565b6129fb565b3480156111ca57600080fd5b506107386111d9366004614ae6565b612aaf565b3480156111ea57600080fd5b506111fe6111f9366004614ae6565b612d0b565b60405161071a9291906151f3565b34801561121857600080fd5b50600080516020615a8e833981519152546001600160a01b031661075a565b34801561124357600080fd5b5061075a612d16565b34801561125857600080fd5b506107b2611267366004615059565b612d3e565b34801561127857600080fd5b506107b2612e15565b34801561128d57600080fd5b50610b8f610a78366004614ae6565b3480156112a857600080fd5b506107b2612e61565b3480156112bd57600080fd5b506107b26112cc366004614d09565b612eb4565b3480156112dd57600080fd5b50610bbc610bb7366004614d61565b3480156112f857600080fd5b50610738612f29565b34801561130d57600080fd5b50610b3f61131c366004614ae6565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561135d57600080fd5b5061070e61136c36600461520e565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561139357600080fd5b506107386130dd565b6107b26113aa366004614d09565b6130f3565b3480156113bb57600080fd5b506113cf6113ca366004614ae6565b613130565b60405161071a989796959493929190615238565b6107b26113f1366004614d09565b613145565b34801561140257600080fd5b506107b2611411366004614d09565b61316c565b34801561142257600080fd5b506108a3611431366004614d09565b63389a75e1600c908152600091909152602090205490565b34801561145557600080fd5b506107b2611464366004614d09565b6131e1565b6000611474826132b2565b806114835750611483826132e9565b8061149257506114928261332e565b806114a157506114a182613370565b806114b057506114b08261339d565b806114bf57506114bf82613404565b806114ce57506114ce8261342f565b806114dd57506114dd8261345a565b806114ec57506114ec82613485565b806114fb57506114fb826134b0565b8061150a575061150a826134db565b80611519575061151982613506565b80611528575061152882613531565b8061154357506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054611578906152f4565b80601f01602080910402602001604051908101604052809291908181526020018280546115a4906152f4565b80156115f15780601f106115c6576101008083540402835291602001916115f1565b820191906000526020600020905b8154815290600101906020018083116115d457829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6116635763ceea21b66000526004601cfd5b6001015492915050565b61167561355c565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906116bc908c908c908c908c908c908c908c908c908c90600401615396565b60006040518083038186803b1580156116d457600080fd5b505af41580156116e8573d6000803e3d6000fd5b50505050505050505050505050565b611702338383613577565b5050565b6000600080516020615b4e83398151915261161f565b611724613618565b505050565b60006106e9613620565b61173b61355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156117835760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061179e8385836154b1565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516117d1929190615570565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b61181a61355c565b600080516020615aae833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615b2e83398151915261161f565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6118b7613618565b50565b60006106e9613630565b6118cf838383613640565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119215767ceea21b6a1148100831560021b526004601cfd5b85600052816001015492508233148633141761194f576030600c205461194f57634b6e7f186000526004601cfd5b821561195d57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119a05767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461172483838361364b565b6119dd61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b505af4158015611a35573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615ace83398151915261156d565b611aa861355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff1615611af0576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615aee83398151915261156d565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611bb0576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106e9613661565b611702613618565b60606106e9613620565b60008060006106e9613620565b611c0261355c565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b158015611c5457600080fd5b505af4158015611c68573d6000803e3d6000fd5b505050505050565b611c7b8383836118c4565b813b156117245761172483838360405180602001604052806000815250613671565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611cdf5760405163be20705f60e01b815260040160405180910390fd5b6118b733826136f5565b611cf161355c565b61170282826137d6565b611a35613618565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106e9613661565b606060006106e9613620565b611d5f613618565b565b611d6961355c565b600080516020615a8e833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611dbc6138b8565b60005b8181101561172457611dd08361393a565b50600101611dbf565b63409feecd198054600382558015611e105760018160011c14303b10611e075763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101800135600003611e375760405163fe5afcb960e01b815260040160405180910390fd5b8161018001358261026001351115611e6257604051633f63c5bf60e01b815260040160405180910390fd5b611e77611e726020840184614d09565b6139ff565b611e9c611e876060840184615584565b611e9760a0860160808701614d09565b613a2f565b611ebe611eac6020840184615584565b611eb96040860186615584565b613a70565b611ec6613aad565b611f03611eda610100840160e08501614d09565b611eec610120850161010086016151c8565b611efe610140860161012087016151c8565b613ae3565b611f1d611f1861016084016101408501614cee565b613b93565b611f2b826101800135613bf3565b611f45611f406101e084016101c08501614d09565b613c5f565b611f5f611f5a6101c084016101a08501614d09565b613cc0565b611f79611f7461020084016101e08501614cee565b613d21565b611f93611f8e61022084016102008501614d09565b613d9f565b611f9b613dee565b611fb5611fb061024084016102208501614cee565b613e19565b611fbd613ec3565b611fc5613eee565b611fe9611fd66102808401846155ca565b611fe46102a08601866155ca565b613f19565b61200e611ff960a0840184615584565b61200960e0860160c08701614d09565b613f5e565b61202861202361018084016101608501614d09565b613fc6565b600061203c61026084016102408501614d09565b6001600160a01b03161461207f5760005b82610260013581101561207d5761207461206f61026085016102408601614d09565b61393a565b5060010161204d565b505b8015611702576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806120f05763ceea21b66000526004601cfd5b919050565b60006120ff6138b8565b6115438261393a565b60606106e9613630565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156121b4576121af8161402b565b6121c5565b604051806020016040528060008152505b9392505050565b6000600080516020615a6e8339815191526118a9565b6000816121f757638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61222561355c565b611d5f6000614059565b6000806000806000806000806106e9613620565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006118a9565b61227361355c565b80600080516020615b2e8339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b03168015612327576123228161402b565b612338565b604051806020016040528060008152505b949350505050565b61234861355c565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561239457600080fd5b505af41580156123a8573d6000803e3d6000fd5b5050505050565b6123b761355c565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906123f290869086908690600401615613565b60006040518083038186803b15801561240a57600080fd5b505af415801561241e573d6000803e3d6000fd5b50505050505050565b61242f61355c565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061246c908790879087908790600401615635565b60006040518083038186803b15801561248457600080fd5b505af4158015612498573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054611578906152f4565b6124dc61355c565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161237c565b61252461355c565b600080516020615a6e83398151915260008290036125555760405163fe5afcb960e01b815260040160405180910390fd5b805482111561257757604051632b953d0360e11b815260040160405180910390fd5b61257f612243565b82101561259f57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6125e261355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b61262e61355c565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906123f29086908690869060040161565f565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6126c761355c565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906127069088908890889088908890600401615682565b60006040518083038186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b505050505050505050565b61274561355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff161561278d576040516352be865b60e01b815260040160405180910390fd5b806127998385836154b1565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b600080516020615b4e8339815191528054600160a01b900460ff1661280057604051638915b2e160e01b815260040160405180910390fd5b61280982614097565b61281381836140fb565b6117028261416b565b6060341561282957600080fd5b61154361283684846141de565b614275565b61284361355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b6128928585856118c4565b833b156123a8576123a885858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061367192505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612917906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612943906152f4565b80156129905780601f1061296557610100808354040283529160200191612990565b820191906000526020600020905b81548152906001019060200180831161297357829003601f168201915b50505050509050919050565b6129a461355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff16156129ec576040516352be865b60e01b815260040160405180910390fd5b600181016127998385836154b1565b612a0361355c565b600080516020615a4e833981519152805461ffff90811690831610612a3e576040516001625957a760e11b0319815260040160405180910390fd5b612a46614285565b61ffff168261ffff161015612a6e5760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020016125ce565b6060612ad9826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612af65760405163163a09e160e31b815260040160405180910390fd5b600080516020615a8e83398151915254600080516020615ace833981519152906001600160a01b031615612b9d57600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612b75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121c591908101906156b3565b600083815260028201602052604081208054612bb8906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612be4906152f4565b8015612c315780601f10612c0657610100808354040283529160200191612c31565b820191906000526020600020905b815481529060010190602001808311612c1457829003601f168201915b505050505090508051600014612c48579392505050565b81548290612c55906152f4565b9050600003612c7557505060408051602081019091526000815292915050565b612338826000018054612c87906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612cb3906152f4565b8015612d005780601f10612cd557610100808354040283529160200191612d00565b820191906000526020600020905b815481529060010190602001808311612ce357829003601f168201915b505050505085614294565b6000806106e9613630565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061161f565b612d4661355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff1615612d8e5760405163dd48f3ab60e01b815260040160405180910390fd5b80612d9a8385836154b1565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612dcc929190615570565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b612e1d61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b612e6961355c565b600080516020615b0e833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612ebc61355c565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b0e83398151915254606090600080516020615aee833981519152906001600160a01b031615612fd057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612fa2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fca91908101906156b3565b91505090565b806001018054612fdf906152f4565b15905061307957806001018054612ff5906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054613021906152f4565b801561306e5780601f106130435761010080835404028352916020019161306e565b820191906000526020600020905b81548152906001019060200180831161305157829003601f168201915b505050505091505090565b80548190613086906152f4565b90506000036130a357505060408051602081019091526000815290565b806130ad466142dc565b6130b630614320565b6040516020016130c893929190615778565b60405160208183030381529060405291505090565b6060600080516020615aee8339815191526124c6565b6130fb61355c565b63389a75e1600c52806000526020600c20805442111561312357636f5e88186000526004601cfd5b600090556118b781614059565b600080600080600080600060606106e9613620565b61314d61355c565b8060601b61316357637448fbae6000526004601cfd5b6118b781614059565b61317461355c565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6131e961355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156132315760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016125ce565b60006132bd82614344565b806115435750611543826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613311826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806115435750506001600160e01b031916632483248360e11b1490565b600061333982614344565b8061331157506001600160e01b031982166307ccd03560e31b14806115435750506001600160e01b031916632483248360e11b1490565b600061337b82614344565b806115435750632a55205a60e083901c9081146301ffc9a79190911417611543565b60006133a882614344565b8061154357506001600160e01b03198216632b435fdb60e21b14806133dd57506001600160e01b0319821663503e914d60e11b145b80156115435750600080516020615b4e83398151915254600160a01b900460ff1692915050565b600061340f82614344565b8061154357506001600160e01b03198216636cbdef6160e01b1492915050565b600061343a82614344565b8061154357506001600160e01b031982166303aa30b960e11b1492915050565b600061346582614344565b8061154357506001600160e01b0319821663362d3e2b60e21b1492915050565b600061349082614344565b8061154357506001600160e01b03198216635c975abb60e01b1492915050565b60006134bb82614344565b8061154357506001600160e01b031982166317afae4360e01b1492915050565b60006134e68261437a565b8061154357506001600160e01b0319821663a2316e0b60e01b1492915050565b600061351182614344565b8061154357506001600160e01b0319821663215f672360e21b1492915050565b600061353c82614344565b8061154357506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314611d5f576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816135be5763ceea21b66000526004601cfd5b8185148515176135e457816000526030600c20546135e457634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b611d5f6143a5565b6143a58061170263ffffffff8216565b6143dd8061170263ffffffff8216565b61172483838361440f565b6136568383836144db565b61172481848461455e565b6146078061170263ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156136b8578060c08401826020870160045afa505b60208360a48301601c860160008a5af16136db573d156136db573d6000843e3d83fd5b508060e01b825114611c685763d1a57ed66000526004601cfd5b6000613700826120b7565b905061370e81600084613640565b5060008181526001600160a01b03928316673ec412a9852d173d60c11b8117601c5260209091208201820180549193821691826137535763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613782576030600c205461378257634b6e7f186000526004601cfd5b801561379057600083600101555b5082189055601c600c208054600019019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46117248160008461364b565b600080516020615a4e8339815191525461ffff1661ffff168161ffff1611156138125760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff1660000361386b57613830600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613879828261ffff16614639565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161385f565b638b78c6d819546001600160a01b031633036138d057565b600080516020615aae8339815191525460ff1615613901576040516375ab03ab60e11b815260040160405180910390fd5b6139096115fb565b6001600160a01b0316336001600160a01b031614611d5f5760405163263ab11d60e21b815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0080549061396782614689565b6001828101825560008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808320631cd9595960e21b845290915290200154610100900460ff166139ef5760008060006139ca85876146b8565b92509250925082156139eb576139eb85631cd9595960e21b846000856147c6565b5050505b6139f98383614823565b50919050565b6001600160a01b038116613a26576040516349e27cff60e01b815260040160405180910390fd5b6118b7816148d8565b600080516020615ace83398151915280613a4a8486836154b1565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613a9d8587836154b1565b5060018101611c688385836154b1565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b613b0e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614914565b61271061ffff82161115613b34576040516274280760e61b815260040160405180910390fd5b80600080516020615a4e833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161172483836137d6565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914001805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611864565b613c1e7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614914565b80600080516020615a6e833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611864565b613c8a7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614914565b6001600160a01b038116156118b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00613197565b613ceb7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614914565b6001600160a01b038116156118b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612edf565b613d4c7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614914565b80156118b757600080516020615aae833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611864565b613dca7fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614914565b6001600160a01b038116156118b75780600080516020615b2e833981519152612284565b611d5f7f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614914565b613e447f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614914565b8015613e825760405163487fbd2b60e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063487fbd2b9060240161237c565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b611d5f7fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614914565b611d5f7fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614914565b613f21614986565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061246c9087908790879087906004016158b4565b600080516020615aee83398151915280613f798486836154b1565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6001600160a01b038116613fd75750565b613fe0816149b1565b600080516020615b4e833981519152805460ff60a01b1916600160a01b1781556128097f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614914565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006140a6638b78c6d8195490565b6001600160a01b0316036140db576001600160a01b038116156118b7576040516282b42960e81b815260040160405180910390fd5b6140e361355c565b6001600160a01b038116156118b7576118b7816149b1565b81546001600160a01b03908116908216810361411657505050565b82546001600160a01b0319166001600160a01b03838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612e08565b6001600160a01b03811661417c5750565b60405163fb2de5d760e01b81523060048201526102d160248201526001600160a01b0382169063fb2de5d790604401600060405180830381600087803b1580156141c557600080fd5b505af19250505080156141d6575060015b156118b75750565b600060405190506020815281816020015280604001808360051b80868437820180851561425d575b835187018035602082018337600038823584305af4614228573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614206575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806121c581612710611b7c565b6060826142a0466142dc565b6142a930614320565b6142b2856142dc565b6040516020016142c59493929190615968565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806142f7575050819003601f19909101908152919050565b606061432b826149ea565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061154357506001600160e01b0319821663513fc9dd60e11b1492915050565b600061438582614344565b8061154357506001600160e01b03198216638bd8666560e01b1492915050565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b503d6000f35b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b600080516020615b4e833981519152546001600160a01b0316806144335750505050565b6001600160a01b038416158061445057506001600160a01b038316155b1561445b5750505050565b6001600160a01b03811633036144715750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b1580156144c757600080fd5b505afa158015612498573d6000803e3d6000fd5b6001600160a01b038316614521577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a04565b90915550505050565b6001600160a01b038216611724577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a1d565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b0316806145945750505050565b604051631e68598960e21b8152600481018590526001600160a01b0384811660248301528381166044830152336064830152600160848301528216906379a166249060a401600060405180830381600087803b1580156145f357600080fd5b505af1158015612498573d6000803e3d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b6bffffffffffffffffffffffff16612710808211156146605763350a88b36000526004601cfd5b8260601b806146775763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b600080516020615a6e8339815191525481106118b75760405163ba470cd560e01b815260040160405180910390fd5b600080516020615b2e8339815191525460009081906001600160a01b0316806146e95750600091508190508061215f565b73__$e7b790d12aa4dbca4f4490208141613ae5$__631de450a06040518163ffffffff1660e01b815260040160006040518083038186803b15801561472d57600080fd5b505af4158015614741573d6000803e3d6000fd5b505060405163058e173960e11b8152600481018890526001600160a01b0387811660248301526001935084169150630b1c2e72906044016020604051808303816000875af1158015614797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147bb9190615a34565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a401612706565b61482f60008383613640565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b1561486d5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026148a25767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46117026000838361364b565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161385f565b611d5f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614914565b600063a9b1c2d36000526000386004601c855afa823b15179050801561170257604051631ab5243360e31b815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614a2a575050919050565b600060208284031215614a6b57600080fd5b81356001600160e01b0319811681146121c557600080fd5b60005b83811015614a9e578181015183820152602001614a86565b50506000910152565b60008151808452614abf816020860160208601614a83565b601f01601f19169290920160200192915050565b6020815260006121c56020830184614aa7565b600060208284031215614af857600080fd5b5035919050565b80356001600160a01b03811681146120f057600080fd5b803565ffffffffffff811681146120f057600080fd5b60008083601f840112614b3e57600080fd5b5081356001600160401b03811115614b5557600080fd5b6020830191508360208260051b8501011115614b7057600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614b9657600080fd5b8935985060208a013560098110614bac57600080fd5b975060408a013560078110614bc057600080fd5b9650614bce60608b01614aff565b9550614bdc60808b01614b16565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614c0557600080fd5b614c118c828d01614b2c565b915080935050809150509295985092959850929598565b60008060408385031215614c3b57600080fd5b614c4483614aff565b946020939093013593505050565b60008083601f840112614c6457600080fd5b5081356001600160401b03811115614c7b57600080fd5b602083019150836020828501011115614b7057600080fd5b600080600060408486031215614ca857600080fd5b8335925060208401356001600160401b03811115614cc557600080fd5b614cd186828701614c52565b9497909650939450505050565b803580151581146120f057600080fd5b600060208284031215614d0057600080fd5b6121c582614cde565b600060208284031215614d1b57600080fd5b6121c582614aff565b600080600060608486031215614d3957600080fd5b614d4284614aff565b9250614d5060208501614aff565b929592945050506040919091013590565b60008060408385031215614d7457600080fd5b50508035926020909101359150565b803561ffff811681146120f057600080fd5b60008060408385031215614da857600080fd5b614db183614aff565b9150614dbf60208401614d83565b90509250929050565b60008060008060608587031215614dde57600080fd5b843593506020850135925060408501356001600160401b03811115614e0257600080fd5b614e0e87828801614c52565b95989497509550505050565b600081518084526020840193506020830160005b82811015614e4c578151865260209586019590910190600101614e2e565b5093949350505050565b6020815260006121c56020830184614e1a565b8281526040602082015260006123386040830184614aa7565b600080600060608486031215614e9757600080fd5b505081359360208301359350604090920135919050565b604081526000614ec16040830185614e1a565b90508260208301529392505050565b600060208284031215614ee257600080fd5b81356001600160401b03811115614ef857600080fd5b82016102c081850312156121c557600080fd5b634e487b7160e01b600052602160045260246000fd5b60098110614f3157614f31614f0b565b9052565b60078110614f3157614f31614f0b565b88151581526101008101614f5c602083018a614f21565b614f696040830189614f35565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fb957600080fd5b83359250602084013560028110614d5057600080fd5b60008060408385031215614fe257600080fd5b614feb83614aff565b9150614dbf60208401614cde565b60008060008060006080868803121561501157600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561503c57600080fd5b61504888828901614c52565b969995985093965092949392505050565b6000806020838503121561506c57600080fd5b82356001600160401b0381111561508257600080fd5b61508e85828601614c52565b90969095509350505050565b6000806000606084860312156150af57600080fd5b6150b884614aff565b92506150c660208501614aff565b91506150d460408501614aff565b90509250925092565b600080602083850312156150f057600080fd5b82356001600160401b0381111561510657600080fd5b61508e85828601614b2c565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561516b57603f19878603018452615156858351614aa7565b9450602093840193919091019060010161513a565b50929695505050505050565b60008060008060006080868803121561518f57600080fd5b61519886614aff565b94506151a660208701614aff565b93506040860135925060608601356001600160401b0381111561503c57600080fd5b6000602082840312156151da57600080fd5b6121c582614d83565b60028110614f3157614f31614f0b565b6040810161520182856151e3565b8260208301529392505050565b6000806040838503121561522157600080fd5b61522a83614aff565b9150614dbf60208401614aff565b600061010082018a15158352615251602084018b614f21565b61525e604084018a614f35565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156152e15761011f198786030184526152cc858351614aa7565b945060209384019391909101906001016152af565b50929d9c50505050505050505050505050565b600181811c9082168061530857607f821691505b6020821081036139f957634e487b7160e01b600052602260045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261536857600080fd5b83016020810192503590506001600160401b0381111561538757600080fd5b803603821315614b7057600080fd5b600061010082018b83526153ad602084018c614f21565b6153ba604084018b614f35565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154415785840361011f1901835261541f8289615351565b61542a868284615328565b955050506020928301929190910190600101615403565b50919d9c50505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b601f82111561172457806000526020600020601f840160051c810160208510156154915750805b601f840160051c820191505b818110156123a8576000815560010161549d565b6001600160401b038311156154c8576154c8615454565b6154dc836154d683546152f4565b8361546a565b6000601f84116001811461551057600085156154f85750838201355b600019600387901b1c1916600186901b1783556123a8565b600083815260209020601f19861690835b828110156155415786850135825560209485019460019092019101615521565b508682101561555e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b602081526000612338602083018486615328565b6000808335601e1984360301811261559b57600080fd5b8301803591506001600160401b038211156155b557600080fd5b602001915036819003821315614b7057600080fd5b6000808335601e198436030181126155e157600080fd5b8301803591506001600160401b038211156155fb57600080fd5b6020019150600581901b3603821315614b7057600080fd5b8381526060810161562760208301856151e3565b826040830152949350505050565b848152836020820152606060408201526000615655606083018486615328565b9695505050505050565b838152604060208201526000615679604083018486615328565b95945050505050565b8581528460208201528360408201526080606082015260006156a8608083018486615328565b979650505050505050565b6000602082840312156156c557600080fd5b81516001600160401b038111156156db57600080fd5b8201601f810184136156ec57600080fd5b80516001600160401b0381111561570557615705615454565b604051601f8201601f19908116603f011681016001600160401b038111828210171561573357615733615454565b60405281815282820160200186101561574b57600080fd5b615679826020830160208601614a83565b6000815161576e818560208601614a83565b9290920192915050565b6000808554615786816152f4565b60018216801561579d57600181146157b2576157e2565b60ff19831686528115158202860193506157e2565b88600052602060002060005b838110156157da578154888201526001909101906020016157be565b505081860193505b505050602f60f81b815284516157ff816001840160208901614a83565b0161581060018201602f60f81b9052565b615655600282018561575c565b60008383855260208501945060208460051b8201018360005b868110156158a857838303601f19018852813536879003605e1901811261585c57600080fd5b860180358452602080820135908501526158796040820182615351565b915060606040860152615890606086018383615328565b60209a8b019a90955093909301925050600101615836565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b8982101561595157868503605f1901845282358181126158f857600080fd5b8b0180358652602080820135908701526040808201359087015261591f6060820182615351565b915060806060880152615936608088018383615328565b965050506020830192506020840193506001820191506158d9565b5050505082810360208401526156a881858761581d565b6000855161597a818460208a01614a83565b602f60f81b9083019081528551615998816001840160208a01614a83565b602f60f81b6001929091019182015284516159ba816002840160208901614a83565b600181830101915050602f60f81b600182015283516159e0816002840160208801614a83565b016002019695505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201615a1657615a166159ee565b5060010190565b600081615a2c57615a2c6159ee565b506000190190565b600060208284031215615a4657600080fd5b505191905056fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382011f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a2646970667358221220ebf5989484b3de9d3ac9542557c61bb94dce8003f8da1a284399678f9f56949464736f6c634300081c0033";
|
|
14
14
|
export const seriesCodeAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "clearContractParam", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "configureTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "configureTokenParamData", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "dependenciesLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyByIndex", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct SeriesCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "disableTokenOwnerDelegation", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockDependencies", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockParamHooks", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockScript", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintMany", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooksLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaHead", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastDependency", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastScriptChunk", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "scriptChunk", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunkCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "scriptLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "seedSource", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "selectOption", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParam", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParamData", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDelegateRegistry", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependency", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependencyRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamHooks", "inputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setScriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "chunk", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSeedSource", "inputs": [{ "name": "source", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParamData", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ParamHooksFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SeedSourceSet", "inputs": [{ "name": "seedSource", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [{ "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "SchemaGoverned", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "SeedSettled", "inputs": [] }, { "type": "error", "name": "TokenAlreadyExists", "inputs": [] }, { "type": "error", "name": "TokenDoesNotExist", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferFromIncorrectOwner", "inputs": [] }, { "type": "error", "name": "TransferToNonERC721ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }];
|
|
15
|
-
export const seriesCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615ba38061008d6000396000f3fe6080604052600436106106e95760003560e01c80637b1d470711610385578063bb77e796116101dc578063e2969ba71161010d578063ee748f2c116100ab578063f8d3adc81161007a578063f8d3adc814610a3d578063fca3b5aa146113f6578063fee81cf414611416578063ff87a5f51461144957600080fd5b8063ee748f2c14611387578063f04e283e1461139c578063f2235701146113af578063f2fde38b146113e357600080fd5b8063e8a3d485116100e7578063e8a3d485146112ec578063e8dc3e0914611301578063e985e9c514611351578063ea58f97114610e5457600080fd5b8063e2969ba7146112b1578063e42b7baf14610b52578063e4df18ec146112d157600080fd5b8063d50bac331161017a578063da2bbfc711610154578063da2bbfc71461124c578063dc9838791461126c578063e1b7938114611281578063e1c2ffad1461129c57600080fd5b8063d50bac331461120c578063d8b4f8ac14611237578063d90f5df214610f1d57600080fd5b8063c83569a9116101b6578063c83569a91461119e578063c87b56dd146111be578063cc1cf51514611183578063cfc59afd146111de57600080fd5b8063bb77e79614611143578063c3e617a214611163578063c4f260481461118357600080fd5b80639a5db503116102b6578063a9fc664e11610254578063ac998f451161022e578063ac998f45146110c9578063b18f004a146110f5578063b47842471461111b578063b88d4fde1461113057600080fd5b8063a9fc664e1461106e578063aa0de18d1461108e578063ac9650d8146110a957600080fd5b8063a148d8cf11610290578063a148d8cf14610ff3578063a22cb4651461100e578063a482c9461461102e578063a8cdf0781461104e57600080fd5b80639a5db50314610f875780639aa1a1f014610f9c578063a07c7ce414610fbc57600080fd5b8063909206e31161032357806392d9906f116102fd57806392d9906f14610f1d57806395d89b4114610f3257806396f4205a14610f4757806397e950f714610f6757600080fd5b8063909206e314610b7a578063913b385a14610efd57806392b29b1714610e8957600080fd5b806386b7f6a41161035f57806386b7f6a414610e895780638da5cb5b14610ea45780638e08141f14610ebd5780638e4cc07014610edd57600080fd5b80637b1d470714610e345780637d0b7ae414610e5457806384f6687f14610e6957600080fd5b80633dda44b0116105445780635e830656116104755780636c59f75911610413578063715018a6116103e2578063715018a614610db7578063738e149614610dbf57806374828e3414610deb57806375794a3c14610e1f57600080fd5b80636c59f75914610d4d5780636cb0281814610d625780636cbdef6114610d8257806370a0823114610d9757600080fd5b8063690533741161044f5780636905337414610cd25780636a62784214610ced5780636aaf760714610d0d5780636bd3922214610d2d57600080fd5b80635e83065614610c7257806361d8791f14610c925780636352211e14610cb257600080fd5b806355580cca116104e25780635b02f81c116104bc5780635b02f81c14610bf55780635c975abb14610c235780635d0b722014610c485780635e5a9e3014610c5d57600080fd5b806355580cca14610b7a57806355828c5014610b9c5780635a50ca6514610bca57600080fd5b80634331f6391161051e5780634331f63914610b0f5780634aa3adb314610b2f5780634efdb5ae14610b5257806354d1f13d14610b7257600080fd5b80633dda44b014610abc57806342842e0e14610adc57806342966c6814610aef57600080fd5b80631c31cac31161061e57806326dfe8c7116105bc5780632e73cddb116105965780632e73cddb14610a1d5780633990b22114610a3d5780633ba1bd8614610a5d5780633c59f1bb14610a7d57600080fd5b806326dfe8c7146109a9578063298bb40e146109c95780632a55205a146109de57600080fd5b806323b872dd116105f857806323b872dd1461096457806325628d3414610977578063256929621461098c578063261220a31461099457600080fd5b80631c31cac3146108b157806320ac0944146108d15780632352b33f146108e657600080fd5b80630b4c562b1161068b5780631622326a116106655780631622326a1461083957806316c38b3c1461085957806317afae431461087957806318160ddd1461088e57600080fd5b80630b4c562b146107dc5780630d705df6146107fc57806313bfffac1461082457600080fd5b8063081812fc116106c7578063081812fc1461077257806308a3839514610792578063095ea7b3146107b4578063098144d4146107c757600080fd5b806301ffc9a7146106ee57806306fdde03146107235780630754617214610745575b600080fd5b3480156106fa57600080fd5b5061070e610709366004614a59565b611469565b60405190151581526020015b60405180910390f35b34801561072f57600080fd5b50610738611549565b60405161071a9190614ad3565b34801561075157600080fd5b5061075a6115fb565b6040516001600160a01b03909116815260200161071a565b34801561077e57600080fd5b5061075a61078d366004614ae6565b61162e565b34801561079e57600080fd5b506107b26107ad366004614b77565b61166d565b005b6107b26107c2366004614c28565b6116f7565b3480156107d357600080fd5b5061075a611706565b3480156107e857600080fd5b506107b26107f7366004614c93565b61171c565b34801561080857600080fd5b506040805163657711f560e11b8152600160208201520161071a565b34801561083057600080fd5b5061075a611729565b34801561084557600080fd5b506107b2610854366004614c93565b611733565b34801561086557600080fd5b506107b2610874366004614cee565b611812565b34801561088557600080fd5b5061075a61186f565b34801561089a57600080fd5b506108a3611885565b60405190815260200161071a565b3480156108bd57600080fd5b506107b26108cc366004614d09565b6118af565b3480156108dd57600080fd5b5061075a6118ba565b3480156108f257600080fd5b50610947610901366004614ae6565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b60408051938452911515602084015215159082015260600161071a565b6107b2610972366004614d24565b6118c4565b34801561098357600080fd5b506107b26119d5565b6107b2611a3b565b3480156109a057600080fd5b50610738611a8a565b3480156109b557600080fd5b506107b26109c4366004614d09565b611aa0565b3480156109d557600080fd5b50610738611b66565b3480156109ea57600080fd5b506109fe6109f9366004614d61565b611b7c565b604080516001600160a01b03909316835260208301919091520161071a565b348015610a2957600080fd5b5061070e610a38366004614ae6565b611bd1565b348015610a4957600080fd5b506107b2610a58366004614d61565b611bdb565b348015610a6957600080fd5b50610738610a78366004614d61565b611be3565b348015610a8957600080fd5b50610a92611bed565b604080516001600160a01b039485168152928416602084015292169181019190915260600161071a565b348015610ac857600080fd5b506107b2610ad7366004614d61565b611bfa565b6107b2610aea366004614d24565b611c70565b348015610afb57600080fd5b506107b2610b0a366004614ae6565b611c9d565b348015610b1b57600080fd5b506107b2610b2a366004614d95565b611ce9565b348015610b3b57600080fd5b5060025b60405161ffff909116815260200161071a565b348015610b5e57600080fd5b506107b2610b6d366004614dc8565b611cfb565b6107b2611d03565b348015610b8657600080fd5b50610b8f611be3565b60405161071a9190614e56565b348015610ba857600080fd5b50610bbc610bb7366004614ae6565b611d3f565b60405161071a929190614e69565b348015610bd657600080fd5b50600080516020615b0e833981519152546001600160a01b031661075a565b348015610c0157600080fd5b50610c15610c10366004614e82565b611d4b565b60405161071a929190614eae565b348015610c2f57600080fd5b50600080516020615aae8339815191525460ff1661070e565b348015610c5457600080fd5b506107b2611d57565b348015610c6957600080fd5b506107b2611d61565b348015610c7e57600080fd5b506107b2610c8d366004614c28565b611db4565b348015610c9e57600080fd5b506107b2610cad366004614ed0565b611dd9565b348015610cbe57600080fd5b5061075a610ccd366004614ae6565b6120b7565b348015610cde57600080fd5b506107b26108cc366004614ae6565b348015610cf957600080fd5b506108a3610d08366004614d09565b6120f5565b348015610d1957600080fd5b50610738610d28366004614ae6565b612108565b348015610d3957600080fd5b50610947610d48366004614d61565b612112565b348015610d5957600080fd5b5061070e611729565b348015610d6e57600080fd5b50610738610d7d366004614ae6565b612166565b348015610d8e57600080fd5b506108a36121cc565b348015610da357600080fd5b506108a3610db2366004614d09565b6121e2565b6107b261221d565b348015610dcb57600080fd5b50600080516020615b0e83398151915254600160a01b900460ff1661070e565b348015610df757600080fd5b50610e0b610e06366004614ae6565b61222f565b60405161071a989796959493929190614f45565b348015610e2b57600080fd5b506108a3612243565b348015610e4057600080fd5b506107b2610e4f366004614d09565b61226b565b348015610e6057600080fd5b5061070e6118ba565b348015610e7557600080fd5b50610738610e84366004614d61565b6122ce565b348015610e9557600080fd5b506107b26107f7366004614e82565b348015610eb057600080fd5b50638b78c6d8195461075a565b348015610ec957600080fd5b506107b2610ed8366004614ae6565b612340565b348015610ee957600080fd5b506107b2610ef8366004614fa4565b6123af565b348015610f0957600080fd5b506107b2610f18366004614dc8565b612427565b348015610f2957600080fd5b506108a36118ba565b348015610f3e57600080fd5b506107386124a2565b348015610f5357600080fd5b506107b2610f62366004614d09565b6124d4565b348015610f7357600080fd5b506107b2610f82366004614ae6565b61251c565b348015610f9357600080fd5b506107b26125da565b348015610fa857600080fd5b506107b2610fb7366004614c93565b612626565b348015610fc857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661070e565b348015610fff57600080fd5b5061070e610a38366004614d61565b34801561101a57600080fd5b506107b2611029366004614fcf565b612669565b34801561103a57600080fd5b506107b2611049366004614ff9565b6126bf565b34801561105a57600080fd5b506107b2611069366004615059565b61273d565b34801561107a57600080fd5b506107b2611089366004614d09565b6127c8565b34801561109a57600080fd5b506107b26107f736600461509a565b6110bc6110b73660046150dd565b61281c565b60405161071a9190615112565b3480156110d557600080fd5b50600080516020615a8e83398151915254600160a01b900460ff1661070e565b34801561110157600080fd5b50600080516020615a4e8339815191525461ffff16610b3f565b34801561112757600080fd5b506107b261283b565b6107b261113e366004615177565b612887565b34801561114f57600080fd5b5061073861115e366004614ae6565b6128db565b34801561116f57600080fd5b506107b261117e366004615059565b61299c565b34801561118f57600080fd5b50610c15610c10366004614d61565b3480156111aa57600080fd5b506107b26111b93660046151c8565b6129fb565b3480156111ca57600080fd5b506107386111d9366004614ae6565b612aaf565b3480156111ea57600080fd5b506111fe6111f9366004614ae6565b612d0b565b60405161071a9291906151f3565b34801561121857600080fd5b50600080516020615a8e833981519152546001600160a01b031661075a565b34801561124357600080fd5b5061075a612d16565b34801561125857600080fd5b506107b2611267366004615059565b612d3e565b34801561127857600080fd5b506107b2612e15565b34801561128d57600080fd5b50610b8f610a78366004614ae6565b3480156112a857600080fd5b506107b2612e61565b3480156112bd57600080fd5b506107b26112cc366004614d09565b612eb4565b3480156112dd57600080fd5b50610bbc610bb7366004614d61565b3480156112f857600080fd5b50610738612f29565b34801561130d57600080fd5b50610b3f61131c366004614ae6565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561135d57600080fd5b5061070e61136c36600461520e565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561139357600080fd5b506107386130dd565b6107b26113aa366004614d09565b6130f3565b3480156113bb57600080fd5b506113cf6113ca366004614ae6565b613130565b60405161071a989796959493929190615238565b6107b26113f1366004614d09565b613145565b34801561140257600080fd5b506107b2611411366004614d09565b61316c565b34801561142257600080fd5b506108a3611431366004614d09565b63389a75e1600c908152600091909152602090205490565b34801561145557600080fd5b506107b2611464366004614d09565b6131e1565b6000611474826132b2565b806114835750611483826132e9565b8061149257506114928261332e565b806114a157506114a182613370565b806114b057506114b08261339d565b806114bf57506114bf82613404565b806114ce57506114ce8261342f565b806114dd57506114dd8261345a565b806114ec57506114ec82613485565b806114fb57506114fb826134b0565b8061150a575061150a826134db565b80611519575061151982613506565b80611528575061152882613531565b8061154357506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054611578906152f4565b80601f01602080910402602001604051908101604052809291908181526020018280546115a4906152f4565b80156115f15780601f106115c6576101008083540402835291602001916115f1565b820191906000526020600020905b8154815290600101906020018083116115d457829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6116635763ceea21b66000526004601cfd5b6001015492915050565b61167561355c565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906116bc908c908c908c908c908c908c908c908c908c90600401615396565b60006040518083038186803b1580156116d457600080fd5b505af41580156116e8573d6000803e3d6000fd5b50505050505050505050505050565b611702338383613577565b5050565b6000600080516020615b4e83398151915261161f565b611724613618565b505050565b60006106e9613620565b61173b61355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156117835760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061179e8385836154b1565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516117d1929190615570565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b61181a61355c565b600080516020615aae833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615b2e83398151915261161f565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6118b7613618565b50565b60006106e9613630565b6118cf838383613640565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119215767ceea21b6a1148100831560021b526004601cfd5b85600052816001015492508233148633141761194f576030600c205461194f57634b6e7f186000526004601cfd5b821561195d57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119a05767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461172483838361364b565b6119dd61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b505af4158015611a35573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615ace83398151915261156d565b611aa861355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff1615611af0576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615aee83398151915261156d565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611bb0576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106e9613661565b611702613618565b60606106e9613620565b60008060006106e9613620565b611c0261355c565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b158015611c5457600080fd5b505af4158015611c68573d6000803e3d6000fd5b505050505050565b611c7b8383836118c4565b813b156117245761172483838360405180602001604052806000815250613671565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611cdf5760405163be20705f60e01b815260040160405180910390fd5b6118b733826136f5565b611cf161355c565b61170282826137d6565b611a35613618565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106e9613661565b606060006106e9613620565b611d5f613618565b565b611d6961355c565b600080516020615a8e833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611dbc6138b8565b60005b8181101561172457611dd08361393a565b50600101611dbf565b63409feecd198054600382558015611e105760018160011c14303b10611e075763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101800135600003611e375760405163fe5afcb960e01b815260040160405180910390fd5b8161018001358261026001351115611e6257604051633f63c5bf60e01b815260040160405180910390fd5b611e77611e726020840184614d09565b6139ff565b611e9c611e876060840184615584565b611e9760a0860160808701614d09565b613a2f565b611ebe611eac6020840184615584565b611eb96040860186615584565b613a70565b611ec6613aad565b611f03611eda610100840160e08501614d09565b611eec610120850161010086016151c8565b611efe610140860161012087016151c8565b613ae3565b611f1d611f1861016084016101408501614cee565b613b93565b611f2b826101800135613bf3565b611f45611f406101e084016101c08501614d09565b613c5f565b611f5f611f5a6101c084016101a08501614d09565b613cc0565b611f79611f7461020084016101e08501614cee565b613d21565b611f93611f8e61022084016102008501614d09565b613d9f565b611f9b613dee565b611fb5611fb061024084016102208501614cee565b613e19565b611fbd613ec3565b611fc5613eee565b611fe9611fd66102808401846155ca565b611fe46102a08601866155ca565b613f19565b61200e611ff960a0840184615584565b61200960e0860160c08701614d09565b613f5e565b61202861202361018084016101608501614d09565b613fc6565b600061203c61026084016102408501614d09565b6001600160a01b03161461207f5760005b82610260013581101561207d5761207461206f61026085016102408601614d09565b61393a565b5060010161204d565b505b8015611702576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806120f05763ceea21b66000526004601cfd5b919050565b60006120ff6138b8565b6115438261393a565b60606106e9613630565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156121b4576121af8161402b565b6121c5565b604051806020016040528060008152505b9392505050565b6000600080516020615a6e8339815191526118a9565b6000816121f757638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61222561355c565b611d5f6000614059565b6000806000806000806000806106e9613620565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006118a9565b61227361355c565b80600080516020615b2e8339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b03168015612327576123228161402b565b612338565b604051806020016040528060008152505b949350505050565b61234861355c565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561239457600080fd5b505af41580156123a8573d6000803e3d6000fd5b5050505050565b6123b761355c565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906123f290869086908690600401615613565b60006040518083038186803b15801561240a57600080fd5b505af415801561241e573d6000803e3d6000fd5b50505050505050565b61242f61355c565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061246c908790879087908790600401615635565b60006040518083038186803b15801561248457600080fd5b505af4158015612498573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054611578906152f4565b6124dc61355c565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161237c565b61252461355c565b600080516020615a6e83398151915260008290036125555760405163fe5afcb960e01b815260040160405180910390fd5b805482111561257757604051632b953d0360e11b815260040160405180910390fd5b61257f612243565b82101561259f57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6125e261355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b61262e61355c565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906123f29086908690869060040161565f565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6126c761355c565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906127069088908890889088908890600401615682565b60006040518083038186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b505050505050505050565b61274561355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff161561278d576040516352be865b60e01b815260040160405180910390fd5b806127998385836154b1565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b600080516020615b4e8339815191528054600160a01b900460ff1661280057604051638915b2e160e01b815260040160405180910390fd5b61280982614097565b61281381836140fb565b6117028261416b565b6060341561282957600080fd5b61154361283684846141de565b614275565b61284361355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b6128928585856118c4565b833b156123a8576123a885858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061367192505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612917906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612943906152f4565b80156129905780601f1061296557610100808354040283529160200191612990565b820191906000526020600020905b81548152906001019060200180831161297357829003601f168201915b50505050509050919050565b6129a461355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff16156129ec576040516352be865b60e01b815260040160405180910390fd5b600181016127998385836154b1565b612a0361355c565b600080516020615a4e833981519152805461ffff90811690831610612a3e576040516001625957a760e11b0319815260040160405180910390fd5b612a46614285565b61ffff168261ffff161015612a6e5760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020016125ce565b6060612ad9826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612af65760405163163a09e160e31b815260040160405180910390fd5b600080516020615a8e83398151915254600080516020615ace833981519152906001600160a01b031615612b9d57600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612b75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121c591908101906156b3565b600083815260028201602052604081208054612bb8906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612be4906152f4565b8015612c315780601f10612c0657610100808354040283529160200191612c31565b820191906000526020600020905b815481529060010190602001808311612c1457829003601f168201915b505050505090508051600014612c48579392505050565b81548290612c55906152f4565b9050600003612c7557505060408051602081019091526000815292915050565b612338826000018054612c87906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612cb3906152f4565b8015612d005780601f10612cd557610100808354040283529160200191612d00565b820191906000526020600020905b815481529060010190602001808311612ce357829003601f168201915b505050505085614294565b6000806106e9613630565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061161f565b612d4661355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff1615612d8e5760405163dd48f3ab60e01b815260040160405180910390fd5b80612d9a8385836154b1565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612dcc929190615570565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b612e1d61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b612e6961355c565b600080516020615b0e833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612ebc61355c565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b0e83398151915254606090600080516020615aee833981519152906001600160a01b031615612fd057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612fa2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fca91908101906156b3565b91505090565b806001018054612fdf906152f4565b15905061307957806001018054612ff5906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054613021906152f4565b801561306e5780601f106130435761010080835404028352916020019161306e565b820191906000526020600020905b81548152906001019060200180831161305157829003601f168201915b505050505091505090565b80548190613086906152f4565b90506000036130a357505060408051602081019091526000815290565b806130ad466142dc565b6130b630614320565b6040516020016130c893929190615778565b60405160208183030381529060405291505090565b6060600080516020615aee8339815191526124c6565b6130fb61355c565b63389a75e1600c52806000526020600c20805442111561312357636f5e88186000526004601cfd5b600090556118b781614059565b600080600080600080600060606106e9613620565b61314d61355c565b8060601b61316357637448fbae6000526004601cfd5b6118b781614059565b61317461355c565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6131e961355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156132315760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016125ce565b60006132bd82614344565b806115435750611543826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613311826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806115435750506001600160e01b031916632483248360e11b1490565b600061333982614344565b8061331157506001600160e01b031982166307ccd03560e31b14806115435750506001600160e01b031916632483248360e11b1490565b600061337b82614344565b806115435750632a55205a60e083901c9081146301ffc9a79190911417611543565b60006133a882614344565b8061154357506001600160e01b03198216632b435fdb60e21b14806133dd57506001600160e01b0319821663503e914d60e11b145b80156115435750600080516020615b4e83398151915254600160a01b900460ff1692915050565b600061340f82614344565b8061154357506001600160e01b03198216636cbdef6160e01b1492915050565b600061343a82614344565b8061154357506001600160e01b031982166303aa30b960e11b1492915050565b600061346582614344565b8061154357506001600160e01b0319821663362d3e2b60e21b1492915050565b600061349082614344565b8061154357506001600160e01b03198216635c975abb60e01b1492915050565b60006134bb82614344565b8061154357506001600160e01b031982166317afae4360e01b1492915050565b60006134e68261437a565b8061154357506001600160e01b0319821663a2316e0b60e01b1492915050565b600061351182614344565b8061154357506001600160e01b0319821663215f672360e21b1492915050565b600061353c82614344565b8061154357506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314611d5f576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816135be5763ceea21b66000526004601cfd5b8185148515176135e457816000526030600c20546135e457634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b611d5f6143a5565b6143a58061170263ffffffff8216565b6143dd8061170263ffffffff8216565b61172483838361440f565b6136568383836144db565b61172481848461455e565b6146078061170263ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156136b8578060c08401826020870160045afa505b60208360a48301601c860160008a5af16136db573d156136db573d6000843e3d83fd5b508060e01b825114611c685763d1a57ed66000526004601cfd5b6000613700826120b7565b905061370e81600084613640565b5060008181526001600160a01b03928316673ec412a9852d173d60c11b8117601c5260209091208201820180549193821691826137535763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613782576030600c205461378257634b6e7f186000526004601cfd5b801561379057600083600101555b5082189055601c600c208054600019019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46117248160008461364b565b600080516020615a4e8339815191525461ffff1661ffff168161ffff1611156138125760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff1660000361386b57613830600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613879828261ffff16614639565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161385f565b638b78c6d819546001600160a01b031633036138d057565b600080516020615aae8339815191525460ff1615613901576040516375ab03ab60e11b815260040160405180910390fd5b6139096115fb565b6001600160a01b0316336001600160a01b031614611d5f5760405163263ab11d60e21b815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0080549061396782614689565b6001828101825560008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808320631cd9595960e21b845290915290200154610100900460ff166139ef5760008060006139ca85876146b8565b92509250925082156139eb576139eb85631cd9595960e21b846000856147c6565b5050505b6139f98383614823565b50919050565b6001600160a01b038116613a26576040516349e27cff60e01b815260040160405180910390fd5b6118b7816148d8565b600080516020615ace83398151915280613a4a8486836154b1565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613a9d8587836154b1565b5060018101611c688385836154b1565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b613b0e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614914565b61271061ffff82161115613b34576040516274280760e61b815260040160405180910390fd5b80600080516020615a4e833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161172483836137d6565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914001805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611864565b613c1e7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614914565b80600080516020615a6e833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611864565b613c8a7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614914565b6001600160a01b038116156118b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00613197565b613ceb7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614914565b6001600160a01b038116156118b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612edf565b613d4c7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614914565b80156118b757600080516020615aae833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611864565b613dca7fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614914565b6001600160a01b038116156118b75780600080516020615b2e833981519152612284565b611d5f7f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614914565b613e447f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614914565b8015613e825760405163487fbd2b60e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063487fbd2b9060240161237c565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b611d5f7fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614914565b611d5f7fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614914565b613f21614986565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061246c9087908790879087906004016158b4565b600080516020615aee83398151915280613f798486836154b1565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6001600160a01b038116613fd75750565b613fe0816149b1565b600080516020615b4e833981519152805460ff60a01b1916600160a01b1781556128097f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614914565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006140a6638b78c6d8195490565b6001600160a01b0316036140db576001600160a01b038116156118b7576040516282b42960e81b815260040160405180910390fd5b6140e361355c565b6001600160a01b038116156118b7576118b7816149b1565b81546001600160a01b03908116908216810361411657505050565b82546001600160a01b0319166001600160a01b03838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612e08565b6001600160a01b03811661417c5750565b60405163fb2de5d760e01b81523060048201526102d160248201526001600160a01b0382169063fb2de5d790604401600060405180830381600087803b1580156141c557600080fd5b505af19250505080156141d6575060015b156118b75750565b600060405190506020815281816020015280604001808360051b80868437820180851561425d575b835187018035602082018337600038823584305af4614228573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614206575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806121c581612710611b7c565b6060826142a0466142dc565b6142a930614320565b6142b2856142dc565b6040516020016142c59493929190615968565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806142f7575050819003601f19909101908152919050565b606061432b826149ea565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061154357506001600160e01b0319821663513fc9dd60e11b1492915050565b600061438582614344565b8061154357506001600160e01b03198216638bd8666560e01b1492915050565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b503d6000f35b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b600080516020615b4e833981519152546001600160a01b0316806144335750505050565b6001600160a01b038416158061445057506001600160a01b038316155b1561445b5750505050565b6001600160a01b03811633036144715750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b1580156144c757600080fd5b505afa158015612498573d6000803e3d6000fd5b6001600160a01b038316614521577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a04565b90915550505050565b6001600160a01b038216611724577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a1d565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b0316806145945750505050565b604051631e68598960e21b8152600481018590526001600160a01b0384811660248301528381166044830152336064830152600160848301528216906379a166249060a401600060405180830381600087803b1580156145f357600080fd5b505af1158015612498573d6000803e3d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b6bffffffffffffffffffffffff16612710808211156146605763350a88b36000526004601cfd5b8260601b806146775763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b600080516020615a6e8339815191525481106118b75760405163ba470cd560e01b815260040160405180910390fd5b600080516020615b2e8339815191525460009081906001600160a01b0316806146e95750600091508190508061215f565b73__$e7b790d12aa4dbca4f4490208141613ae5$__631de450a06040518163ffffffff1660e01b815260040160006040518083038186803b15801561472d57600080fd5b505af4158015614741573d6000803e3d6000fd5b505060405163058e173960e11b8152600481018890526001600160a01b0387811660248301526001935084169150630b1c2e72906044016020604051808303816000875af1158015614797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147bb9190615a34565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a401612706565b61482f60008383613640565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b1561486d5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026148a25767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46117026000838361364b565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161385f565b611d5f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614914565b600063a9b1c2d36000526000386004601c855afa823b15179050801561170257604051631ab5243360e31b815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614a2a575050919050565b600060208284031215614a6b57600080fd5b81356001600160e01b0319811681146121c557600080fd5b60005b83811015614a9e578181015183820152602001614a86565b50506000910152565b60008151808452614abf816020860160208601614a83565b601f01601f19169290920160200192915050565b6020815260006121c56020830184614aa7565b600060208284031215614af857600080fd5b5035919050565b80356001600160a01b03811681146120f057600080fd5b803565ffffffffffff811681146120f057600080fd5b60008083601f840112614b3e57600080fd5b5081356001600160401b03811115614b5557600080fd5b6020830191508360208260051b8501011115614b7057600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614b9657600080fd5b8935985060208a013560098110614bac57600080fd5b975060408a013560078110614bc057600080fd5b9650614bce60608b01614aff565b9550614bdc60808b01614b16565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614c0557600080fd5b614c118c828d01614b2c565b915080935050809150509295985092959850929598565b60008060408385031215614c3b57600080fd5b614c4483614aff565b946020939093013593505050565b60008083601f840112614c6457600080fd5b5081356001600160401b03811115614c7b57600080fd5b602083019150836020828501011115614b7057600080fd5b600080600060408486031215614ca857600080fd5b8335925060208401356001600160401b03811115614cc557600080fd5b614cd186828701614c52565b9497909650939450505050565b803580151581146120f057600080fd5b600060208284031215614d0057600080fd5b6121c582614cde565b600060208284031215614d1b57600080fd5b6121c582614aff565b600080600060608486031215614d3957600080fd5b614d4284614aff565b9250614d5060208501614aff565b929592945050506040919091013590565b60008060408385031215614d7457600080fd5b50508035926020909101359150565b803561ffff811681146120f057600080fd5b60008060408385031215614da857600080fd5b614db183614aff565b9150614dbf60208401614d83565b90509250929050565b60008060008060608587031215614dde57600080fd5b843593506020850135925060408501356001600160401b03811115614e0257600080fd5b614e0e87828801614c52565b95989497509550505050565b600081518084526020840193506020830160005b82811015614e4c578151865260209586019590910190600101614e2e565b5093949350505050565b6020815260006121c56020830184614e1a565b8281526040602082015260006123386040830184614aa7565b600080600060608486031215614e9757600080fd5b505081359360208301359350604090920135919050565b604081526000614ec16040830185614e1a565b90508260208301529392505050565b600060208284031215614ee257600080fd5b81356001600160401b03811115614ef857600080fd5b82016102c081850312156121c557600080fd5b634e487b7160e01b600052602160045260246000fd5b60098110614f3157614f31614f0b565b9052565b60078110614f3157614f31614f0b565b88151581526101008101614f5c602083018a614f21565b614f696040830189614f35565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fb957600080fd5b83359250602084013560028110614d5057600080fd5b60008060408385031215614fe257600080fd5b614feb83614aff565b9150614dbf60208401614cde565b60008060008060006080868803121561501157600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561503c57600080fd5b61504888828901614c52565b969995985093965092949392505050565b6000806020838503121561506c57600080fd5b82356001600160401b0381111561508257600080fd5b61508e85828601614c52565b90969095509350505050565b6000806000606084860312156150af57600080fd5b6150b884614aff565b92506150c660208501614aff565b91506150d460408501614aff565b90509250925092565b600080602083850312156150f057600080fd5b82356001600160401b0381111561510657600080fd5b61508e85828601614b2c565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561516b57603f19878603018452615156858351614aa7565b9450602093840193919091019060010161513a565b50929695505050505050565b60008060008060006080868803121561518f57600080fd5b61519886614aff565b94506151a660208701614aff565b93506040860135925060608601356001600160401b0381111561503c57600080fd5b6000602082840312156151da57600080fd5b6121c582614d83565b60028110614f3157614f31614f0b565b6040810161520182856151e3565b8260208301529392505050565b6000806040838503121561522157600080fd5b61522a83614aff565b9150614dbf60208401614aff565b600061010082018a15158352615251602084018b614f21565b61525e604084018a614f35565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156152e15761011f198786030184526152cc858351614aa7565b945060209384019391909101906001016152af565b50929d9c50505050505050505050505050565b600181811c9082168061530857607f821691505b6020821081036139f957634e487b7160e01b600052602260045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261536857600080fd5b83016020810192503590506001600160401b0381111561538757600080fd5b803603821315614b7057600080fd5b600061010082018b83526153ad602084018c614f21565b6153ba604084018b614f35565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154415785840361011f1901835261541f8289615351565b61542a868284615328565b955050506020928301929190910190600101615403565b50919d9c50505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b601f82111561172457806000526020600020601f840160051c810160208510156154915750805b601f840160051c820191505b818110156123a8576000815560010161549d565b6001600160401b038311156154c8576154c8615454565b6154dc836154d683546152f4565b8361546a565b6000601f84116001811461551057600085156154f85750838201355b600019600387901b1c1916600186901b1783556123a8565b600083815260209020601f19861690835b828110156155415786850135825560209485019460019092019101615521565b508682101561555e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b602081526000612338602083018486615328565b6000808335601e1984360301811261559b57600080fd5b8301803591506001600160401b038211156155b557600080fd5b602001915036819003821315614b7057600080fd5b6000808335601e198436030181126155e157600080fd5b8301803591506001600160401b038211156155fb57600080fd5b6020019150600581901b3603821315614b7057600080fd5b8381526060810161562760208301856151e3565b826040830152949350505050565b848152836020820152606060408201526000615655606083018486615328565b9695505050505050565b838152604060208201526000615679604083018486615328565b95945050505050565b8581528460208201528360408201526080606082015260006156a8608083018486615328565b979650505050505050565b6000602082840312156156c557600080fd5b81516001600160401b038111156156db57600080fd5b8201601f810184136156ec57600080fd5b80516001600160401b0381111561570557615705615454565b604051601f8201601f19908116603f011681016001600160401b038111828210171561573357615733615454565b60405281815282820160200186101561574b57600080fd5b615679826020830160208601614a83565b6000815161576e818560208601614a83565b9290920192915050565b6000808554615786816152f4565b60018216801561579d57600181146157b2576157e2565b60ff19831686528115158202860193506157e2565b88600052602060002060005b838110156157da578154888201526001909101906020016157be565b505081860193505b505050602f60f81b815284516157ff816001840160208901614a83565b0161581060018201602f60f81b9052565b615655600282018561575c565b60008383855260208501945060208460051b8201018360005b868110156158a857838303601f19018852813536879003605e1901811261585c57600080fd5b860180358452602080820135908501526158796040820182615351565b915060606040860152615890606086018383615328565b60209a8b019a90955093909301925050600101615836565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b8982101561595157868503605f1901845282358181126158f857600080fd5b8b0180358652602080820135908701526040808201359087015261591f6060820182615351565b915060806060880152615936608088018383615328565b965050506020830192506020840193506001820191506158d9565b5050505082810360208401526156a881858761581d565b6000855161597a818460208a01614a83565b602f60f81b9083019081528551615998816001840160208a01614a83565b602f60f81b6001929091019182015284516159ba816002840160208901614a83565b600181830101915050602f60f81b600182015283516159e0816002840160208801614a83565b016002019695505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201615a1657615a166159ee565b5060010190565b600081615a2c57615a2c6159ee565b506000190190565b600060208284031215615a4657600080fd5b505191905056fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382011f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a264697066735822122002782ac4a206149a8b35480d2c8fc19856f35306fdfe6f2c396827f414db085764736f6c634300081c0033";
|
|
15
|
+
export const seriesCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615ba38061008d6000396000f3fe6080604052600436106106e95760003560e01c80637b1d470711610385578063bb77e796116101dc578063e2969ba71161010d578063ee748f2c116100ab578063f8d3adc81161007a578063f8d3adc814610a3d578063fca3b5aa146113f6578063fee81cf414611416578063ff87a5f51461144957600080fd5b8063ee748f2c14611387578063f04e283e1461139c578063f2235701146113af578063f2fde38b146113e357600080fd5b8063e8a3d485116100e7578063e8a3d485146112ec578063e8dc3e0914611301578063e985e9c514611351578063ea58f97114610e5457600080fd5b8063e2969ba7146112b1578063e42b7baf14610b52578063e4df18ec146112d157600080fd5b8063d50bac331161017a578063da2bbfc711610154578063da2bbfc71461124c578063dc9838791461126c578063e1b7938114611281578063e1c2ffad1461129c57600080fd5b8063d50bac331461120c578063d8b4f8ac14611237578063d90f5df214610f1d57600080fd5b8063c83569a9116101b6578063c83569a91461119e578063c87b56dd146111be578063cc1cf51514611183578063cfc59afd146111de57600080fd5b8063bb77e79614611143578063c3e617a214611163578063c4f260481461118357600080fd5b80639a5db503116102b6578063a9fc664e11610254578063ac998f451161022e578063ac998f45146110c9578063b18f004a146110f5578063b47842471461111b578063b88d4fde1461113057600080fd5b8063a9fc664e1461106e578063aa0de18d1461108e578063ac9650d8146110a957600080fd5b8063a148d8cf11610290578063a148d8cf14610ff3578063a22cb4651461100e578063a482c9461461102e578063a8cdf0781461104e57600080fd5b80639a5db50314610f875780639aa1a1f014610f9c578063a07c7ce414610fbc57600080fd5b8063909206e31161032357806392d9906f116102fd57806392d9906f14610f1d57806395d89b4114610f3257806396f4205a14610f4757806397e950f714610f6757600080fd5b8063909206e314610b7a578063913b385a14610efd57806392b29b1714610e8957600080fd5b806386b7f6a41161035f57806386b7f6a414610e895780638da5cb5b14610ea45780638e08141f14610ebd5780638e4cc07014610edd57600080fd5b80637b1d470714610e345780637d0b7ae414610e5457806384f6687f14610e6957600080fd5b80633dda44b0116105445780635e830656116104755780636c59f75911610413578063715018a6116103e2578063715018a614610db7578063738e149614610dbf57806374828e3414610deb57806375794a3c14610e1f57600080fd5b80636c59f75914610d4d5780636cb0281814610d625780636cbdef6114610d8257806370a0823114610d9757600080fd5b8063690533741161044f5780636905337414610cd25780636a62784214610ced5780636aaf760714610d0d5780636bd3922214610d2d57600080fd5b80635e83065614610c7257806361d8791f14610c925780636352211e14610cb257600080fd5b806355580cca116104e25780635b02f81c116104bc5780635b02f81c14610bf55780635c975abb14610c235780635d0b722014610c485780635e5a9e3014610c5d57600080fd5b806355580cca14610b7a57806355828c5014610b9c5780635a50ca6514610bca57600080fd5b80634331f6391161051e5780634331f63914610b0f5780634aa3adb314610b2f5780634efdb5ae14610b5257806354d1f13d14610b7257600080fd5b80633dda44b014610abc57806342842e0e14610adc57806342966c6814610aef57600080fd5b80631c31cac31161061e57806326dfe8c7116105bc5780632e73cddb116105965780632e73cddb14610a1d5780633990b22114610a3d5780633ba1bd8614610a5d5780633c59f1bb14610a7d57600080fd5b806326dfe8c7146109a9578063298bb40e146109c95780632a55205a146109de57600080fd5b806323b872dd116105f857806323b872dd1461096457806325628d3414610977578063256929621461098c578063261220a31461099457600080fd5b80631c31cac3146108b157806320ac0944146108d15780632352b33f146108e657600080fd5b80630b4c562b1161068b5780631622326a116106655780631622326a1461083957806316c38b3c1461085957806317afae431461087957806318160ddd1461088e57600080fd5b80630b4c562b146107dc5780630d705df6146107fc57806313bfffac1461082457600080fd5b8063081812fc116106c7578063081812fc1461077257806308a3839514610792578063095ea7b3146107b4578063098144d4146107c757600080fd5b806301ffc9a7146106ee57806306fdde03146107235780630754617214610745575b600080fd5b3480156106fa57600080fd5b5061070e610709366004614a59565b611469565b60405190151581526020015b60405180910390f35b34801561072f57600080fd5b50610738611549565b60405161071a9190614ad3565b34801561075157600080fd5b5061075a6115fb565b6040516001600160a01b03909116815260200161071a565b34801561077e57600080fd5b5061075a61078d366004614ae6565b61162e565b34801561079e57600080fd5b506107b26107ad366004614b77565b61166d565b005b6107b26107c2366004614c28565b6116f7565b3480156107d357600080fd5b5061075a611706565b3480156107e857600080fd5b506107b26107f7366004614c93565b61171c565b34801561080857600080fd5b506040805163657711f560e11b8152600160208201520161071a565b34801561083057600080fd5b5061075a611729565b34801561084557600080fd5b506107b2610854366004614c93565b611733565b34801561086557600080fd5b506107b2610874366004614cee565b611812565b34801561088557600080fd5b5061075a61186f565b34801561089a57600080fd5b506108a3611885565b60405190815260200161071a565b3480156108bd57600080fd5b506107b26108cc366004614d09565b6118af565b3480156108dd57600080fd5b5061075a6118ba565b3480156108f257600080fd5b50610947610901366004614ae6565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b60408051938452911515602084015215159082015260600161071a565b6107b2610972366004614d24565b6118c4565b34801561098357600080fd5b506107b26119d5565b6107b2611a3b565b3480156109a057600080fd5b50610738611a8a565b3480156109b557600080fd5b506107b26109c4366004614d09565b611aa0565b3480156109d557600080fd5b50610738611b66565b3480156109ea57600080fd5b506109fe6109f9366004614d61565b611b7c565b604080516001600160a01b03909316835260208301919091520161071a565b348015610a2957600080fd5b5061070e610a38366004614ae6565b611bd1565b348015610a4957600080fd5b506107b2610a58366004614d61565b611bdb565b348015610a6957600080fd5b50610738610a78366004614d61565b611be3565b348015610a8957600080fd5b50610a92611bed565b604080516001600160a01b039485168152928416602084015292169181019190915260600161071a565b348015610ac857600080fd5b506107b2610ad7366004614d61565b611bfa565b6107b2610aea366004614d24565b611c70565b348015610afb57600080fd5b506107b2610b0a366004614ae6565b611c9d565b348015610b1b57600080fd5b506107b2610b2a366004614d95565b611ce9565b348015610b3b57600080fd5b5060035b60405161ffff909116815260200161071a565b348015610b5e57600080fd5b506107b2610b6d366004614dc8565b611cfb565b6107b2611d03565b348015610b8657600080fd5b50610b8f611be3565b60405161071a9190614e56565b348015610ba857600080fd5b50610bbc610bb7366004614ae6565b611d3f565b60405161071a929190614e69565b348015610bd657600080fd5b50600080516020615b0e833981519152546001600160a01b031661075a565b348015610c0157600080fd5b50610c15610c10366004614e82565b611d4b565b60405161071a929190614eae565b348015610c2f57600080fd5b50600080516020615aae8339815191525460ff1661070e565b348015610c5457600080fd5b506107b2611d57565b348015610c6957600080fd5b506107b2611d61565b348015610c7e57600080fd5b506107b2610c8d366004614c28565b611db4565b348015610c9e57600080fd5b506107b2610cad366004614ed0565b611dd9565b348015610cbe57600080fd5b5061075a610ccd366004614ae6565b6120b7565b348015610cde57600080fd5b506107b26108cc366004614ae6565b348015610cf957600080fd5b506108a3610d08366004614d09565b6120f5565b348015610d1957600080fd5b50610738610d28366004614ae6565b612108565b348015610d3957600080fd5b50610947610d48366004614d61565b612112565b348015610d5957600080fd5b5061070e611729565b348015610d6e57600080fd5b50610738610d7d366004614ae6565b612166565b348015610d8e57600080fd5b506108a36121cc565b348015610da357600080fd5b506108a3610db2366004614d09565b6121e2565b6107b261221d565b348015610dcb57600080fd5b50600080516020615b0e83398151915254600160a01b900460ff1661070e565b348015610df757600080fd5b50610e0b610e06366004614ae6565b61222f565b60405161071a989796959493929190614f45565b348015610e2b57600080fd5b506108a3612243565b348015610e4057600080fd5b506107b2610e4f366004614d09565b61226b565b348015610e6057600080fd5b5061070e6118ba565b348015610e7557600080fd5b50610738610e84366004614d61565b6122ce565b348015610e9557600080fd5b506107b26107f7366004614e82565b348015610eb057600080fd5b50638b78c6d8195461075a565b348015610ec957600080fd5b506107b2610ed8366004614ae6565b612340565b348015610ee957600080fd5b506107b2610ef8366004614fa4565b6123af565b348015610f0957600080fd5b506107b2610f18366004614dc8565b612427565b348015610f2957600080fd5b506108a36118ba565b348015610f3e57600080fd5b506107386124a2565b348015610f5357600080fd5b506107b2610f62366004614d09565b6124d4565b348015610f7357600080fd5b506107b2610f82366004614ae6565b61251c565b348015610f9357600080fd5b506107b26125da565b348015610fa857600080fd5b506107b2610fb7366004614c93565b612626565b348015610fc857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff1661070e565b348015610fff57600080fd5b5061070e610a38366004614d61565b34801561101a57600080fd5b506107b2611029366004614fcf565b612669565b34801561103a57600080fd5b506107b2611049366004614ff9565b6126bf565b34801561105a57600080fd5b506107b2611069366004615059565b61273d565b34801561107a57600080fd5b506107b2611089366004614d09565b6127c8565b34801561109a57600080fd5b506107b26107f736600461509a565b6110bc6110b73660046150dd565b61281c565b60405161071a9190615112565b3480156110d557600080fd5b50600080516020615a8e83398151915254600160a01b900460ff1661070e565b34801561110157600080fd5b50600080516020615a4e8339815191525461ffff16610b3f565b34801561112757600080fd5b506107b261283b565b6107b261113e366004615177565b612887565b34801561114f57600080fd5b5061073861115e366004614ae6565b6128db565b34801561116f57600080fd5b506107b261117e366004615059565b61299c565b34801561118f57600080fd5b50610c15610c10366004614d61565b3480156111aa57600080fd5b506107b26111b93660046151c8565b6129fb565b3480156111ca57600080fd5b506107386111d9366004614ae6565b612aaf565b3480156111ea57600080fd5b506111fe6111f9366004614ae6565b612d0b565b60405161071a9291906151f3565b34801561121857600080fd5b50600080516020615a8e833981519152546001600160a01b031661075a565b34801561124357600080fd5b5061075a612d16565b34801561125857600080fd5b506107b2611267366004615059565b612d3e565b34801561127857600080fd5b506107b2612e15565b34801561128d57600080fd5b50610b8f610a78366004614ae6565b3480156112a857600080fd5b506107b2612e61565b3480156112bd57600080fd5b506107b26112cc366004614d09565b612eb4565b3480156112dd57600080fd5b50610bbc610bb7366004614d61565b3480156112f857600080fd5b50610738612f29565b34801561130d57600080fd5b50610b3f61131c366004614ae6565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561135d57600080fd5b5061070e61136c36600461520e565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561139357600080fd5b506107386130dd565b6107b26113aa366004614d09565b6130f3565b3480156113bb57600080fd5b506113cf6113ca366004614ae6565b613130565b60405161071a989796959493929190615238565b6107b26113f1366004614d09565b613145565b34801561140257600080fd5b506107b2611411366004614d09565b61316c565b34801561142257600080fd5b506108a3611431366004614d09565b63389a75e1600c908152600091909152602090205490565b34801561145557600080fd5b506107b2611464366004614d09565b6131e1565b6000611474826132b2565b806114835750611483826132e9565b8061149257506114928261332e565b806114a157506114a182613370565b806114b057506114b08261339d565b806114bf57506114bf82613404565b806114ce57506114ce8261342f565b806114dd57506114dd8261345a565b806114ec57506114ec82613485565b806114fb57506114fb826134b0565b8061150a575061150a826134db565b80611519575061151982613506565b80611528575061152882613531565b8061154357506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054611578906152f4565b80601f01602080910402602001604051908101604052809291908181526020018280546115a4906152f4565b80156115f15780601f106115c6576101008083540402835291602001916115f1565b820191906000526020600020905b8154815290600101906020018083116115d457829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6116635763ceea21b66000526004601cfd5b6001015492915050565b61167561355c565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906116bc908c908c908c908c908c908c908c908c908c90600401615396565b60006040518083038186803b1580156116d457600080fd5b505af41580156116e8573d6000803e3d6000fd5b50505050505050505050505050565b611702338383613577565b5050565b6000600080516020615b4e83398151915261161f565b611724613618565b505050565b60006106e9613620565b61173b61355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156117835760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061179e8385836154b1565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516117d1929190615570565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b61181a61355c565b600080516020615aae833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615b2e83398151915261161f565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6118b7613618565b50565b60006106e9613630565b6118cf838383613640565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119215767ceea21b6a1148100831560021b526004601cfd5b85600052816001015492508233148633141761194f576030600c205461194f57634b6e7f186000526004601cfd5b821561195d57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119a05767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a461172483838361364b565b6119dd61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b505af4158015611a35573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615ace83398151915261156d565b611aa861355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff1615611af0576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615aee83398151915261156d565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611bb0576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106e9613661565b611702613618565b60606106e9613620565b60008060006106e9613620565b611c0261355c565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440160006040518083038186803b158015611c5457600080fd5b505af4158015611c68573d6000803e3d6000fd5b505050505050565b611c7b8383836118c4565b813b156117245761172483838360405180602001604052806000815250613671565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140015460ff16611cdf5760405163be20705f60e01b815260040160405180910390fd5b6118b733826136f5565b611cf161355c565b61170282826137d6565b611a35613618565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106e9613661565b606060006106e9613620565b611d5f613618565b565b611d6961355c565b600080516020615a8e833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611dbc6138b8565b60005b8181101561172457611dd08361393a565b50600101611dbf565b63409feecd198054600382558015611e105760018160011c14303b10611e075763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101800135600003611e375760405163fe5afcb960e01b815260040160405180910390fd5b8161018001358261026001351115611e6257604051633f63c5bf60e01b815260040160405180910390fd5b611e77611e726020840184614d09565b6139ff565b611e9c611e876060840184615584565b611e9760a0860160808701614d09565b613a2f565b611ebe611eac6020840184615584565b611eb96040860186615584565b613a70565b611ec6613aad565b611f03611eda610100840160e08501614d09565b611eec610120850161010086016151c8565b611efe610140860161012087016151c8565b613ae3565b611f1d611f1861016084016101408501614cee565b613b93565b611f2b826101800135613bf3565b611f45611f406101e084016101c08501614d09565b613c5f565b611f5f611f5a6101c084016101a08501614d09565b613cc0565b611f79611f7461020084016101e08501614cee565b613d21565b611f93611f8e61022084016102008501614d09565b613d9f565b611f9b613dee565b611fb5611fb061024084016102208501614cee565b613e19565b611fbd613ec3565b611fc5613eee565b611fe9611fd66102808401846155ca565b611fe46102a08601866155ca565b613f19565b61200e611ff960a0840184615584565b61200960e0860160c08701614d09565b613f5e565b61202861202361018084016101608501614d09565b613fc6565b600061203c61026084016102408501614d09565b6001600160a01b03161461207f5760005b82610260013581101561207d5761207461206f61026085016102408601614d09565b61393a565b5060010161204d565b505b8015611702576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806120f05763ceea21b66000526004601cfd5b919050565b60006120ff6138b8565b6115438261393a565b60606106e9613630565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156121b4576121af8161402b565b6121c5565b604051806020016040528060008152505b9392505050565b6000600080516020615a6e8339815191526118a9565b6000816121f757638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61222561355c565b611d5f6000614059565b6000806000806000806000806106e9613620565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006118a9565b61227361355c565b80600080516020615b2e8339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b03168015612327576123228161402b565b612338565b604051806020016040528060008152505b949350505050565b61234861355c565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561239457600080fd5b505af41580156123a8573d6000803e3d6000fd5b5050505050565b6123b761355c565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906123f290869086908690600401615613565b60006040518083038186803b15801561240a57600080fd5b505af415801561241e573d6000803e3d6000fd5b50505050505050565b61242f61355c565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061246c908790879087908790600401615635565b60006040518083038186803b15801561248457600080fd5b505af4158015612498573d6000803e3d6000fd5b5050505050505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054611578906152f4565b6124dc61355c565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161237c565b61252461355c565b600080516020615a6e83398151915260008290036125555760405163fe5afcb960e01b815260040160405180910390fd5b805482111561257757604051632b953d0360e11b815260040160405180910390fd5b61257f612243565b82101561259f57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6125e261355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b61262e61355c565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906123f29086908690869060040161565f565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6126c761355c565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906127069088908890889088908890600401615682565b60006040518083038186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b505050505050505050565b61274561355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff161561278d576040516352be865b60e01b815260040160405180910390fd5b806127998385836154b1565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b600080516020615b4e8339815191528054600160a01b900460ff1661280057604051638915b2e160e01b815260040160405180910390fd5b61280982614097565b61281381836140fb565b6117028261416b565b6060341561282957600080fd5b61154361283684846141de565b614275565b61284361355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b6128928585856118c4565b833b156123a8576123a885858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061367192505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612917906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612943906152f4565b80156129905780601f1061296557610100808354040283529160200191612990565b820191906000526020600020905b81548152906001019060200180831161297357829003601f168201915b50505050509050919050565b6129a461355c565b600080516020615b0e83398151915254600080516020615aee83398151915290600160a01b900460ff16156129ec576040516352be865b60e01b815260040160405180910390fd5b600181016127998385836154b1565b612a0361355c565b600080516020615a4e833981519152805461ffff90811690831610612a3e576040516001625957a760e11b0319815260040160405180910390fd5b612a46614285565b61ffff168261ffff161015612a6e5760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e906020016125ce565b6060612ad9826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612af65760405163163a09e160e31b815260040160405180910390fd5b600080516020615a8e83398151915254600080516020615ace833981519152906001600160a01b031615612b9d57600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612b75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121c591908101906156b3565b600083815260028201602052604081208054612bb8906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612be4906152f4565b8015612c315780601f10612c0657610100808354040283529160200191612c31565b820191906000526020600020905b815481529060010190602001808311612c1457829003601f168201915b505050505090508051600014612c48579392505050565b81548290612c55906152f4565b9050600003612c7557505060408051602081019091526000815292915050565b612338826000018054612c87906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054612cb3906152f4565b8015612d005780601f10612cd557610100808354040283529160200191612d00565b820191906000526020600020905b815481529060010190602001808311612ce357829003601f168201915b505050505085614294565b6000806106e9613630565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061161f565b612d4661355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff1615612d8e5760405163dd48f3ab60e01b815260040160405180910390fd5b80612d9a8385836154b1565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612dcc929190615570565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b612e1d61355c565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a2157600080fd5b612e6961355c565b600080516020615b0e833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612ebc61355c565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b0e83398151915254606090600080516020615aee833981519152906001600160a01b031615612fd057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612fa2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fca91908101906156b3565b91505090565b806001018054612fdf906152f4565b15905061307957806001018054612ff5906152f4565b80601f0160208091040260200160405190810160405280929190818152602001828054613021906152f4565b801561306e5780601f106130435761010080835404028352916020019161306e565b820191906000526020600020905b81548152906001019060200180831161305157829003601f168201915b505050505091505090565b80548190613086906152f4565b90506000036130a357505060408051602081019091526000815290565b806130ad466142dc565b6130b630614320565b6040516020016130c893929190615778565b60405160208183030381529060405291505090565b6060600080516020615aee8339815191526124c6565b6130fb61355c565b63389a75e1600c52806000526020600c20805442111561312357636f5e88186000526004601cfd5b600090556118b781614059565b600080600080600080600060606106e9613620565b61314d61355c565b8060601b61316357637448fbae6000526004601cfd5b6118b781614059565b61317461355c565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6131e961355c565b600080516020615a8e83398151915254600080516020615ace83398151915290600160a01b900460ff16156132315760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016125ce565b60006132bd82614344565b806115435750611543826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613311826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806115435750506001600160e01b031916632483248360e11b1490565b600061333982614344565b8061331157506001600160e01b031982166307ccd03560e31b14806115435750506001600160e01b031916632483248360e11b1490565b600061337b82614344565b806115435750632a55205a60e083901c9081146301ffc9a79190911417611543565b60006133a882614344565b8061154357506001600160e01b03198216632b435fdb60e21b14806133dd57506001600160e01b0319821663503e914d60e11b145b80156115435750600080516020615b4e83398151915254600160a01b900460ff1692915050565b600061340f82614344565b8061154357506001600160e01b03198216636cbdef6160e01b1492915050565b600061343a82614344565b8061154357506001600160e01b031982166303aa30b960e11b1492915050565b600061346582614344565b8061154357506001600160e01b0319821663362d3e2b60e21b1492915050565b600061349082614344565b8061154357506001600160e01b03198216635c975abb60e01b1492915050565b60006134bb82614344565b8061154357506001600160e01b031982166317afae4360e01b1492915050565b60006134e68261437a565b8061154357506001600160e01b0319821663a2316e0b60e01b1492915050565b600061351182614344565b8061154357506001600160e01b0319821663215f672360e21b1492915050565b600061353c82614344565b8061154357506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314611d5f576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816135be5763ceea21b66000526004601cfd5b8185148515176135e457816000526030600c20546135e457634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b611d5f6143a5565b6143a58061170263ffffffff8216565b6143dd8061170263ffffffff8216565b61172483838361440f565b6136568383836144db565b61172481848461455e565b6146078061170263ffffffff8216565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156136b8578060c08401826020870160045afa505b60208360a48301601c860160008a5af16136db573d156136db573d6000843e3d83fd5b508060e01b825114611c685763d1a57ed66000526004601cfd5b6000613700826120b7565b905061370e81600084613640565b5060008181526001600160a01b03928316673ec412a9852d173d60c11b8117601c5260209091208201820180549193821691826137535763ceea21b66000526004601cfd5b82600052816001015480861484871417861517613782576030600c205461378257634b6e7f186000526004601cfd5b801561379057600083600101555b5082189055601c600c208054600019019055816000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8238a46117248160008461364b565b600080516020615a4e8339815191525461ffff1661ffff168161ffff1611156138125760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff1660000361386b57613830600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613879828261ffff16614639565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161385f565b638b78c6d819546001600160a01b031633036138d057565b600080516020615aae8339815191525460ff1615613901576040516375ab03ab60e11b815260040160405180910390fd5b6139096115fb565b6001600160a01b0316336001600160a01b031614611d5f5760405163263ab11d60e21b815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0080549061396782614689565b6001828101825560008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808320631cd9595960e21b845290915290200154610100900460ff166139ef5760008060006139ca85876146b8565b92509250925082156139eb576139eb85631cd9595960e21b846000856147c6565b5050505b6139f98383614823565b50919050565b6001600160a01b038116613a26576040516349e27cff60e01b815260040160405180910390fd5b6118b7816148d8565b600080516020615ace83398151915280613a4a8486836154b1565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613a9d8587836154b1565b5060018101611c688385836154b1565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b613b0e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614914565b61271061ffff82161115613b34576040516274280760e61b815260040160405180910390fd5b80600080516020615a4e833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a161172483836137d6565b7f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914001805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611864565b613c1e7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614914565b80600080516020615a6e833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611864565b613c8a7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614914565b6001600160a01b038116156118b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00613197565b613ceb7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614914565b6001600160a01b038116156118b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612edf565b613d4c7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614914565b80156118b757600080516020615aae833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611864565b613dca7fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614914565b6001600160a01b038116156118b75780600080516020615b2e833981519152612284565b611d5f7f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614914565b613e447f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614914565b8015613e825760405163487fbd2b60e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063487fbd2b9060240161237c565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b611d5f7fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614914565b611d5f7fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614914565b613f21614986565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061246c9087908790879087906004016158b4565b600080516020615aee83398151915280613f798486836154b1565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6001600160a01b038116613fd75750565b613fe0816149b1565b600080516020615b4e833981519152805460ff60a01b1916600160a01b1781556128097f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614914565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006140a6638b78c6d8195490565b6001600160a01b0316036140db576001600160a01b038116156118b7576040516282b42960e81b815260040160405180910390fd5b6140e361355c565b6001600160a01b038116156118b7576118b7816149b1565b81546001600160a01b03908116908216810361411657505050565b82546001600160a01b0319166001600160a01b03838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101612e08565b6001600160a01b03811661417c5750565b60405163fb2de5d760e01b81523060048201526102d160248201526001600160a01b0382169063fb2de5d790604401600060405180830381600087803b1580156141c557600080fd5b505af19250505080156141d6575060015b156118b75750565b600060405190506020815281816020015280604001808360051b80868437820180851561425d575b835187018035602082018337600038823584305af4614228573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614206575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806121c581612710611b7c565b6060826142a0466142dc565b6142a930614320565b6142b2856142dc565b6040516020016142c59493929190615968565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806142f7575050819003601f19909101908152919050565b606061432b826149ea565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061154357506001600160e01b0319821663513fc9dd60e11b1492915050565b600061438582614344565b8061154357506001600160e01b03198216638bd8666560e01b1492915050565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b503d6000f35b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b600080516020615b4e833981519152546001600160a01b0316806144335750505050565b6001600160a01b038416158061445057506001600160a01b038316155b1561445b5750505050565b6001600160a01b03811633036144715750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b1580156144c757600080fd5b505afa158015612498573d6000803e3d6000fd5b6001600160a01b038316614521577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a04565b90915550505050565b6001600160a01b038216611724577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061451890615a1d565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b0316806145945750505050565b604051631e68598960e21b8152600481018590526001600160a01b0384811660248301528381166044830152336064830152600160848301528216906379a166249060a401600060405180830381600087803b1580156145f357600080fd5b505af1158015612498573d6000803e3d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e806143d7573d6000fd5b6bffffffffffffffffffffffff16612710808211156146605763350a88b36000526004601cfd5b8260601b806146775763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b600080516020615a6e8339815191525481106118b75760405163ba470cd560e01b815260040160405180910390fd5b600080516020615b2e8339815191525460009081906001600160a01b0316806146e95750600091508190508061215f565b73__$e7b790d12aa4dbca4f4490208141613ae5$__631de450a06040518163ffffffff1660e01b815260040160006040518083038186803b15801561472d57600080fd5b505af4158015614741573d6000803e3d6000fd5b505060405163058e173960e11b8152600481018890526001600160a01b0387811660248301526001935084169150630b1c2e72906044016020604051808303816000875af1158015614797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147bb9190615a34565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a401612706565b61482f60008383613640565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b1561486d5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff811684026148a25767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46117026000838361364b565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161385f565b611d5f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614914565b600063a9b1c2d36000526000386004601c855afa823b15179050801561170257604051631ab5243360e31b815260040160405180910390fd5b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614a2a575050919050565b600060208284031215614a6b57600080fd5b81356001600160e01b0319811681146121c557600080fd5b60005b83811015614a9e578181015183820152602001614a86565b50506000910152565b60008151808452614abf816020860160208601614a83565b601f01601f19169290920160200192915050565b6020815260006121c56020830184614aa7565b600060208284031215614af857600080fd5b5035919050565b80356001600160a01b03811681146120f057600080fd5b803565ffffffffffff811681146120f057600080fd5b60008083601f840112614b3e57600080fd5b5081356001600160401b03811115614b5557600080fd5b6020830191508360208260051b8501011115614b7057600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614b9657600080fd5b8935985060208a013560098110614bac57600080fd5b975060408a013560078110614bc057600080fd5b9650614bce60608b01614aff565b9550614bdc60808b01614b16565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614c0557600080fd5b614c118c828d01614b2c565b915080935050809150509295985092959850929598565b60008060408385031215614c3b57600080fd5b614c4483614aff565b946020939093013593505050565b60008083601f840112614c6457600080fd5b5081356001600160401b03811115614c7b57600080fd5b602083019150836020828501011115614b7057600080fd5b600080600060408486031215614ca857600080fd5b8335925060208401356001600160401b03811115614cc557600080fd5b614cd186828701614c52565b9497909650939450505050565b803580151581146120f057600080fd5b600060208284031215614d0057600080fd5b6121c582614cde565b600060208284031215614d1b57600080fd5b6121c582614aff565b600080600060608486031215614d3957600080fd5b614d4284614aff565b9250614d5060208501614aff565b929592945050506040919091013590565b60008060408385031215614d7457600080fd5b50508035926020909101359150565b803561ffff811681146120f057600080fd5b60008060408385031215614da857600080fd5b614db183614aff565b9150614dbf60208401614d83565b90509250929050565b60008060008060608587031215614dde57600080fd5b843593506020850135925060408501356001600160401b03811115614e0257600080fd5b614e0e87828801614c52565b95989497509550505050565b600081518084526020840193506020830160005b82811015614e4c578151865260209586019590910190600101614e2e565b5093949350505050565b6020815260006121c56020830184614e1a565b8281526040602082015260006123386040830184614aa7565b600080600060608486031215614e9757600080fd5b505081359360208301359350604090920135919050565b604081526000614ec16040830185614e1a565b90508260208301529392505050565b600060208284031215614ee257600080fd5b81356001600160401b03811115614ef857600080fd5b82016102c081850312156121c557600080fd5b634e487b7160e01b600052602160045260246000fd5b60098110614f3157614f31614f0b565b9052565b60078110614f3157614f31614f0b565b88151581526101008101614f5c602083018a614f21565b614f696040830189614f35565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fb957600080fd5b83359250602084013560028110614d5057600080fd5b60008060408385031215614fe257600080fd5b614feb83614aff565b9150614dbf60208401614cde565b60008060008060006080868803121561501157600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561503c57600080fd5b61504888828901614c52565b969995985093965092949392505050565b6000806020838503121561506c57600080fd5b82356001600160401b0381111561508257600080fd5b61508e85828601614c52565b90969095509350505050565b6000806000606084860312156150af57600080fd5b6150b884614aff565b92506150c660208501614aff565b91506150d460408501614aff565b90509250925092565b600080602083850312156150f057600080fd5b82356001600160401b0381111561510657600080fd5b61508e85828601614b2c565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561516b57603f19878603018452615156858351614aa7565b9450602093840193919091019060010161513a565b50929695505050505050565b60008060008060006080868803121561518f57600080fd5b61519886614aff565b94506151a660208701614aff565b93506040860135925060608601356001600160401b0381111561503c57600080fd5b6000602082840312156151da57600080fd5b6121c582614d83565b60028110614f3157614f31614f0b565b6040810161520182856151e3565b8260208301529392505050565b6000806040838503121561522157600080fd5b61522a83614aff565b9150614dbf60208401614aff565b600061010082018a15158352615251602084018b614f21565b61525e604084018a614f35565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156152e15761011f198786030184526152cc858351614aa7565b945060209384019391909101906001016152af565b50929d9c50505050505050505050505050565b600181811c9082168061530857607f821691505b6020821081036139f957634e487b7160e01b600052602260045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261536857600080fd5b83016020810192503590506001600160401b0381111561538757600080fd5b803603821315614b7057600080fd5b600061010082018b83526153ad602084018c614f21565b6153ba604084018b614f35565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154415785840361011f1901835261541f8289615351565b61542a868284615328565b955050506020928301929190910190600101615403565b50919d9c50505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b601f82111561172457806000526020600020601f840160051c810160208510156154915750805b601f840160051c820191505b818110156123a8576000815560010161549d565b6001600160401b038311156154c8576154c8615454565b6154dc836154d683546152f4565b8361546a565b6000601f84116001811461551057600085156154f85750838201355b600019600387901b1c1916600186901b1783556123a8565b600083815260209020601f19861690835b828110156155415786850135825560209485019460019092019101615521565b508682101561555e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b602081526000612338602083018486615328565b6000808335601e1984360301811261559b57600080fd5b8301803591506001600160401b038211156155b557600080fd5b602001915036819003821315614b7057600080fd5b6000808335601e198436030181126155e157600080fd5b8301803591506001600160401b038211156155fb57600080fd5b6020019150600581901b3603821315614b7057600080fd5b8381526060810161562760208301856151e3565b826040830152949350505050565b848152836020820152606060408201526000615655606083018486615328565b9695505050505050565b838152604060208201526000615679604083018486615328565b95945050505050565b8581528460208201528360408201526080606082015260006156a8608083018486615328565b979650505050505050565b6000602082840312156156c557600080fd5b81516001600160401b038111156156db57600080fd5b8201601f810184136156ec57600080fd5b80516001600160401b0381111561570557615705615454565b604051601f8201601f19908116603f011681016001600160401b038111828210171561573357615733615454565b60405281815282820160200186101561574b57600080fd5b615679826020830160208601614a83565b6000815161576e818560208601614a83565b9290920192915050565b6000808554615786816152f4565b60018216801561579d57600181146157b2576157e2565b60ff19831686528115158202860193506157e2565b88600052602060002060005b838110156157da578154888201526001909101906020016157be565b505081860193505b505050602f60f81b815284516157ff816001840160208901614a83565b0161581060018201602f60f81b9052565b615655600282018561575c565b60008383855260208501945060208460051b8201018360005b868110156158a857838303601f19018852813536879003605e1901811261585c57600080fd5b860180358452602080820135908501526158796040820182615351565b915060606040860152615890606086018383615328565b60209a8b019a90955093909301925050600101615836565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b8982101561595157868503605f1901845282358181126158f857600080fd5b8b0180358652602080820135908701526040808201359087015261591f6060820182615351565b915060806060880152615936608088018383615328565b965050506020830192506020840193506001820191506158d9565b5050505082810360208401526156a881858761581d565b6000855161597a818460208a01614a83565b602f60f81b9083019081528551615998816001840160208a01614a83565b602f60f81b6001929091019182015284516159ba816002840160208901614a83565b600181830101915050602f60f81b600182015283516159e0816002840160208801614a83565b016002019695505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201615a1657615a166159ee565b5060010190565b600081615a2c57615a2c6159ee565b506000190190565b600060208284031215615a4657600080fd5b505191905056fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382011f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a2646970667358221220ebf5989484b3de9d3ac9542557c61bb94dce8003f8da1a284399678f9f56949464736f6c634300081c0033";
|
|
16
16
|
export const oneOfOneEditionFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneEdition.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct OneOfOneEdition.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
|
|
17
|
-
export const oneOfOneEditionFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61525f80610c2883390190565b608051610b9a61008e6000396000818160d40152818161013001528181610175015281816101b301526102dd0152610b9a6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635414dff0116100505780635414dff0146100bc5780635c60da1b146100cf5780635c857b3e146100f657600080fd5b80630e31426a1461006c5780631e791870146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f6100ca366004610599565b6101ac565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101196101043660046105d6565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b600061017082610359565b61019a7f0000000000000000000000000000000000000000000000000000000000000000836103be565b90506101a681846101e6565b92915050565b60006101a67f000000000000000000000000000000000000000000000000000000000000000083306103d3565b60006101a6600083610430565b6040517fb36e6e8900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063b36e6e8990610238908490600401610800565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c591508201826105d6565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b606081901c8015801590610383575073ffffffffffffffffffffffffffffffffffffffff81163314155b156103ba576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006103cc60008484610485565b9392505050565b60008061041a8560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506104278185856104dc565b95945050505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104d05763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b6000610280828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b6000806040838503121561056757600080fd5b823567ffffffffffffffff81111561057e57600080fd5b61058a858286016104fe565b95602094909401359450505050565b6000602082840312156105ab57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105e857600080fd5b6103cc826105b2565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107f4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126107a857600080fd5b860180358452602080820135908501526107c560408201826105f1565b9150606060408601526107dc60608601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b6020815261082e60208201610814846105b2565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061083c602084016105b2565b73ffffffffffffffffffffffffffffffffffffffff81166040840152506040830135606083810191909152610873908401846105f1565b610280608085015261088a6102a08501828461065c565b91505061089a60808501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a08601526108cf83828461065c565b925050506108e060a08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c086015261091583828461065c565b9250505061092560c085016105b2565b73ffffffffffffffffffffffffffffffffffffffff811660e08501525061094f60e08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030161010086015261098583828461065c565b9250505061099661010085016105b2565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109c161012085016105b2565b73ffffffffffffffffffffffffffffffffffffffff8116610140850152506109ec61014085016106a5565b61ffff811661016085015250610a0561016085016106a5565b61ffff811661018085015250610a1e61018085016106b7565b8015156101a085015250610a356101a085016105b2565b73ffffffffffffffffffffffffffffffffffffffff81166101c0850152506101c08401356101e084810191909152610a6e9085016105b2565b73ffffffffffffffffffffffffffffffffffffffff811661020085015250610a9961020085016105b2565b73ffffffffffffffffffffffffffffffffffffffff811661022085015250610ac461022085016106b7565b80151561024085015250610adc6102408501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610260860152610b1283828461072e565b92505050610b246102608501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610280860152610b5a83828461072e565b969550505050505056fea26469706673582212209370bced6cb3786b17f2941244a3465f9abd844c7a9a2184b352a99cd446163a64736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151d28061008d6000396000f3fe6080604052600436106104135760003560e01c80638e08141f11610228578063d50bac3311610128578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610dbe578063fee81cf414610dde578063ff87a5f514610e1157600080fd5b8063f2fde38b14610d8b578063f5298aca14610d9e57600080fd5b8063e985e9c514610d0a578063ee748f2c14610d43578063f04e283e14610d58578063f242432a14610d6b57600080fd5b8063e2969ba7116100f7578063e2969ba714610c6a578063e4df18ec14610c8a578063e8a3d48514610ca5578063e8dc3e0914610cba57600080fd5b8063d50bac3314610bd6578063d8b4f8ac14610c20578063da2bbfc714610c35578063e1c2ffad14610c5557600080fd5b8063a9fc664e116101bb578063b36e6e891161018a578063bd85b0391161016f578063bd85b03914610b4a578063c3e617a214610b96578063c83569a914610bb657600080fd5b8063b36e6e8914610b0a578063bb77e79614610b2a57600080fd5b8063a9fc664e14610a43578063ac9650d814610a63578063ac998f4514610a83578063b18f004a14610ad257600080fd5b8063a148d8cf116101f7578063a148d8cf146109c8578063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a2357600080fd5b80638e08141f1461093c578063913b385a1461095c57806395d89b411461097c578063a07c7ce41461099157600080fd5b80632e73cddb1161033357806354d1f13d116102c65780635e5a9e3011610295578063738e14961161027a578063738e149614610899578063869f7594146108e85780638da5cb5b1461090857600080fd5b80635e5a9e301461087c578063715018a61461089157600080fd5b806354d1f13d146107c557806355828c50146107cd5780635a50ca65146107fb5780635c975abb1461084557600080fd5b80634331f639116103025780634331f639146107075780634aa3adb3146107275780634e1273f41461074a5780634f558e791461077757600080fd5b80632e73cddb146106875780632eb2c2d6146106a757806337da577c146106c75780633dda44b0146106e757600080fd5b8063156e29f6116103ab578063261220a31161037a578063261220a3146105f157806326dfe8c714610606578063298bb40e146106265780632a55205a1461063b57600080fd5b8063156e29f6146105895780631622326a146105a957806316c38b3c146105c957806325692962146105e957600080fd5b8063098144d4116103e7578063098144d4146104f15780630d705df6146105065780630e89341c1461054757806314cb56671461056757600080fd5b8062fdd58e1461041857806301ffc9a71461046557806306fdde031461049557806307546172146104b7575b600080fd5b34801561042457600080fd5b50610452610433366004614223565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561047157600080fd5b5061048561048036600461424d565b610e31565b604051901515815260200161045c565b3480156104a157600080fd5b506104aa610ef7565b60405161045c91906142fd565b3480156104c357600080fd5b506104cc610fa9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161045c565b3480156104fd57600080fd5b506104cc610fe9565b34801561051257600080fd5b50604080517f1854b241000000000000000000000000000000000000000000000000000000008152600060208201520161045c565b34801561055357600080fd5b506104aa610562366004614310565b611011565b34801561057357600080fd5b50610587610582366004614375565b61101b565b005b34801561059557600080fd5b506105876105a43660046143b7565b6110a9565b3480156105b557600080fd5b506105876105c436600461442c565b6110f8565b3480156105d557600080fd5b506105876105e4366004614488565b611189565b610587611216565b3480156105fd57600080fd5b506104aa611266565b34801561061257600080fd5b506105876106213660046144a3565b61128e565b34801561063257600080fd5b506104aa6113c7565b34801561064757600080fd5b5061065b6106563660046144be565b6113ef565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161045c565b34801561069357600080fd5b506104856106a2366004614310565b611462565b3480156106b357600080fd5b506105876106c23660046144e0565b61146c565b3480156106d357600080fd5b506105876106e23660046144be565b611759565b3480156106f357600080fd5b506105876107023660046144be565b6117b9565b34801561071357600080fd5b506105876107223660046145b9565b611819565b34801561073357600080fd5b5060025b60405161ffff909116815260200161045c565b34801561075657600080fd5b5061076a6107653660046145ec565b61182f565b60405161045c919061465d565b34801561078357600080fd5b50610485610792366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b61058761189f565b3480156107d957600080fd5b506107ed6107e8366004614310565b6118db565b60405161045c9291906146a0565b34801561080757600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104cc565b34801561085157600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16610485565b34801561088857600080fd5b506105876118e7565b61058761194d565b3480156108a557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610485565b3480156108f457600080fd5b50610452610903366004614310565b611961565b34801561091457600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104cc565b34801561094857600080fd5b50610587610957366004614310565b6119d8565b34801561096857600080fd5b506105876109773660046146c1565b611a60565b34801561098857600080fd5b506104aa611aea565b34801561099d57600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16610485565b3480156109d457600080fd5b506104856106a23660046144be565b3480156109ef57600080fd5b506105876109fe366004614708565b611b1c565b348015610a0f57600080fd5b50610587610a1e366004614732565b611b72565b348015610a2f57600080fd5b50610587610a3e366004614793565b611bfe565b348015610a4f57600080fd5b50610587610a5e3660046144a3565b611cd7565b610a76610a71366004614375565b611d46565b60405161045c91906147c9565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610485565b348015610ade57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff16610737565b348015610b1657600080fd5b50610587610b2536600461484c565b611d65565b348015610b3657600080fd5b506104aa610b45366004614310565b611fca565b348015610b5657600080fd5b50610452610b65366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610ba257600080fd5b50610587610bb1366004614793565b61208b565b348015610bc257600080fd5b50610587610bd1366004614888565b612138565b348015610be257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104cc565b348015610c2c57600080fd5b506104cc612251565b348015610c4157600080fd5b50610587610c50366004614793565b612279565b348015610c6157600080fd5b506105876122d3565b348015610c7657600080fd5b50610587610c853660046144a3565b612364565b348015610c9657600080fd5b506107ed6107e83660046144be565b348015610cb157600080fd5b506104aa6123fe565b348015610cc657600080fd5b50610737610cd5366004614310565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d1657600080fd5b50610485610d253660046148a3565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610d4f57600080fd5b506104aa612627565b610587610d663660046144a3565b61264f565b348015610d7757600080fd5b50610587610d863660046148cd565b61268f565b610587610d993660046144a3565b6128ee565b348015610daa57600080fd5b50610587610db93660046143b7565b612915565b348015610dca57600080fd5b50610587610dd93660046144a3565b61297c565b348015610dea57600080fd5b50610452610df93660046144a3565b63389a75e1600c908152600091909152602090205490565b348015610e1d57600080fd5b50610587610e2c3660046144a3565b612a16565b6000610e3c82612a84565b80610e4b5750610e4b82612abb565b80610e5a5750610e5a82612b60565b80610e695750610e6982612b8d565b80610e785750610e7882612c79565b80610e875750610e8782612cd5565b80610e965750610e9682612d31565b80610ea55750610ea582612d8d565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f2690614945565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5290614945565b8015610f9f5780601f10610f7457610100808354040283529160200191610f9f565b820191906000526020600020905b815481529060010190602001808311610f8257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fcd565b6060610413612de9565b611023612df9565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb5667906110759085908590600401614998565b60006040518083038186803b15801561108d57600080fd5b505af41580156110a1573d6000803e3d6000fd5b505050505050565b81156110e1576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110e9612e2f565b6110f38382612f37565b505050565b611100612df9565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a9061115490869086908690600401614a33565b60006040518083038186803b15801561116c57600080fd5b505af4158015611180573d6000803e3d6000fd5b50505050505050565b611191612df9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f1b565b611296612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561132c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f1b565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611423576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610413612f98565b61150f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250612fa892505050565b82851461152457633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115635763ea553b346000526004601cfd5b89331461158657336000526034600c205461158657634b6e7f186000526004601cfd5b8660051b5b80156115f8576020810390508087013583602052818a013560005260406000208054808311156115c35763f4d678b86000526004601cfd5b8290039055602083905260406000208054808301818110156115ed576301336cea6000526004601cfd5b9091555061158b9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050611663600190565b15611678576116788888888888888888612fb4565b863b1561174f578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611716573d15611716573d6000833e3d82fd5b5080517fbc197c81000000000000000000000000000000000000000000000000000000001461174d57639c05499b6000526004601cfd5b505b5050505050505050565b611761612df9565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611075565b6117c1612df9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611075565b611821612df9565b61182b8282613057565b5050565b606083821461184657633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561189557602081039050808701358060601b679a31110384e0b0c91760205250808501356000526040600020548183015261185d565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610413612f98565b6118ef612df9565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561193357600080fd5b505af4158015611947573d6000803e3d6000fd5b50505050565b611955612df9565b61195f6000613171565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff166119bf5780546119d1565b60008381526001820160205260409020545b9392505050565b6119e0612df9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611a4557600080fd5b505af4158015611a59573d6000803e3d6000fd5b5050505050565b611a68612df9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611abe908790879087908790600401614a56565b60006040518083038186803b158015611ad657600080fd5b505af415801561174f573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f2690614945565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611b7a612df9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611bd29088908890889088908890600401614a80565b60006040518083038186803b158015611bea57600080fd5b505af415801561174d573d6000803e3d6000fd5b611c06612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611c9c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611ca8838583614b27565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ce0816131d7565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a2d565b60603415611d5357600080fd5b610ef1611d608484613272565b613309565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015611db75760018160011c14303b10611dae5763f92ee8a96000526004601cfd5b818160ff1b1b91505b50611dcd611dc860208401846144a3565b61331a565b611df2611ddd60a0840184614c41565b611ded60e0860160c087016144a3565b613370565b611e14611e026060840184614c41565b611e0f6080860186614c41565b6133e8565b611e1c613425565b611e5a611e31610140840161012085016144a3565b611e4361016085016101408601614888565b611e5561018086016101608701614888565b61345b565b611e74611e6f6101a084016101808501614488565b613554565b611e82826101c001356135d2565b611e9c611e97610220840161020085016144a3565b613650565b611eb6611eb161020084016101e085016144a3565b6136be565b611ed0611ecb61024084016102208501614488565b61372c565b611ef66000611ee3610240850185614ca6565b611ef1610260870187614ca6565b6137da565b611f1d611f0660e0840184614c41565b611f18610120860161010087016144a3565b61383a565b611f37611f326101c084016101a085016144a3565b6138d9565b6000611f4960408401602085016144a3565b73ffffffffffffffffffffffffffffffffffffffff1614158015611f705750604082013515155b15611f9257611f92611f8860408401602085016144a3565b8360400135612f37565b801561182b576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061200690614945565b80601f016020809104026020016040519081016040528092919081815260200182805461203290614945565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b50505050509050919050565b612093612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612129576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611ca8838583614b27565b612140612df9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106121a3576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121ab61393f565b61ffff168261ffff1610156121ec576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fcd565b612281612df9565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc7906110759085908590600401614d0e565b6122db612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61236c612df9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff161561251a5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156124ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526125149190810190614d22565b91505090565b80600101805461252990614945565b1590506125c35780600101805461253f90614945565b80601f016020809104026020016040519081016040528092919081815260200182805461256b90614945565b80156125b85780601f1061258d576101008083540402835291602001916125b8565b820191906000526020600020905b81548152906001019060200180831161259b57829003601f168201915b505050505091505090565b805481906125d090614945565b90506000036125ed57505060408051602081019091526000815290565b806125f74661394e565b612600306139b0565b60405160200161261293929190614e27565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b0e565b612657612df9565b63389a75e1600c52806000526020600c20805442111561267f57636f5e88186000526004601cfd5b6000905561268c81613171565b50565b61270286866126b1876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fa892505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866127415763ea553b346000526004601cfd5b87331461276457336000526034600c205461276457634b6e7f186000526004601cfd5b85600052604060002091508154808611156127875763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156127b3576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46128598686612808876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506139f292505050565b843b156110a15760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16128b8573d156128b8573d6000823e3d81fd5b80517ff23a6e61000000000000000000000000000000000000000000000000000000001461118057639c05499b6000526004601cfd5b6128f6612df9565b8060601b61290c57637448fbae6000526004601cfd5b61268c81613171565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612970576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110f3338484846139ff565b612984612df9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612a1e612df9565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a2d565b6000612a8f82613b31565b80610ef15750610ef1826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612ac682613b31565b80612b1257507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610ef15750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612b6b82613b31565b80610ef15750632a55205a60e083901c9081146301ffc9a79190911417610ef1565b6000612b9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612c2f57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ef157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612c8482613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612ce082613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612d3c82613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612d9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613bc98061182b63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461195f576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff163303612e6f57565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615612ecb576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ed3610fa9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461195f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612f71576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f7c600082613c01565b61182b8260008360405180602001604052806000815250613c59565b613d6d8061182b63ffffffff8216565b611a5985858585613d9f565b61174f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506139f292505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156130be576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613117576130dc600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613125828261ffff16613df5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161310b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006132017fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff160361326a5773ffffffffffffffffffffffffffffffffffffffff81161561268c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c612df9565b600060405190506020815281816020015280604001808360051b8086843782018085156132f1575b835187018035602082018337600038823584305af46132bc573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061329a575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b73ffffffffffffffffffffffffffffffffffffffff8116613367576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c81613e45565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061339d848683614b27565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613415858783614b27565b50600181016110a1838583614b27565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6134867f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613ea9565b61271061ffff821611156134c6576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110f38383613057565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b6135fd7f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001613ea9565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161120b565b61367b7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006129a7565b6136e97fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061238f565b6137577f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001613ea9565b801561268c577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b6137e2613f38565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b1690611bd29088908890889088908890600401615046565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613867848683614b27565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a2d565b6000806119d1816127106113ef565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806139695750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60606139bb82613f63565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611a598585858585613ff0565b613a4c836000613a22856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250612fa8565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613a8a57846000526034600c2054613a8a57634b6e7f186000526004601cfd5b826000526040600020805480841115613aab5763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611947836000613b07856040805180820190915260018152602081019190915290565b604080518082019091526001815260208101869052604051806020016040528060008152506139f2565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b503d6000f35b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611075565b613c97600085613c7c866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285612fa8565b8360601b80613cae5763ea553b346000526004601cfd5b679a31110384e0b0c960205284601452836000526040600020805484810181811015613ce2576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450613d58600085613d3d866040805180820190915260018152602081019190915290565b604080518082019091526001815260208101879052856139f2565b833b1561194757611947600085858585614154565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611abe9087908790879087906004016150bb565b6bffffffffffffffffffffffff1661271080821115613e1c5763350a88b36000526004601cfd5b8260601b80613e335763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161310b565b61195f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613ea9565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613fa3575050919050565b73ffffffffffffffffffffffffffffffffffffffff85166140a3577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c5783818151811061404a5761404a615118565b602002602001015182600001600087848151811061406a5761406a615118565b60200260200101518152602001908152602001600020600082825461408f9190615176565b909155505060010161402f565b5050611a59565b73ffffffffffffffffffffffffffffffffffffffff841661414f577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c578381815181106140fd576140fd615118565b602002602001015182600001600087848151811061411d5761411d615118565b6020026020010151815260200190815260200160002060008282546141429190615189565b90915550506001016140e2565b611a59565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c083015280156141a0578060e08301826020860160045afa505b6020828260c401601c850160008a5af16141c3573d156141c3573d6000833e3d82fd5b5080517ff23a6e6100000000000000000000000000000000000000000000000000000000146110a157639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461421e57600080fd5b919050565b6000806040838503121561423657600080fd5b61423f836141fa565b946020939093013593505050565b60006020828403121561425f57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146119d157600080fd5b60005b838110156142aa578181015183820152602001614292565b50506000910152565b600081518084526142cb81602086016020860161428f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006119d160208301846142b3565b60006020828403121561432257600080fd5b5035919050565b60008083601f84011261433b57600080fd5b50813567ffffffffffffffff81111561435357600080fd5b6020830191508360208260051b850101111561436e57600080fd5b9250929050565b6000806020838503121561438857600080fd5b823567ffffffffffffffff81111561439f57600080fd5b6143ab85828601614329565b90969095509350505050565b6000806000606084860312156143cc57600080fd5b6143d5846141fa565b95602085013595506040909401359392505050565b60008083601f8401126143fc57600080fd5b50813567ffffffffffffffff81111561441457600080fd5b60208301915083602082850101111561436e57600080fd5b60008060006040848603121561444157600080fd5b83359250602084013567ffffffffffffffff81111561445f57600080fd5b61446b868287016143ea565b9497909650939450505050565b8035801515811461421e57600080fd5b60006020828403121561449a57600080fd5b6119d182614478565b6000602082840312156144b557600080fd5b6119d1826141fa565b600080604083850312156144d157600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156144fc57600080fd5b614505896141fa565b975061451360208a016141fa565b9650604089013567ffffffffffffffff81111561452f57600080fd5b61453b8b828c01614329565b909750955050606089013567ffffffffffffffff81111561455b57600080fd5b6145678b828c01614329565b909550935050608089013567ffffffffffffffff81111561458757600080fd5b6145938b828c016143ea565b999c989b5096995094979396929594505050565b803561ffff8116811461421e57600080fd5b600080604083850312156145cc57600080fd5b6145d5836141fa565b91506145e3602084016145a7565b90509250929050565b6000806000806040858703121561460257600080fd5b843567ffffffffffffffff81111561461957600080fd5b61462587828801614329565b909550935050602085013567ffffffffffffffff81111561464557600080fd5b61465187828801614329565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614695578351835260209384019390920191600101614677565b509095945050505050565b8281526040602082015260006146b960408301846142b3565b949350505050565b600080600080606085870312156146d757600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156146fc57600080fd5b614651878288016143ea565b6000806040838503121561471b57600080fd5b614724836141fa565b91506145e360208401614478565b60008060008060006080868803121561474a57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561477657600080fd5b614782888289016143ea565b969995985093965092949392505050565b600080602083850312156147a657600080fd5b823567ffffffffffffffff8111156147bd57600080fd5b6143ab858286016143ea565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614840577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261482b8583516142b3565b945060209384019391909101906001016147f1565b50929695505050505050565b60006020828403121561485e57600080fd5b813567ffffffffffffffff81111561487557600080fd5b820161028081850312156119d157600080fd5b60006020828403121561489a57600080fd5b6119d1826145a7565b600080604083850312156148b657600080fd5b6148bf836141fa565b91506145e3602084016141fa565b60008060008060008060a087890312156148e657600080fd5b6148ef876141fa565b95506148fd602088016141fa565b94506040870135935060608701359250608087013567ffffffffffffffff81111561492757600080fd5b61493389828a016143ea565b979a9699509497509295939492505050565b600181811c9082168061495957607f821691505b602082108103614992577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156149d157600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614a4d6040830184866149ea565b95945050505050565b848152836020820152606060408201526000614a766060830184866149ea565b9695505050505050565b858152846020820152836040820152608060608201526000614aa66080830184866149ea565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156110f357806000526020600020601f840160051c81016020851015614b075750805b601f840160051c820191505b81811015611a595760008155600101614b13565b67ffffffffffffffff831115614b3f57614b3f614ab1565b614b5383614b4d8354614945565b83614ae0565b6000601f841160018114614ba55760008515614b6f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611a59565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bf45786850135825560209485019460019092019101614bd4565b5086821015614c2f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614c7657600080fd5b83018035915067ffffffffffffffff821115614c9157600080fd5b60200191503681900382131561436e57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614cdb57600080fd5b83018035915067ffffffffffffffff821115614cf657600080fd5b6020019150600581901b360382131561436e57600080fd5b6020815260006146b96020830184866149ea565b600060208284031215614d3457600080fd5b815167ffffffffffffffff811115614d4b57600080fd5b8201601f81018413614d5c57600080fd5b805167ffffffffffffffff811115614d7657614d76614ab1565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614de257614de2614ab1565b604052818152828201602001861015614dfa57600080fd5b614a4d82602083016020860161428f565b60008151614e1d81856020860161428f565b9290920192915050565b6000808554614e3581614945565b600182168015614e4c5760018114614e7f57614eaf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eaf565b88600052602060002060005b83811015614ea757815488820152600190910190602001614e8b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614ee881600184016020890161428f565b01614f15600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614a766002820185614e0b565b60008383855260208501945060208460051b8201018360005b8681101561503a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1873603018112614f9c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614fe257600080fd5b0160208101903567ffffffffffffffff811115614ffe57600080fd5b80360382131561500d57600080fd5b606060408601526150226060860182846149ea565b60209a8b019a90955093909301925050600101614f3b565b50909695505050505050565b858152606060208201526000615060606083018688614f22565b8281036040840152615073818587614f22565b98975050505050505050565b600081518084526020840193506020830160005b828110156150b1578151865260209586019590910190600101615093565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152608060408201526000615106608083018561507f565b8281036060840152614aa6818561507f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610ef157610ef1615147565b81810381811115610ef157610ef161514756fea26469706673582212202c9afb7a781425b95f7d0f212e0e748ed632288d50cddf89b36792939874dc1864736f6c634300081c0033";
|
|
17
|
+
export const oneOfOneEditionFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61525f80610c2883390190565b608051610b9a61008e6000396000818160d40152818161013001528181610175015281816101b301526102dd0152610b9a6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635414dff0116100505780635414dff0146100bc5780635c60da1b146100cf5780635c857b3e146100f657600080fd5b80630e31426a1461006c5780631e791870146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f6100ca366004610599565b6101ac565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101196101043660046105d6565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b600061017082610359565b61019a7f0000000000000000000000000000000000000000000000000000000000000000836103be565b90506101a681846101e6565b92915050565b60006101a67f000000000000000000000000000000000000000000000000000000000000000083306103d3565b60006101a6600083610430565b6040517fb36e6e8900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063b36e6e8990610238908490600401610800565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c591508201826105d6565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b606081901c8015801590610383575073ffffffffffffffffffffffffffffffffffffffff81163314155b156103ba576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006103cc60008484610485565b9392505050565b60008061041a8560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506104278185856104dc565b95945050505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104d05763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b6000610280828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b6000806040838503121561056757600080fd5b823567ffffffffffffffff81111561057e57600080fd5b61058a858286016104fe565b95602094909401359450505050565b6000602082840312156105ab57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105e857600080fd5b6103cc826105b2565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107f4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18736030181126107a857600080fd5b860180358452602080820135908501526107c560408201826105f1565b9150606060408601526107dc60608601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b6020815261082e60208201610814846105b2565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061083c602084016105b2565b73ffffffffffffffffffffffffffffffffffffffff81166040840152506040830135606083810191909152610873908401846105f1565b610280608085015261088a6102a08501828461065c565b91505061089a60808501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a08601526108cf83828461065c565b925050506108e060a08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c086015261091583828461065c565b9250505061092560c085016105b2565b73ffffffffffffffffffffffffffffffffffffffff811660e08501525061094f60e08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030161010086015261098583828461065c565b9250505061099661010085016105b2565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109c161012085016105b2565b73ffffffffffffffffffffffffffffffffffffffff8116610140850152506109ec61014085016106a5565b61ffff811661016085015250610a0561016085016106a5565b61ffff811661018085015250610a1e61018085016106b7565b8015156101a085015250610a356101a085016105b2565b73ffffffffffffffffffffffffffffffffffffffff81166101c0850152506101c08401356101e084810191909152610a6e9085016105b2565b73ffffffffffffffffffffffffffffffffffffffff811661020085015250610a9961020085016105b2565b73ffffffffffffffffffffffffffffffffffffffff811661022085015250610ac461022085016106b7565b80151561024085015250610adc6102408501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610260860152610b1283828461072e565b92505050610b246102608501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610280860152610b5a83828461072e565b969550505050505056fea2646970667358221220dd14dd7faebfdaad9b01120f5f628816dcd29af4bf658456dcdd7f658490ff3064736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151d28061008d6000396000f3fe6080604052600436106104135760003560e01c80638e08141f11610228578063d50bac3311610128578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610dbe578063fee81cf414610dde578063ff87a5f514610e1157600080fd5b8063f2fde38b14610d8b578063f5298aca14610d9e57600080fd5b8063e985e9c514610d0a578063ee748f2c14610d43578063f04e283e14610d58578063f242432a14610d6b57600080fd5b8063e2969ba7116100f7578063e2969ba714610c6a578063e4df18ec14610c8a578063e8a3d48514610ca5578063e8dc3e0914610cba57600080fd5b8063d50bac3314610bd6578063d8b4f8ac14610c20578063da2bbfc714610c35578063e1c2ffad14610c5557600080fd5b8063a9fc664e116101bb578063b36e6e891161018a578063bd85b0391161016f578063bd85b03914610b4a578063c3e617a214610b96578063c83569a914610bb657600080fd5b8063b36e6e8914610b0a578063bb77e79614610b2a57600080fd5b8063a9fc664e14610a43578063ac9650d814610a63578063ac998f4514610a83578063b18f004a14610ad257600080fd5b8063a148d8cf116101f7578063a148d8cf146109c8578063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a2357600080fd5b80638e08141f1461093c578063913b385a1461095c57806395d89b411461097c578063a07c7ce41461099157600080fd5b80632e73cddb1161033357806354d1f13d116102c65780635e5a9e3011610295578063738e14961161027a578063738e149614610899578063869f7594146108e85780638da5cb5b1461090857600080fd5b80635e5a9e301461087c578063715018a61461089157600080fd5b806354d1f13d146107c557806355828c50146107cd5780635a50ca65146107fb5780635c975abb1461084557600080fd5b80634331f639116103025780634331f639146107075780634aa3adb3146107275780634e1273f41461074a5780634f558e791461077757600080fd5b80632e73cddb146106875780632eb2c2d6146106a757806337da577c146106c75780633dda44b0146106e757600080fd5b8063156e29f6116103ab578063261220a31161037a578063261220a3146105f157806326dfe8c714610606578063298bb40e146106265780632a55205a1461063b57600080fd5b8063156e29f6146105895780631622326a146105a957806316c38b3c146105c957806325692962146105e957600080fd5b8063098144d4116103e7578063098144d4146104f15780630d705df6146105065780630e89341c1461054757806314cb56671461056757600080fd5b8062fdd58e1461041857806301ffc9a71461046557806306fdde031461049557806307546172146104b7575b600080fd5b34801561042457600080fd5b50610452610433366004614223565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561047157600080fd5b5061048561048036600461424d565b610e31565b604051901515815260200161045c565b3480156104a157600080fd5b506104aa610ef7565b60405161045c91906142fd565b3480156104c357600080fd5b506104cc610fa9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161045c565b3480156104fd57600080fd5b506104cc610fe9565b34801561051257600080fd5b50604080517f1854b241000000000000000000000000000000000000000000000000000000008152600060208201520161045c565b34801561055357600080fd5b506104aa610562366004614310565b611011565b34801561057357600080fd5b50610587610582366004614375565b61101b565b005b34801561059557600080fd5b506105876105a43660046143b7565b6110a9565b3480156105b557600080fd5b506105876105c436600461442c565b6110f8565b3480156105d557600080fd5b506105876105e4366004614488565b611189565b610587611216565b3480156105fd57600080fd5b506104aa611266565b34801561061257600080fd5b506105876106213660046144a3565b61128e565b34801561063257600080fd5b506104aa6113c7565b34801561064757600080fd5b5061065b6106563660046144be565b6113ef565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161045c565b34801561069357600080fd5b506104856106a2366004614310565b611462565b3480156106b357600080fd5b506105876106c23660046144e0565b61146c565b3480156106d357600080fd5b506105876106e23660046144be565b611759565b3480156106f357600080fd5b506105876107023660046144be565b6117b9565b34801561071357600080fd5b506105876107223660046145b9565b611819565b34801561073357600080fd5b5060035b60405161ffff909116815260200161045c565b34801561075657600080fd5b5061076a6107653660046145ec565b61182f565b60405161045c919061465d565b34801561078357600080fd5b50610485610792366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b61058761189f565b3480156107d957600080fd5b506107ed6107e8366004614310565b6118db565b60405161045c9291906146a0565b34801561080757600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104cc565b34801561085157600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16610485565b34801561088857600080fd5b506105876118e7565b61058761194d565b3480156108a557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610485565b3480156108f457600080fd5b50610452610903366004614310565b611961565b34801561091457600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104cc565b34801561094857600080fd5b50610587610957366004614310565b6119d8565b34801561096857600080fd5b506105876109773660046146c1565b611a60565b34801561098857600080fd5b506104aa611aea565b34801561099d57600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16610485565b3480156109d457600080fd5b506104856106a23660046144be565b3480156109ef57600080fd5b506105876109fe366004614708565b611b1c565b348015610a0f57600080fd5b50610587610a1e366004614732565b611b72565b348015610a2f57600080fd5b50610587610a3e366004614793565b611bfe565b348015610a4f57600080fd5b50610587610a5e3660046144a3565b611cd7565b610a76610a71366004614375565b611d46565b60405161045c91906147c9565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610485565b348015610ade57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff16610737565b348015610b1657600080fd5b50610587610b2536600461484c565b611d65565b348015610b3657600080fd5b506104aa610b45366004614310565b611fca565b348015610b5657600080fd5b50610452610b65366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610ba257600080fd5b50610587610bb1366004614793565b61208b565b348015610bc257600080fd5b50610587610bd1366004614888565b612138565b348015610be257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104cc565b348015610c2c57600080fd5b506104cc612251565b348015610c4157600080fd5b50610587610c50366004614793565b612279565b348015610c6157600080fd5b506105876122d3565b348015610c7657600080fd5b50610587610c853660046144a3565b612364565b348015610c9657600080fd5b506107ed6107e83660046144be565b348015610cb157600080fd5b506104aa6123fe565b348015610cc657600080fd5b50610737610cd5366004614310565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d1657600080fd5b50610485610d253660046148a3565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610d4f57600080fd5b506104aa612627565b610587610d663660046144a3565b61264f565b348015610d7757600080fd5b50610587610d863660046148cd565b61268f565b610587610d993660046144a3565b6128ee565b348015610daa57600080fd5b50610587610db93660046143b7565b612915565b348015610dca57600080fd5b50610587610dd93660046144a3565b61297c565b348015610dea57600080fd5b50610452610df93660046144a3565b63389a75e1600c908152600091909152602090205490565b348015610e1d57600080fd5b50610587610e2c3660046144a3565b612a16565b6000610e3c82612a84565b80610e4b5750610e4b82612abb565b80610e5a5750610e5a82612b60565b80610e695750610e6982612b8d565b80610e785750610e7882612c79565b80610e875750610e8782612cd5565b80610e965750610e9682612d31565b80610ea55750610ea582612d8d565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f2690614945565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5290614945565b8015610f9f5780601f10610f7457610100808354040283529160200191610f9f565b820191906000526020600020905b815481529060010190602001808311610f8257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fcd565b6060610413612de9565b611023612df9565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb5667906110759085908590600401614998565b60006040518083038186803b15801561108d57600080fd5b505af41580156110a1573d6000803e3d6000fd5b505050505050565b81156110e1576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110e9612e2f565b6110f38382612f37565b505050565b611100612df9565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a9061115490869086908690600401614a33565b60006040518083038186803b15801561116c57600080fd5b505af4158015611180573d6000803e3d6000fd5b50505050505050565b611191612df9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f1b565b611296612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561132c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f1b565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611423576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610413612f98565b61150f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250612fa892505050565b82851461152457633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115635763ea553b346000526004601cfd5b89331461158657336000526034600c205461158657634b6e7f186000526004601cfd5b8660051b5b80156115f8576020810390508087013583602052818a013560005260406000208054808311156115c35763f4d678b86000526004601cfd5b8290039055602083905260406000208054808301818110156115ed576301336cea6000526004601cfd5b9091555061158b9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050611663600190565b15611678576116788888888888888888612fb4565b863b1561174f578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611716573d15611716573d6000833e3d82fd5b5080517fbc197c81000000000000000000000000000000000000000000000000000000001461174d57639c05499b6000526004601cfd5b505b5050505050505050565b611761612df9565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611075565b6117c1612df9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611075565b611821612df9565b61182b8282613057565b5050565b606083821461184657633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561189557602081039050808701358060601b679a31110384e0b0c91760205250808501356000526040600020548183015261185d565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610413612f98565b6118ef612df9565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561193357600080fd5b505af4158015611947573d6000803e3d6000fd5b50505050565b611955612df9565b61195f6000613171565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff166119bf5780546119d1565b60008381526001820160205260409020545b9392505050565b6119e0612df9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611a4557600080fd5b505af4158015611a59573d6000803e3d6000fd5b5050505050565b611a68612df9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611abe908790879087908790600401614a56565b60006040518083038186803b158015611ad657600080fd5b505af415801561174f573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f2690614945565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611b7a612df9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611bd29088908890889088908890600401614a80565b60006040518083038186803b158015611bea57600080fd5b505af415801561174d573d6000803e3d6000fd5b611c06612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611c9c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611ca8838583614b27565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ce0816131d7565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a2d565b60603415611d5357600080fd5b610ef1611d608484613272565b613309565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015611db75760018160011c14303b10611dae5763f92ee8a96000526004601cfd5b818160ff1b1b91505b50611dcd611dc860208401846144a3565b61331a565b611df2611ddd60a0840184614c41565b611ded60e0860160c087016144a3565b613370565b611e14611e026060840184614c41565b611e0f6080860186614c41565b6133e8565b611e1c613425565b611e5a611e31610140840161012085016144a3565b611e4361016085016101408601614888565b611e5561018086016101608701614888565b61345b565b611e74611e6f6101a084016101808501614488565b613554565b611e82826101c001356135d2565b611e9c611e97610220840161020085016144a3565b613650565b611eb6611eb161020084016101e085016144a3565b6136be565b611ed0611ecb61024084016102208501614488565b61372c565b611ef66000611ee3610240850185614ca6565b611ef1610260870187614ca6565b6137da565b611f1d611f0660e0840184614c41565b611f18610120860161010087016144a3565b61383a565b611f37611f326101c084016101a085016144a3565b6138d9565b6000611f4960408401602085016144a3565b73ffffffffffffffffffffffffffffffffffffffff1614158015611f705750604082013515155b15611f9257611f92611f8860408401602085016144a3565b8360400135612f37565b801561182b576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061200690614945565b80601f016020809104026020016040519081016040528092919081815260200182805461203290614945565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b50505050509050919050565b612093612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612129576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611ca8838583614b27565b612140612df9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106121a3576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121ab61393f565b61ffff168261ffff1610156121ec576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fcd565b612281612df9565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc7906110759085908590600401614d0e565b6122db612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61236c612df9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff161561251a5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156124ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526125149190810190614d22565b91505090565b80600101805461252990614945565b1590506125c35780600101805461253f90614945565b80601f016020809104026020016040519081016040528092919081815260200182805461256b90614945565b80156125b85780601f1061258d576101008083540402835291602001916125b8565b820191906000526020600020905b81548152906001019060200180831161259b57829003601f168201915b505050505091505090565b805481906125d090614945565b90506000036125ed57505060408051602081019091526000815290565b806125f74661394e565b612600306139b0565b60405160200161261293929190614e27565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b0e565b612657612df9565b63389a75e1600c52806000526020600c20805442111561267f57636f5e88186000526004601cfd5b6000905561268c81613171565b50565b61270286866126b1876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fa892505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866127415763ea553b346000526004601cfd5b87331461276457336000526034600c205461276457634b6e7f186000526004601cfd5b85600052604060002091508154808611156127875763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156127b3576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46128598686612808876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506139f292505050565b843b156110a15760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16128b8573d156128b8573d6000823e3d81fd5b80517ff23a6e61000000000000000000000000000000000000000000000000000000001461118057639c05499b6000526004601cfd5b6128f6612df9565b8060601b61290c57637448fbae6000526004601cfd5b61268c81613171565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612970576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110f3338484846139ff565b612984612df9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612a1e612df9565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a2d565b6000612a8f82613b31565b80610ef15750610ef1826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612ac682613b31565b80612b1257507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610ef15750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612b6b82613b31565b80610ef15750632a55205a60e083901c9081146301ffc9a79190911417610ef1565b6000612b9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612c2f57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ef157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612c8482613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612ce082613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612d3c82613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612d9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613bc98061182b63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461195f576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff163303612e6f57565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615612ecb576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ed3610fa9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461195f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612f71576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f7c600082613c01565b61182b8260008360405180602001604052806000815250613c59565b613d6d8061182b63ffffffff8216565b611a5985858585613d9f565b61174f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506139f292505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156130be576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613117576130dc600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613125828261ffff16613df5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161310b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006132017fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff160361326a5773ffffffffffffffffffffffffffffffffffffffff81161561268c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c612df9565b600060405190506020815281816020015280604001808360051b8086843782018085156132f1575b835187018035602082018337600038823584305af46132bc573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061329a575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b73ffffffffffffffffffffffffffffffffffffffff8116613367576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c81613e45565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061339d848683614b27565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613415858783614b27565b50600181016110a1838583614b27565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6134867f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613ea9565b61271061ffff821611156134c6576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110f38383613057565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b6135fd7f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001613ea9565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161120b565b61367b7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006129a7565b6136e97fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061238f565b6137577f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001613ea9565b801561268c577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b6137e2613f38565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b1690611bd29088908890889088908890600401615046565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613867848683614b27565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a2d565b6000806119d1816127106113ef565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806139695750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60606139bb82613f63565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611a598585858585613ff0565b613a4c836000613a22856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250612fa8565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613a8a57846000526034600c2054613a8a57634b6e7f186000526004601cfd5b826000526040600020805480841115613aab5763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611947836000613b07856040805180820190915260018152602081019190915290565b604080518082019091526001815260208101869052604051806020016040528060008152506139f2565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b503d6000f35b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611075565b613c97600085613c7c866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285612fa8565b8360601b80613cae5763ea553b346000526004601cfd5b679a31110384e0b0c960205284601452836000526040600020805484810181811015613ce2576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450613d58600085613d3d866040805180820190915260018152602081019190915290565b604080518082019091526001815260208101879052856139f2565b833b1561194757611947600085858585614154565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611abe9087908790879087906004016150bb565b6bffffffffffffffffffffffff1661271080821115613e1c5763350a88b36000526004601cfd5b8260601b80613e335763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161310b565b61195f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613ea9565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613fa3575050919050565b73ffffffffffffffffffffffffffffffffffffffff85166140a3577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c5783818151811061404a5761404a615118565b602002602001015182600001600087848151811061406a5761406a615118565b60200260200101518152602001908152602001600020600082825461408f9190615176565b909155505060010161402f565b5050611a59565b73ffffffffffffffffffffffffffffffffffffffff841661414f577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c578381815181106140fd576140fd615118565b602002602001015182600001600087848151811061411d5761411d615118565b6020026020010151815260200190815260200160002060008282546141429190615189565b90915550506001016140e2565b611a59565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c083015280156141a0578060e08301826020860160045afa505b6020828260c401601c850160008a5af16141c3573d156141c3573d6000833e3d82fd5b5080517ff23a6e6100000000000000000000000000000000000000000000000000000000146110a157639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461421e57600080fd5b919050565b6000806040838503121561423657600080fd5b61423f836141fa565b946020939093013593505050565b60006020828403121561425f57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146119d157600080fd5b60005b838110156142aa578181015183820152602001614292565b50506000910152565b600081518084526142cb81602086016020860161428f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006119d160208301846142b3565b60006020828403121561432257600080fd5b5035919050565b60008083601f84011261433b57600080fd5b50813567ffffffffffffffff81111561435357600080fd5b6020830191508360208260051b850101111561436e57600080fd5b9250929050565b6000806020838503121561438857600080fd5b823567ffffffffffffffff81111561439f57600080fd5b6143ab85828601614329565b90969095509350505050565b6000806000606084860312156143cc57600080fd5b6143d5846141fa565b95602085013595506040909401359392505050565b60008083601f8401126143fc57600080fd5b50813567ffffffffffffffff81111561441457600080fd5b60208301915083602082850101111561436e57600080fd5b60008060006040848603121561444157600080fd5b83359250602084013567ffffffffffffffff81111561445f57600080fd5b61446b868287016143ea565b9497909650939450505050565b8035801515811461421e57600080fd5b60006020828403121561449a57600080fd5b6119d182614478565b6000602082840312156144b557600080fd5b6119d1826141fa565b600080604083850312156144d157600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156144fc57600080fd5b614505896141fa565b975061451360208a016141fa565b9650604089013567ffffffffffffffff81111561452f57600080fd5b61453b8b828c01614329565b909750955050606089013567ffffffffffffffff81111561455b57600080fd5b6145678b828c01614329565b909550935050608089013567ffffffffffffffff81111561458757600080fd5b6145938b828c016143ea565b999c989b5096995094979396929594505050565b803561ffff8116811461421e57600080fd5b600080604083850312156145cc57600080fd5b6145d5836141fa565b91506145e3602084016145a7565b90509250929050565b6000806000806040858703121561460257600080fd5b843567ffffffffffffffff81111561461957600080fd5b61462587828801614329565b909550935050602085013567ffffffffffffffff81111561464557600080fd5b61465187828801614329565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614695578351835260209384019390920191600101614677565b509095945050505050565b8281526040602082015260006146b960408301846142b3565b949350505050565b600080600080606085870312156146d757600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156146fc57600080fd5b614651878288016143ea565b6000806040838503121561471b57600080fd5b614724836141fa565b91506145e360208401614478565b60008060008060006080868803121561474a57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561477657600080fd5b614782888289016143ea565b969995985093965092949392505050565b600080602083850312156147a657600080fd5b823567ffffffffffffffff8111156147bd57600080fd5b6143ab858286016143ea565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614840577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261482b8583516142b3565b945060209384019391909101906001016147f1565b50929695505050505050565b60006020828403121561485e57600080fd5b813567ffffffffffffffff81111561487557600080fd5b820161028081850312156119d157600080fd5b60006020828403121561489a57600080fd5b6119d1826145a7565b600080604083850312156148b657600080fd5b6148bf836141fa565b91506145e3602084016141fa565b60008060008060008060a087890312156148e657600080fd5b6148ef876141fa565b95506148fd602088016141fa565b94506040870135935060608701359250608087013567ffffffffffffffff81111561492757600080fd5b61493389828a016143ea565b979a9699509497509295939492505050565b600181811c9082168061495957607f821691505b602082108103614992577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156149d157600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614a4d6040830184866149ea565b95945050505050565b848152836020820152606060408201526000614a766060830184866149ea565b9695505050505050565b858152846020820152836040820152608060608201526000614aa66080830184866149ea565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156110f357806000526020600020601f840160051c81016020851015614b075750805b601f840160051c820191505b81811015611a595760008155600101614b13565b67ffffffffffffffff831115614b3f57614b3f614ab1565b614b5383614b4d8354614945565b83614ae0565b6000601f841160018114614ba55760008515614b6f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611a59565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bf45786850135825560209485019460019092019101614bd4565b5086821015614c2f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614c7657600080fd5b83018035915067ffffffffffffffff821115614c9157600080fd5b60200191503681900382131561436e57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614cdb57600080fd5b83018035915067ffffffffffffffff821115614cf657600080fd5b6020019150600581901b360382131561436e57600080fd5b6020815260006146b96020830184866149ea565b600060208284031215614d3457600080fd5b815167ffffffffffffffff811115614d4b57600080fd5b8201601f81018413614d5c57600080fd5b805167ffffffffffffffff811115614d7657614d76614ab1565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614de257614de2614ab1565b604052818152828201602001861015614dfa57600080fd5b614a4d82602083016020860161428f565b60008151614e1d81856020860161428f565b9290920192915050565b6000808554614e3581614945565b600182168015614e4c5760018114614e7f57614eaf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eaf565b88600052602060002060005b83811015614ea757815488820152600190910190602001614e8b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614ee881600184016020890161428f565b01614f15600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614a766002820185614e0b565b60008383855260208501945060208460051b8201018360005b8681101561503a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1873603018112614f9c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614fe257600080fd5b0160208101903567ffffffffffffffff811115614ffe57600080fd5b80360382131561500d57600080fd5b606060408601526150226060860182846149ea565b60209a8b019a90955093909301925050600101614f3b565b50909695505050505050565b858152606060208201526000615060606083018688614f22565b8281036040840152615073818587614f22565b98975050505050505050565b600081518084526020840193506020830160005b828110156150b1578151865260209586019590910190600101615093565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152608060408201526000615106608083018561507f565b8281036060840152614aa6818561507f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610ef157610ef1615147565b81810381811115610ef157610ef161514756fea2646970667358221220074b6b29e2a832e0a43cd83ba959c00f5593dd707e7893fbb978f3b2a3d9b25364736f6c634300081c0033";
|
|
18
18
|
export const oneOfOneEditionAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "balanceOfBatch", "inputs": [{ "name": "owners", "type": "address[]", "internalType": "address[]" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [{ "name": "balances", "type": "uint256[]", "internalType": "uint256[]" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "exists", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct OneOfOneEdition.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "maxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "pingURI", "inputs": [{ "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeBatchTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "cap", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri_", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "uri", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DefaultMaxSupplySet", "inputs": [{ "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferBatch", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ids", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }], "anonymous": false }, { "type": "event", "name": "TransferSingle", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "ArrayLengthsMismatch", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTokenId", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferToNonERC1155ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "ZeroMintAmount", "inputs": [] }];
|
|
19
|
-
export const oneOfOneEditionBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151d28061008d6000396000f3fe6080604052600436106104135760003560e01c80638e08141f11610228578063d50bac3311610128578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610dbe578063fee81cf414610dde578063ff87a5f514610e1157600080fd5b8063f2fde38b14610d8b578063f5298aca14610d9e57600080fd5b8063e985e9c514610d0a578063ee748f2c14610d43578063f04e283e14610d58578063f242432a14610d6b57600080fd5b8063e2969ba7116100f7578063e2969ba714610c6a578063e4df18ec14610c8a578063e8a3d48514610ca5578063e8dc3e0914610cba57600080fd5b8063d50bac3314610bd6578063d8b4f8ac14610c20578063da2bbfc714610c35578063e1c2ffad14610c5557600080fd5b8063a9fc664e116101bb578063b36e6e891161018a578063bd85b0391161016f578063bd85b03914610b4a578063c3e617a214610b96578063c83569a914610bb657600080fd5b8063b36e6e8914610b0a578063bb77e79614610b2a57600080fd5b8063a9fc664e14610a43578063ac9650d814610a63578063ac998f4514610a83578063b18f004a14610ad257600080fd5b8063a148d8cf116101f7578063a148d8cf146109c8578063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a2357600080fd5b80638e08141f1461093c578063913b385a1461095c57806395d89b411461097c578063a07c7ce41461099157600080fd5b80632e73cddb1161033357806354d1f13d116102c65780635e5a9e3011610295578063738e14961161027a578063738e149614610899578063869f7594146108e85780638da5cb5b1461090857600080fd5b80635e5a9e301461087c578063715018a61461089157600080fd5b806354d1f13d146107c557806355828c50146107cd5780635a50ca65146107fb5780635c975abb1461084557600080fd5b80634331f639116103025780634331f639146107075780634aa3adb3146107275780634e1273f41461074a5780634f558e791461077757600080fd5b80632e73cddb146106875780632eb2c2d6146106a757806337da577c146106c75780633dda44b0146106e757600080fd5b8063156e29f6116103ab578063261220a31161037a578063261220a3146105f157806326dfe8c714610606578063298bb40e146106265780632a55205a1461063b57600080fd5b8063156e29f6146105895780631622326a146105a957806316c38b3c146105c957806325692962146105e957600080fd5b8063098144d4116103e7578063098144d4146104f15780630d705df6146105065780630e89341c1461054757806314cb56671461056757600080fd5b8062fdd58e1461041857806301ffc9a71461046557806306fdde031461049557806307546172146104b7575b600080fd5b34801561042457600080fd5b50610452610433366004614223565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561047157600080fd5b5061048561048036600461424d565b610e31565b604051901515815260200161045c565b3480156104a157600080fd5b506104aa610ef7565b60405161045c91906142fd565b3480156104c357600080fd5b506104cc610fa9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161045c565b3480156104fd57600080fd5b506104cc610fe9565b34801561051257600080fd5b50604080517f1854b241000000000000000000000000000000000000000000000000000000008152600060208201520161045c565b34801561055357600080fd5b506104aa610562366004614310565b611011565b34801561057357600080fd5b50610587610582366004614375565b61101b565b005b34801561059557600080fd5b506105876105a43660046143b7565b6110a9565b3480156105b557600080fd5b506105876105c436600461442c565b6110f8565b3480156105d557600080fd5b506105876105e4366004614488565b611189565b610587611216565b3480156105fd57600080fd5b506104aa611266565b34801561061257600080fd5b506105876106213660046144a3565b61128e565b34801561063257600080fd5b506104aa6113c7565b34801561064757600080fd5b5061065b6106563660046144be565b6113ef565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161045c565b34801561069357600080fd5b506104856106a2366004614310565b611462565b3480156106b357600080fd5b506105876106c23660046144e0565b61146c565b3480156106d357600080fd5b506105876106e23660046144be565b611759565b3480156106f357600080fd5b506105876107023660046144be565b6117b9565b34801561071357600080fd5b506105876107223660046145b9565b611819565b34801561073357600080fd5b5060025b60405161ffff909116815260200161045c565b34801561075657600080fd5b5061076a6107653660046145ec565b61182f565b60405161045c919061465d565b34801561078357600080fd5b50610485610792366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b61058761189f565b3480156107d957600080fd5b506107ed6107e8366004614310565b6118db565b60405161045c9291906146a0565b34801561080757600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104cc565b34801561085157600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16610485565b34801561088857600080fd5b506105876118e7565b61058761194d565b3480156108a557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610485565b3480156108f457600080fd5b50610452610903366004614310565b611961565b34801561091457600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104cc565b34801561094857600080fd5b50610587610957366004614310565b6119d8565b34801561096857600080fd5b506105876109773660046146c1565b611a60565b34801561098857600080fd5b506104aa611aea565b34801561099d57600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16610485565b3480156109d457600080fd5b506104856106a23660046144be565b3480156109ef57600080fd5b506105876109fe366004614708565b611b1c565b348015610a0f57600080fd5b50610587610a1e366004614732565b611b72565b348015610a2f57600080fd5b50610587610a3e366004614793565b611bfe565b348015610a4f57600080fd5b50610587610a5e3660046144a3565b611cd7565b610a76610a71366004614375565b611d46565b60405161045c91906147c9565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610485565b348015610ade57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff16610737565b348015610b1657600080fd5b50610587610b2536600461484c565b611d65565b348015610b3657600080fd5b506104aa610b45366004614310565b611fca565b348015610b5657600080fd5b50610452610b65366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610ba257600080fd5b50610587610bb1366004614793565b61208b565b348015610bc257600080fd5b50610587610bd1366004614888565b612138565b348015610be257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104cc565b348015610c2c57600080fd5b506104cc612251565b348015610c4157600080fd5b50610587610c50366004614793565b612279565b348015610c6157600080fd5b506105876122d3565b348015610c7657600080fd5b50610587610c853660046144a3565b612364565b348015610c9657600080fd5b506107ed6107e83660046144be565b348015610cb157600080fd5b506104aa6123fe565b348015610cc657600080fd5b50610737610cd5366004614310565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d1657600080fd5b50610485610d253660046148a3565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610d4f57600080fd5b506104aa612627565b610587610d663660046144a3565b61264f565b348015610d7757600080fd5b50610587610d863660046148cd565b61268f565b610587610d993660046144a3565b6128ee565b348015610daa57600080fd5b50610587610db93660046143b7565b612915565b348015610dca57600080fd5b50610587610dd93660046144a3565b61297c565b348015610dea57600080fd5b50610452610df93660046144a3565b63389a75e1600c908152600091909152602090205490565b348015610e1d57600080fd5b50610587610e2c3660046144a3565b612a16565b6000610e3c82612a84565b80610e4b5750610e4b82612abb565b80610e5a5750610e5a82612b60565b80610e695750610e6982612b8d565b80610e785750610e7882612c79565b80610e875750610e8782612cd5565b80610e965750610e9682612d31565b80610ea55750610ea582612d8d565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f2690614945565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5290614945565b8015610f9f5780601f10610f7457610100808354040283529160200191610f9f565b820191906000526020600020905b815481529060010190602001808311610f8257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fcd565b6060610413612de9565b611023612df9565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb5667906110759085908590600401614998565b60006040518083038186803b15801561108d57600080fd5b505af41580156110a1573d6000803e3d6000fd5b505050505050565b81156110e1576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110e9612e2f565b6110f38382612f37565b505050565b611100612df9565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a9061115490869086908690600401614a33565b60006040518083038186803b15801561116c57600080fd5b505af4158015611180573d6000803e3d6000fd5b50505050505050565b611191612df9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f1b565b611296612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561132c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f1b565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611423576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610413612f98565b61150f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250612fa892505050565b82851461152457633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115635763ea553b346000526004601cfd5b89331461158657336000526034600c205461158657634b6e7f186000526004601cfd5b8660051b5b80156115f8576020810390508087013583602052818a013560005260406000208054808311156115c35763f4d678b86000526004601cfd5b8290039055602083905260406000208054808301818110156115ed576301336cea6000526004601cfd5b9091555061158b9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050611663600190565b15611678576116788888888888888888612fb4565b863b1561174f578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611716573d15611716573d6000833e3d82fd5b5080517fbc197c81000000000000000000000000000000000000000000000000000000001461174d57639c05499b6000526004601cfd5b505b5050505050505050565b611761612df9565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611075565b6117c1612df9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611075565b611821612df9565b61182b8282613057565b5050565b606083821461184657633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561189557602081039050808701358060601b679a31110384e0b0c91760205250808501356000526040600020548183015261185d565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610413612f98565b6118ef612df9565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561193357600080fd5b505af4158015611947573d6000803e3d6000fd5b50505050565b611955612df9565b61195f6000613171565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff166119bf5780546119d1565b60008381526001820160205260409020545b9392505050565b6119e0612df9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611a4557600080fd5b505af4158015611a59573d6000803e3d6000fd5b5050505050565b611a68612df9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611abe908790879087908790600401614a56565b60006040518083038186803b158015611ad657600080fd5b505af415801561174f573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f2690614945565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611b7a612df9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611bd29088908890889088908890600401614a80565b60006040518083038186803b158015611bea57600080fd5b505af415801561174d573d6000803e3d6000fd5b611c06612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611c9c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611ca8838583614b27565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ce0816131d7565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a2d565b60603415611d5357600080fd5b610ef1611d608484613272565b613309565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015611db75760018160011c14303b10611dae5763f92ee8a96000526004601cfd5b818160ff1b1b91505b50611dcd611dc860208401846144a3565b61331a565b611df2611ddd60a0840184614c41565b611ded60e0860160c087016144a3565b613370565b611e14611e026060840184614c41565b611e0f6080860186614c41565b6133e8565b611e1c613425565b611e5a611e31610140840161012085016144a3565b611e4361016085016101408601614888565b611e5561018086016101608701614888565b61345b565b611e74611e6f6101a084016101808501614488565b613554565b611e82826101c001356135d2565b611e9c611e97610220840161020085016144a3565b613650565b611eb6611eb161020084016101e085016144a3565b6136be565b611ed0611ecb61024084016102208501614488565b61372c565b611ef66000611ee3610240850185614ca6565b611ef1610260870187614ca6565b6137da565b611f1d611f0660e0840184614c41565b611f18610120860161010087016144a3565b61383a565b611f37611f326101c084016101a085016144a3565b6138d9565b6000611f4960408401602085016144a3565b73ffffffffffffffffffffffffffffffffffffffff1614158015611f705750604082013515155b15611f9257611f92611f8860408401602085016144a3565b8360400135612f37565b801561182b576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061200690614945565b80601f016020809104026020016040519081016040528092919081815260200182805461203290614945565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b50505050509050919050565b612093612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612129576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611ca8838583614b27565b612140612df9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106121a3576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121ab61393f565b61ffff168261ffff1610156121ec576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fcd565b612281612df9565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc7906110759085908590600401614d0e565b6122db612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61236c612df9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff161561251a5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156124ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526125149190810190614d22565b91505090565b80600101805461252990614945565b1590506125c35780600101805461253f90614945565b80601f016020809104026020016040519081016040528092919081815260200182805461256b90614945565b80156125b85780601f1061258d576101008083540402835291602001916125b8565b820191906000526020600020905b81548152906001019060200180831161259b57829003601f168201915b505050505091505090565b805481906125d090614945565b90506000036125ed57505060408051602081019091526000815290565b806125f74661394e565b612600306139b0565b60405160200161261293929190614e27565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b0e565b612657612df9565b63389a75e1600c52806000526020600c20805442111561267f57636f5e88186000526004601cfd5b6000905561268c81613171565b50565b61270286866126b1876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fa892505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866127415763ea553b346000526004601cfd5b87331461276457336000526034600c205461276457634b6e7f186000526004601cfd5b85600052604060002091508154808611156127875763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156127b3576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46128598686612808876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506139f292505050565b843b156110a15760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16128b8573d156128b8573d6000823e3d81fd5b80517ff23a6e61000000000000000000000000000000000000000000000000000000001461118057639c05499b6000526004601cfd5b6128f6612df9565b8060601b61290c57637448fbae6000526004601cfd5b61268c81613171565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612970576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110f3338484846139ff565b612984612df9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612a1e612df9565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a2d565b6000612a8f82613b31565b80610ef15750610ef1826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612ac682613b31565b80612b1257507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610ef15750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612b6b82613b31565b80610ef15750632a55205a60e083901c9081146301ffc9a79190911417610ef1565b6000612b9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612c2f57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ef157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612c8482613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612ce082613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612d3c82613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612d9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613bc98061182b63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461195f576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff163303612e6f57565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615612ecb576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ed3610fa9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461195f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612f71576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f7c600082613c01565b61182b8260008360405180602001604052806000815250613c59565b613d6d8061182b63ffffffff8216565b611a5985858585613d9f565b61174f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506139f292505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156130be576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613117576130dc600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613125828261ffff16613df5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161310b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006132017fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff160361326a5773ffffffffffffffffffffffffffffffffffffffff81161561268c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c612df9565b600060405190506020815281816020015280604001808360051b8086843782018085156132f1575b835187018035602082018337600038823584305af46132bc573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061329a575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b73ffffffffffffffffffffffffffffffffffffffff8116613367576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c81613e45565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061339d848683614b27565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613415858783614b27565b50600181016110a1838583614b27565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6134867f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613ea9565b61271061ffff821611156134c6576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110f38383613057565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b6135fd7f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001613ea9565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161120b565b61367b7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006129a7565b6136e97fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061238f565b6137577f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001613ea9565b801561268c577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b6137e2613f38565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b1690611bd29088908890889088908890600401615046565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613867848683614b27565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a2d565b6000806119d1816127106113ef565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806139695750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60606139bb82613f63565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611a598585858585613ff0565b613a4c836000613a22856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250612fa8565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613a8a57846000526034600c2054613a8a57634b6e7f186000526004601cfd5b826000526040600020805480841115613aab5763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611947836000613b07856040805180820190915260018152602081019190915290565b604080518082019091526001815260208101869052604051806020016040528060008152506139f2565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b503d6000f35b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611075565b613c97600085613c7c866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285612fa8565b8360601b80613cae5763ea553b346000526004601cfd5b679a31110384e0b0c960205284601452836000526040600020805484810181811015613ce2576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450613d58600085613d3d866040805180820190915260018152602081019190915290565b604080518082019091526001815260208101879052856139f2565b833b1561194757611947600085858585614154565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611abe9087908790879087906004016150bb565b6bffffffffffffffffffffffff1661271080821115613e1c5763350a88b36000526004601cfd5b8260601b80613e335763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161310b565b61195f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613ea9565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613fa3575050919050565b73ffffffffffffffffffffffffffffffffffffffff85166140a3577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c5783818151811061404a5761404a615118565b602002602001015182600001600087848151811061406a5761406a615118565b60200260200101518152602001908152602001600020600082825461408f9190615176565b909155505060010161402f565b5050611a59565b73ffffffffffffffffffffffffffffffffffffffff841661414f577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c578381815181106140fd576140fd615118565b602002602001015182600001600087848151811061411d5761411d615118565b6020026020010151815260200190815260200160002060008282546141429190615189565b90915550506001016140e2565b611a59565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c083015280156141a0578060e08301826020860160045afa505b6020828260c401601c850160008a5af16141c3573d156141c3573d6000833e3d82fd5b5080517ff23a6e6100000000000000000000000000000000000000000000000000000000146110a157639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461421e57600080fd5b919050565b6000806040838503121561423657600080fd5b61423f836141fa565b946020939093013593505050565b60006020828403121561425f57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146119d157600080fd5b60005b838110156142aa578181015183820152602001614292565b50506000910152565b600081518084526142cb81602086016020860161428f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006119d160208301846142b3565b60006020828403121561432257600080fd5b5035919050565b60008083601f84011261433b57600080fd5b50813567ffffffffffffffff81111561435357600080fd5b6020830191508360208260051b850101111561436e57600080fd5b9250929050565b6000806020838503121561438857600080fd5b823567ffffffffffffffff81111561439f57600080fd5b6143ab85828601614329565b90969095509350505050565b6000806000606084860312156143cc57600080fd5b6143d5846141fa565b95602085013595506040909401359392505050565b60008083601f8401126143fc57600080fd5b50813567ffffffffffffffff81111561441457600080fd5b60208301915083602082850101111561436e57600080fd5b60008060006040848603121561444157600080fd5b83359250602084013567ffffffffffffffff81111561445f57600080fd5b61446b868287016143ea565b9497909650939450505050565b8035801515811461421e57600080fd5b60006020828403121561449a57600080fd5b6119d182614478565b6000602082840312156144b557600080fd5b6119d1826141fa565b600080604083850312156144d157600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156144fc57600080fd5b614505896141fa565b975061451360208a016141fa565b9650604089013567ffffffffffffffff81111561452f57600080fd5b61453b8b828c01614329565b909750955050606089013567ffffffffffffffff81111561455b57600080fd5b6145678b828c01614329565b909550935050608089013567ffffffffffffffff81111561458757600080fd5b6145938b828c016143ea565b999c989b5096995094979396929594505050565b803561ffff8116811461421e57600080fd5b600080604083850312156145cc57600080fd5b6145d5836141fa565b91506145e3602084016145a7565b90509250929050565b6000806000806040858703121561460257600080fd5b843567ffffffffffffffff81111561461957600080fd5b61462587828801614329565b909550935050602085013567ffffffffffffffff81111561464557600080fd5b61465187828801614329565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614695578351835260209384019390920191600101614677565b509095945050505050565b8281526040602082015260006146b960408301846142b3565b949350505050565b600080600080606085870312156146d757600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156146fc57600080fd5b614651878288016143ea565b6000806040838503121561471b57600080fd5b614724836141fa565b91506145e360208401614478565b60008060008060006080868803121561474a57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561477657600080fd5b614782888289016143ea565b969995985093965092949392505050565b600080602083850312156147a657600080fd5b823567ffffffffffffffff8111156147bd57600080fd5b6143ab858286016143ea565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614840577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261482b8583516142b3565b945060209384019391909101906001016147f1565b50929695505050505050565b60006020828403121561485e57600080fd5b813567ffffffffffffffff81111561487557600080fd5b820161028081850312156119d157600080fd5b60006020828403121561489a57600080fd5b6119d1826145a7565b600080604083850312156148b657600080fd5b6148bf836141fa565b91506145e3602084016141fa565b60008060008060008060a087890312156148e657600080fd5b6148ef876141fa565b95506148fd602088016141fa565b94506040870135935060608701359250608087013567ffffffffffffffff81111561492757600080fd5b61493389828a016143ea565b979a9699509497509295939492505050565b600181811c9082168061495957607f821691505b602082108103614992577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156149d157600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614a4d6040830184866149ea565b95945050505050565b848152836020820152606060408201526000614a766060830184866149ea565b9695505050505050565b858152846020820152836040820152608060608201526000614aa66080830184866149ea565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156110f357806000526020600020601f840160051c81016020851015614b075750805b601f840160051c820191505b81811015611a595760008155600101614b13565b67ffffffffffffffff831115614b3f57614b3f614ab1565b614b5383614b4d8354614945565b83614ae0565b6000601f841160018114614ba55760008515614b6f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611a59565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bf45786850135825560209485019460019092019101614bd4565b5086821015614c2f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614c7657600080fd5b83018035915067ffffffffffffffff821115614c9157600080fd5b60200191503681900382131561436e57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614cdb57600080fd5b83018035915067ffffffffffffffff821115614cf657600080fd5b6020019150600581901b360382131561436e57600080fd5b6020815260006146b96020830184866149ea565b600060208284031215614d3457600080fd5b815167ffffffffffffffff811115614d4b57600080fd5b8201601f81018413614d5c57600080fd5b805167ffffffffffffffff811115614d7657614d76614ab1565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614de257614de2614ab1565b604052818152828201602001861015614dfa57600080fd5b614a4d82602083016020860161428f565b60008151614e1d81856020860161428f565b9290920192915050565b6000808554614e3581614945565b600182168015614e4c5760018114614e7f57614eaf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eaf565b88600052602060002060005b83811015614ea757815488820152600190910190602001614e8b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614ee881600184016020890161428f565b01614f15600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614a766002820185614e0b565b60008383855260208501945060208460051b8201018360005b8681101561503a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1873603018112614f9c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614fe257600080fd5b0160208101903567ffffffffffffffff811115614ffe57600080fd5b80360382131561500d57600080fd5b606060408601526150226060860182846149ea565b60209a8b019a90955093909301925050600101614f3b565b50909695505050505050565b858152606060208201526000615060606083018688614f22565b8281036040840152615073818587614f22565b98975050505050505050565b600081518084526020840193506020830160005b828110156150b1578151865260209586019590910190600101615093565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152608060408201526000615106608083018561507f565b8281036060840152614aa6818561507f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610ef157610ef1615147565b81810381811115610ef157610ef161514756fea26469706673582212202c9afb7a781425b95f7d0f212e0e748ed632288d50cddf89b36792939874dc1864736f6c634300081c0033";
|
|
19
|
+
export const oneOfOneEditionBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151d28061008d6000396000f3fe6080604052600436106104135760003560e01c80638e08141f11610228578063d50bac3311610128578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610dbe578063fee81cf414610dde578063ff87a5f514610e1157600080fd5b8063f2fde38b14610d8b578063f5298aca14610d9e57600080fd5b8063e985e9c514610d0a578063ee748f2c14610d43578063f04e283e14610d58578063f242432a14610d6b57600080fd5b8063e2969ba7116100f7578063e2969ba714610c6a578063e4df18ec14610c8a578063e8a3d48514610ca5578063e8dc3e0914610cba57600080fd5b8063d50bac3314610bd6578063d8b4f8ac14610c20578063da2bbfc714610c35578063e1c2ffad14610c5557600080fd5b8063a9fc664e116101bb578063b36e6e891161018a578063bd85b0391161016f578063bd85b03914610b4a578063c3e617a214610b96578063c83569a914610bb657600080fd5b8063b36e6e8914610b0a578063bb77e79614610b2a57600080fd5b8063a9fc664e14610a43578063ac9650d814610a63578063ac998f4514610a83578063b18f004a14610ad257600080fd5b8063a148d8cf116101f7578063a148d8cf146109c8578063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a2357600080fd5b80638e08141f1461093c578063913b385a1461095c57806395d89b411461097c578063a07c7ce41461099157600080fd5b80632e73cddb1161033357806354d1f13d116102c65780635e5a9e3011610295578063738e14961161027a578063738e149614610899578063869f7594146108e85780638da5cb5b1461090857600080fd5b80635e5a9e301461087c578063715018a61461089157600080fd5b806354d1f13d146107c557806355828c50146107cd5780635a50ca65146107fb5780635c975abb1461084557600080fd5b80634331f639116103025780634331f639146107075780634aa3adb3146107275780634e1273f41461074a5780634f558e791461077757600080fd5b80632e73cddb146106875780632eb2c2d6146106a757806337da577c146106c75780633dda44b0146106e757600080fd5b8063156e29f6116103ab578063261220a31161037a578063261220a3146105f157806326dfe8c714610606578063298bb40e146106265780632a55205a1461063b57600080fd5b8063156e29f6146105895780631622326a146105a957806316c38b3c146105c957806325692962146105e957600080fd5b8063098144d4116103e7578063098144d4146104f15780630d705df6146105065780630e89341c1461054757806314cb56671461056757600080fd5b8062fdd58e1461041857806301ffc9a71461046557806306fdde031461049557806307546172146104b7575b600080fd5b34801561042457600080fd5b50610452610433366004614223565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561047157600080fd5b5061048561048036600461424d565b610e31565b604051901515815260200161045c565b3480156104a157600080fd5b506104aa610ef7565b60405161045c91906142fd565b3480156104c357600080fd5b506104cc610fa9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161045c565b3480156104fd57600080fd5b506104cc610fe9565b34801561051257600080fd5b50604080517f1854b241000000000000000000000000000000000000000000000000000000008152600060208201520161045c565b34801561055357600080fd5b506104aa610562366004614310565b611011565b34801561057357600080fd5b50610587610582366004614375565b61101b565b005b34801561059557600080fd5b506105876105a43660046143b7565b6110a9565b3480156105b557600080fd5b506105876105c436600461442c565b6110f8565b3480156105d557600080fd5b506105876105e4366004614488565b611189565b610587611216565b3480156105fd57600080fd5b506104aa611266565b34801561061257600080fd5b506105876106213660046144a3565b61128e565b34801561063257600080fd5b506104aa6113c7565b34801561064757600080fd5b5061065b6106563660046144be565b6113ef565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161045c565b34801561069357600080fd5b506104856106a2366004614310565b611462565b3480156106b357600080fd5b506105876106c23660046144e0565b61146c565b3480156106d357600080fd5b506105876106e23660046144be565b611759565b3480156106f357600080fd5b506105876107023660046144be565b6117b9565b34801561071357600080fd5b506105876107223660046145b9565b611819565b34801561073357600080fd5b5060035b60405161ffff909116815260200161045c565b34801561075657600080fd5b5061076a6107653660046145ec565b61182f565b60405161045c919061465d565b34801561078357600080fd5b50610485610792366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b61058761189f565b3480156107d957600080fd5b506107ed6107e8366004614310565b6118db565b60405161045c9291906146a0565b34801561080757600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166104cc565b34801561085157600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16610485565b34801561088857600080fd5b506105876118e7565b61058761194d565b3480156108a557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610485565b3480156108f457600080fd5b50610452610903366004614310565b611961565b34801561091457600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546104cc565b34801561094857600080fd5b50610587610957366004614310565b6119d8565b34801561096857600080fd5b506105876109773660046146c1565b611a60565b34801561098857600080fd5b506104aa611aea565b34801561099d57600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16610485565b3480156109d457600080fd5b506104856106a23660046144be565b3480156109ef57600080fd5b506105876109fe366004614708565b611b1c565b348015610a0f57600080fd5b50610587610a1e366004614732565b611b72565b348015610a2f57600080fd5b50610587610a3e366004614793565b611bfe565b348015610a4f57600080fd5b50610587610a5e3660046144a3565b611cd7565b610a76610a71366004614375565b611d46565b60405161045c91906147c9565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610485565b348015610ade57600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff16610737565b348015610b1657600080fd5b50610587610b2536600461484c565b611d65565b348015610b3657600080fd5b506104aa610b45366004614310565b611fca565b348015610b5657600080fd5b50610452610b65366004614310565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610ba257600080fd5b50610587610bb1366004614793565b61208b565b348015610bc257600080fd5b50610587610bd1366004614888565b612138565b348015610be257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166104cc565b348015610c2c57600080fd5b506104cc612251565b348015610c4157600080fd5b50610587610c50366004614793565b612279565b348015610c6157600080fd5b506105876122d3565b348015610c7657600080fd5b50610587610c853660046144a3565b612364565b348015610c9657600080fd5b506107ed6107e83660046144be565b348015610cb157600080fd5b506104aa6123fe565b348015610cc657600080fd5b50610737610cd5366004614310565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610d1657600080fd5b50610485610d253660046148a3565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610d4f57600080fd5b506104aa612627565b610587610d663660046144a3565b61264f565b348015610d7757600080fd5b50610587610d863660046148cd565b61268f565b610587610d993660046144a3565b6128ee565b348015610daa57600080fd5b50610587610db93660046143b7565b612915565b348015610dca57600080fd5b50610587610dd93660046144a3565b61297c565b348015610dea57600080fd5b50610452610df93660046144a3565b63389a75e1600c908152600091909152602090205490565b348015610e1d57600080fd5b50610587610e2c3660046144a3565b612a16565b6000610e3c82612a84565b80610e4b5750610e4b82612abb565b80610e5a5750610e5a82612b60565b80610e695750610e6982612b8d565b80610e785750610e7882612c79565b80610e875750610e8782612cd5565b80610e965750610e9682612d31565b80610ea55750610ea582612d8d565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610f2690614945565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5290614945565b8015610f9f5780601f10610f7457610100808354040283529160200191610f9f565b820191906000526020600020905b815481529060010190602001808311610f8257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610fcd565b6060610413612de9565b611023612df9565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb5667906110759085908590600401614998565b60006040518083038186803b15801561108d57600080fd5b505af41580156110a1573d6000803e3d6000fd5b505050505050565b81156110e1576040517f3f6cc76800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110e9612e2f565b6110f38382612f37565b505050565b611100612df9565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a9061115490869086908690600401614a33565b60006040518083038186803b15801561116c57600080fd5b505af4158015611180573d6000803e3d6000fd5b50505050505050565b611191612df9565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610f1b565b611296612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561132c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610f1b565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611423576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610413612f98565b61150f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250612fa892505050565b82851461152457633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115635763ea553b346000526004601cfd5b89331461158657336000526034600c205461158657634b6e7f186000526004601cfd5b8660051b5b80156115f8576020810390508087013583602052818a013560005260406000208054808311156115c35763f4d678b86000526004601cfd5b8290039055602083905260406000208054808301818110156115ed576301336cea6000526004601cfd5b9091555061158b9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050611663600190565b15611678576116788888888888888888612fb4565b863b1561174f578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611716573d15611716573d6000833e3d82fd5b5080517fbc197c81000000000000000000000000000000000000000000000000000000001461174d57639c05499b6000526004601cfd5b505b5050505050505050565b611761612df9565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611075565b6117c1612df9565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611075565b611821612df9565b61182b8282613057565b5050565b606083821461184657633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561189557602081039050808701358060601b679a31110384e0b0c91760205250808501356000526040600020548183015261185d565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610413612f98565b6118ef612df9565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561193357600080fd5b505af4158015611947573d6000803e3d6000fd5b50505050565b611955612df9565b61195f6000613171565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff166119bf5780546119d1565b60008381526001820160205260409020545b9392505050565b6119e0612df9565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611a4557600080fd5b505af4158015611a59573d6000803e3d6000fd5b5050505050565b611a68612df9565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611abe908790879087908790600401614a56565b60006040518083038186803b158015611ad657600080fd5b505af415801561174f573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610f2690614945565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611b7a612df9565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611bd29088908890889088908890600401614a80565b60006040518083038186803b158015611bea57600080fd5b505af415801561174d573d6000803e3d6000fd5b611c06612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611c9c576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611ca8838583614b27565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ce0816131d7565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a2d565b60603415611d5357600080fd5b610ef1611d608484613272565b613309565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015611db75760018160011c14303b10611dae5763f92ee8a96000526004601cfd5b818160ff1b1b91505b50611dcd611dc860208401846144a3565b61331a565b611df2611ddd60a0840184614c41565b611ded60e0860160c087016144a3565b613370565b611e14611e026060840184614c41565b611e0f6080860186614c41565b6133e8565b611e1c613425565b611e5a611e31610140840161012085016144a3565b611e4361016085016101408601614888565b611e5561018086016101608701614888565b61345b565b611e74611e6f6101a084016101808501614488565b613554565b611e82826101c001356135d2565b611e9c611e97610220840161020085016144a3565b613650565b611eb6611eb161020084016101e085016144a3565b6136be565b611ed0611ecb61024084016102208501614488565b61372c565b611ef66000611ee3610240850185614ca6565b611ef1610260870187614ca6565b6137da565b611f1d611f0660e0840184614c41565b611f18610120860161010087016144a3565b61383a565b611f37611f326101c084016101a085016144a3565b6138d9565b6000611f4960408401602085016144a3565b73ffffffffffffffffffffffffffffffffffffffff1614158015611f705750604082013515155b15611f9257611f92611f8860408401602085016144a3565b8360400135612f37565b801561182b576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061200690614945565b80601f016020809104026020016040519081016040528092919081815260200182805461203290614945565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b50505050509050919050565b612093612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612129576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611ca8838583614b27565b612140612df9565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106121a3576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121ab61393f565b61ffff168261ffff1610156121ec576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610fcd565b612281612df9565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc7906110759085908590600401614d0e565b6122db612df9565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61236c612df9565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff161561251a5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156124ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526125149190810190614d22565b91505090565b80600101805461252990614945565b1590506125c35780600101805461253f90614945565b80601f016020809104026020016040519081016040528092919081815260200182805461256b90614945565b80156125b85780601f1061258d576101008083540402835291602001916125b8565b820191906000526020600020905b81548152906001019060200180831161259b57829003601f168201915b505050505091505090565b805481906125d090614945565b90506000036125ed57505060408051602081019091526000815290565b806125f74661394e565b612600306139b0565b60405160200161261293929190614e27565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b0e565b612657612df9565b63389a75e1600c52806000526020600c20805442111561267f57636f5e88186000526004601cfd5b6000905561268c81613171565b50565b61270286866126b1876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fa892505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866127415763ea553b346000526004601cfd5b87331461276457336000526034600c205461276457634b6e7f186000526004601cfd5b85600052604060002091508154808611156127875763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156127b3576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46128598686612808876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506139f292505050565b843b156110a15760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16128b8573d156128b8573d6000823e3d81fd5b80517ff23a6e61000000000000000000000000000000000000000000000000000000001461118057639c05499b6000526004601cfd5b6128f6612df9565b8060601b61290c57637448fbae6000526004601cfd5b61268c81613171565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612970576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110f3338484846139ff565b612984612df9565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612a1e612df9565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a2d565b6000612a8f82613b31565b80610ef15750610ef1826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612ac682613b31565b80612b1257507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610ef15750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612b6b82613b31565b80610ef15750632a55205a60e083901c9081146301ffc9a79190911417610ef1565b6000612b9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612c2f57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610ef157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612c8482613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612ce082613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612d3c82613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612d9882613b31565b80610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613bc98061182b63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461195f576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff163303612e6f57565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615612ecb576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ed3610fa9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461195f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612f71576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f7c600082613c01565b61182b8260008360405180602001604052806000815250613c59565b613d6d8061182b63ffffffff8216565b611a5985858585613d9f565b61174f888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506139f292505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156130be576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613117576130dc600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613125828261ffff16613df5565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d9060200161310b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006132017fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff160361326a5773ffffffffffffffffffffffffffffffffffffffff81161561268c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c612df9565b600060405190506020815281816020015280604001808360051b8086843782018085156132f1575b835187018035602082018337600038823584305af46132bc573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe016905081841061329a575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b73ffffffffffffffffffffffffffffffffffffffff8116613367576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61268c81613e45565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061339d848683614b27565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613415858783614b27565b50600181016110a1838583614b27565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6134867f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002613ea9565b61271061ffff821611156134c6576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16110f38383613057565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161120b565b6135fd7f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001613ea9565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161120b565b61367b7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006129a7565b6136e97fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001613ea9565b73ffffffffffffffffffffffffffffffffffffffff81161561268c57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061238f565b6137577f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001613ea9565b801561268c577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161120b565b6137e2613f38565b6040517f68e67b1600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__906368e67b1690611bd29088908890889088908890600401615046565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613867848683614b27565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a2d565b6000806119d1816127106113ef565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806139695750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60606139bb82613f63565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611a598585858585613ff0565b613a4c836000613a22856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250612fa8565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613a8a57846000526034600c2054613a8a57634b6e7f186000526004601cfd5b826000526040600020805480841115613aab5763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611947836000613b07856040805180820190915260018152602081019190915290565b604080518082019091526001815260208101869052604051806020016040528060008152506139f2565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610ef157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b503d6000f35b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611075565b613c97600085613c7c866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285612fa8565b8360601b80613cae5763ea553b346000526004601cfd5b679a31110384e0b0c960205284601452836000526040600020805484810181811015613ce2576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450613d58600085613d3d866040805180820190915260018152602081019190915290565b604080518082019091526001815260208101879052856139f2565b833b1561194757611947600085858585614154565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613bfb573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611abe9087908790879087906004016150bb565b6bffffffffffffffffffffffff1661271080821115613e1c5763350a88b36000526004601cfd5b8260601b80613e335763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581910161310b565b61195f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613ea9565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613fa3575050919050565b73ffffffffffffffffffffffffffffffffffffffff85166140a3577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c5783818151811061404a5761404a615118565b602002602001015182600001600087848151811061406a5761406a615118565b60200260200101518152602001908152602001600020600082825461408f9190615176565b909155505060010161402f565b5050611a59565b73ffffffffffffffffffffffffffffffffffffffff841661414f577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561409c578381815181106140fd576140fd615118565b602002602001015182600001600087848151811061411d5761411d615118565b6020026020010151815260200190815260200160002060008282546141429190615189565b90915550506001016140e2565b611a59565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c083015280156141a0578060e08301826020860160045afa505b6020828260c401601c850160008a5af16141c3573d156141c3573d6000833e3d82fd5b5080517ff23a6e6100000000000000000000000000000000000000000000000000000000146110a157639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461421e57600080fd5b919050565b6000806040838503121561423657600080fd5b61423f836141fa565b946020939093013593505050565b60006020828403121561425f57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146119d157600080fd5b60005b838110156142aa578181015183820152602001614292565b50506000910152565b600081518084526142cb81602086016020860161428f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006119d160208301846142b3565b60006020828403121561432257600080fd5b5035919050565b60008083601f84011261433b57600080fd5b50813567ffffffffffffffff81111561435357600080fd5b6020830191508360208260051b850101111561436e57600080fd5b9250929050565b6000806020838503121561438857600080fd5b823567ffffffffffffffff81111561439f57600080fd5b6143ab85828601614329565b90969095509350505050565b6000806000606084860312156143cc57600080fd5b6143d5846141fa565b95602085013595506040909401359392505050565b60008083601f8401126143fc57600080fd5b50813567ffffffffffffffff81111561441457600080fd5b60208301915083602082850101111561436e57600080fd5b60008060006040848603121561444157600080fd5b83359250602084013567ffffffffffffffff81111561445f57600080fd5b61446b868287016143ea565b9497909650939450505050565b8035801515811461421e57600080fd5b60006020828403121561449a57600080fd5b6119d182614478565b6000602082840312156144b557600080fd5b6119d1826141fa565b600080604083850312156144d157600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156144fc57600080fd5b614505896141fa565b975061451360208a016141fa565b9650604089013567ffffffffffffffff81111561452f57600080fd5b61453b8b828c01614329565b909750955050606089013567ffffffffffffffff81111561455b57600080fd5b6145678b828c01614329565b909550935050608089013567ffffffffffffffff81111561458757600080fd5b6145938b828c016143ea565b999c989b5096995094979396929594505050565b803561ffff8116811461421e57600080fd5b600080604083850312156145cc57600080fd5b6145d5836141fa565b91506145e3602084016145a7565b90509250929050565b6000806000806040858703121561460257600080fd5b843567ffffffffffffffff81111561461957600080fd5b61462587828801614329565b909550935050602085013567ffffffffffffffff81111561464557600080fd5b61465187828801614329565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614695578351835260209384019390920191600101614677565b509095945050505050565b8281526040602082015260006146b960408301846142b3565b949350505050565b600080600080606085870312156146d757600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156146fc57600080fd5b614651878288016143ea565b6000806040838503121561471b57600080fd5b614724836141fa565b91506145e360208401614478565b60008060008060006080868803121561474a57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561477657600080fd5b614782888289016143ea565b969995985093965092949392505050565b600080602083850312156147a657600080fd5b823567ffffffffffffffff8111156147bd57600080fd5b6143ab858286016143ea565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614840577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261482b8583516142b3565b945060209384019391909101906001016147f1565b50929695505050505050565b60006020828403121561485e57600080fd5b813567ffffffffffffffff81111561487557600080fd5b820161028081850312156119d157600080fd5b60006020828403121561489a57600080fd5b6119d1826145a7565b600080604083850312156148b657600080fd5b6148bf836141fa565b91506145e3602084016141fa565b60008060008060008060a087890312156148e657600080fd5b6148ef876141fa565b95506148fd602088016141fa565b94506040870135935060608701359250608087013567ffffffffffffffff81111561492757600080fd5b61493389828a016143ea565b979a9699509497509295939492505050565b600181811c9082168061495957607f821691505b602082108103614992577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156149d157600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614a4d6040830184866149ea565b95945050505050565b848152836020820152606060408201526000614a766060830184866149ea565b9695505050505050565b858152846020820152836040820152608060608201526000614aa66080830184866149ea565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156110f357806000526020600020601f840160051c81016020851015614b075750805b601f840160051c820191505b81811015611a595760008155600101614b13565b67ffffffffffffffff831115614b3f57614b3f614ab1565b614b5383614b4d8354614945565b83614ae0565b6000601f841160018114614ba55760008515614b6f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611a59565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bf45786850135825560209485019460019092019101614bd4565b5086821015614c2f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614c7657600080fd5b83018035915067ffffffffffffffff821115614c9157600080fd5b60200191503681900382131561436e57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614cdb57600080fd5b83018035915067ffffffffffffffff821115614cf657600080fd5b6020019150600581901b360382131561436e57600080fd5b6020815260006146b96020830184866149ea565b600060208284031215614d3457600080fd5b815167ffffffffffffffff811115614d4b57600080fd5b8201601f81018413614d5c57600080fd5b805167ffffffffffffffff811115614d7657614d76614ab1565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614de257614de2614ab1565b604052818152828201602001861015614dfa57600080fd5b614a4d82602083016020860161428f565b60008151614e1d81856020860161428f565b9290920192915050565b6000808554614e3581614945565b600182168015614e4c5760018114614e7f57614eaf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eaf565b88600052602060002060005b83811015614ea757815488820152600190910190602001614e8b565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614ee881600184016020890161428f565b01614f15600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614a766002820185614e0b565b60008383855260208501945060208460051b8201018360005b8681101561503a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1873603018112614f9c57600080fd5b860180358452602080820135908501526040810135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614fe257600080fd5b0160208101903567ffffffffffffffff811115614ffe57600080fd5b80360382131561500d57600080fd5b606060408601526150226060860182846149ea565b60209a8b019a90955093909301925050600101614f3b565b50909695505050505050565b858152606060208201526000615060606083018688614f22565b8281036040840152615073818587614f22565b98975050505050505050565b600081518084526020840193506020830160005b828110156150b1578151865260209586019590910190600101615093565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152608060408201526000615106608083018561507f565b8281036060840152614aa6818561507f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610ef157610ef1615147565b81810381811115610ef157610ef161514756fea2646970667358221220074b6b29e2a832e0a43cd83ba959c00f5593dd707e7893fbb978f3b2a3d9b25364736f6c634300081c0033";
|
|
20
20
|
export const editionImageFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
|
|
21
|
-
export const editionImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b6156e780610d1183390190565b608051610c8361008e6000396000818160c1015281816101300152818161016c015281816101a801526102dd0152610c836000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c60da1b116100505780635c60da1b146100bc5780635c857b3e146100e3578063fa1c33f61461011657600080fd5b806326b055231461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101066100f1366004610591565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f6101243660046105ac565b610198565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b60006101927f00000000000000000000000000000000000000000000000000000000000000008330610359565b92915050565b60006101a3826103b6565b6101cd7f00000000000000000000000000000000000000000000000000000000000000008361041b565b905061019281846101e6565b6000610192600083610430565b6040517fcfc9e0e300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063cfc9e0e3906102389084906004016108d0565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c59150820182610591565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103a08560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506103ad818585610485565b95945050505050565b606081901c80158015906103e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610417576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000610429600084846104a7565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104f25763301164256000526004601cfd5b60006021529392505050565b60006102c0828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b60006020828403121561056657600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105a357600080fd5b6104298261056d565b600080604083850312156105bf57600080fd5b823567ffffffffffffffff8111156105d657600080fd5b6105e2858286016104fe565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818736030181126107a857600080fd5b86018035845260208082013590850152604080820135908501526107cf60608201826105f1565b9150608060608601526107e660808601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261088457600080fd5b860180358452602080820135908501526108a160408201826105f1565b9150606060408601526108b860608601838361065c565b60209a8b019a90955093909301925050600101610823565b602081526108fe602082016108e48461056d565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061090d60208401846105f1565b6102c060408501526109246102e08501828461065c565b91505061093460408501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301606086015261096983828461065c565b9250505061097a60608501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160808601526109af83828461065c565b925050506109bf6080850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109e960a08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a1e83828461065c565b92505050610a2e60c0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a5760e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a8261010085016106a5565b61ffff811661012085015250610a9b61012085016106a5565b61ffff811661014085015250610ab461014085016106b7565b80151561016085015250610acb610160850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610180850152506101808401356101a0848101919091528401356101c080850191909152610b1190850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101e085015250610b3c6101e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811661020085015250610b6761020085016106b7565b80151561022085015250610b7e610220850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610240850152506102408401356102608481019190915284013561028080850191909152610bc5908501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016102a0860152610bfb83828461072e565b92505050610c0d6102a08501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016102c0860152610c4383828461080a565b969550505050505056fea2646970667358221220bc1ead3e722a9a812e12aafb8ad0efc94f20b243aa28996eb8ee10035ea4db9964736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b61565a8061008d6000396000f3fe6080604052600436106104495760003560e01c80638e08141f11610243578063cfc9e0e311610143578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610e48578063fee81cf414610e68578063ff87a5f514610e9b57600080fd5b8063f2fde38b14610e15578063f5298aca14610e2857600080fd5b8063e985e9c514610d94578063ee748f2c14610dcd578063f04e283e14610de2578063f242432a14610df557600080fd5b8063e1c2ffad11610112578063e4df18ec116100f7578063e4df18ec14610d14578063e8a3d48514610d2f578063e8dc3e0914610d4457600080fd5b8063e1c2ffad14610cdf578063e2969ba714610cf457600080fd5b8063cfc9e0e314610c40578063d50bac3314610c60578063d8b4f8ac14610caa578063da2bbfc714610cbf57600080fd5b8063a8cdf078116101d6578063b18f004a116101a5578063bd85b0391161018a578063bd85b03914610bb4578063c3e617a214610c00578063c83569a914610c2057600080fd5b8063b18f004a14610b5c578063bb77e79614610b9457600080fd5b8063a8cdf07814610aad578063a9fc664e14610acd578063ac9650d814610aed578063ac998f4514610b0d57600080fd5b8063a07c7ce411610212578063a07c7ce414610a1b578063a148d8cf14610a52578063a22cb46514610a6d578063a482c94614610a8d57600080fd5b80638e08141f146109a6578063913b385a146109c657806395d89b41146109e657806397e950f7146109fb57600080fd5b80632eb2c2d61161034e57806355828c50116102e15780636cbdef61116102b0578063738e149611610295578063738e149614610903578063869f7594146109525780638da5cb5b1461097257600080fd5b80636cbdef61146108c7578063715018a6146108fb57600080fd5b806355828c50146108035780635a50ca65146108315780635c975abb1461087b5780635e5a9e30146108b257600080fd5b80634aa3adb31161031d5780634aa3adb31461075d5780634e1273f4146107805780634f558e79146107ad57806354d1f13d146107fb57600080fd5b80632eb2c2d6146106dd57806337da577c146106fd5780633dda44b01461071d5780634331f6391461073d57600080fd5b8063156e29f6116103e1578063261220a3116103b0578063298bb40e11610395578063298bb40e1461065c5780632a55205a146106715780632e73cddb146106bd57600080fd5b8063261220a31461062757806326dfe8c71461063c57600080fd5b8063156e29f6146105bf5780631622326a146105df57806316c38b3c146105ff578063256929621461061f57600080fd5b8063098144d41161041d578063098144d4146105275780630d705df61461053c5780630e89341c1461057d57806314cb56671461059d57600080fd5b8062fdd58e1461044e57806301ffc9a71461049b57806306fdde03146104cb57806307546172146104ed575b600080fd5b34801561045a57600080fd5b506104886104693660046145e2565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b3480156104a757600080fd5b506104bb6104b636600461460c565b610ebb565b6040519015158152602001610492565b3480156104d757600080fd5b506104e0610f90565b60405161049291906146bc565b3480156104f957600080fd5b50610502611042565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610492565b34801561053357600080fd5b50610502611082565b34801561054857600080fd5b50604080517f1854b2410000000000000000000000000000000000000000000000000000000081526000602082015201610492565b34801561058957600080fd5b506104e06105983660046146cf565b6110aa565b3480156105a957600080fd5b506105bd6105b8366004614734565b6110b4565b005b3480156105cb57600080fd5b506105bd6105da366004614776565b611142565b3480156105eb57600080fd5b506105bd6105fa3660046147eb565b61115a565b34801561060b57600080fd5b506105bd61061a366004614847565b6111eb565b6105bd611278565b34801561063357600080fd5b506104e06112c8565b34801561064857600080fd5b506105bd610657366004614862565b6112f0565b34801561066857600080fd5b506104e0611429565b34801561067d57600080fd5b5061069161068c36600461487d565b611451565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610492565b3480156106c957600080fd5b506104bb6106d83660046146cf565b6114c4565b3480156106e957600080fd5b506105bd6106f836600461489f565b6114ce565b34801561070957600080fd5b506105bd61071836600461487d565b6117bb565b34801561072957600080fd5b506105bd61073836600461487d565b61181b565b34801561074957600080fd5b506105bd610758366004614978565b61187b565b34801561076957600080fd5b5060025b60405161ffff9091168152602001610492565b34801561078c57600080fd5b506107a061079b3660046149ab565b611891565b6040516104929190614a1c565b3480156107b957600080fd5b506104bb6107c83660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b6105bd611901565b34801561080f57600080fd5b5061082361081e3660046146cf565b61193d565b604051610492929190614a5f565b34801561083d57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610502565b34801561088757600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff166104bb565b3480156108be57600080fd5b506105bd611949565b3480156108d357600080fd5b507fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054610488565b6105bd6119af565b34801561090f57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166104bb565b34801561095e57600080fd5b5061048861096d3660046146cf565b6119c3565b34801561097e57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610502565b3480156109b257600080fd5b506105bd6109c13660046146cf565b611a3a565b3480156109d257600080fd5b506105bd6109e1366004614a80565b611ac2565b3480156109f257600080fd5b506104e0611b4c565b348015610a0757600080fd5b506105bd610a163660046146cf565b611b7e565b348015610a2757600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166104bb565b348015610a5e57600080fd5b506104bb6106d836600461487d565b348015610a7957600080fd5b506105bd610a88366004614ac7565b611cb3565b348015610a9957600080fd5b506105bd610aa8366004614af1565b611d09565b348015610ab957600080fd5b506105bd610ac8366004614b52565b611d95565b348015610ad957600080fd5b506105bd610ae8366004614862565b611e6e565b610b00610afb366004614734565b611edd565b6040516104929190614b88565b348015610b1957600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166104bb565b348015610b6857600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661076d565b348015610ba057600080fd5b506104e0610baf3660046146cf565b611efc565b348015610bc057600080fd5b50610488610bcf3660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610c0c57600080fd5b506105bd610c1b366004614b52565b611fbd565b348015610c2c57600080fd5b506105bd610c3b366004614c0b565b61206a565b348015610c4c57600080fd5b506105bd610c5b366004614c26565b61217c565b348015610c6c57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610502565b348015610cb657600080fd5b5061050261247c565b348015610ccb57600080fd5b506105bd610cda366004614b52565b6124a4565b348015610ceb57600080fd5b506105bd6124fe565b348015610d0057600080fd5b506105bd610d0f366004614862565b61258f565b348015610d2057600080fd5b5061082361081e36600461487d565b348015610d3b57600080fd5b506104e0612629565b348015610d5057600080fd5b5061076d610d5f3660046146cf565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610da057600080fd5b506104bb610daf366004614c62565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610dd957600080fd5b506104e0612852565b6105bd610df0366004614862565b61287a565b348015610e0157600080fd5b506105bd610e10366004614c8c565b6128ba565b6105bd610e23366004614862565b612b19565b348015610e3457600080fd5b506105bd610e43366004614776565b612b40565b348015610e5457600080fd5b506105bd610e63366004614862565b612ba7565b348015610e7457600080fd5b50610488610e83366004614862565b63389a75e1600c908152600091909152602090205490565b348015610ea757600080fd5b506105bd610eb6366004614862565b612c41565b6000610ec682612caf565b80610ed55750610ed582612ce6565b80610ee45750610ee482612d8b565b80610ef35750610ef382612db8565b80610f025750610f0282612ea4565b80610f115750610f1182612f00565b80610f205750610f2082612f5c565b80610f2f5750610f2f82612fb8565b80610f3e5750610f3e82613014565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610fbf90614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054610feb90614d04565b80156110385780601f1061100d57610100808354040283529160200191611038565b820191906000526020600020905b81548152906001019060200180831161101b57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00611066565b6060610449613070565b6110bc613080565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb56679061110e9085908590600401614d57565b60006040518083038186803b15801561112657600080fd5b505af415801561113a573d6000803e3d6000fd5b505050505050565b61114a6130b6565b6111558383836131be565b505050565b611162613080565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a906111b690869086908690600401614df2565b60006040518083038186803b1580156111ce57600080fd5b505af41580156111e2573d6000803e3d6000fd5b50505050505050565b6111f3613080565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610fb4565b6112f8613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561138e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610fb4565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611485576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610449613281565b611571888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061329192505050565b82851461158657633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115c55763ea553b346000526004601cfd5b8933146115e857336000526034600c20546115e857634b6e7f186000526004601cfd5b8660051b5b801561165a576020810390508087013583602052818a013560005260406000208054808311156116255763f4d678b86000526004601cfd5b82900390556020839052604060002080548083018181101561164f576301336cea6000526004601cfd5b909155506115ed9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a450506116c5600190565b156116da576116da888888888888888861329d565b863b156117b1578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611778573d15611778573d6000833e3d82fd5b5080517fbc197c8100000000000000000000000000000000000000000000000000000000146117af57639c05499b6000526004601cfd5b505b5050505050505050565b6117c3613080565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c9060440161110e565b611823613080565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440161110e565b611883613080565b61188d8282613340565b5050565b60608382146118a857633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b80156118f757602081039050808701358060601b679a31110384e0b0c9176020525080850135600052604060002054818301526118bf565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610449613281565b611951613080565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561199557600080fd5b505af41580156119a9573d6000803e3d6000fd5b50505050565b6119b7613080565b6119c1600061345a565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff16611a21578054611a33565b60008381526001820160205260409020545b9392505050565b611a42613080565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611aa757600080fd5b505af4158015611abb573d6000803e3d6000fd5b5050505050565b611aca613080565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611b20908790879087908790600401614e15565b60006040518083038186803b158015611b3857600080fd5b505af41580156117b1573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610fbf90614d04565b611b86613080565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611be2576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611c1d576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0154821015611c78576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611d11613080565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611d699088908890889088908890600401614e3f565b60006040518083038186803b158015611d8157600080fd5b505af41580156117af573d6000803e3d6000fd5b611d9d613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e33576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e3f838583614ee6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611e77816134c0565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a8f565b60603415611eea57600080fd5b610f8a611ef7848461355b565b6135f2565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611f3890614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6490614d04565b8015611fb15780601f10611f8657610100808354040283529160200191611fb1565b820191906000526020600020905b815481529060010190602001808311611f9457829003601f168201915b50505050509050919050565b611fc5613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561205b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e3f838583614ee6565b612072613080565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106120d5576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120dd613603565b61ffff168261ffff16101561211e576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611ca7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156121ce5760018160011c14303b106121c55763f92ee8a96000526004601cfd5b818160ff1b1b91505b5081610180013560000361220e576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261024001351115612252576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122676122626020840184614862565b613612565b61228c6122776060840184615000565b61228760a0860160808701614862565b613668565b6122ae61229c6020840184615000565b6122a96040860186615000565b6136e0565b6122b661371d565b6122f36122ca610100840160e08501614862565b6122dc61012085016101008601614c0b565b6122ee61014086016101208701614c0b565b613753565b61230d61230861016084016101408501614847565b61384c565b61231b8261018001356138ca565b612329826101a00135613948565b61234361233e61020084016101e08501614862565b6139c6565b61235d6123586101e084016101c08501614862565b613a34565b61237761237261022084016102008501614847565b613aa2565b61239b612388610280840184615065565b6123966102a0860186615065565b613b50565b6123c06123ab60a0840184615000565b6123bb60e0860160c08701614862565b613bae565b6123da6123d561018084016101608501614862565b613c4d565b60006123ee61024084016102208501614862565b73ffffffffffffffffffffffffffffffffffffffff16146124445760005b8261024001358110156124425761243a61242e61024085016102208601614862565b828561026001356131be565b60010161240c565b505b801561188d576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611066565b6124ac613080565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc79061110e90859085906004016150cd565b612506613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612597613080565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156127455760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156126f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261273f91908101906150e1565b91505090565b80600101805461275490614d04565b1590506127ee5780600101805461276a90614d04565b80601f016020809104026020016040519081016040528092919081815260200182805461279690614d04565b80156127e35780601f106127b8576101008083540402835291602001916127e3565b820191906000526020600020905b8154815290600101906020018083116127c657829003601f168201915b505050505091505090565b805481906127fb90614d04565b905060000361281857505060408051602081019091526000815290565b8061282246613cb3565b61282b30613d15565b60405160200161283d939291906151e6565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b70565b612882613080565b63389a75e1600c52806000526020600c2080544211156128aa57636f5e88186000526004601cfd5b600090556128b78161345a565b50565b61292d86866128dc876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061329192505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c96508661296c5763ea553b346000526004601cfd5b87331461298f57336000526034600c205461298f57634b6e7f186000526004601cfd5b85600052604060002091508154808611156129b25763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156129de576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4612a848686612a33876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613d5792505050565b843b1561113a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af1612ae3573d15612ae3573d6000823e3d81fd5b80517ff23a6e6100000000000000000000000000000000000000000000000000000000146111e257639c05499b6000526004601cfd5b612b21613080565b8060601b612b3757637448fbae6000526004601cfd5b6128b78161345a565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612b9b576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61115533848484613d64565b612baf613080565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612c49613080565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a8f565b6000612cba82613e96565b80610f8a5750610f8a826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612cf182613e96565b80612d3d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610f8a5750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d9682613e96565b80610f8a5750632a55205a60e083901c9081146301ffc9a79190911417610f8a565b6000612dc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610f8a57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612eaf82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612f0b82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f6782613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612fc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b600061301f82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613f2e8061188d63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146119c1576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff1633036130f657565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613152576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61315a611042565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119c1576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036131f8576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61320182613f66565b61320b8282613fc0565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0090831061326657613260836001615310565b60018201555b6119a984848460405180602001604052806000815250614018565b61412c8061188d63ffffffff8216565b611abb8585858561415e565b6117b1888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613d5792505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156133a7576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613400576133c5600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b61340e828261ffff166141b4565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016133f4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006134ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036135535773ffffffffffffffffffffffffffffffffffffffff8116156128b7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b7613080565b600060405190506020815281816020015280604001808360051b8086843782018085156135da575b835187018035602082018337600038823584305af46135a5573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613583575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611a3381612710611451565b73ffffffffffffffffffffffffffffffffffffffff811661365f576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b781614204565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613695848683614ee6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061370d858783614ee6565b506001810161113a838583614ee6565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61377e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614268565b61271061ffff821611156137be576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16111558383613340565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161126d565b6138f57ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614268565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161126d565b6139737f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614268565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161126d565b6139f17fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612bd2565b613a5f7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006125ba565b613acd7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614268565b80156128b7577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161126d565b613b586142f7565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611b20908790879087908790600401615459565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613bdb848683614ee6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a8f565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613cce5750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613d2082614322565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611abb85858585856143af565b613db1836000613d87856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613291565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613def57846000526034600c2054613def57634b6e7f186000526004601cfd5b826000526040600020805480841115613e105763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506119a9836000613e6c856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613d57565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b503d6000f35b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557005481106128b7576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db9060440161110e565b61405660008561403b866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613291565b8360601b8061406d5763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156140a1576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506141176000856140fc866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613d57565b833b156119a9576119a9600085858585614513565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611b20908790879087908790600401615585565b6bffffffffffffffffffffffff16612710808211156141db5763350a88b36000526004601cfd5b8260601b806141f25763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016133f4565b6119c17f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614268565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614362575050919050565b73ffffffffffffffffffffffffffffffffffffffff8516614462577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b57838181518110614409576144096155e2565b6020026020010151826000016000878481518110614429576144296155e2565b60200260200101518152602001908152602001600020600082825461444e9190615310565b90915550506001016143ee565b5050611abb565b73ffffffffffffffffffffffffffffffffffffffff841661450e577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b578381815181106144bc576144bc6155e2565b60200260200101518260000160008784815181106144dc576144dc6155e2565b6020026020010151815260200190815260200160002060008282546145019190615611565b90915550506001016144a1565b611abb565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561455f578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614582573d15614582573d6000833e3d82fd5b5080517ff23a6e61000000000000000000000000000000000000000000000000000000001461113a57639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff811681146145dd57600080fd5b919050565b600080604083850312156145f557600080fd5b6145fe836145b9565b946020939093013593505050565b60006020828403121561461e57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611a3357600080fd5b60005b83811015614669578181015183820152602001614651565b50506000910152565b6000815180845261468a81602086016020860161464e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611a336020830184614672565b6000602082840312156146e157600080fd5b5035919050565b60008083601f8401126146fa57600080fd5b50813567ffffffffffffffff81111561471257600080fd5b6020830191508360208260051b850101111561472d57600080fd5b9250929050565b6000806020838503121561474757600080fd5b823567ffffffffffffffff81111561475e57600080fd5b61476a858286016146e8565b90969095509350505050565b60008060006060848603121561478b57600080fd5b614794846145b9565b95602085013595506040909401359392505050565b60008083601f8401126147bb57600080fd5b50813567ffffffffffffffff8111156147d357600080fd5b60208301915083602082850101111561472d57600080fd5b60008060006040848603121561480057600080fd5b83359250602084013567ffffffffffffffff81111561481e57600080fd5b61482a868287016147a9565b9497909650939450505050565b803580151581146145dd57600080fd5b60006020828403121561485957600080fd5b611a3382614837565b60006020828403121561487457600080fd5b611a33826145b9565b6000806040838503121561489057600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156148bb57600080fd5b6148c4896145b9565b97506148d260208a016145b9565b9650604089013567ffffffffffffffff8111156148ee57600080fd5b6148fa8b828c016146e8565b909750955050606089013567ffffffffffffffff81111561491a57600080fd5b6149268b828c016146e8565b909550935050608089013567ffffffffffffffff81111561494657600080fd5b6149528b828c016147a9565b999c989b5096995094979396929594505050565b803561ffff811681146145dd57600080fd5b6000806040838503121561498b57600080fd5b614994836145b9565b91506149a260208401614966565b90509250929050565b600080600080604085870312156149c157600080fd5b843567ffffffffffffffff8111156149d857600080fd5b6149e4878288016146e8565b909550935050602085013567ffffffffffffffff811115614a0457600080fd5b614a10878288016146e8565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614a54578351835260209384019390920191600101614a36565b509095945050505050565b828152604060208201526000614a786040830184614672565b949350505050565b60008060008060608587031215614a9657600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614abb57600080fd5b614a10878288016147a9565b60008060408385031215614ada57600080fd5b614ae3836145b9565b91506149a260208401614837565b600080600080600060808688031215614b0957600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b3557600080fd5b614b41888289016147a9565b969995985093965092949392505050565b60008060208385031215614b6557600080fd5b823567ffffffffffffffff811115614b7c57600080fd5b61476a858286016147a9565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614bff577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614bea858351614672565b94506020938401939190910190600101614bb0565b50929695505050505050565b600060208284031215614c1d57600080fd5b611a3382614966565b600060208284031215614c3857600080fd5b813567ffffffffffffffff811115614c4f57600080fd5b82016102c08185031215611a3357600080fd5b60008060408385031215614c7557600080fd5b614c7e836145b9565b91506149a2602084016145b9565b60008060008060008060a08789031215614ca557600080fd5b614cae876145b9565b9550614cbc602088016145b9565b94506040870135935060608701359250608087013567ffffffffffffffff811115614ce657600080fd5b614cf289828a016147a9565b979a9699509497509295939492505050565b600181811c90821680614d1857607f821691505b602082108103614d51577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614d9057600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614e0c604083018486614da9565b95945050505050565b848152836020820152606060408201526000614e35606083018486614da9565b9695505050505050565b858152846020820152836040820152608060608201526000614e65608083018486614da9565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561115557806000526020600020601f840160051c81016020851015614ec65750805b601f840160051c820191505b81811015611abb5760008155600101614ed2565b67ffffffffffffffff831115614efe57614efe614e70565b614f1283614f0c8354614d04565b83614e9f565b6000601f841160018114614f645760008515614f2e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611abb565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614fb35786850135825560209485019460019092019101614f93565b5086821015614fee577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261503557600080fd5b83018035915067ffffffffffffffff82111561505057600080fd5b60200191503681900382131561472d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261509a57600080fd5b83018035915067ffffffffffffffff8211156150b557600080fd5b6020019150600581901b360382131561472d57600080fd5b602081526000614a78602083018486614da9565b6000602082840312156150f357600080fd5b815167ffffffffffffffff81111561510a57600080fd5b8201601f8101841361511b57600080fd5b805167ffffffffffffffff81111561513557615135614e70565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151a1576151a1614e70565b6040528181528282016020018610156151b957600080fd5b614e0c82602083016020860161464e565b600081516151dc81856020860161464e565b9290920192915050565b60008085546151f481614d04565b60018216801561520b576001811461523e5761526e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061526e565b88600052602060002060005b838110156152665781548882015260019091019060200161524a565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152a781600184016020890161464e565b016152d4600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614e3560028201856151ca565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610f8a57610f8a6152e1565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261535857600080fd5b830160208101925035905067ffffffffffffffff81111561537857600080fd5b80360382131561472d57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561544d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261540157600080fd5b8601803584526020808201359085015261541e6040820182615323565b915060606040860152615435606086018383614da9565b60209a8b019a909550939093019250506001016153a0565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b89821015615532577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154d957600080fd5b8b018035865260208082013590870152604080820135908701526155006060820182615323565b915060806060880152615517608088018383614da9565b9650505060208301925060208401935060018201915061549c565b505050508281036020840152614e65818587615387565b600081518084526020840193506020830160005b8281101561557b57815186526020958601959091019060010161555d565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff841660208201526080604082015260006155d06080830185615549565b8281036060840152614e658185615549565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81810381811115610f8a57610f8a6152e156fea264697066735822122031556ca1a892356ac611aafec3ccebeb9c21279cedd266fac524bb022157ded464736f6c634300081c0033";
|
|
21
|
+
export const editionImageFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b6156e780610d1183390190565b608051610c8361008e6000396000818160c1015281816101300152818161016c015281816101a801526102dd0152610c836000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c60da1b116100505780635c60da1b146100bc5780635c857b3e146100e3578063fa1c33f61461011657600080fd5b806326b055231461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610517565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610554565b610165565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101066100f1366004610591565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f6101243660046105ac565b610198565b60006101547f00000000000000000000000000000000000000000000000000000000000000006101d9565b905061016081836101e6565b919050565b60006101927f00000000000000000000000000000000000000000000000000000000000000008330610359565b92915050565b60006101a3826103b6565b6101cd7f00000000000000000000000000000000000000000000000000000000000000008361041b565b905061019281846101e6565b6000610192600083610430565b6040517fcfc9e0e300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063cfc9e0e3906102389084906004016108d0565b600060405180830381600087803b15801561025257600080fd5b505af1158015610266573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556102c59150820182610591565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103a08560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506103ad818585610485565b95945050505050565b606081901c80158015906103e0575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610417576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000610429600084846104a7565b9392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061047a5763301164256000526004601cfd5b600060215292915050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104f25763301164256000526004601cfd5b60006021529392505050565b60006102c0828403121561051157600080fd5b50919050565b60006020828403121561052957600080fd5b813567ffffffffffffffff81111561054057600080fd5b61054c848285016104fe565b949350505050565b60006020828403121561056657600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461016057600080fd5b6000602082840312156105a357600080fd5b6104298261056d565b600080604083850312156105bf57600080fd5b823567ffffffffffffffff8111156105d657600080fd5b6105e2858286016104fe565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261062657600080fd5b830160208101925035905067ffffffffffffffff81111561064657600080fd5b80360382131561065557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461016057600080fd5b8035801515811461016057600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106fc57600080fd5b830160208101925035905067ffffffffffffffff81111561071c57600080fd5b8060051b360382131561065557600080fd5b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818736030181126107a857600080fd5b86018035845260208082013590850152604080820135908501526107cf60608201826105f1565b9150608060608601526107e660808601838361065c565b60209a8b019a90955093909301925050600101610747565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107fe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261088457600080fd5b860180358452602080820135908501526108a160408201826105f1565b9150606060408601526108b860608601838361065c565b60209a8b019a90955093909301925050600101610823565b602081526108fe602082016108e48461056d565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061090d60208401846105f1565b6102c060408501526109246102e08501828461065c565b91505061093460408501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301606086015261096983828461065c565b9250505061097a60608501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160808601526109af83828461065c565b925050506109bf6080850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109e960a08501856105f1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a1e83828461065c565b92505050610a2e60c0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a5760e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a8261010085016106a5565b61ffff811661012085015250610a9b61012085016106a5565b61ffff811661014085015250610ab461014085016106b7565b80151561016085015250610acb610160850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610180850152506101808401356101a0848101919091528401356101c080850191909152610b1190850161056d565b73ffffffffffffffffffffffffffffffffffffffff81166101e085015250610b3c6101e0850161056d565b73ffffffffffffffffffffffffffffffffffffffff811661020085015250610b6761020085016106b7565b80151561022085015250610b7e610220850161056d565b73ffffffffffffffffffffffffffffffffffffffff8116610240850152506102408401356102608481019190915284013561028080850191909152610bc5908501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016102a0860152610bfb83828461072e565b92505050610c0d6102a08501856106c7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016102c0860152610c4383828461080a565b969550505050505056fea2646970667358221220a3a0873003d2984013dfc23fa1618bd61e979f3fd698c90985ca0417ad6767b164736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b61565a8061008d6000396000f3fe6080604052600436106104495760003560e01c80638e08141f11610243578063cfc9e0e311610143578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610e48578063fee81cf414610e68578063ff87a5f514610e9b57600080fd5b8063f2fde38b14610e15578063f5298aca14610e2857600080fd5b8063e985e9c514610d94578063ee748f2c14610dcd578063f04e283e14610de2578063f242432a14610df557600080fd5b8063e1c2ffad11610112578063e4df18ec116100f7578063e4df18ec14610d14578063e8a3d48514610d2f578063e8dc3e0914610d4457600080fd5b8063e1c2ffad14610cdf578063e2969ba714610cf457600080fd5b8063cfc9e0e314610c40578063d50bac3314610c60578063d8b4f8ac14610caa578063da2bbfc714610cbf57600080fd5b8063a8cdf078116101d6578063b18f004a116101a5578063bd85b0391161018a578063bd85b03914610bb4578063c3e617a214610c00578063c83569a914610c2057600080fd5b8063b18f004a14610b5c578063bb77e79614610b9457600080fd5b8063a8cdf07814610aad578063a9fc664e14610acd578063ac9650d814610aed578063ac998f4514610b0d57600080fd5b8063a07c7ce411610212578063a07c7ce414610a1b578063a148d8cf14610a52578063a22cb46514610a6d578063a482c94614610a8d57600080fd5b80638e08141f146109a6578063913b385a146109c657806395d89b41146109e657806397e950f7146109fb57600080fd5b80632eb2c2d61161034e57806355828c50116102e15780636cbdef61116102b0578063738e149611610295578063738e149614610903578063869f7594146109525780638da5cb5b1461097257600080fd5b80636cbdef61146108c7578063715018a6146108fb57600080fd5b806355828c50146108035780635a50ca65146108315780635c975abb1461087b5780635e5a9e30146108b257600080fd5b80634aa3adb31161031d5780634aa3adb31461075d5780634e1273f4146107805780634f558e79146107ad57806354d1f13d146107fb57600080fd5b80632eb2c2d6146106dd57806337da577c146106fd5780633dda44b01461071d5780634331f6391461073d57600080fd5b8063156e29f6116103e1578063261220a3116103b0578063298bb40e11610395578063298bb40e1461065c5780632a55205a146106715780632e73cddb146106bd57600080fd5b8063261220a31461062757806326dfe8c71461063c57600080fd5b8063156e29f6146105bf5780631622326a146105df57806316c38b3c146105ff578063256929621461061f57600080fd5b8063098144d41161041d578063098144d4146105275780630d705df61461053c5780630e89341c1461057d57806314cb56671461059d57600080fd5b8062fdd58e1461044e57806301ffc9a71461049b57806306fdde03146104cb57806307546172146104ed575b600080fd5b34801561045a57600080fd5b506104886104693660046145e2565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b3480156104a757600080fd5b506104bb6104b636600461460c565b610ebb565b6040519015158152602001610492565b3480156104d757600080fd5b506104e0610f90565b60405161049291906146bc565b3480156104f957600080fd5b50610502611042565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610492565b34801561053357600080fd5b50610502611082565b34801561054857600080fd5b50604080517f1854b2410000000000000000000000000000000000000000000000000000000081526000602082015201610492565b34801561058957600080fd5b506104e06105983660046146cf565b6110aa565b3480156105a957600080fd5b506105bd6105b8366004614734565b6110b4565b005b3480156105cb57600080fd5b506105bd6105da366004614776565b611142565b3480156105eb57600080fd5b506105bd6105fa3660046147eb565b61115a565b34801561060b57600080fd5b506105bd61061a366004614847565b6111eb565b6105bd611278565b34801561063357600080fd5b506104e06112c8565b34801561064857600080fd5b506105bd610657366004614862565b6112f0565b34801561066857600080fd5b506104e0611429565b34801561067d57600080fd5b5061069161068c36600461487d565b611451565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610492565b3480156106c957600080fd5b506104bb6106d83660046146cf565b6114c4565b3480156106e957600080fd5b506105bd6106f836600461489f565b6114ce565b34801561070957600080fd5b506105bd61071836600461487d565b6117bb565b34801561072957600080fd5b506105bd61073836600461487d565b61181b565b34801561074957600080fd5b506105bd610758366004614978565b61187b565b34801561076957600080fd5b5060035b60405161ffff9091168152602001610492565b34801561078c57600080fd5b506107a061079b3660046149ab565b611891565b6040516104929190614a1c565b3480156107b957600080fd5b506104bb6107c83660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b6105bd611901565b34801561080f57600080fd5b5061082361081e3660046146cf565b61193d565b604051610492929190614a5f565b34801561083d57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610502565b34801561088757600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff166104bb565b3480156108be57600080fd5b506105bd611949565b3480156108d357600080fd5b507fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054610488565b6105bd6119af565b34801561090f57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166104bb565b34801561095e57600080fd5b5061048861096d3660046146cf565b6119c3565b34801561097e57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610502565b3480156109b257600080fd5b506105bd6109c13660046146cf565b611a3a565b3480156109d257600080fd5b506105bd6109e1366004614a80565b611ac2565b3480156109f257600080fd5b506104e0611b4c565b348015610a0757600080fd5b506105bd610a163660046146cf565b611b7e565b348015610a2757600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166104bb565b348015610a5e57600080fd5b506104bb6106d836600461487d565b348015610a7957600080fd5b506105bd610a88366004614ac7565b611cb3565b348015610a9957600080fd5b506105bd610aa8366004614af1565b611d09565b348015610ab957600080fd5b506105bd610ac8366004614b52565b611d95565b348015610ad957600080fd5b506105bd610ae8366004614862565b611e6e565b610b00610afb366004614734565b611edd565b6040516104929190614b88565b348015610b1957600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166104bb565b348015610b6857600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661076d565b348015610ba057600080fd5b506104e0610baf3660046146cf565b611efc565b348015610bc057600080fd5b50610488610bcf3660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610c0c57600080fd5b506105bd610c1b366004614b52565b611fbd565b348015610c2c57600080fd5b506105bd610c3b366004614c0b565b61206a565b348015610c4c57600080fd5b506105bd610c5b366004614c26565b61217c565b348015610c6c57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610502565b348015610cb657600080fd5b5061050261247c565b348015610ccb57600080fd5b506105bd610cda366004614b52565b6124a4565b348015610ceb57600080fd5b506105bd6124fe565b348015610d0057600080fd5b506105bd610d0f366004614862565b61258f565b348015610d2057600080fd5b5061082361081e36600461487d565b348015610d3b57600080fd5b506104e0612629565b348015610d5057600080fd5b5061076d610d5f3660046146cf565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610da057600080fd5b506104bb610daf366004614c62565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610dd957600080fd5b506104e0612852565b6105bd610df0366004614862565b61287a565b348015610e0157600080fd5b506105bd610e10366004614c8c565b6128ba565b6105bd610e23366004614862565b612b19565b348015610e3457600080fd5b506105bd610e43366004614776565b612b40565b348015610e5457600080fd5b506105bd610e63366004614862565b612ba7565b348015610e7457600080fd5b50610488610e83366004614862565b63389a75e1600c908152600091909152602090205490565b348015610ea757600080fd5b506105bd610eb6366004614862565b612c41565b6000610ec682612caf565b80610ed55750610ed582612ce6565b80610ee45750610ee482612d8b565b80610ef35750610ef382612db8565b80610f025750610f0282612ea4565b80610f115750610f1182612f00565b80610f205750610f2082612f5c565b80610f2f5750610f2f82612fb8565b80610f3e5750610f3e82613014565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610fbf90614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054610feb90614d04565b80156110385780601f1061100d57610100808354040283529160200191611038565b820191906000526020600020905b81548152906001019060200180831161101b57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00611066565b6060610449613070565b6110bc613080565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb56679061110e9085908590600401614d57565b60006040518083038186803b15801561112657600080fd5b505af415801561113a573d6000803e3d6000fd5b505050505050565b61114a6130b6565b6111558383836131be565b505050565b611162613080565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a906111b690869086908690600401614df2565b60006040518083038186803b1580156111ce57600080fd5b505af41580156111e2573d6000803e3d6000fd5b50505050505050565b6111f3613080565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610fb4565b6112f8613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561138e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610fb4565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611485576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610449613281565b611571888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061329192505050565b82851461158657633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115c55763ea553b346000526004601cfd5b8933146115e857336000526034600c20546115e857634b6e7f186000526004601cfd5b8660051b5b801561165a576020810390508087013583602052818a013560005260406000208054808311156116255763f4d678b86000526004601cfd5b82900390556020839052604060002080548083018181101561164f576301336cea6000526004601cfd5b909155506115ed9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a450506116c5600190565b156116da576116da888888888888888861329d565b863b156117b1578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611778573d15611778573d6000833e3d82fd5b5080517fbc197c8100000000000000000000000000000000000000000000000000000000146117af57639c05499b6000526004601cfd5b505b5050505050505050565b6117c3613080565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c9060440161110e565b611823613080565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440161110e565b611883613080565b61188d8282613340565b5050565b60608382146118a857633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b80156118f757602081039050808701358060601b679a31110384e0b0c9176020525080850135600052604060002054818301526118bf565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610449613281565b611951613080565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561199557600080fd5b505af41580156119a9573d6000803e3d6000fd5b50505050565b6119b7613080565b6119c1600061345a565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff16611a21578054611a33565b60008381526001820160205260409020545b9392505050565b611a42613080565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611aa757600080fd5b505af4158015611abb573d6000803e3d6000fd5b5050505050565b611aca613080565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611b20908790879087908790600401614e15565b60006040518083038186803b158015611b3857600080fd5b505af41580156117b1573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610fbf90614d04565b611b86613080565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611be2576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611c1d576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0154821015611c78576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611d11613080565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611d699088908890889088908890600401614e3f565b60006040518083038186803b158015611d8157600080fd5b505af41580156117af573d6000803e3d6000fd5b611d9d613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e33576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e3f838583614ee6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611e77816134c0565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a8f565b60603415611eea57600080fd5b610f8a611ef7848461355b565b6135f2565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611f3890614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6490614d04565b8015611fb15780601f10611f8657610100808354040283529160200191611fb1565b820191906000526020600020905b815481529060010190602001808311611f9457829003601f168201915b50505050509050919050565b611fc5613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561205b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e3f838583614ee6565b612072613080565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106120d5576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120dd613603565b61ffff168261ffff16101561211e576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611ca7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156121ce5760018160011c14303b106121c55763f92ee8a96000526004601cfd5b818160ff1b1b91505b5081610180013560000361220e576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261024001351115612252576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122676122626020840184614862565b613612565b61228c6122776060840184615000565b61228760a0860160808701614862565b613668565b6122ae61229c6020840184615000565b6122a96040860186615000565b6136e0565b6122b661371d565b6122f36122ca610100840160e08501614862565b6122dc61012085016101008601614c0b565b6122ee61014086016101208701614c0b565b613753565b61230d61230861016084016101408501614847565b61384c565b61231b8261018001356138ca565b612329826101a00135613948565b61234361233e61020084016101e08501614862565b6139c6565b61235d6123586101e084016101c08501614862565b613a34565b61237761237261022084016102008501614847565b613aa2565b61239b612388610280840184615065565b6123966102a0860186615065565b613b50565b6123c06123ab60a0840184615000565b6123bb60e0860160c08701614862565b613bae565b6123da6123d561018084016101608501614862565b613c4d565b60006123ee61024084016102208501614862565b73ffffffffffffffffffffffffffffffffffffffff16146124445760005b8261024001358110156124425761243a61242e61024085016102208601614862565b828561026001356131be565b60010161240c565b505b801561188d576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611066565b6124ac613080565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc79061110e90859085906004016150cd565b612506613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612597613080565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156127455760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156126f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261273f91908101906150e1565b91505090565b80600101805461275490614d04565b1590506127ee5780600101805461276a90614d04565b80601f016020809104026020016040519081016040528092919081815260200182805461279690614d04565b80156127e35780601f106127b8576101008083540402835291602001916127e3565b820191906000526020600020905b8154815290600101906020018083116127c657829003601f168201915b505050505091505090565b805481906127fb90614d04565b905060000361281857505060408051602081019091526000815290565b8061282246613cb3565b61282b30613d15565b60405160200161283d939291906151e6565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b70565b612882613080565b63389a75e1600c52806000526020600c2080544211156128aa57636f5e88186000526004601cfd5b600090556128b78161345a565b50565b61292d86866128dc876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061329192505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c96508661296c5763ea553b346000526004601cfd5b87331461298f57336000526034600c205461298f57634b6e7f186000526004601cfd5b85600052604060002091508154808611156129b25763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156129de576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4612a848686612a33876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613d5792505050565b843b1561113a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af1612ae3573d15612ae3573d6000823e3d81fd5b80517ff23a6e6100000000000000000000000000000000000000000000000000000000146111e257639c05499b6000526004601cfd5b612b21613080565b8060601b612b3757637448fbae6000526004601cfd5b6128b78161345a565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612b9b576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61115533848484613d64565b612baf613080565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612c49613080565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a8f565b6000612cba82613e96565b80610f8a5750610f8a826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612cf182613e96565b80612d3d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610f8a5750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d9682613e96565b80610f8a5750632a55205a60e083901c9081146301ffc9a79190911417610f8a565b6000612dc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610f8a57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612eaf82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612f0b82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f6782613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612fc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b600061301f82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613f2e8061188d63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146119c1576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff1633036130f657565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613152576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61315a611042565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119c1576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036131f8576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61320182613f66565b61320b8282613fc0565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0090831061326657613260836001615310565b60018201555b6119a984848460405180602001604052806000815250614018565b61412c8061188d63ffffffff8216565b611abb8585858561415e565b6117b1888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613d5792505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156133a7576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613400576133c5600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b61340e828261ffff166141b4565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016133f4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006134ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036135535773ffffffffffffffffffffffffffffffffffffffff8116156128b7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b7613080565b600060405190506020815281816020015280604001808360051b8086843782018085156135da575b835187018035602082018337600038823584305af46135a5573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613583575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611a3381612710611451565b73ffffffffffffffffffffffffffffffffffffffff811661365f576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b781614204565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613695848683614ee6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061370d858783614ee6565b506001810161113a838583614ee6565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61377e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614268565b61271061ffff821611156137be576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16111558383613340565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161126d565b6138f57ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614268565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161126d565b6139737f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614268565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161126d565b6139f17fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612bd2565b613a5f7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006125ba565b613acd7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614268565b80156128b7577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161126d565b613b586142f7565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611b20908790879087908790600401615459565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613bdb848683614ee6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a8f565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613cce5750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613d2082614322565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611abb85858585856143af565b613db1836000613d87856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613291565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613def57846000526034600c2054613def57634b6e7f186000526004601cfd5b826000526040600020805480841115613e105763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506119a9836000613e6c856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613d57565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b503d6000f35b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557005481106128b7576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db9060440161110e565b61405660008561403b866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613291565b8360601b8061406d5763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156140a1576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506141176000856140fc866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613d57565b833b156119a9576119a9600085858585614513565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611b20908790879087908790600401615585565b6bffffffffffffffffffffffff16612710808211156141db5763350a88b36000526004601cfd5b8260601b806141f25763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016133f4565b6119c17f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614268565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614362575050919050565b73ffffffffffffffffffffffffffffffffffffffff8516614462577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b57838181518110614409576144096155e2565b6020026020010151826000016000878481518110614429576144296155e2565b60200260200101518152602001908152602001600020600082825461444e9190615310565b90915550506001016143ee565b5050611abb565b73ffffffffffffffffffffffffffffffffffffffff841661450e577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b578381815181106144bc576144bc6155e2565b60200260200101518260000160008784815181106144dc576144dc6155e2565b6020026020010151815260200190815260200160002060008282546145019190615611565b90915550506001016144a1565b611abb565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561455f578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614582573d15614582573d6000833e3d82fd5b5080517ff23a6e61000000000000000000000000000000000000000000000000000000001461113a57639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff811681146145dd57600080fd5b919050565b600080604083850312156145f557600080fd5b6145fe836145b9565b946020939093013593505050565b60006020828403121561461e57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611a3357600080fd5b60005b83811015614669578181015183820152602001614651565b50506000910152565b6000815180845261468a81602086016020860161464e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611a336020830184614672565b6000602082840312156146e157600080fd5b5035919050565b60008083601f8401126146fa57600080fd5b50813567ffffffffffffffff81111561471257600080fd5b6020830191508360208260051b850101111561472d57600080fd5b9250929050565b6000806020838503121561474757600080fd5b823567ffffffffffffffff81111561475e57600080fd5b61476a858286016146e8565b90969095509350505050565b60008060006060848603121561478b57600080fd5b614794846145b9565b95602085013595506040909401359392505050565b60008083601f8401126147bb57600080fd5b50813567ffffffffffffffff8111156147d357600080fd5b60208301915083602082850101111561472d57600080fd5b60008060006040848603121561480057600080fd5b83359250602084013567ffffffffffffffff81111561481e57600080fd5b61482a868287016147a9565b9497909650939450505050565b803580151581146145dd57600080fd5b60006020828403121561485957600080fd5b611a3382614837565b60006020828403121561487457600080fd5b611a33826145b9565b6000806040838503121561489057600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156148bb57600080fd5b6148c4896145b9565b97506148d260208a016145b9565b9650604089013567ffffffffffffffff8111156148ee57600080fd5b6148fa8b828c016146e8565b909750955050606089013567ffffffffffffffff81111561491a57600080fd5b6149268b828c016146e8565b909550935050608089013567ffffffffffffffff81111561494657600080fd5b6149528b828c016147a9565b999c989b5096995094979396929594505050565b803561ffff811681146145dd57600080fd5b6000806040838503121561498b57600080fd5b614994836145b9565b91506149a260208401614966565b90509250929050565b600080600080604085870312156149c157600080fd5b843567ffffffffffffffff8111156149d857600080fd5b6149e4878288016146e8565b909550935050602085013567ffffffffffffffff811115614a0457600080fd5b614a10878288016146e8565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614a54578351835260209384019390920191600101614a36565b509095945050505050565b828152604060208201526000614a786040830184614672565b949350505050565b60008060008060608587031215614a9657600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614abb57600080fd5b614a10878288016147a9565b60008060408385031215614ada57600080fd5b614ae3836145b9565b91506149a260208401614837565b600080600080600060808688031215614b0957600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b3557600080fd5b614b41888289016147a9565b969995985093965092949392505050565b60008060208385031215614b6557600080fd5b823567ffffffffffffffff811115614b7c57600080fd5b61476a858286016147a9565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614bff577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614bea858351614672565b94506020938401939190910190600101614bb0565b50929695505050505050565b600060208284031215614c1d57600080fd5b611a3382614966565b600060208284031215614c3857600080fd5b813567ffffffffffffffff811115614c4f57600080fd5b82016102c08185031215611a3357600080fd5b60008060408385031215614c7557600080fd5b614c7e836145b9565b91506149a2602084016145b9565b60008060008060008060a08789031215614ca557600080fd5b614cae876145b9565b9550614cbc602088016145b9565b94506040870135935060608701359250608087013567ffffffffffffffff811115614ce657600080fd5b614cf289828a016147a9565b979a9699509497509295939492505050565b600181811c90821680614d1857607f821691505b602082108103614d51577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614d9057600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614e0c604083018486614da9565b95945050505050565b848152836020820152606060408201526000614e35606083018486614da9565b9695505050505050565b858152846020820152836040820152608060608201526000614e65608083018486614da9565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561115557806000526020600020601f840160051c81016020851015614ec65750805b601f840160051c820191505b81811015611abb5760008155600101614ed2565b67ffffffffffffffff831115614efe57614efe614e70565b614f1283614f0c8354614d04565b83614e9f565b6000601f841160018114614f645760008515614f2e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611abb565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614fb35786850135825560209485019460019092019101614f93565b5086821015614fee577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261503557600080fd5b83018035915067ffffffffffffffff82111561505057600080fd5b60200191503681900382131561472d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261509a57600080fd5b83018035915067ffffffffffffffff8211156150b557600080fd5b6020019150600581901b360382131561472d57600080fd5b602081526000614a78602083018486614da9565b6000602082840312156150f357600080fd5b815167ffffffffffffffff81111561510a57600080fd5b8201601f8101841361511b57600080fd5b805167ffffffffffffffff81111561513557615135614e70565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151a1576151a1614e70565b6040528181528282016020018610156151b957600080fd5b614e0c82602083016020860161464e565b600081516151dc81856020860161464e565b9290920192915050565b60008085546151f481614d04565b60018216801561520b576001811461523e5761526e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061526e565b88600052602060002060005b838110156152665781548882015260019091019060200161524a565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152a781600184016020890161464e565b016152d4600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614e3560028201856151ca565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610f8a57610f8a6152e1565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261535857600080fd5b830160208101925035905067ffffffffffffffff81111561537857600080fd5b80360382131561472d57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561544d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261540157600080fd5b8601803584526020808201359085015261541e6040820182615323565b915060606040860152615435606086018383614da9565b60209a8b019a909550939093019250506001016153a0565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b89821015615532577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154d957600080fd5b8b018035865260208082013590870152604080820135908701526155006060820182615323565b915060806060880152615517608088018383614da9565b9650505060208301925060208401935060018201915061549c565b505050508281036020840152614e65818587615387565b600081518084526020840193506020830160005b8281101561557b57815186526020958601959091019060010161555d565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff841660208201526080604082015260006155d06080830185615549565b8281036060840152614e658185615549565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81810381811115610f8a57610f8a6152e156fea26469706673582212207b1f9b27c16d739f00b0c080f33d67d395cef90ffce8a9a50825a0c00a849f4f64736f6c634300081c0033";
|
|
22
22
|
export const editionImageAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "balanceOfBatch", "inputs": [{ "name": "owners", "type": "address[]", "internalType": "address[]" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [{ "name": "balances", "type": "uint256[]", "internalType": "uint256[]" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "exists", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct EditionImage.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "maxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "pingURI", "inputs": [{ "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeBatchTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "cap", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri_", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "uri", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DefaultMaxSupplySet", "inputs": [{ "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferBatch", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ids", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }], "anonymous": false }, { "type": "event", "name": "TransferSingle", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "ArrayLengthsMismatch", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferToNonERC1155ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "ZeroMintAmount", "inputs": [] }];
|
|
23
|
-
export const editionImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b61565a8061008d6000396000f3fe6080604052600436106104495760003560e01c80638e08141f11610243578063cfc9e0e311610143578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610e48578063fee81cf414610e68578063ff87a5f514610e9b57600080fd5b8063f2fde38b14610e15578063f5298aca14610e2857600080fd5b8063e985e9c514610d94578063ee748f2c14610dcd578063f04e283e14610de2578063f242432a14610df557600080fd5b8063e1c2ffad11610112578063e4df18ec116100f7578063e4df18ec14610d14578063e8a3d48514610d2f578063e8dc3e0914610d4457600080fd5b8063e1c2ffad14610cdf578063e2969ba714610cf457600080fd5b8063cfc9e0e314610c40578063d50bac3314610c60578063d8b4f8ac14610caa578063da2bbfc714610cbf57600080fd5b8063a8cdf078116101d6578063b18f004a116101a5578063bd85b0391161018a578063bd85b03914610bb4578063c3e617a214610c00578063c83569a914610c2057600080fd5b8063b18f004a14610b5c578063bb77e79614610b9457600080fd5b8063a8cdf07814610aad578063a9fc664e14610acd578063ac9650d814610aed578063ac998f4514610b0d57600080fd5b8063a07c7ce411610212578063a07c7ce414610a1b578063a148d8cf14610a52578063a22cb46514610a6d578063a482c94614610a8d57600080fd5b80638e08141f146109a6578063913b385a146109c657806395d89b41146109e657806397e950f7146109fb57600080fd5b80632eb2c2d61161034e57806355828c50116102e15780636cbdef61116102b0578063738e149611610295578063738e149614610903578063869f7594146109525780638da5cb5b1461097257600080fd5b80636cbdef61146108c7578063715018a6146108fb57600080fd5b806355828c50146108035780635a50ca65146108315780635c975abb1461087b5780635e5a9e30146108b257600080fd5b80634aa3adb31161031d5780634aa3adb31461075d5780634e1273f4146107805780634f558e79146107ad57806354d1f13d146107fb57600080fd5b80632eb2c2d6146106dd57806337da577c146106fd5780633dda44b01461071d5780634331f6391461073d57600080fd5b8063156e29f6116103e1578063261220a3116103b0578063298bb40e11610395578063298bb40e1461065c5780632a55205a146106715780632e73cddb146106bd57600080fd5b8063261220a31461062757806326dfe8c71461063c57600080fd5b8063156e29f6146105bf5780631622326a146105df57806316c38b3c146105ff578063256929621461061f57600080fd5b8063098144d41161041d578063098144d4146105275780630d705df61461053c5780630e89341c1461057d57806314cb56671461059d57600080fd5b8062fdd58e1461044e57806301ffc9a71461049b57806306fdde03146104cb57806307546172146104ed575b600080fd5b34801561045a57600080fd5b506104886104693660046145e2565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b3480156104a757600080fd5b506104bb6104b636600461460c565b610ebb565b6040519015158152602001610492565b3480156104d757600080fd5b506104e0610f90565b60405161049291906146bc565b3480156104f957600080fd5b50610502611042565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610492565b34801561053357600080fd5b50610502611082565b34801561054857600080fd5b50604080517f1854b2410000000000000000000000000000000000000000000000000000000081526000602082015201610492565b34801561058957600080fd5b506104e06105983660046146cf565b6110aa565b3480156105a957600080fd5b506105bd6105b8366004614734565b6110b4565b005b3480156105cb57600080fd5b506105bd6105da366004614776565b611142565b3480156105eb57600080fd5b506105bd6105fa3660046147eb565b61115a565b34801561060b57600080fd5b506105bd61061a366004614847565b6111eb565b6105bd611278565b34801561063357600080fd5b506104e06112c8565b34801561064857600080fd5b506105bd610657366004614862565b6112f0565b34801561066857600080fd5b506104e0611429565b34801561067d57600080fd5b5061069161068c36600461487d565b611451565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610492565b3480156106c957600080fd5b506104bb6106d83660046146cf565b6114c4565b3480156106e957600080fd5b506105bd6106f836600461489f565b6114ce565b34801561070957600080fd5b506105bd61071836600461487d565b6117bb565b34801561072957600080fd5b506105bd61073836600461487d565b61181b565b34801561074957600080fd5b506105bd610758366004614978565b61187b565b34801561076957600080fd5b5060025b60405161ffff9091168152602001610492565b34801561078c57600080fd5b506107a061079b3660046149ab565b611891565b6040516104929190614a1c565b3480156107b957600080fd5b506104bb6107c83660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b6105bd611901565b34801561080f57600080fd5b5061082361081e3660046146cf565b61193d565b604051610492929190614a5f565b34801561083d57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610502565b34801561088757600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff166104bb565b3480156108be57600080fd5b506105bd611949565b3480156108d357600080fd5b507fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054610488565b6105bd6119af565b34801561090f57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166104bb565b34801561095e57600080fd5b5061048861096d3660046146cf565b6119c3565b34801561097e57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610502565b3480156109b257600080fd5b506105bd6109c13660046146cf565b611a3a565b3480156109d257600080fd5b506105bd6109e1366004614a80565b611ac2565b3480156109f257600080fd5b506104e0611b4c565b348015610a0757600080fd5b506105bd610a163660046146cf565b611b7e565b348015610a2757600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166104bb565b348015610a5e57600080fd5b506104bb6106d836600461487d565b348015610a7957600080fd5b506105bd610a88366004614ac7565b611cb3565b348015610a9957600080fd5b506105bd610aa8366004614af1565b611d09565b348015610ab957600080fd5b506105bd610ac8366004614b52565b611d95565b348015610ad957600080fd5b506105bd610ae8366004614862565b611e6e565b610b00610afb366004614734565b611edd565b6040516104929190614b88565b348015610b1957600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166104bb565b348015610b6857600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661076d565b348015610ba057600080fd5b506104e0610baf3660046146cf565b611efc565b348015610bc057600080fd5b50610488610bcf3660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610c0c57600080fd5b506105bd610c1b366004614b52565b611fbd565b348015610c2c57600080fd5b506105bd610c3b366004614c0b565b61206a565b348015610c4c57600080fd5b506105bd610c5b366004614c26565b61217c565b348015610c6c57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610502565b348015610cb657600080fd5b5061050261247c565b348015610ccb57600080fd5b506105bd610cda366004614b52565b6124a4565b348015610ceb57600080fd5b506105bd6124fe565b348015610d0057600080fd5b506105bd610d0f366004614862565b61258f565b348015610d2057600080fd5b5061082361081e36600461487d565b348015610d3b57600080fd5b506104e0612629565b348015610d5057600080fd5b5061076d610d5f3660046146cf565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610da057600080fd5b506104bb610daf366004614c62565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610dd957600080fd5b506104e0612852565b6105bd610df0366004614862565b61287a565b348015610e0157600080fd5b506105bd610e10366004614c8c565b6128ba565b6105bd610e23366004614862565b612b19565b348015610e3457600080fd5b506105bd610e43366004614776565b612b40565b348015610e5457600080fd5b506105bd610e63366004614862565b612ba7565b348015610e7457600080fd5b50610488610e83366004614862565b63389a75e1600c908152600091909152602090205490565b348015610ea757600080fd5b506105bd610eb6366004614862565b612c41565b6000610ec682612caf565b80610ed55750610ed582612ce6565b80610ee45750610ee482612d8b565b80610ef35750610ef382612db8565b80610f025750610f0282612ea4565b80610f115750610f1182612f00565b80610f205750610f2082612f5c565b80610f2f5750610f2f82612fb8565b80610f3e5750610f3e82613014565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610fbf90614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054610feb90614d04565b80156110385780601f1061100d57610100808354040283529160200191611038565b820191906000526020600020905b81548152906001019060200180831161101b57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00611066565b6060610449613070565b6110bc613080565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb56679061110e9085908590600401614d57565b60006040518083038186803b15801561112657600080fd5b505af415801561113a573d6000803e3d6000fd5b505050505050565b61114a6130b6565b6111558383836131be565b505050565b611162613080565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a906111b690869086908690600401614df2565b60006040518083038186803b1580156111ce57600080fd5b505af41580156111e2573d6000803e3d6000fd5b50505050505050565b6111f3613080565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610fb4565b6112f8613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561138e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610fb4565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611485576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610449613281565b611571888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061329192505050565b82851461158657633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115c55763ea553b346000526004601cfd5b8933146115e857336000526034600c20546115e857634b6e7f186000526004601cfd5b8660051b5b801561165a576020810390508087013583602052818a013560005260406000208054808311156116255763f4d678b86000526004601cfd5b82900390556020839052604060002080548083018181101561164f576301336cea6000526004601cfd5b909155506115ed9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a450506116c5600190565b156116da576116da888888888888888861329d565b863b156117b1578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611778573d15611778573d6000833e3d82fd5b5080517fbc197c8100000000000000000000000000000000000000000000000000000000146117af57639c05499b6000526004601cfd5b505b5050505050505050565b6117c3613080565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c9060440161110e565b611823613080565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440161110e565b611883613080565b61188d8282613340565b5050565b60608382146118a857633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b80156118f757602081039050808701358060601b679a31110384e0b0c9176020525080850135600052604060002054818301526118bf565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610449613281565b611951613080565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561199557600080fd5b505af41580156119a9573d6000803e3d6000fd5b50505050565b6119b7613080565b6119c1600061345a565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff16611a21578054611a33565b60008381526001820160205260409020545b9392505050565b611a42613080565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611aa757600080fd5b505af4158015611abb573d6000803e3d6000fd5b5050505050565b611aca613080565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611b20908790879087908790600401614e15565b60006040518083038186803b158015611b3857600080fd5b505af41580156117b1573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610fbf90614d04565b611b86613080565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611be2576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611c1d576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0154821015611c78576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611d11613080565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611d699088908890889088908890600401614e3f565b60006040518083038186803b158015611d8157600080fd5b505af41580156117af573d6000803e3d6000fd5b611d9d613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e33576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e3f838583614ee6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611e77816134c0565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a8f565b60603415611eea57600080fd5b610f8a611ef7848461355b565b6135f2565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611f3890614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6490614d04565b8015611fb15780601f10611f8657610100808354040283529160200191611fb1565b820191906000526020600020905b815481529060010190602001808311611f9457829003601f168201915b50505050509050919050565b611fc5613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561205b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e3f838583614ee6565b612072613080565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106120d5576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120dd613603565b61ffff168261ffff16101561211e576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611ca7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156121ce5760018160011c14303b106121c55763f92ee8a96000526004601cfd5b818160ff1b1b91505b5081610180013560000361220e576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261024001351115612252576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122676122626020840184614862565b613612565b61228c6122776060840184615000565b61228760a0860160808701614862565b613668565b6122ae61229c6020840184615000565b6122a96040860186615000565b6136e0565b6122b661371d565b6122f36122ca610100840160e08501614862565b6122dc61012085016101008601614c0b565b6122ee61014086016101208701614c0b565b613753565b61230d61230861016084016101408501614847565b61384c565b61231b8261018001356138ca565b612329826101a00135613948565b61234361233e61020084016101e08501614862565b6139c6565b61235d6123586101e084016101c08501614862565b613a34565b61237761237261022084016102008501614847565b613aa2565b61239b612388610280840184615065565b6123966102a0860186615065565b613b50565b6123c06123ab60a0840184615000565b6123bb60e0860160c08701614862565b613bae565b6123da6123d561018084016101608501614862565b613c4d565b60006123ee61024084016102208501614862565b73ffffffffffffffffffffffffffffffffffffffff16146124445760005b8261024001358110156124425761243a61242e61024085016102208601614862565b828561026001356131be565b60010161240c565b505b801561188d576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611066565b6124ac613080565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc79061110e90859085906004016150cd565b612506613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612597613080565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156127455760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156126f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261273f91908101906150e1565b91505090565b80600101805461275490614d04565b1590506127ee5780600101805461276a90614d04565b80601f016020809104026020016040519081016040528092919081815260200182805461279690614d04565b80156127e35780601f106127b8576101008083540402835291602001916127e3565b820191906000526020600020905b8154815290600101906020018083116127c657829003601f168201915b505050505091505090565b805481906127fb90614d04565b905060000361281857505060408051602081019091526000815290565b8061282246613cb3565b61282b30613d15565b60405160200161283d939291906151e6565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b70565b612882613080565b63389a75e1600c52806000526020600c2080544211156128aa57636f5e88186000526004601cfd5b600090556128b78161345a565b50565b61292d86866128dc876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061329192505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c96508661296c5763ea553b346000526004601cfd5b87331461298f57336000526034600c205461298f57634b6e7f186000526004601cfd5b85600052604060002091508154808611156129b25763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156129de576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4612a848686612a33876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613d5792505050565b843b1561113a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af1612ae3573d15612ae3573d6000823e3d81fd5b80517ff23a6e6100000000000000000000000000000000000000000000000000000000146111e257639c05499b6000526004601cfd5b612b21613080565b8060601b612b3757637448fbae6000526004601cfd5b6128b78161345a565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612b9b576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61115533848484613d64565b612baf613080565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612c49613080565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a8f565b6000612cba82613e96565b80610f8a5750610f8a826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612cf182613e96565b80612d3d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610f8a5750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d9682613e96565b80610f8a5750632a55205a60e083901c9081146301ffc9a79190911417610f8a565b6000612dc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610f8a57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612eaf82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612f0b82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f6782613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612fc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b600061301f82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613f2e8061188d63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146119c1576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff1633036130f657565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613152576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61315a611042565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119c1576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036131f8576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61320182613f66565b61320b8282613fc0565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0090831061326657613260836001615310565b60018201555b6119a984848460405180602001604052806000815250614018565b61412c8061188d63ffffffff8216565b611abb8585858561415e565b6117b1888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613d5792505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156133a7576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613400576133c5600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b61340e828261ffff166141b4565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016133f4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006134ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036135535773ffffffffffffffffffffffffffffffffffffffff8116156128b7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b7613080565b600060405190506020815281816020015280604001808360051b8086843782018085156135da575b835187018035602082018337600038823584305af46135a5573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613583575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611a3381612710611451565b73ffffffffffffffffffffffffffffffffffffffff811661365f576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b781614204565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613695848683614ee6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061370d858783614ee6565b506001810161113a838583614ee6565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61377e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614268565b61271061ffff821611156137be576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16111558383613340565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161126d565b6138f57ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614268565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161126d565b6139737f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614268565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161126d565b6139f17fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612bd2565b613a5f7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006125ba565b613acd7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614268565b80156128b7577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161126d565b613b586142f7565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611b20908790879087908790600401615459565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613bdb848683614ee6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a8f565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613cce5750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613d2082614322565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611abb85858585856143af565b613db1836000613d87856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613291565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613def57846000526034600c2054613def57634b6e7f186000526004601cfd5b826000526040600020805480841115613e105763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506119a9836000613e6c856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613d57565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b503d6000f35b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557005481106128b7576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db9060440161110e565b61405660008561403b866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613291565b8360601b8061406d5763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156140a1576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506141176000856140fc866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613d57565b833b156119a9576119a9600085858585614513565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611b20908790879087908790600401615585565b6bffffffffffffffffffffffff16612710808211156141db5763350a88b36000526004601cfd5b8260601b806141f25763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016133f4565b6119c17f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614268565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614362575050919050565b73ffffffffffffffffffffffffffffffffffffffff8516614462577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b57838181518110614409576144096155e2565b6020026020010151826000016000878481518110614429576144296155e2565b60200260200101518152602001908152602001600020600082825461444e9190615310565b90915550506001016143ee565b5050611abb565b73ffffffffffffffffffffffffffffffffffffffff841661450e577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b578381815181106144bc576144bc6155e2565b60200260200101518260000160008784815181106144dc576144dc6155e2565b6020026020010151815260200190815260200160002060008282546145019190615611565b90915550506001016144a1565b611abb565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561455f578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614582573d15614582573d6000833e3d82fd5b5080517ff23a6e61000000000000000000000000000000000000000000000000000000001461113a57639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff811681146145dd57600080fd5b919050565b600080604083850312156145f557600080fd5b6145fe836145b9565b946020939093013593505050565b60006020828403121561461e57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611a3357600080fd5b60005b83811015614669578181015183820152602001614651565b50506000910152565b6000815180845261468a81602086016020860161464e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611a336020830184614672565b6000602082840312156146e157600080fd5b5035919050565b60008083601f8401126146fa57600080fd5b50813567ffffffffffffffff81111561471257600080fd5b6020830191508360208260051b850101111561472d57600080fd5b9250929050565b6000806020838503121561474757600080fd5b823567ffffffffffffffff81111561475e57600080fd5b61476a858286016146e8565b90969095509350505050565b60008060006060848603121561478b57600080fd5b614794846145b9565b95602085013595506040909401359392505050565b60008083601f8401126147bb57600080fd5b50813567ffffffffffffffff8111156147d357600080fd5b60208301915083602082850101111561472d57600080fd5b60008060006040848603121561480057600080fd5b83359250602084013567ffffffffffffffff81111561481e57600080fd5b61482a868287016147a9565b9497909650939450505050565b803580151581146145dd57600080fd5b60006020828403121561485957600080fd5b611a3382614837565b60006020828403121561487457600080fd5b611a33826145b9565b6000806040838503121561489057600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156148bb57600080fd5b6148c4896145b9565b97506148d260208a016145b9565b9650604089013567ffffffffffffffff8111156148ee57600080fd5b6148fa8b828c016146e8565b909750955050606089013567ffffffffffffffff81111561491a57600080fd5b6149268b828c016146e8565b909550935050608089013567ffffffffffffffff81111561494657600080fd5b6149528b828c016147a9565b999c989b5096995094979396929594505050565b803561ffff811681146145dd57600080fd5b6000806040838503121561498b57600080fd5b614994836145b9565b91506149a260208401614966565b90509250929050565b600080600080604085870312156149c157600080fd5b843567ffffffffffffffff8111156149d857600080fd5b6149e4878288016146e8565b909550935050602085013567ffffffffffffffff811115614a0457600080fd5b614a10878288016146e8565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614a54578351835260209384019390920191600101614a36565b509095945050505050565b828152604060208201526000614a786040830184614672565b949350505050565b60008060008060608587031215614a9657600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614abb57600080fd5b614a10878288016147a9565b60008060408385031215614ada57600080fd5b614ae3836145b9565b91506149a260208401614837565b600080600080600060808688031215614b0957600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b3557600080fd5b614b41888289016147a9565b969995985093965092949392505050565b60008060208385031215614b6557600080fd5b823567ffffffffffffffff811115614b7c57600080fd5b61476a858286016147a9565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614bff577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614bea858351614672565b94506020938401939190910190600101614bb0565b50929695505050505050565b600060208284031215614c1d57600080fd5b611a3382614966565b600060208284031215614c3857600080fd5b813567ffffffffffffffff811115614c4f57600080fd5b82016102c08185031215611a3357600080fd5b60008060408385031215614c7557600080fd5b614c7e836145b9565b91506149a2602084016145b9565b60008060008060008060a08789031215614ca557600080fd5b614cae876145b9565b9550614cbc602088016145b9565b94506040870135935060608701359250608087013567ffffffffffffffff811115614ce657600080fd5b614cf289828a016147a9565b979a9699509497509295939492505050565b600181811c90821680614d1857607f821691505b602082108103614d51577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614d9057600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614e0c604083018486614da9565b95945050505050565b848152836020820152606060408201526000614e35606083018486614da9565b9695505050505050565b858152846020820152836040820152608060608201526000614e65608083018486614da9565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561115557806000526020600020601f840160051c81016020851015614ec65750805b601f840160051c820191505b81811015611abb5760008155600101614ed2565b67ffffffffffffffff831115614efe57614efe614e70565b614f1283614f0c8354614d04565b83614e9f565b6000601f841160018114614f645760008515614f2e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611abb565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614fb35786850135825560209485019460019092019101614f93565b5086821015614fee577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261503557600080fd5b83018035915067ffffffffffffffff82111561505057600080fd5b60200191503681900382131561472d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261509a57600080fd5b83018035915067ffffffffffffffff8211156150b557600080fd5b6020019150600581901b360382131561472d57600080fd5b602081526000614a78602083018486614da9565b6000602082840312156150f357600080fd5b815167ffffffffffffffff81111561510a57600080fd5b8201601f8101841361511b57600080fd5b805167ffffffffffffffff81111561513557615135614e70565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151a1576151a1614e70565b6040528181528282016020018610156151b957600080fd5b614e0c82602083016020860161464e565b600081516151dc81856020860161464e565b9290920192915050565b60008085546151f481614d04565b60018216801561520b576001811461523e5761526e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061526e565b88600052602060002060005b838110156152665781548882015260019091019060200161524a565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152a781600184016020890161464e565b016152d4600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614e3560028201856151ca565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610f8a57610f8a6152e1565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261535857600080fd5b830160208101925035905067ffffffffffffffff81111561537857600080fd5b80360382131561472d57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561544d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261540157600080fd5b8601803584526020808201359085015261541e6040820182615323565b915060606040860152615435606086018383614da9565b60209a8b019a909550939093019250506001016153a0565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b89821015615532577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154d957600080fd5b8b018035865260208082013590870152604080820135908701526155006060820182615323565b915060806060880152615517608088018383614da9565b9650505060208301925060208401935060018201915061549c565b505050508281036020840152614e65818587615387565b600081518084526020840193506020830160005b8281101561557b57815186526020958601959091019060010161555d565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff841660208201526080604082015260006155d06080830185615549565b8281036060840152614e658185615549565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81810381811115610f8a57610f8a6152e156fea264697066735822122031556ca1a892356ac611aafec3ccebeb9c21279cedd266fac524bb022157ded464736f6c634300081c0033";
|
|
23
|
+
export const editionImageBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b61565a8061008d6000396000f3fe6080604052600436106104495760003560e01c80638e08141f11610243578063cfc9e0e311610143578063e985e9c5116100bb578063f2fde38b1161008a578063fca3b5aa1161006f578063fca3b5aa14610e48578063fee81cf414610e68578063ff87a5f514610e9b57600080fd5b8063f2fde38b14610e15578063f5298aca14610e2857600080fd5b8063e985e9c514610d94578063ee748f2c14610dcd578063f04e283e14610de2578063f242432a14610df557600080fd5b8063e1c2ffad11610112578063e4df18ec116100f7578063e4df18ec14610d14578063e8a3d48514610d2f578063e8dc3e0914610d4457600080fd5b8063e1c2ffad14610cdf578063e2969ba714610cf457600080fd5b8063cfc9e0e314610c40578063d50bac3314610c60578063d8b4f8ac14610caa578063da2bbfc714610cbf57600080fd5b8063a8cdf078116101d6578063b18f004a116101a5578063bd85b0391161018a578063bd85b03914610bb4578063c3e617a214610c00578063c83569a914610c2057600080fd5b8063b18f004a14610b5c578063bb77e79614610b9457600080fd5b8063a8cdf07814610aad578063a9fc664e14610acd578063ac9650d814610aed578063ac998f4514610b0d57600080fd5b8063a07c7ce411610212578063a07c7ce414610a1b578063a148d8cf14610a52578063a22cb46514610a6d578063a482c94614610a8d57600080fd5b80638e08141f146109a6578063913b385a146109c657806395d89b41146109e657806397e950f7146109fb57600080fd5b80632eb2c2d61161034e57806355828c50116102e15780636cbdef61116102b0578063738e149611610295578063738e149614610903578063869f7594146109525780638da5cb5b1461097257600080fd5b80636cbdef61146108c7578063715018a6146108fb57600080fd5b806355828c50146108035780635a50ca65146108315780635c975abb1461087b5780635e5a9e30146108b257600080fd5b80634aa3adb31161031d5780634aa3adb31461075d5780634e1273f4146107805780634f558e79146107ad57806354d1f13d146107fb57600080fd5b80632eb2c2d6146106dd57806337da577c146106fd5780633dda44b01461071d5780634331f6391461073d57600080fd5b8063156e29f6116103e1578063261220a3116103b0578063298bb40e11610395578063298bb40e1461065c5780632a55205a146106715780632e73cddb146106bd57600080fd5b8063261220a31461062757806326dfe8c71461063c57600080fd5b8063156e29f6146105bf5780631622326a146105df57806316c38b3c146105ff578063256929621461061f57600080fd5b8063098144d41161041d578063098144d4146105275780630d705df61461053c5780630e89341c1461057d57806314cb56671461059d57600080fd5b8062fdd58e1461044e57806301ffc9a71461049b57806306fdde03146104cb57806307546172146104ed575b600080fd5b34801561045a57600080fd5b506104886104693660046145e2565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b3480156104a757600080fd5b506104bb6104b636600461460c565b610ebb565b6040519015158152602001610492565b3480156104d757600080fd5b506104e0610f90565b60405161049291906146bc565b3480156104f957600080fd5b50610502611042565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610492565b34801561053357600080fd5b50610502611082565b34801561054857600080fd5b50604080517f1854b2410000000000000000000000000000000000000000000000000000000081526000602082015201610492565b34801561058957600080fd5b506104e06105983660046146cf565b6110aa565b3480156105a957600080fd5b506105bd6105b8366004614734565b6110b4565b005b3480156105cb57600080fd5b506105bd6105da366004614776565b611142565b3480156105eb57600080fd5b506105bd6105fa3660046147eb565b61115a565b34801561060b57600080fd5b506105bd61061a366004614847565b6111eb565b6105bd611278565b34801561063357600080fd5b506104e06112c8565b34801561064857600080fd5b506105bd610657366004614862565b6112f0565b34801561066857600080fd5b506104e0611429565b34801561067d57600080fd5b5061069161068c36600461487d565b611451565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610492565b3480156106c957600080fd5b506104bb6106d83660046146cf565b6114c4565b3480156106e957600080fd5b506105bd6106f836600461489f565b6114ce565b34801561070957600080fd5b506105bd61071836600461487d565b6117bb565b34801561072957600080fd5b506105bd61073836600461487d565b61181b565b34801561074957600080fd5b506105bd610758366004614978565b61187b565b34801561076957600080fd5b5060035b60405161ffff9091168152602001610492565b34801561078c57600080fd5b506107a061079b3660046149ab565b611891565b6040516104929190614a1c565b3480156107b957600080fd5b506104bb6107c83660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054151590565b6105bd611901565b34801561080f57600080fd5b5061082361081e3660046146cf565b61193d565b604051610492929190614a5f565b34801561083d57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610502565b34801561088757600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff166104bb565b3480156108be57600080fd5b506105bd611949565b3480156108d357600080fd5b507fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee5570054610488565b6105bd6119af565b34801561090f57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166104bb565b34801561095e57600080fd5b5061048861096d3660046146cf565b6119c3565b34801561097e57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610502565b3480156109b257600080fd5b506105bd6109c13660046146cf565b611a3a565b3480156109d257600080fd5b506105bd6109e1366004614a80565b611ac2565b3480156109f257600080fd5b506104e0611b4c565b348015610a0757600080fd5b506105bd610a163660046146cf565b611b7e565b348015610a2757600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166104bb565b348015610a5e57600080fd5b506104bb6106d836600461487d565b348015610a7957600080fd5b506105bd610a88366004614ac7565b611cb3565b348015610a9957600080fd5b506105bd610aa8366004614af1565b611d09565b348015610ab957600080fd5b506105bd610ac8366004614b52565b611d95565b348015610ad957600080fd5b506105bd610ae8366004614862565b611e6e565b610b00610afb366004614734565b611edd565b6040516104929190614b88565b348015610b1957600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166104bb565b348015610b6857600080fd5b507f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661076d565b348015610ba057600080fd5b506104e0610baf3660046146cf565b611efc565b348015610bc057600080fd5b50610488610bcf3660046146cf565b60009081527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00602052604090205490565b348015610c0c57600080fd5b506105bd610c1b366004614b52565b611fbd565b348015610c2c57600080fd5b506105bd610c3b366004614c0b565b61206a565b348015610c4c57600080fd5b506105bd610c5b366004614c26565b61217c565b348015610c6c57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610502565b348015610cb657600080fd5b5061050261247c565b348015610ccb57600080fd5b506105bd610cda366004614b52565b6124a4565b348015610ceb57600080fd5b506105bd6124fe565b348015610d0057600080fd5b506105bd610d0f366004614862565b61258f565b348015610d2057600080fd5b5061082361081e36600461487d565b348015610d3b57600080fd5b506104e0612629565b348015610d5057600080fd5b5061076d610d5f3660046146cf565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610da057600080fd5b506104bb610daf366004614c62565b679a31110384e0b0c96020526014919091526000526034600c205490565b348015610dd957600080fd5b506104e0612852565b6105bd610df0366004614862565b61287a565b348015610e0157600080fd5b506105bd610e10366004614c8c565b6128ba565b6105bd610e23366004614862565b612b19565b348015610e3457600080fd5b506105bd610e43366004614776565b612b40565b348015610e5457600080fd5b506105bd610e63366004614862565b612ba7565b348015610e7457600080fd5b50610488610e83366004614862565b63389a75e1600c908152600091909152602090205490565b348015610ea757600080fd5b506105bd610eb6366004614862565b612c41565b6000610ec682612caf565b80610ed55750610ed582612ce6565b80610ee45750610ee482612d8b565b80610ef35750610ef382612db8565b80610f025750610f0282612ea4565b80610f115750610f1182612f00565b80610f205750610f2082612f5c565b80610f2f5750610f2f82612fb8565b80610f3e5750610f3e82613014565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f156e29f600000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610fbf90614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054610feb90614d04565b80156110385780601f1061100d57610100808354040283529160200191611038565b820191906000526020600020905b81548152906001019060200180831161101b57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00611066565b6060610449613070565b6110bc613080565b6040517f14cb566700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb56679061110e9085908590600401614d57565b60006040518083038186803b15801561112657600080fd5b505af415801561113a573d6000803e3d6000fd5b505050505050565b61114a6130b6565b6111558383836131be565b505050565b611162613080565b6040517f1622326a00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a906111b690869086908690600401614df2565b60006040518083038186803b1580156111ce57600080fd5b505af41580156111e2573d6000803e3d6000fd5b50505050505050565b6111f3613080565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610fb4565b6112f8613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561138e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610fb4565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611485576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6000610449613281565b611571888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061329192505050565b82851461158657633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c9850886115c55763ea553b346000526004601cfd5b8933146115e857336000526034600c20546115e857634b6e7f186000526004601cfd5b8660051b5b801561165a576020810390508087013583602052818a013560005260406000208054808311156116255763f4d678b86000526004601cfd5b82900390556020839052604060002080548083018181101561164f576301336cea6000526004601cfd5b909155506115ed9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a450506116c5600190565b156116da576116da888888888888888861329d565b863b156117b1578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1611778573d15611778573d6000833e3d82fd5b5080517fbc197c8100000000000000000000000000000000000000000000000000000000146117af57639c05499b6000526004601cfd5b505b5050505050505050565b6117c3613080565b6040517f37da577c000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c9060440161110e565b611823613080565b6040517f3dda44b0000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b09060440161110e565b611883613080565b61188d8282613340565b5050565b60608382146118a857633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b80156118f757602081039050808701358060601b679a31110384e0b0c9176020525080850135600052604060002054818301526118bf565b5050949350505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60006060610449613281565b611951613080565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b15801561199557600080fd5b505af41580156119a9573d6000803e3d6000fd5b50505050565b6119b7613080565b6119c1600061345a565b565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff16611a21578054611a33565b60008381526001820160205260409020545b9392505050565b611a42613080565b6040517f8e08141f0000000000000000000000000000000000000000000000000000000081526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b158015611aa757600080fd5b505af4158015611abb573d6000803e3d6000fd5b5050505050565b611aca613080565b6040517f913b385a00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a90611b20908790879087908790600401614e15565b60006040518083038186803b158015611b3857600080fd5b505af41580156117b1573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610fbf90614d04565b611b86613080565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006000829003611be2576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054821115611c1d576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0154821015611c78576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611d11613080565b6040517fa482c94600000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c94690611d699088908890889088908890600401614e3f565b60006040518083038186803b158015611d8157600080fd5b505af41580156117af573d6000803e3d6000fd5b611d9d613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e33576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e3f838583614ee6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611e77816134c0565b6040517fa9fc664e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e90602401611a8f565b60603415611eea57600080fd5b610f8a611ef7848461355b565b6135f2565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611f3890614d04565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6490614d04565b8015611fb15780601f10611f8657610100808354040283529160200191611fb1565b820191906000526020600020905b815481529060010190602001808311611f9457829003601f168201915b50505050509050919050565b611fc5613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561205b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e3f838583614ee6565b612072613080565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000805461ffff908116908316106120d5576040517fff4d50b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120dd613603565b61ffff168261ffff16101561211e576040517f4472b72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e90602001611ca7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156121ce5760018160011c14303b106121c55763f92ee8a96000526004601cfd5b818160ff1b1b91505b5081610180013560000361220e576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161018001358261024001351115612252576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122676122626020840184614862565b613612565b61228c6122776060840184615000565b61228760a0860160808701614862565b613668565b6122ae61229c6020840184615000565b6122a96040860186615000565b6136e0565b6122b661371d565b6122f36122ca610100840160e08501614862565b6122dc61012085016101008601614c0b565b6122ee61014086016101208701614c0b565b613753565b61230d61230861016084016101408501614847565b61384c565b61231b8261018001356138ca565b612329826101a00135613948565b61234361233e61020084016101e08501614862565b6139c6565b61235d6123586101e084016101c08501614862565b613a34565b61237761237261022084016102008501614847565b613aa2565b61239b612388610280840184615065565b6123966102a0860186615065565b613b50565b6123c06123ab60a0840184615000565b6123bb60e0860160c08701614862565b613bae565b6123da6123d561018084016101608501614862565b613c4d565b60006123ee61024084016102208501614862565b73ffffffffffffffffffffffffffffffffffffffff16146124445760005b8261024001358110156124425761243a61242e61024085016102208601614862565b828561026001356131be565b60010161240c565b505b801561188d576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611066565b6124ac613080565b6040517fda2bbfc700000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc79061110e90859085906004016150cd565b612506613080565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612597613080565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156127455760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156126f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261273f91908101906150e1565b91505090565b80600101805461275490614d04565b1590506127ee5780600101805461276a90614d04565b80601f016020809104026020016040519081016040528092919081815260200182805461279690614d04565b80156127e35780601f106127b8576101008083540402835291602001916127e3565b820191906000526020600020905b8154815290600101906020018083116127c657829003601f168201915b505050505091505090565b805481906127fb90614d04565b905060000361281857505060408051602081019091526000815290565b8061282246613cb3565b61282b30613d15565b60405160200161283d939291906151e6565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b70565b612882613080565b63389a75e1600c52806000526020600c2080544211156128aa57636f5e88186000526004601cfd5b600090556128b78161345a565b50565b61292d86866128dc876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061329192505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c96508661296c5763ea553b346000526004601cfd5b87331461298f57336000526034600c205461298f57634b6e7f186000526004601cfd5b85600052604060002091508154808611156129b25763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156129de576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4612a848686612a33876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613d5792505050565b843b1561113a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af1612ae3573d15612ae3573d6000823e3d81fd5b80517ff23a6e6100000000000000000000000000000000000000000000000000000000146111e257639c05499b6000526004601cfd5b612b21613080565b8060601b612b3757637448fbae6000526004601cfd5b6128b78161345a565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff16612b9b576040517fbe20705f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61115533848484613d64565b612baf613080565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612c49613080565b6040517fff87a5f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f590602401611a8f565b6000612cba82613e96565b80610f8a5750610f8a826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b6000612cf182613e96565b80612d3d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a800000000000000000000000000000000000000000000000000000000145b80610f8a5750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d9682613e96565b80610f8a5750632a55205a60e083901c9081146301ffc9a79190911417610f8a565b6000612dc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610f8a57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612eaf82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f744f4bd4000000000000000000000000000000000000000000000000000000001492915050565b6000612f0b82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f6782613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612fc382613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b600061301f82613e96565b80610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b613f2e8061188d63ffffffff8216565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146119c1576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff1633036130f657565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613152576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61315a611042565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119c1576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036131f8576040517f215b990c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61320182613f66565b61320b8282613fc0565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0090831061326657613260836001615310565b60018201555b6119a984848460405180602001604052806000815250614018565b61412c8061188d63ffffffff8216565b611abb8585858561415e565b6117b1888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613d5792505050565b7f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c20005461ffff1661ffff168161ffff1611156133a7576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003613400576133c5600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b61340e828261ffff166141b4565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016133f4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60006134ea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b73ffffffffffffffffffffffffffffffffffffffff16036135535773ffffffffffffffffffffffffffffffffffffffff8116156128b7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b7613080565b600060405190506020815281816020015280604001808360051b8086843782018085156135da575b835187018035602082018337600038823584305af46135a5573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613583575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b600080611a3381612710611451565b73ffffffffffffffffffffffffffffffffffffffff811661365f576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b781614204565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613695848683614ee6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061370d858783614ee6565b506001810161113a838583614ee6565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61377e7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614268565b61271061ffff821611156137be576040517f1d0a01c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b807f9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c200080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a16111558383613340565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d39060200161126d565b6138f57ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614268565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161126d565b6139737f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614268565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e49060200161126d565b6139f17fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612bd2565b613a5f7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614268565b73ffffffffffffffffffffffffffffffffffffffff8116156128b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006125ba565b613acd7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614268565b80156128b7577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161126d565b613b586142f7565b6040517fae3748cc00000000000000000000000000000000000000000000000000000000815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc90611b20908790879087908790600401615459565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70080613bdb848683614ee6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b6040517fdda44fcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf90602401611a8f565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613cce5750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613d2082614322565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b611abb85858585856143af565b613db1836000613d87856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613291565b8260601b80679a31110384e0b0c917602052808560601b148560601b1517613def57846000526034600c2054613def57634b6e7f186000526004601cfd5b826000526040600020805480841115613e105763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506119a9836000613e6c856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613d57565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610f8a57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b503d6000f35b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557005481106128b7576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fedbf22db000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db9060440161110e565b61405660008561403b866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613291565b8360601b8061406d5763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156140a1576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a4506141176000856140fc866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613d57565b833b156119a9576119a9600085858585614513565b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80613f60573d6000fd5b6040517f325b818c00000000000000000000000000000000000000000000000000000000815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c90611b20908790879087908790600401615585565b6bffffffffffffffffffffffff16612710808211156141db5763350a88b36000526004601cfd5b8260601b806141f25763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016133f4565b6119c17f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614268565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614362575050919050565b73ffffffffffffffffffffffffffffffffffffffff8516614462577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b57838181518110614409576144096155e2565b6020026020010151826000016000878481518110614429576144296155e2565b60200260200101518152602001908152602001600020600082825461444e9190615310565b90915550506001016143ee565b5050611abb565b73ffffffffffffffffffffffffffffffffffffffff841661450e577fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d0060005b845181101561445b578381815181106144bc576144bc6155e2565b60200260200101518260000160008784815181106144dc576144dc6155e2565b6020026020010151815260200190815260200160002060008282546145019190615611565b90915550506001016144a1565b611abb565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561455f578060e08301826020860160045afa505b6020828260c401601c850160008a5af1614582573d15614582573d6000833e3d82fd5b5080517ff23a6e61000000000000000000000000000000000000000000000000000000001461113a57639c05499b6000526004601cfd5b803573ffffffffffffffffffffffffffffffffffffffff811681146145dd57600080fd5b919050565b600080604083850312156145f557600080fd5b6145fe836145b9565b946020939093013593505050565b60006020828403121561461e57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611a3357600080fd5b60005b83811015614669578181015183820152602001614651565b50506000910152565b6000815180845261468a81602086016020860161464e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611a336020830184614672565b6000602082840312156146e157600080fd5b5035919050565b60008083601f8401126146fa57600080fd5b50813567ffffffffffffffff81111561471257600080fd5b6020830191508360208260051b850101111561472d57600080fd5b9250929050565b6000806020838503121561474757600080fd5b823567ffffffffffffffff81111561475e57600080fd5b61476a858286016146e8565b90969095509350505050565b60008060006060848603121561478b57600080fd5b614794846145b9565b95602085013595506040909401359392505050565b60008083601f8401126147bb57600080fd5b50813567ffffffffffffffff8111156147d357600080fd5b60208301915083602082850101111561472d57600080fd5b60008060006040848603121561480057600080fd5b83359250602084013567ffffffffffffffff81111561481e57600080fd5b61482a868287016147a9565b9497909650939450505050565b803580151581146145dd57600080fd5b60006020828403121561485957600080fd5b611a3382614837565b60006020828403121561487457600080fd5b611a33826145b9565b6000806040838503121561489057600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b0312156148bb57600080fd5b6148c4896145b9565b97506148d260208a016145b9565b9650604089013567ffffffffffffffff8111156148ee57600080fd5b6148fa8b828c016146e8565b909750955050606089013567ffffffffffffffff81111561491a57600080fd5b6149268b828c016146e8565b909550935050608089013567ffffffffffffffff81111561494657600080fd5b6149528b828c016147a9565b999c989b5096995094979396929594505050565b803561ffff811681146145dd57600080fd5b6000806040838503121561498b57600080fd5b614994836145b9565b91506149a260208401614966565b90509250929050565b600080600080604085870312156149c157600080fd5b843567ffffffffffffffff8111156149d857600080fd5b6149e4878288016146e8565b909550935050602085013567ffffffffffffffff811115614a0457600080fd5b614a10878288016146e8565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614a54578351835260209384019390920191600101614a36565b509095945050505050565b828152604060208201526000614a786040830184614672565b949350505050565b60008060008060608587031215614a9657600080fd5b8435935060208501359250604085013567ffffffffffffffff811115614abb57600080fd5b614a10878288016147a9565b60008060408385031215614ada57600080fd5b614ae3836145b9565b91506149a260208401614837565b600080600080600060808688031215614b0957600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115614b3557600080fd5b614b41888289016147a9565b969995985093965092949392505050565b60008060208385031215614b6557600080fd5b823567ffffffffffffffff811115614b7c57600080fd5b61476a858286016147a9565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614bff577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614bea858351614672565b94506020938401939190910190600101614bb0565b50929695505050505050565b600060208284031215614c1d57600080fd5b611a3382614966565b600060208284031215614c3857600080fd5b813567ffffffffffffffff811115614c4f57600080fd5b82016102c08185031215611a3357600080fd5b60008060408385031215614c7557600080fd5b614c7e836145b9565b91506149a2602084016145b9565b60008060008060008060a08789031215614ca557600080fd5b614cae876145b9565b9550614cbc602088016145b9565b94506040870135935060608701359250608087013567ffffffffffffffff811115614ce657600080fd5b614cf289828a016147a9565b979a9699509497509295939492505050565b600181811c90821680614d1857607f821691505b602082108103614d51577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614d9057600080fd5b8260051b80856040850137919091016040019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201526000614e0c604083018486614da9565b95945050505050565b848152836020820152606060408201526000614e35606083018486614da9565b9695505050505050565b858152846020820152836040820152608060608201526000614e65608083018486614da9565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561115557806000526020600020601f840160051c81016020851015614ec65750805b601f840160051c820191505b81811015611abb5760008155600101614ed2565b67ffffffffffffffff831115614efe57614efe614e70565b614f1283614f0c8354614d04565b83614e9f565b6000601f841160018114614f645760008515614f2e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611abb565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614fb35786850135825560209485019460019092019101614f93565b5086821015614fee577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261503557600080fd5b83018035915067ffffffffffffffff82111561505057600080fd5b60200191503681900382131561472d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261509a57600080fd5b83018035915067ffffffffffffffff8211156150b557600080fd5b6020019150600581901b360382131561472d57600080fd5b602081526000614a78602083018486614da9565b6000602082840312156150f357600080fd5b815167ffffffffffffffff81111561510a57600080fd5b8201601f8101841361511b57600080fd5b805167ffffffffffffffff81111561513557615135614e70565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156151a1576151a1614e70565b6040528181528282016020018610156151b957600080fd5b614e0c82602083016020860161464e565b600081516151dc81856020860161464e565b9290920192915050565b60008085546151f481614d04565b60018216801561520b576001811461523e5761526e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316865281151582028601935061526e565b88600052602060002060005b838110156152665781548882015260019091019060200161524a565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516152a781600184016020890161464e565b016152d4600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614e3560028201856151ca565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610f8a57610f8a6152e1565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261535857600080fd5b830160208101925035905067ffffffffffffffff81111561537857600080fd5b80360382131561472d57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561544d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261540157600080fd5b8601803584526020808201359085015261541e6040820182615323565b915060606040860152615435606086018383614da9565b60209a8b019a909550939093019250506001016153a0565b50909695505050505050565b6040808252810184905260006060600586901b8301810190830187837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8136839003015b89821015615532577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282358181126154d957600080fd5b8b018035865260208082013590870152604080820135908701526155006060820182615323565b915060806060880152615517608088018383614da9565b9650505060208301925060208401935060018201915061549c565b505050508281036020840152614e65818587615387565b600081518084526020840193506020830160005b8281101561557b57815186526020958601959091019060010161555d565b5093949350505050565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff841660208201526080604082015260006155d06080830185615549565b8281036060840152614e658185615549565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81810381811115610f8a57610f8a6152e156fea26469706673582212207b1f9b27c16d739f00b0c080f33d67d395cef90ffce8a9a50825a0c00a849f4f64736f6c634300081c0033";
|
|
24
24
|
export const editionCodeFactoryAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployDeterministic", "inputs": [{ "name": "params", "type": "tuple", "internalType": "struct EditionCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "clone", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "isAbxClone", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "predictDeterministicAddress", "inputs": [{ "name": "salt", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "event", "name": "Deployed", "inputs": [{ "name": "clone", "type": "address", "indexed": true, "internalType": "address" }, { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "SaltSenderMismatch", "inputs": [] }];
|
|
25
|
-
export const editionCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615c1d80610a9783390190565b608051610a0961008e6000396000818160b701528181610113015281816101580152818161019601526102620152610a096000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631d78fdd01461005c5780632d6fb1de1461008c5780635414dff01461009f5780635c60da1b146100b25780635c857b3e146100d9575b600080fd5b61006f61006a36600461045c565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f61009a366004610499565b610148565b61006f6100ad3660046104de565b61018f565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100fc6100e736600461050e565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b60006101377f00000000000000000000000000000000000000000000000000000000000000006101bc565b905061014381836101c9565b919050565b6000610153826102c4565b61017d7f000000000000000000000000000000000000000000000000000000000000000083610303565b905061018981846101c9565b92915050565b60006101897f00000000000000000000000000000000000000000000000000000000000000008330610318565b6000610189600083610375565b60405163084d5d1560e01b81526001600160a01b0383169063084d5d15906101f5908490600401610736565b600060405180830381600087803b15801561020f57600080fd5b505af1158015610223573d6000803e3d6000fd5b5050506001600160a01b038316600090815260208181526040909120805460ff19166001179055610257915082018261050e565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b606081901c80158015906102e157506001600160a01b0381163314155b156102ff5760405163c61a579960e01b815260040160405180910390fd5b5050565b6000610311600084846103ca565b9392505050565b60008061035f8560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061036c818585610421565b95945050505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806103bf5763301164256000526004601cfd5b600060215292915050565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104155763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006102e0828403121561045657600080fd5b50919050565b60006020828403121561046e57600080fd5b813567ffffffffffffffff81111561048557600080fd5b61049184828501610443565b949350505050565b600080604083850312156104ac57600080fd5b823567ffffffffffffffff8111156104c357600080fd5b6104cf85828601610443565b95602094909401359450505050565b6000602082840312156104f057600080fd5b5035919050565b80356001600160a01b038116811461014357600080fd5b60006020828403121561052057600080fd5b610311826104f7565b6000808335601e1984360301811261054057600080fd5b830160208101925035905067ffffffffffffffff81111561056057600080fd5b80360382131561056f57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff8116811461014357600080fd5b8035801515811461014357600080fd5b6000808335601e198436030181126105d857600080fd5b830160208101925035905067ffffffffffffffff8111156105f857600080fd5b8060051b360382131561056f57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003607e1901811261064957600080fd5b86018035845260208082013590850152604080820135908501526106706060820182610529565b915060806060860152610687608086018383610576565b60209a8b019a90955093909301925050600101610623565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003605e190181126106ea57600080fd5b860180358452602080820135908501526107076040820182610529565b91506060604086015261071e606086018383610576565b60209a8b019a909550939093019250506001016106c4565b602081526107576020820161074a846104f7565b6001600160a01b03169052565b60006107666020840184610529565b6102e0604085015261077d61030085018284610576565b91505061078d6040850185610529565b848303601f190160608601526107a4838284610576565b925050506107b56060850185610529565b848303601f190160808601526107cc838284610576565b925050506107dc608085016104f7565b6001600160a01b03811660a0850152506107f960a0850185610529565b848303601f190160c0860152610810838284610576565b9250505061082060c085016104f7565b6001600160a01b03811660e08501525061083c60e085016104f7565b6001600160a01b0381166101008501525061085a610100850161059f565b61ffff811661012085015250610873610120850161059f565b61ffff81166101408501525061088c61014085016105b1565b801515610160850152506108a361016085016104f7565b6001600160a01b038116610180850152506101808401356101a0848101919091528401356101c0808501919091526108dc9085016104f7565b6001600160a01b0381166101e0850152506108fa6101e085016104f7565b6001600160a01b0381166102008501525061091861020085016105b1565b8015156102208501525061092f61022085016104f7565b6001600160a01b0381166102408501525061094d61024085016104f7565b6001600160a01b03811661026085015250610260840135610280848101919091528401356102a080850191909152610987908501856105c1565b848303601f19016102c086015261099f83828461060a565b925050506109b16102c08501856105c1565b848303601f19016102e08601526109c98382846106ab565b969550505050505056fea2646970667358221220eb0c62c456fe139d6641a31f72c1c17418b1f02133628b4c918cb0df7086d93a64736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615b908061008d6000396000f3fe6080604052600436106106dd5760003560e01c806384f6687f11610385578063c3e617a2116101dc578063e4df18ec1161010d578063f2235701116100ab578063f8d3adc81161007a578063f8d3adc814610ad0578063fca3b5aa146114f1578063fee81cf414611511578063ff87a5f51461154457600080fd5b8063f22357011461146a578063f242432a1461149e578063f2fde38b146114be578063f5298aca146114d157600080fd5b8063e985e9c5116100e7578063e985e9c514611409578063ea58f97114610ec1578063ee748f2c14611442578063f04e283e1461145757600080fd5b8063e4df18ec14611389578063e8a3d485146113a4578063e8dc3e09146113b957600080fd5b8063d90f5df21161017a578063e1b7938111610154578063e1b7938114611339578063e1c2ffad14611354578063e2969ba714611369578063e42b7baf14610bdf57600080fd5b8063d90f5df214610faa578063da2bbfc714611304578063dc9838791461132457600080fd5b8063cc1cf515116101b6578063cc1cf51514611249578063cfc59afd14611284578063d50bac33146112b2578063d8b4f8ac146112ef57600080fd5b8063c3e617a214611229578063c4f2604814611249578063c83569a91461126457600080fd5b80639aa1a1f0116102b6578063aa0de18d11610254578063b18f004a1161022e578063b18f004a14611194578063b4784247146111ba578063bb77e796146111cf578063bd85b039146111ef57600080fd5b8063aa0de18d1461111b578063ac9650d814611136578063ac998f451461115657600080fd5b8063a22cb46511610290578063a22cb4651461109b578063a482c946146110bb578063a8cdf078146110db578063a9fc664e146110fb57600080fd5b80639aa1a1f014611029578063a07c7ce414611049578063a148d8cf1461108057600080fd5b8063913b385a1161032357806395d89b41116102fd57806395d89b4114610fbf57806396f4205a14610fd457806397e950f714610ff45780639a5db5031461101457600080fd5b8063913b385a14610f8a57806392b29b1714610f1657806392d9906f14610faa57600080fd5b80638da5cb5b1161035f5780638da5cb5b14610f315780638e08141f14610f4a5780638e4cc07014610f6a578063909206e314610c4357600080fd5b806384f6687f14610ed6578063869f759414610ef657806386b7f6a414610f1657600080fd5b80633990b221116105395780635c975abb1161046a5780636cb0281811610408578063738e1496116103e2578063738e149614610e4157806374828e3414610e6d5780637b1d470714610ea15780637d0b7ae414610ec157600080fd5b80636cb0281814610df75780636cbdef6114610e17578063715018a614610e3957600080fd5b806369053374116104445780636905337414610d3b5780636aaf760714610d565780636bd3922214610d765780636c59f75914610de257600080fd5b80635c975abb14610cec5780635d0b722014610d115780635e5a9e3014610d2657600080fd5b80634efdb5ae116104d757806355580cca116104b157806355580cca14610c4357806355828c5014610c655780635a50ca6514610c935780635b02f81c14610cbe57600080fd5b80634efdb5ae14610bdf5780634f558e7914610bff57806354d1f13d14610c3b57600080fd5b80633dda44b0116105135780633dda44b014610b4f5780634331f63914610b6f5780634aa3adb314610b8f5780634e1273f414610bb257600080fd5b80633990b22114610ad05780633ba1bd8614610af05780633c59f1bb14610b1057600080fd5b806316c38b3c11610613578063261220a3116105b15780632a55205a1161058b5780632a55205a14610a315780632e73cddb14610a705780632eb2c2d614610a9057806337da577c14610ab057600080fd5b8063261220a3146109e757806326dfe8c7146109fc578063298bb40e14610a1c57600080fd5b806320ac0944116105ed57806320ac0944146109375780632352b33f1461094c57806325628d34146109ca57806325692962146109df57600080fd5b806316c38b3c146108e257806317afae43146109025780631c31cac31461091757600080fd5b80630b4c562b1161068057806313bfffac1161065a57806313bfffac1461086d57806314cb566714610882578063156e29f6146108a25780631622326a146108c257600080fd5b80630b4c562b146108055780630d705df6146108255780630e89341c1461084d57600080fd5b806307546172116106bc5780630754617214610781578063084d5d15146107ae57806308a38395146107d0578063098144d4146107f057600080fd5b8062fdd58e146106e257806301ffc9a71461072f57806306fdde031461075f575b600080fd5b3480156106ee57600080fd5b5061071c6106fd3660046148ec565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561073b57600080fd5b5061074f61074a366004614916565b611564565b6040519015158152602001610726565b34801561076b57600080fd5b50610774611644565b6040516107269190614990565b34801561078d57600080fd5b506107966116f6565b6040516001600160a01b039091168152602001610726565b3480156107ba57600080fd5b506107ce6107c93660046149a3565b611729565b005b3480156107dc57600080fd5b506107ce6107eb366004614a3f565b611a0a565b3480156107fc57600080fd5b50610796611a94565b34801561081157600080fd5b506107ce610820366004614b31565b611abc565b34801561083157600080fd5b5060408051631854b24160e01b81526000602082015201610726565b34801561085957600080fd5b50610774610868366004614b7c565b611ac9565b34801561087957600080fd5b50610796611ad3565b34801561088e57600080fd5b506107ce61089d366004614b95565b611add565b3480156108ae57600080fd5b506107ce6108bd366004614bd6565b611b52565b3480156108ce57600080fd5b506107ce6108dd366004614b31565b611b65565b3480156108ee57600080fd5b506107ce6108fd366004614c19565b611bdd565b34801561090e57600080fd5b50610796611c3a565b34801561092357600080fd5b506107ce610932366004614c34565b611c62565b34801561094357600080fd5b50610796611c6d565b34801561095857600080fd5b506109ad610967366004614b7c565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610726565b3480156109d657600080fd5b506107ce611c77565b6107ce611cdd565b3480156109f357600080fd5b50610774611d2c565b348015610a0857600080fd5b506107ce610a17366004614c34565b611d54565b348015610a2857600080fd5b50610774611e1a565b348015610a3d57600080fd5b50610a51610a4c366004614c4f565b611e30565b604080516001600160a01b039093168352602083019190915201610726565b348015610a7c57600080fd5b5061074f610a8b366004614b7c565b611e85565b348015610a9c57600080fd5b506107ce610aab366004614c71565b611e8f565b348015610abc57600080fd5b506107ce610acb366004614c4f565b612163565b348015610adc57600080fd5b506107ce610aeb366004614c4f565b6121aa565b348015610afc57600080fd5b50610774610b0b366004614c4f565b6121b2565b348015610b1c57600080fd5b50610b256121bc565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610726565b348015610b5b57600080fd5b506107ce610b6a366004614c4f565b6121c9565b348015610b7b57600080fd5b506107ce610b8a366004614d47565b612210565b348015610b9b57600080fd5b5060025b60405161ffff9091168152602001610726565b348015610bbe57600080fd5b50610bd2610bcd366004614d7a565b612222565b6040516107269190614de9565b348015610beb57600080fd5b506107ce610bfa366004614e2c565b612292565b348015610c0b57600080fd5b5061074f610c1a366004614b7c565b6000908152600080516020615b3b8339815191526020526040902054151590565b6107ce61229a565b348015610c4f57600080fd5b50610c586121b2565b6040516107269190614eae565b348015610c7157600080fd5b50610c85610c80366004614b7c565b6122d6565b604051610726929190614ec1565b348015610c9f57600080fd5b50600080516020615b1b833981519152546001600160a01b0316610796565b348015610cca57600080fd5b50610cde610cd9366004614eda565b6122e2565b604051610726929190614f06565b348015610cf857600080fd5b50600080516020615adb8339815191525460ff1661074f565b348015610d1d57600080fd5b506107ce6122ee565b348015610d3257600080fd5b506107ce6122f8565b348015610d4757600080fd5b506107ce610932366004614b7c565b348015610d6257600080fd5b50610774610d71366004614b7c565b612344565b348015610d8257600080fd5b506109ad610d91366004614c4f565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020908152604080842092845291905290208054600190910154909160ff8083169261010090041690565b348015610dee57600080fd5b5061074f611ad3565b348015610e0357600080fd5b50610774610e12366004614b7c565b61234e565b348015610e2357600080fd5b50600080516020615abb8339815191525461071c565b6107ce6123b4565b348015610e4d57600080fd5b50600080516020615b1b83398151915254600160a01b900460ff1661074f565b348015610e7957600080fd5b50610e8d610e88366004614b7c565b6123c6565b604051610726989796959493929190614f62565b348015610ead57600080fd5b506107ce610ebc366004614c34565b6123da565b348015610ecd57600080fd5b5061074f611c6d565b348015610ee257600080fd5b50610774610ef1366004614c4f565b61244f565b348015610f0257600080fd5b5061071c610f11366004614b7c565b6124c1565b348015610f2257600080fd5b506107ce610820366004614eda565b348015610f3d57600080fd5b50638b78c6d81954610796565b348015610f5657600080fd5b506107ce610f65366004614b7c565b612533565b348015610f7657600080fd5b506107ce610f85366004614fc1565b6125a2565b348015610f9657600080fd5b506107ce610fa5366004614e2c565b6125e5565b348015610fb657600080fd5b5061071c611c6d565b348015610fcb57600080fd5b50610774612656565b348015610fe057600080fd5b506107ce610fef366004614c34565b612688565b34801561100057600080fd5b506107ce61100f366004614b7c565b6126d0565b34801561102057600080fd5b506107ce6127a8565b34801561103557600080fd5b506107ce611044366004614b31565b6127f4565b34801561105557600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff1661074f565b34801561108c57600080fd5b5061074f610a8b366004614c4f565b3480156110a757600080fd5b506107ce6110b6366004614ffd565b612837565b3480156110c757600080fd5b506107ce6110d6366004615027565b61288d565b3480156110e757600080fd5b506107ce6110f6366004615087565b612900565b34801561110757600080fd5b506107ce611116366004614c34565b61298b565b34801561112757600080fd5b506107ce6108203660046150bc565b611149611144366004614b95565b6129d4565b60405161072691906150ff565b34801561116257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820154600160a01b900460ff1661074f565b3480156111a057600080fd5b50600080516020615a9b8339815191525461ffff16610b9f565b3480156111c657600080fd5b506107ce6129f3565b3480156111db57600080fd5b506107746111ea366004614b7c565b612a3f565b3480156111fb57600080fd5b5061071c61120a366004614b7c565b6000908152600080516020615b3b833981519152602052604090205490565b34801561123557600080fd5b506107ce611244366004615087565b612b00565b34801561125557600080fd5b50610cde610cd9366004614c4f565b34801561127057600080fd5b506107ce61127f366004615164565b612b5f565b34801561129057600080fd5b506112a461129f366004614b7c565b612c13565b60405161072692919061518f565b3480156112be57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546001600160a01b0316610796565b3480156112fb57600080fd5b50610796612c1e565b34801561131057600080fd5b506107ce61131f366004615087565b612c46565b34801561133057600080fd5b506107ce612c87565b34801561134557600080fd5b50610c58610b0b366004614b7c565b34801561136057600080fd5b506107ce612cd3565b34801561137557600080fd5b506107ce611384366004614c34565b612d26565b34801561139557600080fd5b50610c85610c80366004614c4f565b3480156113b057600080fd5b50610774612d9b565b3480156113c557600080fd5b50610b9f6113d4366004614b7c565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561141557600080fd5b5061074f6114243660046151aa565b679a31110384e0b0c96020526014919091526000526034600c205490565b34801561144e57600080fd5b50610774612f4f565b6107ce611465366004614c34565b612f65565b34801561147657600080fd5b5061148a611485366004614b7c565b612fa2565b6040516107269897969594939291906151d4565b3480156114aa57600080fd5b506107ce6114b9366004615290565b612fb7565b6107ce6114cc366004614c34565b6131fd565b3480156114dd57600080fd5b506107ce6114ec366004614bd6565b613224565b3480156114fd57600080fd5b506107ce61150c366004614c34565b613272565b34801561151d57600080fd5b5061071c61152c366004614c34565b63389a75e1600c908152600091909152602090205490565b34801561155057600080fd5b506107ce61155f366004614c34565b6132e7565b600061156f82613332565b8061157e575061157e82613369565b8061158d575061158d826133ac565b8061159c575061159c826133d9565b806115ab57506115ab82613452565b806115ba57506115ba8261347d565b806115c957506115c9826134a8565b806115d857506115d8826134d3565b806115e757506115e7826134fe565b806115f657506115f682613529565b80611605575061160582613554565b8061161457506116148261357f565b806116235750611623826135aa565b8061163e57506001600160e01b03198216630ab714fb60e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b805461167390615307565b80601f016020809104026020016040519081016040528092919081815260200182805461169f90615307565b80156116ec5780601f106116c1576101008083540402835291602001916116ec565b820191906000526020600020905b8154815290600101906020018083116116cf57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b63409feecd1980546003825580156117605760018160011c14303b106117575763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036117875760405163fe5afcb960e01b815260040160405180910390fd5b81610180013582610260013511156117b257604051633f63c5bf60e01b815260040160405180910390fd5b6117c76117c26020840184614c34565b6135d5565b6117ec6117d76060840184615341565b6117e760a0860160808701614c34565b613605565b61180e6117fc6020840184615341565b6118096040860186615341565b613658565b611816613695565b61185361182a610100840160e08501614c34565b61183c61012085016101008601615164565b61184e61014086016101208701615164565b6136cb565b61186d61186861016084016101408501614c19565b61377b565b61187b8261018001356137db565b611889826101a00135613847565b6118a361189e61020084016101e08501614c34565b6138c5565b6118bd6118b86101e084016101c08501614c34565b613926565b6118d76118d261022084016102008501614c19565b613987565b6118f16118ec61024084016102208501614c34565b613a05565b6118f9613a66565b611901613a91565b611909613abc565b611911613ae7565b6119356119226102a0840184615387565b6119306102c0860186615387565b613b12565b61195a61194560a0840184615341565b61195560e0860160c08701614c34565b613b57565b61197461196f61018084016101608501614c34565b613bbf565b600061198861026084016102408501614c34565b6001600160a01b0316146119d15760005b8261026001358110156119cf576119c76119bb61026085016102408601614c34565b82856102800135613bff565b600101611999565b505b8015611a06576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050565b611a12613ccd565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae690611a59908c908c908c908c908c908c908c908c908c9060040161543e565b60006040518083038186803b158015611a7157600080fd5b505af4158015611a85573d6000803e3d6000fd5b50505050505050505050505050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0061171a565b611ac4613ce8565b505050565b60606106dd613cf0565b60006106dd613d00565b611ae5613ccd565b6040516314cb566760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb566790611b1e90859085906004016154fc565b60006040518083038186803b158015611b3657600080fd5b505af4158015611b4a573d6000803e3d6000fd5b505050505050565b611b5a613d10565b611ac4838383613bff565b611b6d613ccd565b604051630b11193560e11b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a90611ba890869086908690600401615535565b60006040518083038186803b158015611bc057600080fd5b505af4158015611bd4573d6000803e3d6000fd5b50505050505050565b611be5613ccd565b600080516020615adb833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b60061171a565b611c6a613ce8565b50565b60006106dd613d92565b611c7f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b505af4158015611cd7573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200611668565b611d5c613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615611da4576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615afb833981519152611668565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611e64576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106dd613da2565b611f32888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613db292505050565b828514611f4757633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c985088611f865763ea553b346000526004601cfd5b893314611fa957336000526034600c2054611fa957634b6e7f186000526004601cfd5b8660051b5b801561201b576020810390508087013583602052818a01356000526040600020805480831115611fe65763f4d678b86000526004601cfd5b829003905560208390526040600020805480830181811015612010576301336cea6000526004601cfd5b90915550611fae9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050612086600190565b1561209b5761209b8888888888888888613dbe565b863b15612159578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1612139573d15612139573d6000833e3d82fd5b50805163bc197c8160e01b1461215757639c05499b6000526004601cfd5b505b5050505050505050565b61216b613ccd565b604051630df695df60e21b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611b1e565b611a06613ce8565b60606106dd613d00565b60008060006106dd613d00565b6121d1613ccd565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611b1e565b612218613ccd565b611a068282613e61565b606083821461223957633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561228857602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152612250565b5050949350505050565b611cd7613ce8565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106dd613da2565b606060006106dd613d00565b6122f6613ce8565b565b612300613ccd565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60606106dd613d92565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b0316801561239c5761239781613f43565b6123ad565b604051806020016040528060008152505b9392505050565b6123bc613ccd565b6122f66000613f71565b6000806000806000806000806106dd613d00565b6123e2613ccd565b807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156124a8576124a381613f43565b6124b9565b604051806020016040528060008152505b949350505050565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1661251f5780546123ad565b600092835260010160205250604090205490565b61253b613ccd565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561258757600080fd5b505af415801561259b573d6000803e3d6000fd5b5050505050565b6125aa613ccd565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee4590611ba890869086908690600401615558565b6125ed613ccd565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061262a90879087908790879060040161557a565b60006040518083038186803b15801561264257600080fd5b505af4158015612159573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b600101805461167390615307565b612690613ccd565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161256f565b6126d8613ccd565b600080516020615abb83398151915260008290036127095760405163fe5afcb960e01b815260040160405180910390fd5b805482111561272b57604051632b953d0360e11b815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d015482101561276d57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6127b0613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b6127fc613ccd565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f090611ba890869086908690600401615535565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612895613ccd565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906128d490889088908890889088906004016155a4565b60006040518083038186803b1580156128ec57600080fd5b505af4158015612157573d6000803e3d6000fd5b612908613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612950576040516352be865b60e01b815260040160405180910390fd5b8061295c838583615632565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61299481613faf565b6040516354fe332760e11b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e9060240161256f565b606034156129e157600080fd5b61163e6129ee8484613ffb565b614092565b6129fb613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612a7b90615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612aa790615307565b8015612af45780601f10612ac957610100808354040283529160200191612af4565b820191906000526020600020905b815481529060010190602001808311612ad757829003601f168201915b50505050509050919050565b612b08613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612b50576040516352be865b60e01b815260040160405180910390fd5b6001810161295c838583615632565b612b67613ccd565b600080516020615a9b833981519152805461ffff90811690831610612ba2576040516001625957a760e11b0319815260040160405180910390fd5b612baa6140a2565b61ffff168261ffff161015612bd25760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200161279c565b6000806106dd613d92565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061171a565b612c4e613ccd565b60405163da2bbfc760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc790611b1e90859085906004016156f1565b612c8f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b612cdb613ccd565b600080516020615b1b833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612d2e613ccd565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b1b83398151915254606090600080516020615afb833981519152906001600160a01b031615612e4257600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612e14573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e3c9190810190615705565b91505090565b806001018054612e5190615307565b159050612eeb57806001018054612e6790615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612e9390615307565b8015612ee05780601f10612eb557610100808354040283529160200191612ee0565b820191906000526020600020905b815481529060010190602001808311612ec357829003601f168201915b505050505091505090565b80548190612ef890615307565b9050600003612f1557505060408051602081019091526000815290565b80612f1f466140b1565b612f28306140f5565b604051602001612f3a939291906157ca565b60405160208183030381529060405291505090565b6060600080516020615afb83398151915261267a565b612f6d613ccd565b63389a75e1600c52806000526020600c208054421115612f9557636f5e88186000526004601cfd5b60009055611c6a81613f71565b600080600080600080600060606106dd613d00565b61302a8686612fd9876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613db292505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866130695763ea553b346000526004601cfd5b87331461308c57336000526034600c205461308c57634b6e7f186000526004601cfd5b85600052604060002091508154808611156130af5763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156130db576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46131818686613130876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061411992505050565b843b15611b4a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16131e0573d156131e0573d6000823e3d81fd5b805163f23a6e6160e01b14611bd457639c05499b6000526004601cfd5b613205613ccd565b8060601b61321b57637448fbae6000526004601cfd5b611c6a81613f71565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166132665760405163be20705f60e01b815260040160405180910390fd5b611ac433848484614165565b61327a613ccd565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6132ef613ccd565b604051600162785a0b60e01b031981526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f59060240161256f565b600061333d82614297565b8061163e575061163e826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b600061337482614297565b8061338f57506001600160e01b031982166307ccd03560e31b145b8061163e5750506001600160e01b031916632483248360e11b1490565b60006133b782614297565b8061163e5750632a55205a60e083901c9081146301ffc9a7919091141761163e565b60006133e482614297565b8061163e57506001600160e01b03198216632b435fdb60e21b148061341957506001600160e01b0319821663503e914d60e11b145b801561163e57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0054600160a01b900460ff1692915050565b600061345d82614297565b8061163e57506001600160e01b03198216631d13d2f560e21b1492915050565b600061348882614297565b8061163e57506001600160e01b03198216636cbdef6160e01b1492915050565b60006134b382614297565b8061163e57506001600160e01b031982166303aa30b960e11b1492915050565b60006134de82614297565b8061163e57506001600160e01b0319821663362d3e2b60e21b1492915050565b600061350982614297565b8061163e57506001600160e01b03198216635c975abb60e01b1492915050565b600061353482614297565b8061163e57506001600160e01b031982166317afae4360e01b1492915050565b600061355f826142cd565b8061163e57506001600160e01b0319821663a2316e0b60e01b1492915050565b600061358a82614297565b8061163e57506001600160e01b0319821663215f672360e21b1492915050565b60006135b582614297565b8061163e57506001600160e01b03198216636e1f1b9d60e11b1492915050565b6001600160a01b0381166135fc576040516349e27cff60e01b815260040160405180910390fd5b611c6a816142f8565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613632848683615632565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613685858783615632565b5060018101611b4a838583615632565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6136f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614334565b61271061ffff8216111561371c576040516274280760e61b815260040160405180910390fd5b80600080516020615a9b833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a1611ac48383613e61565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d02805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611c2f565b6138067ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614334565b80600080516020615abb833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611c2f565b6138727f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614334565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e490602001611c2f565b6138f07fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614334565b6001600160a01b03811615611c6a57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba0061329d565b6139517fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614334565b6001600160a01b03811615611c6a57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612d51565b6139b27f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614334565b8015611c6a57600080516020615adb833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611c2f565b613a307fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614334565b6001600160a01b03811615611c6a57807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600612405565b6122f67f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614334565b6122f67f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614334565b6122f67fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614334565b6122f67fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614334565b613b1a6143a6565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061262a908790879087908790600401615906565b600080516020615afb83398151915280613b72848683615632565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60405163dda44fcf60e01b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf9060240161256f565b80600003613c2057604051630856e64360e21b815260040160405180910390fd5b613c29826143d1565b604051633550780d60e01b8152600481018390526001600160a01b0384166024820152631cd9595960e21b604482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__90633550780d9060640160006040518083038186803b158015613c9057600080fd5b505af4158015613ca4573d6000803e3d6000fd5b50505050613cb28282614400565b611ac48383836040518060200160405280600081525061443f565b638b78c6d8195433146122f6576382b429006000526004601cfd5b6122f6614553565b61458b80611a0663ffffffff8216565b61455380611a0663ffffffff8216565b638b78c6d819546001600160a01b03163303613d2857565b600080516020615adb8339815191525460ff1615613d59576040516375ab03ab60e11b815260040160405180910390fd5b613d616116f6565b6001600160a01b0316336001600160a01b0316146122f65760405163263ab11d60e21b815260040160405180910390fd5b6145bd80611a0663ffffffff8216565b6145ef80611a0663ffffffff8216565b61259b85858585614621565b612159888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061411992505050565b600080516020615a9b8339815191525461ffff1661ffff168161ffff161115613e9d5760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613ef657613ebb600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613f04828261ffff1661465e565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613eea565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6000613fbe638b78c6d8195490565b6001600160a01b031603613ff3576001600160a01b03811615611c6a576040516282b42960e81b815260040160405180910390fd5b611c6a613ccd565b600060405190506020815281816020015280604001808360051b80868437820180851561407a575b835187018035602082018337600038823584305af4614045573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614023575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806123ad81612710611e30565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806140cc575050819003601f19909101908152919050565b6060614100826146ae565b8051613078825260020160011990910190815292915050565b614126858585858561471d565b6040516330aeb1e960e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906330aeb1e9906128d490869086908a908a9033906004016159ba565b6141b2836000614188856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613db2565b8260601b80679a31110384e0b0c917602052808560601b148560601b15176141f057846000526034600c20546141f057634b6e7f186000526004601cfd5b8260005260406000208054808411156142115763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611cd783600061426d856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250614119565b60006301ffc9a760e01b6001600160e01b03198316148061163e57506001600160e01b0319821663513fc9dd60e11b1492915050565b60006142d882614297565b8061163e57506001600160e01b03198216638bd8666560e01b1492915050565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613eea565b6122f67f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614334565b600080516020615abb833981519152548110611c6a5760405163ba470cd560e01b815260040160405180910390fd5b60405163edbf22db60e01b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611b1e565b61447d600085614462866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613db2565b8360601b806144945763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156144c8576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a45061453e600085614523866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285614119565b833b15611cd757611cd7600085858585614843565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614585573d6000fd5b503d6000f35b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614585573d6000fd5b604051630c96e06360e21b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c9061262a908790879087908790600401615a0a565b6bffffffffffffffffffffffff16612710808211156146855763350a88b36000526004601cfd5b8260601b8061469c5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c51825350506001810190601219016146ee575050919050565b6001600160a01b0385166147b157600080516020615b3b83398151915260005b84518110156147aa5783818151811061475857614758615a48565b602002602001015182600001600087848151811061477857614778615a48565b60200260200101518152602001908152602001600020600082825461479d9190615a74565b909155505060010161473d565b505061259b565b6001600160a01b03841661483e57600080516020615b3b83398151915260005b84518110156147aa578381815181106147ec576147ec615a48565b602002602001015182600001600087848151811061480c5761480c615a48565b6020026020010151815260200190815260200160002060008282546148319190615a87565b90915550506001016147d1565b61259b565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561488f578060e08301826020860160045afa505b6020828260c401601c850160008a5af16148b2573d156148b2573d6000833e3d82fd5b50805163f23a6e6160e01b14611b4a57639c05499b6000526004601cfd5b80356001600160a01b03811681146148e757600080fd5b919050565b600080604083850312156148ff57600080fd5b614908836148d0565b946020939093013593505050565b60006020828403121561492857600080fd5b81356001600160e01b0319811681146123ad57600080fd5b60005b8381101561495b578181015183820152602001614943565b50506000910152565b6000815180845261497c816020860160208601614940565b601f01601f19169290920160200192915050565b6020815260006123ad6020830184614964565b6000602082840312156149b557600080fd5b81356001600160401b038111156149cb57600080fd5b82016102e081850312156123ad57600080fd5b803565ffffffffffff811681146148e757600080fd5b60008083601f840112614a0657600080fd5b5081356001600160401b03811115614a1d57600080fd5b6020830191508360208260051b8501011115614a3857600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614a5e57600080fd5b8935985060208a013560098110614a7457600080fd5b975060408a013560078110614a8857600080fd5b9650614a9660608b016148d0565b9550614aa460808b016149de565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614acd57600080fd5b614ad98c828d016149f4565b915080935050809150509295985092959850929598565b60008083601f840112614b0257600080fd5b5081356001600160401b03811115614b1957600080fd5b602083019150836020828501011115614a3857600080fd5b600080600060408486031215614b4657600080fd5b8335925060208401356001600160401b03811115614b6357600080fd5b614b6f86828701614af0565b9497909650939450505050565b600060208284031215614b8e57600080fd5b5035919050565b60008060208385031215614ba857600080fd5b82356001600160401b03811115614bbe57600080fd5b614bca858286016149f4565b90969095509350505050565b600080600060608486031215614beb57600080fd5b614bf4846148d0565b95602085013595506040909401359392505050565b803580151581146148e757600080fd5b600060208284031215614c2b57600080fd5b6123ad82614c09565b600060208284031215614c4657600080fd5b6123ad826148d0565b60008060408385031215614c6257600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b031215614c8d57600080fd5b614c96896148d0565b9750614ca460208a016148d0565b965060408901356001600160401b03811115614cbf57600080fd5b614ccb8b828c016149f4565b90975095505060608901356001600160401b03811115614cea57600080fd5b614cf68b828c016149f4565b90955093505060808901356001600160401b03811115614d1557600080fd5b614d218b828c01614af0565b999c989b5096995094979396929594505050565b803561ffff811681146148e757600080fd5b60008060408385031215614d5a57600080fd5b614d63836148d0565b9150614d7160208401614d35565b90509250929050565b60008060008060408587031215614d9057600080fd5b84356001600160401b03811115614da657600080fd5b614db2878288016149f4565b90955093505060208501356001600160401b03811115614dd157600080fd5b614ddd878288016149f4565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614e21578351835260209384019390920191600101614e03565b509095945050505050565b60008060008060608587031215614e4257600080fd5b843593506020850135925060408501356001600160401b03811115614e6657600080fd5b614ddd87828801614af0565b600081518084526020840193506020830160005b82811015614ea4578151865260209586019590910190600101614e86565b5093949350505050565b6020815260006123ad6020830184614e72565b8281526040602082015260006124b96040830184614964565b600080600060608486031215614eef57600080fd5b505081359360208301359350604090920135919050565b604081526000614f196040830185614e72565b90508260208301529392505050565b634e487b7160e01b600052602160045260246000fd5b60098110614f4e57614f4e614f28565b9052565b60078110614f4e57614f4e614f28565b88151581526101008101614f79602083018a614f3e565b614f866040830189614f52565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fd657600080fd5b83359250602084013560028110614fec57600080fd5b929592945050506040919091013590565b6000806040838503121561501057600080fd5b615019836148d0565b9150614d7160208401614c09565b60008060008060006080868803121561503f57600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561506a57600080fd5b61507688828901614af0565b969995985093965092949392505050565b6000806020838503121561509a57600080fd5b82356001600160401b038111156150b057600080fd5b614bca85828601614af0565b6000806000606084860312156150d157600080fd5b6150da846148d0565b92506150e8602085016148d0565b91506150f6604085016148d0565b90509250925092565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561515857603f19878603018452615143858351614964565b94506020938401939190910190600101615127565b50929695505050505050565b60006020828403121561517657600080fd5b6123ad82614d35565b60028110614f4e57614f4e614f28565b6040810161519d828561517f565b8260208301529392505050565b600080604083850312156151bd57600080fd5b6151c6836148d0565b9150614d71602084016148d0565b600061010082018a151583526151ed602084018b614f3e565b6151fa604084018a614f52565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b8281101561527d5761011f19878603018452615268858351614964565b9450602093840193919091019060010161524b565b50929d9c50505050505050505050505050565b60008060008060008060a087890312156152a957600080fd5b6152b2876148d0565b95506152c0602088016148d0565b9450604087013593506060870135925060808701356001600160401b038111156152e957600080fd5b6152f589828a01614af0565b979a9699509497509295939492505050565b600181811c9082168061531b57607f821691505b60208210810361533b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e1984360301811261535857600080fd5b8301803591506001600160401b0382111561537257600080fd5b602001915036819003821315614a3857600080fd5b6000808335601e1984360301811261539e57600080fd5b8301803591506001600160401b038211156153b857600080fd5b6020019150600581901b3603821315614a3857600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261541057600080fd5b83016020810192503590506001600160401b0381111561542f57600080fd5b803603821315614a3857600080fd5b600061010082018b8352615455602084018c614f3e565b615462604084018b614f52565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154e95785840361011f190183526154c782896153f9565b6154d28682846153d0565b9550505060209283019291909101906001016154ab565b50919d9c50505050505050505050505050565b6020808252810182905260006001600160fb1b0383111561551c57600080fd5b8260051b80856040850137919091016040019392505050565b83815260406020820152600061554f6040830184866153d0565b95945050505050565b8381526060810161556c602083018561517f565b826040830152949350505050565b84815283602082015260606040820152600061559a6060830184866153d0565b9695505050505050565b8581528460208201528360408201526080606082015260006155ca6080830184866153d0565b979650505050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611ac457806000526020600020601f840160051c810160208510156156125750805b601f840160051c820191505b8181101561259b576000815560010161561e565b6001600160401b03831115615649576156496155d5565b61565d836156578354615307565b836155eb565b6000601f84116001811461569157600085156156795750838201355b600019600387901b1c1916600186901b17835561259b565b600083815260209020601f19861690835b828110156156c257868501358255602094850194600190920191016156a2565b50868210156156df5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006124b96020830184866153d0565b60006020828403121561571757600080fd5b81516001600160401b0381111561572d57600080fd5b8201601f8101841361573e57600080fd5b80516001600160401b03811115615757576157576155d5565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615785576157856155d5565b60405281815282820160200186101561579d57600080fd5b61554f826020830160208601614940565b600081516157c0818560208601614940565b9290920192915050565b60008085546157d881615307565b6001821680156157ef576001811461580457615834565b60ff1983168652811515820286019350615834565b88600052602060002060005b8381101561582c57815488820152600190910190602001615810565b505081860193505b505050602f60f81b81528451615851816001840160208901614940565b0161586260018201602f60f81b9052565b61559a60028201856157ae565b60008383855260208501945060208460051b8201018360005b868110156158fa57838303601f19018852813536879003605e190181126158ae57600080fd5b860180358452602080820135908501526158cb60408201826153f9565b9150606060408601526158e26060860183836153d0565b60209a8b019a90955093909301925050600101615888565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b898210156159a357868503605f19018452823581811261594a57600080fd5b8b0180358652602080820135908701526040808201359087015261597160608201826153f9565b9150608060608801526159886080880183836153d0565b9650505060208301925060208401935060018201915061592b565b5050505082810360208401526155ca81858761586f565b60a0815260006159cd60a0830188614e72565b82810360208401526159df8188614e72565b6001600160a01b03968716604085015294861660608401525050921660809092019190915292915050565b6001600160a01b03858116825284166020820152608060408201819052600090615a3690830185614e72565b82810360608401526155ca8185614e72565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561163e5761163e615a5e565b8181038181111561163e5761163e615a5e56fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f496700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702dcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00a264697066735822122076246f93f426ebf12aa28666fd7168fa891bcfc3d358a52ed33feaaf2b3f6d8e64736f6c634300081c0033";
|
|
25
|
+
export const editionCodeFactoryBytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615c1d80610a9783390190565b608051610a0961008e6000396000818160b701528181610113015281816101580152818161019601526102620152610a096000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631d78fdd01461005c5780632d6fb1de1461008c5780635414dff01461009f5780635c60da1b146100b25780635c857b3e146100d9575b600080fd5b61006f61006a36600461045c565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f61009a366004610499565b610148565b61006f6100ad3660046104de565b61018f565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100fc6100e736600461050e565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b60006101377f00000000000000000000000000000000000000000000000000000000000000006101bc565b905061014381836101c9565b919050565b6000610153826102c4565b61017d7f000000000000000000000000000000000000000000000000000000000000000083610303565b905061018981846101c9565b92915050565b60006101897f00000000000000000000000000000000000000000000000000000000000000008330610318565b6000610189600083610375565b60405163084d5d1560e01b81526001600160a01b0383169063084d5d15906101f5908490600401610736565b600060405180830381600087803b15801561020f57600080fd5b505af1158015610223573d6000803e3d6000fd5b5050506001600160a01b038316600090815260208181526040909120805460ff19166001179055610257915082018261050e565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b606081901c80158015906102e157506001600160a01b0381163314155b156102ff5760405163c61a579960e01b815260040160405180910390fd5b5050565b6000610311600084846103ca565b9392505050565b60008061035f8560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061036c818585610421565b95945050505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806103bf5763301164256000526004601cfd5b600060215292915050565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104155763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006102e0828403121561045657600080fd5b50919050565b60006020828403121561046e57600080fd5b813567ffffffffffffffff81111561048557600080fd5b61049184828501610443565b949350505050565b600080604083850312156104ac57600080fd5b823567ffffffffffffffff8111156104c357600080fd5b6104cf85828601610443565b95602094909401359450505050565b6000602082840312156104f057600080fd5b5035919050565b80356001600160a01b038116811461014357600080fd5b60006020828403121561052057600080fd5b610311826104f7565b6000808335601e1984360301811261054057600080fd5b830160208101925035905067ffffffffffffffff81111561056057600080fd5b80360382131561056f57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff8116811461014357600080fd5b8035801515811461014357600080fd5b6000808335601e198436030181126105d857600080fd5b830160208101925035905067ffffffffffffffff8111156105f857600080fd5b8060051b360382131561056f57600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003607e1901811261064957600080fd5b86018035845260208082013590850152604080820135908501526106706060820182610529565b915060806060860152610687608086018383610576565b60209a8b019a90955093909301925050600101610623565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069f57838303601f19018852813536879003605e190181126106ea57600080fd5b860180358452602080820135908501526107076040820182610529565b91506060604086015261071e606086018383610576565b60209a8b019a909550939093019250506001016106c4565b602081526107576020820161074a846104f7565b6001600160a01b03169052565b60006107666020840184610529565b6102e0604085015261077d61030085018284610576565b91505061078d6040850185610529565b848303601f190160608601526107a4838284610576565b925050506107b56060850185610529565b848303601f190160808601526107cc838284610576565b925050506107dc608085016104f7565b6001600160a01b03811660a0850152506107f960a0850185610529565b848303601f190160c0860152610810838284610576565b9250505061082060c085016104f7565b6001600160a01b03811660e08501525061083c60e085016104f7565b6001600160a01b0381166101008501525061085a610100850161059f565b61ffff811661012085015250610873610120850161059f565b61ffff81166101408501525061088c61014085016105b1565b801515610160850152506108a361016085016104f7565b6001600160a01b038116610180850152506101808401356101a0848101919091528401356101c0808501919091526108dc9085016104f7565b6001600160a01b0381166101e0850152506108fa6101e085016104f7565b6001600160a01b0381166102008501525061091861020085016105b1565b8015156102208501525061092f61022085016104f7565b6001600160a01b0381166102408501525061094d61024085016104f7565b6001600160a01b03811661026085015250610260840135610280848101919091528401356102a080850191909152610987908501856105c1565b848303601f19016102c086015261099f83828461060a565b925050506109b16102c08501856105c1565b848303601f19016102e08601526109c98382846106ab565b969550505050505056fea26469706673582212205c5c95971dd1de5bb2cd4b84db1aa0661372914cb023859743e6ab2567caa68864736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615b908061008d6000396000f3fe6080604052600436106106dd5760003560e01c806384f6687f11610385578063c3e617a2116101dc578063e4df18ec1161010d578063f2235701116100ab578063f8d3adc81161007a578063f8d3adc814610ad0578063fca3b5aa146114f1578063fee81cf414611511578063ff87a5f51461154457600080fd5b8063f22357011461146a578063f242432a1461149e578063f2fde38b146114be578063f5298aca146114d157600080fd5b8063e985e9c5116100e7578063e985e9c514611409578063ea58f97114610ec1578063ee748f2c14611442578063f04e283e1461145757600080fd5b8063e4df18ec14611389578063e8a3d485146113a4578063e8dc3e09146113b957600080fd5b8063d90f5df21161017a578063e1b7938111610154578063e1b7938114611339578063e1c2ffad14611354578063e2969ba714611369578063e42b7baf14610bdf57600080fd5b8063d90f5df214610faa578063da2bbfc714611304578063dc9838791461132457600080fd5b8063cc1cf515116101b6578063cc1cf51514611249578063cfc59afd14611284578063d50bac33146112b2578063d8b4f8ac146112ef57600080fd5b8063c3e617a214611229578063c4f2604814611249578063c83569a91461126457600080fd5b80639aa1a1f0116102b6578063aa0de18d11610254578063b18f004a1161022e578063b18f004a14611194578063b4784247146111ba578063bb77e796146111cf578063bd85b039146111ef57600080fd5b8063aa0de18d1461111b578063ac9650d814611136578063ac998f451461115657600080fd5b8063a22cb46511610290578063a22cb4651461109b578063a482c946146110bb578063a8cdf078146110db578063a9fc664e146110fb57600080fd5b80639aa1a1f014611029578063a07c7ce414611049578063a148d8cf1461108057600080fd5b8063913b385a1161032357806395d89b41116102fd57806395d89b4114610fbf57806396f4205a14610fd457806397e950f714610ff45780639a5db5031461101457600080fd5b8063913b385a14610f8a57806392b29b1714610f1657806392d9906f14610faa57600080fd5b80638da5cb5b1161035f5780638da5cb5b14610f315780638e08141f14610f4a5780638e4cc07014610f6a578063909206e314610c4357600080fd5b806384f6687f14610ed6578063869f759414610ef657806386b7f6a414610f1657600080fd5b80633990b221116105395780635c975abb1161046a5780636cb0281811610408578063738e1496116103e2578063738e149614610e4157806374828e3414610e6d5780637b1d470714610ea15780637d0b7ae414610ec157600080fd5b80636cb0281814610df75780636cbdef6114610e17578063715018a614610e3957600080fd5b806369053374116104445780636905337414610d3b5780636aaf760714610d565780636bd3922214610d765780636c59f75914610de257600080fd5b80635c975abb14610cec5780635d0b722014610d115780635e5a9e3014610d2657600080fd5b80634efdb5ae116104d757806355580cca116104b157806355580cca14610c4357806355828c5014610c655780635a50ca6514610c935780635b02f81c14610cbe57600080fd5b80634efdb5ae14610bdf5780634f558e7914610bff57806354d1f13d14610c3b57600080fd5b80633dda44b0116105135780633dda44b014610b4f5780634331f63914610b6f5780634aa3adb314610b8f5780634e1273f414610bb257600080fd5b80633990b22114610ad05780633ba1bd8614610af05780633c59f1bb14610b1057600080fd5b806316c38b3c11610613578063261220a3116105b15780632a55205a1161058b5780632a55205a14610a315780632e73cddb14610a705780632eb2c2d614610a9057806337da577c14610ab057600080fd5b8063261220a3146109e757806326dfe8c7146109fc578063298bb40e14610a1c57600080fd5b806320ac0944116105ed57806320ac0944146109375780632352b33f1461094c57806325628d34146109ca57806325692962146109df57600080fd5b806316c38b3c146108e257806317afae43146109025780631c31cac31461091757600080fd5b80630b4c562b1161068057806313bfffac1161065a57806313bfffac1461086d57806314cb566714610882578063156e29f6146108a25780631622326a146108c257600080fd5b80630b4c562b146108055780630d705df6146108255780630e89341c1461084d57600080fd5b806307546172116106bc5780630754617214610781578063084d5d15146107ae57806308a38395146107d0578063098144d4146107f057600080fd5b8062fdd58e146106e257806301ffc9a71461072f57806306fdde031461075f575b600080fd5b3480156106ee57600080fd5b5061071c6106fd3660046148ec565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561073b57600080fd5b5061074f61074a366004614916565b611564565b6040519015158152602001610726565b34801561076b57600080fd5b50610774611644565b6040516107269190614990565b34801561078d57600080fd5b506107966116f6565b6040516001600160a01b039091168152602001610726565b3480156107ba57600080fd5b506107ce6107c93660046149a3565b611729565b005b3480156107dc57600080fd5b506107ce6107eb366004614a3f565b611a0a565b3480156107fc57600080fd5b50610796611a94565b34801561081157600080fd5b506107ce610820366004614b31565b611abc565b34801561083157600080fd5b5060408051631854b24160e01b81526000602082015201610726565b34801561085957600080fd5b50610774610868366004614b7c565b611ac9565b34801561087957600080fd5b50610796611ad3565b34801561088e57600080fd5b506107ce61089d366004614b95565b611add565b3480156108ae57600080fd5b506107ce6108bd366004614bd6565b611b52565b3480156108ce57600080fd5b506107ce6108dd366004614b31565b611b65565b3480156108ee57600080fd5b506107ce6108fd366004614c19565b611bdd565b34801561090e57600080fd5b50610796611c3a565b34801561092357600080fd5b506107ce610932366004614c34565b611c62565b34801561094357600080fd5b50610796611c6d565b34801561095857600080fd5b506109ad610967366004614b7c565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610726565b3480156109d657600080fd5b506107ce611c77565b6107ce611cdd565b3480156109f357600080fd5b50610774611d2c565b348015610a0857600080fd5b506107ce610a17366004614c34565b611d54565b348015610a2857600080fd5b50610774611e1a565b348015610a3d57600080fd5b50610a51610a4c366004614c4f565b611e30565b604080516001600160a01b039093168352602083019190915201610726565b348015610a7c57600080fd5b5061074f610a8b366004614b7c565b611e85565b348015610a9c57600080fd5b506107ce610aab366004614c71565b611e8f565b348015610abc57600080fd5b506107ce610acb366004614c4f565b612163565b348015610adc57600080fd5b506107ce610aeb366004614c4f565b6121aa565b348015610afc57600080fd5b50610774610b0b366004614c4f565b6121b2565b348015610b1c57600080fd5b50610b256121bc565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610726565b348015610b5b57600080fd5b506107ce610b6a366004614c4f565b6121c9565b348015610b7b57600080fd5b506107ce610b8a366004614d47565b612210565b348015610b9b57600080fd5b5060035b60405161ffff9091168152602001610726565b348015610bbe57600080fd5b50610bd2610bcd366004614d7a565b612222565b6040516107269190614de9565b348015610beb57600080fd5b506107ce610bfa366004614e2c565b612292565b348015610c0b57600080fd5b5061074f610c1a366004614b7c565b6000908152600080516020615b3b8339815191526020526040902054151590565b6107ce61229a565b348015610c4f57600080fd5b50610c586121b2565b6040516107269190614eae565b348015610c7157600080fd5b50610c85610c80366004614b7c565b6122d6565b604051610726929190614ec1565b348015610c9f57600080fd5b50600080516020615b1b833981519152546001600160a01b0316610796565b348015610cca57600080fd5b50610cde610cd9366004614eda565b6122e2565b604051610726929190614f06565b348015610cf857600080fd5b50600080516020615adb8339815191525460ff1661074f565b348015610d1d57600080fd5b506107ce6122ee565b348015610d3257600080fd5b506107ce6122f8565b348015610d4757600080fd5b506107ce610932366004614b7c565b348015610d6257600080fd5b50610774610d71366004614b7c565b612344565b348015610d8257600080fd5b506109ad610d91366004614c4f565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020908152604080842092845291905290208054600190910154909160ff8083169261010090041690565b348015610dee57600080fd5b5061074f611ad3565b348015610e0357600080fd5b50610774610e12366004614b7c565b61234e565b348015610e2357600080fd5b50600080516020615abb8339815191525461071c565b6107ce6123b4565b348015610e4d57600080fd5b50600080516020615b1b83398151915254600160a01b900460ff1661074f565b348015610e7957600080fd5b50610e8d610e88366004614b7c565b6123c6565b604051610726989796959493929190614f62565b348015610ead57600080fd5b506107ce610ebc366004614c34565b6123da565b348015610ecd57600080fd5b5061074f611c6d565b348015610ee257600080fd5b50610774610ef1366004614c4f565b61244f565b348015610f0257600080fd5b5061071c610f11366004614b7c565b6124c1565b348015610f2257600080fd5b506107ce610820366004614eda565b348015610f3d57600080fd5b50638b78c6d81954610796565b348015610f5657600080fd5b506107ce610f65366004614b7c565b612533565b348015610f7657600080fd5b506107ce610f85366004614fc1565b6125a2565b348015610f9657600080fd5b506107ce610fa5366004614e2c565b6125e5565b348015610fb657600080fd5b5061071c611c6d565b348015610fcb57600080fd5b50610774612656565b348015610fe057600080fd5b506107ce610fef366004614c34565b612688565b34801561100057600080fd5b506107ce61100f366004614b7c565b6126d0565b34801561102057600080fd5b506107ce6127a8565b34801561103557600080fd5b506107ce611044366004614b31565b6127f4565b34801561105557600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff1661074f565b34801561108c57600080fd5b5061074f610a8b366004614c4f565b3480156110a757600080fd5b506107ce6110b6366004614ffd565b612837565b3480156110c757600080fd5b506107ce6110d6366004615027565b61288d565b3480156110e757600080fd5b506107ce6110f6366004615087565b612900565b34801561110757600080fd5b506107ce611116366004614c34565b61298b565b34801561112757600080fd5b506107ce6108203660046150bc565b611149611144366004614b95565b6129d4565b60405161072691906150ff565b34801561116257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820154600160a01b900460ff1661074f565b3480156111a057600080fd5b50600080516020615a9b8339815191525461ffff16610b9f565b3480156111c657600080fd5b506107ce6129f3565b3480156111db57600080fd5b506107746111ea366004614b7c565b612a3f565b3480156111fb57600080fd5b5061071c61120a366004614b7c565b6000908152600080516020615b3b833981519152602052604090205490565b34801561123557600080fd5b506107ce611244366004615087565b612b00565b34801561125557600080fd5b50610cde610cd9366004614c4f565b34801561127057600080fd5b506107ce61127f366004615164565b612b5f565b34801561129057600080fd5b506112a461129f366004614b7c565b612c13565b60405161072692919061518f565b3480156112be57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546001600160a01b0316610796565b3480156112fb57600080fd5b50610796612c1e565b34801561131057600080fd5b506107ce61131f366004615087565b612c46565b34801561133057600080fd5b506107ce612c87565b34801561134557600080fd5b50610c58610b0b366004614b7c565b34801561136057600080fd5b506107ce612cd3565b34801561137557600080fd5b506107ce611384366004614c34565b612d26565b34801561139557600080fd5b50610c85610c80366004614c4f565b3480156113b057600080fd5b50610774612d9b565b3480156113c557600080fd5b50610b9f6113d4366004614b7c565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561141557600080fd5b5061074f6114243660046151aa565b679a31110384e0b0c96020526014919091526000526034600c205490565b34801561144e57600080fd5b50610774612f4f565b6107ce611465366004614c34565b612f65565b34801561147657600080fd5b5061148a611485366004614b7c565b612fa2565b6040516107269897969594939291906151d4565b3480156114aa57600080fd5b506107ce6114b9366004615290565b612fb7565b6107ce6114cc366004614c34565b6131fd565b3480156114dd57600080fd5b506107ce6114ec366004614bd6565b613224565b3480156114fd57600080fd5b506107ce61150c366004614c34565b613272565b34801561151d57600080fd5b5061071c61152c366004614c34565b63389a75e1600c908152600091909152602090205490565b34801561155057600080fd5b506107ce61155f366004614c34565b6132e7565b600061156f82613332565b8061157e575061157e82613369565b8061158d575061158d826133ac565b8061159c575061159c826133d9565b806115ab57506115ab82613452565b806115ba57506115ba8261347d565b806115c957506115c9826134a8565b806115d857506115d8826134d3565b806115e757506115e7826134fe565b806115f657506115f682613529565b80611605575061160582613554565b8061161457506116148261357f565b806116235750611623826135aa565b8061163e57506001600160e01b03198216630ab714fb60e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b805461167390615307565b80601f016020809104026020016040519081016040528092919081815260200182805461169f90615307565b80156116ec5780601f106116c1576101008083540402835291602001916116ec565b820191906000526020600020905b8154815290600101906020018083116116cf57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b63409feecd1980546003825580156117605760018160011c14303b106117575763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036117875760405163fe5afcb960e01b815260040160405180910390fd5b81610180013582610260013511156117b257604051633f63c5bf60e01b815260040160405180910390fd5b6117c76117c26020840184614c34565b6135d5565b6117ec6117d76060840184615341565b6117e760a0860160808701614c34565b613605565b61180e6117fc6020840184615341565b6118096040860186615341565b613658565b611816613695565b61185361182a610100840160e08501614c34565b61183c61012085016101008601615164565b61184e61014086016101208701615164565b6136cb565b61186d61186861016084016101408501614c19565b61377b565b61187b8261018001356137db565b611889826101a00135613847565b6118a361189e61020084016101e08501614c34565b6138c5565b6118bd6118b86101e084016101c08501614c34565b613926565b6118d76118d261022084016102008501614c19565b613987565b6118f16118ec61024084016102208501614c34565b613a05565b6118f9613a66565b611901613a91565b611909613abc565b611911613ae7565b6119356119226102a0840184615387565b6119306102c0860186615387565b613b12565b61195a61194560a0840184615341565b61195560e0860160c08701614c34565b613b57565b61197461196f61018084016101608501614c34565b613bbf565b600061198861026084016102408501614c34565b6001600160a01b0316146119d15760005b8261026001358110156119cf576119c76119bb61026085016102408601614c34565b82856102800135613bff565b600101611999565b505b8015611a06576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050565b611a12613ccd565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae690611a59908c908c908c908c908c908c908c908c908c9060040161543e565b60006040518083038186803b158015611a7157600080fd5b505af4158015611a85573d6000803e3d6000fd5b50505050505050505050505050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0061171a565b611ac4613ce8565b505050565b60606106dd613cf0565b60006106dd613d00565b611ae5613ccd565b6040516314cb566760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb566790611b1e90859085906004016154fc565b60006040518083038186803b158015611b3657600080fd5b505af4158015611b4a573d6000803e3d6000fd5b505050505050565b611b5a613d10565b611ac4838383613bff565b611b6d613ccd565b604051630b11193560e11b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a90611ba890869086908690600401615535565b60006040518083038186803b158015611bc057600080fd5b505af4158015611bd4573d6000803e3d6000fd5b50505050505050565b611be5613ccd565b600080516020615adb833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b60061171a565b611c6a613ce8565b50565b60006106dd613d92565b611c7f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b505af4158015611cd7573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200611668565b611d5c613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615611da4576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615afb833981519152611668565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611e64576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106dd613da2565b611f32888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613db292505050565b828514611f4757633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c985088611f865763ea553b346000526004601cfd5b893314611fa957336000526034600c2054611fa957634b6e7f186000526004601cfd5b8660051b5b801561201b576020810390508087013583602052818a01356000526040600020805480831115611fe65763f4d678b86000526004601cfd5b829003905560208390526040600020805480830181811015612010576301336cea6000526004601cfd5b90915550611fae9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050612086600190565b1561209b5761209b8888888888888888613dbe565b863b15612159578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1612139573d15612139573d6000833e3d82fd5b50805163bc197c8160e01b1461215757639c05499b6000526004601cfd5b505b5050505050505050565b61216b613ccd565b604051630df695df60e21b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611b1e565b611a06613ce8565b60606106dd613d00565b60008060006106dd613d00565b6121d1613ccd565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611b1e565b612218613ccd565b611a068282613e61565b606083821461223957633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561228857602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152612250565b5050949350505050565b611cd7613ce8565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106dd613da2565b606060006106dd613d00565b6122f6613ce8565b565b612300613ccd565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60606106dd613d92565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b0316801561239c5761239781613f43565b6123ad565b604051806020016040528060008152505b9392505050565b6123bc613ccd565b6122f66000613f71565b6000806000806000806000806106dd613d00565b6123e2613ccd565b807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156124a8576124a381613f43565b6124b9565b604051806020016040528060008152505b949350505050565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1661251f5780546123ad565b600092835260010160205250604090205490565b61253b613ccd565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561258757600080fd5b505af415801561259b573d6000803e3d6000fd5b5050505050565b6125aa613ccd565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee4590611ba890869086908690600401615558565b6125ed613ccd565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061262a90879087908790879060040161557a565b60006040518083038186803b15801561264257600080fd5b505af4158015612159573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b600101805461167390615307565b612690613ccd565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161256f565b6126d8613ccd565b600080516020615abb83398151915260008290036127095760405163fe5afcb960e01b815260040160405180910390fd5b805482111561272b57604051632b953d0360e11b815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d015482101561276d57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6127b0613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b6127fc613ccd565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f090611ba890869086908690600401615535565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612895613ccd565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906128d490889088908890889088906004016155a4565b60006040518083038186803b1580156128ec57600080fd5b505af4158015612157573d6000803e3d6000fd5b612908613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612950576040516352be865b60e01b815260040160405180910390fd5b8061295c838583615632565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61299481613faf565b6040516354fe332760e11b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e9060240161256f565b606034156129e157600080fd5b61163e6129ee8484613ffb565b614092565b6129fb613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612a7b90615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612aa790615307565b8015612af45780601f10612ac957610100808354040283529160200191612af4565b820191906000526020600020905b815481529060010190602001808311612ad757829003601f168201915b50505050509050919050565b612b08613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612b50576040516352be865b60e01b815260040160405180910390fd5b6001810161295c838583615632565b612b67613ccd565b600080516020615a9b833981519152805461ffff90811690831610612ba2576040516001625957a760e11b0319815260040160405180910390fd5b612baa6140a2565b61ffff168261ffff161015612bd25760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200161279c565b6000806106dd613d92565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061171a565b612c4e613ccd565b60405163da2bbfc760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc790611b1e90859085906004016156f1565b612c8f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b612cdb613ccd565b600080516020615b1b833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612d2e613ccd565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b1b83398151915254606090600080516020615afb833981519152906001600160a01b031615612e4257600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612e14573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e3c9190810190615705565b91505090565b806001018054612e5190615307565b159050612eeb57806001018054612e6790615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612e9390615307565b8015612ee05780601f10612eb557610100808354040283529160200191612ee0565b820191906000526020600020905b815481529060010190602001808311612ec357829003601f168201915b505050505091505090565b80548190612ef890615307565b9050600003612f1557505060408051602081019091526000815290565b80612f1f466140b1565b612f28306140f5565b604051602001612f3a939291906157ca565b60405160208183030381529060405291505090565b6060600080516020615afb83398151915261267a565b612f6d613ccd565b63389a75e1600c52806000526020600c208054421115612f9557636f5e88186000526004601cfd5b60009055611c6a81613f71565b600080600080600080600060606106dd613d00565b61302a8686612fd9876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613db292505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866130695763ea553b346000526004601cfd5b87331461308c57336000526034600c205461308c57634b6e7f186000526004601cfd5b85600052604060002091508154808611156130af5763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156130db576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46131818686613130876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061411992505050565b843b15611b4a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16131e0573d156131e0573d6000823e3d81fd5b805163f23a6e6160e01b14611bd457639c05499b6000526004601cfd5b613205613ccd565b8060601b61321b57637448fbae6000526004601cfd5b611c6a81613f71565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166132665760405163be20705f60e01b815260040160405180910390fd5b611ac433848484614165565b61327a613ccd565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6132ef613ccd565b604051600162785a0b60e01b031981526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f59060240161256f565b600061333d82614297565b8061163e575061163e826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b600061337482614297565b8061338f57506001600160e01b031982166307ccd03560e31b145b8061163e5750506001600160e01b031916632483248360e11b1490565b60006133b782614297565b8061163e5750632a55205a60e083901c9081146301ffc9a7919091141761163e565b60006133e482614297565b8061163e57506001600160e01b03198216632b435fdb60e21b148061341957506001600160e01b0319821663503e914d60e11b145b801561163e57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0054600160a01b900460ff1692915050565b600061345d82614297565b8061163e57506001600160e01b03198216631d13d2f560e21b1492915050565b600061348882614297565b8061163e57506001600160e01b03198216636cbdef6160e01b1492915050565b60006134b382614297565b8061163e57506001600160e01b031982166303aa30b960e11b1492915050565b60006134de82614297565b8061163e57506001600160e01b0319821663362d3e2b60e21b1492915050565b600061350982614297565b8061163e57506001600160e01b03198216635c975abb60e01b1492915050565b600061353482614297565b8061163e57506001600160e01b031982166317afae4360e01b1492915050565b600061355f826142cd565b8061163e57506001600160e01b0319821663a2316e0b60e01b1492915050565b600061358a82614297565b8061163e57506001600160e01b0319821663215f672360e21b1492915050565b60006135b582614297565b8061163e57506001600160e01b03198216636e1f1b9d60e11b1492915050565b6001600160a01b0381166135fc576040516349e27cff60e01b815260040160405180910390fd5b611c6a816142f8565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613632848683615632565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613685858783615632565b5060018101611b4a838583615632565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6136f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614334565b61271061ffff8216111561371c576040516274280760e61b815260040160405180910390fd5b80600080516020615a9b833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a1611ac48383613e61565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d02805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611c2f565b6138067ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614334565b80600080516020615abb833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611c2f565b6138727f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614334565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e490602001611c2f565b6138f07fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614334565b6001600160a01b03811615611c6a57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba0061329d565b6139517fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614334565b6001600160a01b03811615611c6a57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612d51565b6139b27f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614334565b8015611c6a57600080516020615adb833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611c2f565b613a307fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614334565b6001600160a01b03811615611c6a57807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600612405565b6122f67f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614334565b6122f67f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614334565b6122f67fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614334565b6122f67fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614334565b613b1a6143a6565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061262a908790879087908790600401615906565b600080516020615afb83398151915280613b72848683615632565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60405163dda44fcf60e01b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf9060240161256f565b80600003613c2057604051630856e64360e21b815260040160405180910390fd5b613c29826143d1565b604051633550780d60e01b8152600481018390526001600160a01b0384166024820152631cd9595960e21b604482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__90633550780d9060640160006040518083038186803b158015613c9057600080fd5b505af4158015613ca4573d6000803e3d6000fd5b50505050613cb28282614400565b611ac48383836040518060200160405280600081525061443f565b638b78c6d8195433146122f6576382b429006000526004601cfd5b6122f6614553565b61458b80611a0663ffffffff8216565b61455380611a0663ffffffff8216565b638b78c6d819546001600160a01b03163303613d2857565b600080516020615adb8339815191525460ff1615613d59576040516375ab03ab60e11b815260040160405180910390fd5b613d616116f6565b6001600160a01b0316336001600160a01b0316146122f65760405163263ab11d60e21b815260040160405180910390fd5b6145bd80611a0663ffffffff8216565b6145ef80611a0663ffffffff8216565b61259b85858585614621565b612159888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061411992505050565b600080516020615a9b8339815191525461ffff1661ffff168161ffff161115613e9d5760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613ef657613ebb600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613f04828261ffff1661465e565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613eea565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6000613fbe638b78c6d8195490565b6001600160a01b031603613ff3576001600160a01b03811615611c6a576040516282b42960e81b815260040160405180910390fd5b611c6a613ccd565b600060405190506020815281816020015280604001808360051b80868437820180851561407a575b835187018035602082018337600038823584305af4614045573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614023575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806123ad81612710611e30565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806140cc575050819003601f19909101908152919050565b6060614100826146ae565b8051613078825260020160011990910190815292915050565b614126858585858561471d565b6040516330aeb1e960e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906330aeb1e9906128d490869086908a908a9033906004016159ba565b6141b2836000614188856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613db2565b8260601b80679a31110384e0b0c917602052808560601b148560601b15176141f057846000526034600c20546141f057634b6e7f186000526004601cfd5b8260005260406000208054808411156142115763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611cd783600061426d856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250614119565b60006301ffc9a760e01b6001600160e01b03198316148061163e57506001600160e01b0319821663513fc9dd60e11b1492915050565b60006142d882614297565b8061163e57506001600160e01b03198216638bd8666560e01b1492915050565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613eea565b6122f67f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614334565b600080516020615abb833981519152548110611c6a5760405163ba470cd560e01b815260040160405180910390fd5b60405163edbf22db60e01b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611b1e565b61447d600085614462866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613db2565b8360601b806144945763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156144c8576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a45061453e600085614523866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285614119565b833b15611cd757611cd7600085858585614843565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614585573d6000fd5b503d6000f35b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614585573d6000fd5b604051630c96e06360e21b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c9061262a908790879087908790600401615a0a565b6bffffffffffffffffffffffff16612710808211156146855763350a88b36000526004601cfd5b8260601b8061469c5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c51825350506001810190601219016146ee575050919050565b6001600160a01b0385166147b157600080516020615b3b83398151915260005b84518110156147aa5783818151811061475857614758615a48565b602002602001015182600001600087848151811061477857614778615a48565b60200260200101518152602001908152602001600020600082825461479d9190615a74565b909155505060010161473d565b505061259b565b6001600160a01b03841661483e57600080516020615b3b83398151915260005b84518110156147aa578381815181106147ec576147ec615a48565b602002602001015182600001600087848151811061480c5761480c615a48565b6020026020010151815260200190815260200160002060008282546148319190615a87565b90915550506001016147d1565b61259b565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561488f578060e08301826020860160045afa505b6020828260c401601c850160008a5af16148b2573d156148b2573d6000833e3d82fd5b50805163f23a6e6160e01b14611b4a57639c05499b6000526004601cfd5b80356001600160a01b03811681146148e757600080fd5b919050565b600080604083850312156148ff57600080fd5b614908836148d0565b946020939093013593505050565b60006020828403121561492857600080fd5b81356001600160e01b0319811681146123ad57600080fd5b60005b8381101561495b578181015183820152602001614943565b50506000910152565b6000815180845261497c816020860160208601614940565b601f01601f19169290920160200192915050565b6020815260006123ad6020830184614964565b6000602082840312156149b557600080fd5b81356001600160401b038111156149cb57600080fd5b82016102e081850312156123ad57600080fd5b803565ffffffffffff811681146148e757600080fd5b60008083601f840112614a0657600080fd5b5081356001600160401b03811115614a1d57600080fd5b6020830191508360208260051b8501011115614a3857600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614a5e57600080fd5b8935985060208a013560098110614a7457600080fd5b975060408a013560078110614a8857600080fd5b9650614a9660608b016148d0565b9550614aa460808b016149de565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614acd57600080fd5b614ad98c828d016149f4565b915080935050809150509295985092959850929598565b60008083601f840112614b0257600080fd5b5081356001600160401b03811115614b1957600080fd5b602083019150836020828501011115614a3857600080fd5b600080600060408486031215614b4657600080fd5b8335925060208401356001600160401b03811115614b6357600080fd5b614b6f86828701614af0565b9497909650939450505050565b600060208284031215614b8e57600080fd5b5035919050565b60008060208385031215614ba857600080fd5b82356001600160401b03811115614bbe57600080fd5b614bca858286016149f4565b90969095509350505050565b600080600060608486031215614beb57600080fd5b614bf4846148d0565b95602085013595506040909401359392505050565b803580151581146148e757600080fd5b600060208284031215614c2b57600080fd5b6123ad82614c09565b600060208284031215614c4657600080fd5b6123ad826148d0565b60008060408385031215614c6257600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b031215614c8d57600080fd5b614c96896148d0565b9750614ca460208a016148d0565b965060408901356001600160401b03811115614cbf57600080fd5b614ccb8b828c016149f4565b90975095505060608901356001600160401b03811115614cea57600080fd5b614cf68b828c016149f4565b90955093505060808901356001600160401b03811115614d1557600080fd5b614d218b828c01614af0565b999c989b5096995094979396929594505050565b803561ffff811681146148e757600080fd5b60008060408385031215614d5a57600080fd5b614d63836148d0565b9150614d7160208401614d35565b90509250929050565b60008060008060408587031215614d9057600080fd5b84356001600160401b03811115614da657600080fd5b614db2878288016149f4565b90955093505060208501356001600160401b03811115614dd157600080fd5b614ddd878288016149f4565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614e21578351835260209384019390920191600101614e03565b509095945050505050565b60008060008060608587031215614e4257600080fd5b843593506020850135925060408501356001600160401b03811115614e6657600080fd5b614ddd87828801614af0565b600081518084526020840193506020830160005b82811015614ea4578151865260209586019590910190600101614e86565b5093949350505050565b6020815260006123ad6020830184614e72565b8281526040602082015260006124b96040830184614964565b600080600060608486031215614eef57600080fd5b505081359360208301359350604090920135919050565b604081526000614f196040830185614e72565b90508260208301529392505050565b634e487b7160e01b600052602160045260246000fd5b60098110614f4e57614f4e614f28565b9052565b60078110614f4e57614f4e614f28565b88151581526101008101614f79602083018a614f3e565b614f866040830189614f52565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fd657600080fd5b83359250602084013560028110614fec57600080fd5b929592945050506040919091013590565b6000806040838503121561501057600080fd5b615019836148d0565b9150614d7160208401614c09565b60008060008060006080868803121561503f57600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561506a57600080fd5b61507688828901614af0565b969995985093965092949392505050565b6000806020838503121561509a57600080fd5b82356001600160401b038111156150b057600080fd5b614bca85828601614af0565b6000806000606084860312156150d157600080fd5b6150da846148d0565b92506150e8602085016148d0565b91506150f6604085016148d0565b90509250925092565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561515857603f19878603018452615143858351614964565b94506020938401939190910190600101615127565b50929695505050505050565b60006020828403121561517657600080fd5b6123ad82614d35565b60028110614f4e57614f4e614f28565b6040810161519d828561517f565b8260208301529392505050565b600080604083850312156151bd57600080fd5b6151c6836148d0565b9150614d71602084016148d0565b600061010082018a151583526151ed602084018b614f3e565b6151fa604084018a614f52565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b8281101561527d5761011f19878603018452615268858351614964565b9450602093840193919091019060010161524b565b50929d9c50505050505050505050505050565b60008060008060008060a087890312156152a957600080fd5b6152b2876148d0565b95506152c0602088016148d0565b9450604087013593506060870135925060808701356001600160401b038111156152e957600080fd5b6152f589828a01614af0565b979a9699509497509295939492505050565b600181811c9082168061531b57607f821691505b60208210810361533b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e1984360301811261535857600080fd5b8301803591506001600160401b0382111561537257600080fd5b602001915036819003821315614a3857600080fd5b6000808335601e1984360301811261539e57600080fd5b8301803591506001600160401b038211156153b857600080fd5b6020019150600581901b3603821315614a3857600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261541057600080fd5b83016020810192503590506001600160401b0381111561542f57600080fd5b803603821315614a3857600080fd5b600061010082018b8352615455602084018c614f3e565b615462604084018b614f52565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154e95785840361011f190183526154c782896153f9565b6154d28682846153d0565b9550505060209283019291909101906001016154ab565b50919d9c50505050505050505050505050565b6020808252810182905260006001600160fb1b0383111561551c57600080fd5b8260051b80856040850137919091016040019392505050565b83815260406020820152600061554f6040830184866153d0565b95945050505050565b8381526060810161556c602083018561517f565b826040830152949350505050565b84815283602082015260606040820152600061559a6060830184866153d0565b9695505050505050565b8581528460208201528360408201526080606082015260006155ca6080830184866153d0565b979650505050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611ac457806000526020600020601f840160051c810160208510156156125750805b601f840160051c820191505b8181101561259b576000815560010161561e565b6001600160401b03831115615649576156496155d5565b61565d836156578354615307565b836155eb565b6000601f84116001811461569157600085156156795750838201355b600019600387901b1c1916600186901b17835561259b565b600083815260209020601f19861690835b828110156156c257868501358255602094850194600190920191016156a2565b50868210156156df5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006124b96020830184866153d0565b60006020828403121561571757600080fd5b81516001600160401b0381111561572d57600080fd5b8201601f8101841361573e57600080fd5b80516001600160401b03811115615757576157576155d5565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615785576157856155d5565b60405281815282820160200186101561579d57600080fd5b61554f826020830160208601614940565b600081516157c0818560208601614940565b9290920192915050565b60008085546157d881615307565b6001821680156157ef576001811461580457615834565b60ff1983168652811515820286019350615834565b88600052602060002060005b8381101561582c57815488820152600190910190602001615810565b505081860193505b505050602f60f81b81528451615851816001840160208901614940565b0161586260018201602f60f81b9052565b61559a60028201856157ae565b60008383855260208501945060208460051b8201018360005b868110156158fa57838303601f19018852813536879003605e190181126158ae57600080fd5b860180358452602080820135908501526158cb60408201826153f9565b9150606060408601526158e26060860183836153d0565b60209a8b019a90955093909301925050600101615888565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b898210156159a357868503605f19018452823581811261594a57600080fd5b8b0180358652602080820135908701526040808201359087015261597160608201826153f9565b9150608060608801526159886080880183836153d0565b9650505060208301925060208401935060018201915061592b565b5050505082810360208401526155ca81858761586f565b60a0815260006159cd60a0830188614e72565b82810360208401526159df8188614e72565b6001600160a01b03968716604085015294861660608401525050921660809092019190915292915050565b6001600160a01b03858116825284166020820152608060408201819052600090615a3690830185614e72565b82810360608401526155ca8185614e72565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561163e5761163e615a5e565b8181038181111561163e5761163e615a5e56fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f496700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702dcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00a2646970667358221220c8fba08e2a68017f01da422c61e064bcec7e89d777e1c803a9ab4391a649d2f664736f6c634300081c0033";
|
|
26
26
|
export const editionCodeAbi = [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "abxVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "pure" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "balanceOfBatch", "inputs": [{ "name": "owners", "type": "address[]", "internalType": "address[]" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [{ "name": "balances", "type": "uint256[]", "internalType": "uint256[]" }], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnable", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "clearContractParam", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "configureTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "configureTokenParamData", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "contractURI", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIOverride", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "contractURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "dependenciesLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyByIndex", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "exists", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "extensionVersion", "inputs": [{ "name": "extensionId", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "getTransferValidationFunction", "inputs": [], "outputs": [{ "name": "functionSignature", "type": "bytes4", "internalType": "bytes4" }, { "name": "isViewFunction", "type": "bool", "internalType": "bool" }], "stateMutability": "pure" }, { "type": "function", "name": "getTransferValidator", "inputs": [], "outputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [{ "name": "p", "type": "tuple", "internalType": "struct EditionCode.InitParams", "components": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "tokenURIBase", "type": "string", "internalType": "string" }, { "name": "tokenURIRenderer", "type": "address", "internalType": "address" }, { "name": "contractURIBase", "type": "string", "internalType": "string" }, { "name": "contractURIRenderer", "type": "address", "internalType": "address" }, { "name": "royaltyReceiver", "type": "address", "internalType": "address" }, { "name": "royaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "maxRoyaltyBps", "type": "uint16", "internalType": "uint16" }, { "name": "burnable", "type": "bool", "internalType": "bool" }, { "name": "transferValidator", "type": "address", "internalType": "address" }, { "name": "maxInvocations", "type": "uint256", "internalType": "uint256" }, { "name": "editionSize", "type": "uint256", "internalType": "uint256" }, { "name": "primaryPayee", "type": "address", "internalType": "address" }, { "name": "minter", "type": "address", "internalType": "address" }, { "name": "paused", "type": "bool", "internalType": "bool" }, { "name": "seedSource", "type": "address", "internalType": "address" }, { "name": "mintTo", "type": "address", "internalType": "address" }, { "name": "mintCount", "type": "uint256", "internalType": "uint256" }, { "name": "mintAmount", "type": "uint256", "internalType": "uint256" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.TokenFieldInput[]", "components": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }, { "name": "contractFields", "type": "tuple[]", "internalType": "struct IAbxOnChainMetadata.FieldInput[]", "components": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }] }] }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lockContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockContractURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockDependencies", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockParamHooks", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockScript", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockTokenURI", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxInvocations", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "maxRoyaltyBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }], "stateMutability": "view" }, { "type": "function", "name": "maxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [{ "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "minter", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "result", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [{ "name": "pendingOwner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "result", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooksLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaHead", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint48", "internalType": "uint48" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "pingURI", "inputs": [{ "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "primaryPayee", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "reduceMaxRoyaltyBps", "inputs": [{ "name": "newMaxBps", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastDependency", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLastScriptChunk", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "royaltyInfo", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "salePrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "royaltyAmount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "safeBatchTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [{ "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "scriptChunk", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunkCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "scriptLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "seedSource", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "selectOption", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "setApprovalForAll", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }, { "name": "isApproved", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParam", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParamData", "inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIOverride", "inputs": [{ "name": "uri", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDefaultRoyalty", "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "internalType": "uint16" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDelegateRegistry", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependency", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDependencyRegistry", "inputs": [{ "name": "registry", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxInvocations", "inputs": [{ "name": "newMax", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMaxSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "cap", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMinter", "inputs": [{ "name": "newMinter", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamHooks", "inputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setParamSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPaused", "inputs": [{ "name": "paused_", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setPrimaryPayee", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setScriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "chunk", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSeedSource", "inputs": [{ "name": "source", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParam", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParamData", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIBase", "inputs": [{ "name": "base", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "uri_", "type": "string", "internalType": "string" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenURIRenderer", "inputs": [{ "name": "renderer", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferValidator", "inputs": [{ "name": "validator", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "value", "type": "bytes32", "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "internalType": "bool" }, { "name": "isSet", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIBase", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURILocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIOverride", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURIRenderer", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "uri", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "AbxDeployed", "inputs": [{ "name": "abxVersion", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [{ "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "isApproved", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "BurnConfigured", "inputs": [{ "name": "burnable", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ContractURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "DefaultMaxSupplySet", "inputs": [{ "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [{ "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" }], "anonymous": false }, { "type": "event", "name": "MaxInvocationsUpdated", "inputs": [{ "name": "maxInvocations", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxRoyaltyBpsUpdated", "inputs": [{ "name": "maxBps", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MinterSet", "inputs": [{ "name": "minter", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [{ "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ParamHooksFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "PausedStatusChanged", "inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }], "anonymous": false }, { "type": "event", "name": "PrimaryPayeeChanged", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForAll", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "RoyaltyChangedForToken", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "basisPoints", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SeedSourceSet", "inputs": [{ "name": "seedSource", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferBatch", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ids", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }, { "name": "amounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }], "anonymous": false }, { "type": "event", "name": "TransferSingle", "inputs": [{ "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "ArrayLengthsMismatch", "inputs": [] }, { "type": "error", "name": "BurnDisabled", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidMaxInvocations", "inputs": [] }, { "type": "error", "name": "InvalidOwner", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxInvocationsBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxInvocationsIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MaxInvocationsReached", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "MintCountExceedsMax", "inputs": [] }, { "type": "error", "name": "MintingPaused", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "inputs": [] }, { "type": "error", "name": "RoyaltyCapAboveMax", "inputs": [] }, { "type": "error", "name": "RoyaltyCapBelowRoyalty", "inputs": [] }, { "type": "error", "name": "RoyaltyCapNotReduced", "inputs": [] }, { "type": "error", "name": "RoyaltyOverflow", "inputs": [] }, { "type": "error", "name": "RoyaltyReceiverIsZeroAddress", "inputs": [] }, { "type": "error", "name": "RoyaltyTooHigh", "inputs": [] }, { "type": "error", "name": "SchemaGoverned", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "SeedSettled", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }, { "type": "error", "name": "TransferToNonERC1155ReceiverImplementer", "inputs": [] }, { "type": "error", "name": "TransferToZeroAddress", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "ZeroMintAmount", "inputs": [] }];
|
|
27
|
-
export const editionCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615b908061008d6000396000f3fe6080604052600436106106dd5760003560e01c806384f6687f11610385578063c3e617a2116101dc578063e4df18ec1161010d578063f2235701116100ab578063f8d3adc81161007a578063f8d3adc814610ad0578063fca3b5aa146114f1578063fee81cf414611511578063ff87a5f51461154457600080fd5b8063f22357011461146a578063f242432a1461149e578063f2fde38b146114be578063f5298aca146114d157600080fd5b8063e985e9c5116100e7578063e985e9c514611409578063ea58f97114610ec1578063ee748f2c14611442578063f04e283e1461145757600080fd5b8063e4df18ec14611389578063e8a3d485146113a4578063e8dc3e09146113b957600080fd5b8063d90f5df21161017a578063e1b7938111610154578063e1b7938114611339578063e1c2ffad14611354578063e2969ba714611369578063e42b7baf14610bdf57600080fd5b8063d90f5df214610faa578063da2bbfc714611304578063dc9838791461132457600080fd5b8063cc1cf515116101b6578063cc1cf51514611249578063cfc59afd14611284578063d50bac33146112b2578063d8b4f8ac146112ef57600080fd5b8063c3e617a214611229578063c4f2604814611249578063c83569a91461126457600080fd5b80639aa1a1f0116102b6578063aa0de18d11610254578063b18f004a1161022e578063b18f004a14611194578063b4784247146111ba578063bb77e796146111cf578063bd85b039146111ef57600080fd5b8063aa0de18d1461111b578063ac9650d814611136578063ac998f451461115657600080fd5b8063a22cb46511610290578063a22cb4651461109b578063a482c946146110bb578063a8cdf078146110db578063a9fc664e146110fb57600080fd5b80639aa1a1f014611029578063a07c7ce414611049578063a148d8cf1461108057600080fd5b8063913b385a1161032357806395d89b41116102fd57806395d89b4114610fbf57806396f4205a14610fd457806397e950f714610ff45780639a5db5031461101457600080fd5b8063913b385a14610f8a57806392b29b1714610f1657806392d9906f14610faa57600080fd5b80638da5cb5b1161035f5780638da5cb5b14610f315780638e08141f14610f4a5780638e4cc07014610f6a578063909206e314610c4357600080fd5b806384f6687f14610ed6578063869f759414610ef657806386b7f6a414610f1657600080fd5b80633990b221116105395780635c975abb1161046a5780636cb0281811610408578063738e1496116103e2578063738e149614610e4157806374828e3414610e6d5780637b1d470714610ea15780637d0b7ae414610ec157600080fd5b80636cb0281814610df75780636cbdef6114610e17578063715018a614610e3957600080fd5b806369053374116104445780636905337414610d3b5780636aaf760714610d565780636bd3922214610d765780636c59f75914610de257600080fd5b80635c975abb14610cec5780635d0b722014610d115780635e5a9e3014610d2657600080fd5b80634efdb5ae116104d757806355580cca116104b157806355580cca14610c4357806355828c5014610c655780635a50ca6514610c935780635b02f81c14610cbe57600080fd5b80634efdb5ae14610bdf5780634f558e7914610bff57806354d1f13d14610c3b57600080fd5b80633dda44b0116105135780633dda44b014610b4f5780634331f63914610b6f5780634aa3adb314610b8f5780634e1273f414610bb257600080fd5b80633990b22114610ad05780633ba1bd8614610af05780633c59f1bb14610b1057600080fd5b806316c38b3c11610613578063261220a3116105b15780632a55205a1161058b5780632a55205a14610a315780632e73cddb14610a705780632eb2c2d614610a9057806337da577c14610ab057600080fd5b8063261220a3146109e757806326dfe8c7146109fc578063298bb40e14610a1c57600080fd5b806320ac0944116105ed57806320ac0944146109375780632352b33f1461094c57806325628d34146109ca57806325692962146109df57600080fd5b806316c38b3c146108e257806317afae43146109025780631c31cac31461091757600080fd5b80630b4c562b1161068057806313bfffac1161065a57806313bfffac1461086d57806314cb566714610882578063156e29f6146108a25780631622326a146108c257600080fd5b80630b4c562b146108055780630d705df6146108255780630e89341c1461084d57600080fd5b806307546172116106bc5780630754617214610781578063084d5d15146107ae57806308a38395146107d0578063098144d4146107f057600080fd5b8062fdd58e146106e257806301ffc9a71461072f57806306fdde031461075f575b600080fd5b3480156106ee57600080fd5b5061071c6106fd3660046148ec565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561073b57600080fd5b5061074f61074a366004614916565b611564565b6040519015158152602001610726565b34801561076b57600080fd5b50610774611644565b6040516107269190614990565b34801561078d57600080fd5b506107966116f6565b6040516001600160a01b039091168152602001610726565b3480156107ba57600080fd5b506107ce6107c93660046149a3565b611729565b005b3480156107dc57600080fd5b506107ce6107eb366004614a3f565b611a0a565b3480156107fc57600080fd5b50610796611a94565b34801561081157600080fd5b506107ce610820366004614b31565b611abc565b34801561083157600080fd5b5060408051631854b24160e01b81526000602082015201610726565b34801561085957600080fd5b50610774610868366004614b7c565b611ac9565b34801561087957600080fd5b50610796611ad3565b34801561088e57600080fd5b506107ce61089d366004614b95565b611add565b3480156108ae57600080fd5b506107ce6108bd366004614bd6565b611b52565b3480156108ce57600080fd5b506107ce6108dd366004614b31565b611b65565b3480156108ee57600080fd5b506107ce6108fd366004614c19565b611bdd565b34801561090e57600080fd5b50610796611c3a565b34801561092357600080fd5b506107ce610932366004614c34565b611c62565b34801561094357600080fd5b50610796611c6d565b34801561095857600080fd5b506109ad610967366004614b7c565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610726565b3480156109d657600080fd5b506107ce611c77565b6107ce611cdd565b3480156109f357600080fd5b50610774611d2c565b348015610a0857600080fd5b506107ce610a17366004614c34565b611d54565b348015610a2857600080fd5b50610774611e1a565b348015610a3d57600080fd5b50610a51610a4c366004614c4f565b611e30565b604080516001600160a01b039093168352602083019190915201610726565b348015610a7c57600080fd5b5061074f610a8b366004614b7c565b611e85565b348015610a9c57600080fd5b506107ce610aab366004614c71565b611e8f565b348015610abc57600080fd5b506107ce610acb366004614c4f565b612163565b348015610adc57600080fd5b506107ce610aeb366004614c4f565b6121aa565b348015610afc57600080fd5b50610774610b0b366004614c4f565b6121b2565b348015610b1c57600080fd5b50610b256121bc565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610726565b348015610b5b57600080fd5b506107ce610b6a366004614c4f565b6121c9565b348015610b7b57600080fd5b506107ce610b8a366004614d47565b612210565b348015610b9b57600080fd5b5060025b60405161ffff9091168152602001610726565b348015610bbe57600080fd5b50610bd2610bcd366004614d7a565b612222565b6040516107269190614de9565b348015610beb57600080fd5b506107ce610bfa366004614e2c565b612292565b348015610c0b57600080fd5b5061074f610c1a366004614b7c565b6000908152600080516020615b3b8339815191526020526040902054151590565b6107ce61229a565b348015610c4f57600080fd5b50610c586121b2565b6040516107269190614eae565b348015610c7157600080fd5b50610c85610c80366004614b7c565b6122d6565b604051610726929190614ec1565b348015610c9f57600080fd5b50600080516020615b1b833981519152546001600160a01b0316610796565b348015610cca57600080fd5b50610cde610cd9366004614eda565b6122e2565b604051610726929190614f06565b348015610cf857600080fd5b50600080516020615adb8339815191525460ff1661074f565b348015610d1d57600080fd5b506107ce6122ee565b348015610d3257600080fd5b506107ce6122f8565b348015610d4757600080fd5b506107ce610932366004614b7c565b348015610d6257600080fd5b50610774610d71366004614b7c565b612344565b348015610d8257600080fd5b506109ad610d91366004614c4f565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020908152604080842092845291905290208054600190910154909160ff8083169261010090041690565b348015610dee57600080fd5b5061074f611ad3565b348015610e0357600080fd5b50610774610e12366004614b7c565b61234e565b348015610e2357600080fd5b50600080516020615abb8339815191525461071c565b6107ce6123b4565b348015610e4d57600080fd5b50600080516020615b1b83398151915254600160a01b900460ff1661074f565b348015610e7957600080fd5b50610e8d610e88366004614b7c565b6123c6565b604051610726989796959493929190614f62565b348015610ead57600080fd5b506107ce610ebc366004614c34565b6123da565b348015610ecd57600080fd5b5061074f611c6d565b348015610ee257600080fd5b50610774610ef1366004614c4f565b61244f565b348015610f0257600080fd5b5061071c610f11366004614b7c565b6124c1565b348015610f2257600080fd5b506107ce610820366004614eda565b348015610f3d57600080fd5b50638b78c6d81954610796565b348015610f5657600080fd5b506107ce610f65366004614b7c565b612533565b348015610f7657600080fd5b506107ce610f85366004614fc1565b6125a2565b348015610f9657600080fd5b506107ce610fa5366004614e2c565b6125e5565b348015610fb657600080fd5b5061071c611c6d565b348015610fcb57600080fd5b50610774612656565b348015610fe057600080fd5b506107ce610fef366004614c34565b612688565b34801561100057600080fd5b506107ce61100f366004614b7c565b6126d0565b34801561102057600080fd5b506107ce6127a8565b34801561103557600080fd5b506107ce611044366004614b31565b6127f4565b34801561105557600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff1661074f565b34801561108c57600080fd5b5061074f610a8b366004614c4f565b3480156110a757600080fd5b506107ce6110b6366004614ffd565b612837565b3480156110c757600080fd5b506107ce6110d6366004615027565b61288d565b3480156110e757600080fd5b506107ce6110f6366004615087565b612900565b34801561110757600080fd5b506107ce611116366004614c34565b61298b565b34801561112757600080fd5b506107ce6108203660046150bc565b611149611144366004614b95565b6129d4565b60405161072691906150ff565b34801561116257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820154600160a01b900460ff1661074f565b3480156111a057600080fd5b50600080516020615a9b8339815191525461ffff16610b9f565b3480156111c657600080fd5b506107ce6129f3565b3480156111db57600080fd5b506107746111ea366004614b7c565b612a3f565b3480156111fb57600080fd5b5061071c61120a366004614b7c565b6000908152600080516020615b3b833981519152602052604090205490565b34801561123557600080fd5b506107ce611244366004615087565b612b00565b34801561125557600080fd5b50610cde610cd9366004614c4f565b34801561127057600080fd5b506107ce61127f366004615164565b612b5f565b34801561129057600080fd5b506112a461129f366004614b7c565b612c13565b60405161072692919061518f565b3480156112be57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546001600160a01b0316610796565b3480156112fb57600080fd5b50610796612c1e565b34801561131057600080fd5b506107ce61131f366004615087565b612c46565b34801561133057600080fd5b506107ce612c87565b34801561134557600080fd5b50610c58610b0b366004614b7c565b34801561136057600080fd5b506107ce612cd3565b34801561137557600080fd5b506107ce611384366004614c34565b612d26565b34801561139557600080fd5b50610c85610c80366004614c4f565b3480156113b057600080fd5b50610774612d9b565b3480156113c557600080fd5b50610b9f6113d4366004614b7c565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561141557600080fd5b5061074f6114243660046151aa565b679a31110384e0b0c96020526014919091526000526034600c205490565b34801561144e57600080fd5b50610774612f4f565b6107ce611465366004614c34565b612f65565b34801561147657600080fd5b5061148a611485366004614b7c565b612fa2565b6040516107269897969594939291906151d4565b3480156114aa57600080fd5b506107ce6114b9366004615290565b612fb7565b6107ce6114cc366004614c34565b6131fd565b3480156114dd57600080fd5b506107ce6114ec366004614bd6565b613224565b3480156114fd57600080fd5b506107ce61150c366004614c34565b613272565b34801561151d57600080fd5b5061071c61152c366004614c34565b63389a75e1600c908152600091909152602090205490565b34801561155057600080fd5b506107ce61155f366004614c34565b6132e7565b600061156f82613332565b8061157e575061157e82613369565b8061158d575061158d826133ac565b8061159c575061159c826133d9565b806115ab57506115ab82613452565b806115ba57506115ba8261347d565b806115c957506115c9826134a8565b806115d857506115d8826134d3565b806115e757506115e7826134fe565b806115f657506115f682613529565b80611605575061160582613554565b8061161457506116148261357f565b806116235750611623826135aa565b8061163e57506001600160e01b03198216630ab714fb60e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b805461167390615307565b80601f016020809104026020016040519081016040528092919081815260200182805461169f90615307565b80156116ec5780601f106116c1576101008083540402835291602001916116ec565b820191906000526020600020905b8154815290600101906020018083116116cf57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b63409feecd1980546003825580156117605760018160011c14303b106117575763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036117875760405163fe5afcb960e01b815260040160405180910390fd5b81610180013582610260013511156117b257604051633f63c5bf60e01b815260040160405180910390fd5b6117c76117c26020840184614c34565b6135d5565b6117ec6117d76060840184615341565b6117e760a0860160808701614c34565b613605565b61180e6117fc6020840184615341565b6118096040860186615341565b613658565b611816613695565b61185361182a610100840160e08501614c34565b61183c61012085016101008601615164565b61184e61014086016101208701615164565b6136cb565b61186d61186861016084016101408501614c19565b61377b565b61187b8261018001356137db565b611889826101a00135613847565b6118a361189e61020084016101e08501614c34565b6138c5565b6118bd6118b86101e084016101c08501614c34565b613926565b6118d76118d261022084016102008501614c19565b613987565b6118f16118ec61024084016102208501614c34565b613a05565b6118f9613a66565b611901613a91565b611909613abc565b611911613ae7565b6119356119226102a0840184615387565b6119306102c0860186615387565b613b12565b61195a61194560a0840184615341565b61195560e0860160c08701614c34565b613b57565b61197461196f61018084016101608501614c34565b613bbf565b600061198861026084016102408501614c34565b6001600160a01b0316146119d15760005b8261026001358110156119cf576119c76119bb61026085016102408601614c34565b82856102800135613bff565b600101611999565b505b8015611a06576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050565b611a12613ccd565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae690611a59908c908c908c908c908c908c908c908c908c9060040161543e565b60006040518083038186803b158015611a7157600080fd5b505af4158015611a85573d6000803e3d6000fd5b50505050505050505050505050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0061171a565b611ac4613ce8565b505050565b60606106dd613cf0565b60006106dd613d00565b611ae5613ccd565b6040516314cb566760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb566790611b1e90859085906004016154fc565b60006040518083038186803b158015611b3657600080fd5b505af4158015611b4a573d6000803e3d6000fd5b505050505050565b611b5a613d10565b611ac4838383613bff565b611b6d613ccd565b604051630b11193560e11b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a90611ba890869086908690600401615535565b60006040518083038186803b158015611bc057600080fd5b505af4158015611bd4573d6000803e3d6000fd5b50505050505050565b611be5613ccd565b600080516020615adb833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b60061171a565b611c6a613ce8565b50565b60006106dd613d92565b611c7f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b505af4158015611cd7573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200611668565b611d5c613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615611da4576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615afb833981519152611668565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611e64576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106dd613da2565b611f32888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613db292505050565b828514611f4757633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c985088611f865763ea553b346000526004601cfd5b893314611fa957336000526034600c2054611fa957634b6e7f186000526004601cfd5b8660051b5b801561201b576020810390508087013583602052818a01356000526040600020805480831115611fe65763f4d678b86000526004601cfd5b829003905560208390526040600020805480830181811015612010576301336cea6000526004601cfd5b90915550611fae9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050612086600190565b1561209b5761209b8888888888888888613dbe565b863b15612159578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1612139573d15612139573d6000833e3d82fd5b50805163bc197c8160e01b1461215757639c05499b6000526004601cfd5b505b5050505050505050565b61216b613ccd565b604051630df695df60e21b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611b1e565b611a06613ce8565b60606106dd613d00565b60008060006106dd613d00565b6121d1613ccd565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611b1e565b612218613ccd565b611a068282613e61565b606083821461223957633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561228857602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152612250565b5050949350505050565b611cd7613ce8565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106dd613da2565b606060006106dd613d00565b6122f6613ce8565b565b612300613ccd565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60606106dd613d92565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b0316801561239c5761239781613f43565b6123ad565b604051806020016040528060008152505b9392505050565b6123bc613ccd565b6122f66000613f71565b6000806000806000806000806106dd613d00565b6123e2613ccd565b807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156124a8576124a381613f43565b6124b9565b604051806020016040528060008152505b949350505050565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1661251f5780546123ad565b600092835260010160205250604090205490565b61253b613ccd565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561258757600080fd5b505af415801561259b573d6000803e3d6000fd5b5050505050565b6125aa613ccd565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee4590611ba890869086908690600401615558565b6125ed613ccd565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061262a90879087908790879060040161557a565b60006040518083038186803b15801561264257600080fd5b505af4158015612159573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b600101805461167390615307565b612690613ccd565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161256f565b6126d8613ccd565b600080516020615abb83398151915260008290036127095760405163fe5afcb960e01b815260040160405180910390fd5b805482111561272b57604051632b953d0360e11b815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d015482101561276d57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6127b0613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b6127fc613ccd565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f090611ba890869086908690600401615535565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612895613ccd565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906128d490889088908890889088906004016155a4565b60006040518083038186803b1580156128ec57600080fd5b505af4158015612157573d6000803e3d6000fd5b612908613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612950576040516352be865b60e01b815260040160405180910390fd5b8061295c838583615632565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61299481613faf565b6040516354fe332760e11b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e9060240161256f565b606034156129e157600080fd5b61163e6129ee8484613ffb565b614092565b6129fb613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612a7b90615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612aa790615307565b8015612af45780601f10612ac957610100808354040283529160200191612af4565b820191906000526020600020905b815481529060010190602001808311612ad757829003601f168201915b50505050509050919050565b612b08613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612b50576040516352be865b60e01b815260040160405180910390fd5b6001810161295c838583615632565b612b67613ccd565b600080516020615a9b833981519152805461ffff90811690831610612ba2576040516001625957a760e11b0319815260040160405180910390fd5b612baa6140a2565b61ffff168261ffff161015612bd25760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200161279c565b6000806106dd613d92565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061171a565b612c4e613ccd565b60405163da2bbfc760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc790611b1e90859085906004016156f1565b612c8f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b612cdb613ccd565b600080516020615b1b833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612d2e613ccd565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b1b83398151915254606090600080516020615afb833981519152906001600160a01b031615612e4257600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612e14573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e3c9190810190615705565b91505090565b806001018054612e5190615307565b159050612eeb57806001018054612e6790615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612e9390615307565b8015612ee05780601f10612eb557610100808354040283529160200191612ee0565b820191906000526020600020905b815481529060010190602001808311612ec357829003601f168201915b505050505091505090565b80548190612ef890615307565b9050600003612f1557505060408051602081019091526000815290565b80612f1f466140b1565b612f28306140f5565b604051602001612f3a939291906157ca565b60405160208183030381529060405291505090565b6060600080516020615afb83398151915261267a565b612f6d613ccd565b63389a75e1600c52806000526020600c208054421115612f9557636f5e88186000526004601cfd5b60009055611c6a81613f71565b600080600080600080600060606106dd613d00565b61302a8686612fd9876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613db292505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866130695763ea553b346000526004601cfd5b87331461308c57336000526034600c205461308c57634b6e7f186000526004601cfd5b85600052604060002091508154808611156130af5763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156130db576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46131818686613130876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061411992505050565b843b15611b4a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16131e0573d156131e0573d6000823e3d81fd5b805163f23a6e6160e01b14611bd457639c05499b6000526004601cfd5b613205613ccd565b8060601b61321b57637448fbae6000526004601cfd5b611c6a81613f71565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166132665760405163be20705f60e01b815260040160405180910390fd5b611ac433848484614165565b61327a613ccd565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6132ef613ccd565b604051600162785a0b60e01b031981526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f59060240161256f565b600061333d82614297565b8061163e575061163e826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b600061337482614297565b8061338f57506001600160e01b031982166307ccd03560e31b145b8061163e5750506001600160e01b031916632483248360e11b1490565b60006133b782614297565b8061163e5750632a55205a60e083901c9081146301ffc9a7919091141761163e565b60006133e482614297565b8061163e57506001600160e01b03198216632b435fdb60e21b148061341957506001600160e01b0319821663503e914d60e11b145b801561163e57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0054600160a01b900460ff1692915050565b600061345d82614297565b8061163e57506001600160e01b03198216631d13d2f560e21b1492915050565b600061348882614297565b8061163e57506001600160e01b03198216636cbdef6160e01b1492915050565b60006134b382614297565b8061163e57506001600160e01b031982166303aa30b960e11b1492915050565b60006134de82614297565b8061163e57506001600160e01b0319821663362d3e2b60e21b1492915050565b600061350982614297565b8061163e57506001600160e01b03198216635c975abb60e01b1492915050565b600061353482614297565b8061163e57506001600160e01b031982166317afae4360e01b1492915050565b600061355f826142cd565b8061163e57506001600160e01b0319821663a2316e0b60e01b1492915050565b600061358a82614297565b8061163e57506001600160e01b0319821663215f672360e21b1492915050565b60006135b582614297565b8061163e57506001600160e01b03198216636e1f1b9d60e11b1492915050565b6001600160a01b0381166135fc576040516349e27cff60e01b815260040160405180910390fd5b611c6a816142f8565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613632848683615632565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613685858783615632565b5060018101611b4a838583615632565b604051600281527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6136f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614334565b61271061ffff8216111561371c576040516274280760e61b815260040160405180910390fd5b80600080516020615a9b833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a1611ac48383613e61565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d02805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611c2f565b6138067ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614334565b80600080516020615abb833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611c2f565b6138727f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614334565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e490602001611c2f565b6138f07fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614334565b6001600160a01b03811615611c6a57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba0061329d565b6139517fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614334565b6001600160a01b03811615611c6a57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612d51565b6139b27f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614334565b8015611c6a57600080516020615adb833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611c2f565b613a307fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614334565b6001600160a01b03811615611c6a57807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600612405565b6122f67f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614334565b6122f67f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614334565b6122f67fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614334565b6122f67fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614334565b613b1a6143a6565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061262a908790879087908790600401615906565b600080516020615afb83398151915280613b72848683615632565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60405163dda44fcf60e01b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf9060240161256f565b80600003613c2057604051630856e64360e21b815260040160405180910390fd5b613c29826143d1565b604051633550780d60e01b8152600481018390526001600160a01b0384166024820152631cd9595960e21b604482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__90633550780d9060640160006040518083038186803b158015613c9057600080fd5b505af4158015613ca4573d6000803e3d6000fd5b50505050613cb28282614400565b611ac48383836040518060200160405280600081525061443f565b638b78c6d8195433146122f6576382b429006000526004601cfd5b6122f6614553565b61458b80611a0663ffffffff8216565b61455380611a0663ffffffff8216565b638b78c6d819546001600160a01b03163303613d2857565b600080516020615adb8339815191525460ff1615613d59576040516375ab03ab60e11b815260040160405180910390fd5b613d616116f6565b6001600160a01b0316336001600160a01b0316146122f65760405163263ab11d60e21b815260040160405180910390fd5b6145bd80611a0663ffffffff8216565b6145ef80611a0663ffffffff8216565b61259b85858585614621565b612159888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061411992505050565b600080516020615a9b8339815191525461ffff1661ffff168161ffff161115613e9d5760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613ef657613ebb600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613f04828261ffff1661465e565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613eea565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6000613fbe638b78c6d8195490565b6001600160a01b031603613ff3576001600160a01b03811615611c6a576040516282b42960e81b815260040160405180910390fd5b611c6a613ccd565b600060405190506020815281816020015280604001808360051b80868437820180851561407a575b835187018035602082018337600038823584305af4614045573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614023575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806123ad81612710611e30565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806140cc575050819003601f19909101908152919050565b6060614100826146ae565b8051613078825260020160011990910190815292915050565b614126858585858561471d565b6040516330aeb1e960e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906330aeb1e9906128d490869086908a908a9033906004016159ba565b6141b2836000614188856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613db2565b8260601b80679a31110384e0b0c917602052808560601b148560601b15176141f057846000526034600c20546141f057634b6e7f186000526004601cfd5b8260005260406000208054808411156142115763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611cd783600061426d856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250614119565b60006301ffc9a760e01b6001600160e01b03198316148061163e57506001600160e01b0319821663513fc9dd60e11b1492915050565b60006142d882614297565b8061163e57506001600160e01b03198216638bd8666560e01b1492915050565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613eea565b6122f67f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614334565b600080516020615abb833981519152548110611c6a5760405163ba470cd560e01b815260040160405180910390fd5b60405163edbf22db60e01b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611b1e565b61447d600085614462866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613db2565b8360601b806144945763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156144c8576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a45061453e600085614523866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285614119565b833b15611cd757611cd7600085858585614843565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614585573d6000fd5b503d6000f35b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614585573d6000fd5b604051630c96e06360e21b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c9061262a908790879087908790600401615a0a565b6bffffffffffffffffffffffff16612710808211156146855763350a88b36000526004601cfd5b8260601b8061469c5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c51825350506001810190601219016146ee575050919050565b6001600160a01b0385166147b157600080516020615b3b83398151915260005b84518110156147aa5783818151811061475857614758615a48565b602002602001015182600001600087848151811061477857614778615a48565b60200260200101518152602001908152602001600020600082825461479d9190615a74565b909155505060010161473d565b505061259b565b6001600160a01b03841661483e57600080516020615b3b83398151915260005b84518110156147aa578381815181106147ec576147ec615a48565b602002602001015182600001600087848151811061480c5761480c615a48565b6020026020010151815260200190815260200160002060008282546148319190615a87565b90915550506001016147d1565b61259b565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561488f578060e08301826020860160045afa505b6020828260c401601c850160008a5af16148b2573d156148b2573d6000833e3d82fd5b50805163f23a6e6160e01b14611b4a57639c05499b6000526004601cfd5b80356001600160a01b03811681146148e757600080fd5b919050565b600080604083850312156148ff57600080fd5b614908836148d0565b946020939093013593505050565b60006020828403121561492857600080fd5b81356001600160e01b0319811681146123ad57600080fd5b60005b8381101561495b578181015183820152602001614943565b50506000910152565b6000815180845261497c816020860160208601614940565b601f01601f19169290920160200192915050565b6020815260006123ad6020830184614964565b6000602082840312156149b557600080fd5b81356001600160401b038111156149cb57600080fd5b82016102e081850312156123ad57600080fd5b803565ffffffffffff811681146148e757600080fd5b60008083601f840112614a0657600080fd5b5081356001600160401b03811115614a1d57600080fd5b6020830191508360208260051b8501011115614a3857600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614a5e57600080fd5b8935985060208a013560098110614a7457600080fd5b975060408a013560078110614a8857600080fd5b9650614a9660608b016148d0565b9550614aa460808b016149de565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614acd57600080fd5b614ad98c828d016149f4565b915080935050809150509295985092959850929598565b60008083601f840112614b0257600080fd5b5081356001600160401b03811115614b1957600080fd5b602083019150836020828501011115614a3857600080fd5b600080600060408486031215614b4657600080fd5b8335925060208401356001600160401b03811115614b6357600080fd5b614b6f86828701614af0565b9497909650939450505050565b600060208284031215614b8e57600080fd5b5035919050565b60008060208385031215614ba857600080fd5b82356001600160401b03811115614bbe57600080fd5b614bca858286016149f4565b90969095509350505050565b600080600060608486031215614beb57600080fd5b614bf4846148d0565b95602085013595506040909401359392505050565b803580151581146148e757600080fd5b600060208284031215614c2b57600080fd5b6123ad82614c09565b600060208284031215614c4657600080fd5b6123ad826148d0565b60008060408385031215614c6257600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b031215614c8d57600080fd5b614c96896148d0565b9750614ca460208a016148d0565b965060408901356001600160401b03811115614cbf57600080fd5b614ccb8b828c016149f4565b90975095505060608901356001600160401b03811115614cea57600080fd5b614cf68b828c016149f4565b90955093505060808901356001600160401b03811115614d1557600080fd5b614d218b828c01614af0565b999c989b5096995094979396929594505050565b803561ffff811681146148e757600080fd5b60008060408385031215614d5a57600080fd5b614d63836148d0565b9150614d7160208401614d35565b90509250929050565b60008060008060408587031215614d9057600080fd5b84356001600160401b03811115614da657600080fd5b614db2878288016149f4565b90955093505060208501356001600160401b03811115614dd157600080fd5b614ddd878288016149f4565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614e21578351835260209384019390920191600101614e03565b509095945050505050565b60008060008060608587031215614e4257600080fd5b843593506020850135925060408501356001600160401b03811115614e6657600080fd5b614ddd87828801614af0565b600081518084526020840193506020830160005b82811015614ea4578151865260209586019590910190600101614e86565b5093949350505050565b6020815260006123ad6020830184614e72565b8281526040602082015260006124b96040830184614964565b600080600060608486031215614eef57600080fd5b505081359360208301359350604090920135919050565b604081526000614f196040830185614e72565b90508260208301529392505050565b634e487b7160e01b600052602160045260246000fd5b60098110614f4e57614f4e614f28565b9052565b60078110614f4e57614f4e614f28565b88151581526101008101614f79602083018a614f3e565b614f866040830189614f52565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fd657600080fd5b83359250602084013560028110614fec57600080fd5b929592945050506040919091013590565b6000806040838503121561501057600080fd5b615019836148d0565b9150614d7160208401614c09565b60008060008060006080868803121561503f57600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561506a57600080fd5b61507688828901614af0565b969995985093965092949392505050565b6000806020838503121561509a57600080fd5b82356001600160401b038111156150b057600080fd5b614bca85828601614af0565b6000806000606084860312156150d157600080fd5b6150da846148d0565b92506150e8602085016148d0565b91506150f6604085016148d0565b90509250925092565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561515857603f19878603018452615143858351614964565b94506020938401939190910190600101615127565b50929695505050505050565b60006020828403121561517657600080fd5b6123ad82614d35565b60028110614f4e57614f4e614f28565b6040810161519d828561517f565b8260208301529392505050565b600080604083850312156151bd57600080fd5b6151c6836148d0565b9150614d71602084016148d0565b600061010082018a151583526151ed602084018b614f3e565b6151fa604084018a614f52565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b8281101561527d5761011f19878603018452615268858351614964565b9450602093840193919091019060010161524b565b50929d9c50505050505050505050505050565b60008060008060008060a087890312156152a957600080fd5b6152b2876148d0565b95506152c0602088016148d0565b9450604087013593506060870135925060808701356001600160401b038111156152e957600080fd5b6152f589828a01614af0565b979a9699509497509295939492505050565b600181811c9082168061531b57607f821691505b60208210810361533b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e1984360301811261535857600080fd5b8301803591506001600160401b0382111561537257600080fd5b602001915036819003821315614a3857600080fd5b6000808335601e1984360301811261539e57600080fd5b8301803591506001600160401b038211156153b857600080fd5b6020019150600581901b3603821315614a3857600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261541057600080fd5b83016020810192503590506001600160401b0381111561542f57600080fd5b803603821315614a3857600080fd5b600061010082018b8352615455602084018c614f3e565b615462604084018b614f52565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154e95785840361011f190183526154c782896153f9565b6154d28682846153d0565b9550505060209283019291909101906001016154ab565b50919d9c50505050505050505050505050565b6020808252810182905260006001600160fb1b0383111561551c57600080fd5b8260051b80856040850137919091016040019392505050565b83815260406020820152600061554f6040830184866153d0565b95945050505050565b8381526060810161556c602083018561517f565b826040830152949350505050565b84815283602082015260606040820152600061559a6060830184866153d0565b9695505050505050565b8581528460208201528360408201526080606082015260006155ca6080830184866153d0565b979650505050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611ac457806000526020600020601f840160051c810160208510156156125750805b601f840160051c820191505b8181101561259b576000815560010161561e565b6001600160401b03831115615649576156496155d5565b61565d836156578354615307565b836155eb565b6000601f84116001811461569157600085156156795750838201355b600019600387901b1c1916600186901b17835561259b565b600083815260209020601f19861690835b828110156156c257868501358255602094850194600190920191016156a2565b50868210156156df5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006124b96020830184866153d0565b60006020828403121561571757600080fd5b81516001600160401b0381111561572d57600080fd5b8201601f8101841361573e57600080fd5b80516001600160401b03811115615757576157576155d5565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615785576157856155d5565b60405281815282820160200186101561579d57600080fd5b61554f826020830160208601614940565b600081516157c0818560208601614940565b9290920192915050565b60008085546157d881615307565b6001821680156157ef576001811461580457615834565b60ff1983168652811515820286019350615834565b88600052602060002060005b8381101561582c57815488820152600190910190602001615810565b505081860193505b505050602f60f81b81528451615851816001840160208901614940565b0161586260018201602f60f81b9052565b61559a60028201856157ae565b60008383855260208501945060208460051b8201018360005b868110156158fa57838303601f19018852813536879003605e190181126158ae57600080fd5b860180358452602080820135908501526158cb60408201826153f9565b9150606060408601526158e26060860183836153d0565b60209a8b019a90955093909301925050600101615888565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b898210156159a357868503605f19018452823581811261594a57600080fd5b8b0180358652602080820135908701526040808201359087015261597160608201826153f9565b9150608060608801526159886080880183836153d0565b9650505060208301925060208401935060018201915061592b565b5050505082810360208401526155ca81858761586f565b60a0815260006159cd60a0830188614e72565b82810360208401526159df8188614e72565b6001600160a01b03968716604085015294861660608401525050921660809092019190915292915050565b6001600160a01b03858116825284166020820152608060408201819052600090615a3690830185614e72565b82810360608401526155ca8185614e72565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561163e5761163e615a5e565b8181038181111561163e5761163e615a5e56fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f496700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702dcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00a264697066735822122076246f93f426ebf12aa28666fd7168fa891bcfc3d358a52ed33feaaf2b3f6d8e64736f6c634300081c0033";
|
|
27
|
+
export const editionCodeBytecode = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615b908061008d6000396000f3fe6080604052600436106106dd5760003560e01c806384f6687f11610385578063c3e617a2116101dc578063e4df18ec1161010d578063f2235701116100ab578063f8d3adc81161007a578063f8d3adc814610ad0578063fca3b5aa146114f1578063fee81cf414611511578063ff87a5f51461154457600080fd5b8063f22357011461146a578063f242432a1461149e578063f2fde38b146114be578063f5298aca146114d157600080fd5b8063e985e9c5116100e7578063e985e9c514611409578063ea58f97114610ec1578063ee748f2c14611442578063f04e283e1461145757600080fd5b8063e4df18ec14611389578063e8a3d485146113a4578063e8dc3e09146113b957600080fd5b8063d90f5df21161017a578063e1b7938111610154578063e1b7938114611339578063e1c2ffad14611354578063e2969ba714611369578063e42b7baf14610bdf57600080fd5b8063d90f5df214610faa578063da2bbfc714611304578063dc9838791461132457600080fd5b8063cc1cf515116101b6578063cc1cf51514611249578063cfc59afd14611284578063d50bac33146112b2578063d8b4f8ac146112ef57600080fd5b8063c3e617a214611229578063c4f2604814611249578063c83569a91461126457600080fd5b80639aa1a1f0116102b6578063aa0de18d11610254578063b18f004a1161022e578063b18f004a14611194578063b4784247146111ba578063bb77e796146111cf578063bd85b039146111ef57600080fd5b8063aa0de18d1461111b578063ac9650d814611136578063ac998f451461115657600080fd5b8063a22cb46511610290578063a22cb4651461109b578063a482c946146110bb578063a8cdf078146110db578063a9fc664e146110fb57600080fd5b80639aa1a1f014611029578063a07c7ce414611049578063a148d8cf1461108057600080fd5b8063913b385a1161032357806395d89b41116102fd57806395d89b4114610fbf57806396f4205a14610fd457806397e950f714610ff45780639a5db5031461101457600080fd5b8063913b385a14610f8a57806392b29b1714610f1657806392d9906f14610faa57600080fd5b80638da5cb5b1161035f5780638da5cb5b14610f315780638e08141f14610f4a5780638e4cc07014610f6a578063909206e314610c4357600080fd5b806384f6687f14610ed6578063869f759414610ef657806386b7f6a414610f1657600080fd5b80633990b221116105395780635c975abb1161046a5780636cb0281811610408578063738e1496116103e2578063738e149614610e4157806374828e3414610e6d5780637b1d470714610ea15780637d0b7ae414610ec157600080fd5b80636cb0281814610df75780636cbdef6114610e17578063715018a614610e3957600080fd5b806369053374116104445780636905337414610d3b5780636aaf760714610d565780636bd3922214610d765780636c59f75914610de257600080fd5b80635c975abb14610cec5780635d0b722014610d115780635e5a9e3014610d2657600080fd5b80634efdb5ae116104d757806355580cca116104b157806355580cca14610c4357806355828c5014610c655780635a50ca6514610c935780635b02f81c14610cbe57600080fd5b80634efdb5ae14610bdf5780634f558e7914610bff57806354d1f13d14610c3b57600080fd5b80633dda44b0116105135780633dda44b014610b4f5780634331f63914610b6f5780634aa3adb314610b8f5780634e1273f414610bb257600080fd5b80633990b22114610ad05780633ba1bd8614610af05780633c59f1bb14610b1057600080fd5b806316c38b3c11610613578063261220a3116105b15780632a55205a1161058b5780632a55205a14610a315780632e73cddb14610a705780632eb2c2d614610a9057806337da577c14610ab057600080fd5b8063261220a3146109e757806326dfe8c7146109fc578063298bb40e14610a1c57600080fd5b806320ac0944116105ed57806320ac0944146109375780632352b33f1461094c57806325628d34146109ca57806325692962146109df57600080fd5b806316c38b3c146108e257806317afae43146109025780631c31cac31461091757600080fd5b80630b4c562b1161068057806313bfffac1161065a57806313bfffac1461086d57806314cb566714610882578063156e29f6146108a25780631622326a146108c257600080fd5b80630b4c562b146108055780630d705df6146108255780630e89341c1461084d57600080fd5b806307546172116106bc5780630754617214610781578063084d5d15146107ae57806308a38395146107d0578063098144d4146107f057600080fd5b8062fdd58e146106e257806301ffc9a71461072f57806306fdde031461075f575b600080fd5b3480156106ee57600080fd5b5061071c6106fd3660046148ec565b679a31110384e0b0c96020526014919091526000908152604090205490565b6040519081526020015b60405180910390f35b34801561073b57600080fd5b5061074f61074a366004614916565b611564565b6040519015158152602001610726565b34801561076b57600080fd5b50610774611644565b6040516107269190614990565b34801561078d57600080fd5b506107966116f6565b6040516001600160a01b039091168152602001610726565b3480156107ba57600080fd5b506107ce6107c93660046149a3565b611729565b005b3480156107dc57600080fd5b506107ce6107eb366004614a3f565b611a0a565b3480156107fc57600080fd5b50610796611a94565b34801561081157600080fd5b506107ce610820366004614b31565b611abc565b34801561083157600080fd5b5060408051631854b24160e01b81526000602082015201610726565b34801561085957600080fd5b50610774610868366004614b7c565b611ac9565b34801561087957600080fd5b50610796611ad3565b34801561088e57600080fd5b506107ce61089d366004614b95565b611add565b3480156108ae57600080fd5b506107ce6108bd366004614bd6565b611b52565b3480156108ce57600080fd5b506107ce6108dd366004614b31565b611b65565b3480156108ee57600080fd5b506107ce6108fd366004614c19565b611bdd565b34801561090e57600080fd5b50610796611c3a565b34801561092357600080fd5b506107ce610932366004614c34565b611c62565b34801561094357600080fd5b50610796611c6d565b34801561095857600080fd5b506109ad610967366004614b7c565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610726565b3480156109d657600080fd5b506107ce611c77565b6107ce611cdd565b3480156109f357600080fd5b50610774611d2c565b348015610a0857600080fd5b506107ce610a17366004614c34565b611d54565b348015610a2857600080fd5b50610774611e1a565b348015610a3d57600080fd5b50610a51610a4c366004614c4f565b611e30565b604080516001600160a01b039093168352602083019190915201610726565b348015610a7c57600080fd5b5061074f610a8b366004614b7c565b611e85565b348015610a9c57600080fd5b506107ce610aab366004614c71565b611e8f565b348015610abc57600080fd5b506107ce610acb366004614c4f565b612163565b348015610adc57600080fd5b506107ce610aeb366004614c4f565b6121aa565b348015610afc57600080fd5b50610774610b0b366004614c4f565b6121b2565b348015610b1c57600080fd5b50610b256121bc565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610726565b348015610b5b57600080fd5b506107ce610b6a366004614c4f565b6121c9565b348015610b7b57600080fd5b506107ce610b8a366004614d47565b612210565b348015610b9b57600080fd5b5060035b60405161ffff9091168152602001610726565b348015610bbe57600080fd5b50610bd2610bcd366004614d7a565b612222565b6040516107269190614de9565b348015610beb57600080fd5b506107ce610bfa366004614e2c565b612292565b348015610c0b57600080fd5b5061074f610c1a366004614b7c565b6000908152600080516020615b3b8339815191526020526040902054151590565b6107ce61229a565b348015610c4f57600080fd5b50610c586121b2565b6040516107269190614eae565b348015610c7157600080fd5b50610c85610c80366004614b7c565b6122d6565b604051610726929190614ec1565b348015610c9f57600080fd5b50600080516020615b1b833981519152546001600160a01b0316610796565b348015610cca57600080fd5b50610cde610cd9366004614eda565b6122e2565b604051610726929190614f06565b348015610cf857600080fd5b50600080516020615adb8339815191525460ff1661074f565b348015610d1d57600080fd5b506107ce6122ee565b348015610d3257600080fd5b506107ce6122f8565b348015610d4757600080fd5b506107ce610932366004614b7c565b348015610d6257600080fd5b50610774610d71366004614b7c565b612344565b348015610d8257600080fd5b506109ad610d91366004614c4f565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020908152604080842092845291905290208054600190910154909160ff8083169261010090041690565b348015610dee57600080fd5b5061074f611ad3565b348015610e0357600080fd5b50610774610e12366004614b7c565b61234e565b348015610e2357600080fd5b50600080516020615abb8339815191525461071c565b6107ce6123b4565b348015610e4d57600080fd5b50600080516020615b1b83398151915254600160a01b900460ff1661074f565b348015610e7957600080fd5b50610e8d610e88366004614b7c565b6123c6565b604051610726989796959493929190614f62565b348015610ead57600080fd5b506107ce610ebc366004614c34565b6123da565b348015610ecd57600080fd5b5061074f611c6d565b348015610ee257600080fd5b50610774610ef1366004614c4f565b61244f565b348015610f0257600080fd5b5061071c610f11366004614b7c565b6124c1565b348015610f2257600080fd5b506107ce610820366004614eda565b348015610f3d57600080fd5b50638b78c6d81954610796565b348015610f5657600080fd5b506107ce610f65366004614b7c565b612533565b348015610f7657600080fd5b506107ce610f85366004614fc1565b6125a2565b348015610f9657600080fd5b506107ce610fa5366004614e2c565b6125e5565b348015610fb657600080fd5b5061071c611c6d565b348015610fcb57600080fd5b50610774612656565b348015610fe057600080fd5b506107ce610fef366004614c34565b612688565b34801561100057600080fd5b506107ce61100f366004614b7c565b6126d0565b34801561102057600080fd5b506107ce6127a8565b34801561103557600080fd5b506107ce611044366004614b31565b6127f4565b34801561105557600080fd5b507fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff1661074f565b34801561108c57600080fd5b5061074f610a8b366004614c4f565b3480156110a757600080fd5b506107ce6110b6366004614ffd565b612837565b3480156110c757600080fd5b506107ce6110d6366004615027565b61288d565b3480156110e757600080fd5b506107ce6110f6366004615087565b612900565b34801561110757600080fd5b506107ce611116366004614c34565b61298b565b34801561112757600080fd5b506107ce6108203660046150bc565b611149611144366004614b95565b6129d4565b60405161072691906150ff565b34801561116257600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820154600160a01b900460ff1661074f565b3480156111a057600080fd5b50600080516020615a9b8339815191525461ffff16610b9f565b3480156111c657600080fd5b506107ce6129f3565b3480156111db57600080fd5b506107746111ea366004614b7c565b612a3f565b3480156111fb57600080fd5b5061071c61120a366004614b7c565b6000908152600080516020615b3b833981519152602052604090205490565b34801561123557600080fd5b506107ce611244366004615087565b612b00565b34801561125557600080fd5b50610cde610cd9366004614c4f565b34801561127057600080fd5b506107ce61127f366004615164565b612b5f565b34801561129057600080fd5b506112a461129f366004614b7c565b612c13565b60405161072692919061518f565b3480156112be57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546001600160a01b0316610796565b3480156112fb57600080fd5b50610796612c1e565b34801561131057600080fd5b506107ce61131f366004615087565b612c46565b34801561133057600080fd5b506107ce612c87565b34801561134557600080fd5b50610c58610b0b366004614b7c565b34801561136057600080fd5b506107ce612cd3565b34801561137557600080fd5b506107ce611384366004614c34565b612d26565b34801561139557600080fd5b50610c85610c80366004614c4f565b3480156113b057600080fd5b50610774612d9b565b3480156113c557600080fd5b50610b9f6113d4366004614b7c565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561141557600080fd5b5061074f6114243660046151aa565b679a31110384e0b0c96020526014919091526000526034600c205490565b34801561144e57600080fd5b50610774612f4f565b6107ce611465366004614c34565b612f65565b34801561147657600080fd5b5061148a611485366004614b7c565b612fa2565b6040516107269897969594939291906151d4565b3480156114aa57600080fd5b506107ce6114b9366004615290565b612fb7565b6107ce6114cc366004614c34565b6131fd565b3480156114dd57600080fd5b506107ce6114ec366004614bd6565b613224565b3480156114fd57600080fd5b506107ce61150c366004614c34565b613272565b34801561151d57600080fd5b5061071c61152c366004614c34565b63389a75e1600c908152600091909152602090205490565b34801561155057600080fd5b506107ce61155f366004614c34565b6132e7565b600061156f82613332565b8061157e575061157e82613369565b8061158d575061158d826133ac565b8061159c575061159c826133d9565b806115ab57506115ab82613452565b806115ba57506115ba8261347d565b806115c957506115c9826134a8565b806115d857506115d8826134d3565b806115e757506115e7826134fe565b806115f657506115f682613529565b80611605575061160582613554565b8061161457506116148261357f565b806116235750611623826135aa565b8061163e57506001600160e01b03198216630ab714fb60e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b805461167390615307565b80601f016020809104026020016040519081016040528092919081815260200182805461169f90615307565b80156116ec5780601f106116c1576101008083540402835291602001916116ec565b820191906000526020600020905b8154815290600101906020018083116116cf57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b63409feecd1980546003825580156117605760018160011c14303b106117575763f92ee8a96000526004601cfd5b818160ff1b1b91505b508161018001356000036117875760405163fe5afcb960e01b815260040160405180910390fd5b81610180013582610260013511156117b257604051633f63c5bf60e01b815260040160405180910390fd5b6117c76117c26020840184614c34565b6135d5565b6117ec6117d76060840184615341565b6117e760a0860160808701614c34565b613605565b61180e6117fc6020840184615341565b6118096040860186615341565b613658565b611816613695565b61185361182a610100840160e08501614c34565b61183c61012085016101008601615164565b61184e61014086016101208701615164565b6136cb565b61186d61186861016084016101408501614c19565b61377b565b61187b8261018001356137db565b611889826101a00135613847565b6118a361189e61020084016101e08501614c34565b6138c5565b6118bd6118b86101e084016101c08501614c34565b613926565b6118d76118d261022084016102008501614c19565b613987565b6118f16118ec61024084016102208501614c34565b613a05565b6118f9613a66565b611901613a91565b611909613abc565b611911613ae7565b6119356119226102a0840184615387565b6119306102c0860186615387565b613b12565b61195a61194560a0840184615341565b61195560e0860160c08701614c34565b613b57565b61197461196f61018084016101608501614c34565b613bbf565b600061198861026084016102408501614c34565b6001600160a01b0316146119d15760005b8261026001358110156119cf576119c76119bb61026085016102408601614c34565b82856102800135613bff565b600101611999565b505b8015611a06576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050565b611a12613ccd565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae690611a59908c908c908c908c908c908c908c908c908c9060040161543e565b60006040518083038186803b158015611a7157600080fd5b505af4158015611a85573d6000803e3d6000fd5b50505050505050505050505050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0061171a565b611ac4613ce8565b505050565b60606106dd613cf0565b60006106dd613d00565b611ae5613ccd565b6040516314cb566760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906314cb566790611b1e90859085906004016154fc565b60006040518083038186803b158015611b3657600080fd5b505af4158015611b4a573d6000803e3d6000fd5b505050505050565b611b5a613d10565b611ac4838383613bff565b611b6d613ccd565b604051630b11193560e11b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__90631622326a90611ba890869086908690600401615535565b60006040518083038186803b158015611bc057600080fd5b505af4158015611bd4573d6000803e3d6000fd5b50505050505050565b611be5613ccd565b600080516020615adb833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b60061171a565b611c6a613ce8565b50565b60006106dd613d92565b611c7f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b505af4158015611cd7573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200611668565b611d5c613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615611da4576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615afb833981519152611668565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611e64576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b60006106dd613da2565b611f32888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250613db292505050565b828514611f4757633b800a466000526004601cfd5b8760601b679a31110384e0b0c9178760601b679a31110384e0b0c917816020528160601c99508060601c985088611f865763ea553b346000526004601cfd5b893314611fa957336000526034600c2054611fa957634b6e7f186000526004601cfd5b8660051b5b801561201b576020810390508087013583602052818a01356000526040600020805480831115611fe65763f4d678b86000526004601cfd5b829003905560208390526040600020805480830181811015612010576301336cea6000526004601cfd5b90915550611fae9050565b505050604051604081528560051b866040830152808860608401378060600160208301526060818301018781528187602083013750888a337f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb60808586010186a45050612086600190565b1561209b5761209b8888888888888888613dbe565b863b15612159578660005260405163bc197c81815233602082015288604082015260a060608201528560051b8660c0830152808860e08401378060c001608083015260e08183010187815281876020830137818260e0010160a084015260208282010190508381528385602083013750808101830161010401905060208282601c60405101600080515af1612139573d15612139573d6000833e3d82fd5b50805163bc197c8160e01b1461215757639c05499b6000526004601cfd5b505b5050505050505050565b61216b613ccd565b604051630df695df60e21b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__906337da577c90604401611b1e565b611a06613ce8565b60606106dd613d00565b60008060006106dd613d00565b6121d1613ccd565b6040516303dda44b60e41b8152600481018390526024810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90633dda44b090604401611b1e565b612218613ccd565b611a068282613e61565b606083821461223957633b800a466000526004601cfd5b6040519050818152602081018260051b8181016040525b801561228857602081039050808701358060601b679a31110384e0b0c917602052508085013560005260406000205481830152612250565b5050949350505050565b611cd7613ce8565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b600060606106dd613da2565b606060006106dd613d00565b6122f6613ce8565b565b612300613ccd565b73__$02a972f01c97d19f02f90796c6d87a6f4b$__635e5a9e306040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60606106dd613d92565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b0316801561239c5761239781613f43565b6123ad565b604051806020016040528060008152505b9392505050565b6123bc613ccd565b6122f66000613f71565b6000806000806000806000806106dd613d00565b6123e2613ccd565b807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156124a8576124a381613f43565b6124b9565b604051806020016040528060008152505b949350505050565b60008181527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260408120547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1661251f5780546123ad565b600092835260010160205250604090205490565b61253b613ccd565b604051638e08141f60e01b81526004810182905273__$94537c6cb34c12e23181d3e03ab75f1647$__90638e08141f906024015b60006040518083038186803b15801561258757600080fd5b505af415801561259b573d6000803e3d6000fd5b5050505050565b6125aa613ccd565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee4590611ba890869086908690600401615558565b6125ed613ccd565b60405163489d9c2d60e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063913b385a9061262a90879087908790879060040161557a565b60006040518083038186803b15801561264257600080fd5b505af4158015612159573d6000803e3d6000fd5b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b600101805461167390615307565b612690613ccd565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161256f565b6126d8613ccd565b600080516020615abb83398151915260008290036127095760405163fe5afcb960e01b815260040160405180910390fd5b805482111561272b57604051632b953d0360e11b815260040160405180910390fd5b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d015482101561276d57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6127b0613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b6127fc613ccd565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f090611ba890869086908690600401615535565b8015159050679a31110384e0b0c96020523360145281600052806034600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612895613ccd565b60405163524164a360e11b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063a482c946906128d490889088908890889088906004016155a4565b60006040518083038186803b1580156128ec57600080fd5b505af4158015612157573d6000803e3d6000fd5b612908613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612950576040516352be865b60e01b815260040160405180910390fd5b8061295c838583615632565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61299481613faf565b6040516354fe332760e11b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063a9fc664e9060240161256f565b606034156129e157600080fd5b61163e6129ee8484613ffb565b614092565b6129fb613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612a7b90615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612aa790615307565b8015612af45780601f10612ac957610100808354040283529160200191612af4565b820191906000526020600020905b815481529060010190602001808311612ad757829003601f168201915b50505050509050919050565b612b08613ccd565b600080516020615b1b83398151915254600080516020615afb83398151915290600160a01b900460ff1615612b50576040516352be865b60e01b815260040160405180910390fd5b6001810161295c838583615632565b612b67613ccd565b600080516020615a9b833981519152805461ffff90811690831610612ba2576040516001625957a760e11b0319815260040160405180910390fd5b612baa6140a2565b61ffff168261ffff161015612bd25760405163088e56e560e31b815260040160405180910390fd5b805461ffff191661ffff831690811782556040519081527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200161279c565b6000806106dd613d92565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061171a565b612c4e613ccd565b60405163da2bbfc760e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063da2bbfc790611b1e90859085906004016156f1565b612c8f613ccd565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611cc357600080fd5b612cdb613ccd565b600080516020615b1b833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612d2e613ccd565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b600080516020615b1b83398151915254606090600080516020615afb833981519152906001600160a01b031615612e4257600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015612e14573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e3c9190810190615705565b91505090565b806001018054612e5190615307565b159050612eeb57806001018054612e6790615307565b80601f0160208091040260200160405190810160405280929190818152602001828054612e9390615307565b8015612ee05780601f10612eb557610100808354040283529160200191612ee0565b820191906000526020600020905b815481529060010190602001808311612ec357829003601f168201915b505050505091505090565b80548190612ef890615307565b9050600003612f1557505060408051602081019091526000815290565b80612f1f466140b1565b612f28306140f5565b604051602001612f3a939291906157ca565b60405160208183030381529060405291505090565b6060600080516020615afb83398151915261267a565b612f6d613ccd565b63389a75e1600c52806000526020600c208054421115612f9557636f5e88186000526004601cfd5b60009055611c6a81613f71565b600080600080600080600060606106dd613d00565b61302a8686612fd9876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613db292505050565b8560601b679a31110384e0b0c9178560601b679a31110384e0b0c917816020528160601c97508060601c9650866130695763ea553b346000526004601cfd5b87331461308c57336000526034600c205461308c57634b6e7f186000526004601cfd5b85600052604060002091508154808611156130af5763f4d678b86000526004601cfd5b85810383555080602052604060002091508154858101818110156130db576301336cea6000526004601cfd5b909255505060208390528486337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a46131818686613130876040805180820190915260018152602081019190915290565b60408051808201909152600181526020810188905286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061411992505050565b843b15611b4a5760405163f23a6e61815233602082015286604082015284606082015283608082015260a0808201528160c0820152818360e08301376020818360c401601c840160008a5af16131e0573d156131e0573d6000823e3d81fd5b805163f23a6e6160e01b14611bd457639c05499b6000526004601cfd5b613205613ccd565b8060601b61321b57637448fbae6000526004601cfd5b611c6a81613f71565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d025460ff166132665760405163be20705f60e01b815260040160405180910390fd5b611ac433848484614165565b61327a613ccd565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6132ef613ccd565b604051600162785a0b60e01b031981526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063ff87a5f59060240161256f565b600061333d82614297565b8061163e575061163e826301ffc9a760e09190911c90811463d9b67a26821417630e89341c9091141790565b600061337482614297565b8061338f57506001600160e01b031982166307ccd03560e31b145b8061163e5750506001600160e01b031916632483248360e11b1490565b60006133b782614297565b8061163e5750632a55205a60e083901c9081146301ffc9a7919091141761163e565b60006133e482614297565b8061163e57506001600160e01b03198216632b435fdb60e21b148061341957506001600160e01b0319821663503e914d60e11b145b801561163e57507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0054600160a01b900460ff1692915050565b600061345d82614297565b8061163e57506001600160e01b03198216631d13d2f560e21b1492915050565b600061348882614297565b8061163e57506001600160e01b03198216636cbdef6160e01b1492915050565b60006134b382614297565b8061163e57506001600160e01b031982166303aa30b960e11b1492915050565b60006134de82614297565b8061163e57506001600160e01b0319821663362d3e2b60e21b1492915050565b600061350982614297565b8061163e57506001600160e01b03198216635c975abb60e01b1492915050565b600061353482614297565b8061163e57506001600160e01b031982166317afae4360e01b1492915050565b600061355f826142cd565b8061163e57506001600160e01b0319821663a2316e0b60e01b1492915050565b600061358a82614297565b8061163e57506001600160e01b0319821663215f672360e21b1492915050565b60006135b582614297565b8061163e57506001600160e01b03198216636e1f1b9d60e11b1492915050565b6001600160a01b0381166135fc576040516349e27cff60e01b815260040160405180910390fd5b611c6a816142f8565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613632848683615632565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613685858783615632565b5060018101611b4a838583615632565b604051600381527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6136f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56002614334565b61271061ffff8216111561371c576040516274280760e61b815260040160405180910390fd5b80600080516020615a9b833981519152805461ffff191661ffff92831617905560405190821681527f410c5c56aaf37e9e18e267fd0c77a4712c8c525c94ebf2e2e676732659b3904e9060200160405180910390a1611ac48383613e61565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d02805460ff19168215159081179091556040519081527f745d0cda336d8044fcfd402852de0f24eb0fba14c90bb77e189bf3e4b72249d390602001611c2f565b6138067ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614334565b80600080516020615abb833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611c2f565b6138727f01b88e5b7492f4b55db15ff2d803b4fc1213570f45cf49303a4efa1f930087c26001614334565b807fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef746101900556040518181527fe5513ba51f3ac7ea55fc817f8693b5217e1e23cae0987ec9298d105031bdf4e490602001611c2f565b6138f07fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614334565b6001600160a01b03811615611c6a57807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba0061329d565b6139517fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614334565b6001600160a01b03811615611c6a57807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612d51565b6139b27f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614334565b8015611c6a57600080516020615adb833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611c2f565b613a307fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614334565b6001600160a01b03811615611c6a57807f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600612405565b6122f67f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614334565b6122f67f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356003614334565b6122f67fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614334565b6122f67fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614334565b613b1a6143a6565b604051632b8dd23360e21b815273__$94537c6cb34c12e23181d3e03ab75f1647$__9063ae3748cc9061262a908790879087908790600401615906565b600080516020615afb83398151915280613b72848683615632565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60405163dda44fcf60e01b81526001600160a01b038216600482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063dda44fcf9060240161256f565b80600003613c2057604051630856e64360e21b815260040160405180910390fd5b613c29826143d1565b604051633550780d60e01b8152600481018390526001600160a01b0384166024820152631cd9595960e21b604482015273__$02a972f01c97d19f02f90796c6d87a6f4b$__90633550780d9060640160006040518083038186803b158015613c9057600080fd5b505af4158015613ca4573d6000803e3d6000fd5b50505050613cb28282614400565b611ac48383836040518060200160405280600081525061443f565b638b78c6d8195433146122f6576382b429006000526004601cfd5b6122f6614553565b61458b80611a0663ffffffff8216565b61455380611a0663ffffffff8216565b638b78c6d819546001600160a01b03163303613d2857565b600080516020615adb8339815191525460ff1615613d59576040516375ab03ab60e11b815260040160405180910390fd5b613d616116f6565b6001600160a01b0316336001600160a01b0316146122f65760405163263ab11d60e21b815260040160405180910390fd5b6145bd80611a0663ffffffff8216565b6145ef80611a0663ffffffff8216565b61259b85858585614621565b612159888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061411992505050565b600080516020615a9b8339815191525461ffff1661ffff168161ffff161115613e9d5760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613ef657613ebb600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613f04828261ffff1661465e565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613eea565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6000613fbe638b78c6d8195490565b6001600160a01b031603613ff3576001600160a01b03811615611c6a576040516282b42960e81b815260040160405180910390fd5b611c6a613ccd565b600060405190506020815281816020015280604001808360051b80868437820180851561407a575b835187018035602082018337600038823584305af4614045573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410614023575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b6000806123ad81612710611e30565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806140cc575050819003601f19909101908152919050565b6060614100826146ae565b8051613078825260020160011990910190815292915050565b614126858585858561471d565b6040516330aeb1e960e01b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__906330aeb1e9906128d490869086908a908a9033906004016159ba565b6141b2836000614188856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250613db2565b8260601b80679a31110384e0b0c917602052808560601b148560601b15176141f057846000526034600c20546141f057634b6e7f186000526004601cfd5b8260005260406000208054808411156142115763f4d678b86000526004601cfd5b838103825550508160205260008160601c337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a450611cd783600061426d856040805180820190915260018152602081019190915290565b60408051808201909152600181526020810186905260405180602001604052806000815250614119565b60006301ffc9a760e01b6001600160e01b03198316148061163e57506001600160e01b0319821663513fc9dd60e11b1492915050565b60006142d882614297565b8061163e57506001600160e01b03198216638bd8666560e01b1492915050565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613eea565b6122f67f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614334565b600080516020615abb833981519152548110611c6a5760405163ba470cd560e01b815260040160405180910390fd5b60405163edbf22db60e01b8152600481018390526024810182905273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063edbf22db90604401611b1e565b61447d600085614462866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285613db2565b8360601b806144945763ea553b346000526004601cfd5b679a31110384e0b0c9602052846014528360005260406000208054848101818110156144c8576301336cea6000526004601cfd5b808355505050826020528060601c6000337fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260406000a45061453e600085614523866040805180820190915260018152602081019190915290565b60408051808201909152600181526020810187905285614119565b833b15611cd757611cd7600085858585614843565b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614585573d6000fd5b503d6000f35b73__$02a972f01c97d19f02f90796c6d87a6f4b$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__3660008037600080366000845af43d6000803e80614585573d6000fd5b73__$94537c6cb34c12e23181d3e03ab75f1647$__3660008037600080366000845af43d6000803e80614585573d6000fd5b604051630c96e06360e21b815273__$02a972f01c97d19f02f90796c6d87a6f4b$__9063325b818c9061262a908790879087908790600401615a0a565b6bffffffffffffffffffffffff16612710808211156146855763350a88b36000526004601cfd5b8260601b8061469c5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c51825350506001810190601219016146ee575050919050565b6001600160a01b0385166147b157600080516020615b3b83398151915260005b84518110156147aa5783818151811061475857614758615a48565b602002602001015182600001600087848151811061477857614778615a48565b60200260200101518152602001908152602001600020600082825461479d9190615a74565b909155505060010161473d565b505061259b565b6001600160a01b03841661483e57600080516020615b3b83398151915260005b84518110156147aa578381815181106147ec576147ec615a48565b602002602001015182600001600087848151811061480c5761480c615a48565b6020026020010151815260200190815260200160002060008282546148319190615a87565b90915550506001016147d1565b61259b565b60405163f23a6e6181523360208201528560601b60601c604082015283606082015282608082015260a08082015281518060c0830152801561488f578060e08301826020860160045afa505b6020828260c401601c850160008a5af16148b2573d156148b2573d6000833e3d82fd5b50805163f23a6e6160e01b14611b4a57639c05499b6000526004601cfd5b80356001600160a01b03811681146148e757600080fd5b919050565b600080604083850312156148ff57600080fd5b614908836148d0565b946020939093013593505050565b60006020828403121561492857600080fd5b81356001600160e01b0319811681146123ad57600080fd5b60005b8381101561495b578181015183820152602001614943565b50506000910152565b6000815180845261497c816020860160208601614940565b601f01601f19169290920160200192915050565b6020815260006123ad6020830184614964565b6000602082840312156149b557600080fd5b81356001600160401b038111156149cb57600080fd5b82016102e081850312156123ad57600080fd5b803565ffffffffffff811681146148e757600080fd5b60008083601f840112614a0657600080fd5b5081356001600160401b03811115614a1d57600080fd5b6020830191508360208260051b8501011115614a3857600080fd5b9250929050565b60008060008060008060008060006101008a8c031215614a5e57600080fd5b8935985060208a013560098110614a7457600080fd5b975060408a013560078110614a8857600080fd5b9650614a9660608b016148d0565b9550614aa460808b016149de565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614acd57600080fd5b614ad98c828d016149f4565b915080935050809150509295985092959850929598565b60008083601f840112614b0257600080fd5b5081356001600160401b03811115614b1957600080fd5b602083019150836020828501011115614a3857600080fd5b600080600060408486031215614b4657600080fd5b8335925060208401356001600160401b03811115614b6357600080fd5b614b6f86828701614af0565b9497909650939450505050565b600060208284031215614b8e57600080fd5b5035919050565b60008060208385031215614ba857600080fd5b82356001600160401b03811115614bbe57600080fd5b614bca858286016149f4565b90969095509350505050565b600080600060608486031215614beb57600080fd5b614bf4846148d0565b95602085013595506040909401359392505050565b803580151581146148e757600080fd5b600060208284031215614c2b57600080fd5b6123ad82614c09565b600060208284031215614c4657600080fd5b6123ad826148d0565b60008060408385031215614c6257600080fd5b50508035926020909101359150565b60008060008060008060008060a0898b031215614c8d57600080fd5b614c96896148d0565b9750614ca460208a016148d0565b965060408901356001600160401b03811115614cbf57600080fd5b614ccb8b828c016149f4565b90975095505060608901356001600160401b03811115614cea57600080fd5b614cf68b828c016149f4565b90955093505060808901356001600160401b03811115614d1557600080fd5b614d218b828c01614af0565b999c989b5096995094979396929594505050565b803561ffff811681146148e757600080fd5b60008060408385031215614d5a57600080fd5b614d63836148d0565b9150614d7160208401614d35565b90509250929050565b60008060008060408587031215614d9057600080fd5b84356001600160401b03811115614da657600080fd5b614db2878288016149f4565b90955093505060208501356001600160401b03811115614dd157600080fd5b614ddd878288016149f4565b95989497509550505050565b602080825282518282018190526000918401906040840190835b81811015614e21578351835260209384019390920191600101614e03565b509095945050505050565b60008060008060608587031215614e4257600080fd5b843593506020850135925060408501356001600160401b03811115614e6657600080fd5b614ddd87828801614af0565b600081518084526020840193506020830160005b82811015614ea4578151865260209586019590910190600101614e86565b5093949350505050565b6020815260006123ad6020830184614e72565b8281526040602082015260006124b96040830184614964565b600080600060608486031215614eef57600080fd5b505081359360208301359350604090920135919050565b604081526000614f196040830185614e72565b90508260208301529392505050565b634e487b7160e01b600052602160045260246000fd5b60098110614f4e57614f4e614f28565b9052565b60078110614f4e57614f4e614f28565b88151581526101008101614f79602083018a614f3e565b614f866040830189614f52565b6001600160a01b0396909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b600080600060608486031215614fd657600080fd5b83359250602084013560028110614fec57600080fd5b929592945050506040919091013590565b6000806040838503121561501057600080fd5b615019836148d0565b9150614d7160208401614c09565b60008060008060006080868803121561503f57600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561506a57600080fd5b61507688828901614af0565b969995985093965092949392505050565b6000806020838503121561509a57600080fd5b82356001600160401b038111156150b057600080fd5b614bca85828601614af0565b6000806000606084860312156150d157600080fd5b6150da846148d0565b92506150e8602085016148d0565b91506150f6604085016148d0565b90509250925092565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561515857603f19878603018452615143858351614964565b94506020938401939190910190600101615127565b50929695505050505050565b60006020828403121561517657600080fd5b6123ad82614d35565b60028110614f4e57614f4e614f28565b6040810161519d828561517f565b8260208301529392505050565b600080604083850312156151bd57600080fd5b6151c6836148d0565b9150614d71602084016148d0565b600061010082018a151583526151ed602084018b614f3e565b6151fa604084018a614f52565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b8281101561527d5761011f19878603018452615268858351614964565b9450602093840193919091019060010161524b565b50929d9c50505050505050505050505050565b60008060008060008060a087890312156152a957600080fd5b6152b2876148d0565b95506152c0602088016148d0565b9450604087013593506060870135925060808701356001600160401b038111156152e957600080fd5b6152f589828a01614af0565b979a9699509497509295939492505050565b600181811c9082168061531b57607f821691505b60208210810361533b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808335601e1984360301811261535857600080fd5b8301803591506001600160401b0382111561537257600080fd5b602001915036819003821315614a3857600080fd5b6000808335601e1984360301811261539e57600080fd5b8301803591506001600160401b038211156153b857600080fd5b6020019150600581901b3603821315614a3857600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261541057600080fd5b83016020810192503590506001600160401b0381111561542f57600080fd5b803603821315614a3857600080fd5b600061010082018b8352615455602084018c614f3e565b615462604084018b614f52565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b830181019083018560005b868110156154e95785840361011f190183526154c782896153f9565b6154d28682846153d0565b9550505060209283019291909101906001016154ab565b50919d9c50505050505050505050505050565b6020808252810182905260006001600160fb1b0383111561551c57600080fd5b8260051b80856040850137919091016040019392505050565b83815260406020820152600061554f6040830184866153d0565b95945050505050565b8381526060810161556c602083018561517f565b826040830152949350505050565b84815283602082015260606040820152600061559a6060830184866153d0565b9695505050505050565b8581528460208201528360408201526080606082015260006155ca6080830184866153d0565b979650505050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611ac457806000526020600020601f840160051c810160208510156156125750805b601f840160051c820191505b8181101561259b576000815560010161561e565b6001600160401b03831115615649576156496155d5565b61565d836156578354615307565b836155eb565b6000601f84116001811461569157600085156156795750838201355b600019600387901b1c1916600186901b17835561259b565b600083815260209020601f19861690835b828110156156c257868501358255602094850194600190920191016156a2565b50868210156156df5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006124b96020830184866153d0565b60006020828403121561571757600080fd5b81516001600160401b0381111561572d57600080fd5b8201601f8101841361573e57600080fd5b80516001600160401b03811115615757576157576155d5565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615785576157856155d5565b60405281815282820160200186101561579d57600080fd5b61554f826020830160208601614940565b600081516157c0818560208601614940565b9290920192915050565b60008085546157d881615307565b6001821680156157ef576001811461580457615834565b60ff1983168652811515820286019350615834565b88600052602060002060005b8381101561582c57815488820152600190910190602001615810565b505081860193505b505050602f60f81b81528451615851816001840160208901614940565b0161586260018201602f60f81b9052565b61559a60028201856157ae565b60008383855260208501945060208460051b8201018360005b868110156158fa57838303601f19018852813536879003605e190181126158ae57600080fd5b860180358452602080820135908501526158cb60408201826153f9565b9150606060408601526158e26060860183836153d0565b60209a8b019a90955093909301925050600101615888565b50909695505050505050565b6040808252810184905260006060600586901b830181019083018783607e1936839003015b898210156159a357868503605f19018452823581811261594a57600080fd5b8b0180358652602080820135908701526040808201359087015261597160608201826153f9565b9150608060608801526159886080880183836153d0565b9650505060208301925060208401935060018201915061592b565b5050505082810360208401526155ca81858761586f565b60a0815260006159cd60a0830188614e72565b82810360208401526159df8188614e72565b6001600160a01b03968716604085015294861660608401525050921660809092019190915292915050565b6001600160a01b03858116825284166020820152608060408201819052600090615a3690830185614e72565b82810360608401526155ca8185614e72565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561163e5761163e615a5e565b8181038181111561163e5761163e615a5e56fe9acc624810693f9690f8fc3aa0075ea7214effe5b6653d1b0d3d42d9113c2000e2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f496700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702dcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00a2646970667358221220c8fba08e2a68017f01da422c61e064bcec7e89d777e1c803a9ab4391a649d2f664736f6c634300081c0033";
|
|
28
28
|
export const abxEditionLibAbi = [{ "type": "function", "name": "requireWithinEditionCap", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "view" }, { "type": "function", "name": "uri", "inputs": [{ "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "event", "name": "AbxExtensionVersionSet", "inputs": [{ "name": "extensionId", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "version", "type": "uint16", "indexed": false, "internalType": "uint16" }], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DefaultMaxSupplySet", "inputs": [{ "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MaxSupplyUpdated", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "cap", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TokenURIBaseSet", "inputs": [{ "name": "base", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "TokenURIOverrideSet", "inputs": [{ "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "uri", "type": "string", "indexed": false, "internalType": "string" }], "anonymous": false }, { "type": "event", "name": "TokenURIRendererSet", "inputs": [{ "name": "renderer", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TransferValidatorUpdated", "inputs": [{ "name": "oldValidator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newValidator", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "URI", "inputs": [{ "name": "value", "type": "string", "indexed": false, "internalType": "string" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "EditionSupplyReached", "inputs": [] }, { "type": "error", "name": "InvalidTransferValidator", "inputs": [] }, { "type": "error", "name": "MaxSupplyBelowFloor", "inputs": [] }, { "type": "error", "name": "MaxSupplyIncreaseForbidden", "inputs": [] }, { "type": "error", "name": "NotCreatorToken", "inputs": [] }, { "type": "error", "name": "TokenURIConfigLocked", "inputs": [] }];
|
|
29
|
-
export const abxEditionLibBytecode = "0x6121bf610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100e95760003560e01c806337da577c11610096578063da2bbfc711610070578063da2bbfc71461020e578063dda44fcf1461022e578063edbf22db1461024e578063ff87a5f51461026157600080fd5b806337da577c146101b95780635e5a9e30146101d9578063a9fc664e146101ee57600080fd5b806330aeb1e9116100c757806330aeb1e914610159578063325b818c146101795780633550780d1461019957600080fd5b80630e89341c146100ee57806314cb5667146101175780631622326a14610139575b600080fd5b6101016100fc3660046118ca565b610281565b60405161010e9190611951565b60405180910390f35b81801561012357600080fd5b50610137610132366004611964565b61051d565b005b81801561014557600080fd5b50610137610154366004611a24565b610614565b81801561016557600080fd5b50610137610174366004611b9a565b610798565b81801561018557600080fd5b50610137610194366004611c35565b610930565b8180156101a557600080fd5b506101376101b4366004611cbf565b610b09565b8180156101c557600080fd5b506101376101d4366004611cf4565b610da7565b8180156101e557600080fd5b50610137610f7e565b8180156101fa57600080fd5b50610137610209366004611d16565b611007565b81801561021a57600080fd5b50610137610229366004611d31565b6110b7565b81801561023a57600080fd5b50610137610249366004611d16565b6111f2565b61013761025c366004611cf4565b61134d565b81801561026d57600080fd5b5061013761027c366004611d16565b61145d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546060907f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156103a75760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561035a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526103a09190810190611d73565b9392505050565b6000838152600282016020526040812080546103c290611e27565b80601f01602080910402602001604051908101604052809291908181526020018280546103ee90611e27565b801561043b5780601f106104105761010080835404028352916020019161043b565b820191906000526020600020905b81548152906001019060200180831161041e57829003601f168201915b505050505090508051600014610452579392505050565b8154829061045f90611e27565b905060000361047f57505060408051602081019091526000815292915050565b61051582600001805461049190611e27565b80601f01602080910402602001604051908101604052809291908181526020018280546104bd90611e27565b801561050a5780601f106104df5761010080835404028352916020019161050a565b820191906000526020600020905b8154815290600101906020018083116104ed57829003601f168201915b5050505050856115be565b949350505050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16151560005b8281101561060e57600084848381811061057657610576611e7a565b9050602002013590507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7816040516105b091815260200190565b60405180910390a182156105c45750610606565b807f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b6105ef83610281565b6040516105fc9190611951565b60405180910390a2505b60010161055a565b50505050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156106aa576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260028201602052604090206106c5838583611ef5565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516106f892919061200f565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1600181015473ffffffffffffffffffffffffffffffffffffffff1661060e57837f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b61077d86610281565b60405161078a9190611951565b60405180910390a250505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e035473ffffffffffffffffffffffffffffffffffffffff16806107db5750610929565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036108145750610929565b60005b86518110156109265785818151811061083257610832611e7a565b60200260200101516000031561091e578173ffffffffffffffffffffffffffffffffffffffff166379a1662488838151811061087057610870611e7a565b60200260200101518787878b878151811061088d5761088d611e7a565b60200260200101516040518663ffffffff1660e01b81526004016108eb95949392919094855273ffffffffffffffffffffffffffffffffffffffff938416602086015291831660408501529091166060830152608082015260a00190565b600060405180830381600087803b15801561090557600080fd5b505af1158015610919573d6000803e3d6000fd5b505050505b600101610817565b50505b5050505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff1680610973575061060e565b73ffffffffffffffffffffffffffffffffffffffff851615806109aa575073ffffffffffffffffffffffffffffffffffffffff8416155b156109b5575061060e565b73ffffffffffffffffffffffffffffffffffffffff811633036109d8575061060e565b60005b8351811015610b01578281815181106109f6576109f6611e7a565b602002602001015160000315610af9578173ffffffffffffffffffffffffffffffffffffffff16631854b241338888888681518110610a3757610a37611e7a565b6020026020010151888781518110610a5157610a51611e7a565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015293851660248501529390911660448301526064820152608481019190915260a401600060405180830381600087803b158015610ae057600080fd5b505af1158015610af4573d6000803e3d6000fd5b505050505b6001016109db565b505050505050565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00908410610b6457610b5e84600161205c565b60018201555b600084815260208290526040902054158015610bc057507ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006000858152602091825260408082208583529092522060010154610100900460ff16155b1561060e577f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005473ffffffffffffffffffffffffffffffffffffffff168015610929577ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055604080517f0b1c2e720000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529151600092841691630b1c2e72916044808301926020929190829003018187875af1158015610ccb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cef9190612096565b6040517f838128170000000000000000000000000000000000000000000000000000000081526004810188905260248101869052604481018290526000606482015273ffffffffffffffffffffffffffffffffffffffff8416608482015290915073__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015610d8757600080fd5b505af4158015610d9b573d6000803e3d6000fd5b50505050505050505050565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615610e4e576000838152600182016020526040902054821115610e49576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e95565b805415801590610e5e5750805482115b15610e95576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054821015610efc576040517f63e8cab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526001828101602090815260408084208690556002850182529283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155905183815284917f44ecfc706d63e347851cfd40acfa6cf2e3a41faa3e8b460210c03938e84a91ad910160405180910390a2505050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff1661107b576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156110a0576110a082611607565b6110aa8183611659565b6110b3826116fb565b5050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff161561114d576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611159838583611ef5565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161118b92919061200f565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff81166112105750565b61121981611607565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781557f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060008190527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060209081527f0277275d1c2d776e406aa63934d6322ff8b8f55ddac0950b07303011b6f8cb0580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016600190811790915560408051918252517f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581929181900390910190a26110aa8183611659565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff161580156113ac57508054155b156113b657505050565b600083815260028201602052604081205460ff166113d55781546113e7565b60008481526001830160205260409020545b60008581527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054909150819061142590859061205c565b111561060e576040517fc7706eb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156114f3576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b6060826115ca46611799565b6115d3306117fb565b6115dc85611799565b6040516020016115ef94939291906120af565b60405160208183030381529060405290505b92915050565b600063a9b1c2d36000526000386004601c855afa823b1517905080156110b3576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff908116908216810361168157505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac91016111e5565b73ffffffffffffffffffffffffffffffffffffffff81166117195750565b6040517ffb2de5d7000000000000000000000000000000000000000000000000000000008152306004820152610483602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b15801561178857600080fd5b505af19250505080156110b3575050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806117b45750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60606118068261183d565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed0161187d575050919050565b6000602082840312156118dc57600080fd5b5035919050565b60005b838110156118fe5781810151838201526020016118e6565b50506000910152565b6000815180845261191f8160208601602086016118e3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006103a06020830184611907565b6000806020838503121561197757600080fd5b823567ffffffffffffffff81111561198e57600080fd5b8301601f8101851361199f57600080fd5b803567ffffffffffffffff8111156119b657600080fd5b8560208260051b84010111156119cb57600080fd5b6020919091019590945092505050565b60008083601f8401126119ed57600080fd5b50813567ffffffffffffffff811115611a0557600080fd5b602083019150836020828501011115611a1d57600080fd5b9250929050565b600080600060408486031215611a3957600080fd5b83359250602084013567ffffffffffffffff811115611a5757600080fd5b611a63868287016119db565b9497909650939450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611ae657611ae6611a70565b604052919050565b600082601f830112611aff57600080fd5b813567ffffffffffffffff811115611b1957611b19611a70565b8060051b611b2960208201611a9f565b91825260208185018101929081019086841115611b4557600080fd5b6020860192505b83831015611b67578235825260209283019290910190611b4c565b9695505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611b9557600080fd5b919050565b600080600080600060a08688031215611bb257600080fd5b853567ffffffffffffffff811115611bc957600080fd5b611bd588828901611aee565b955050602086013567ffffffffffffffff811115611bf257600080fd5b611bfe88828901611aee565b945050611c0d60408701611b71565b9250611c1b60608701611b71565b9150611c2960808701611b71565b90509295509295909350565b60008060008060808587031215611c4b57600080fd5b611c5485611b71565b9350611c6260208601611b71565b9250604085013567ffffffffffffffff811115611c7e57600080fd5b611c8a87828801611aee565b925050606085013567ffffffffffffffff811115611ca757600080fd5b611cb387828801611aee565b91505092959194509250565b600080600060608486031215611cd457600080fd5b83359250611ce460208501611b71565b9150604084013590509250925092565b60008060408385031215611d0757600080fd5b50508035926020909101359150565b600060208284031215611d2857600080fd5b6103a082611b71565b60008060208385031215611d4457600080fd5b823567ffffffffffffffff811115611d5b57600080fd5b611d67858286016119db565b90969095509350505050565b600060208284031215611d8557600080fd5b815167ffffffffffffffff811115611d9c57600080fd5b8201601f81018413611dad57600080fd5b805167ffffffffffffffff811115611dc757611dc7611a70565b611df860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611a9f565b818152856020838501011115611e0d57600080fd5b611e1e8260208301602086016118e3565b95945050505050565b600181811c90821680611e3b57607f821691505b602082108103611e74577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115611ef057806000526020600020601f840160051c81016020851015611ed05750805b601f840160051c820191505b818110156109295760008155600101611edc565b505050565b67ffffffffffffffff831115611f0d57611f0d611a70565b611f2183611f1b8354611e27565b83611ea9565b6000601f841160018114611f735760008515611f3d5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610929565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611fc25786850135825560209485019460019092019101611fa2565b5086821015611ffd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b80820180821115611601577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000602082840312156120a857600080fd5b5051919050565b600085516120c1818460208a016118e3565b7f2f0000000000000000000000000000000000000000000000000000000000000090830190815285516120fb816001840160208a016118e3565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516121398160028401602089016118e3565b6001818301019150507f2f000000000000000000000000000000000000000000000000000000000000006001820152835161217b8160028401602088016118e3565b01600201969550505050505056fea264697066735822122075dc5f06a4e5642e560c26707869c7af8ef251a011e0a3ed2096886f507537ea64736f6c634300081c0033";
|
|
29
|
+
export const abxEditionLibBytecode = "0x6121bf610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100e95760003560e01c806337da577c11610096578063da2bbfc711610070578063da2bbfc71461020e578063dda44fcf1461022e578063edbf22db1461024e578063ff87a5f51461026157600080fd5b806337da577c146101b95780635e5a9e30146101d9578063a9fc664e146101ee57600080fd5b806330aeb1e9116100c757806330aeb1e914610159578063325b818c146101795780633550780d1461019957600080fd5b80630e89341c146100ee57806314cb5667146101175780631622326a14610139575b600080fd5b6101016100fc3660046118ca565b610281565b60405161010e9190611951565b60405180910390f35b81801561012357600080fd5b50610137610132366004611964565b61051d565b005b81801561014557600080fd5b50610137610154366004611a24565b610614565b81801561016557600080fd5b50610137610174366004611b9a565b610798565b81801561018557600080fd5b50610137610194366004611c35565b610930565b8180156101a557600080fd5b506101376101b4366004611cbf565b610b09565b8180156101c557600080fd5b506101376101d4366004611cf4565b610da7565b8180156101e557600080fd5b50610137610f7e565b8180156101fa57600080fd5b50610137610209366004611d16565b611007565b81801561021a57600080fd5b50610137610229366004611d31565b6110b7565b81801561023a57600080fd5b50610137610249366004611d16565b6111f2565b61013761025c366004611cf4565b61134d565b81801561026d57600080fd5b5061013761027c366004611d16565b61145d565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201546060907f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156103a75760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561035a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526103a09190810190611d73565b9392505050565b6000838152600282016020526040812080546103c290611e27565b80601f01602080910402602001604051908101604052809291908181526020018280546103ee90611e27565b801561043b5780601f106104105761010080835404028352916020019161043b565b820191906000526020600020905b81548152906001019060200180831161041e57829003601f168201915b505050505090508051600014610452579392505050565b8154829061045f90611e27565b905060000361047f57505060408051602081019091526000815292915050565b61051582600001805461049190611e27565b80601f01602080910402602001604051908101604052809291908181526020018280546104bd90611e27565b801561050a5780601f106104df5761010080835404028352916020019161050a565b820191906000526020600020905b8154815290600101906020018083116104ed57829003601f168201915b5050505050856115be565b949350505050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16151560005b8281101561060e57600084848381811061057657610576611e7a565b9050602002013590507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7816040516105b091815260200190565b60405180910390a182156105c45750610606565b807f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b6105ef83610281565b6040516105fc9190611951565b60405180910390a2505b60010161055a565b50505050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156106aa576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260028201602052604090206106c5838583611ef5565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516106f892919061200f565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1600181015473ffffffffffffffffffffffffffffffffffffffff1661060e57837f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b61077d86610281565b60405161078a9190611951565b60405180910390a250505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e035473ffffffffffffffffffffffffffffffffffffffff16806107db5750610929565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036108145750610929565b60005b86518110156109265785818151811061083257610832611e7a565b60200260200101516000031561091e578173ffffffffffffffffffffffffffffffffffffffff166379a1662488838151811061087057610870611e7a565b60200260200101518787878b878151811061088d5761088d611e7a565b60200260200101516040518663ffffffff1660e01b81526004016108eb95949392919094855273ffffffffffffffffffffffffffffffffffffffff938416602086015291831660408501529091166060830152608082015260a00190565b600060405180830381600087803b15801561090557600080fd5b505af1158015610919573d6000803e3d6000fd5b505050505b600101610817565b50505b5050505050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff1680610973575061060e565b73ffffffffffffffffffffffffffffffffffffffff851615806109aa575073ffffffffffffffffffffffffffffffffffffffff8416155b156109b5575061060e565b73ffffffffffffffffffffffffffffffffffffffff811633036109d8575061060e565b60005b8351811015610b01578281815181106109f6576109f6611e7a565b602002602001015160000315610af9578173ffffffffffffffffffffffffffffffffffffffff16631854b241338888888681518110610a3757610a37611e7a565b6020026020010151888781518110610a5157610a51611e7a565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015293851660248501529390911660448301526064820152608481019190915260a401600060405180830381600087803b158015610ae057600080fd5b505af1158015610af4573d6000803e3d6000fd5b505050505b6001016109db565b505050505050565b7fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d01547fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d00908410610b6457610b5e84600161205c565b60018201555b600084815260208290526040902054158015610bc057507ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006000858152602091825260408082208583529092522060010154610100900460ff16155b1561060e577f66115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6005473ffffffffffffffffffffffffffffffffffffffff168015610929577ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055604080517f0b1c2e720000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff86811660248301529151600092841691630b1c2e72916044808301926020929190829003018187875af1158015610ccb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cef9190612096565b6040517f838128170000000000000000000000000000000000000000000000000000000081526004810188905260248101869052604481018290526000606482015273ffffffffffffffffffffffffffffffffffffffff8416608482015290915073__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015610d8757600080fd5b505af4158015610d9b573d6000803e3d6000fd5b50505050505050505050565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff1615610e4e576000838152600182016020526040902054821115610e49576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e95565b805415801590610e5e5750805482115b15610e95576040517f8ec0c55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054821015610efc576040517f63e8cab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526001828101602090815260408084208690556002850182529283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155905183815284917f44ecfc706d63e347851cfd40acfa6cf2e3a41faa3e8b460210c03938e84a91ad910160405180910390a2505050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff1661107b576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156110a0576110a082611607565b6110aa8183611659565b6110b3826116fb565b5050565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff161561114d576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611159838583611ef5565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161118b92919061200f565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff81166112105750565b61121981611607565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781557f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060008190527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060209081527f0277275d1c2d776e406aa63934d6322ff8b8f55ddac0950b07303011b6f8cb0580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016600190811790915560408051918252517f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d581929181900390910190a26110aa8183611659565b60008281527fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef74610190260205260409020547fc4960b2fd926543d3aa3e916a4274bd00c974a1fb001ba681de20ef7461019009060ff161580156113ac57508054155b156113b657505050565b600083815260028201602052604081205460ff166113d55781546113e7565b60008481526001830160205260409020545b60008581527fdcc250bca9557e5ac303767bfedf6db08e36e88a508d05ccff5ec9e75fba5d006020526040902054909150819061142590859061205c565b111561060e576040517fc7706eb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156114f3576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b6060826115ca46611799565b6115d3306117fb565b6115dc85611799565b6040516020016115ef94939291906120af565b60405160208183030381529060405290505b92915050565b600063a9b1c2d36000526000386004601c855afa823b1517905080156110b3576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff908116908216810361168157505050565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217855560408051918416825260208201929092527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac91016111e5565b73ffffffffffffffffffffffffffffffffffffffff81166117195750565b6040517ffb2de5d7000000000000000000000000000000000000000000000000000000008152306004820152610483602482015273ffffffffffffffffffffffffffffffffffffffff82169063fb2de5d790604401600060405180830381600087803b15801561178857600080fd5b505af19250505080156110b3575050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806117b45750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60606118068261183d565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed0161187d575050919050565b6000602082840312156118dc57600080fd5b5035919050565b60005b838110156118fe5781810151838201526020016118e6565b50506000910152565b6000815180845261191f8160208601602086016118e3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006103a06020830184611907565b6000806020838503121561197757600080fd5b823567ffffffffffffffff81111561198e57600080fd5b8301601f8101851361199f57600080fd5b803567ffffffffffffffff8111156119b657600080fd5b8560208260051b84010111156119cb57600080fd5b6020919091019590945092505050565b60008083601f8401126119ed57600080fd5b50813567ffffffffffffffff811115611a0557600080fd5b602083019150836020828501011115611a1d57600080fd5b9250929050565b600080600060408486031215611a3957600080fd5b83359250602084013567ffffffffffffffff811115611a5757600080fd5b611a63868287016119db565b9497909650939450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611ae657611ae6611a70565b604052919050565b600082601f830112611aff57600080fd5b813567ffffffffffffffff811115611b1957611b19611a70565b8060051b611b2960208201611a9f565b91825260208185018101929081019086841115611b4557600080fd5b6020860192505b83831015611b67578235825260209283019290910190611b4c565b9695505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611b9557600080fd5b919050565b600080600080600060a08688031215611bb257600080fd5b853567ffffffffffffffff811115611bc957600080fd5b611bd588828901611aee565b955050602086013567ffffffffffffffff811115611bf257600080fd5b611bfe88828901611aee565b945050611c0d60408701611b71565b9250611c1b60608701611b71565b9150611c2960808701611b71565b90509295509295909350565b60008060008060808587031215611c4b57600080fd5b611c5485611b71565b9350611c6260208601611b71565b9250604085013567ffffffffffffffff811115611c7e57600080fd5b611c8a87828801611aee565b925050606085013567ffffffffffffffff811115611ca757600080fd5b611cb387828801611aee565b91505092959194509250565b600080600060608486031215611cd457600080fd5b83359250611ce460208501611b71565b9150604084013590509250925092565b60008060408385031215611d0757600080fd5b50508035926020909101359150565b600060208284031215611d2857600080fd5b6103a082611b71565b60008060208385031215611d4457600080fd5b823567ffffffffffffffff811115611d5b57600080fd5b611d67858286016119db565b90969095509350505050565b600060208284031215611d8557600080fd5b815167ffffffffffffffff811115611d9c57600080fd5b8201601f81018413611dad57600080fd5b805167ffffffffffffffff811115611dc757611dc7611a70565b611df860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611a9f565b818152856020838501011115611e0d57600080fd5b611e1e8260208301602086016118e3565b95945050505050565b600181811c90821680611e3b57607f821691505b602082108103611e74577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115611ef057806000526020600020601f840160051c81016020851015611ed05750805b601f840160051c820191505b818110156109295760008155600101611edc565b505050565b67ffffffffffffffff831115611f0d57611f0d611a70565b611f2183611f1b8354611e27565b83611ea9565b6000601f841160018114611f735760008515611f3d5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610929565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611fc25786850135825560209485019460019092019101611fa2565b5086821015611ffd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b80820180821115611601577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000602082840312156120a857600080fd5b5051919050565b600085516120c1818460208a016118e3565b7f2f0000000000000000000000000000000000000000000000000000000000000090830190815285516120fb816001840160208a016118e3565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516121398160028401602089016118e3565b6001818301019150507f2f000000000000000000000000000000000000000000000000000000000000006001820152835161217b8160028401602088016118e3565b01600201969550505050505056fea2646970667358221220115604f3580e207e6d93170b4d342ff745fd05b2bbb312c07513665863fa0c8a64736f6c634300081c0033";
|
|
30
30
|
export const abxMetadataLibAbi = [{ "type": "function", "name": "contractField", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "contractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "tokenField", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "representation", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "tokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "field", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractFieldLocked", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ContractFieldSet", "inputs": [{ "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "ContractURIUpdated", "inputs": [], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "TokenFieldLocked", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "TokenFieldSet", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "field", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "representation", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "value", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }];
|
|
31
|
-
export const abxMetadataLibBytecode = "
|
|
31
|
+
export const abxMetadataLibBytecode = "0x6110ca610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100c85760003560e01c8063913b385a11610080578063a482c94611610065578063a482c94614610214578063ae3748cc14610234578063e4df18ec1461025457600080fd5b8063913b385a146101a7578063a148d8cf146101c757600080fd5b806355828c50116100b157806355828c501461014657806368e67b16146101675780638e08141f1461018757600080fd5b80632e73cddb146100cd5780633dda44b014610124575b600080fd5b61010f6100db366004610a96565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b60405190151581526020015b60405180910390f35b81801561013057600080fd5b5061014461013f366004610aaf565b610267565b005b610159610154366004610a96565b6102f6565b60405161011b929190610ad1565b81801561017357600080fd5b50610144610182366004610b89565b6103c6565b81801561019357600080fd5b506101446101a2366004610a96565b610504565b8180156101b357600080fd5b506101446101c2366004610c4a565b610584565b61010f6101d5366004610aaf565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b81801561022057600080fd5b5061014461022f366004610c9d565b610618565b81801561024057600080fd5b5061014461024f366004610ced565b61065f565b610159610262366004610aaf565b61074c565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061033c90610d52565b80601f016020809104026020016040519081016040528092919081815260200182805461036890610d52565b80156103b55780601f1061038a576101008083540402835291602001916103b5565b820191906000526020600020905b81548152906001019060200180831161039857829003601f168201915b505050505090509250925050915091565b60005b8381101561046157610459868686848181106103e7576103e7610da5565b90506020028101906103f99190610dd4565b3587878581811061040c5761040c610da5565b905060200281019061041e9190610dd4565b6020013588888681811061043457610434610da5565b90506020028101906104469190610dd4565b610454906040810190610e12565b61082a565b6001016103c9565b5060005b818110156104fc576104f483838381811061048257610482610da5565b90506020028101906104949190610dd4565b358484848181106104a7576104a7610da5565b90506020028101906104b99190610dd4565b602001358585858181106104cf576104cf610da5565b90506020028101906104e19190610dd4565b6104ef906040810190610e12565b61096a565b600101610465565b505050505050565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6105908484848461096a565b60408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a16040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b610625858585858561082a565b6040518581527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050505050565b60005b8381101561071c5761071485858381811061067f5761067f610da5565b90506020028101906106919190610e77565b358686848181106106a4576106a4610da5565b90506020028101906106b69190610e77565b602001358787858181106106cc576106cc610da5565b90506020028101906106de9190610e77565b604001358888868181106106f4576106f4610da5565b90506020028101906107069190610e77565b610454906060810190610e12565b600101610662565b5060005b818110156107455761073d83838381811061048257610482610da5565b600101610720565b5050505050565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061079d90610d52565b80601f01602080910402602001604051908101604052809291908181526020018280546107c990610d52565b80156108165780601f106107eb57610100808354040283529160200191610816565b820191906000526020600020905b8154815290600101906020018083116107f957829003601f168201915b5050505050905092509250505b9250929050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156108bf576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008290036108fa576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101610923848683610f26565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161095993929190611040565b60405180910390a350505050505050565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156109f4576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003610a2f576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101610a51848683610f26565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051610a8693929190611040565b60405180910390a2505050505050565b600060208284031215610aa857600080fd5b5035919050565b60008060408385031215610ac257600080fd5b50508035926020909101359150565b828152604060208201526000825180604084015260005b81811015610b055760208186018101516060868401015201610ae8565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509392505050565b60008083601f840112610b5657600080fd5b50813567ffffffffffffffff811115610b6e57600080fd5b6020830191508360208260051b850101111561082357600080fd5b600080600080600060608688031215610ba157600080fd5b85359450602086013567ffffffffffffffff811115610bbf57600080fd5b610bcb88828901610b44565b909550935050604086013567ffffffffffffffff811115610beb57600080fd5b610bf788828901610b44565b969995985093965092949392505050565b60008083601f840112610c1a57600080fd5b50813567ffffffffffffffff811115610c3257600080fd5b60208301915083602082850101111561082357600080fd5b60008060008060608587031215610c6057600080fd5b8435935060208501359250604085013567ffffffffffffffff811115610c8557600080fd5b610c9187828801610c08565b95989497509550505050565b600080600080600060808688031215610cb557600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115610ce157600080fd5b610bf788828901610c08565b60008060008060408587031215610d0357600080fd5b843567ffffffffffffffff811115610d1a57600080fd5b610d2687828801610b44565b909550935050602085013567ffffffffffffffff811115610d4657600080fd5b610c9187828801610b44565b600181811c90821680610d6657607f821691505b602082108103610d9f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610e0857600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e4757600080fd5b83018035915067ffffffffffffffff821115610e6257600080fd5b60200191503681900382131561082357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610e0857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610f2157806000526020600020601f840160051c81016020851015610f015750805b601f840160051c820191505b818110156107455760008155600101610f0d565b505050565b67ffffffffffffffff831115610f3e57610f3e610eab565b610f5283610f4c8354610d52565b83610eda565b6000601f841160018114610fa45760008515610f6e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610745565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015610ff35786850135825560209485019460019092019101610fd3565b508682101561102e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019291505056fea26469706673582212200914090b5c2186332bf4ff95257c8bf2fdab48b464c326e3531dad92af03ec1c64736f6c634300081c0033";
|
|
32
32
|
export const abxFixedPriceMinter1155Abi = [{ "type": "function", "name": "configure", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "purchase", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "qty", "type": "uint256", "internalType": "uint256" }, { "name": "expectedPaymentToken", "type": "address", "internalType": "address" }, { "name": "maxTotalPrice", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "purchaseTo", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }, { "name": "qty", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "expectedPaymentToken", "type": "address", "internalType": "address" }, { "name": "maxTotalPrice", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "sales", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "configured", "type": "bool", "internalType": "bool" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }, { "name": "sold", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "Purchase", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SaleConfigured", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AllocationBelowSold", "inputs": [] }, { "type": "error", "name": "AllocationExhausted", "inputs": [] }, { "type": "error", "name": "NoPrimaryPayee", "inputs": [] }, { "type": "error", "name": "NotConfigured", "inputs": [] }, { "type": "error", "name": "NotProjectOwner", "inputs": [] }, { "type": "error", "name": "Reentrancy", "inputs": [] }, { "type": "error", "name": "SaleTermsChanged", "inputs": [] }, { "type": "error", "name": "WrongPayment", "inputs": [] }, { "type": "error", "name": "ZeroQuantity", "inputs": [] }];
|
|
33
|
-
export const abxFixedPriceMinter1155Bytecode = "
|
|
33
|
+
export const abxFixedPriceMinter1155Bytecode = "0x6080604052348015600f57600080fd5b50610af58061001f6000396000f3fe60806040526004361061003f5760003560e01c80633a1c83ac1461004457806347b61356146100f0578063a4eb224014610105578063c546c95214610118575b600080fd5b34801561005057600080fd5b506100ad61005f36600461090b565b6000602081815292815260408082209093529081522080546001820154600283015460039093015460ff83169361010090930473ffffffffffffffffffffffffffffffffffffffff16929085565b60408051951515865273ffffffffffffffffffffffffffffffffffffffff9094166020860152928401919091526060830152608082015260a00160405180910390f35b6101036100fe366004610937565b610138565b005b610103610113366004610989565b610184565b34801561012457600080fd5b506101036101333660046109f0565b6101d1565b3068929eee149b4bd2126854036101575763ab143c066000526004601cfd5b3068929eee149b4bd2126855610171858585338686610352565b3868929eee149b4bd21268555050505050565b3068929eee149b4bd2126854036101a35763ab143c066000526004601cfd5b3068929eee149b4bd21268556101bd868686868686610352565b3868929eee149b4bd2126855505050505050565b6101da856107e8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461023e576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516600090815260208181526040808320878452909152902060038101548210156102aa576040517fb72785d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805473ffffffffffffffffffffffffffffffffffffffff85811661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000009093169290921760019081178455830185905560028301849055604080519283526020830186905282018490528691908816907fe5a7e9d14be75ee6a3536e3dd982da3f8886e25a773c14f0ae215645479434009060600160405180910390a3505050505050565b8360000361038c576040517ff4f5b73300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff86166000908152602081815260408083208884529091529020805460ff166103f5576040517fd311bc3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806002015485826003015461040a9190610a71565b1115610442576040517f7787310b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff1663d8b4f8ac6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b39190610a84565b905073ffffffffffffffffffffffffffffffffffffffff8116610502576040517f662bebf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018201548254610100900473ffffffffffffffffffffffffffffffffffffffff1660006105308984610aa8565b90508673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610597576040517ff73a363200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b858111156105d1576040517ff73a363200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b888560030160008282546105e59190610a71565b909155505073ffffffffffffffffffffffffffffffffffffffff82166106435780341461063e576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61069d565b341561067b576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61069d73ffffffffffffffffffffffffffffffffffffffff831633868461085f565b6040517f156e29f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018c9052604482018b90528c169063156e29f690606401600060405180830381600087803b15801561071457600080fd5b505af1158015610728573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff821615801561074f57508015155b156107745761077473ffffffffffffffffffffffffffffffffffffffff8516826108c6565b604080518b8152602081018b905273ffffffffffffffffffffffffffffffffffffffff848116828401526060820186905291518a8316923392908f16917f9c329a32f319f0ec31aa909cfb5006aa7c3146e71afa8b4672c01b2d3013ea559181900360800190a45050505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108599190610a84565b92915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af180600160005114166108b757803d873b1517106108b757637939f4246000526004601cfd5b50600060605260405250505050565b60003860003884865af16108e25763b12d13eb6000526004601cfd5b5050565b73ffffffffffffffffffffffffffffffffffffffff8116811461090857600080fd5b50565b6000806040838503121561091e57600080fd5b8235610929816108e6565b946020939093013593505050565b600080600080600060a0868803121561094f57600080fd5b853561095a816108e6565b945060208601359350604086013592506060860135610978816108e6565b949793965091946080013592915050565b60008060008060008060c087890312156109a257600080fd5b86356109ad816108e6565b9550602087013594506040870135935060608701356109cb816108e6565b925060808701356109db816108e6565b9598949750929591949360a090920135925050565b600080600080600060a08688031215610a0857600080fd5b8535610a13816108e6565b9450602086013593506040860135610a2a816108e6565b94979396509394606081013594506080013592915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561085957610859610a42565b600060208284031215610a9657600080fd5b8151610aa1816108e6565b9392505050565b808202811582820484141761085957610859610a4256fea26469706673582212208ffce2a80c20bd701ae81cbfa758dd879e426d194c9ce0252813b3d621f2e31964736f6c634300081c0033";
|
|
34
34
|
export const abxSeedSourceAbi = [{ "type": "function", "name": "seed", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }];
|
|
35
35
|
export const abxSeedSourceBytecode = "0x6080604052348015600f57600080fd5b506101898061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80630b1c2e7214610030575b600080fd5b61004361003e3660046100d0565b610055565b60405190815260200160405180910390f35b6000338344610065600143610119565b60405160609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208501526034840192909252605483015240607482015242609482015260b4016040516020818303038152906040528051906020012090505b92915050565b600080604083850312156100e357600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff8116811461010e57600080fd5b809150509250929050565b818103818111156100ca577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220a6b9623eb611aa2ce6762451d62cd4aca357b43e582814a449799444f78da02a64736f6c634300081c0033";
|
|
36
36
|
export const abxParamsLibAbi = [{ "type": "function", "name": "contractParamKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "contractParamKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "delegateRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "hasSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooks", "inputs": [], "outputs": [{ "name": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramHooksLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "exists", "type": "bool", "internalType": "bool" }, { "name": "paramType", "type": "IAbxConfigurableParams.ParamType", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "IAbxConfigurableParams.AuthOption", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "internalType": "string[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaHead", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "exists", "type": "bool", "internalType": "bool" }, { "name": "paramType", "type": "IAbxConfigurableParams.ParamType", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "IAbxConfigurableParams.AuthOption", "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "internalType": "uint48" }, { "name": "min", "type": "bytes32", "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "internalType": "bytes32" }, { "name": "selectOptionCount", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeys", "inputs": [], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaKeysPaged", "inputs": [{ "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "selectOption", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeys", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "tokenParamKeysPaged", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "start", "type": "uint256", "internalType": "uint256" }, { "name": "count", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "keys", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "total", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ContractParamCleared", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "ContractParamConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DelegateRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "HooksConfigured", "inputs": [{ "name": "configureHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "augmentHook", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transferHook", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ParamHooksFrozen", "inputs": [], "anonymous": false }, { "type": "event", "name": "ParamSchemaConfigured", "inputs": [{ "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "paramType", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "auth", "type": "uint8", "indexed": false, "internalType": "enum IAbxConfigurableParams.AuthOption" }, { "name": "authAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "lockAfter", "type": "uint48", "indexed": false, "internalType": "uint48" }, { "name": "min", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "max", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "selectOptions", "type": "string[]", "indexed": false, "internalType": "string[]" }], "anonymous": false }, { "type": "event", "name": "TokenParamCleared", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "TokenParamConfigured", "inputs": [{ "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "key", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "valueIsHash", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "updatedBy", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "EmptyParamValue", "inputs": [] }, { "type": "error", "name": "InvalidParamKey", "inputs": [] }, { "type": "error", "name": "InvalidParamSchema", "inputs": [] }, { "type": "error", "name": "InvalidParamValue", "inputs": [] }, { "type": "error", "name": "NoParamSchema", "inputs": [] }, { "type": "error", "name": "NotParamAuthorized", "inputs": [] }, { "type": "error", "name": "ParamHooksLocked", "inputs": [] }, { "type": "error", "name": "ParamLockExpired", "inputs": [] }, { "type": "error", "name": "ParamLockNotExtendable", "inputs": [] }, { "type": "error", "name": "ParamNotSet", "inputs": [] }, { "type": "error", "name": "SchemaGoverned", "inputs": [] }, { "type": "error", "name": "SeedSettled", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "WrongValuePath", "inputs": [] }];
|
|
37
|
-
export const abxParamsLibBytecode = "0x6142ed610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061024b5760003560e01c80636c59f7591161014f5780639ffefae6116100c7578063d84d644611610096578063e42b7baf1161007b578063e42b7baf146107c0578063f2235701146107e0578063f8d3adc81461080757600080fd5b8063d84d64461461078d578063e1b79381146107ad57600080fd5b80639ffefae614610727578063aa0de18d14610747578063c4f2604814610767578063cc1cf5151461077a57600080fd5b8063909206e31161011e57806392b29b171161010357806392b29b17146106c757806392b8e739146106e75780639a851cec1461070757600080fd5b8063909206e31461069f578063909d716e146106a757600080fd5b80636c59f7591461057457806374828e341461059e578063838128171461065f57806386b7f6a41461067f57600080fd5b80633990b221116101e25780634efdb5ae116101b15780635b02f81c116101965780635b02f81c1461051e5780635d0b72201461053f578063690533741461055457600080fd5b80634efdb5ae146104e957806355580cca1461050957600080fd5b80633990b221146103ec5780633ba1bd861461040c5780633c59f1bb1461042c578063487fbd2b146104c957600080fd5b80631c31cac31161021e5780631c31cac3146103305780631de450a0146103505780632ed48300146103ac57806333fe6d14146103cc57600080fd5b806302d66fc2146102505780630b4c562b146102a75780630ba2352a146102c957806313bfffac146102e9575b600080fd5b61029261025e366004613677565b60009081527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff1690565b60405190151581526020015b60405180910390f35b8180156102b357600080fd5b506102c76102c23660046136d2565b610827565b005b8180156102d557600080fd5b506102c76102e4366004613750565b610849565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161029e565b81801561033c57600080fd5b506102c761034b3660046137af565b610960565b81801561035c57600080fd5b506102c77ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b8180156103b857600080fd5b506102c76103c73660046137cc565b610974565b8180156103d857600080fd5b506102c76103e73660046137cc565b610a21565b8180156103f857600080fd5b506102c7610407366004613837565b610bdd565b61041f61041a366004613837565b610bff565b60405161029e91906138c7565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546040805173ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292169181019190915260600161029e565b8180156104d557600080fd5b506102c76104e43660046137af565b610d00565b8180156104f557600080fd5b506102c76105043660046138da565b610d8e565b610511610dbd565b60405161029e9190613969565b61053161052c36600461397c565b610e11565b60405161029e9291906139a8565b81801561054b57600080fd5b506102c7610e5a565b81801561056057600080fd5b506102c761056f366004613677565b610ed7565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e065460ff16610292565b61064b6105ac366004613677565b60009081527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e006020526040902080546001820154600283015460039093015460ff808416956101008504821695620100008604909216946301000000810473ffffffffffffffffffffffffffffffffffffffff16947701000000000000000000000000000000000000000000000090910465ffffffffffff1693909291565b60405161029e989796959493929190613a1d565b81801561066b57600080fd5b506102c761067a366004613a99565b610ee9565b81801561068b57600080fd5b506102c761069a36600461397c565b611237565b610511611256565b8180156106b357600080fd5b506102c76106c2366004613adf565b6112a4565b8180156106d357600080fd5b506102c76106e236600461397c565b611496565b8180156106f357600080fd5b506102c7610702366004613b1c565b6114c4565b81801561071357600080fd5b506102c7610722366004613b55565b6116b5565b81801561073357600080fd5b506102c7610742366004613be0565b611866565b81801561075357600080fd5b506102c7610762366004613c92565b611fdd565b610531610775366004613837565b61210a565b610531610788366004613837565b612145565b81801561079957600080fd5b506102c76107a8366004613cd2565b612174565b6105116107bb366004613677565b612223565b8180156107cc57600080fd5b506102c76107db3660046138da565b612285565b6107f36107ee366004613677565b6122a3565b60405161029e989796959493929190613d08565b81801561081357600080fd5b506102c7610822366004613837565b612432565b61082f61244e565b610838836124d6565b61084483838333610849565b505050565b6000829003610884576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108c383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061253e92505050565b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092179091555161095a90859061094a9086908690613dee565b60405180910390206001846112a4565b50505050565b61096861244e565b61097181610d00565b50565b60008290036109af576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109b884612582565b610a1a85856109fc86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061253e92505050565b8686604051610a0c929190613dee565b6040518091039020856125db565b5050505050565b6000610a2e86868461265f565b905060078154610100900460ff166008811115610a4d57610a4d6139ca565b14158015610a76575060088154610100900460ff166008811115610a7357610a736139ca565b14155b15610aad576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000839003610ae8576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60078154610100900460ff166008811115610b0557610b056139ca565b148015610b195750610b178484612782565b155b15610b50576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5985612582565b6000610b9a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061253e92505050565b905060008585604051610bae929190613dee565b6040519081900390209050610bc6888883888661297e565b610bd388888484336125db565b5050505050505050565b610be561244e565b610bee826124d6565b610bfb82826000336112a4565b5050565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090206003018054606091908310610c51575050604080516020810190915260008152610cfa565b808381548110610c6357610c63613dfe565b906000526020600020018054610c7890613e2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca490613e2d565b8015610cf15780601f10610cc657610100808354040283529160200191610cf1565b820191906000526020600020905b815481529060010190602001808311610cd457829003601f168201915b50505050509150505b92915050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f45f18b5e88ce952d701fc020d1b6358f7380553c64fd639216568803f072105590600090a250565b61095a848484846103e77fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b6060610e0b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530660007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612a6c565b50919050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609190610e4d908585612a6c565b915091505b935093915050565b610e6261244e565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517f22b5ba170f5498ca48788ca02fd88a94140feded725589294c93003065215b3e90600090a1565b610edf61244e565b61097181336116b5565b610ef284612b3a565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853007f8c9a9a9c00000000000000000000000000000000000000000000000000000000850161103857600086815260208281526040808320888452909152902060010154610100900460ff168015610fd357507f73656564000000000000000000000000000000000000000000000000000000006000527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e006020527f59aef8a84236254bede197dcd6711409a45a4fb3879f18e18f1f3c49eaf2af825460ff16155b1561100a576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b8215801561107657506000868152600282016020908152604080832088845290915290205473ffffffffffffffffffffffffffffffffffffffff1615155b156110bd5760008681526002820160209081526040808320888452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008c81528784528681208c8252909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790557f736565640000000000000000000000000000000000000000000000000000000085146111a65760008681526004820160209081526040808320600585019092529091206111a6919087612cd4565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff841691879189917fde0436cfd14f6250e38daf8e3605d7a54612abb0d9a1ac04278609edb949cd78910160405180910390a46040518681527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b61123f61244e565b611248826124d6565b610844838383600033610ee9565b6060610e0b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612a6c565b6112ad84612b3a565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300821580156113015750600085815260038201602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b1561133d576000858152600382016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008b8152878301909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790556113e2600682016007830187612cd4565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff84169187917fbf1b8f39d36a4cce40517cfc4e2f6dc657084b06295ee413186ecc58050e0a57910160405180910390a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050505050565b6108448383836107a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020818152604080842086855290915290912060010154610100900460ff1661153f576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f73656564000000000000000000000000000000000000000000000000000000008303611598576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260208281526040808320868452825280832083815560010180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055868352600284018252808320868452825280832080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905586835260048401825280832060058501909252909120611636919085612d42565b8173ffffffffffffffffffffffffffffffffffffffff1683857feb7b2bd8dec13c1b2bc4577645e93c668e7071d4d417003ecf89c4dd718d8f9360405160405180910390a46040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020015b60405180910390a150505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530160205260409020600101547ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530090610100900460ff16611746576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260018083016020908152604080842084815590920180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055600384019052902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556117c5600682016007830185612d42565b60405173ffffffffffffffffffffffffffffffffffffffff83169084907f64e0133266c985f5558f93bca4421f7ca6a7f4f1cce7c77b10b4bb6d2a7e5f1990600090a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b61186f89612b3a565b7f7365656400000000000000000000000000000000000000000000000000000000890361195f577ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853085460ff16156118f2576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007886008811115611906576119066139ca565b148061192357506008886008811115611921576119216139ca565b145b1561195a576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a0d565b887f636861696e49640000000000000000000000000000000000000000000000000014806119ac5750887f636f6e7472616374416464726573730000000000000000000000000000000000145b806119d65750887f746f6b656e496400000000000000000000000000000000000000000000000000145b15611a0d576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001886008811115611a2157611a216139ca565b03611a66576000819003611a61576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a9e565b8015611a9e576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003886008811115611ab257611ab26139ca565b03611af65782841315611af1576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b3b565b8215801590611b0457508284115b15611b3b576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002886006811115611b5157611b516139ca565b1480611b6e57506004886006811115611b6c57611b6c6139ca565b145b80611b8a57506005886006811115611b8857611b886139ca565b145b80611ba657506006886006811115611ba457611ba46139ca565b145b905080151573ffffffffffffffffffffffffffffffffffffffff8816151514611bfb576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008a81527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060208190526040909120805477010000000000000000000000000000000000000000000000900465ffffffffffff1615801590611c815750805477010000000000000000000000000000000000000000000000900465ffffffffffff1642115b15611cb8576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff16611d04576005820180546001818101835560009283526020909220018d905581547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161781555b80548b9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100836008811115611d4157611d416139ca565b021790555080548a9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1662010000836006811115611d8457611d846139ca565b021790555080547fffffffffffffffffff0000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff8b16021780825577010000000000000000000000000000000000000000000000900465ffffffffffff1615801590611e36575065ffffffffffff88161580611e365750805465ffffffffffff770100000000000000000000000000000000000000000000009091048116908916115b15611e6d576040517f806f6f1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffff000000000000ffffffffffffffffffffffffffffffffffffffffffffff167701000000000000000000000000000000000000000000000065ffffffffffff8a16021781556001810187905560028101869055611ed36003820160006135f2565b60005b84811015611f2f5781600301868683818110611ef457611ef4613dfe565b9050602002810190611f069190613e7a565b82546001810184556000938452602090932090920191611f269183613f55565b50600101611ed6565b508b7fa6fb8b1e69e21bd9e845799de9b9edf5cce8e3fb37c0c94a3889c0b90196cd798c8c8c8c8c8c8c8c604051611f6e9897969594939291906140b8565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050505050505050505050565b611fe561244e565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e06547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e009060ff1615612063576040517f33d576f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101805473ffffffffffffffffffffffffffffffffffffffff8681167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556002840180548783169084168117909155600385018054928716929093168217909255604080519384526020840192909252908201527fb61a3c7213653cdbbf077c9c6ae03c44a5e6e9046e61048c4acd027dd54dcb01906060016116a7565b606060006121397ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853068585612a6c565b915091505b9250929050565b606060006121397f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e058585612a6c565b600061218185858461265f565b905060078154610100900460ff1660088111156121a0576121a06139ca565b14806121c6575060088154610100900460ff1660088111156121c4576121c46139ca565b145b156121fd576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122078184612e2b565b61221585858560008061297e565b610a1a858585600033610ee9565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609161227e91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612a6c565b5092915050565b61228d61244e565b612296836124d6565b61095a8484848433610974565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff808516986101008604821698620100008704909216976301000000870473ffffffffffffffffffffffffffffffffffffffff16977701000000000000000000000000000000000000000000000090970465ffffffffffff16969092849284015b8282101561241057838290600052602060002001805461238390613e2d565b80601f01602080910402602001604051908101604052809291908181526020018280546123af90613e2d565b80156123fc5780601f106123d1576101008083540402835291602001916123fc565b820191906000526020600020905b8154815290600101906020018083116123df57829003601f168201915b505050505081526020019060010190612364565b5050505090509850985098509850985098509850985050919395975091939597565b61243a61244e565b612443816124d6565b610bfb8282336114c4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124d4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60008181527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff1615610971576040517f149eae5700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f091508161257c5763301164256000526004601cfd5b90915290565b7f73656564000000000000000000000000000000000000000000000000000000008103610971576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530260209081526040808320878452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055610a1a858584600185610ee9565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060205260409020805460ff166126c7576040517f7993a72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805477010000000000000000000000000000000000000000000000900465ffffffffffff16801580159061270257508065ffffffffffff1642115b15612739576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612744828685613030565b61277a576040517ff3ef0f8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509392505050565b600080825b808210156129735760008585848181106127a3576127a3613dfe565b919091013560f81c9150600090508060808310156127d0576127c6600186614210565b9450505050612787565b60c28360ff16101580156127e8575060df8360ff1611155b156127f9575060029050608061285c565b60e08360ff1610158015612811575060ef8360ff1611155b1561282357506003905061080061285c565b60f08360ff161015801561283b575060f48360ff1611155b1561284e5750600490506201000061285c565b600095505050505050610cfa565b836128678387614210565b111561287b57600095505050505050610cfa565b6000612888836001614210565b60ff9081901c851616905060015b838110156129045760008a8a6128ac848b614210565b8181106128bb576128bb613dfe565b919091013560f81c91505060808110806128d8575060bf8160ff16115b156128ee57600098505050505050505050610cfa565b603f1660069290921b9190911790600101612896565b508181101561291c5760009650505050505050610cfa565b61d8008110158015612930575061dfff8111155b156129445760009650505050505050610cfa565b6210ffff81111561295e5760009650505050505050610cfa565b6129688387614210565b955050505050612787565b506001949350505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e015473ffffffffffffffffffffffffffffffffffffffff16806129c15750610a1a565b6040517f296d8e040000000000000000000000000000000000000000000000000000000081526004810187905260248101869052604481018590523360648201526084810184905273ffffffffffffffffffffffffffffffffffffffff83811660a483015282169063296d8e049060c401600060405180830381600087803b158015612a4c57600080fd5b505af1158015612a60573d6000803e3d6000fd5b50505050505050505050565b8254606090808410612a8e576040805160008152602081019091529150610e52565b83810383811115612a9c5750825b8067ffffffffffffffff811115612ab557612ab5613edf565b604051908082528060200260200182016040528015612ade578160200160208202803683370190505b50925060005b81811015612b30578681870181548110612b0057612b00613dfe565b9060005260206000200154848281518110612b1d57612b1d613dfe565b6020908102919091010152600101612ae4565b5050935093915050565b80612b71576040517f8113e99900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b6020811015610844576000838260208110612b9257612b92613dfe565b1a60f81b90507fff000000000000000000000000000000000000000000000000000000000000008116600003612bcb5760019250612ccb565b8215612c03576040517f8113e99900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f20000000000000000000000000000000000000000000000000000000000000007fff0000000000000000000000000000000000000000000000000000000000000082161080612c9457507f7e000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216115b15612ccb576040517f8113e99900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101612b75565b7f7365656400000000000000000000000000000000000000000000000000000000811480612d0f575060008181526020839052604090205415155b15612d1957505050565b825460018101845560008481526020808220909201839055935491845291909152604090912055565b60008181526020839052604081205490819003612d5f5750505050565b8354818114612dd157600085612d76600184614223565b81548110612d8657612d86613dfe565b906000526020600020015490508086600185612da29190614223565b81548110612db257612db2613dfe565b6000918252602080832090910192909255918252859052604090208290555b84805480612de157612de1614236565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908101839055909201909255938152939092525050604081205550565b8154610100900460ff16816000826008811115612e4a57612e4a6139ca565b03612e8f576001811115612e8a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095a565b6001826008811115612ea357612ea36139ca565b03612ee55760038401548110612e8a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005826008811115612ef957612ef96139ca565b03612f3b5762ffffff811115612e8a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003826008811115612f4f57612f4f6139ca565b03612fa85760018401548190811280612f6b5750600285015481135b15612fa2576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5061095a565b6001840154811015612fe6576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028401548015801590612ff957508082115b15610a1a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009062010000900460ff168180826006811115613052576130526139ca565b148061306f5750600382600681111561306d5761306d6139ca565b145b8061308b57506004826006811115613089576130896139ca565b145b806130a7575060068260068111156130a5576130a56139ca565b145b90508080156130cb57503373ffffffffffffffffffffffffffffffffffffffff8516145b156130db5760019250505061321c565b600060028360068111156130f1576130f16139ca565b148061310e5750600483600681111561310c5761310c6139ca565b145b8061312a57506005836006811115613128576131286139ca565b145b8061314657506006836006811115613144576131446139ca565b145b9050808015613172575086546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b15613183576001935050505061321c565b60006001846006811115613199576131996139ca565b14806131b6575060038460068111156131b4576131b46139ca565b145b806131d2575060058460068111156131d0576131d06139ca565b145b806131ee575060068460068111156131ec576131ec6139ca565b145b9050808015613201575061320187613223565b1561321357600194505050505061321c565b60009450505050505b9392505050565b60008060006132318461327f565b9150915081156132755773ffffffffffffffffffffffffffffffffffffffff81163303613262575060019392505050565b61326d338286613388565b949350505050565b61326d33856134e2565b6000806000803073ffffffffffffffffffffffffffffffffffffffff16636352211e866040516024016132b491815260200190565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516133029190614265565b600060405180830381855afa9150503d806000811461333d576040519150601f19603f3d011682016040523d82523d6000602084013e613342565b606091505b5091509150818015613355575080516020145b1561337b576001818060200190518101906133709190614281565b935093505050915091565b5060009485945092505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460009073ffffffffffffffffffffffffffffffffffffffff168015806133e5575073ffffffffffffffffffffffffffffffffffffffff81163b155b156133f457600091505061321c565b60405173ffffffffffffffffffffffffffffffffffffffff80871660248301528516604482015230606482015260848101849052600060a482018190529060c401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9f36874000000000000000000000000000000000000000000000000000000001781528251929350600092839291839190875afa60005192503d6020141690508080156134d65750816001145b98975050505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff84166024820152604480820184905282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167efdd58e0000000000000000000000000000000000000000000000000000000017905290516000918291829130916135779190614265565b600060405180830381855afa9150503d80600081146135b2576040519150601f19603f3d011682016040523d82523d6000602084013e6135b7565b606091505b50915091508180156135ca575080516020145b80156135e957506000818060200190518101906135e7919061429e565b115b95945050505050565b508054600082559060005260206000209081019061097191905b80821115613629576000613620828261362d565b5060010161360c565b5090565b50805461363990613e2d565b6000825580601f10613649575050565b601f01602090049060005260206000209081019061097191905b808211156136295760008155600101613663565b60006020828403121561368957600080fd5b5035919050565b60008083601f8401126136a257600080fd5b50813567ffffffffffffffff8111156136ba57600080fd5b60208301915083602082850101111561213e57600080fd5b6000806000604084860312156136e757600080fd5b83359250602084013567ffffffffffffffff81111561370557600080fd5b61371186828701613690565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461097157600080fd5b803561374b8161371e565b919050565b6000806000806060858703121561376657600080fd5b84359350602085013567ffffffffffffffff81111561378457600080fd5b61379087828801613690565b90945092505060408501356137a48161371e565b939692955090935050565b6000602082840312156137c157600080fd5b813561321c8161371e565b6000806000806000608086880312156137e457600080fd5b8535945060208601359350604086013567ffffffffffffffff81111561380957600080fd5b61381588828901613690565b90945092505060608601356138298161371e565b809150509295509295909350565b6000806040838503121561384a57600080fd5b50508035926020909101359150565b60005b8381101561387457818101518382015260200161385c565b50506000910152565b60008151808452613895816020860160208601613859565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061321c602083018461387d565b600080600080606085870312156138f057600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561391557600080fd5b61392187828801613690565b95989497509550505050565b600081518084526020840193506020830160005b8281101561395f578151865260209586019590910190600101613941565b5093949350505050565b60208152600061321c602083018461392d565b60008060006060848603121561399157600080fd5b505081359360208301359350604090920135919050565b6040815260006139bb604083018561392d565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60098110613a0957613a096139ca565b9052565b60078110613a0957613a096139ca565b88151581526101008101613a34602083018a6139f9565b613a416040830189613a0d565b73ffffffffffffffffffffffffffffffffffffffff96909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b8035801515811461374b57600080fd5b600080600080600060a08688031215613ab157600080fd5b853594506020860135935060408601359250613acf60608701613a89565b915060808601356138298161371e565b60008060008060808587031215613af557600080fd5b8435935060208501359250613b0c60408601613a89565b915060608501356137a48161371e565b600080600060608486031215613b3157600080fd5b83359250602084013591506040840135613b4a8161371e565b809150509250925092565b60008060408385031215613b6857600080fd5b823591506020830135613b7a8161371e565b809150509250929050565b803565ffffffffffff8116811461374b57600080fd5b60008083601f840112613bad57600080fd5b50813567ffffffffffffffff811115613bc557600080fd5b6020830191508360208260051b850101111561213e57600080fd5b60008060008060008060008060006101008a8c031215613bff57600080fd5b8935985060208a013560098110613c1557600080fd5b975060408a013560078110613c2957600080fd5b9650613c3760608b01613740565b9550613c4560808b01613b85565b945060a08a0135935060c08a0135925060e08a013567ffffffffffffffff811115613c6f57600080fd5b613c7b8c828d01613b9b565b915080935050809150509295985092959850929598565b600080600060608486031215613ca757600080fd5b8335613cb28161371e565b92506020840135613cc28161371e565b91506040840135613b4a8161371e565b60008060008060808587031215613ce857600080fd5b84359350602085013592506040850135915060608501356137a48161371e565b600061010082018a15158352613d21602084018b6139f9565b613d2e604084018a613a0d565b73ffffffffffffffffffffffffffffffffffffffff8816606084015265ffffffffffff871660808401528560a08401528460c084015261010060e0840152808451808352610120850191506101208160051b86010192506020860160005b82811015613ddb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0878603018452613dc685835161387d565b94506020938401939190910190600101613d8c565b50929d9c50505050505050505050505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c90821680613e4157607f821691505b602082108103610e0b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613eaf57600080fd5b83018035915067ffffffffffffffff821115613eca57600080fd5b60200191503681900382131561213e57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561084457806000526020600020601f840160051c81016020851015613f355750805b601f840160051c820191505b81811015610a1a5760008155600101613f41565b67ffffffffffffffff831115613f6d57613f6d613edf565b613f8183613f7b8354613e2d565b83613f0e565b6000601f841160018114613fd35760008515613f9d5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610a1a565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156140225786850135825560209485019460019092019101614002565b508682101561405d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060e082016140c8838c6139f9565b6140d5602084018b613a0d565b73ffffffffffffffffffffffffffffffffffffffff8916604084015265ffffffffffff881660608401528660808401528560a084015260e060c084015280848252610100840190506101008560051b85010191508560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603015b87821015613ddb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00878603018452823581811261418f57600080fd5b890160208101903567ffffffffffffffff8111156141ac57600080fd5b8036038213156141bb57600080fd5b6141c687828461406f565b96505050602083019250602084019350600182019150614152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610cfa57610cfa6141e1565b81810381811115610cfa57610cfa6141e1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008251614277818460208701613859565b9190910192915050565b60006020828403121561429357600080fd5b815161321c8161371e565b6000602082840312156142b057600080fd5b505191905056fea2646970667358221220265370a5c9a120d53b11f43ccbf022f812762f2762e2841735eac3951df1346f64736f6c634300081c0033";
|
|
37
|
+
export const abxParamsLibBytecode = "0x6142ed610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061024b5760003560e01c80636c59f7591161014f5780639ffefae6116100c7578063d84d644611610096578063e42b7baf1161007b578063e42b7baf146107c0578063f2235701146107e0578063f8d3adc81461080757600080fd5b8063d84d64461461078d578063e1b79381146107ad57600080fd5b80639ffefae614610727578063aa0de18d14610747578063c4f2604814610767578063cc1cf5151461077a57600080fd5b8063909206e31161011e57806392b29b171161010357806392b29b17146106c757806392b8e739146106e75780639a851cec1461070757600080fd5b8063909206e31461069f578063909d716e146106a757600080fd5b80636c59f7591461057457806374828e341461059e578063838128171461065f57806386b7f6a41461067f57600080fd5b80633990b221116101e25780634efdb5ae116101b15780635b02f81c116101965780635b02f81c1461051e5780635d0b72201461053f578063690533741461055457600080fd5b80634efdb5ae146104e957806355580cca1461050957600080fd5b80633990b221146103ec5780633ba1bd861461040c5780633c59f1bb1461042c578063487fbd2b146104c957600080fd5b80631c31cac31161021e5780631c31cac3146103305780631de450a0146103505780632ed48300146103ac57806333fe6d14146103cc57600080fd5b806302d66fc2146102505780630b4c562b146102a75780630ba2352a146102c957806313bfffac146102e9575b600080fd5b61029261025e366004613677565b60009081527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff1690565b60405190151581526020015b60405180910390f35b8180156102b357600080fd5b506102c76102c23660046136d2565b610827565b005b8180156102d557600080fd5b506102c76102e4366004613750565b610849565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161029e565b81801561033c57600080fd5b506102c761034b3660046137af565b610960565b81801561035c57600080fd5b506102c77ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b8180156103b857600080fd5b506102c76103c73660046137cc565b610974565b8180156103d857600080fd5b506102c76103e73660046137cc565b610a21565b8180156103f857600080fd5b506102c7610407366004613837565b610bdd565b61041f61041a366004613837565b610bff565b60405161029e91906138c7565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546040805173ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292169181019190915260600161029e565b8180156104d557600080fd5b506102c76104e43660046137af565b610d00565b8180156104f557600080fd5b506102c76105043660046138da565b610d8e565b610511610dbd565b60405161029e9190613969565b61053161052c36600461397c565b610e11565b60405161029e9291906139a8565b81801561054b57600080fd5b506102c7610e5a565b81801561056057600080fd5b506102c761056f366004613677565b610ed7565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e065460ff16610292565b61064b6105ac366004613677565b60009081527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e006020526040902080546001820154600283015460039093015460ff808416956101008504821695620100008604909216946301000000810473ffffffffffffffffffffffffffffffffffffffff16947701000000000000000000000000000000000000000000000090910465ffffffffffff1693909291565b60405161029e989796959493929190613a1d565b81801561066b57600080fd5b506102c761067a366004613a99565b610ee9565b81801561068b57600080fd5b506102c761069a36600461397c565b611237565b610511611256565b8180156106b357600080fd5b506102c76106c2366004613adf565b6112a4565b8180156106d357600080fd5b506102c76106e236600461397c565b611496565b8180156106f357600080fd5b506102c7610702366004613b1c565b6114c4565b81801561071357600080fd5b506102c7610722366004613b55565b6116b5565b81801561073357600080fd5b506102c7610742366004613be0565b611866565b81801561075357600080fd5b506102c7610762366004613c92565b611fdd565b610531610775366004613837565b61210a565b610531610788366004613837565b612145565b81801561079957600080fd5b506102c76107a8366004613cd2565b612174565b6105116107bb366004613677565b612223565b8180156107cc57600080fd5b506102c76107db3660046138da565b612285565b6107f36107ee366004613677565b6122a3565b60405161029e989796959493929190613d08565b81801561081357600080fd5b506102c7610822366004613837565b612432565b61082f61244e565b610838836124d6565b61084483838333610849565b505050565b6000829003610884576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108c383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061253e92505050565b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092179091555161095a90859061094a9086908690613dee565b60405180910390206001846112a4565b50505050565b61096861244e565b61097181610d00565b50565b60008290036109af576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109b884612582565b610a1a85856109fc86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061253e92505050565b8686604051610a0c929190613dee565b6040518091039020856125db565b5050505050565b6000610a2e86868461265f565b905060078154610100900460ff166008811115610a4d57610a4d6139ca565b14158015610a76575060088154610100900460ff166008811115610a7357610a736139ca565b14155b15610aad576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000839003610ae8576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60078154610100900460ff166008811115610b0557610b056139ca565b148015610b195750610b178484612782565b155b15610b50576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5985612582565b6000610b9a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061253e92505050565b905060008585604051610bae929190613dee565b6040519081900390209050610bc6888883888661297e565b610bd388888484336125db565b5050505050505050565b610be561244e565b610bee826124d6565b610bfb82826000336112a4565b5050565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090206003018054606091908310610c51575050604080516020810190915260008152610cfa565b808381548110610c6357610c63613dfe565b906000526020600020018054610c7890613e2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca490613e2d565b8015610cf15780601f10610cc657610100808354040283529160200191610cf1565b820191906000526020600020905b815481529060010190602001808311610cd457829003601f168201915b50505050509150505b92915050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f45f18b5e88ce952d701fc020d1b6358f7380553c64fd639216568803f072105590600090a250565b61095a848484846103e77fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b6060610e0b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530660007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612a6c565b50919050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609190610e4d908585612a6c565b915091505b935093915050565b610e6261244e565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517f22b5ba170f5498ca48788ca02fd88a94140feded725589294c93003065215b3e90600090a1565b610edf61244e565b61097181336116b5565b610ef284612b3a565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853007f8c9a9a9c00000000000000000000000000000000000000000000000000000000850161103857600086815260208281526040808320888452909152902060010154610100900460ff168015610fd357507f73656564000000000000000000000000000000000000000000000000000000006000527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e006020527f59aef8a84236254bede197dcd6711409a45a4fb3879f18e18f1f3c49eaf2af825460ff16155b1561100a576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b8215801561107657506000868152600282016020908152604080832088845290915290205473ffffffffffffffffffffffffffffffffffffffff1615155b156110bd5760008681526002820160209081526040808320888452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008c81528784528681208c8252909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790557f736565640000000000000000000000000000000000000000000000000000000085146111a65760008681526004820160209081526040808320600585019092529091206111a6919087612cd4565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff841691879189917fde0436cfd14f6250e38daf8e3605d7a54612abb0d9a1ac04278609edb949cd78910160405180910390a46040518681527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b61123f61244e565b611248826124d6565b610844838383600033610ee9565b6060610e0b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612a6c565b6112ad84612b3a565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300821580156113015750600085815260038201602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b1561133d576000858152600382016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008b8152878301909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790556113e2600682016007830187612cd4565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff84169187917fbf1b8f39d36a4cce40517cfc4e2f6dc657084b06295ee413186ecc58050e0a57910160405180910390a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050505050565b6108448383836107a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275490565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020818152604080842086855290915290912060010154610100900460ff1661153f576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f73656564000000000000000000000000000000000000000000000000000000008303611598576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260208281526040808320868452825280832083815560010180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055868352600284018252808320868452825280832080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905586835260048401825280832060058501909252909120611636919085612d42565b8173ffffffffffffffffffffffffffffffffffffffff1683857feb7b2bd8dec13c1b2bc4577645e93c668e7071d4d417003ecf89c4dd718d8f9360405160405180910390a46040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020015b60405180910390a150505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530160205260409020600101547ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530090610100900460ff16611746576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260018083016020908152604080842084815590920180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055600384019052902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556117c5600682016007830185612d42565b60405173ffffffffffffffffffffffffffffffffffffffff83169084907f64e0133266c985f5558f93bca4421f7ca6a7f4f1cce7c77b10b4bb6d2a7e5f1990600090a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b61186f89612b3a565b7f7365656400000000000000000000000000000000000000000000000000000000890361195f577ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853085460ff16156118f2576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007886008811115611906576119066139ca565b148061192357506008886008811115611921576119216139ca565b145b1561195a576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a0d565b887f636861696e49640000000000000000000000000000000000000000000000000014806119ac5750887f636f6e7472616374416464726573730000000000000000000000000000000000145b806119d65750887f746f6b656e496400000000000000000000000000000000000000000000000000145b15611a0d576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001886008811115611a2157611a216139ca565b03611a66576000819003611a61576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a9e565b8015611a9e576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003886008811115611ab257611ab26139ca565b03611af65782841315611af1576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b3b565b8215801590611b0457508284115b15611b3b576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002886006811115611b5157611b516139ca565b1480611b6e57506004886006811115611b6c57611b6c6139ca565b145b80611b8a57506005886006811115611b8857611b886139ca565b145b80611ba657506006886006811115611ba457611ba46139ca565b145b905080151573ffffffffffffffffffffffffffffffffffffffff8816151514611bfb576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008a81527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060208190526040909120805477010000000000000000000000000000000000000000000000900465ffffffffffff1615801590611c815750805477010000000000000000000000000000000000000000000000900465ffffffffffff1642115b15611cb8576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff16611d04576005820180546001818101835560009283526020909220018d905581547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161781555b80548b9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100836008811115611d4157611d416139ca565b021790555080548a9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1662010000836006811115611d8457611d846139ca565b021790555080547fffffffffffffffffff0000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff8b16021780825577010000000000000000000000000000000000000000000000900465ffffffffffff1615801590611e36575065ffffffffffff88161580611e365750805465ffffffffffff770100000000000000000000000000000000000000000000009091048116908916115b15611e6d576040517f806f6f1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffff000000000000ffffffffffffffffffffffffffffffffffffffffffffff167701000000000000000000000000000000000000000000000065ffffffffffff8a16021781556001810187905560028101869055611ed36003820160006135f2565b60005b84811015611f2f5781600301868683818110611ef457611ef4613dfe565b9050602002810190611f069190613e7a565b82546001810184556000938452602090932090920191611f269183613f55565b50600101611ed6565b508b7fa6fb8b1e69e21bd9e845799de9b9edf5cce8e3fb37c0c94a3889c0b90196cd798c8c8c8c8c8c8c8c604051611f6e9897969594939291906140b8565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050505050505050505050565b611fe561244e565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e06547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e009060ff1615612063576040517f33d576f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101805473ffffffffffffffffffffffffffffffffffffffff8681167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556002840180548783169084168117909155600385018054928716929093168217909255604080519384526020840192909252908201527fb61a3c7213653cdbbf077c9c6ae03c44a5e6e9046e61048c4acd027dd54dcb01906060016116a7565b606060006121397ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853068585612a6c565b915091505b9250929050565b606060006121397f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e058585612a6c565b600061218185858461265f565b905060078154610100900460ff1660088111156121a0576121a06139ca565b14806121c6575060088154610100900460ff1660088111156121c4576121c46139ca565b145b156121fd576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122078184612e2b565b61221585858560008061297e565b610a1a858585600033610ee9565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609161227e91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612a6c565b5092915050565b61228d61244e565b612296836124d6565b61095a8484848433610974565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff808516986101008604821698620100008704909216976301000000870473ffffffffffffffffffffffffffffffffffffffff16977701000000000000000000000000000000000000000000000090970465ffffffffffff16969092849284015b8282101561241057838290600052602060002001805461238390613e2d565b80601f01602080910402602001604051908101604052809291908181526020018280546123af90613e2d565b80156123fc5780601f106123d1576101008083540402835291602001916123fc565b820191906000526020600020905b8154815290600101906020018083116123df57829003601f168201915b505050505081526020019060010190612364565b5050505090509850985098509850985098509850985050919395975091939597565b61243a61244e565b612443816124d6565b610bfb8282336114c4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146124d4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60008181527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff1615610971576040517f149eae5700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f091508161257c5763301164256000526004601cfd5b90915290565b7f73656564000000000000000000000000000000000000000000000000000000008103610971576040517f211c2f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530260209081526040808320878452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055610a1a858584600185610ee9565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060205260409020805460ff166126c7576040517f7993a72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805477010000000000000000000000000000000000000000000000900465ffffffffffff16801580159061270257508065ffffffffffff1642115b15612739576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612744828685613030565b61277a576040517ff3ef0f8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509392505050565b600080825b808210156129735760008585848181106127a3576127a3613dfe565b919091013560f81c9150600090508060808310156127d0576127c6600186614210565b9450505050612787565b60c28360ff16101580156127e8575060df8360ff1611155b156127f9575060029050608061285c565b60e08360ff1610158015612811575060ef8360ff1611155b1561282357506003905061080061285c565b60f08360ff161015801561283b575060f48360ff1611155b1561284e5750600490506201000061285c565b600095505050505050610cfa565b836128678387614210565b111561287b57600095505050505050610cfa565b6000612888836001614210565b60ff9081901c851616905060015b838110156129045760008a8a6128ac848b614210565b8181106128bb576128bb613dfe565b919091013560f81c91505060808110806128d8575060bf8160ff16115b156128ee57600098505050505050505050610cfa565b603f1660069290921b9190911790600101612896565b508181101561291c5760009650505050505050610cfa565b61d8008110158015612930575061dfff8111155b156129445760009650505050505050610cfa565b6210ffff81111561295e5760009650505050505050610cfa565b6129688387614210565b955050505050612787565b506001949350505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e015473ffffffffffffffffffffffffffffffffffffffff16806129c15750610a1a565b6040517f296d8e040000000000000000000000000000000000000000000000000000000081526004810187905260248101869052604481018590523360648201526084810184905273ffffffffffffffffffffffffffffffffffffffff83811660a483015282169063296d8e049060c401600060405180830381600087803b158015612a4c57600080fd5b505af1158015612a60573d6000803e3d6000fd5b50505050505050505050565b8254606090808410612a8e576040805160008152602081019091529150610e52565b83810383811115612a9c5750825b8067ffffffffffffffff811115612ab557612ab5613edf565b604051908082528060200260200182016040528015612ade578160200160208202803683370190505b50925060005b81811015612b30578681870181548110612b0057612b00613dfe565b9060005260206000200154848281518110612b1d57612b1d613dfe565b6020908102919091010152600101612ae4565b5050935093915050565b80612b71576040517f8113e99900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b6020811015610844576000838260208110612b9257612b92613dfe565b1a60f81b90507fff000000000000000000000000000000000000000000000000000000000000008116600003612bcb5760019250612ccb565b8215612c03576040517f8113e99900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f20000000000000000000000000000000000000000000000000000000000000007fff0000000000000000000000000000000000000000000000000000000000000082161080612c9457507f7e000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216115b15612ccb576040517f8113e99900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101612b75565b7f7365656400000000000000000000000000000000000000000000000000000000811480612d0f575060008181526020839052604090205415155b15612d1957505050565b825460018101845560008481526020808220909201839055935491845291909152604090912055565b60008181526020839052604081205490819003612d5f5750505050565b8354818114612dd157600085612d76600184614223565b81548110612d8657612d86613dfe565b906000526020600020015490508086600185612da29190614223565b81548110612db257612db2613dfe565b6000918252602080832090910192909255918252859052604090208290555b84805480612de157612de1614236565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908101839055909201909255938152939092525050604081205550565b8154610100900460ff16816000826008811115612e4a57612e4a6139ca565b03612e8f576001811115612e8a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095a565b6001826008811115612ea357612ea36139ca565b03612ee55760038401548110612e8a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005826008811115612ef957612ef96139ca565b03612f3b5762ffffff811115612e8a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003826008811115612f4f57612f4f6139ca565b03612fa85760018401548190811280612f6b5750600285015481135b15612fa2576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5061095a565b6001840154811015612fe6576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028401548015801590612ff957508082115b15610a1a576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009062010000900460ff168180826006811115613052576130526139ca565b148061306f5750600382600681111561306d5761306d6139ca565b145b8061308b57506004826006811115613089576130896139ca565b145b806130a7575060068260068111156130a5576130a56139ca565b145b90508080156130cb57503373ffffffffffffffffffffffffffffffffffffffff8516145b156130db5760019250505061321c565b600060028360068111156130f1576130f16139ca565b148061310e5750600483600681111561310c5761310c6139ca565b145b8061312a57506005836006811115613128576131286139ca565b145b8061314657506006836006811115613144576131446139ca565b145b9050808015613172575086546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b15613183576001935050505061321c565b60006001846006811115613199576131996139ca565b14806131b6575060038460068111156131b4576131b46139ca565b145b806131d2575060058460068111156131d0576131d06139ca565b145b806131ee575060068460068111156131ec576131ec6139ca565b145b9050808015613201575061320187613223565b1561321357600194505050505061321c565b60009450505050505b9392505050565b60008060006132318461327f565b9150915081156132755773ffffffffffffffffffffffffffffffffffffffff81163303613262575060019392505050565b61326d338286613388565b949350505050565b61326d33856134e2565b6000806000803073ffffffffffffffffffffffffffffffffffffffff16636352211e866040516024016132b491815260200190565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516133029190614265565b600060405180830381855afa9150503d806000811461333d576040519150601f19603f3d011682016040523d82523d6000602084013e613342565b606091505b5091509150818015613355575080516020145b1561337b576001818060200190518101906133709190614281565b935093505050915091565b5060009485945092505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460009073ffffffffffffffffffffffffffffffffffffffff168015806133e5575073ffffffffffffffffffffffffffffffffffffffff81163b155b156133f457600091505061321c565b60405173ffffffffffffffffffffffffffffffffffffffff80871660248301528516604482015230606482015260848101849052600060a482018190529060c401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9f36874000000000000000000000000000000000000000000000000000000001781528251929350600092839291839190875afa60005192503d6020141690508080156134d65750816001145b98975050505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff84166024820152604480820184905282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167efdd58e0000000000000000000000000000000000000000000000000000000017905290516000918291829130916135779190614265565b600060405180830381855afa9150503d80600081146135b2576040519150601f19603f3d011682016040523d82523d6000602084013e6135b7565b606091505b50915091508180156135ca575080516020145b80156135e957506000818060200190518101906135e7919061429e565b115b95945050505050565b508054600082559060005260206000209081019061097191905b80821115613629576000613620828261362d565b5060010161360c565b5090565b50805461363990613e2d565b6000825580601f10613649575050565b601f01602090049060005260206000209081019061097191905b808211156136295760008155600101613663565b60006020828403121561368957600080fd5b5035919050565b60008083601f8401126136a257600080fd5b50813567ffffffffffffffff8111156136ba57600080fd5b60208301915083602082850101111561213e57600080fd5b6000806000604084860312156136e757600080fd5b83359250602084013567ffffffffffffffff81111561370557600080fd5b61371186828701613690565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461097157600080fd5b803561374b8161371e565b919050565b6000806000806060858703121561376657600080fd5b84359350602085013567ffffffffffffffff81111561378457600080fd5b61379087828801613690565b90945092505060408501356137a48161371e565b939692955090935050565b6000602082840312156137c157600080fd5b813561321c8161371e565b6000806000806000608086880312156137e457600080fd5b8535945060208601359350604086013567ffffffffffffffff81111561380957600080fd5b61381588828901613690565b90945092505060608601356138298161371e565b809150509295509295909350565b6000806040838503121561384a57600080fd5b50508035926020909101359150565b60005b8381101561387457818101518382015260200161385c565b50506000910152565b60008151808452613895816020860160208601613859565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061321c602083018461387d565b600080600080606085870312156138f057600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561391557600080fd5b61392187828801613690565b95989497509550505050565b600081518084526020840193506020830160005b8281101561395f578151865260209586019590910190600101613941565b5093949350505050565b60208152600061321c602083018461392d565b60008060006060848603121561399157600080fd5b505081359360208301359350604090920135919050565b6040815260006139bb604083018561392d565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60098110613a0957613a096139ca565b9052565b60078110613a0957613a096139ca565b88151581526101008101613a34602083018a6139f9565b613a416040830189613a0d565b73ffffffffffffffffffffffffffffffffffffffff96909616606082015265ffffffffffff94909416608085015260a084019290925260c083015260e0909101529392505050565b8035801515811461374b57600080fd5b600080600080600060a08688031215613ab157600080fd5b853594506020860135935060408601359250613acf60608701613a89565b915060808601356138298161371e565b60008060008060808587031215613af557600080fd5b8435935060208501359250613b0c60408601613a89565b915060608501356137a48161371e565b600080600060608486031215613b3157600080fd5b83359250602084013591506040840135613b4a8161371e565b809150509250925092565b60008060408385031215613b6857600080fd5b823591506020830135613b7a8161371e565b809150509250929050565b803565ffffffffffff8116811461374b57600080fd5b60008083601f840112613bad57600080fd5b50813567ffffffffffffffff811115613bc557600080fd5b6020830191508360208260051b850101111561213e57600080fd5b60008060008060008060008060006101008a8c031215613bff57600080fd5b8935985060208a013560098110613c1557600080fd5b975060408a013560078110613c2957600080fd5b9650613c3760608b01613740565b9550613c4560808b01613b85565b945060a08a0135935060c08a0135925060e08a013567ffffffffffffffff811115613c6f57600080fd5b613c7b8c828d01613b9b565b915080935050809150509295985092959850929598565b600080600060608486031215613ca757600080fd5b8335613cb28161371e565b92506020840135613cc28161371e565b91506040840135613b4a8161371e565b60008060008060808587031215613ce857600080fd5b84359350602085013592506040850135915060608501356137a48161371e565b600061010082018a15158352613d21602084018b6139f9565b613d2e604084018a613a0d565b73ffffffffffffffffffffffffffffffffffffffff8816606084015265ffffffffffff871660808401528560a08401528460c084015261010060e0840152808451808352610120850191506101208160051b86010192506020860160005b82811015613ddb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0878603018452613dc685835161387d565b94506020938401939190910190600101613d8c565b50929d9c50505050505050505050505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c90821680613e4157607f821691505b602082108103610e0b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613eaf57600080fd5b83018035915067ffffffffffffffff821115613eca57600080fd5b60200191503681900382131561213e57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561084457806000526020600020601f840160051c81016020851015613f355750805b601f840160051c820191505b81811015610a1a5760008155600101613f41565b67ffffffffffffffff831115613f6d57613f6d613edf565b613f8183613f7b8354613e2d565b83613f0e565b6000601f841160018114613fd35760008515613f9d5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610a1a565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156140225786850135825560209485019460019092019101614002565b508682101561405d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060e082016140c8838c6139f9565b6140d5602084018b613a0d565b73ffffffffffffffffffffffffffffffffffffffff8916604084015265ffffffffffff881660608401528660808401528560a084015260e060c084015280848252610100840190506101008560051b85010191508560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603015b87821015613ddb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00878603018452823581811261418f57600080fd5b890160208101903567ffffffffffffffff8111156141ac57600080fd5b8036038213156141bb57600080fd5b6141c687828461406f565b96505050602083019250602084019350600182019150614152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610cfa57610cfa6141e1565b81810381811115610cfa57610cfa6141e1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008251614277818460208701613859565b9190910192915050565b60006020828403121561429357600080fd5b815161321c8161371e565b6000602082840312156142b057600080fd5b505191905056fea264697066735822122085e5895a2725e7eed814ecf8c34edbca0ea1c12dba5b47757f0c4d387bb7f72364736f6c634300081c0033";
|
|
38
38
|
export const abxCodeLibAbi = [{ "type": "function", "name": "dependenciesLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyByIndex", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "resolution", "type": "IAbxDependencies.Resolution", "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "dependencyRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunk", "inputs": [{ "name": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "scriptChunkCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "scriptLocked", "inputs": [], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [{ "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependenciesLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "DependencyRegistrySet", "inputs": [{ "name": "registry", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "DependencyRemoved", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "DependencyUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "resolution", "type": "uint8", "indexed": false, "internalType": "enum IAbxDependencies.Resolution" }, { "name": "ref", "type": "bytes32", "indexed": true, "internalType": "bytes32" }], "anonymous": false }, { "type": "event", "name": "ScriptLocked", "inputs": [], "anonymous": false }, { "type": "event", "name": "ScriptUpdated", "inputs": [{ "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "DependenciesAreLocked", "inputs": [] }, { "type": "error", "name": "DependencyIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "EmptyDependencyRef", "inputs": [] }, { "type": "error", "name": "EmptyScriptChunk", "inputs": [] }, { "type": "error", "name": "ScriptIndexOutOfRange", "inputs": [] }, { "type": "error", "name": "ScriptIsLocked", "inputs": [] }];
|
|
39
|
-
export const abxCodeLibBytecode = "0x611361610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100f45760003560e01c80639a5db50311610096578063cfc59afd11610070578063cfc59afd14610252578063d90f5df214610273578063dc9838791461027b578063ea58f9711461029057600080fd5b80639a5db503146102085780639aa1a1f01461021d578063b47842471461023d57600080fd5b80636b40ee45116100d25780636b40ee451461017c5780637d0b7ae41461019c57806392d9906f146101d257806396f4205a146101e857600080fd5b806320ac0944146100f957806325628d34146101455780636aaf76071461015c575b600080fd5b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02015460405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b81801561015157600080fd5b5061015a6102d2565b005b61016f61016a36600461107f565b6104b5565b60405161013c9190611098565b81801561018857600080fd5b5061015a610197366004611104565b61055a565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff165b604051901515815260200161013c565b6101da6107eb565b60405190815260200161013c565b8180156101f457600080fd5b5061015a610203366004611140565b610815565b81801561021457600080fd5b5061015a61096f565b81801561022957600080fd5b5061015a610238366004611176565b610a47565b81801561024957600080fd5b5061015a610cc4565b61026561026036600461107f565b610e14565b60405161013c92919061125e565b6101da610ec4565b81801561028757600080fd5b5061015a610eec565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02015474010000000000000000000000000000000000000000900460ff166101c2565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610368576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460008190036103a5576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81548290806103b6576103b6611279565b60008281526020812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016815560019081019190915591557fc96df06add4aa6dba310cd93d0b93d7b645252f40e11fa6089731c841315cd899061044690836112a8565b60405190815260200160405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a15050565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9008054606091908310610514576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61055381600001848154811061052c5761052c6112e8565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16610fef565b9392505050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff16156105f0576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81610627576040517f9897d85400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054841115610662576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006040518060400160405280856001811115610681576106816111f4565b60ff168152602001849052825490915085036106ed578154600180820184556000848152602090819020845160029094020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff909416939093178355830151910155610750565b80826000018681548110610703576107036112e8565b600091825260209182902083516002929092020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9092169190911781559101516001909101555b827fd6e0b37570fc6877af91bb8c65badae70a76645133831804e22f7210d49f3be88686604051610782929190611317565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a15050505050565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9005b54919050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff16156108ab576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517feb9e3ffc4d2f7724ed3254f046d8fe50f39aee51914953e2e4a60e89b622b6c790600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016104a9565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff16156109ed576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790556040517f1567d011622c31e8bf794e94f0067cd6edaa0a0b376498ec5407adbf8a22171090600090a150565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610ac5576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003610b00576040517f69e19b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054841115610b3b576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610b7c84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061103b92505050565b82549091508503610bdc5781546001810183556000838152602090200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055610c3b565b80826000018681548110610bf257610bf26112e8565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6040518581527fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca89060200160405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016107dc565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610d42576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546000819003610d7f576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8154829080610d9057610d90611279565b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190557fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca86104466001836112a8565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0200805460009182918410610e74576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816000018581548110610e8b57610e8b6112e8565b60009182526020909120600290910201805490915060ff166001811115610eb457610eb46111f4565b8160010154935093505050915091565b60007f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e020061080f565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610f82576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fe9d327ea777894d5424b19533354c3e728e73020d972cbd4bccf6d4505b1324590600090a150565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff833b0116602181016000601f8401853c80825260408201810160405250919050565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816110795763301164256000526004601cfd5b90915290565b60006020828403121561109157600080fd5b5035919050565b602081526000825180602084015260005b818110156110c657602081860181015160408684010152016110a9565b5060006040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b60008060006060848603121561111957600080fd5b8335925060208401356002811061112f57600080fd5b929592945050506040919091013590565b60006020828403121561115257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461055357600080fd5b60008060006040848603121561118b57600080fd5b83359250602084013567ffffffffffffffff8111156111a957600080fd5b8401601f810186136111ba57600080fd5b803567ffffffffffffffff8111156111d157600080fd5b8660208284010111156111e357600080fd5b939660209190910195509293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811061125a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6040810161126c8285611223565b8260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b818103818111156112e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b82815260408101610553602083018461122356fea2646970667358221220ee9862d76d4153ad843476b3f6f780361feca5b9d4683cd2cd06b4600fcb83f364736f6c634300081c0033";
|
|
39
|
+
export const abxCodeLibBytecode = "0x611361610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100f45760003560e01c80639a5db50311610096578063cfc59afd11610070578063cfc59afd14610252578063d90f5df214610273578063dc9838791461027b578063ea58f9711461029057600080fd5b80639a5db503146102085780639aa1a1f01461021d578063b47842471461023d57600080fd5b80636b40ee45116100d25780636b40ee451461017c5780637d0b7ae41461019c57806392d9906f146101d257806396f4205a146101e857600080fd5b806320ac0944146100f957806325628d34146101455780636aaf76071461015c575b600080fd5b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02015460405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b81801561015157600080fd5b5061015a6102d2565b005b61016f61016a36600461107f565b6104b5565b60405161013c9190611098565b81801561018857600080fd5b5061015a610197366004611104565b61055a565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff165b604051901515815260200161013c565b6101da6107eb565b60405190815260200161013c565b8180156101f457600080fd5b5061015a610203366004611140565b610815565b81801561021457600080fd5b5061015a61096f565b81801561022957600080fd5b5061015a610238366004611176565b610a47565b81801561024957600080fd5b5061015a610cc4565b61026561026036600461107f565b610e14565b60405161013c92919061125e565b6101da610ec4565b81801561028757600080fd5b5061015a610eec565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02015474010000000000000000000000000000000000000000900460ff166101c2565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610368576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460008190036103a5576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81548290806103b6576103b6611279565b60008281526020812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016815560019081019190915591557fc96df06add4aa6dba310cd93d0b93d7b645252f40e11fa6089731c841315cd899061044690836112a8565b60405190815260200160405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a15050565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9008054606091908310610514576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61055381600001848154811061052c5761052c6112e8565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16610fef565b9392505050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff16156105f0576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81610627576040517f9897d85400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054841115610662576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006040518060400160405280856001811115610681576106816111f4565b60ff168152602001849052825490915085036106ed578154600180820184556000848152602090819020845160029094020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff909416939093178355830151910155610750565b80826000018681548110610703576107036112e8565b600091825260209182902083516002929092020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9092169190911781559101516001909101555b827fd6e0b37570fc6877af91bb8c65badae70a76645133831804e22f7210d49f3be88686604051610782929190611317565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a15050505050565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9005b54919050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff16156108ab576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517feb9e3ffc4d2f7724ed3254f046d8fe50f39aee51914953e2e4a60e89b622b6c790600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016104a9565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff16156109ed576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790556040517f1567d011622c31e8bf794e94f0067cd6edaa0a0b376498ec5407adbf8a22171090600090a150565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610ac5576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003610b00576040517f69e19b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054841115610b3b576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610b7c84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061103b92505050565b82549091508503610bdc5781546001810183556000838152602090200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055610c3b565b80826000018681548110610bf257610bf26112e8565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6040518581527fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca89060200160405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016107dc565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610d42576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546000819003610d7f576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8154829080610d9057610d90611279565b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190557fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca86104466001836112a8565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0200805460009182918410610e74576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816000018581548110610e8b57610e8b6112e8565b60009182526020909120600290910201805490915060ff166001811115610eb457610eb46111f4565b8160010154935093505050915091565b60007f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e020061080f565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610f82576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fe9d327ea777894d5424b19533354c3e728e73020d972cbd4bccf6d4505b1324590600090a150565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff833b0116602181016000601f8401853c80825260408201810160405250919050565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816110795763301164256000526004601cfd5b90915290565b60006020828403121561109157600080fd5b5035919050565b602081526000825180602084015260005b818110156110c657602081860181015160408684010152016110a9565b5060006040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b60008060006060848603121561111957600080fd5b8335925060208401356002811061112f57600080fd5b929592945050506040919091013590565b60006020828403121561115257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461055357600080fd5b60008060006040848603121561118b57600080fd5b83359250602084013567ffffffffffffffff8111156111a957600080fd5b8401601f810186136111ba57600080fd5b803567ffffffffffffffff8111156111d157600080fd5b8660208284010111156111e357600080fd5b939660209190910195509293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811061125a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6040810161126c8285611223565b8260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b818103818111156112e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b82815260408101610553602083018461122356fea264697066735822122043d3da52c92cfff5ccb4efa567eb3fe46dc8783eb88faaa3efacc03572561ac264736f6c634300081c0033";
|
|
40
40
|
export const abxFixedPriceMinterAbi = [{ "type": "function", "name": "configure", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "purchase", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "expectedPaymentToken", "type": "address", "internalType": "address" }, { "name": "maxPrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "purchaseTo", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "expectedPaymentToken", "type": "address", "internalType": "address" }, { "name": "maxPrice", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "sales", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }], "outputs": [{ "name": "configured", "type": "bool", "internalType": "bool" }, { "name": "paymentToken", "type": "address", "internalType": "address" }, { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "internalType": "uint256" }, { "name": "sold", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "event", "name": "Purchase", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "SaleConfigured", "inputs": [{ "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "paymentToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "allocation", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "AllocationBelowSold", "inputs": [] }, { "type": "error", "name": "AllocationExhausted", "inputs": [] }, { "type": "error", "name": "NoPrimaryPayee", "inputs": [] }, { "type": "error", "name": "NotConfigured", "inputs": [] }, { "type": "error", "name": "NotProjectOwner", "inputs": [] }, { "type": "error", "name": "Reentrancy", "inputs": [] }, { "type": "error", "name": "SaleTermsChanged", "inputs": [] }, { "type": "error", "name": "WrongPayment", "inputs": [] }];
|
|
41
|
-
export const abxFixedPriceMinterBytecode = "
|
|
41
|
+
export const abxFixedPriceMinterBytecode = "0x6080604052348015600f57600080fd5b50610a148061001f6000396000f3fe60806040526004361061003f5760003560e01c8063431b4a53146100445780636404415614610066578063c6b9f06a1461008c578063dbb839491461012c575b600080fd5b34801561005057600080fd5b5061006461005f3660046108ac565b61013f565b005b6100796100743660046108f2565b6102b3565b6040519081526020015b60405180910390f35b34801561009857600080fd5b506100ed6100a7366004610933565b600060208190529081526040902080546001820154600283015460039093015460ff83169361010090930473ffffffffffffffffffffffffffffffffffffffff16929085565b60408051951515865273ffffffffffffffffffffffffffffffffffffffff9094166020860152928401919091526060830152608082015260a001610083565b61007961013a366004610957565b610300565b6101488461034e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101ac576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081905260409020600381015482101561020f576040517fb72785d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805473ffffffffffffffffffffffffffffffffffffffff85811661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000009093169290921760019081178455830185905560028301849055604080519283526020830186905282018490528616907fb8a0883311b2984d17ca5bc73b4f76a513dbd0e7d593f7e822cbf3d49388a2cf9060600160405180910390a25050505050565b60003068929eee149b4bd2126854036102d45763ab143c066000526004601cfd5b3068929eee149b4bd21268556102ec843385856103c5565b3868929eee149b4bd2126855949350505050565b60003068929eee149b4bd2126854036103215763ab143c066000526004601cfd5b3068929eee149b4bd2126855610339858585856103c5565b3868929eee149b4bd212685595945050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103bf91906109a8565b92915050565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081905260408120805460ff16610425576040517fd311bc3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060020154816003015410610466576040517f7787310b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008673ffffffffffffffffffffffffffffffffffffffff1663d8b4f8ac6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d791906109a8565b905073ffffffffffffffffffffffffffffffffffffffff8116610526576040517f662bebf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018201548254610100900473ffffffffffffffffffffffffffffffffffffffff166105548183898961075b565b600384018054600101905573ffffffffffffffffffffffffffffffffffffffff81166105b8578134146105b3576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610612565b34156105f0576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061273ffffffffffffffffffffffffffffffffffffffff8216338585610800565b6040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528a1690636a627842906024016020604051808303816000875af1158015610680573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a491906109c5565b945073ffffffffffffffffffffffffffffffffffffffff81161580156106c957508115155b156106ee576106ee73ffffffffffffffffffffffffffffffffffffffff841683610867565b6040805186815273ffffffffffffffffffffffffffffffffffffffff8381166020830152918101849052818a16913391908c16907fbf643e210feb17151f7b4d5e018eb6bb22020cd22f96c6420d67046bcc9523639060600160405180910390a450505050949350505050565b8173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146107c0576040517ff73a363200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808311156107fa576040517ff73a363200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af1806001600051141661085857803d873b15171061085857637939f4246000526004601cfd5b50600060605260405250505050565b60003860003884865af16108835763b12d13eb6000526004601cfd5b5050565b73ffffffffffffffffffffffffffffffffffffffff811681146108a957600080fd5b50565b600080600080608085870312156108c257600080fd5b84356108cd81610887565b935060208501356108dd81610887565b93969395505050506040820135916060013590565b60008060006060848603121561090757600080fd5b833561091281610887565b9250602084013561092281610887565b929592945050506040919091013590565b60006020828403121561094557600080fd5b813561095081610887565b9392505050565b6000806000806080858703121561096d57600080fd5b843561097881610887565b9350602085013561098881610887565b9250604085013561099881610887565b9396929550929360600135925050565b6000602082840312156109ba57600080fd5b815161095081610887565b6000602082840312156109d757600080fd5b505191905056fea2646970667358221220c0375e0c9b63defa1934733e60d694a5feae8540509b83ebbd996647f0d4a7d964736f6c634300081c0033";
|
|
42
42
|
export const abxMetadataRendererAbi = [{ "type": "function", "name": "contractURI", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "specVersion", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "pure" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }];
|
|
43
|
-
export const abxMetadataRendererBytecode = "0x6080604052348015600f57600080fd5b506130c88061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100405760003560e01c8062844d13146100455780637efe64a21461006e578063e9dc63751461007d575b600080fd5b6100586100533660046126e1565b610090565b6040516100659190612722565b60405180910390f35b604051600b8152602001610065565b61005861008b366004612755565b610553565b60405163055828c560e41b8152636e616d6560e01b600482015260609060009081906001600160a01b038516906355828c5090602401600060405180830381865afa1580156100e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010b9190810190612828565b91509150606080825160001415801561013e575065696e6c696e6560d01b84148061013e5750653932b0b232b960d11b84145b156101d85761014d84846107aa565b91506101d1604051806040016040528060048152602001636e616d6560e01b81525065696e6c696e6560d01b86146101a357604051806040016040528060068152602001653932b0b232b960d11b8152506101c3565b60405180604001604052806006815260200165696e6c696e6560d01b8152505b6101cc876107d2565b61091e565b90506102bf565b856001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610216573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261023e919081019061286f565b91506102bc604051806040016040528060048152602001636e616d6560e01b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506040518060400160405280601981526020017f6f6e2d636861696e20284552432d373231206e616d652829290000000000000081525061091e565b90505b60006102ca83610955565b6040516020016102da91906128a4565b6040516020818303038152906040529050610329876a3232b9b1b934b83a34b7b760a91b6040518060400160405280600b81526020016a3232b9b1b934b83a34b7b760a91b8152508486610962565b8093508192505050610373876c65787465726e616c5f6c696e6b60981b6040518060400160405280600d81526020016c65787465726e616c5f6c696e6b60981b8152508486610962565b80935081925050506103b1876631b932b0ba37b960c91b6040518060400160405280600781526020016631b932b0ba37b960c91b8152508486610962565b80935081925050506103fb876c646973706c61795f6e6f74657360981b6040518060400160405280600d81526020016c646973706c61795f6e6f74657360981b8152508486610962565b8093508192505050610445876c63726561746f725f6c696e6b7360981b6040518060400160405280600d81526020016c63726561746f725f6c696e6b7360981b8152508486610962565b809350819250505061048387666c6963656e736560c81b604051806040016040528060078152602001666c6963656e736560c81b8152508486610962565b80935081925050506104cb876b62616e6e65725f696d61676560a01b6040518060400160405280600c81526020016b62616e6e65725f696d61676560a01b8152508486610962565b8093508192505050610517876d66656174757265645f696d61676560901b6040518060400160405280600e81526020016d66656174757265645f696d61676560901b8152508486610962565b6040519093509091506105489061053490839085906020016128e1565b604051602081830303815290604052610c7e565b979650505050505050565b60606000806105628585610caf565b9150915060008060006105758888610f54565b925092509250600061058686610955565b61058f85610955565b6040516020016105a092919061293e565b6040516020818303038152906040529050600085846040516020016105c69291906129a8565b60405160208183030381529060405290506106168a8a6a3232b9b1b934b83a34b7b760a91b6040518060400160405280600b81526020016a3232b9b1b934b83a34b7b760a91b8152508686611370565b809250819350505061065f8a8a6b195e1d195c9b985b17dd5c9b60a21b6040518060400160405280600c81526020016b195e1d195c9b985b17dd5c9b60a21b8152508686611370565b80925081935050506106aa8a8a6c185b9a5b585d1a5bdb97dd5c9b609a1b6040518060400160405280600d81526020016c185b9a5b585d1a5bdb97dd5c9b609a1b8152508686611370565b80925081935050506106fb8a8a6f3130b1b5b3b937bab7322fb1b7b637b960811b6040518060400160405280601081526020016f3130b1b5b3b937bab7322fb1b7b637b960811b8152508686611370565b80925081935050506107428a8a6a1e5bdd5d1d589957dd5c9b60aa1b6040518060400160405280600b81526020016a1e5bdd5d1d589957dd5c9b60aa1b8152508686611370565b90925090506107538a8a8484611684565b84519193509150156107845781836040516020016107729291906129e4565b60405160208183030381529060405291505b61079a82826040516020016105349291906128e1565b9750505050505050505b92915050565b6060653932b0b232b960d11b83146107c257816107cb565b6107cb826118dd565b9392505050565b6060621d5c9b60ea1b820361080057604051806060016040528060278152602001612fb86027913992915050565b6b75726c2d74656d706c61746560a01b82036108355760405180606001604052806033815260200161303e6033913992915050565b673932b73232b932b960c11b8203610866576040518060600160405280602281526020016130716022913992915050565b636970667360e01b8214806108845750666172776561766560c81b82145b156108a8576040518060800160405280605f8152602001612fdf605f913992915050565b653932b0b232b960d11b82146108e5576040518060400160405280600f81526020016e39ba37b932b21037b71031b430b4b760891b8152506107a4565b505060408051808201909152601981527f73746f726564206f6e20636861696e20286368756e6b65642900000000000000602082015290565b6060838361092b84610955565b60405160200161093d93929190612a3b565b60405160208183030381529060405290509392505050565b60606107a4826000611973565b606080600080886001600160a01b03166355828c50896040518263ffffffff1660e01b815260040161099691815260200190565b600060405180830381865afa1580156109b3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109db9190810190612828565b9150915080516000036109f5578585935093505050610c74565b65696e6c696e6560d01b821480610a145750653932b0b232b960d11b82145b80610a245750621d5c9b60ea1b82145b15610a9e578587610a3d610a3885856107aa565b610955565b604051602001610a4f93929190612ad8565b604051602081830303815290604052955084610a7788610a6e85611a74565b6101cc866107d2565b604051602001610a889291906129a8565b6040516020818303038152906040529450610c6b565b636970667360e01b821480610abc5750666172776561766560c81b82145b15610b9d576000610ad38a84846000196000611bff565b90508051600003610b39578686610b0d8a604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc88611d7f565b604051602001610b1e9291906129a8565b60405160208183030381529060405294509450505050610c74565b8688610b4483610955565b604051602001610b5693929190612ad8565b604051602081830303815290604052965085610b75896101c386611a74565b604051602001610b869291906129a8565b604051602081830303815290604052955050610c6b565b673932b73232b932b960c11b8203610c1a576000610bbf828b6000198c611d9a565b9150508688610bcd83610955565b604051602001610bdf93929190612ad8565b60408051601f1981840301815282820190915260088252673932b73232b932b960c11b602083015297508690610b75908a906101cc876107d2565b84610c4888604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc86611d7f565b604051602001610c599291906129a8565b60405160208183030381529060405294505b85859350935050505b9550959350505050565b6060610c8982611e41565b604051602001610c999190612b48565b6040516020818303038152906040529050919050565b6060806000806000610cc98787636e616d6560e01b611e4f565b9250925092508151600014158015610cfb575065696e6c696e6560d01b831480610cfb5750653932b0b232b960d11b83145b15610d9c57610d0a83836107aa565b610d90604051806040016040528060048152602001636e616d6560e01b81525065696e6c696e6560d01b8614610d5e57604051806040016040528060068152602001653932b0b232b960d11b815250610d7e565b60405180604001604052806006815260200165696e6c696e6560d01b8152505b6101cc610d8a886107d2565b86611f7c565b94509450505050610f4d565b815115801590610db65750673932b73232b932b960c11b83145b15610e34576000610dd0838989636e616d6560e01b611d9a565b91505080610e27604051806040016040528060048152602001636e616d6560e01b815250604051806040016040528060088152602001673932b73232b932b960c11b8152506101cc610e21896107d2565b87611f7c565b9550955050505050610f4d565b6000876001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e74573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9c919081019061286f565b610ea588611fb1565b604051602001610eb6929190612b8d565b604051602081830303815290604052905080610f44604051806040016040528060048152602001636e616d6560e01b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506040518060400160405280601f81526020017f6f6e2d636861696e20284552432d373231206e616d652829202b20236964290081525061091e565b95509550505050505b9250929050565b60608060606000806000610f71888864696d61676560d81b611e4f565b92509250925081516000146112c85765696e6c696e6560d01b830361100c57610f9982611ff5565b610fee60405180604001604052806005815260200164696d61676560d81b81525060405180604001604052806006815260200165696e6c696e6560d01b8152506101cc610d8a65696e6c696e6560d01b6107d2565b60405180602001604052806000815250955095509550505050611369565b653932b0b232b960d11b83036110825761102d611028836118dd565b611ff5565b610fee60405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060068152602001653932b0b232b960d11b8152506101cc610d8a653932b0b232b960d11b6107d2565b621d5c9b60ea1b83036110df5781610fee60405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060038152602001621d5c9b60ea1b8152506101cc610d8a621d5c9b60ea1b6107d2565b6b75726c2d74656d706c61746560a01b8303611160576110ff8288612010565b610fee60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600c81526020016b75726c2d74656d706c61746560a01b8152506101cc610d8a6b75726c2d74656d706c61746560a01b6107d2565b636970667360e01b83148061117e5750666172776561766560c81b83145b156111f65760006111938985858b6001611bff565b905080516000146111f457806111d560405180604001604052806005815260200164696d61676560d81b8152506111c987611a74565b6101cc610e21896107d2565b6040518060200160405280600081525096509650965050505050611369565b505b673932b73232b932b960c11b8303611273576000611220838a8a64696d61676560d81b600161203c565b50509050806111d560405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060088152602001673932b73232b932b960c11b8152506101cc610e21896107d2565b61127d88886120d0565b610fee60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506101cc87611d7f565b6112d288886120d0565b61134f60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506040518060400160405280601c81526020017f66616c6c6261636b202d20696d616765206669656c6420756e7365740000000081525061091e565b604051806020016040528060008152509550955095505050505b9250925092565b60608060008060006113838b8b8b611e4f565b92509250925081516000036113a057868694509450505050611679565b65696e6c696e6560d01b8314806113bf5750653932b0b232b960d11b83145b1561147b5760006113d084846107aa565b90506c185b9a5b585d1a5bdb97dd5c9b609a1b8a0361141757611414604051806040016040528060098152602001681d195e1d0bda1d1b5b60ba1b81525082612122565b90505b878961142283610955565b60405160200161143493929190612ad8565b6040516020818303038152906040529750866114538a6111c987611a74565b6040516020016114649291906129a8565b60405160208183030381529060405296505061166f565b621d5c9b60ea1b83148061149d57506b75726c2d74656d706c61746560a01b83145b806114ae5750636970667360e01b83145b806114c25750666172776561766560c81b83145b1561158c576060636970667360e01b8414806114e75750666172776561766560c81b84145b15611566576114fa8c85858e6001611bff565b905080516000036115615787876115348b604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc89611d7f565b6040516020016115459291906129a8565b6040516020818303038152906040529550955050505050611679565b611417565b6b75726c2d74656d706c61746560a01b84146115825782611414565b611414838c612010565b673932b73232b932b960c11b830361161e5760006115bf838d8d8d6c185b9a5b585d1a5bdb97dd5c9b609a1b8f1461203c565b5050905087896115ce83610955565b6040516020016115e093929190612ad8565b60408051601f1981840301815282820190915260088252673932b73232b932b960c11b602083015298508790611453908b906101cc610e21896107d2565b8561164c89604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc87611d7f565b60405160200161165d9291906129a8565b60405160208183030381529060405295505b8686945094505050505b965096945050505050565b60608060008060006116a48989696174747269627574657360b01b611e4f565b92509250925081516000036116c1578686945094505050506118d4565b65696e6c696e6560d01b83036117775786826040516020016116e4929190612bca565b6040516020818303038152906040529650856117506040518060400160405280600a8152602001696174747269627574657360b01b81525060405180604001604052806006815260200165696e6c696e6560d01b8152506101cc610d8a65696e6c696e6560d01b6107d2565b6040516020016117619291906129a8565b60405160208183030381529060405295506118ca565b673932b73232b932b960c11b83036118575760006117a4838b8b696174747269627574657360b01b611d9a565b91505080516000036117bf57878795509550505050506118d4565b87816040516020016117d2929190612bca565b60408051601f198184030181528282018252600a8352696174747269627574657360b01b602084810191909152825180840190935260088352673932b73232b932b960c11b908301529950889161182f916101cc610e21896107d2565b6040516020016118409291906129a8565b6040516020818303038152906040529650506118ca565b856118a76040518060400160405280600a8152602001696174747269627574657360b01b815250604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc87611d7f565b6040516020016118b89291906129a8565b60405160208183030381529060405295505b8686945094505050505b94509492505050565b6060600080838060200190518101906118f69190612c13565b604051635043d43f60e11b81526001600160a01b0380831660048301529294509092509083169063a087a87e90602401600060405180830381865afa158015611943573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261196b919081019061286f565b949350505050565b60405160208101821561198857602281536001015b7b5c75303030303031323334353637383961626364656662746e00667260155283516b1000000000000004000000009085015b808614611a4b5760018601955060ff86511660208110611a0457826001821b166119ee57808453600184019350506119bb565b605c8453806001850153600284019350506119bb565b6137006001821b16611a31578060041c51601d53600f811651601e536019518452600684019350506119bb565b605c845360088101516001850153506002830192506119bb565b50508215611a5b57602281536001015b60008152601f1982820301825260200160405292915050565b606065696e6c696e6560d01b8203611aa8575050604080518082019091526006815265696e6c696e6560d01b602082015290565b653932b0b232b960d11b8203611ada5750506040805180820190915260068152653932b0b232b960d11b602082015290565b673932b73232b932b960c11b8203611b105750506040805180820190915260088152673932b73232b932b960c11b602082015290565b621d5c9b60ea1b8203611b3c5750506040805180820190915260038152621d5c9b60ea1b602082015290565b6b75726c2d74656d706c61746560a01b8203611b7a57505060408051808201909152600c81526b75726c2d74656d706c61746560a01b602082015290565b636970667360e01b8203611ba85750506040805180820190915260048152636970667360e01b602082015290565b666172776561766560c81b8203611bdc5750506040805180820190915260078152666172776561766560c81b602082015290565b50506040805180820190915260078152661bdb5a5d1d195960ca1b602082015290565b60608363968f998d60e01b8601611c5157611c398160405180604001604052806007815260200166697066733a2f2f60c81b81525061213f565b15611c4c57611c49816007612160565b90505b611c8b565b611c78816040518060400160405280600581526020016461723a2f2f60d81b81525061213f565b15611c8b57611c88816005612160565b90505b8051600003611caa575050604080516020810190915260008152611d76565b8215611ce257611cdf81604051806040016040528060048152602001637b69647d60e01b815250611cda87611fb1565b61216f565b90505b611d0c816040518060400160405280600881526020016768747470733a2f2f60c01b81525061213f565b80611d3b5750611d3b8160405180604001604052806007815260200166687474703a2f2f60c81b81525061213f565b15611d47579050611d76565b611d51878761217c565b81604051602001611d63929190612c4d565b6040516020818303038152906040529150505b95945050505050565b6060611d8a826122d3565b604051602001610c999190612c7c565b606080600086806020019051810190611db39190612cd2565b604051633f307a7b60e11b81526001600160a01b038881166004830152602482018890526044820187905291925090821690637e60f4f690606401600060405180830381865afa158015611e0b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e339190810190612cef565b925092505094509492505050565b60606107a4826000806123e6565b604051633937c63b60e21b8152600481018390526024810182905260009060609082906001600160a01b0387169063e4df18ec90604401600060405180830381865afa158015611ea3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ecb9190810190612828565b8051919450925015611edf57506000611f73565b60405163055828c560e41b81526004810185905260009081906001600160a01b038916906355828c5090602401600060405180830381865afa158015611f29573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f519190810190612828565b915091508051600014611f6c57909350915060019050611f73565b5060009150505b93509350939050565b606081611f8957826107cb565b82604051602001611f9a9190612d42565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480611fcc575050819003601f19909101908152919050565b606061200082611e41565b604051602001610c999190612d73565b60606107cb83604051806040016040528060048152602001637b69647d60e01b815250611cda85611fb1565b6060806000606061204f89898989611d9a565b60408051808201909152600d81526c1d195e1d0bdd5c9a4b5b1a5cdd609a1b60209182015282519083012091945091507f2438498d70aa8ac91444d2861b334b26492f82721c6150cf6dd763335bc75de01491508480156120ae575081155b6120b857806120c2565b6120c28382612122565b935050955095509592505050565b606060006120e96120e0856124db565b6000600661254a565b90506000816120f785611fb1565b604051602001612108929190612db8565b6040516020818303038152906040529050611d7681611ff5565b60608261212e83611e41565b604051602001611f9a929190612f26565b805160208083018290209084018290208451600093919092149110106107cb565b60606107cb8383600019612553565b606061196b8484846125b9565b6060600080846001600160a01b03166355828c50636970667360e01b86146121ba57726162785f676174657761795f6172776561766560681b6121cf565b6f6162785f676174657761795f6970667360801b5b6040518263ffffffff1660e01b81526004016121ed91815260200190565b600060405180830381865afa15801561220a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122329190810190612828565b915091508051600014158015612250575065696e6c696e6560d01b82145b1561225e5791506107a49050565b636970667360e01b841461229e576040518060400160405280601481526020017368747470733a2f2f617277656176652e6e65742f60601b815250611d76565b505060408051808201909152601581527468747470733a2f2f697066732e696f2f697066732f60581b60208201529392505050565b606060005b60208110801561230657508281602081106122f5576122f5612f7a565b1a60f81b6001600160f81b03191615155b1561231b5761231481612f90565b90506122d8565b60008167ffffffffffffffff81111561233657612336612781565b6040519080825280601f01601f191660200182016040528015612360576020820181803683370190505b50905060005b828110156123de57600085826020811061238257612382612f7a565b1a9050602081108015906123995750607f8160ff16105b6123a757603f60f81b6123ac565b8060f81b5b8383815181106123be576123be612f7a565b60200101906001600160f81b031916908160001a90535050600101612366565b509392505050565b6060835180156123de576003600282010460021b60405192507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106708515027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f52602083018181018388602001018051600082525b60038a0199508951603f8160121c1651600053603f81600c1c1651600153603f8160061c1651600253603f811651600353506000518452600484019350828410612462579052602001604052613d3d60f01b60038406600204808303919091526000861515909102918290035290038252509392505050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101906012190161251b575050919050565b606061196b8484845b60608351828111612562578092505b83811161256d578093505b50818310156107cb5750604051828203848401601f19601f830181165b828101518582015281018061258a57505050806020830101600081526020810160405250808252509392505050565b606060405190508251825185830360208701875181016000528751841161268c5760018460005103016000602086106125f5578560208a012090505b6020890151601f871660200360031b5b8451828118821c61267557831561263d57838987201461263d5780878701526001860195508486106126375750612687565b50612605565b60005b6020818d0181015189890183015201888110612640575088888801039650881561267557948801948486106126375750612687565b85870152600190940193838510612605575b505050505b6000519350836020860183030192505b838110156126b25780518282015260200161269c565b600091019081526020016040528252509392505050565b6001600160a01b03811681146126de57600080fd5b50565b6000602082840312156126f357600080fd5b81356107cb816126c9565b60005b83811015612719578181015183820152602001612701565b50506000910152565b60208152600082518060208401526127418160408501602087016126fe565b601f01601f19169190910160400192915050565b6000806040838503121561276857600080fd5b8235612773816126c9565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126127a857600080fd5b81516020830160008067ffffffffffffffff8411156127c9576127c9612781565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff821117156127f8576127f8612781565b60405283815290508082840187101561281057600080fd5b61281e8460208301856126fe565b9695505050505050565b6000806040838503121561283b57600080fd5b82519150602083015167ffffffffffffffff81111561285957600080fd5b61286585828601612797565b9150509250929050565b60006020828403121561288157600080fd5b815167ffffffffffffffff81111561289857600080fd5b61196b84828501612797565b683d913730b6b2911d1160b91b815281516000906128c98160098501602087016126fe565b601160f91b6009939091019283015250600a01919050565b600083516128f38184602088016126fe565b722c226162785f70726f76656e616e6365223a5b60681b90830190815283516129238160138401602088016126fe565b615d7d60f01b60139290910191820152601501949350505050565b683d913730b6b2911d1160b91b815282516000906129638160098501602088016126fe565b6a11161134b6b0b3b2911d1160a91b600991840191820152835161298e8160148401602088016126fe565b601160f91b60149290910191820152601501949350505050565b600083516129ba8184602088016126fe565b600b60fa1b90830190815283516129d88160018401602088016126fe565b01600101949350505050565b600083516129f68184602088016126fe565b6d2c22617274696661637473223a5b60901b9083019081528351612a2181600e8401602088016126fe565b605d60f81b600e9290910191820152600f01949350505050565b693d913334b2b632111d1160b11b81528351600090612a6181600a8501602089016126fe565b6b11161139b7bab931b2911d1160a11b600a918401918201528451612a8d8160168401602089016126fe565b600a81830101915050691116113737ba32911d1160b11b600c8201528351612abc8160168401602088016126fe565b61227d60f01b6016929091019182015260180195945050505050565b60008451612aea8184602089016126fe565b61161160f11b9083019081528451612b098160028401602089016126fe565b62111d1160e91b600292909101918201528351612b2d8160058401602088016126fe565b601160f91b6005929091019182015260060195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251612b8081601d8501602087016126fe565b91909101601d0192915050565b60008351612b9f8184602088016126fe565b61202360f01b9083019081528351612bbe8160028401602088016126fe565b01600201949350505050565b60008351612bdc8184602088016126fe565b6d161130ba3a3934b13aba32b9911d60911b9083019081528351612c0781600e8401602088016126fe565b01600e01949350505050565b60008060408385031215612c2657600080fd5b8251612c31816126c9565b6020840151909250612c42816126c9565b809150509250929050565b60008351612c5f8184602088016126fe565b835190830190612c738183602088016126fe565b01949350505050565b7f726570726573656e746174696f6e206e6f74206f6e2d636861696e2d72656e64815267032b930b136329d160c51b602082015260008251612cc58160288501602087016126fe565b9190910160280192915050565b600060208284031215612ce457600080fd5b81516107cb816126c9565b60008060408385031215612d0257600080fd5b825167ffffffffffffffff811115612d1957600080fd5b612d2585828601612797565b925050602083015167ffffffffffffffff81111561285957600080fd5b60008251612d548184602087016126fe565b6c205b636f6c6c656374696f6e5d60981b920191825250600d01919050565b7f646174613a696d6167652f7376672b786d6c3b6261736536342c000000000000815260008251612dab81601a8501602087016126fe565b91909101601a0192915050565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222077696474683d2235303022206865696768743d223530302260208201527f2076696577426f783d223020302035303020353030223e3c726563742077696460408201527f74683d2235303022206865696768743d22353030222066696c6c3d2223000000606082015260008351612e6281607d8501602088016126fe565b7f222f3e3c7465787420783d223235302220793d223236342220666f6e742d6661607d918401918201527f6d696c793d226d6f6e6f73706163652220666f6e742d73697a653d2234322220609d8201527f66696c6c3d22236666666666662220746578742d616e63686f723d226d69646460bd820152646c65223e2360d81b60dd8201528351612ef98160e28401602088016126fe565b01607d810190612f1b9060e2016c1e17ba32bc3a1f1e17b9bb339f60991b9052565b607201949350505050565b643230ba309d60d91b815260008351612f468160058501602088016126fe565b670ed8985cd94d8d0b60c21b6005918401918201528351612f6e81600d8401602088016126fe565b01600d01949350505050565b634e487b7160e01b600052603260045260246000fd5b600060018201612fb057634e487b7160e01b600052601160045260246000fd5b506001019056fe73746f726564206f6e20636861696e3b207468652076616c75652069732061206c6f6361746f7273746f726564206f6e20636861696e3b206120636f6e74656e742d616464726573736564206c6f6361746f722c20736572766564207468726f7567682074686520636f6c6c656374696f6e2773207072656665727265642067617465776179636f6d706f736564206f6e20636861696e2066726f6d20612073746f7265642074656d706c6174653b2061206c6f6361746f72636f6d7075746564206f6e20636861696e20286669656c642072656e646572657229a26469706673582212203d1262c7e96a6f383fdd6b48eccadd703d7b232c89044c2bf7c0f50a18a2c21b64736f6c634300081c0033";
|
|
43
|
+
export const abxMetadataRendererBytecode = "0x6080604052348015600f57600080fd5b506130c88061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100405760003560e01c8062844d13146100455780637efe64a21461006e578063e9dc63751461007d575b600080fd5b6100586100533660046126e1565b610090565b6040516100659190612722565b60405180910390f35b604051600b8152602001610065565b61005861008b366004612755565b610553565b60405163055828c560e41b8152636e616d6560e01b600482015260609060009081906001600160a01b038516906355828c5090602401600060405180830381865afa1580156100e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010b9190810190612828565b91509150606080825160001415801561013e575065696e6c696e6560d01b84148061013e5750653932b0b232b960d11b84145b156101d85761014d84846107aa565b91506101d1604051806040016040528060048152602001636e616d6560e01b81525065696e6c696e6560d01b86146101a357604051806040016040528060068152602001653932b0b232b960d11b8152506101c3565b60405180604001604052806006815260200165696e6c696e6560d01b8152505b6101cc876107d2565b61091e565b90506102bf565b856001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610216573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261023e919081019061286f565b91506102bc604051806040016040528060048152602001636e616d6560e01b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506040518060400160405280601981526020017f6f6e2d636861696e20284552432d373231206e616d652829290000000000000081525061091e565b90505b60006102ca83610955565b6040516020016102da91906128a4565b6040516020818303038152906040529050610329876a3232b9b1b934b83a34b7b760a91b6040518060400160405280600b81526020016a3232b9b1b934b83a34b7b760a91b8152508486610962565b8093508192505050610373876c65787465726e616c5f6c696e6b60981b6040518060400160405280600d81526020016c65787465726e616c5f6c696e6b60981b8152508486610962565b80935081925050506103b1876631b932b0ba37b960c91b6040518060400160405280600781526020016631b932b0ba37b960c91b8152508486610962565b80935081925050506103fb876c646973706c61795f6e6f74657360981b6040518060400160405280600d81526020016c646973706c61795f6e6f74657360981b8152508486610962565b8093508192505050610445876c63726561746f725f6c696e6b7360981b6040518060400160405280600d81526020016c63726561746f725f6c696e6b7360981b8152508486610962565b809350819250505061048387666c6963656e736560c81b604051806040016040528060078152602001666c6963656e736560c81b8152508486610962565b80935081925050506104cb876b62616e6e65725f696d61676560a01b6040518060400160405280600c81526020016b62616e6e65725f696d61676560a01b8152508486610962565b8093508192505050610517876d66656174757265645f696d61676560901b6040518060400160405280600e81526020016d66656174757265645f696d61676560901b8152508486610962565b6040519093509091506105489061053490839085906020016128e1565b604051602081830303815290604052610c7e565b979650505050505050565b60606000806105628585610caf565b9150915060008060006105758888610f54565b925092509250600061058686610955565b61058f85610955565b6040516020016105a092919061293e565b6040516020818303038152906040529050600085846040516020016105c69291906129a8565b60405160208183030381529060405290506106168a8a6a3232b9b1b934b83a34b7b760a91b6040518060400160405280600b81526020016a3232b9b1b934b83a34b7b760a91b8152508686611370565b809250819350505061065f8a8a6b195e1d195c9b985b17dd5c9b60a21b6040518060400160405280600c81526020016b195e1d195c9b985b17dd5c9b60a21b8152508686611370565b80925081935050506106aa8a8a6c185b9a5b585d1a5bdb97dd5c9b609a1b6040518060400160405280600d81526020016c185b9a5b585d1a5bdb97dd5c9b609a1b8152508686611370565b80925081935050506106fb8a8a6f3130b1b5b3b937bab7322fb1b7b637b960811b6040518060400160405280601081526020016f3130b1b5b3b937bab7322fb1b7b637b960811b8152508686611370565b80925081935050506107428a8a6a1e5bdd5d1d589957dd5c9b60aa1b6040518060400160405280600b81526020016a1e5bdd5d1d589957dd5c9b60aa1b8152508686611370565b90925090506107538a8a8484611684565b84519193509150156107845781836040516020016107729291906129e4565b60405160208183030381529060405291505b61079a82826040516020016105349291906128e1565b9750505050505050505b92915050565b6060653932b0b232b960d11b83146107c257816107cb565b6107cb826118dd565b9392505050565b6060621d5c9b60ea1b820361080057604051806060016040528060278152602001612fb86027913992915050565b6b75726c2d74656d706c61746560a01b82036108355760405180606001604052806033815260200161303e6033913992915050565b673932b73232b932b960c11b8203610866576040518060600160405280602281526020016130716022913992915050565b636970667360e01b8214806108845750666172776561766560c81b82145b156108a8576040518060800160405280605f8152602001612fdf605f913992915050565b653932b0b232b960d11b82146108e5576040518060400160405280600f81526020016e39ba37b932b21037b71031b430b4b760891b8152506107a4565b505060408051808201909152601981527f73746f726564206f6e20636861696e20286368756e6b65642900000000000000602082015290565b6060838361092b84610955565b60405160200161093d93929190612a3b565b60405160208183030381529060405290509392505050565b60606107a4826000611973565b606080600080886001600160a01b03166355828c50896040518263ffffffff1660e01b815260040161099691815260200190565b600060405180830381865afa1580156109b3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109db9190810190612828565b9150915080516000036109f5578585935093505050610c74565b65696e6c696e6560d01b821480610a145750653932b0b232b960d11b82145b80610a245750621d5c9b60ea1b82145b15610a9e578587610a3d610a3885856107aa565b610955565b604051602001610a4f93929190612ad8565b604051602081830303815290604052955084610a7788610a6e85611a74565b6101cc866107d2565b604051602001610a889291906129a8565b6040516020818303038152906040529450610c6b565b636970667360e01b821480610abc5750666172776561766560c81b82145b15610b9d576000610ad38a84846000196000611bff565b90508051600003610b39578686610b0d8a604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc88611d7f565b604051602001610b1e9291906129a8565b60405160208183030381529060405294509450505050610c74565b8688610b4483610955565b604051602001610b5693929190612ad8565b604051602081830303815290604052965085610b75896101c386611a74565b604051602001610b869291906129a8565b604051602081830303815290604052955050610c6b565b673932b73232b932b960c11b8203610c1a576000610bbf828b6000198c611d9a565b9150508688610bcd83610955565b604051602001610bdf93929190612ad8565b60408051601f1981840301815282820190915260088252673932b73232b932b960c11b602083015297508690610b75908a906101cc876107d2565b84610c4888604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc86611d7f565b604051602001610c599291906129a8565b60405160208183030381529060405294505b85859350935050505b9550959350505050565b6060610c8982611e41565b604051602001610c999190612b48565b6040516020818303038152906040529050919050565b6060806000806000610cc98787636e616d6560e01b611e4f565b9250925092508151600014158015610cfb575065696e6c696e6560d01b831480610cfb5750653932b0b232b960d11b83145b15610d9c57610d0a83836107aa565b610d90604051806040016040528060048152602001636e616d6560e01b81525065696e6c696e6560d01b8614610d5e57604051806040016040528060068152602001653932b0b232b960d11b815250610d7e565b60405180604001604052806006815260200165696e6c696e6560d01b8152505b6101cc610d8a886107d2565b86611f7c565b94509450505050610f4d565b815115801590610db65750673932b73232b932b960c11b83145b15610e34576000610dd0838989636e616d6560e01b611d9a565b91505080610e27604051806040016040528060048152602001636e616d6560e01b815250604051806040016040528060088152602001673932b73232b932b960c11b8152506101cc610e21896107d2565b87611f7c565b9550955050505050610f4d565b6000876001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e74573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9c919081019061286f565b610ea588611fb1565b604051602001610eb6929190612b8d565b604051602081830303815290604052905080610f44604051806040016040528060048152602001636e616d6560e01b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506040518060400160405280601f81526020017f6f6e2d636861696e20284552432d373231206e616d652829202b20236964290081525061091e565b95509550505050505b9250929050565b60608060606000806000610f71888864696d61676560d81b611e4f565b92509250925081516000146112c85765696e6c696e6560d01b830361100c57610f9982611ff5565b610fee60405180604001604052806005815260200164696d61676560d81b81525060405180604001604052806006815260200165696e6c696e6560d01b8152506101cc610d8a65696e6c696e6560d01b6107d2565b60405180602001604052806000815250955095509550505050611369565b653932b0b232b960d11b83036110825761102d611028836118dd565b611ff5565b610fee60405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060068152602001653932b0b232b960d11b8152506101cc610d8a653932b0b232b960d11b6107d2565b621d5c9b60ea1b83036110df5781610fee60405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060038152602001621d5c9b60ea1b8152506101cc610d8a621d5c9b60ea1b6107d2565b6b75726c2d74656d706c61746560a01b8303611160576110ff8288612010565b610fee60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600c81526020016b75726c2d74656d706c61746560a01b8152506101cc610d8a6b75726c2d74656d706c61746560a01b6107d2565b636970667360e01b83148061117e5750666172776561766560c81b83145b156111f65760006111938985858b6001611bff565b905080516000146111f457806111d560405180604001604052806005815260200164696d61676560d81b8152506111c987611a74565b6101cc610e21896107d2565b6040518060200160405280600081525096509650965050505050611369565b505b673932b73232b932b960c11b8303611273576000611220838a8a64696d61676560d81b600161203c565b50509050806111d560405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060088152602001673932b73232b932b960c11b8152506101cc610e21896107d2565b61127d88886120d0565b610fee60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506101cc87611d7f565b6112d288886120d0565b61134f60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600881526020016766616c6c6261636b60c01b8152506040518060400160405280601c81526020017f66616c6c6261636b202d20696d616765206669656c6420756e7365740000000081525061091e565b604051806020016040528060008152509550955095505050505b9250925092565b60608060008060006113838b8b8b611e4f565b92509250925081516000036113a057868694509450505050611679565b65696e6c696e6560d01b8314806113bf5750653932b0b232b960d11b83145b1561147b5760006113d084846107aa565b90506c185b9a5b585d1a5bdb97dd5c9b609a1b8a0361141757611414604051806040016040528060098152602001681d195e1d0bda1d1b5b60ba1b81525082612122565b90505b878961142283610955565b60405160200161143493929190612ad8565b6040516020818303038152906040529750866114538a6111c987611a74565b6040516020016114649291906129a8565b60405160208183030381529060405296505061166f565b621d5c9b60ea1b83148061149d57506b75726c2d74656d706c61746560a01b83145b806114ae5750636970667360e01b83145b806114c25750666172776561766560c81b83145b1561158c576060636970667360e01b8414806114e75750666172776561766560c81b84145b15611566576114fa8c85858e6001611bff565b905080516000036115615787876115348b604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc89611d7f565b6040516020016115459291906129a8565b6040516020818303038152906040529550955050505050611679565b611417565b6b75726c2d74656d706c61746560a01b84146115825782611414565b611414838c612010565b673932b73232b932b960c11b830361161e5760006115bf838d8d8d6c185b9a5b585d1a5bdb97dd5c9b609a1b8f1461203c565b5050905087896115ce83610955565b6040516020016115e093929190612ad8565b60408051601f1981840301815282820190915260088252673932b73232b932b960c11b602083015298508790611453908b906101cc610e21896107d2565b8561164c89604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc87611d7f565b60405160200161165d9291906129a8565b60405160208183030381529060405295505b8686945094505050505b965096945050505050565b60608060008060006116a48989696174747269627574657360b01b611e4f565b92509250925081516000036116c1578686945094505050506118d4565b65696e6c696e6560d01b83036117775786826040516020016116e4929190612bca565b6040516020818303038152906040529650856117506040518060400160405280600a8152602001696174747269627574657360b01b81525060405180604001604052806006815260200165696e6c696e6560d01b8152506101cc610d8a65696e6c696e6560d01b6107d2565b6040516020016117619291906129a8565b60405160208183030381529060405295506118ca565b673932b73232b932b960c11b83036118575760006117a4838b8b696174747269627574657360b01b611d9a565b91505080516000036117bf57878795509550505050506118d4565b87816040516020016117d2929190612bca565b60408051601f198184030181528282018252600a8352696174747269627574657360b01b602084810191909152825180840190935260088352673932b73232b932b960c11b908301529950889161182f916101cc610e21896107d2565b6040516020016118409291906129a8565b6040516020818303038152906040529650506118ca565b856118a76040518060400160405280600a8152602001696174747269627574657360b01b815250604051806040016040528060078152602001661bdb5a5d1d195960ca1b8152506101cc87611d7f565b6040516020016118b89291906129a8565b60405160208183030381529060405295505b8686945094505050505b94509492505050565b6060600080838060200190518101906118f69190612c13565b604051635043d43f60e11b81526001600160a01b0380831660048301529294509092509083169063a087a87e90602401600060405180830381865afa158015611943573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261196b919081019061286f565b949350505050565b60405160208101821561198857602281536001015b7b5c75303030303031323334353637383961626364656662746e00667260155283516b1000000000000004000000009085015b808614611a4b5760018601955060ff86511660208110611a0457826001821b166119ee57808453600184019350506119bb565b605c8453806001850153600284019350506119bb565b6137006001821b16611a31578060041c51601d53600f811651601e536019518452600684019350506119bb565b605c845360088101516001850153506002830192506119bb565b50508215611a5b57602281536001015b60008152601f1982820301825260200160405292915050565b606065696e6c696e6560d01b8203611aa8575050604080518082019091526006815265696e6c696e6560d01b602082015290565b653932b0b232b960d11b8203611ada5750506040805180820190915260068152653932b0b232b960d11b602082015290565b673932b73232b932b960c11b8203611b105750506040805180820190915260088152673932b73232b932b960c11b602082015290565b621d5c9b60ea1b8203611b3c5750506040805180820190915260038152621d5c9b60ea1b602082015290565b6b75726c2d74656d706c61746560a01b8203611b7a57505060408051808201909152600c81526b75726c2d74656d706c61746560a01b602082015290565b636970667360e01b8203611ba85750506040805180820190915260048152636970667360e01b602082015290565b666172776561766560c81b8203611bdc5750506040805180820190915260078152666172776561766560c81b602082015290565b50506040805180820190915260078152661bdb5a5d1d195960ca1b602082015290565b60608363968f998d60e01b8601611c5157611c398160405180604001604052806007815260200166697066733a2f2f60c81b81525061213f565b15611c4c57611c49816007612160565b90505b611c8b565b611c78816040518060400160405280600581526020016461723a2f2f60d81b81525061213f565b15611c8b57611c88816005612160565b90505b8051600003611caa575050604080516020810190915260008152611d76565b8215611ce257611cdf81604051806040016040528060048152602001637b69647d60e01b815250611cda87611fb1565b61216f565b90505b611d0c816040518060400160405280600881526020016768747470733a2f2f60c01b81525061213f565b80611d3b5750611d3b8160405180604001604052806007815260200166687474703a2f2f60c81b81525061213f565b15611d47579050611d76565b611d51878761217c565b81604051602001611d63929190612c4d565b6040516020818303038152906040529150505b95945050505050565b6060611d8a826122d3565b604051602001610c999190612c7c565b606080600086806020019051810190611db39190612cd2565b604051633f307a7b60e11b81526001600160a01b038881166004830152602482018890526044820187905291925090821690637e60f4f690606401600060405180830381865afa158015611e0b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e339190810190612cef565b925092505094509492505050565b60606107a4826000806123e6565b604051633937c63b60e21b8152600481018390526024810182905260009060609082906001600160a01b0387169063e4df18ec90604401600060405180830381865afa158015611ea3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ecb9190810190612828565b8051919450925015611edf57506000611f73565b60405163055828c560e41b81526004810185905260009081906001600160a01b038916906355828c5090602401600060405180830381865afa158015611f29573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f519190810190612828565b915091508051600014611f6c57909350915060019050611f73565b5060009150505b93509350939050565b606081611f8957826107cb565b82604051602001611f9a9190612d42565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480611fcc575050819003601f19909101908152919050565b606061200082611e41565b604051602001610c999190612d73565b60606107cb83604051806040016040528060048152602001637b69647d60e01b815250611cda85611fb1565b6060806000606061204f89898989611d9a565b60408051808201909152600d81526c1d195e1d0bdd5c9a4b5b1a5cdd609a1b60209182015282519083012091945091507f2438498d70aa8ac91444d2861b334b26492f82721c6150cf6dd763335bc75de01491508480156120ae575081155b6120b857806120c2565b6120c28382612122565b935050955095509592505050565b606060006120e96120e0856124db565b6000600661254a565b90506000816120f785611fb1565b604051602001612108929190612db8565b6040516020818303038152906040529050611d7681611ff5565b60608261212e83611e41565b604051602001611f9a929190612f26565b805160208083018290209084018290208451600093919092149110106107cb565b60606107cb8383600019612553565b606061196b8484846125b9565b6060600080846001600160a01b03166355828c50636970667360e01b86146121ba57726162785f676174657761795f6172776561766560681b6121cf565b6f6162785f676174657761795f6970667360801b5b6040518263ffffffff1660e01b81526004016121ed91815260200190565b600060405180830381865afa15801561220a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122329190810190612828565b915091508051600014158015612250575065696e6c696e6560d01b82145b1561225e5791506107a49050565b636970667360e01b841461229e576040518060400160405280601481526020017368747470733a2f2f617277656176652e6e65742f60601b815250611d76565b505060408051808201909152601581527468747470733a2f2f697066732e696f2f697066732f60581b60208201529392505050565b606060005b60208110801561230657508281602081106122f5576122f5612f7a565b1a60f81b6001600160f81b03191615155b1561231b5761231481612f90565b90506122d8565b60008167ffffffffffffffff81111561233657612336612781565b6040519080825280601f01601f191660200182016040528015612360576020820181803683370190505b50905060005b828110156123de57600085826020811061238257612382612f7a565b1a9050602081108015906123995750607f8160ff16105b6123a757603f60f81b6123ac565b8060f81b5b8383815181106123be576123be612f7a565b60200101906001600160f81b031916908160001a90535050600101612366565b509392505050565b6060835180156123de576003600282010460021b60405192507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106708515027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f52602083018181018388602001018051600082525b60038a0199508951603f8160121c1651600053603f81600c1c1651600153603f8160061c1651600253603f811651600353506000518452600484019350828410612462579052602001604052613d3d60f01b60038406600204808303919091526000861515909102918290035290038252509392505050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101906012190161251b575050919050565b606061196b8484845b60608351828111612562578092505b83811161256d578093505b50818310156107cb5750604051828203848401601f19601f830181165b828101518582015281018061258a57505050806020830101600081526020810160405250808252509392505050565b606060405190508251825185830360208701875181016000528751841161268c5760018460005103016000602086106125f5578560208a012090505b6020890151601f871660200360031b5b8451828118821c61267557831561263d57838987201461263d5780878701526001860195508486106126375750612687565b50612605565b60005b6020818d0181015189890183015201888110612640575088888801039650881561267557948801948486106126375750612687565b85870152600190940193838510612605575b505050505b6000519350836020860183030192505b838110156126b25780518282015260200161269c565b600091019081526020016040528252509392505050565b6001600160a01b03811681146126de57600080fd5b50565b6000602082840312156126f357600080fd5b81356107cb816126c9565b60005b83811015612719578181015183820152602001612701565b50506000910152565b60208152600082518060208401526127418160408501602087016126fe565b601f01601f19169190910160400192915050565b6000806040838503121561276857600080fd5b8235612773816126c9565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126127a857600080fd5b81516020830160008067ffffffffffffffff8411156127c9576127c9612781565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff821117156127f8576127f8612781565b60405283815290508082840187101561281057600080fd5b61281e8460208301856126fe565b9695505050505050565b6000806040838503121561283b57600080fd5b82519150602083015167ffffffffffffffff81111561285957600080fd5b61286585828601612797565b9150509250929050565b60006020828403121561288157600080fd5b815167ffffffffffffffff81111561289857600080fd5b61196b84828501612797565b683d913730b6b2911d1160b91b815281516000906128c98160098501602087016126fe565b601160f91b6009939091019283015250600a01919050565b600083516128f38184602088016126fe565b722c226162785f70726f76656e616e6365223a5b60681b90830190815283516129238160138401602088016126fe565b615d7d60f01b60139290910191820152601501949350505050565b683d913730b6b2911d1160b91b815282516000906129638160098501602088016126fe565b6a11161134b6b0b3b2911d1160a91b600991840191820152835161298e8160148401602088016126fe565b601160f91b60149290910191820152601501949350505050565b600083516129ba8184602088016126fe565b600b60fa1b90830190815283516129d88160018401602088016126fe565b01600101949350505050565b600083516129f68184602088016126fe565b6d2c22617274696661637473223a5b60901b9083019081528351612a2181600e8401602088016126fe565b605d60f81b600e9290910191820152600f01949350505050565b693d913334b2b632111d1160b11b81528351600090612a6181600a8501602089016126fe565b6b11161139b7bab931b2911d1160a11b600a918401918201528451612a8d8160168401602089016126fe565b600a81830101915050691116113737ba32911d1160b11b600c8201528351612abc8160168401602088016126fe565b61227d60f01b6016929091019182015260180195945050505050565b60008451612aea8184602089016126fe565b61161160f11b9083019081528451612b098160028401602089016126fe565b62111d1160e91b600292909101918201528351612b2d8160058401602088016126fe565b601160f91b6005929091019182015260060195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251612b8081601d8501602087016126fe565b91909101601d0192915050565b60008351612b9f8184602088016126fe565b61202360f01b9083019081528351612bbe8160028401602088016126fe565b01600201949350505050565b60008351612bdc8184602088016126fe565b6d161130ba3a3934b13aba32b9911d60911b9083019081528351612c0781600e8401602088016126fe565b01600e01949350505050565b60008060408385031215612c2657600080fd5b8251612c31816126c9565b6020840151909250612c42816126c9565b809150509250929050565b60008351612c5f8184602088016126fe565b835190830190612c738183602088016126fe565b01949350505050565b7f726570726573656e746174696f6e206e6f74206f6e2d636861696e2d72656e64815267032b930b136329d160c51b602082015260008251612cc58160288501602087016126fe565b9190910160280192915050565b600060208284031215612ce457600080fd5b81516107cb816126c9565b60008060408385031215612d0257600080fd5b825167ffffffffffffffff811115612d1957600080fd5b612d2585828601612797565b925050602083015167ffffffffffffffff81111561285957600080fd5b60008251612d548184602087016126fe565b6c205b636f6c6c656374696f6e5d60981b920191825250600d01919050565b7f646174613a696d6167652f7376672b786d6c3b6261736536342c000000000000815260008251612dab81601a8501602087016126fe565b91909101601a0192915050565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222077696474683d2235303022206865696768743d223530302260208201527f2076696577426f783d223020302035303020353030223e3c726563742077696460408201527f74683d2235303022206865696768743d22353030222066696c6c3d2223000000606082015260008351612e6281607d8501602088016126fe565b7f222f3e3c7465787420783d223235302220793d223236342220666f6e742d6661607d918401918201527f6d696c793d226d6f6e6f73706163652220666f6e742d73697a653d2234322220609d8201527f66696c6c3d22236666666666662220746578742d616e63686f723d226d69646460bd820152646c65223e2360d81b60dd8201528351612ef98160e28401602088016126fe565b01607d810190612f1b9060e2016c1e17ba32bc3a1f1e17b9bb339f60991b9052565b607201949350505050565b643230ba309d60d91b815260008351612f468160058501602088016126fe565b670ed8985cd94d8d0b60c21b6005918401918201528351612f6e81600d8401602088016126fe565b01600d01949350505050565b634e487b7160e01b600052603260045260246000fd5b600060018201612fb057634e487b7160e01b600052601160045260246000fd5b506001019056fe73746f726564206f6e20636861696e3b207468652076616c75652069732061206c6f6361746f7273746f726564206f6e20636861696e3b206120636f6e74656e742d616464726573736564206c6f6361746f722c20736572766564207468726f7567682074686520636f6c6c656374696f6e2773207072656665727265642067617465776179636f6d706f736564206f6e20636861696e2066726f6d20612073746f7265642074656d706c6174653b2061206c6f6361746f72636f6d7075746564206f6e20636861696e20286669656c642072656e646572657229a26469706673582212200e437d0f3d7b3e06475ef64a328335728b2ed6470acd170e62bfe622e2374f2664736f6c634300081c0033";
|
|
44
44
|
export const abxChunkStoreAbi = [{ "type": "function", "name": "manifestChunks", "inputs": [{ "name": "manifest", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "tuple[]", "internalType": "struct AbxChunkStore.Chunk[]", "components": [{ "name": "pointer", "type": "address", "internalType": "address" }, { "name": "compressed", "type": "bool", "internalType": "bool" }] }], "stateMutability": "view" }, { "type": "function", "name": "multicall", "inputs": [{ "name": "data", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "read", "inputs": [{ "name": "pointer", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "writeChunk", "inputs": [{ "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [{ "name": "pointer", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "writeContent", "inputs": [{ "name": "datas", "type": "bytes[]", "internalType": "bytes[]" }, { "name": "compressed", "type": "bool[]", "internalType": "bool[]" }], "outputs": [{ "name": "manifest", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "writeManifest", "inputs": [{ "name": "chunks", "type": "tuple[]", "internalType": "struct AbxChunkStore.Chunk[]", "components": [{ "name": "pointer", "type": "address", "internalType": "address" }, { "name": "compressed", "type": "bool", "internalType": "bool" }] }], "outputs": [{ "name": "manifest", "type": "address", "internalType": "address" }], "stateMutability": "nonpayable" }, { "type": "event", "name": "ChunkWritten", "inputs": [{ "name": "pointer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "storedSize", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "ManifestWritten", "inputs": [{ "name": "manifest", "type": "address", "indexed": true, "internalType": "address" }, { "name": "chunkCount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "LengthMismatch", "inputs": [] }];
|
|
45
45
|
export const abxChunkStoreBytecode = "0x6080604052348015600f57600080fd5b506110928061001f6000396000f3fe6080604052600436106100655760003560e01c8063a087a87e11610043578063a087a87e14610101578063ac9650d81461012e578063ec6196141461014e57600080fd5b80630824c92d1461006a5780636fba0bf5146100b457806388df5c26146100d4575b600080fd5b34801561007657600080fd5b5061008a6100853660046109e6565b61016e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100c057600080fd5b5061008a6100cf366004610a5d565b6101ef565b3480156100e057600080fd5b506100f46100ef366004610ae6565b61027b565b6040516100ab9190610b0a565b34801561010d57600080fd5b5061012161011c366004610ae6565b61029f565b6040516100ab9190610bd5565b61014161013c366004610c34565b610401565b6040516100ab9190610c76565b34801561015a57600080fd5b5061008a610169366004610cf9565b610420565b600061019a8383604051602001610186929190610d78565b604051602081830303815290604052610687565b60405183815290915073ffffffffffffffffffffffffffffffffffffffff8216907f85424a84b5f6134190da85e1c451610062bb74b1e74a8b78fd3da49fea93a268906020015b60405180910390a292915050565b600061023083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061068792505050565b60405183815290915073ffffffffffffffffffffffffffffffffffffffff8216907fa5124f679d827b2a1a919d0fd15bddee75a00603e5bb8ae57af50e96fc0ff547906020016101e1565b6060610286826106cb565b8060200190518101906102999190610e84565b92915050565b606060006102ac836106cb565b8060200190518101906102bf9190610e84565b90506000815167ffffffffffffffff8111156102dd576102dd610ddd565b60405190808252806020026020018201604052801561031057816020015b60608152602001906001900390816102fb5790505b5090506000805b83518110156103a557600061034885838151811061033757610337610f71565b6020026020010151600001516106cb565b905084828151811061035c5761035c610f71565b602002602001015160200151156103795761037681610717565b90505b8084838151811061038c5761038c610f71565b6020908102919091010152519190910190600101610317565b50604080518281016060018252908201815260006020909101818152905b83518110156103f7576103ef828583815181106103e2576103e2610f71565b60200260200101516107f4565b6001016103c3565b5095945050505050565b6060341561040e57600080fd5b61029961041b848461080d565b6108a4565b600083821461045b576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008467ffffffffffffffff81111561047657610476610ddd565b6040519080825280602002602001820160405280156104bb57816020015b60408051808201909152600080825260208201528152602001906001900390816104945790505b50905060005b8581101561061657600061052c8888848181106104e0576104e0610f71565b90506020028101906104f29190610fa0565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061068792505050565b90508073ffffffffffffffffffffffffffffffffffffffff167fa5124f679d827b2a1a919d0fd15bddee75a00603e5bb8ae57af50e96fc0ff54789898581811061057857610578610f71565b905060200281019061058a9190610fa0565b604051908152602001905060405180910390a260405180604001604052808273ffffffffffffffffffffffffffffffffffffffff1681526020018787858181106105d6576105d6610f71565b90506020020160208101906105eb9190611005565b151581525083838151811061060257610602610f71565b6020908102919091010152506001016104c1565b5061062b816040516020016101869190610b0a565b91508173ffffffffffffffffffffffffffffffffffffffff167f85424a84b5f6134190da85e1c451610062bb74b1e74a8b78fd3da49fea93a268825160405161067691815260200190565b60405180910390a250949350505050565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816106c55763301164256000526004601cfd5b90915290565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff833b0116602181016000601f8401853c80825260408201810160405250919050565b60405181516020838101938184019201015b808410156107bd5783518060001a8060051c8061075c575060018681015185529581016002019593019092019150610729565b600781148360011a600701821881028218600201600185836001011a85601f1660081b01018088036020821860208311028218915060005b818101518a8201528201838110610794579a84016002019a988301985050505050505050610729565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301825260008152602001604052919050565b6107ff8282516108b5565b61080982826109b0565b5050565b600060405190506020815281816020015280604001808360051b80868437820180851561088c575b835187018035602082018337600038823584305af4610857573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410610835575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b6000610903837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00190565b905060008284516109149190611022565b9050808210156109aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f44796e616d69634275666665723a20417070656e64696e67206f7574206f662060448201527f626f756e64732e00000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b50505050565b8051602082019150808201602084510184015b818410156109db5783518152602093840193016109c3565b505082510190915250565b600080602083850312156109f957600080fd5b823567ffffffffffffffff811115610a1057600080fd5b8301601f81018513610a2157600080fd5b803567ffffffffffffffff811115610a3857600080fd5b8560208260061b8401011115610a4d57600080fd5b6020919091019590945092505050565b60008060208385031215610a7057600080fd5b823567ffffffffffffffff811115610a8757600080fd5b8301601f81018513610a9857600080fd5b803567ffffffffffffffff811115610aaf57600080fd5b856020828401011115610a4d57600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610ae357600080fd5b50565b600060208284031215610af857600080fd5b8135610b0381610ac1565b9392505050565b602080825282518282018190526000918401906040840190835b81811015610b66578351805173ffffffffffffffffffffffffffffffffffffffff16845260209081015115158185015290930192604090920191600101610b24565b509095945050505050565b6000815180845260005b81811015610b9757602081850181015186830182015201610b7b565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610b036020830184610b71565b60008083601f840112610bfa57600080fd5b50813567ffffffffffffffff811115610c1257600080fd5b6020830191508360208260051b8501011115610c2d57600080fd5b9250929050565b60008060208385031215610c4757600080fd5b823567ffffffffffffffff811115610c5e57600080fd5b610c6a85828601610be8565b90969095509350505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015610ced577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452610cd8858351610b71565b94506020938401939190910190600101610c9e565b50929695505050505050565b60008060008060408587031215610d0f57600080fd5b843567ffffffffffffffff811115610d2657600080fd5b610d3287828801610be8565b909550935050602085013567ffffffffffffffff811115610d5257600080fd5b610d5e87828801610be8565b95989497509550505050565b8015158114610ae357600080fd5b6020808252810182905260008360408301825b858110156103f7578235610d9e81610ac1565b73ffffffffffffffffffffffffffffffffffffffff1682526020830135610dc481610d6a565b1515602083015260409283019290910190600101610d8b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e2f57610e2f610ddd565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610e7c57610e7c610ddd565b604052919050565b600060208284031215610e9657600080fd5b815167ffffffffffffffff811115610ead57600080fd5b8201601f81018413610ebe57600080fd5b805167ffffffffffffffff811115610ed857610ed8610ddd565b610ee760208260051b01610e35565b8082825260208201915060208360061b850101925086831115610f0957600080fd5b6020840193505b82841015610f675760408488031215610f2857600080fd5b610f30610e0c565b8451610f3b81610ac1565b81526020850151610f4b81610d6a565b8060208301525080835250602082019150604084019350610f10565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610fd557600080fd5b83018035915067ffffffffffffffff821115610ff057600080fd5b602001915036819003821315610c2d57600080fd5b60006020828403121561101757600080fd5b8135610b0381610d6a565b80820180821115610299577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220cbc9b6083d20c653f9c28a501bbf915310c62eb791b36c2485dbec41ade44da864736f6c634300081c0033";
|
|
46
46
|
//# sourceMappingURL=generated.js.map
|