@artblocks/abx-sdk 0.1.0-alpha.6 → 0.1.0-alpha.8

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.
@@ -1,28 +1,28 @@
1
1
  // AUTO-GENERATED by packages/sdk/scripts/sync-abis.ts — do not edit by hand.
2
2
  // Source: contracts/out (Foundry artifacts). Re-run `pnpm sync-abis` after `forge build`.
3
3
  /* eslint-disable */
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": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.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 OnChainMetadata.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": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.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 OnChainMetadata.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 = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61407e80610b1c83390190565b608051610a8e61008e6000396000818160d40152818161013901528181610177015281816101a401526103330152610a8e6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063592768811161005057806359276881146100bc5780635c60da1b146100cf5780635c857b3e146100f657600080fd5b806346f42d681461006c5780635414dff0146100a9575b600080fd5b61007f61007a366004610500565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f6100b7366004610545565b610170565b61007f6100ca36600461055e565b61019d565b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6101196101043660046105bf565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b6000610134826101d9565b61015e7f00000000000000000000000000000000000000000000000000000000000000008361023e565b905061016a8184610253565b92915050565b600061016a7f000000000000000000000000000000000000000000000000000000000000000083306103af565b60006101c87f000000000000000000000000000000000000000000000000000000000000000061040c565b90506101d48183610253565b919050565b606081901c8015801590610203575073ffffffffffffffffffffffffffffffffffffffff81163314155b1561023a576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b600061024c60008484610419565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f2a5d76e6000000000000000000000000000000000000000000000000000000008152632a5d76e6906102db9084906004016107d9565b600060405180830381600087803b1580156102f557600080fd5b505af1158015610309573d6000803e3d6000fd5b5061031b9250505060208201826105bf565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103f68560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b9050610403818585610470565b95945050505050565b600061016a600083610492565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104645763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104dc5763301164256000526004601cfd5b600060215292915050565b600061018082840312156104fa57600080fd5b50919050565b6000806040838503121561051357600080fd5b823567ffffffffffffffff81111561052a57600080fd5b610536858286016104e7565b95602094909401359450505050565b60006020828403121561055757600080fd5b5035919050565b60006020828403121561057057600080fd5b813567ffffffffffffffff81111561058757600080fd5b610593848285016104e7565b949350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d457600080fd5b6000602082840312156105d157600080fd5b61024c8261059b565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff811681146101d457600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106d557600080fd5b830160208101925035905067ffffffffffffffff8111156106f557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107cd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261078157600080fd5b8601803584526020808201359085015261079e60408201826105da565b9150606060408601526107b5606086018383610645565b60209a8b019a90955093909301925050600101610720565b50909695505050505050565b60208152610807602082016107ed8461059b565b73ffffffffffffffffffffffffffffffffffffffff169052565b60006108156020840161059b565b73ffffffffffffffffffffffffffffffffffffffff811660408401525061083f60408401846105da565b61018060608501526108566101a085018284610645565b91505061086660608501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301608086015261089b838284610645565b925050506108ac60808501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a08601526108e1838284610645565b925050506108f160a0850161059b565b73ffffffffffffffffffffffffffffffffffffffff811660c08501525061091b60c08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160e0860152610950838284610645565b9250505061096060e0850161059b565b73ffffffffffffffffffffffffffffffffffffffff81166101008501525061098b610100850161059b565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109b6610120850161068e565b61ffff8116610140850152506109d06101408501856106a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610160860152610a06838284610707565b92505050610a186101608501856106a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610180860152610a4e838284610707565b969550505050505056fea2646970667358221220d1f399c0e45b9ea634c6295ccba7f5a3c891f8bbf257443dfccf9d8a3f4aa16f64736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b613ff18061008d6000396000f3fe60806040526004361061034a5760003560e01c8063738e1496116101bb578063c3e617a2116100f7578063e8dc3e0911610095578063f04e283e1161006f578063f04e283e14610ab4578063f2fde38b14610ac7578063fee81cf414610ada578063ff87a5f514610b0d57600080fd5b8063e8dc3e0914610a19578063e985e9c514610a69578063ee748f2c14610a9f57600080fd5b8063da2bbfc7116100d1578063da2bbfc7146109af578063e1c2ffad146109cf578063e4df18ec146109e4578063e8a3d48514610a0457600080fd5b8063c3e617a214610925578063c87b56dd14610945578063d50bac331461096557600080fd5b8063a22cb46511610164578063ac9650d81161013e578063ac9650d814610883578063ac998f45146108a3578063b88d4fde146108f2578063bb77e7961461090557600080fd5b8063a22cb46514610823578063a482c94614610843578063a8cdf0781461086357600080fd5b8063913b385a11610195578063913b385a1461079457806395d89b41146107b4578063a148d8cf146107c957600080fd5b8063738e1496146106f15780638da5cb5b146107405780638e08141f1461077457600080fd5b80632e73cddb1161028a57806355828c50116102335780636352211e1161020d5780636352211e146106895780636a627842146106a957806370a08231146106c9578063715018a6146106e957600080fd5b806355828c50146105fc5780635a50ca651461062a5780635e5a9e301461067457600080fd5b80634331f639116102645780634331f639146105b15780634aa3adb3146105d157806354d1f13d146105f457600080fd5b80632e73cddb1461052f5780633dda44b01461057e57806342842e0e1461059e57600080fd5b806323b872dd116102f757806326dfe8c7116102d157806326dfe8c71461048e578063298bb40e146104ae5780632a55205a146104c35780632a5d76e61461050f57600080fd5b806323b872dd1461045e5780632569296214610471578063261220a31461047957600080fd5b8063095ea7b311610328578063095ea7b3146103eb5780631622326a1461040057806318160ddd1461042057600080fd5b806301ffc9a71461034f57806306fdde0314610384578063081812fc146103a6575b600080fd5b34801561035b57600080fd5b5061036f61036a36600461330f565b610b2d565b60405190151581526020015b60405180910390f35b34801561039057600080fd5b50610399610b6b565b60405161037b91906133bf565b3480156103b257600080fd5b506103c66103c13660046133d2565b610c1d565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b6103fe6103f936600461340f565b610c71565b005b34801561040c57600080fd5b506103fe61041b36600461347b565b610c80565b34801561042c57600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b60405190815260200161037b565b6103fe61046c3660046134c7565b610dad565b6103fe610ef8565b34801561048557600080fd5b50610399610f48565b34801561049a57600080fd5b506103fe6104a9366004613504565b610f70565b3480156104ba57600080fd5b506103996110a9565b3480156104cf57600080fd5b506104e36104de36600461351f565b6110d1565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161037b565b34801561051b57600080fd5b506103fe61052a366004613541565b611144565b34801561053b57600080fd5b5061036f61054a3660046133d2565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561058a57600080fd5b506103fe61059936600461351f565b6112f2565b6103fe6105ac3660046134c7565b611389565b3480156105bd57600080fd5b506103fe6105cc36600461358f565b6113b6565b3480156105dd57600080fd5b5060015b60405161ffff909116815260200161037b565b6103fe6113c8565b34801561060857600080fd5b5061061c6106173660046133d2565b611404565b60405161037b9291906135c2565b34801561063657600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166103c6565b34801561068057600080fd5b506103fe6114d4565b34801561069557600080fd5b506103c66106a43660046133d2565b611565565b3480156106b557600080fd5b506103fe6106c4366004613504565b6115c5565b3480156106d557600080fd5b506104506106e4366004613504565b6115db565b6103fe61162b565b3480156106fd57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661036f565b34801561074c57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546103c6565b34801561078057600080fd5b506103fe61078f3660046133d2565b61163f565b3480156107a057600080fd5b506103fe6107af3660046135db565b6116c7565b3480156107c057600080fd5b506103996116e1565b3480156107d557600080fd5b5061036f6107e436600461351f565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b34801561082f57600080fd5b506103fe61083e36600461362e565b611713565b34801561084f57600080fd5b506103fe61085e36600461366a565b611769565b34801561086f57600080fd5b506103fe61087e3660046136cb565b611785565b61089661089136600461370d565b61185e565b60405161037b9190613784565b3480156108af57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661036f565b6103fe610900366004613807565b61187d565b34801561091157600080fd5b506103996109203660046133d2565b6118d1565b34801561093157600080fd5b506103fe6109403660046136cb565b611992565b34801561095157600080fd5b506103996109603660046133d2565b611a3f565b34801561097157600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166103c6565b3480156109bb57600080fd5b506103fe6109ca3660046136cb565b611d4d565b3480156109db57600080fd5b506103fe611e8f565b3480156109f057600080fd5b5061061c6109ff36600461351f565b611f20565b348015610a1057600080fd5b50610399611ffe565b348015610a2557600080fd5b506105e1610a343660046133d2565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610a7557600080fd5b5061036f610a84366004613859565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610aab57600080fd5b50610399612227565b6103fe610ac2366004613504565b61224f565b6103fe610ad5366004613504565b61228c565b348015610ae657600080fd5b50610450610af5366004613504565b63389a75e1600c908152600091909152602090205490565b348015610b1957600080fd5b506103fe610b28366004613504565b6122b3565b6000610b388261241c565b80610b475750610b4782612453565b80610b565750610b56826124c9565b80610b655750610b6582612525565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610b9a90613883565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc690613883565b8015610c135780601f10610be857610100808354040283529160200191610c13565b820191906000526020600020905b815481529060010190602001808311610bf657829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610c675763ceea21b66000526004601cfd5b6001015492915050565b610c7c338383612552565b5050565b610c88612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610d1e576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610d3983858361394c565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610d6c929190613aaf565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610e215767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610e4f576030600c2054610e4f57634b6e7f186000526004601cfd5b8215610e5d57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff81168402610ebe5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4610ef383838361263e565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610b8f565b610f78612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561100e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610b8f565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611105576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156111965760018160011c14303b1061118d5763f92ee8a96000526004601cfd5b818160ff1b1b91505b506111ac6111a76020840184613504565b612649565b6111d16111bc6080840184613ac3565b6111cc60c0860160a08701613504565b6126ad565b6111f36111e16040840184613ac3565b6111ee6060860186613ac3565b612725565b6111fb61276a565b61122761121061012084016101008501613504565b61122261014085016101208601613b28565b6127a0565b61124d600061123a610140850185613b43565b611248610160870187613b43565b6127cb565b61127361125d60c0840184613ac3565b61126e610100860160e08701613504565b612909565b60006112856040840160208501613504565b73ffffffffffffffffffffffffffffffffffffffff16146112ba576112ba6112b36040840160208501613504565b60006129a8565b8015610c7c576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b6112fa612608565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611394838383610dad565b813b15610ef357610ef383838360405180602001604052806000815250612a66565b6113be612608565b610c7c8282612aea565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061144a90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461147690613883565b80156114c35780601f10611498576101008083540402835291602001916114c3565b820191906000526020600020905b8154815290600101906020018083116114a657829003601f168201915b505050505090509250925050915091565b6114dc612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806115c05763ceea21b66000526004601cfd5b919050565b6115cd612608565b6115d88160006129a8565b50565b6000816115f057638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b611633612608565b61163d6000612bdd565b565b611647612608565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6116cf612608565b6116db84848484612c43565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610b9a90613883565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611771612608565b61177e8585858585612d6f565b5050505050565b61178d612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611823576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061182f83858361394c565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6060341561186b57600080fd5b610b656118788484612eaf565b612f46565b611888858585610dad565b833b1561177e5761177e85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a6692505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061190d90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461193990613883565b80156119865780601f1061195b57610100808354040283529160200191611986565b820191906000526020600020905b81548152906001019060200180831161196957829003601f168201915b50505050509050919050565b61199a612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a30576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810161182f83858361394c565b6060611a7e8260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611ab4576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611bd75760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611b8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611bd09190810190613bab565b9392505050565b600083815260028201602052604081208054611bf290613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611c1e90613883565b8015611c6b5780601f10611c4057610100808354040283529160200191611c6b565b820191906000526020600020905b815481529060010190602001808311611c4e57829003601f168201915b505050505090508051600014611c82579392505050565b81548290611c8f90613883565b9050600003611caf57505060408051602081019091526000815292915050565b611d45826000018054611cc190613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611ced90613883565b8015611d3a5780601f10611d0f57610100808354040283529160200191611d3a565b820191906000526020600020905b815481529060010190602001808311611d1d57829003601f168201915b505050505085612f57565b949350505050565b611d55612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611deb576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611df783858361394c565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051611e29929190613aaf565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b611e97612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190611f7190613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611f9d90613883565b8015611fea5780601f10611fbf57610100808354040283529160200191611fea565b820191906000526020600020905b815481529060010190602001808311611fcd57829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff161561211a5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156120ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526121149190810190613bab565b91505090565b80600101805461212990613883565b1590506121c35780600101805461213f90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461216b90613883565b80156121b85780601f1061218d576101008083540402835291602001916121b8565b820191906000526020600020905b81548152906001019060200180831161219b57829003601f168201915b505050505091505090565b805481906121d090613883565b90506000036121ed57505060408051602081019091526000815290565b806121f746612f9f565b61220030613001565b60405160200161221293929190613cb9565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611705565b612257612608565b63389a75e1600c52806000526020600c20805442111561227f57636f5e88186000526004601cfd5b600090556115d881612bdd565b612294612608565b8060601b6122aa57637448fbae6000526004601cfd5b6115d881612bdd565b6122bb612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612351576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b600061242782613043565b80610b655750610b65826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061247b826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610b655750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b60006124d482613043565b80610b6557507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b600061253082613043565b80610b655750632a55205a60e083901c9081146301ffc9a79190911417610b65565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816125ae5763ceea21b66000526004601cfd5b8185148515176125d457816000526030600c20546125d457634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461163d576382b429006000526004601cfd5b610ef38383836130db565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200806126da84868361394c565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061275285878361394c565b506001810161276283858361394c565b505050505050565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6113be7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001613178565b6127d3613207565b60005b8381101561286e57612866868686848181106127f4576127f4613dbe565b90506020028101906128069190613ded565b3587878581811061281957612819613dbe565b905060200281019061282b9190613ded565b6020013588888681811061284157612841613dbe565b90506020028101906128539190613ded565b612861906040810190613ac3565b612d6f565b6001016127d6565b5060005b818110156127625761290183838381811061288f5761288f613dbe565b90506020028101906128a19190613ded565b358484848181106128b4576128b4613dbe565b90506020028101906128c69190613ded565b602001358585858181106128dc576128dc613dbe565b90506020028101906128ee9190613ded565b6128fc906040810190613ac3565b612c43565b600101612872565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7008061293684868361394c565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156129fb5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612a305767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610c7c6000838361263e565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612aad578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612ad0573d15612ad0573d6000843e3d83fd5b508060e01b8251146127625763d1a57ed66000526004601cfd5b6103e861ffff82161115612b2a576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612b8357612b48600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612b91828261ffff16613232565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612b77565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612ccd576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612d08576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101612d2a84868361394c565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051612d5f93929190613e2b565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612e04576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612e3f576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101612e6884868361394c565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051612e9e93929190613e2b565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515612f2e575b835187018035602082018337600038823584305af4612ef9573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410612ed7575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082612f6346612f9f565b612f6c30613001565b612f7585612f9f565b604051602001612f889493929190613e45565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480612fba5750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061300c82613282565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610b6557507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73ffffffffffffffffffffffffffffffffffffffff831661312e577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061312590613f4e565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216610ef3577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061312590613f86565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612b77565b61163d7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613178565b6bffffffffffffffffffffffff16612710808211156132595763350a88b36000526004601cfd5b8260601b806132705763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed016132c2575050919050565b60006020828403121561332157600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bd057600080fd5b60005b8381101561336c578181015183820152602001613354565b50506000910152565b6000815180845261338d816020860160208601613351565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bd06020830184613375565b6000602082840312156133e457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146115c057600080fd5b6000806040838503121561342257600080fd5b61342b836133eb565b946020939093013593505050565b60008083601f84011261344b57600080fd5b50813567ffffffffffffffff81111561346357600080fd5b602083019150836020828501011115611ff757600080fd5b60008060006040848603121561349057600080fd5b83359250602084013567ffffffffffffffff8111156134ae57600080fd5b6134ba86828701613439565b9497909650939450505050565b6000806000606084860312156134dc57600080fd5b6134e5846133eb565b92506134f3602085016133eb565b929592945050506040919091013590565b60006020828403121561351657600080fd5b611bd0826133eb565b6000806040838503121561353257600080fd5b50508035926020909101359150565b60006020828403121561355357600080fd5b813567ffffffffffffffff81111561356a57600080fd5b82016101808185031215611bd057600080fd5b803561ffff811681146115c057600080fd5b600080604083850312156135a257600080fd5b6135ab836133eb565b91506135b96020840161357d565b90509250929050565b828152604060208201526000611d456040830184613375565b600080600080606085870312156135f157600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561361657600080fd5b61362287828801613439565b95989497509550505050565b6000806040838503121561364157600080fd5b61364a836133eb565b91506020830135801515811461365f57600080fd5b809150509250929050565b60008060008060006080868803121561368257600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156136ae57600080fd5b6136ba88828901613439565b969995985093965092949392505050565b600080602083850312156136de57600080fd5b823567ffffffffffffffff8111156136f557600080fd5b61370185828601613439565b90969095509350505050565b6000806020838503121561372057600080fd5b823567ffffffffffffffff81111561373757600080fd5b8301601f8101851361374857600080fd5b803567ffffffffffffffff81111561375f57600080fd5b8560208260051b840101111561377457600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156137fb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526137e6858351613375565b945060209384019391909101906001016137ac565b50929695505050505050565b60008060008060006080868803121561381f57600080fd5b613828866133eb565b9450613836602087016133eb565b935060408601359250606086013567ffffffffffffffff8111156136ae57600080fd5b6000806040838503121561386c57600080fd5b613875836133eb565b91506135b9602084016133eb565b600181811c9082168061389757607f821691505b6020821081036138d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610ef357806000526020600020601f840160051c8101602085101561392c5750805b601f840160051c820191505b8181101561177e5760008155600101613938565b67ffffffffffffffff831115613964576139646138d6565b613978836139728354613883565b83613905565b6000601f8411600181146139ca57600085156139945750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561177e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613a1957868501358255602094850194600190920191016139f9565b5086821015613a54577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611d45602083018486613a66565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613af857600080fd5b83018035915067ffffffffffffffff821115613b1357600080fd5b602001915036819003821315611ff757600080fd5b600060208284031215613b3a57600080fd5b611bd08261357d565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613b7857600080fd5b83018035915067ffffffffffffffff821115613b9357600080fd5b6020019150600581901b3603821315611ff757600080fd5b600060208284031215613bbd57600080fd5b815167ffffffffffffffff811115613bd457600080fd5b8201601f81018413613be557600080fd5b805167ffffffffffffffff811115613bff57613bff6138d6565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715613c6b57613c6b6138d6565b604052818152828201602001861015613c8357600080fd5b613c94826020830160208601613351565b95945050505050565b60008151613caf818560208601613351565b9290920192915050565b6000808554613cc781613883565b600182168015613cde5760018114613d1157613d41565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350613d41565b88600052602060002060005b83811015613d3957815488820152600190910190602001613d1d565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451613d7a816001840160208901613351565b01613da7600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b613db46002820185613c9d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613e2157600080fd5b9190910192915050565b838152604060208201526000613c94604083018486613a66565b60008551613e57818460208a01613351565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551613e91816001840160208a01613351565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451613ecf816002840160208901613351565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351613f11816002840160208801613351565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613f7f57613f7f613f1f565b5060010190565b600081613f9557613f95613f1f565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220c7171b7b833108b4d77393a67cc85e9583e373382b2c67bda29ea4647a2c2f1264736f6c634300081c0033";
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": "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": "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": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.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 OnChainMetadata.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": "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": "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": "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": "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": "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": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "inputs": [] }, { "type": "error", "name": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NonexistentToken", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "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 = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b613ff18061008d6000396000f3fe60806040526004361061034a5760003560e01c8063738e1496116101bb578063c3e617a2116100f7578063e8dc3e0911610095578063f04e283e1161006f578063f04e283e14610ab4578063f2fde38b14610ac7578063fee81cf414610ada578063ff87a5f514610b0d57600080fd5b8063e8dc3e0914610a19578063e985e9c514610a69578063ee748f2c14610a9f57600080fd5b8063da2bbfc7116100d1578063da2bbfc7146109af578063e1c2ffad146109cf578063e4df18ec146109e4578063e8a3d48514610a0457600080fd5b8063c3e617a214610925578063c87b56dd14610945578063d50bac331461096557600080fd5b8063a22cb46511610164578063ac9650d81161013e578063ac9650d814610883578063ac998f45146108a3578063b88d4fde146108f2578063bb77e7961461090557600080fd5b8063a22cb46514610823578063a482c94614610843578063a8cdf0781461086357600080fd5b8063913b385a11610195578063913b385a1461079457806395d89b41146107b4578063a148d8cf146107c957600080fd5b8063738e1496146106f15780638da5cb5b146107405780638e08141f1461077457600080fd5b80632e73cddb1161028a57806355828c50116102335780636352211e1161020d5780636352211e146106895780636a627842146106a957806370a08231146106c9578063715018a6146106e957600080fd5b806355828c50146105fc5780635a50ca651461062a5780635e5a9e301461067457600080fd5b80634331f639116102645780634331f639146105b15780634aa3adb3146105d157806354d1f13d146105f457600080fd5b80632e73cddb1461052f5780633dda44b01461057e57806342842e0e1461059e57600080fd5b806323b872dd116102f757806326dfe8c7116102d157806326dfe8c71461048e578063298bb40e146104ae5780632a55205a146104c35780632a5d76e61461050f57600080fd5b806323b872dd1461045e5780632569296214610471578063261220a31461047957600080fd5b8063095ea7b311610328578063095ea7b3146103eb5780631622326a1461040057806318160ddd1461042057600080fd5b806301ffc9a71461034f57806306fdde0314610384578063081812fc146103a6575b600080fd5b34801561035b57600080fd5b5061036f61036a36600461330f565b610b2d565b60405190151581526020015b60405180910390f35b34801561039057600080fd5b50610399610b6b565b60405161037b91906133bf565b3480156103b257600080fd5b506103c66103c13660046133d2565b610c1d565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b6103fe6103f936600461340f565b610c71565b005b34801561040c57600080fd5b506103fe61041b36600461347b565b610c80565b34801561042c57600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b60405190815260200161037b565b6103fe61046c3660046134c7565b610dad565b6103fe610ef8565b34801561048557600080fd5b50610399610f48565b34801561049a57600080fd5b506103fe6104a9366004613504565b610f70565b3480156104ba57600080fd5b506103996110a9565b3480156104cf57600080fd5b506104e36104de36600461351f565b6110d1565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161037b565b34801561051b57600080fd5b506103fe61052a366004613541565b611144565b34801561053b57600080fd5b5061036f61054a3660046133d2565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561058a57600080fd5b506103fe61059936600461351f565b6112f2565b6103fe6105ac3660046134c7565b611389565b3480156105bd57600080fd5b506103fe6105cc36600461358f565b6113b6565b3480156105dd57600080fd5b5060015b60405161ffff909116815260200161037b565b6103fe6113c8565b34801561060857600080fd5b5061061c6106173660046133d2565b611404565b60405161037b9291906135c2565b34801561063657600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166103c6565b34801561068057600080fd5b506103fe6114d4565b34801561069557600080fd5b506103c66106a43660046133d2565b611565565b3480156106b557600080fd5b506103fe6106c4366004613504565b6115c5565b3480156106d557600080fd5b506104506106e4366004613504565b6115db565b6103fe61162b565b3480156106fd57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661036f565b34801561074c57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546103c6565b34801561078057600080fd5b506103fe61078f3660046133d2565b61163f565b3480156107a057600080fd5b506103fe6107af3660046135db565b6116c7565b3480156107c057600080fd5b506103996116e1565b3480156107d557600080fd5b5061036f6107e436600461351f565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b34801561082f57600080fd5b506103fe61083e36600461362e565b611713565b34801561084f57600080fd5b506103fe61085e36600461366a565b611769565b34801561086f57600080fd5b506103fe61087e3660046136cb565b611785565b61089661089136600461370d565b61185e565b60405161037b9190613784565b3480156108af57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661036f565b6103fe610900366004613807565b61187d565b34801561091157600080fd5b506103996109203660046133d2565b6118d1565b34801561093157600080fd5b506103fe6109403660046136cb565b611992565b34801561095157600080fd5b506103996109603660046133d2565b611a3f565b34801561097157600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166103c6565b3480156109bb57600080fd5b506103fe6109ca3660046136cb565b611d4d565b3480156109db57600080fd5b506103fe611e8f565b3480156109f057600080fd5b5061061c6109ff36600461351f565b611f20565b348015610a1057600080fd5b50610399611ffe565b348015610a2557600080fd5b506105e1610a343660046133d2565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610a7557600080fd5b5061036f610a84366004613859565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610aab57600080fd5b50610399612227565b6103fe610ac2366004613504565b61224f565b6103fe610ad5366004613504565b61228c565b348015610ae657600080fd5b50610450610af5366004613504565b63389a75e1600c908152600091909152602090205490565b348015610b1957600080fd5b506103fe610b28366004613504565b6122b3565b6000610b388261241c565b80610b475750610b4782612453565b80610b565750610b56826124c9565b80610b655750610b6582612525565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610b9a90613883565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc690613883565b8015610c135780601f10610be857610100808354040283529160200191610c13565b820191906000526020600020905b815481529060010190602001808311610bf657829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610c675763ceea21b66000526004601cfd5b6001015492915050565b610c7c338383612552565b5050565b610c88612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610d1e576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610d3983858361394c565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610d6c929190613aaf565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610e215767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610e4f576030600c2054610e4f57634b6e7f186000526004601cfd5b8215610e5d57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff81168402610ebe5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4610ef383838361263e565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610b8f565b610f78612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561100e576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610b8f565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611105576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156111965760018160011c14303b1061118d5763f92ee8a96000526004601cfd5b818160ff1b1b91505b506111ac6111a76020840184613504565b612649565b6111d16111bc6080840184613ac3565b6111cc60c0860160a08701613504565b6126ad565b6111f36111e16040840184613ac3565b6111ee6060860186613ac3565b612725565b6111fb61276a565b61122761121061012084016101008501613504565b61122261014085016101208601613b28565b6127a0565b61124d600061123a610140850185613b43565b611248610160870187613b43565b6127cb565b61127361125d60c0840184613ac3565b61126e610100860160e08701613504565b612909565b60006112856040840160208501613504565b73ffffffffffffffffffffffffffffffffffffffff16146112ba576112ba6112b36040840160208501613504565b60006129a8565b8015610c7c576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b6112fa612608565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611394838383610dad565b813b15610ef357610ef383838360405180602001604052806000815250612a66565b6113be612608565b610c7c8282612aea565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061144a90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461147690613883565b80156114c35780601f10611498576101008083540402835291602001916114c3565b820191906000526020600020905b8154815290600101906020018083116114a657829003601f168201915b505050505090509250925050915091565b6114dc612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806115c05763ceea21b66000526004601cfd5b919050565b6115cd612608565b6115d88160006129a8565b50565b6000816115f057638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b611633612608565b61163d6000612bdd565b565b611647612608565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6116cf612608565b6116db84848484612c43565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610b9a90613883565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611771612608565b61177e8585858585612d6f565b5050505050565b61178d612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611823576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061182f83858361394c565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6060341561186b57600080fd5b610b656118788484612eaf565b612f46565b611888858585610dad565b833b1561177e5761177e85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a6692505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061190d90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461193990613883565b80156119865780601f1061195b57610100808354040283529160200191611986565b820191906000526020600020905b81548152906001019060200180831161196957829003601f168201915b50505050509050919050565b61199a612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a30576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810161182f83858361394c565b6060611a7e8260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611ab4576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611bd75760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611b8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611bd09190810190613bab565b9392505050565b600083815260028201602052604081208054611bf290613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611c1e90613883565b8015611c6b5780601f10611c4057610100808354040283529160200191611c6b565b820191906000526020600020905b815481529060010190602001808311611c4e57829003601f168201915b505050505090508051600014611c82579392505050565b81548290611c8f90613883565b9050600003611caf57505060408051602081019091526000815292915050565b611d45826000018054611cc190613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611ced90613883565b8015611d3a5780601f10611d0f57610100808354040283529160200191611d3a565b820191906000526020600020905b815481529060010190602001808311611d1d57829003601f168201915b505050505085612f57565b949350505050565b611d55612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611deb576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611df783858361394c565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051611e29929190613aaf565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b611e97612608565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190611f7190613883565b80601f0160208091040260200160405190810160405280929190818152602001828054611f9d90613883565b8015611fea5780601f10611fbf57610100808354040283529160200191611fea565b820191906000526020600020905b815481529060010190602001808311611fcd57829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff161561211a5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156120ce573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526121149190810190613bab565b91505090565b80600101805461212990613883565b1590506121c35780600101805461213f90613883565b80601f016020809104026020016040519081016040528092919081815260200182805461216b90613883565b80156121b85780601f1061218d576101008083540402835291602001916121b8565b820191906000526020600020905b81548152906001019060200180831161219b57829003601f168201915b505050505091505090565b805481906121d090613883565b90506000036121ed57505060408051602081019091526000815290565b806121f746612f9f565b61220030613001565b60405160200161221293929190613cb9565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611705565b612257612608565b63389a75e1600c52806000526020600c20805442111561227f57636f5e88186000526004601cfd5b600090556115d881612bdd565b612294612608565b8060601b6122aa57637448fbae6000526004601cfd5b6115d881612bdd565b6122bb612608565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612351576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b600061242782613043565b80610b655750610b65826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061247b826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610b655750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b60006124d482613043565b80610b6557507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b600061253082613043565b80610b655750632a55205a60e083901c9081146301ffc9a79190911417610b65565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816125ae5763ceea21b66000526004601cfd5b8185148515176125d457816000526030600c20546125d457634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754331461163d576382b429006000526004601cfd5b610ef38383836130db565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200806126da84868361394c565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061275285878361394c565b506001810161276283858361394c565b505050505050565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6113be7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001613178565b6127d3613207565b60005b8381101561286e57612866868686848181106127f4576127f4613dbe565b90506020028101906128069190613ded565b3587878581811061281957612819613dbe565b905060200281019061282b9190613ded565b6020013588888681811061284157612841613dbe565b90506020028101906128539190613ded565b612861906040810190613ac3565b612d6f565b6001016127d6565b5060005b818110156127625761290183838381811061288f5761288f613dbe565b90506020028101906128a19190613ded565b358484848181106128b4576128b4613dbe565b90506020028101906128c69190613ded565b602001358585858181106128dc576128dc613dbe565b90506020028101906128ee9190613ded565b6128fc906040810190613ac3565b612c43565b600101612872565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7008061293684868361394c565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156129fb5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612a305767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610c7c6000838361263e565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612aad578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612ad0573d15612ad0573d6000843e3d83fd5b508060e01b8251146127625763d1a57ed66000526004601cfd5b6103e861ffff82161115612b2a576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612b8357612b48600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612b91828261ffff16613232565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612b77565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612ccd576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612d08576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101612d2a84868361394c565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051612d5f93929190613e2b565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612e04576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612e3f576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101612e6884868361394c565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051612e9e93929190613e2b565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515612f2e575b835187018035602082018337600038823584305af4612ef9573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410612ed7575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082612f6346612f9f565b612f6c30613001565b612f7585612f9f565b604051602001612f889493929190613e45565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480612fba5750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061300c82613282565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610b6557507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73ffffffffffffffffffffffffffffffffffffffff831661312e577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061312590613f4e565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216610ef3577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061312590613f86565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612b77565b61163d7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613178565b6bffffffffffffffffffffffff16612710808211156132595763350a88b36000526004601cfd5b8260601b806132705763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed016132c2575050919050565b60006020828403121561332157600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bd057600080fd5b60005b8381101561336c578181015183820152602001613354565b50506000910152565b6000815180845261338d816020860160208601613351565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bd06020830184613375565b6000602082840312156133e457600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146115c057600080fd5b6000806040838503121561342257600080fd5b61342b836133eb565b946020939093013593505050565b60008083601f84011261344b57600080fd5b50813567ffffffffffffffff81111561346357600080fd5b602083019150836020828501011115611ff757600080fd5b60008060006040848603121561349057600080fd5b83359250602084013567ffffffffffffffff8111156134ae57600080fd5b6134ba86828701613439565b9497909650939450505050565b6000806000606084860312156134dc57600080fd5b6134e5846133eb565b92506134f3602085016133eb565b929592945050506040919091013590565b60006020828403121561351657600080fd5b611bd0826133eb565b6000806040838503121561353257600080fd5b50508035926020909101359150565b60006020828403121561355357600080fd5b813567ffffffffffffffff81111561356a57600080fd5b82016101808185031215611bd057600080fd5b803561ffff811681146115c057600080fd5b600080604083850312156135a257600080fd5b6135ab836133eb565b91506135b96020840161357d565b90509250929050565b828152604060208201526000611d456040830184613375565b600080600080606085870312156135f157600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561361657600080fd5b61362287828801613439565b95989497509550505050565b6000806040838503121561364157600080fd5b61364a836133eb565b91506020830135801515811461365f57600080fd5b809150509250929050565b60008060008060006080868803121561368257600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156136ae57600080fd5b6136ba88828901613439565b969995985093965092949392505050565b600080602083850312156136de57600080fd5b823567ffffffffffffffff8111156136f557600080fd5b61370185828601613439565b90969095509350505050565b6000806020838503121561372057600080fd5b823567ffffffffffffffff81111561373757600080fd5b8301601f8101851361374857600080fd5b803567ffffffffffffffff81111561375f57600080fd5b8560208260051b840101111561377457600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156137fb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526137e6858351613375565b945060209384019391909101906001016137ac565b50929695505050505050565b60008060008060006080868803121561381f57600080fd5b613828866133eb565b9450613836602087016133eb565b935060408601359250606086013567ffffffffffffffff8111156136ae57600080fd5b6000806040838503121561386c57600080fd5b613875836133eb565b91506135b9602084016133eb565b600181811c9082168061389757607f821691505b6020821081036138d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610ef357806000526020600020601f840160051c8101602085101561392c5750805b601f840160051c820191505b8181101561177e5760008155600101613938565b67ffffffffffffffff831115613964576139646138d6565b613978836139728354613883565b83613905565b6000601f8411600181146139ca57600085156139945750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561177e565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613a1957868501358255602094850194600190920191016139f9565b5086821015613a54577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611d45602083018486613a66565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613af857600080fd5b83018035915067ffffffffffffffff821115613b1357600080fd5b602001915036819003821315611ff757600080fd5b600060208284031215613b3a57600080fd5b611bd08261357d565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613b7857600080fd5b83018035915067ffffffffffffffff821115613b9357600080fd5b6020019150600581901b3603821315611ff757600080fd5b600060208284031215613bbd57600080fd5b815167ffffffffffffffff811115613bd457600080fd5b8201601f81018413613be557600080fd5b805167ffffffffffffffff811115613bff57613bff6138d6565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715613c6b57613c6b6138d6565b604052818152828201602001861015613c8357600080fd5b613c94826020830160208601613351565b95945050505050565b60008151613caf818560208601613351565b9290920192915050565b6000808554613cc781613883565b600182168015613cde5760018114613d1157613d41565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350613d41565b88600052602060002060005b83811015613d3957815488820152600190910190602001613d1d565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451613d7a816001840160208901613351565b01613da7600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b613db46002820185613c9d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613e2157600080fd5b9190910192915050565b838152604060208201526000613c94604083018486613a66565b60008551613e57818460208a01613351565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551613e91816001840160208a01613351565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451613ecf816002840160208901613351565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351613f11816002840160208801613351565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613f7f57613f7f613f1f565b5060010190565b600081613f9557613f95613f1f565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220c7171b7b833108b4d77393a67cc85e9583e373382b2c67bda29ea4647a2c2f1264736f6c634300081c0033";
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": "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 OnChainMetadata.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 OnChainMetadata.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": "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 OnChainMetadata.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 OnChainMetadata.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 = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b614cda80610c8583390190565b608051610bf761008e6000396000818160ae0152818161013001528181610163015281816101a801526103230152610bf76000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c857b3e116100505780635c857b3e146100d05780639d67208814610103578063badf4e941461011657600080fd5b80635414dff01461006c5780635c60da1b146100a9575b600080fd5b61007f61007a3660046104e7565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f36100de366004610524565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f610111366004610558565b61015c565b61007f610124366004610595565b610198565b60006101567f000000000000000000000000000000000000000000000000000000000000000083306101d9565b92915050565b60006101877f0000000000000000000000000000000000000000000000000000000000000000610236565b90506101938183610243565b919050565b60006101a38261039f565b6101cd7f000000000000000000000000000000000000000000000000000000000000000083610404565b90506101568184610243565b6000806102208560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061022d818585610419565b95945050505050565b600061015660008361043b565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f8026b389000000000000000000000000000000000000000000000000000000008152638026b389906102cb9084906004016108b9565b600060405180830381600087803b1580156102e557600080fd5b505af11580156102f9573d6000803e3d6000fd5b5061030b925050506020820182610524565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b606081901c80158015906103c9575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610400576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b600061041260008484610490565b9392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104855763301164256000526004601cfd5b600060215292915050565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104db5763301164256000526004601cfd5b60006021529392505050565b6000602082840312156104f957600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461019357600080fd5b60006020828403121561053657600080fd5b61041282610500565b6000610220828403121561055257600080fd5b50919050565b60006020828403121561056a57600080fd5b813567ffffffffffffffff81111561058157600080fd5b61058d8482850161053f565b949350505050565b600080604083850312156105a857600080fd5b823567ffffffffffffffff8111156105bf57600080fd5b6105cb8582860161053f565b95602094909401359450505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff8116811461019357600080fd5b8035801515811461019357600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106e557600080fd5b830160208101925035905067ffffffffffffffff81111561070557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8187360301811261079157600080fd5b86018035845260208082013590850152604080820135908501526107b860608201826105da565b9150608060608601526107cf608086018383610645565b60209a8b019a90955093909301925050600101610730565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261086d57600080fd5b8601803584526020808201359085015261088a60408201826105da565b9150606060408601526108a1606086018383610645565b60209a8b019a9095509390930192505060010161080c565b602081526108e7602082016108cd84610500565b73ffffffffffffffffffffffffffffffffffffffff169052565b60006108f660208401846105da565b610220604085015261090d61024085018284610645565b91505061091d60408501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016060860152610952838284610645565b9250505061096360608501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016080860152610998838284610645565b925050506109a860808501610500565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109d260a08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a07838284610645565b92505050610a1760c08501610500565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a4060e08501610500565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a6b610100850161068e565b61ffff81166101208501525061012084013561014084810191909152610a92908501610500565b73ffffffffffffffffffffffffffffffffffffffff811661016085015250610abd6101608501610500565b73ffffffffffffffffffffffffffffffffffffffff811661018085015250610ae861018085016106a0565b8015156101a085015250610aff6101a08501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101c0850152506101c08401356101e084810191909152610b39908501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610200860152610b6f838284610717565b92505050610b816102008501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610220860152610bb78382846107f3565b969550505050505056fea264697066735822122020b81864866401c7fdc07c92a1e07354e0c7b916b6deb2b6da84e83264d1f7d564736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b614c4d8061008d6000396000f3fe6080604052600436106103b85760003560e01c806375794a3c116101f2578063c87b56dd1161010d578063e8dc3e09116100a0578063f2fde38b1161006f578063f2fde38b14610c25578063fca3b5aa14610c38578063fee81cf414610c58578063ff87a5f514610c8b57600080fd5b8063e8dc3e0914610b77578063e985e9c514610bc7578063ee748f2c14610bfd578063f04e283e14610c1257600080fd5b8063e1c2ffad116100dc578063e1c2ffad14610b0d578063e2969ba714610b22578063e4df18ec14610b42578063e8a3d48514610b6257600080fd5b8063c87b56dd14610a6e578063d50bac3314610a8e578063d8b4f8ac14610ad8578063da2bbfc714610aed57600080fd5b8063a22cb46511610185578063ac998f4511610154578063ac998f45146109cc578063b88d4fde14610a1b578063bb77e79614610a2e578063c3e617a214610a4e57600080fd5b8063a22cb4651461094c578063a482c9461461096c578063a8cdf0781461098c578063ac9650d8146109ac57600080fd5b8063913b385a116101c1578063913b385a1461089d57806395d89b41146108bd57806397e950f7146108d2578063a148d8cf146108f257600080fd5b806375794a3c146108145780638026b389146108295780638da5cb5b146108495780638e08141f1461087d57600080fd5b80633dda44b0116102e25780635e5a9e30116102755780636cbdef61116102445780636cbdef611461078857806370a082311461079d578063715018a6146107bd578063738e1496146107c557600080fd5b80635e5a9e30146107135780635e830656146107285780636352211e146107485780636a6278421461076857600080fd5b806354d1f13d116102b157806354d1f13d1461065c57806355828c50146106645780635a50ca65146106925780635c975abb146106dc57600080fd5b80633dda44b0146105e657806342842e0e146106065780634331f639146106195780634aa3adb31461063957600080fd5b806318160ddd1161035a57806326dfe8c71161032957806326dfe8c714610516578063298bb40e146105365780632a55205a1461054b5780632e73cddb1461059757600080fd5b806318160ddd146104c357806323b872dd146104e657806325692962146104f9578063261220a31461050157600080fd5b8063081812fc11610396578063081812fc1461044e578063095ea7b31461046e5780631622326a1461048357806316c38b3c146104a357600080fd5b806301ffc9a7146103bd57806306fdde03146103f25780630754617214610414575b600080fd5b3480156103c957600080fd5b506103dd6103d8366004613f1e565b610cab565b60405190151581526020015b60405180910390f35b3480156103fe57600080fd5b50610407610d71565b6040516103e99190613fce565b34801561042057600080fd5b50610429610e23565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103e9565b34801561045a57600080fd5b50610429610469366004613fe1565b610e63565b61048161047c36600461401e565b610eb7565b005b34801561048f57600080fd5b5061048161049e36600461408a565b610ec6565b3480156104af57600080fd5b506104816104be3660046140e6565b610ff3565b3480156104cf57600080fd5b506104d8611080565b6040519081526020016103e9565b6104816104f4366004614101565b6110aa565b6104816111f5565b34801561050d57600080fd5b50610407611245565b34801561052257600080fd5b5061048161053136600461413e565b61126d565b34801561054257600080fd5b506104076113a6565b34801561055757600080fd5b5061056b610566366004614159565b6113ce565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016103e9565b3480156105a357600080fd5b506103dd6105b2366004613fe1565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156105f257600080fd5b50610481610601366004614159565b611441565b610481610614366004614101565b6114d8565b34801561062557600080fd5b5061048161063436600461418d565b611505565b34801561064557600080fd5b5060015b60405161ffff90911681526020016103e9565b610481611517565b34801561067057600080fd5b5061068461067f366004613fe1565b611553565b6040516103e99291906141c0565b34801561069e57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610429565b3480156106e857600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff166103dd565b34801561071f57600080fd5b50610481611623565b34801561073457600080fd5b5061048161074336600461401e565b6116b4565b34801561075457600080fd5b50610429610763366004613fe1565b6116d9565b34801561077457600080fd5b506104d861078336600461413e565b611739565b34801561079457600080fd5b506104d861174c565b3480156107a957600080fd5b506104d86107b836600461413e565b611774565b6104816117c4565b3480156107d157600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166103dd565b34801561082057600080fd5b506104d86117d8565b34801561083557600080fd5b506104816108443660046141d9565b611800565b34801561085557600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610429565b34801561088957600080fd5b50610481610898366004613fe1565b611aa6565b3480156108a957600080fd5b506104816108b8366004614215565b611b2e565b3480156108c957600080fd5b50610407611b48565b3480156108de57600080fd5b506104816108ed366004613fe1565b611b7a565b3480156108fe57600080fd5b506103dd61090d366004614159565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b34801561095857600080fd5b50610481610967366004614268565b611c5a565b34801561097857600080fd5b50610481610987366004614292565b611cb0565b34801561099857600080fd5b506104816109a73660046142f3565b611ccc565b6109bf6109ba366004614335565b611da5565b6040516103e991906143ac565b3480156109d857600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166103dd565b610481610a2936600461442f565b611dc4565b348015610a3a57600080fd5b50610407610a49366004613fe1565b611e18565b348015610a5a57600080fd5b50610481610a693660046142f3565b611ed9565b348015610a7a57600080fd5b50610407610a89366004613fe1565b611f86565b348015610a9a57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610429565b348015610ae457600080fd5b50610429612294565b348015610af957600080fd5b50610481610b083660046142f3565b6122bc565b348015610b1957600080fd5b506104816123fe565b348015610b2e57600080fd5b50610481610b3d36600461413e565b61248f565b348015610b4e57600080fd5b50610684610b5d366004614159565b612529565b348015610b6e57600080fd5b50610407612607565b348015610b8357600080fd5b50610649610b92366004613fe1565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610bd357600080fd5b506103dd610be2366004614481565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610c0957600080fd5b50610407612830565b610481610c2036600461413e565b612858565b610481610c3336600461413e565b612898565b348015610c4457600080fd5b50610481610c5336600461413e565b6128bf565b348015610c6457600080fd5b506104d8610c7336600461413e565b63389a75e1600c908152600091909152602090205490565b348015610c9757600080fd5b50610481610ca636600461413e565b612959565b6000610cb682612abb565b80610cc55750610cc582612af2565b80610cd45750610cd482612b68565b80610ce35750610ce382612bc4565b80610cf25750610cf282612bf1565b80610d015750610d0182612c4d565b80610d105750610d1082612ca9565b80610d1f5750610d1f82612d05565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610da0906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610dcc906144ab565b8015610e195780601f10610dee57610100808354040283529160200191610e19565b820191906000526020600020905b815481529060010190602001808311610dfc57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610ead5763ceea21b66000526004601cfd5b6001015492915050565b610ec2338383612d61565b5050565b610ece612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610f64576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610f7f838583614574565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610fb29291906146d7565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610ffb612e17565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff948516949384169381169190828614830261111e5767ceea21b6a1148100831560021b526004601cfd5b85600052816001015492508233148633141761114c576030600c205461114c57634b6e7f186000526004601cfd5b821561115a57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff811684026111bb5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46111f0838383612e4d565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610d95565b611275612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561130b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610d95565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611402576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b611449612e17565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b6114e38383836110aa565b813b156111f0576111f083838360405180602001604052806000815250612e58565b61150d612e17565b610ec28282612ee4565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611599906144ab565b80601f01602080910402602001604051908101604052809291908181526020018280546115c5906144ab565b80156116125780601f106115e757610100808354040283529160200191611612565b820191906000526020600020905b8154815290600101906020018083116115f557829003601f168201915b505050505090509250925050915091565b61162b612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b6116bc612fd7565b60005b818110156111f0576116d0836130df565b506001016116bf565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806117345763ceea21b66000526004601cfd5b919050565b6000611743612fd7565b610d6b826130df565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006110a4565b60008161178957638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b6117cc612e17565b6117d6600061313f565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006110a4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156118525760018160011c14303b106118495763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101200135600003611892576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816101200135826101c0013511156118d6576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118eb6118e6602084018461413e565b6131a5565b6119106118fb60608401846146eb565b61190b60a086016080870161413e565b613209565b61193261192060208401846146eb565b61192d60408601866146eb565b613281565b61193a6132be565b61196561194e610100840160e0850161413e565b61196061012085016101008601614750565b6132f4565b61197382610120013561331f565b61198d6119886101808401610160850161413e565b61339d565b6119a76119a26101608401610140850161413e565b61340b565b6119c16119bc6101a0840161018085016140e6565b613479565b6119e56119d26101e084018461476b565b6119e061020086018661476b565b613527565b611a0a6119f560a08401846146eb565b611a0560e0860160c0870161413e565b61368c565b6000611a1e6101c084016101a0850161413e565b73ffffffffffffffffffffffffffffffffffffffff1614611a6e5760005b826101c00135811015611a6c57611a63611a5e6101c085016101a0860161413e565b6130df565b50600101611a3c565b505b8015610ec2576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611aae612e17565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611b36612e17565b611b428484848461372b565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610da0906144ab565b611b82612e17565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557008054821115611bde576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611be6613857565b821015611c1f576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611cb8612e17565b611cc58585858585613866565b5050505050565b611cd4612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611d6a576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611d76838583614574565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b60603415611db257600080fd5b610d6b611dbf84846139a6565b613a3d565b611dcf8585856110aa565b833b15611cc557611cc585858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612e5892505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611e54906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054611e80906144ab565b8015611ecd5780601f10611ea257610100808354040283529160200191611ecd565b820191906000526020600020905b815481529060010190602001808311611eb057829003601f168201915b50505050509050919050565b611ee1612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611f77576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611d76838583614574565b6060611fc58260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611ffb576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561211e5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa1580156120d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261211791908101906147d3565b9392505050565b600083815260028201602052604081208054612139906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612165906144ab565b80156121b25780601f10612187576101008083540402835291602001916121b2565b820191906000526020600020905b81548152906001019060200180831161219557829003601f168201915b5050505050905080516000146121c9579392505050565b815482906121d6906144ab565b90506000036121f657505060408051602081019091526000815292915050565b61228c826000018054612208906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612234906144ab565b80156122815780601f1061225657610100808354040283529160200191612281565b820191906000526020600020905b81548152906001019060200180831161226457829003601f168201915b505050505085613a4e565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610e47565b6122c4612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff161561235a576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612366838583614574565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516123989291906146d7565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b612406612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612497612e17565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061257a906144ab565b80601f01602080910402602001604051908101604052809291908181526020018280546125a6906144ab565b80156125f35780601f106125c8576101008083540402835291602001916125f3565b820191906000526020600020905b8154815290600101906020018083116125d657829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156127235760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156126d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261271d91908101906147d3565b91505090565b806001018054612732906144ab565b1590506127cc57806001018054612748906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612774906144ab565b80156127c15780601f10612796576101008083540402835291602001916127c1565b820191906000526020600020905b8154815290600101906020018083116127a457829003601f168201915b505050505091505090565b805481906127d9906144ab565b90506000036127f657505060408051602081019091526000815290565b8061280046613a96565b61280930613af8565b60405160200161281b939291906148e1565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b6c565b612860612e17565b63389a75e1600c52806000526020600c20805442111561288857636f5e88186000526004601cfd5b600090556128958161313f565b50565b6128a0612e17565b8060601b6128b657637448fbae6000526004601cfd5b6128958161313f565b6128c7612e17565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612961612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156129f7576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611c4e565b6000612ac682613b3a565b80610d6b5750610d6b826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612b1a826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610d6b5750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612b7382613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b6000612bcf82613b3a565b80610d6b5750632a55205a60e083901c9081146301ffc9a79190911417610d6b565b6000612bfc82613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612c5882613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612cb482613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612d1082613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c5260206000208201820180548216915081612dbd5763ceea21b66000526004601cfd5b818514851517612de357816000526030600c2054612de357634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146117d6576382b429006000526004601cfd5b6111f0838383613bd2565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612e9f578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612ec2573d15612ec2573d6000843e3d83fd5b508060e01b825114612edc5763d1a57ed66000526004601cfd5b505050505050565b6103e861ffff82161115612f24576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612f7d57612f42600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612f8b828261ffff16613c6f565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612f71565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361301757565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613073576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61307b610e23565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d6576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461310a81613cbf565b6131148282613d19565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613236848683614574565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806132ae858783614574565b5060018101612edc838583614574565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61150d7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001613dd7565b61334a7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001613dd7565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611075565b6133c87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001613dd7565b73ffffffffffffffffffffffffffffffffffffffff81161561289557807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006128ea565b6134367fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001613dd7565b73ffffffffffffffffffffffffffffffffffffffff81161561289557807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006124ba565b6134a47f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001613dd7565b8015612895577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611075565b61352f613e66565b60005b838110156135f1576135e985858381811061354f5761354f6149e6565b90506020028101906135619190614a15565b35868684818110613574576135746149e6565b90506020028101906135869190614a15565b6020013587878581811061359c5761359c6149e6565b90506020028101906135ae9190614a15565b604001358888868181106135c4576135c46149e6565b90506020028101906135d69190614a15565b6135e49060608101906146eb565b613866565b600101613532565b5060005b81811015611cc557613684838383818110613612576136126149e6565b90506020028101906136249190614a53565b35848484818110613637576136376149e6565b90506020028101906136499190614a53565b6020013585858581811061365f5761365f6149e6565b90506020028101906136719190614a53565b61367f9060408101906146eb565b61372b565b6001016135f5565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806136b9848683614574565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156137b5576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008290036137f0576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613812848683614574565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d22186868660405161384793929190614a87565b60405180910390a2505050505050565b6000613861611080565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156138fb576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613936576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008681526020828152604080832088845290915290208481556001810161395f848683614574565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161399593929190614a87565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515613a25575b835187018035602082018337600038823584305af46139f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106139ce575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082613a5a46613a96565b613a6330613af8565b613a6c85613a96565b604051602001613a7f9493929190614aa1565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613ab15750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613b0382613e91565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73ffffffffffffffffffffffffffffffffffffffff8316613c25577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613c1c90614baa565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff82166111f0577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613c1c90614be2565b6bffffffffffffffffffffffff1661271080821115613c965763350a88b36000526004601cfd5b8260601b80613cad5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612895576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15613d6c5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402613da15767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610ec260008383612e4d565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612f71565b6117d67f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613dd7565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613ed1575050919050565b600060208284031215613f3057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461211757600080fd5b60005b83811015613f7b578181015183820152602001613f63565b50506000910152565b60008151808452613f9c816020860160208601613f60565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006121176020830184613f84565b600060208284031215613ff357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173457600080fd5b6000806040838503121561403157600080fd5b61403a83613ffa565b946020939093013593505050565b60008083601f84011261405a57600080fd5b50813567ffffffffffffffff81111561407257600080fd5b60208301915083602082850101111561260057600080fd5b60008060006040848603121561409f57600080fd5b83359250602084013567ffffffffffffffff8111156140bd57600080fd5b6140c986828701614048565b9497909650939450505050565b8035801515811461173457600080fd5b6000602082840312156140f857600080fd5b612117826140d6565b60008060006060848603121561411657600080fd5b61411f84613ffa565b925061412d60208501613ffa565b929592945050506040919091013590565b60006020828403121561415057600080fd5b61211782613ffa565b6000806040838503121561416c57600080fd5b50508035926020909101359150565b803561ffff8116811461173457600080fd5b600080604083850312156141a057600080fd5b6141a983613ffa565b91506141b76020840161417b565b90509250929050565b82815260406020820152600061228c6040830184613f84565b6000602082840312156141eb57600080fd5b813567ffffffffffffffff81111561420257600080fd5b8201610220818503121561211757600080fd5b6000806000806060858703121561422b57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561425057600080fd5b61425c87828801614048565b95989497509550505050565b6000806040838503121561427b57600080fd5b61428483613ffa565b91506141b7602084016140d6565b6000806000806000608086880312156142aa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156142d657600080fd5b6142e288828901614048565b969995985093965092949392505050565b6000806020838503121561430657600080fd5b823567ffffffffffffffff81111561431d57600080fd5b61432985828601614048565b90969095509350505050565b6000806020838503121561434857600080fd5b823567ffffffffffffffff81111561435f57600080fd5b8301601f8101851361437057600080fd5b803567ffffffffffffffff81111561438757600080fd5b8560208260051b840101111561439c57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614423577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261440e858351613f84565b945060209384019391909101906001016143d4565b50929695505050505050565b60008060008060006080868803121561444757600080fd5b61445086613ffa565b945061445e60208701613ffa565b935060408601359250606086013567ffffffffffffffff8111156142d657600080fd5b6000806040838503121561449457600080fd5b61449d83613ffa565b91506141b760208401613ffa565b600181811c908216806144bf57607f821691505b6020821081036144f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156111f057806000526020600020601f840160051c810160208510156145545750805b601f840160051c820191505b81811015611cc55760008155600101614560565b67ffffffffffffffff83111561458c5761458c6144fe565b6145a08361459a83546144ab565b8361452d565b6000601f8411600181146145f257600085156145bc5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611cc5565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156146415786850135825560209485019460019092019101614621565b508682101561467c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061228c60208301848661468e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261472057600080fd5b83018035915067ffffffffffffffff82111561473b57600080fd5b60200191503681900382131561260057600080fd5b60006020828403121561476257600080fd5b6121178261417b565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126147a057600080fd5b83018035915067ffffffffffffffff8211156147bb57600080fd5b6020019150600581901b360382131561260057600080fd5b6000602082840312156147e557600080fd5b815167ffffffffffffffff8111156147fc57600080fd5b8201601f8101841361480d57600080fd5b805167ffffffffffffffff811115614827576148276144fe565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614893576148936144fe565b6040528181528282016020018610156148ab57600080fd5b6148bc826020830160208601613f60565b95945050505050565b600081516148d7818560208601613f60565b9290920192915050565b60008085546148ef816144ab565b600182168015614906576001811461493957614969565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614969565b88600052602060002060005b8381101561496157815488820152600190910190602001614945565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516149a2816001840160208901613f60565b016149cf600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6149dc60028201856148c5565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614a4957600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614a4957600080fd5b8381526040602082015260006148bc60408301848661468e565b60008551614ab3818460208a01613f60565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551614aed816001840160208a01613f60565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451614b2b816002840160208901613f60565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351614b6d816002840160208801613f60565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614bdb57614bdb614b7b565b5060010190565b600081614bf157614bf1614b7b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220feac6ac1e81b4675f54f632f1244bdec2f8764712590c9e717e1d989c3fe9b4564736f6c634300081c0033";
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": "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": "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": "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 OnChainMetadata.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 OnChainMetadata.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": "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": "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": "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": "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": "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": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "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": "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": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "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 = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b614c4d8061008d6000396000f3fe6080604052600436106103b85760003560e01c806375794a3c116101f2578063c87b56dd1161010d578063e8dc3e09116100a0578063f2fde38b1161006f578063f2fde38b14610c25578063fca3b5aa14610c38578063fee81cf414610c58578063ff87a5f514610c8b57600080fd5b8063e8dc3e0914610b77578063e985e9c514610bc7578063ee748f2c14610bfd578063f04e283e14610c1257600080fd5b8063e1c2ffad116100dc578063e1c2ffad14610b0d578063e2969ba714610b22578063e4df18ec14610b42578063e8a3d48514610b6257600080fd5b8063c87b56dd14610a6e578063d50bac3314610a8e578063d8b4f8ac14610ad8578063da2bbfc714610aed57600080fd5b8063a22cb46511610185578063ac998f4511610154578063ac998f45146109cc578063b88d4fde14610a1b578063bb77e79614610a2e578063c3e617a214610a4e57600080fd5b8063a22cb4651461094c578063a482c9461461096c578063a8cdf0781461098c578063ac9650d8146109ac57600080fd5b8063913b385a116101c1578063913b385a1461089d57806395d89b41146108bd57806397e950f7146108d2578063a148d8cf146108f257600080fd5b806375794a3c146108145780638026b389146108295780638da5cb5b146108495780638e08141f1461087d57600080fd5b80633dda44b0116102e25780635e5a9e30116102755780636cbdef61116102445780636cbdef611461078857806370a082311461079d578063715018a6146107bd578063738e1496146107c557600080fd5b80635e5a9e30146107135780635e830656146107285780636352211e146107485780636a6278421461076857600080fd5b806354d1f13d116102b157806354d1f13d1461065c57806355828c50146106645780635a50ca65146106925780635c975abb146106dc57600080fd5b80633dda44b0146105e657806342842e0e146106065780634331f639146106195780634aa3adb31461063957600080fd5b806318160ddd1161035a57806326dfe8c71161032957806326dfe8c714610516578063298bb40e146105365780632a55205a1461054b5780632e73cddb1461059757600080fd5b806318160ddd146104c357806323b872dd146104e657806325692962146104f9578063261220a31461050157600080fd5b8063081812fc11610396578063081812fc1461044e578063095ea7b31461046e5780631622326a1461048357806316c38b3c146104a357600080fd5b806301ffc9a7146103bd57806306fdde03146103f25780630754617214610414575b600080fd5b3480156103c957600080fd5b506103dd6103d8366004613f1e565b610cab565b60405190151581526020015b60405180910390f35b3480156103fe57600080fd5b50610407610d71565b6040516103e99190613fce565b34801561042057600080fd5b50610429610e23565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103e9565b34801561045a57600080fd5b50610429610469366004613fe1565b610e63565b61048161047c36600461401e565b610eb7565b005b34801561048f57600080fd5b5061048161049e36600461408a565b610ec6565b3480156104af57600080fd5b506104816104be3660046140e6565b610ff3565b3480156104cf57600080fd5b506104d8611080565b6040519081526020016103e9565b6104816104f4366004614101565b6110aa565b6104816111f5565b34801561050d57600080fd5b50610407611245565b34801561052257600080fd5b5061048161053136600461413e565b61126d565b34801561054257600080fd5b506104076113a6565b34801561055757600080fd5b5061056b610566366004614159565b6113ce565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016103e9565b3480156105a357600080fd5b506103dd6105b2366004613fe1565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156105f257600080fd5b50610481610601366004614159565b611441565b610481610614366004614101565b6114d8565b34801561062557600080fd5b5061048161063436600461418d565b611505565b34801561064557600080fd5b5060015b60405161ffff90911681526020016103e9565b610481611517565b34801561067057600080fd5b5061068461067f366004613fe1565b611553565b6040516103e99291906141c0565b34801561069e57600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff16610429565b3480156106e857600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff166103dd565b34801561071f57600080fd5b50610481611623565b34801561073457600080fd5b5061048161074336600461401e565b6116b4565b34801561075457600080fd5b50610429610763366004613fe1565b6116d9565b34801561077457600080fd5b506104d861078336600461413e565b611739565b34801561079457600080fd5b506104d861174c565b3480156107a957600080fd5b506104d86107b836600461413e565b611774565b6104816117c4565b3480156107d157600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff166103dd565b34801561082057600080fd5b506104d86117d8565b34801561083557600080fd5b506104816108443660046141d9565b611800565b34801561085557600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610429565b34801561088957600080fd5b50610481610898366004613fe1565b611aa6565b3480156108a957600080fd5b506104816108b8366004614215565b611b2e565b3480156108c957600080fd5b50610407611b48565b3480156108de57600080fd5b506104816108ed366004613fe1565b611b7a565b3480156108fe57600080fd5b506103dd61090d366004614159565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b34801561095857600080fd5b50610481610967366004614268565b611c5a565b34801561097857600080fd5b50610481610987366004614292565b611cb0565b34801561099857600080fd5b506104816109a73660046142f3565b611ccc565b6109bf6109ba366004614335565b611da5565b6040516103e991906143ac565b3480156109d857600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff166103dd565b610481610a2936600461442f565b611dc4565b348015610a3a57600080fd5b50610407610a49366004613fe1565b611e18565b348015610a5a57600080fd5b50610481610a693660046142f3565b611ed9565b348015610a7a57600080fd5b50610407610a89366004613fe1565b611f86565b348015610a9a57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff16610429565b348015610ae457600080fd5b50610429612294565b348015610af957600080fd5b50610481610b083660046142f3565b6122bc565b348015610b1957600080fd5b506104816123fe565b348015610b2e57600080fd5b50610481610b3d36600461413e565b61248f565b348015610b4e57600080fd5b50610684610b5d366004614159565b612529565b348015610b6e57600080fd5b50610407612607565b348015610b8357600080fd5b50610649610b92366004613fe1565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610bd357600080fd5b506103dd610be2366004614481565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610c0957600080fd5b50610407612830565b610481610c2036600461413e565b612858565b610481610c3336600461413e565b612898565b348015610c4457600080fd5b50610481610c5336600461413e565b6128bf565b348015610c6457600080fd5b506104d8610c7336600461413e565b63389a75e1600c908152600091909152602090205490565b348015610c9757600080fd5b50610481610ca636600461413e565b612959565b6000610cb682612abb565b80610cc55750610cc582612af2565b80610cd45750610cd482612b68565b80610ce35750610ce382612bc4565b80610cf25750610cf282612bf1565b80610d015750610d0182612c4d565b80610d105750610d1082612ca9565b80610d1f5750610d1f82612d05565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610da0906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610dcc906144ab565b8015610e195780601f10610dee57610100808354040283529160200191610e19565b820191906000526020600020905b815481529060010190602001808311610dfc57829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610ead5763ceea21b66000526004601cfd5b6001015492915050565b610ec2338383612d61565b5050565b610ece612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610f64576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610f7f838583614574565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610fb29291906146d7565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610ffb612e17565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff948516949384169381169190828614830261111e5767ceea21b6a1148100831560021b526004601cfd5b85600052816001015492508233148633141761114c576030600c205461114c57634b6e7f186000526004601cfd5b821561115a57600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff811684026111bb5767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46111f0838383612e4d565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610d95565b611275612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561130b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610d95565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611402576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b611449612e17565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b6114e38383836110aa565b813b156111f0576111f083838360405180602001604052806000815250612e58565b61150d612e17565b610ec28282612ee4565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611599906144ab565b80601f01602080910402602001604051908101604052809291908181526020018280546115c5906144ab565b80156116125780601f106115e757610100808354040283529160200191611612565b820191906000526020600020905b8154815290600101906020018083116115f557829003601f168201915b505050505090509250925050915091565b61162b612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b6116bc612fd7565b60005b818110156111f0576116d0836130df565b506001016116bf565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806117345763ceea21b66000526004601cfd5b919050565b6000611743612fd7565b610d6b826130df565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557006110a4565b60008161178957638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b6117cc612e17565b6117d6600061313f565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006110a4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156118525760018160011c14303b106118495763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101200135600003611892576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816101200135826101c0013511156118d6576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118eb6118e6602084018461413e565b6131a5565b6119106118fb60608401846146eb565b61190b60a086016080870161413e565b613209565b61193261192060208401846146eb565b61192d60408601866146eb565b613281565b61193a6132be565b61196561194e610100840160e0850161413e565b61196061012085016101008601614750565b6132f4565b61197382610120013561331f565b61198d6119886101808401610160850161413e565b61339d565b6119a76119a26101608401610140850161413e565b61340b565b6119c16119bc6101a0840161018085016140e6565b613479565b6119e56119d26101e084018461476b565b6119e061020086018661476b565b613527565b611a0a6119f560a08401846146eb565b611a0560e0860160c0870161413e565b61368c565b6000611a1e6101c084016101a0850161413e565b73ffffffffffffffffffffffffffffffffffffffff1614611a6e5760005b826101c00135811015611a6c57611a63611a5e6101c085016101a0860161413e565b6130df565b50600101611a3c565b505b8015610ec2576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611aae612e17565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611b36612e17565b611b428484848461372b565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610da0906144ab565b611b82612e17565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557008054821115611bde576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611be6613857565b821015611c1f576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611cb8612e17565b611cc58585858585613866565b5050505050565b611cd4612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611d6a576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611d76838583614574565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b60603415611db257600080fd5b610d6b611dbf84846139a6565b613a3d565b611dcf8585856110aa565b833b15611cc557611cc585858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612e5892505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190611e54906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054611e80906144ab565b8015611ecd5780601f10611ea257610100808354040283529160200191611ecd565b820191906000526020600020905b815481529060010190602001808311611eb057829003601f168201915b50505050509050919050565b611ee1612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611f77576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611d76838583614574565b6060611fc58260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611ffb576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff161561211e5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa1580156120d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261211791908101906147d3565b9392505050565b600083815260028201602052604081208054612139906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612165906144ab565b80156121b25780601f10612187576101008083540402835291602001916121b2565b820191906000526020600020905b81548152906001019060200180831161219557829003601f168201915b5050505050905080516000146121c9579392505050565b815482906121d6906144ab565b90506000036121f657505060408051602081019091526000815292915050565b61228c826000018054612208906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612234906144ab565b80156122815780601f1061225657610100808354040283529160200191612281565b820191906000526020600020905b81548152906001019060200180831161226457829003601f168201915b505050505085613a4e565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610e47565b6122c4612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff161561235a576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612366838583614574565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b83836040516123989291906146d7565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b612406612e17565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612497612e17565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061257a906144ab565b80601f01602080910402602001604051908101604052809291908181526020018280546125a6906144ab565b80156125f35780601f106125c8576101008083540402835291602001916125f3565b820191906000526020600020905b8154815290600101906020018083116125d657829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156127235760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156126d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261271d91908101906147d3565b91505090565b806001018054612732906144ab565b1590506127cc57806001018054612748906144ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612774906144ab565b80156127c15780601f10612796576101008083540402835291602001916127c1565b820191906000526020600020905b8154815290600101906020018083116127a457829003601f168201915b505050505091505090565b805481906127d9906144ab565b90506000036127f657505060408051602081019091526000815290565b8061280046613a96565b61280930613af8565b60405160200161281b939291906148e1565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611b6c565b612860612e17565b63389a75e1600c52806000526020600c20805442111561288857636f5e88186000526004601cfd5b600090556128958161313f565b50565b6128a0612e17565b8060601b6128b657637448fbae6000526004601cfd5b6128958161313f565b6128c7612e17565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612961612e17565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156129f7576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611c4e565b6000612ac682613b3a565b80610d6b5750610d6b826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612b1a826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610d6b5750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612b7382613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b6000612bcf82613b3a565b80610d6b5750632a55205a60e083901c9081146301ffc9a79190911417610d6b565b6000612bfc82613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612c5882613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612cb482613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612d1082613b3a565b80610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c5260206000208201820180548216915081612dbd5763ceea21b66000526004601cfd5b818514851517612de357816000526030600c2054612de357634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146117d6576382b429006000526004601cfd5b6111f0838383613bd2565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612e9f578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612ec2573d15612ec2573d6000843e3d83fd5b508060e01b825114612edc5763d1a57ed66000526004601cfd5b505050505050565b6103e861ffff82161115612f24576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612f7d57612f42600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612f8b828261ffff16613c6f565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612f71565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361301757565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1615613073576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61307b610e23565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d6576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461310a81613cbf565b6131148282613d19565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820080613236848683614574565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e00806132ae858783614574565b5060018101612edc838583614574565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b61150d7f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001613dd7565b61334a7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001613dd7565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611075565b6133c87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001613dd7565b73ffffffffffffffffffffffffffffffffffffffff81161561289557807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006128ea565b6134367fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001613dd7565b73ffffffffffffffffffffffffffffffffffffffff81161561289557807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006124ba565b6134a47f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001613dd7565b8015612895577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611075565b61352f613e66565b60005b838110156135f1576135e985858381811061354f5761354f6149e6565b90506020028101906135619190614a15565b35868684818110613574576135746149e6565b90506020028101906135869190614a15565b6020013587878581811061359c5761359c6149e6565b90506020028101906135ae9190614a15565b604001358888868181106135c4576135c46149e6565b90506020028101906135d69190614a15565b6135e49060608101906146eb565b613866565b600101613532565b5060005b81811015611cc557613684838383818110613612576136126149e6565b90506020028101906136249190614a53565b35848484818110613637576136376149e6565b90506020028101906136499190614a53565b6020013585858581811061365f5761365f6149e6565b90506020028101906136719190614a53565b61367f9060408101906146eb565b61372b565b6001016135f5565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806136b9848683614574565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156137b5576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008290036137f0576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613812848683614574565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d22186868660405161384793929190614a87565b60405180910390a2505050505050565b6000613861611080565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff16156138fb576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613936576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008681526020828152604080832088845290915290208481556001810161395f848683614574565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161399593929190614a87565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515613a25575b835187018035602082018337600038823584305af46139f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106139ce575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082613a5a46613a96565b613a6330613af8565b613a6c85613a96565b604051602001613a7f9493929190614aa1565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613ab15750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613b0382613e91565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610d6b57507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b73ffffffffffffffffffffffffffffffffffffffff8316613c25577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613c1c90614baa565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff82166111f0577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613c1c90614be2565b6bffffffffffffffffffffffff1661271080821115613c965763350a88b36000526004601cfd5b8260601b80613cad5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612895576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15613d6c5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402613da15767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610ec260008383612e4d565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612f71565b6117d67f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001613dd7565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613ed1575050919050565b600060208284031215613f3057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461211757600080fd5b60005b83811015613f7b578181015183820152602001613f63565b50506000910152565b60008151808452613f9c816020860160208601613f60565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006121176020830184613f84565b600060208284031215613ff357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461173457600080fd5b6000806040838503121561403157600080fd5b61403a83613ffa565b946020939093013593505050565b60008083601f84011261405a57600080fd5b50813567ffffffffffffffff81111561407257600080fd5b60208301915083602082850101111561260057600080fd5b60008060006040848603121561409f57600080fd5b83359250602084013567ffffffffffffffff8111156140bd57600080fd5b6140c986828701614048565b9497909650939450505050565b8035801515811461173457600080fd5b6000602082840312156140f857600080fd5b612117826140d6565b60008060006060848603121561411657600080fd5b61411f84613ffa565b925061412d60208501613ffa565b929592945050506040919091013590565b60006020828403121561415057600080fd5b61211782613ffa565b6000806040838503121561416c57600080fd5b50508035926020909101359150565b803561ffff8116811461173457600080fd5b600080604083850312156141a057600080fd5b6141a983613ffa565b91506141b76020840161417b565b90509250929050565b82815260406020820152600061228c6040830184613f84565b6000602082840312156141eb57600080fd5b813567ffffffffffffffff81111561420257600080fd5b8201610220818503121561211757600080fd5b6000806000806060858703121561422b57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561425057600080fd5b61425c87828801614048565b95989497509550505050565b6000806040838503121561427b57600080fd5b61428483613ffa565b91506141b7602084016140d6565b6000806000806000608086880312156142aa57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8111156142d657600080fd5b6142e288828901614048565b969995985093965092949392505050565b6000806020838503121561430657600080fd5b823567ffffffffffffffff81111561431d57600080fd5b61432985828601614048565b90969095509350505050565b6000806020838503121561434857600080fd5b823567ffffffffffffffff81111561435f57600080fd5b8301601f8101851361437057600080fd5b803567ffffffffffffffff81111561438757600080fd5b8560208260051b840101111561439c57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015614423577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261440e858351613f84565b945060209384019391909101906001016143d4565b50929695505050505050565b60008060008060006080868803121561444757600080fd5b61445086613ffa565b945061445e60208701613ffa565b935060408601359250606086013567ffffffffffffffff8111156142d657600080fd5b6000806040838503121561449457600080fd5b61449d83613ffa565b91506141b760208401613ffa565b600181811c908216806144bf57607f821691505b6020821081036144f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156111f057806000526020600020601f840160051c810160208510156145545750805b601f840160051c820191505b81811015611cc55760008155600101614560565b67ffffffffffffffff83111561458c5761458c6144fe565b6145a08361459a83546144ab565b8361452d565b6000601f8411600181146145f257600085156145bc5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611cc5565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156146415786850135825560209485019460019092019101614621565b508682101561467c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061228c60208301848661468e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261472057600080fd5b83018035915067ffffffffffffffff82111561473b57600080fd5b60200191503681900382131561260057600080fd5b60006020828403121561476257600080fd5b6121178261417b565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126147a057600080fd5b83018035915067ffffffffffffffff8211156147bb57600080fd5b6020019150600581901b360382131561260057600080fd5b6000602082840312156147e557600080fd5b815167ffffffffffffffff8111156147fc57600080fd5b8201601f8101841361480d57600080fd5b805167ffffffffffffffff811115614827576148276144fe565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614893576148936144fe565b6040528181528282016020018610156148ab57600080fd5b6148bc826020830160208601613f60565b95945050505050565b600081516148d7818560208601613f60565b9290920192915050565b60008085546148ef816144ab565b600182168015614906576001811461493957614969565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614969565b88600052602060002060005b8381101561496157815488820152600190910190602001614945565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516149a2816001840160208901613f60565b016149cf600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b6149dc60028201856148c5565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614a4957600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614a4957600080fd5b8381526040602082015260006148bc60408301848661468e565b60008551614ab3818460208a01613f60565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551614aed816001840160208a01613f60565b7f2f00000000000000000000000000000000000000000000000000000000000000600192909101918201528451614b2b816002840160208901613f60565b6001818301019150507f2f0000000000000000000000000000000000000000000000000000000000000060018201528351614b6d816002840160208801613f60565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614bdb57614bdb614b7b565b5060010190565b600081614bf157614bf1614b7b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220feac6ac1e81b4675f54f632f1244bdec2f8764712590c9e717e1d989c3fe9b4564736f6c634300081c0033";
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": "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 OnChainMetadata.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 OnChainMetadata.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": "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 OnChainMetadata.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 OnChainMetadata.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 = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615bd180610a3c83390190565b6080516109ae61008e6000396000818160a40152818161011c0152818161015a01528181610187015261029f01526109ae6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631dfe97d71461005c5780635414dff01461008c5780635c60da1b1461009f5780635c857b3e146100c6578063d97a720d146100f9575b600080fd5b61006f61006a366004610452565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f61009a366004610497565b610153565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100e96100d43660046104c7565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b61006f6101073660046104e2565b610180565b6000610117826101bc565b6101417f0000000000000000000000000000000000000000000000000000000000000000836101fb565b905061014d8184610210565b92915050565b600061014d7f00000000000000000000000000000000000000000000000000000000000000008330610301565b60006101ab7f000000000000000000000000000000000000000000000000000000000000000061035e565b90506101b78183610210565b919050565b606081901c80158015906101d957506001600160a01b0381163314155b156101f75760405163c61a579960e01b815260040160405180910390fd5b5050565b60006102096000848461036b565b9392505050565b6001600160a01b03821660008181526020819052604090819020805460ff191660011790555163e318ea9f60e01b815263e318ea9f9061025490849060040161072c565b600060405180830381600087803b15801561026e57600080fd5b505af1158015610282573d6000803e3d6000fd5b506102949250505060208201826104c7565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000806103488560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b90506103558185856103c2565b95945050505050565b600061014d6000836103e4565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806103b65763301164256000526004601cfd5b60006021529392505050565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061042e5763301164256000526004601cfd5b600060215292915050565b6000610260828403121561044c57600080fd5b50919050565b6000806040838503121561046557600080fd5b823567ffffffffffffffff81111561047c57600080fd5b61048885828601610439565b95602094909401359450505050565b6000602082840312156104a957600080fd5b5035919050565b80356001600160a01b03811681146101b757600080fd5b6000602082840312156104d957600080fd5b610209826104b0565b6000602082840312156104f457600080fd5b813567ffffffffffffffff81111561050b57600080fd5b61051784828501610439565b949350505050565b6000808335601e1984360301811261053657600080fd5b830160208101925035905067ffffffffffffffff81111561055657600080fd5b80360382131561056557600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff811681146101b757600080fd5b803580151581146101b757600080fd5b6000808335601e198436030181126105ce57600080fd5b830160208101925035905067ffffffffffffffff8111156105ee57600080fd5b8060051b360382131561056557600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003607e1901811261063f57600080fd5b8601803584526020808201359085015260408082013590850152610666606082018261051f565b91506080606086015261067d60808601838361056c565b60209a8b019a90955093909301925050600101610619565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003605e190181126106e057600080fd5b860180358452602080820135908501526106fd604082018261051f565b91506060604086015261071460608601838361056c565b60209a8b019a909550939093019250506001016106ba565b6020815261074d60208201610740846104b0565b6001600160a01b03169052565b600061075c602084018461051f565b61026060408501526107736102808501828461056c565b915050610783604085018561051f565b848303601f1901606086015261079a83828461056c565b925050506107ab606085018561051f565b848303601f190160808601526107c283828461056c565b925050506107d2608085016104b0565b6001600160a01b03811660a0850152506107ef60a085018561051f565b848303601f190160c086015261080683828461056c565b9250505061081660c085016104b0565b6001600160a01b03811660e08501525061083260e085016104b0565b6001600160a01b038116610100850152506108506101008501610595565b61ffff811661012085015250610120840135610140848101919091526108779085016104b0565b6001600160a01b0381166101608501525061089561016085016104b0565b6001600160a01b038116610180850152506108b361018085016105a7565b8015156101a0850152506108ca6101a085016104b0565b6001600160a01b0381166101c0850152506108e86101c085016105a7565b8015156101e0850152506108ff6101e085016104b0565b6001600160a01b038116610200850152506102008401356102208481019190915261092c908501856105b7565b848303601f1901610240860152610944838284610600565b925050506109566102408501856105b7565b848303601f190161026086015261096e8382846106a1565b969550505050505056fea264697066735822122028b46b34e73c7debb8dd36b8563014d93e032bc1cedd6fee94a1f5c05ac8184764736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615b448061008d6000396000f3fe60806040526004361061053e5760003560e01c80637d0b7ae4116102bd578063c3e617a211610180578063e4df18ec116100e7578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc8146111b4578063fca3b5aa146111d4578063fee81cf4146111f4578063ff87a5f51461122757600080fd5b8063f04e283e1461115a578063f22357011461116d578063f2fde38b146111a157600080fd5b8063e4df18ec14611075578063e8a3d48514611095578063e8dc3e09146110aa578063e985e9c5146110fa578063ea58f97114611130578063ee748f2c1461114557600080fd5b8063da2bbfc711610139578063da2bbfc714610fcb578063dc98387914610feb578063e1c2ffad14611000578063e2969ba714611015578063e318ea9f14611035578063e42b7baf1461105557600080fd5b8063c3e617a214610f1e578063c87b56dd14610f3e578063cfc59afd14610f5e578063d50bac3314610f8c578063d8b4f8ac14610fa1578063d90f5df214610fb657600080fd5b80639a5db50311610224578063aa0de18d116101dd578063aa0de18d14610e81578063ac9650d814610ea1578063ac998f4514610ec1578063b478424714610ed6578063b88d4fde14610eeb578063bb77e79614610efe57600080fd5b80639a5db50314610d925780639aa1a1f014610da7578063a148d8cf14610dc7578063a22cb46514610e21578063a482c94614610e41578063a8cdf07814610e6157600080fd5b8063913b385a11610276578063913b385a14610ce857806392b29b1714610d0857806392d9906f14610d2857806395d89b4114610d3d57806396f4205a14610d5257806397e950f714610d7257600080fd5b80637d0b7ae414610c1857806384f6687f14610c4f57806386b7f6a414610c6f5780638da5cb5b14610c8f5780638e08141f14610ca85780638e4cc07014610cc857600080fd5b80633c59f1bb116104055780636352211e1161036c5780636cbdef61116103255780636cbdef6114610b7a57806370a0823114610b8f578063715018a614610baf578063738e149614610bb757806375794a3c14610be35780637b1d470714610bf857600080fd5b80636352211e14610aba5780636905337414610ada5780636a62784214610afa5780636aaf760714610b1a5780636bd3922214610b3a5780636cb0281814610b5a57600080fd5b806354d1f13d116103be57806354d1f13d146109ff57806355828c5014610a075780635a50ca6514610a355780635c975abb14610a605780635e5a9e3014610a855780635e83065614610a9a57600080fd5b80633c59f1bb146108cc5780633dda44b01461096957806342842e0e146109895780634331f6391461099c5780634aa3adb3146109bc5780634efdb5ae146109df57600080fd5b80631c31cac3116104a9578063261220a311610462578063261220a3146107d457806326dfe8c7146107e9578063298bb40e146108095780632a55205a1461081e5780632e73cddb1461085d5780633990b221146108ac57600080fd5b80631c31cac3146106f157806320ac0944146107115780632352b33f1461072657806323b872dd146107a457806325628d34146107b757806325692962146107cc57600080fd5b80630b4c562b116104fb5780630b4c562b1461061c57806313bfffac1461063c5780631622326a1461067957806316c38b3c1461069957806317afae43146106b957806318160ddd146106ce57600080fd5b806301ffc9a71461054357806306fdde0314610578578063075461721461059a578063081812fc146105c757806308a38395146105e7578063095ea7b314610609575b600080fd5b34801561054f57600080fd5b5061056361055e366004614bc5565b611247565b60405190151581526020015b60405180910390f35b34801561058457600080fd5b5061058d611318565b60405161056f9190614c3f565b3480156105a657600080fd5b506105af6113ca565b6040516001600160a01b03909116815260200161056f565b3480156105d357600080fd5b506105af6105e2366004614c52565b6113fd565b3480156105f357600080fd5b50610607610602366004614cdc565b61143c565b005b610607610617366004614d8d565b6114c6565b34801561062857600080fd5b50610607610637366004614df8565b6114d5565b34801561064857600080fd5b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e04546001600160a01b03166105af565b34801561068557600080fd5b50610607610694366004614df8565b61155b565b3480156106a557600080fd5b506106076106b4366004614e53565b61163a565b3480156106c557600080fd5b506105af611697565b3480156106da57600080fd5b506106e36116ad565b60405190815260200161056f565b3480156106fd57600080fd5b5061060761070c366004614e6e565b6116d7565b34801561071d57600080fd5b506105af61174e565b34801561073257600080fd5b50610787610741366004614c52565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b60408051938452911515602084015215159082015260600161056f565b6106076107b2366004614e89565b611772565b3480156107c357600080fd5b5061060761187d565b6106076118e3565b3480156107e057600080fd5b5061058d611932565b3480156107f557600080fd5b50610607610804366004614e6e565b611948565b34801561081557600080fd5b5061058d611a0e565b34801561082a57600080fd5b5061083e610839366004614ec6565b611a24565b604080516001600160a01b03909316835260208301919091520161056f565b34801561086957600080fd5b50610563610878366004614c52565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156108b857600080fd5b506106076108c7366004614ec6565b611a79565b3480156108d857600080fd5b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0354604080516001600160a01b039485168152928416602084015292169181019190915260600161056f565b34801561097557600080fd5b50610607610984366004614ec6565b611b09565b610607610997366004614e89565b611b82565b3480156109a857600080fd5b506106076109b7366004614efa565b611baf565b3480156109c857600080fd5b5060015b60405161ffff909116815260200161056f565b3480156109eb57600080fd5b506106076109fa366004614f2d565b611bc1565b610607611c42565b348015610a1357600080fd5b50610a27610a22366004614c52565b611c7e565b60405161056f929190614f7f565b348015610a4157600080fd5b50600080516020615acf833981519152546001600160a01b03166105af565b348015610a6c57600080fd5b50600080516020615a6f8339815191525460ff16610563565b348015610a9157600080fd5b50610607611d4e565b348015610aa657600080fd5b50610607610ab5366004614d8d565b611da1565b348015610ac657600080fd5b506105af610ad5366004614c52565b611dc6565b348015610ae657600080fd5b50610607610af5366004614c52565b611e04565b348015610b0657600080fd5b506106e3610b15366004614e6e565b611e56565b348015610b2657600080fd5b5061058d610b35366004614c52565b611e69565b348015610b4657600080fd5b50610787610b55366004614ec6565b611ee8565b348015610b6657600080fd5b5061058d610b75366004614c52565b611f3c565b348015610b8657600080fd5b506106e3611fa1565b348015610b9b57600080fd5b506106e3610baa366004614e6e565b611fb7565b610607611ff2565b348015610bc357600080fd5b50600080516020615acf83398151915254600160a01b900460ff16610563565b348015610bef57600080fd5b506106e3612006565b348015610c0457600080fd5b50610607610c13366004614e6e565b61202e565b348015610c2457600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610563565b348015610c5b57600080fd5b5061058d610c6a366004614ec6565b612091565b348015610c7b57600080fd5b50610607610c8a366004614f98565b612103565b348015610c9b57600080fd5b50638b78c6d819546105af565b348015610cb457600080fd5b50610607610cc3366004614c52565b61216a565b348015610cd457600080fd5b50610607610ce3366004614fc4565b6121d4565b348015610cf457600080fd5b50610607610d03366004614f2d565b612217565b348015610d1457600080fd5b50610607610d23366004614f98565b61222b565b348015610d3457600080fd5b506106e3612294565b348015610d4957600080fd5b5061058d6122bc565b348015610d5e57600080fd5b50610607610d6d366004614e6e565b6122ee565b348015610d7e57600080fd5b50610607610d8d366004614c52565b612336565b348015610d9e57600080fd5b506106076123d2565b348015610db357600080fd5b50610607610dc2366004614df8565b61241e565b348015610dd357600080fd5b50610563610de2366004614ec6565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610e2d57600080fd5b50610607610e3c366004614fef565b612461565b348015610e4d57600080fd5b50610607610e5c366004615019565b6124b7565b348015610e6d57600080fd5b50610607610e7c366004615079565b6124cc565b348015610e8d57600080fd5b50610607610e9c3660046150ba565b612557565b610eb4610eaf3660046150fd565b6125af565b60405161056f9190615132565b348015610ecd57600080fd5b506105636125ce565b348015610ee257600080fd5b506106076125f3565b610607610ef9366004615197565b61263f565b348015610f0a57600080fd5b5061058d610f19366004614c52565b612693565b348015610f2a57600080fd5b50610607610f39366004615079565b612754565b348015610f4a57600080fd5b5061058d610f59366004614c52565b6127b3565b348015610f6a57600080fd5b50610f7e610f79366004614c52565b612a0f565b60405161056f929190615212565b348015610f9857600080fd5b506105af612a94565b348015610fad57600080fd5b506105af612aaa565b348015610fc257600080fd5b506106e3612ad2565b348015610fd757600080fd5b50610607610fe6366004615079565b612ae8565b348015610ff757600080fd5b50610607612bbe565b34801561100c57600080fd5b50610607612c0a565b34801561102157600080fd5b50610607611030366004614e6e565b612c5d565b34801561104157600080fd5b5061060761105036600461522d565b612cd2565b34801561106157600080fd5b50610607611070366004614f2d565b612f6a565b34801561108157600080fd5b50610a27611090366004614ec6565b612fbc565b3480156110a157600080fd5b5061058d61309a565b3480156110b657600080fd5b506109cc6110c5366004614c52565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561110657600080fd5b50610563611115366004615268565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561113c57600080fd5b5061056361324e565b34801561115157600080fd5b5061058d613264565b610607611168366004614e6e565b61327a565b34801561117957600080fd5b5061118d611188366004614c52565b6132ba565b60405161056f9897969594939291906152b2565b6106076111af366004614e6e565b613428565b3480156111c057600080fd5b506106076111cf366004614ec6565b61344f565b3480156111e057600080fd5b506106076111ef366004614e6e565b6134a8565b34801561120057600080fd5b506106e361120f366004614e6e565b63389a75e1600c908152600091909152602090205490565b34801561123357600080fd5b50610607611242366004614e6e565b61351d565b6000611252826135ee565b80611261575061126182613625565b8061127057506112708261366a565b8061127f575061127f82613695565b8061128e575061128e826136c2565b8061129d575061129d826136ed565b806112ac57506112ac82613718565b806112bb57506112bb82613743565b806112ca57506112ca8261376e565b806112d957506112d982613799565b806112e857506112e8826137c4565b806112f757506112f7826137ef565b8061131257506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546113479061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546113739061536e565b80156113c05780601f10611395576101008083540402835291602001916113c0565b820191906000526020600020905b8154815290600101906020018083116113a357829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6114325763ceea21b66000526004601cfd5b6001015492915050565b61144461381a565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae69061148b908c908c908c908c908c908c908c908c908c906004016153d1565b60006040518083038186803b1580156114a357600080fd5b505af41580156114b7573d6000803e3d6000fd5b50505050505050505050505050565b6114d1338383613835565b5050565b6114dd61381a565b6114e9600080856138d6565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906115269086908690869033906004016154cb565b60006040518083038186803b15801561153e57600080fd5b505af4158015611552573d6000803e3d6000fd5b50505050505050565b61156361381a565b600080516020615a2f83398151915254600080516020615a8f83398151915290600160a01b900460ff16156115ab5760405163dd48f3ab60e01b815260040160405180910390fd5b600084815260028201602052604090206115c683858361555b565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516115f992919061561a565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b61164261381a565b600080516020615a6f833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615aef8339815191526113ee565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6116df61381a565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b15801561173357600080fd5b505af4158015611747573d6000803e3d6000fd5b5050505050565b6000600080516020615a4f8339815191525b600101546001600160a01b0316919050565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026117c45767ceea21b6a1148100831560021b526004601cfd5b8560005281600101549250823314863314176117f2576030600c20546117f257634b6e7f186000526004601cfd5b821561180057600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026118435767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611878838383613987565b505050565b61188561381a565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b1580156118c957600080fd5b505af41580156118dd573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615a8f83398151915261133c565b61195061381a565b600080516020615acf83398151915254600080516020615aaf83398151915290600160a01b900460ff1615611998576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615aaf83398151915261133c565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611a58576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611a8161381a565b611a8d600080846138d6565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611aed57600080fd5b505af4158015611b01573d6000803e3d6000fd5b505050505050565b611b1161381a565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611b8d838383611772565b813b15611878576118788383836040518060200160405280600081525061399d565b611bb761381a565b6114d18282613a21565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d1485858585611bec638b78c6d8195490565b6040518663ffffffff1660e01b8152600401611c0c95949392919061562e565b60006040518083038186803b158015611c2457600080fd5b505af4158015611c38573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611cc49061536e565b80601f0160208091040260200160405190810160405280929190818152602001828054611cf09061536e565b8015611d3d5780601f10611d1257610100808354040283529160200191611d3d565b820191906000526020600020905b815481529060010190602001808311611d2057829003601f168201915b505050505090509250925050915091565b611d5661381a565b600080516020615a2f833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611da9613aee565b60005b8181101561187857611dbd83613b70565b50600101611dac565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b031680611dff5763ceea21b66000526004601cfd5b919050565b611e0c61381a565b611e18600080836138d6565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161171b565b6000611e60613aee565b61131282613b70565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9008054606091908310611eaf57604051633fa417ed60e11b815260040160405180910390fd5b611ee1816000018481548110611ec757611ec7615668565b6000918252602090912001546001600160a01b0316613c19565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b03168015611f8a57611f8581613c19565b611ee1565b604051806020016040528060008152509392505050565b6000600080516020615a0f8339815191526116d1565b600081611fcc57638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b611ffa61381a565b6120046000613c47565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006116d1565b61203661381a565b80600080516020615aef8339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156120ea576120e581613c19565b6120fb565b604051806020016040528060008152505b949350505050565b61210b61381a565b612117600184846138d6565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a401611526565b61217261381a565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6121dc61381a565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906115269086908690869060040161567e565b61221f61381a565b6118dd84848484613c85565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d6446848484612255638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b03166064820152608401611526565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9006116d1565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546113479061536e565b6122f661381a565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161171b565b61233e61381a565b600080516020615a0f833981519152805482111561236f57604051632b953d0360e11b815260040160405180910390fd5b612377613d7f565b82101561239757604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6123da61381a565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b1580156118c957600080fd5b61242661381a565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f090611526908690869086906004016156a0565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6124bf61381a565b6117478585858585613d8e565b6124d461381a565b600080516020615acf83398151915254600080516020615aaf83398151915290600160a01b900460ff161561251c576040516352be865b60e01b815260040160405180910390fd5b8061252883858361555b565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61255f61381a565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d90606401611526565b606034156125bc57600080fd5b6113126125c98484613e9c565b613f33565b6000600080516020615a8f8339815191525b60010154600160a01b900460ff16919050565b6125fb61381a565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b1580156118c957600080fd5b61264a858585611772565b833b156117475761174785858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061399d92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906126cf9061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546126fb9061536e565b80156127485780601f1061271d57610100808354040283529160200191612748565b820191906000526020600020905b81548152906001019060200180831161272b57829003601f168201915b50505050509050919050565b61275c61381a565b600080516020615acf83398151915254600080516020615aaf83398151915290600160a01b900460ff16156127a4576040516352be865b60e01b815260040160405180910390fd5b6001810161252883858361555b565b60606127dd826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b6127fa5760405163163a09e160e31b815260040160405180910390fd5b600080516020615a2f83398151915254600080516020615a8f833981519152906001600160a01b0316156128a157600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612879573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ee191908101906156c3565b6000838152600282016020526040812080546128bc9061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546128e89061536e565b80156129355780601f1061290a57610100808354040283529160200191612935565b820191906000526020600020905b81548152906001019060200180831161291857829003601f168201915b50505050509050805160001461294c579392505050565b815482906129599061536e565b905060000361297957505060408051602081019091526000815292915050565b6120fb82600001805461298b9061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546129b79061536e565b8015612a045780601f106129d957610100808354040283529160200191612a04565b820191906000526020600020905b8154815290600101906020018083116129e757829003601f168201915b505050505085613f43565b600080516020615a4f833981519152805460009182918410612a445760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612a5b57612a5b615668565b60009182526020909120600290910201805490915060ff166001811115612a8457612a846151e8565b8160010154935093505050915091565b6000600080516020615a8f833981519152611760565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006113ee565b6000600080516020615a4f8339815191526116d1565b612af061381a565b600080516020615a2f83398151915254600080516020615a8f83398151915290600160a01b900460ff1615612b385760405163dd48f3ab60e01b815260040160405180910390fd5b80612b4483858361555b565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612b7692919061561a565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b612bc661381a565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b1580156118c957600080fd5b612c1261381a565b600080516020615acf833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612c6561381a565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b63409feecd198054600382558015612d095760018160011c14303b10612d005763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101200135600003612d305760405163fe5afcb960e01b815260040160405180910390fd5b8161012001358261020001351115612d5b57604051633f63c5bf60e01b815260040160405180910390fd5b612d70612d6b6020840184614e6e565b613f8b565b612d95612d80606084018461576c565b612d9060a0860160808701614e6e565b613fc7565b612db7612da5602084018461576c565b612db2604086018661576c565b614008565b612dbf614045565b612dea612dd3610100840160e08501614e6e565b612de5610120850161010086016157b2565b61407b565b612df88261012001356140a6565b612e12612e0d61018084016101608501614e6e565b614112565b612e2c612e2761016084016101408501614e6e565b614173565b612e46612e416101a084016101808501614e53565b6141d4565b612e60612e5b6101c084016101a08501614e6e565b614252565b612e686142a1565b612e82612e7d6101e084016101c08501614e53565b6142cc565b612e8a614376565b612e926143a1565b612eb6612ea36102208401846157cd565b612eb16102408601866157cd565b6143cc565b612edb612ec660a084018461576c565b612ed660e0860160c08701614e6e565b614531565b6000612eef61020084016101e08501614e6e565b6001600160a01b031614612f325760005b826102000135811015612f3057612f27612f2261020085016101e08601614e6e565b613b70565b50600101612f00565b505b80156114d1576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b612f7261381a565b612f7e600185856138d6565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed4830090611c0c908790879087908790339060040161562e565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061300d9061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546130399061536e565b80156130865780601f1061305b57610100808354040283529160200191613086565b820191906000526020600020905b81548152906001019060200180831161306957829003601f168201915b5050505050905092509250505b9250929050565b600080516020615acf83398151915254606090600080516020615aaf833981519152906001600160a01b03161561314157600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613113573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261313b91908101906156c3565b91505090565b8060010180546131509061536e565b1590506131ea578060010180546131669061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546131929061536e565b80156131df5780601f106131b4576101008083540402835291602001916131df565b820191906000526020600020905b8154815290600101906020018083116131c257829003601f168201915b505050505091505090565b805481906131f79061536e565b905060000361321457505060408051602081019091526000815290565b8061321e46614599565b613227306145dd565b60405160200161323993929190615832565b60405160208183030381529060405291505090565b6000600080516020615a4f8339815191526125e0565b6060600080516020615aaf8339815191526122e0565b61328261381a565b63389a75e1600c52806000526020600c2080544211156132aa57636f5e88186000526004601cfd5b600090556132b781613c47565b50565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff80851698610100860482169862010000870490921697630100000087046001600160a01b031697600160b81b90970465ffffffffffff16969092849284015b828210156134065783829060005260206000200180546133799061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546133a59061536e565b80156133f25780601f106133c7576101008083540402835291602001916133f2565b820191906000526020600020905b8154815290600101906020018083116133d557829003601f168201915b50505050508152602001906001019061335a565b5050505090509850985098509850985098509850985050919395975091939597565b61343061381a565b8060601b61344657637448fbae6000526004601cfd5b6132b781613c47565b61345761381a565b613463600183836138d6565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611ad5565b6134b061381a565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b61352561381a565b600080516020615a2f83398151915254600080516020615a8f83398151915290600160a01b900460ff161561356d5760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016123c6565b60006135f982614601565b806113125750611312826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061364d826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806113125750506001600160e01b031916632483248360e11b1490565b600061367582614601565b8061131257506001600160e01b031982166307ccd03560e31b1492915050565b60006136a082614601565b806113125750632a55205a60e083901c9081146301ffc9a79190911417611312565b60006136cd82614601565b8061131257506001600160e01b03198216636cbdef6160e01b1492915050565b60006136f882614601565b8061131257506001600160e01b031982166303aa30b960e11b1492915050565b600061372382614601565b8061131257506001600160e01b0319821663362d3e2b60e21b1492915050565b600061374e82614601565b8061131257506001600160e01b03198216635c975abb60e01b1492915050565b600061377982614601565b8061131257506001600160e01b031982166317afae4360e01b1492915050565b60006137a482614637565b8061131257506001600160e01b03198216636ee2ac8b60e11b1492915050565b60006137cf82614601565b8061131257506001600160e01b0319821663215f672360e21b1492915050565b60006137fa82614601565b8061131257506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612004576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c526020600020820182018054821691508161387c5763ceea21b66000526004601cfd5b8185148515176138a257816000526030600c20546138a257634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b8280156138e95750631cd9595960e21b81145b80156139465750631cd9595960e21b6000527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e006020527f59aef8a84236254bede197dcd6711409a45a4fb3879f18e18f1f3c49eaf2af825460ff16155b801561395e575061395e82631cd9595960e21b614662565b1561397c5760405163108e179760e11b815260040160405180910390fd5b6118788383836146a9565b6139928383836146f8565b61187881848461477b565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156139e4578060c08401826020870160045afa505b60208360a48301601c860160008a5af1613a07573d15613a07573d6000843e3d83fd5b508060e01b825114611b015763d1a57ed66000526004601cfd5b6103e861ffff82161115613a485760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613aa157613a66600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613aaf828261ffff1661484f565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613a95565b638b78c6d819546001600160a01b03163303613b0657565b600080516020615a6f8339815191525460ff1615613b37576040516375ab03ab60e11b815260040160405180910390fd5b613b3f6113ca565b6001600160a01b0316336001600160a01b0316146120045760405163263ab11d60e21b815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0054613b9b8161489f565b613bac81631cd9595960e21b614662565b613be4576000806000613bbf84866148ce565b9250925092508215613be057613be084631cd9595960e21b84600085614981565b5050505b613bee8282614a10565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613cf657604051635fde02f960e01b815260040160405180910390fd5b6000829003613d18576040516366e0344f60e01b815260040160405180910390fd5b6000858152600282016020526040902084815560018101613d3a84868361555b565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051613d6f939291906156a0565b60405180910390a2505050505050565b6000613d896116ad565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613e0a57604051635fde02f960e01b815260040160405180910390fd5b6000829003613e2c576040516366e0344f60e01b815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101613e5584868361555b565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051613e8b939291906156a0565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515613f1b575b835187018035602082018337600038823584305af4613ee6573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613ec4575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b606082613f4f46614599565b613f58306145dd565b613f6185614599565b604051602001613f7494939291906158e1565b604051602081830303815290604052905092915050565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615a8f83398151915280613fe284868361555b565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061403585878361555b565b5060018101611b0183858361555b565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b611bb77f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614ab9565b6140d17ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614ab9565b80600080516020615a0f833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161168c565b61413d7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614ab9565b6001600160a01b038116156132b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006134d3565b61419e7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614ab9565b6001600160a01b038116156132b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612c88565b6141ff7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614ab9565b80156132b757600080516020615a6f833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161168c565b61427d7fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614ab9565b6001600160a01b038116156132b75780600080516020615aef833981519152612047565b6120047f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96001614ab9565b6142f77f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356001614ab9565b801561433557604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161171b565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6120047fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614ab9565b6120047fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614ab9565b6143d4614b2b565b60005b838110156144965761448e8585838181106143f4576143f4615668565b90506020028101906144069190615967565b3586868481811061441957614419615668565b905060200281019061442b9190615967565b6020013587878581811061444157614441615668565b90506020028101906144539190615967565b6040013588888681811061446957614469615668565b905060200281019061447b9190615967565b61448990606081019061576c565b613d8e565b6001016143d7565b5060005b81811015611747576145298383838181106144b7576144b7615668565b90506020028101906144c99190615987565b358484848181106144dc576144dc615668565b90506020028101906144ee9190615987565b6020013585858581811061450457614504615668565b90506020028101906145169190615987565b61452490604081019061576c565b613c85565b60010161449a565b600080516020615aaf8339815191528061454c84868361555b565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806145b4575050819003601f19909101908152919050565b60606145e882614b56565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061131257506001600160e01b0319821663513fc9dd60e11b1492915050565b600061464282614601565b8061131257506001600160e01b03198216635063b0bd60e11b1492915050565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b60008181527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff16156118785760405163149eae5760e01b815260040160405180910390fd5b6001600160a01b03831661473e577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614735906159b3565b90915550505050565b6001600160a01b038216611878577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614735906159cc565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b0316806147b15750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b1790525161481291906159e3565b6000604051808303816000865af19150503d8060008114611c38576040519150601f19603f3d011682016040523d82523d6000602084013e611c38565b6bffffffffffffffffffffffff16612710808211156148765763350a88b36000526004601cfd5b8260601b8061488d5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b600080516020615a0f8339815191525481106132b75760405163ba470cd560e01b815260040160405180910390fd5b600080516020615aef8339815191525460009081906001600160a01b0316806148ff57506000915081905080611f35565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614952573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061497691906159f5565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b1580156149f157600080fd5b505af4158015614a05573d6000803e3d6000fd5b505050505050505050565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614a4e5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614a835767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46114d160008383613987565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613a95565b6120047f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614ab9565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614b96575050919050565b600060208284031215614bd757600080fd5b81356001600160e01b031981168114611ee157600080fd5b60005b83811015614c0a578181015183820152602001614bf2565b50506000910152565b60008151808452614c2b816020860160208601614bef565b601f01601f19169290920160200192915050565b602081526000611ee16020830184614c13565b600060208284031215614c6457600080fd5b5035919050565b80356001600160a01b0381168114611dff57600080fd5b803565ffffffffffff81168114611dff57600080fd5b60008083601f840112614caa57600080fd5b5081356001600160401b03811115614cc157600080fd5b6020830191508360208260051b850101111561309357600080fd5b60008060008060008060008060006101008a8c031215614cfb57600080fd5b8935985060208a013560098110614d1157600080fd5b975060408a013560078110614d2557600080fd5b9650614d3360608b01614c6b565b9550614d4160808b01614c82565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614d6a57600080fd5b614d768c828d01614c98565b915080935050809150509295985092959850929598565b60008060408385031215614da057600080fd5b614da983614c6b565b946020939093013593505050565b60008083601f840112614dc957600080fd5b5081356001600160401b03811115614de057600080fd5b60208301915083602082850101111561309357600080fd5b600080600060408486031215614e0d57600080fd5b8335925060208401356001600160401b03811115614e2a57600080fd5b614e3686828701614db7565b9497909650939450505050565b80358015158114611dff57600080fd5b600060208284031215614e6557600080fd5b611ee182614e43565b600060208284031215614e8057600080fd5b611ee182614c6b565b600080600060608486031215614e9e57600080fd5b614ea784614c6b565b9250614eb560208501614c6b565b929592945050506040919091013590565b60008060408385031215614ed957600080fd5b50508035926020909101359150565b803561ffff81168114611dff57600080fd5b60008060408385031215614f0d57600080fd5b614f1683614c6b565b9150614f2460208401614ee8565b90509250929050565b60008060008060608587031215614f4357600080fd5b843593506020850135925060408501356001600160401b03811115614f6757600080fd5b614f7387828801614db7565b95989497509550505050565b8281526040602082015260006120fb6040830184614c13565b600080600060608486031215614fad57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215614fd957600080fd5b83359250602084013560028110614eb557600080fd5b6000806040838503121561500257600080fd5b61500b83614c6b565b9150614f2460208401614e43565b60008060008060006080868803121561503157600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561505c57600080fd5b61506888828901614db7565b969995985093965092949392505050565b6000806020838503121561508c57600080fd5b82356001600160401b038111156150a257600080fd5b6150ae85828601614db7565b90969095509350505050565b6000806000606084860312156150cf57600080fd5b6150d884614c6b565b92506150e660208501614c6b565b91506150f460408501614c6b565b90509250925092565b6000806020838503121561511057600080fd5b82356001600160401b0381111561512657600080fd5b6150ae85828601614c98565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561518b57603f19878603018452615176858351614c13565b9450602093840193919091019060010161515a565b50929695505050505050565b6000806000806000608086880312156151af57600080fd5b6151b886614c6b565b94506151c660208701614c6b565b93506040860135925060608601356001600160401b0381111561505c57600080fd5b634e487b7160e01b600052602160045260246000fd5b6002811061520e5761520e6151e8565b9052565b6040810161522082856151fe565b8260208301529392505050565b60006020828403121561523f57600080fd5b81356001600160401b0381111561525557600080fd5b82016102608185031215611ee157600080fd5b6000806040838503121561527b57600080fd5b61528483614c6b565b9150614f2460208401614c6b565b6009811061520e5761520e6151e8565b6007811061520e5761520e6151e8565b600061010082018a151583526152cb602084018b615292565b6152d8604084018a6152a2565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b8281101561535b5761011f19878603018452615346858351614c13565b94506020938401939190910190600101615329565b50929d9c50505050505050505050505050565b600181811c9082168061538257607f821691505b6020821081036153a257634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526153e8602084018c615292565b6153f5604084018b6152a2565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156154b75786850361011f19018452823581811261546657600080fd5b89016020810190356001600160401b0381111561548257600080fd5b80360382131561549157600080fd5b61549c8782846153a8565b96505050602083019250602084019350600182019150615446565b50929e9d5050505050505050505050505050565b8481526060602082015260006154e56060830185876153a8565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f82111561187857806000526020600020601f840160051c8101602085101561553b5750805b601f840160051c820191505b818110156117475760008155600101615547565b6001600160401b03831115615572576155726154fe565b61558683615580835461536e565b83615514565b6000601f8411600181146155ba57600085156155a25750838201355b600019600387901b1c1916600186901b178355611747565b600083815260209020601f19861690835b828110156155eb57868501358255602094850194600190920191016155cb565b50868210156156085760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006120fb6020830184866153a8565b85815284602082015260806040820152600061564e6080830185876153a8565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b8381526060810161569260208301856151fe565b826040830152949350505050565b8381526040602082015260006156ba6040830184866153a8565b95945050505050565b6000602082840312156156d557600080fd5b81516001600160401b038111156156eb57600080fd5b8201601f810184136156fc57600080fd5b80516001600160401b03811115615715576157156154fe565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615743576157436154fe565b60405281815282820160200186101561575b57600080fd5b6156ba826020830160208601614bef565b6000808335601e1984360301811261578357600080fd5b8301803591506001600160401b0382111561579d57600080fd5b60200191503681900382131561309357600080fd5b6000602082840312156157c457600080fd5b611ee182614ee8565b6000808335601e198436030181126157e457600080fd5b8301803591506001600160401b038211156157fe57600080fd5b6020019150600581901b360382131561309357600080fd5b60008151615828818560208601614bef565b9290920192915050565b60008085546158408161536e565b600182168015615857576001811461586c5761589c565b60ff198316865281151582028601935061589c565b88600052602060002060005b8381101561589457815488820152600190910190602001615878565b505081860193505b505050602f60f81b815284516158b9816001840160208901614bef565b016158ca60018201602f60f81b9052565b6158d76002820185615816565b9695505050505050565b600085516158f3818460208a01614bef565b602f60f81b9083019081528551615911816001840160208a01614bef565b602f60f81b600192909101918201528451615933816002840160208901614bef565b600181830101915050602f60f81b60018201528351615959816002840160208801614bef565b016002019695505050505050565b60008235607e1983360301811261597d57600080fd5b9190910192915050565b60008235605e1983360301811261597d57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016159c5576159c561599d565b5060010190565b6000816159db576159db61599d565b506000190190565b6000825161597d818460208701614bef565b600060208284031215615a0757600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600a2646970667358221220b134930b442afa79bfa40e9b7fdec24b8866e710752c64d84fc01399a82ccaec64736f6c634300081c0033";
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": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "clearContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "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": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "configureTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "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": "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": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "resolution", "type": "uint8", "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": "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": "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": "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 OnChainMetadata.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 OnChainMetadata.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": "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": "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": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchema", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "exists", "type": "bool", "internalType": "bool" }, { "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[]" }], "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": "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": "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": "function", "name": "seedSource", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "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": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "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": "registry", "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": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "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": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "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": "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": "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": "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": "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": "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": "error", "name": "AccountBalanceOverflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "BalanceQueryForZeroAddress", "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": "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": "NotInitializing", "inputs": [] }, { "type": "error", "name": "NotMinterOrOwner", "inputs": [] }, { "type": "error", "name": "NotOwnerNorApproved", "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 = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615b448061008d6000396000f3fe60806040526004361061053e5760003560e01c80637d0b7ae4116102bd578063c3e617a211610180578063e4df18ec116100e7578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc8146111b4578063fca3b5aa146111d4578063fee81cf4146111f4578063ff87a5f51461122757600080fd5b8063f04e283e1461115a578063f22357011461116d578063f2fde38b146111a157600080fd5b8063e4df18ec14611075578063e8a3d48514611095578063e8dc3e09146110aa578063e985e9c5146110fa578063ea58f97114611130578063ee748f2c1461114557600080fd5b8063da2bbfc711610139578063da2bbfc714610fcb578063dc98387914610feb578063e1c2ffad14611000578063e2969ba714611015578063e318ea9f14611035578063e42b7baf1461105557600080fd5b8063c3e617a214610f1e578063c87b56dd14610f3e578063cfc59afd14610f5e578063d50bac3314610f8c578063d8b4f8ac14610fa1578063d90f5df214610fb657600080fd5b80639a5db50311610224578063aa0de18d116101dd578063aa0de18d14610e81578063ac9650d814610ea1578063ac998f4514610ec1578063b478424714610ed6578063b88d4fde14610eeb578063bb77e79614610efe57600080fd5b80639a5db50314610d925780639aa1a1f014610da7578063a148d8cf14610dc7578063a22cb46514610e21578063a482c94614610e41578063a8cdf07814610e6157600080fd5b8063913b385a11610276578063913b385a14610ce857806392b29b1714610d0857806392d9906f14610d2857806395d89b4114610d3d57806396f4205a14610d5257806397e950f714610d7257600080fd5b80637d0b7ae414610c1857806384f6687f14610c4f57806386b7f6a414610c6f5780638da5cb5b14610c8f5780638e08141f14610ca85780638e4cc07014610cc857600080fd5b80633c59f1bb116104055780636352211e1161036c5780636cbdef61116103255780636cbdef6114610b7a57806370a0823114610b8f578063715018a614610baf578063738e149614610bb757806375794a3c14610be35780637b1d470714610bf857600080fd5b80636352211e14610aba5780636905337414610ada5780636a62784214610afa5780636aaf760714610b1a5780636bd3922214610b3a5780636cb0281814610b5a57600080fd5b806354d1f13d116103be57806354d1f13d146109ff57806355828c5014610a075780635a50ca6514610a355780635c975abb14610a605780635e5a9e3014610a855780635e83065614610a9a57600080fd5b80633c59f1bb146108cc5780633dda44b01461096957806342842e0e146109895780634331f6391461099c5780634aa3adb3146109bc5780634efdb5ae146109df57600080fd5b80631c31cac3116104a9578063261220a311610462578063261220a3146107d457806326dfe8c7146107e9578063298bb40e146108095780632a55205a1461081e5780632e73cddb1461085d5780633990b221146108ac57600080fd5b80631c31cac3146106f157806320ac0944146107115780632352b33f1461072657806323b872dd146107a457806325628d34146107b757806325692962146107cc57600080fd5b80630b4c562b116104fb5780630b4c562b1461061c57806313bfffac1461063c5780631622326a1461067957806316c38b3c1461069957806317afae43146106b957806318160ddd146106ce57600080fd5b806301ffc9a71461054357806306fdde0314610578578063075461721461059a578063081812fc146105c757806308a38395146105e7578063095ea7b314610609575b600080fd5b34801561054f57600080fd5b5061056361055e366004614bc5565b611247565b60405190151581526020015b60405180910390f35b34801561058457600080fd5b5061058d611318565b60405161056f9190614c3f565b3480156105a657600080fd5b506105af6113ca565b6040516001600160a01b03909116815260200161056f565b3480156105d357600080fd5b506105af6105e2366004614c52565b6113fd565b3480156105f357600080fd5b50610607610602366004614cdc565b61143c565b005b610607610617366004614d8d565b6114c6565b34801561062857600080fd5b50610607610637366004614df8565b6114d5565b34801561064857600080fd5b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e04546001600160a01b03166105af565b34801561068557600080fd5b50610607610694366004614df8565b61155b565b3480156106a557600080fd5b506106076106b4366004614e53565b61163a565b3480156106c557600080fd5b506105af611697565b3480156106da57600080fd5b506106e36116ad565b60405190815260200161056f565b3480156106fd57600080fd5b5061060761070c366004614e6e565b6116d7565b34801561071d57600080fd5b506105af61174e565b34801561073257600080fd5b50610787610741366004614c52565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b60408051938452911515602084015215159082015260600161056f565b6106076107b2366004614e89565b611772565b3480156107c357600080fd5b5061060761187d565b6106076118e3565b3480156107e057600080fd5b5061058d611932565b3480156107f557600080fd5b50610607610804366004614e6e565b611948565b34801561081557600080fd5b5061058d611a0e565b34801561082a57600080fd5b5061083e610839366004614ec6565b611a24565b604080516001600160a01b03909316835260208301919091520161056f565b34801561086957600080fd5b50610563610878366004614c52565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156108b857600080fd5b506106076108c7366004614ec6565b611a79565b3480156108d857600080fd5b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0354604080516001600160a01b039485168152928416602084015292169181019190915260600161056f565b34801561097557600080fd5b50610607610984366004614ec6565b611b09565b610607610997366004614e89565b611b82565b3480156109a857600080fd5b506106076109b7366004614efa565b611baf565b3480156109c857600080fd5b5060015b60405161ffff909116815260200161056f565b3480156109eb57600080fd5b506106076109fa366004614f2d565b611bc1565b610607611c42565b348015610a1357600080fd5b50610a27610a22366004614c52565b611c7e565b60405161056f929190614f7f565b348015610a4157600080fd5b50600080516020615acf833981519152546001600160a01b03166105af565b348015610a6c57600080fd5b50600080516020615a6f8339815191525460ff16610563565b348015610a9157600080fd5b50610607611d4e565b348015610aa657600080fd5b50610607610ab5366004614d8d565b611da1565b348015610ac657600080fd5b506105af610ad5366004614c52565b611dc6565b348015610ae657600080fd5b50610607610af5366004614c52565b611e04565b348015610b0657600080fd5b506106e3610b15366004614e6e565b611e56565b348015610b2657600080fd5b5061058d610b35366004614c52565b611e69565b348015610b4657600080fd5b50610787610b55366004614ec6565b611ee8565b348015610b6657600080fd5b5061058d610b75366004614c52565b611f3c565b348015610b8657600080fd5b506106e3611fa1565b348015610b9b57600080fd5b506106e3610baa366004614e6e565b611fb7565b610607611ff2565b348015610bc357600080fd5b50600080516020615acf83398151915254600160a01b900460ff16610563565b348015610bef57600080fd5b506106e3612006565b348015610c0457600080fd5b50610607610c13366004614e6e565b61202e565b348015610c2457600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610563565b348015610c5b57600080fd5b5061058d610c6a366004614ec6565b612091565b348015610c7b57600080fd5b50610607610c8a366004614f98565b612103565b348015610c9b57600080fd5b50638b78c6d819546105af565b348015610cb457600080fd5b50610607610cc3366004614c52565b61216a565b348015610cd457600080fd5b50610607610ce3366004614fc4565b6121d4565b348015610cf457600080fd5b50610607610d03366004614f2d565b612217565b348015610d1457600080fd5b50610607610d23366004614f98565b61222b565b348015610d3457600080fd5b506106e3612294565b348015610d4957600080fd5b5061058d6122bc565b348015610d5e57600080fd5b50610607610d6d366004614e6e565b6122ee565b348015610d7e57600080fd5b50610607610d8d366004614c52565b612336565b348015610d9e57600080fd5b506106076123d2565b348015610db357600080fd5b50610607610dc2366004614df8565b61241e565b348015610dd357600080fd5b50610563610de2366004614ec6565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610e2d57600080fd5b50610607610e3c366004614fef565b612461565b348015610e4d57600080fd5b50610607610e5c366004615019565b6124b7565b348015610e6d57600080fd5b50610607610e7c366004615079565b6124cc565b348015610e8d57600080fd5b50610607610e9c3660046150ba565b612557565b610eb4610eaf3660046150fd565b6125af565b60405161056f9190615132565b348015610ecd57600080fd5b506105636125ce565b348015610ee257600080fd5b506106076125f3565b610607610ef9366004615197565b61263f565b348015610f0a57600080fd5b5061058d610f19366004614c52565b612693565b348015610f2a57600080fd5b50610607610f39366004615079565b612754565b348015610f4a57600080fd5b5061058d610f59366004614c52565b6127b3565b348015610f6a57600080fd5b50610f7e610f79366004614c52565b612a0f565b60405161056f929190615212565b348015610f9857600080fd5b506105af612a94565b348015610fad57600080fd5b506105af612aaa565b348015610fc257600080fd5b506106e3612ad2565b348015610fd757600080fd5b50610607610fe6366004615079565b612ae8565b348015610ff757600080fd5b50610607612bbe565b34801561100c57600080fd5b50610607612c0a565b34801561102157600080fd5b50610607611030366004614e6e565b612c5d565b34801561104157600080fd5b5061060761105036600461522d565b612cd2565b34801561106157600080fd5b50610607611070366004614f2d565b612f6a565b34801561108157600080fd5b50610a27611090366004614ec6565b612fbc565b3480156110a157600080fd5b5061058d61309a565b3480156110b657600080fd5b506109cc6110c5366004614c52565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561110657600080fd5b50610563611115366004615268565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561113c57600080fd5b5061056361324e565b34801561115157600080fd5b5061058d613264565b610607611168366004614e6e565b61327a565b34801561117957600080fd5b5061118d611188366004614c52565b6132ba565b60405161056f9897969594939291906152b2565b6106076111af366004614e6e565b613428565b3480156111c057600080fd5b506106076111cf366004614ec6565b61344f565b3480156111e057600080fd5b506106076111ef366004614e6e565b6134a8565b34801561120057600080fd5b506106e361120f366004614e6e565b63389a75e1600c908152600091909152602090205490565b34801561123357600080fd5b50610607611242366004614e6e565b61351d565b6000611252826135ee565b80611261575061126182613625565b8061127057506112708261366a565b8061127f575061127f82613695565b8061128e575061128e826136c2565b8061129d575061129d826136ed565b806112ac57506112ac82613718565b806112bb57506112bb82613743565b806112ca57506112ca8261376e565b806112d957506112d982613799565b806112e857506112e8826137c4565b806112f757506112f7826137ef565b8061131257506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546113479061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546113739061536e565b80156113c05780601f10611395576101008083540402835291602001916113c0565b820191906000526020600020905b8154815290600101906020018083116113a357829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6114325763ceea21b66000526004601cfd5b6001015492915050565b61144461381a565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae69061148b908c908c908c908c908c908c908c908c908c906004016153d1565b60006040518083038186803b1580156114a357600080fd5b505af41580156114b7573d6000803e3d6000fd5b50505050505050505050505050565b6114d1338383613835565b5050565b6114dd61381a565b6114e9600080856138d6565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906115269086908690869033906004016154cb565b60006040518083038186803b15801561153e57600080fd5b505af4158015611552573d6000803e3d6000fd5b50505050505050565b61156361381a565b600080516020615a2f83398151915254600080516020615a8f83398151915290600160a01b900460ff16156115ab5760405163dd48f3ab60e01b815260040160405180910390fd5b600084815260028201602052604090206115c683858361555b565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516115f992919061561a565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b61164261381a565b600080516020615a6f833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615aef8339815191526113ee565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6116df61381a565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b15801561173357600080fd5b505af4158015611747573d6000803e3d6000fd5b5050505050565b6000600080516020615a4f8339815191525b600101546001600160a01b0316919050565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026117c45767ceea21b6a1148100831560021b526004601cfd5b8560005281600101549250823314863314176117f2576030600c20546117f257634b6e7f186000526004601cfd5b821561180057600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026118435767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611878838383613987565b505050565b61188561381a565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b1580156118c957600080fd5b505af41580156118dd573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615a8f83398151915261133c565b61195061381a565b600080516020615acf83398151915254600080516020615aaf83398151915290600160a01b900460ff1615611998576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615aaf83398151915261133c565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611a58576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611a8161381a565b611a8d600080846138d6565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611aed57600080fd5b505af4158015611b01573d6000803e3d6000fd5b505050505050565b611b1161381a565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611b8d838383611772565b813b15611878576118788383836040518060200160405280600081525061399d565b611bb761381a565b6114d18282613a21565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d1485858585611bec638b78c6d8195490565b6040518663ffffffff1660e01b8152600401611c0c95949392919061562e565b60006040518083038186803b158015611c2457600080fd5b505af4158015611c38573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545026020526040812080546001820180546060939291908190611cc49061536e565b80601f0160208091040260200160405190810160405280929190818152602001828054611cf09061536e565b8015611d3d5780601f10611d1257610100808354040283529160200191611d3d565b820191906000526020600020905b815481529060010190602001808311611d2057829003601f168201915b505050505090509250925050915091565b611d5661381a565b600080516020615a2f833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611da9613aee565b60005b8181101561187857611dbd83613b70565b50600101611dac565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b031680611dff5763ceea21b66000526004601cfd5b919050565b611e0c61381a565b611e18600080836138d6565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161171b565b6000611e60613aee565b61131282613b70565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9008054606091908310611eaf57604051633fa417ed60e11b815260040160405180910390fd5b611ee1816000018481548110611ec757611ec7615668565b6000918252602090912001546001600160a01b0316613c19565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b03168015611f8a57611f8581613c19565b611ee1565b604051806020016040528060008152509392505050565b6000600080516020615a0f8339815191526116d1565b600081611fcc57638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b611ffa61381a565b6120046000613c47565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb006116d1565b61203661381a565b80600080516020615aef8339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b031680156120ea576120e581613c19565b6120fb565b604051806020016040528060008152505b949350505050565b61210b61381a565b612117600184846138d6565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a401611526565b61217261381a565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6121dc61381a565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906115269086908690869060040161567e565b61221f61381a565b6118dd84848484613c85565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d6446848484612255638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b03166064820152608401611526565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9006116d1565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546113479061536e565b6122f661381a565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161171b565b61233e61381a565b600080516020615a0f833981519152805482111561236f57604051632b953d0360e11b815260040160405180910390fd5b612377613d7f565b82101561239757604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b6123da61381a565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b1580156118c957600080fd5b61242661381a565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f090611526908690869086906004016156a0565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6124bf61381a565b6117478585858585613d8e565b6124d461381a565b600080516020615acf83398151915254600080516020615aaf83398151915290600160a01b900460ff161561251c576040516352be865b60e01b815260040160405180910390fd5b8061252883858361555b565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61255f61381a565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d90606401611526565b606034156125bc57600080fd5b6113126125c98484613e9c565b613f33565b6000600080516020615a8f8339815191525b60010154600160a01b900460ff16919050565b6125fb61381a565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b1580156118c957600080fd5b61264a858585611772565b833b156117475761174785858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061399d92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906126cf9061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546126fb9061536e565b80156127485780601f1061271d57610100808354040283529160200191612748565b820191906000526020600020905b81548152906001019060200180831161272b57829003601f168201915b50505050509050919050565b61275c61381a565b600080516020615acf83398151915254600080516020615aaf83398151915290600160a01b900460ff16156127a4576040516352be865b60e01b815260040160405180910390fd5b6001810161252883858361555b565b60606127dd826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b6127fa5760405163163a09e160e31b815260040160405180910390fd5b600080516020615a2f83398151915254600080516020615a8f833981519152906001600160a01b0316156128a157600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612879573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ee191908101906156c3565b6000838152600282016020526040812080546128bc9061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546128e89061536e565b80156129355780601f1061290a57610100808354040283529160200191612935565b820191906000526020600020905b81548152906001019060200180831161291857829003601f168201915b50505050509050805160001461294c579392505050565b815482906129599061536e565b905060000361297957505060408051602081019091526000815292915050565b6120fb82600001805461298b9061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546129b79061536e565b8015612a045780601f106129d957610100808354040283529160200191612a04565b820191906000526020600020905b8154815290600101906020018083116129e757829003601f168201915b505050505085613f43565b600080516020615a4f833981519152805460009182918410612a445760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612a5b57612a5b615668565b60009182526020909120600290910201805490915060ff166001811115612a8457612a846151e8565b8160010154935093505050915091565b6000600080516020615a8f833981519152611760565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1006113ee565b6000600080516020615a4f8339815191526116d1565b612af061381a565b600080516020615a2f83398151915254600080516020615a8f83398151915290600160a01b900460ff1615612b385760405163dd48f3ab60e01b815260040160405180910390fd5b80612b4483858361555b565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612b7692919061561a565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b612bc661381a565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b1580156118c957600080fd5b612c1261381a565b600080516020615acf833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b612c6561381a565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b63409feecd198054600382558015612d095760018160011c14303b10612d005763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101200135600003612d305760405163fe5afcb960e01b815260040160405180910390fd5b8161012001358261020001351115612d5b57604051633f63c5bf60e01b815260040160405180910390fd5b612d70612d6b6020840184614e6e565b613f8b565b612d95612d80606084018461576c565b612d9060a0860160808701614e6e565b613fc7565b612db7612da5602084018461576c565b612db2604086018661576c565b614008565b612dbf614045565b612dea612dd3610100840160e08501614e6e565b612de5610120850161010086016157b2565b61407b565b612df88261012001356140a6565b612e12612e0d61018084016101608501614e6e565b614112565b612e2c612e2761016084016101408501614e6e565b614173565b612e46612e416101a084016101808501614e53565b6141d4565b612e60612e5b6101c084016101a08501614e6e565b614252565b612e686142a1565b612e82612e7d6101e084016101c08501614e53565b6142cc565b612e8a614376565b612e926143a1565b612eb6612ea36102208401846157cd565b612eb16102408601866157cd565b6143cc565b612edb612ec660a084018461576c565b612ed660e0860160c08701614e6e565b614531565b6000612eef61020084016101e08501614e6e565b6001600160a01b031614612f325760005b826102000135811015612f3057612f27612f2261020085016101e08601614e6e565b613b70565b50600101612f00565b505b80156114d1576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b612f7261381a565b612f7e600185856138d6565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed4830090611c0c908790879087908790339060040161562e565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061300d9061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546130399061536e565b80156130865780601f1061305b57610100808354040283529160200191613086565b820191906000526020600020905b81548152906001019060200180831161306957829003601f168201915b5050505050905092509250505b9250929050565b600080516020615acf83398151915254606090600080516020615aaf833981519152906001600160a01b03161561314157600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613113573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261313b91908101906156c3565b91505090565b8060010180546131509061536e565b1590506131ea578060010180546131669061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546131929061536e565b80156131df5780601f106131b4576101008083540402835291602001916131df565b820191906000526020600020905b8154815290600101906020018083116131c257829003601f168201915b505050505091505090565b805481906131f79061536e565b905060000361321457505060408051602081019091526000815290565b8061321e46614599565b613227306145dd565b60405160200161323993929190615832565b60405160208183030381529060405291505090565b6000600080516020615a4f8339815191526125e0565b6060600080516020615aaf8339815191526122e0565b61328261381a565b63389a75e1600c52806000526020600c2080544211156132aa57636f5e88186000526004601cfd5b600090556132b781613c47565b50565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff80851698610100860482169862010000870490921697630100000087046001600160a01b031697600160b81b90970465ffffffffffff16969092849284015b828210156134065783829060005260206000200180546133799061536e565b80601f01602080910402602001604051908101604052809291908181526020018280546133a59061536e565b80156133f25780601f106133c7576101008083540402835291602001916133f2565b820191906000526020600020905b8154815290600101906020018083116133d557829003601f168201915b50505050508152602001906001019061335a565b5050505090509850985098509850985098509850985050919395975091939597565b61343061381a565b8060601b61344657637448fbae6000526004601cfd5b6132b781613c47565b61345761381a565b613463600183836138d6565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611ad5565b6134b061381a565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b61352561381a565b600080516020615a2f83398151915254600080516020615a8f83398151915290600160a01b900460ff161561356d5760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91016123c6565b60006135f982614601565b806113125750611312826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b600061364d826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806113125750506001600160e01b031916632483248360e11b1490565b600061367582614601565b8061131257506001600160e01b031982166307ccd03560e31b1492915050565b60006136a082614601565b806113125750632a55205a60e083901c9081146301ffc9a79190911417611312565b60006136cd82614601565b8061131257506001600160e01b03198216636cbdef6160e01b1492915050565b60006136f882614601565b8061131257506001600160e01b031982166303aa30b960e11b1492915050565b600061372382614601565b8061131257506001600160e01b0319821663362d3e2b60e21b1492915050565b600061374e82614601565b8061131257506001600160e01b03198216635c975abb60e01b1492915050565b600061377982614601565b8061131257506001600160e01b031982166317afae4360e01b1492915050565b60006137a482614637565b8061131257506001600160e01b03198216636ee2ac8b60e11b1492915050565b60006137cf82614601565b8061131257506001600160e01b0319821663215f672360e21b1492915050565b60006137fa82614601565b8061131257506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612004576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c526020600020820182018054821691508161387c5763ceea21b66000526004601cfd5b8185148515176138a257816000526030600c20546138a257634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b8280156138e95750631cd9595960e21b81145b80156139465750631cd9595960e21b6000527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e006020527f59aef8a84236254bede197dcd6711409a45a4fb3879f18e18f1f3c49eaf2af825460ff16155b801561395e575061395e82631cd9595960e21b614662565b1561397c5760405163108e179760e11b815260040160405180910390fd5b6118788383836146a9565b6139928383836146f8565b61187881848461477b565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156139e4578060c08401826020870160045afa505b60208360a48301601c860160008a5af1613a07573d15613a07573d6000843e3d83fd5b508060e01b825114611b015763d1a57ed66000526004601cfd5b6103e861ffff82161115613a485760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff16600003613aa157613a66600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b613aaf828261ffff1661484f565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001613a95565b638b78c6d819546001600160a01b03163303613b0657565b600080516020615a6f8339815191525460ff1615613b37576040516375ab03ab60e11b815260040160405180910390fd5b613b3f6113ca565b6001600160a01b0316336001600160a01b0316146120045760405163263ab11d60e21b815260040160405180910390fd5b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0054613b9b8161489f565b613bac81631cd9595960e21b614662565b613be4576000806000613bbf84866148ce565b9250925092508215613be057613be084631cd9595960e21b84600085614981565b5050505b613bee8282614a10565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613cf657604051635fde02f960e01b815260040160405180910390fd5b6000829003613d18576040516366e0344f60e01b815260040160405180910390fd5b6000858152600282016020526040902084815560018101613d3a84868361555b565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051613d6f939291906156a0565b60405180910390a2505050505050565b6000613d896116ad565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613e0a57604051635fde02f960e01b815260040160405180910390fd5b6000829003613e2c576040516366e0344f60e01b815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101613e5584868361555b565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051613e8b939291906156a0565b60405180910390a350505050505050565b600060405190506020815281816020015280604001808360051b808684378201808515613f1b575b835187018035602082018337600038823584305af4613ee6573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613ec4575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b606082613f4f46614599565b613f58306145dd565b613f6185614599565b604051602001613f7494939291906158e1565b604051602081830303815290604052905092915050565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615a8f83398151915280613fe284868361555b565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e008061403585878361555b565b5060018101611b0183858361555b565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b611bb77f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614ab9565b6140d17ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614ab9565b80600080516020615a0f833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d5909060200161168c565b61413d7fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614ab9565b6001600160a01b038116156132b757807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006134d3565b61419e7fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614ab9565b6001600160a01b038116156132b757807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612c88565b6141ff7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614ab9565b80156132b757600080516020615a6f833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c59060200161168c565b61427d7fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614ab9565b6001600160a01b038116156132b75780600080516020615aef833981519152612047565b6120047f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96001614ab9565b6142f77f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356001614ab9565b801561433557604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161171b565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6120047fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614ab9565b6120047fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614ab9565b6143d4614b2b565b60005b838110156144965761448e8585838181106143f4576143f4615668565b90506020028101906144069190615967565b3586868481811061441957614419615668565b905060200281019061442b9190615967565b6020013587878581811061444157614441615668565b90506020028101906144539190615967565b6040013588888681811061446957614469615668565b905060200281019061447b9190615967565b61448990606081019061576c565b613d8e565b6001016143d7565b5060005b81811015611747576145298383838181106144b7576144b7615668565b90506020028101906144c99190615987565b358484848181106144dc576144dc615668565b90506020028101906144ee9190615987565b6020013585858581811061450457614504615668565b90506020028101906145169190615987565b61452490604081019061576c565b613c85565b60010161449a565b600080516020615aaf8339815191528061454c84868361555b565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806145b4575050819003601f19909101908152919050565b60606145e882614b56565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061131257506001600160e01b0319821663513fc9dd60e11b1492915050565b600061464282614601565b8061131257506001600160e01b03198216635063b0bd60e11b1492915050565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b60008181527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff16156118785760405163149eae5760e01b815260040160405180910390fd5b6001600160a01b03831661473e577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614735906159b3565b90915550505050565b6001600160a01b038216611878577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614735906159cc565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b0316806147b15750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b1790525161481291906159e3565b6000604051808303816000865af19150503d8060008114611c38576040519150601f19603f3d011682016040523d82523d6000602084013e611c38565b6bffffffffffffffffffffffff16612710808211156148765763350a88b36000526004601cfd5b8260601b8061488d5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b600080516020615a0f8339815191525481106132b75760405163ba470cd560e01b815260040160405180910390fd5b600080516020615aef8339815191525460009081906001600160a01b0316806148ff57506000915081905080611f35565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614952573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061497691906159f5565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b1580156149f157600080fd5b505af4158015614a05573d6000803e3d6000fd5b505050505050505050565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614a4e5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614a835767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a46114d160008383613987565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101613a95565b6120047f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614ab9565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614b96575050919050565b600060208284031215614bd757600080fd5b81356001600160e01b031981168114611ee157600080fd5b60005b83811015614c0a578181015183820152602001614bf2565b50506000910152565b60008151808452614c2b816020860160208601614bef565b601f01601f19169290920160200192915050565b602081526000611ee16020830184614c13565b600060208284031215614c6457600080fd5b5035919050565b80356001600160a01b0381168114611dff57600080fd5b803565ffffffffffff81168114611dff57600080fd5b60008083601f840112614caa57600080fd5b5081356001600160401b03811115614cc157600080fd5b6020830191508360208260051b850101111561309357600080fd5b60008060008060008060008060006101008a8c031215614cfb57600080fd5b8935985060208a013560098110614d1157600080fd5b975060408a013560078110614d2557600080fd5b9650614d3360608b01614c6b565b9550614d4160808b01614c82565b945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614d6a57600080fd5b614d768c828d01614c98565b915080935050809150509295985092959850929598565b60008060408385031215614da057600080fd5b614da983614c6b565b946020939093013593505050565b60008083601f840112614dc957600080fd5b5081356001600160401b03811115614de057600080fd5b60208301915083602082850101111561309357600080fd5b600080600060408486031215614e0d57600080fd5b8335925060208401356001600160401b03811115614e2a57600080fd5b614e3686828701614db7565b9497909650939450505050565b80358015158114611dff57600080fd5b600060208284031215614e6557600080fd5b611ee182614e43565b600060208284031215614e8057600080fd5b611ee182614c6b565b600080600060608486031215614e9e57600080fd5b614ea784614c6b565b9250614eb560208501614c6b565b929592945050506040919091013590565b60008060408385031215614ed957600080fd5b50508035926020909101359150565b803561ffff81168114611dff57600080fd5b60008060408385031215614f0d57600080fd5b614f1683614c6b565b9150614f2460208401614ee8565b90509250929050565b60008060008060608587031215614f4357600080fd5b843593506020850135925060408501356001600160401b03811115614f6757600080fd5b614f7387828801614db7565b95989497509550505050565b8281526040602082015260006120fb6040830184614c13565b600080600060608486031215614fad57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215614fd957600080fd5b83359250602084013560028110614eb557600080fd5b6000806040838503121561500257600080fd5b61500b83614c6b565b9150614f2460208401614e43565b60008060008060006080868803121561503157600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561505c57600080fd5b61506888828901614db7565b969995985093965092949392505050565b6000806020838503121561508c57600080fd5b82356001600160401b038111156150a257600080fd5b6150ae85828601614db7565b90969095509350505050565b6000806000606084860312156150cf57600080fd5b6150d884614c6b565b92506150e660208501614c6b565b91506150f460408501614c6b565b90509250925092565b6000806020838503121561511057600080fd5b82356001600160401b0381111561512657600080fd5b6150ae85828601614c98565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561518b57603f19878603018452615176858351614c13565b9450602093840193919091019060010161515a565b50929695505050505050565b6000806000806000608086880312156151af57600080fd5b6151b886614c6b565b94506151c660208701614c6b565b93506040860135925060608601356001600160401b0381111561505c57600080fd5b634e487b7160e01b600052602160045260246000fd5b6002811061520e5761520e6151e8565b9052565b6040810161522082856151fe565b8260208301529392505050565b60006020828403121561523f57600080fd5b81356001600160401b0381111561525557600080fd5b82016102608185031215611ee157600080fd5b6000806040838503121561527b57600080fd5b61528483614c6b565b9150614f2460208401614c6b565b6009811061520e5761520e6151e8565b6007811061520e5761520e6151e8565b600061010082018a151583526152cb602084018b615292565b6152d8604084018a6152a2565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b8281101561535b5761011f19878603018452615346858351614c13565b94506020938401939190910190600101615329565b50929d9c50505050505050505050505050565b600181811c9082168061538257607f821691505b6020821081036153a257634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526153e8602084018c615292565b6153f5604084018b6152a2565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156154b75786850361011f19018452823581811261546657600080fd5b89016020810190356001600160401b0381111561548257600080fd5b80360382131561549157600080fd5b61549c8782846153a8565b96505050602083019250602084019350600182019150615446565b50929e9d5050505050505050505050505050565b8481526060602082015260006154e56060830185876153a8565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f82111561187857806000526020600020601f840160051c8101602085101561553b5750805b601f840160051c820191505b818110156117475760008155600101615547565b6001600160401b03831115615572576155726154fe565b61558683615580835461536e565b83615514565b6000601f8411600181146155ba57600085156155a25750838201355b600019600387901b1c1916600186901b178355611747565b600083815260209020601f19861690835b828110156155eb57868501358255602094850194600190920191016155cb565b50868210156156085760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020815260006120fb6020830184866153a8565b85815284602082015260806040820152600061564e6080830185876153a8565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b8381526060810161569260208301856151fe565b826040830152949350505050565b8381526040602082015260006156ba6040830184866153a8565b95945050505050565b6000602082840312156156d557600080fd5b81516001600160401b038111156156eb57600080fd5b8201601f810184136156fc57600080fd5b80516001600160401b03811115615715576157156154fe565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615743576157436154fe565b60405281815282820160200186101561575b57600080fd5b6156ba826020830160208601614bef565b6000808335601e1984360301811261578357600080fd5b8301803591506001600160401b0382111561579d57600080fd5b60200191503681900382131561309357600080fd5b6000602082840312156157c457600080fd5b611ee182614ee8565b6000808335601e198436030181126157e457600080fd5b8301803591506001600160401b038211156157fe57600080fd5b6020019150600581901b360382131561309357600080fd5b60008151615828818560208601614bef565b9290920192915050565b60008085546158408161536e565b600182168015615857576001811461586c5761589c565b60ff198316865281151582028601935061589c565b88600052602060002060005b8381101561589457815488820152600190910190602001615878565b505081860193505b505050602f60f81b815284516158b9816001840160208901614bef565b016158ca60018201602f60f81b9052565b6158d76002820185615816565b9695505050505050565b600085516158f3818460208a01614bef565b602f60f81b9083019081528551615911816001840160208a01614bef565b602f60f81b600192909101918201528451615933816002840160208901614bef565b600181830101915050602f60f81b60018201528351615959816002840160208801614bef565b016002019695505050505050565b60008235607e1983360301811261597d57600080fd5b9190910192915050565b60008235605e1983360301811261597d57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016159c5576159c561599d565b5060010190565b6000816159db576159db61599d565b506000190190565b6000825161597d818460208701614bef565b600060208284031215615a0757600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b600a2646970667358221220b134930b442afa79bfa40e9b7fdec24b8866e710752c64d84fc01399a82ccaec64736f6c634300081c0033";
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": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.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 OnChainMetadata.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": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.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 OnChainMetadata.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 = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b6145ed80610b4783390190565b608051610ab961008e6000396000818160ae015281816101300152818161016c015281816101a401526103900152610ab96000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c857b3e116100505780635c857b3e146100d0578063e08d54e914610103578063e2e4716b1461011657600080fd5b80635414dff01461006c5780635c60da1b146100a9575b600080fd5b61007f61007a3660046104e7565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f36100de366004610524565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f610111366004610558565b61015c565b61007f61012436600461059d565b61019d565b60006101567f000000000000000000000000000000000000000000000000000000000000000083306101d9565b92915050565b600061016782610236565b6101917f00000000000000000000000000000000000000000000000000000000000000008361029b565b905061015681846102b0565b60006101c87f000000000000000000000000000000000000000000000000000000000000000061040c565b90506101d481836102b0565b919050565b6000806102208560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061022d818585610419565b95945050505050565b606081901c8015801590610260575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610297576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006102a96000848461043b565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517fec49db7200000000000000000000000000000000000000000000000000000000815263ec49db72906103389084906004016107d9565b600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b50610378925050506020820182610524565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000610156600083610492565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104865763301164256000526004601cfd5b60006021529392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104dc5763301164256000526004601cfd5b600060215292915050565b6000602082840312156104f957600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d457600080fd5b60006020828403121561053657600080fd5b6102a982610500565b60006101a0828403121561055257600080fd5b50919050565b6000806040838503121561056b57600080fd5b823567ffffffffffffffff81111561058257600080fd5b61058e8582860161053f565b95602094909401359450505050565b6000602082840312156105af57600080fd5b813567ffffffffffffffff8111156105c657600080fd5b6105d28482850161053f565b949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff811681146101d457600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106d557600080fd5b830160208101925035905067ffffffffffffffff8111156106f557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107cd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261078157600080fd5b8601803584526020808201359085015261079e60408201826105da565b9150606060408601526107b5606086018383610645565b60209a8b019a90955093909301925050600101610720565b50909695505050505050565b60208152610807602082016107ed84610500565b73ffffffffffffffffffffffffffffffffffffffff169052565b600061081560208401610500565b73ffffffffffffffffffffffffffffffffffffffff811660408401525061083f60408401846105da565b6101a060608501526108566101c085018284610645565b91505061086660608501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301608086015261089b838284610645565b925050506108ac60808501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160a08601526108e1838284610645565b925050506108f160a08501610500565b73ffffffffffffffffffffffffffffffffffffffff811660c08501525061091b60c08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160e0860152610950838284610645565b9250505061096060e08501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101008501525061098b6101008501610500565b73ffffffffffffffffffffffffffffffffffffffff8116610120850152506109b6610120850161068e565b61ffff8116610140850152506109cf6101408501610500565b73ffffffffffffffffffffffffffffffffffffffff8116610160850152506109fb6101608501856106a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610180860152610a31838284610707565b92505050610a436101808501856106a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016101a0860152610a79838284610707565b969550505050505056fea26469706673582212201cdde9f604419041239cbf4b04c478ef2c71234f2838f15d7e2c9c2c3db44ddd64736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6145608061008d6000396000f3fe60806040526004361061036b5760003560e01c80638da5cb5b116101c6578063c87b56dd116100f7578063e985e9c511610095578063f04e283e1161006f578063f04e283e14610b80578063f2fde38b14610b93578063fee81cf414610ba6578063ff87a5f514610bd957600080fd5b8063e985e9c514610b15578063ec49db7214610b4b578063ee748f2c14610b6b57600080fd5b8063e1c2ffad116100d1578063e1c2ffad14610a7b578063e4df18ec14610a90578063e8a3d48514610ab0578063e8dc3e0914610ac557600080fd5b8063c87b56dd146109f1578063d50bac3314610a11578063da2bbfc714610a5b57600080fd5b8063a8cdf07811610164578063ac998f451161013e578063ac998f451461094f578063b88d4fde1461099e578063bb77e796146109b1578063c3e617a2146109d157600080fd5b8063a8cdf078146108ef578063a9fc664e1461090f578063ac9650d81461092f57600080fd5b806395d89b41116101a057806395d89b4114610840578063a148d8cf14610855578063a22cb465146108af578063a482c946146108cf57600080fd5b80638da5cb5b146107cc5780638e08141f14610800578063913b385a1461082057600080fd5b80632e73cddb116102a05780635a50ca651161023e5780636a627842116102185780636a6278421461073557806370a0823114610755578063715018a614610775578063738e14961461077d57600080fd5b80635a50ca65146106b65780635e5a9e30146107005780636352211e1461071557600080fd5b80634331f6391161027a5780634331f6391461063d5780634aa3adb31461065d57806354d1f13d1461068057806355828c501461068857600080fd5b80632e73cddb146105bb5780633dda44b01461060a57806342842e0e1461062a57600080fd5b806318160ddd1161030d578063261220a3116102e7578063261220a31461052557806326dfe8c71461053a578063298bb40e1461055a5780632a55205a1461056f57600080fd5b806318160ddd146104cc57806323b872dd1461050a578063256929621461051d57600080fd5b8063095ea7b311610349578063095ea7b31461040c578063098144d4146104215780630d705df61461046b5780631622326a146104ac57600080fd5b806301ffc9a71461037057806306fdde03146103a5578063081812fc146103c7575b600080fd5b34801561037c57600080fd5b5061039061038b36600461387e565b610bf9565b60405190151581526020015b60405180910390f35b3480156103b157600080fd5b506103ba610c46565b60405161039c919061392e565b3480156103d357600080fd5b506103e76103e2366004613941565b610cf8565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161039c565b61041f61041a36600461397e565b610d4c565b005b34801561042d57600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561047757600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161039c565b3480156104b857600080fd5b5061041f6104c73660046139ea565b610d5b565b3480156104d857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b60405190815260200161039c565b61041f610518366004613a36565b610e88565b61041f610fde565b34801561053157600080fd5b506103ba61102e565b34801561054657600080fd5b5061041f610555366004613a73565b611056565b34801561056657600080fd5b506103ba61118f565b34801561057b57600080fd5b5061058f61058a366004613a8e565b6111b7565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161039c565b3480156105c757600080fd5b506103906105d6366004613941565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561061657600080fd5b5061041f610625366004613a8e565b61122a565b61041f610638366004613a36565b6112c1565b34801561064957600080fd5b5061041f610658366004613ac2565b6112ee565b34801561066957600080fd5b5060015b60405161ffff909116815260200161039c565b61041f611300565b34801561069457600080fd5b506106a86106a3366004613941565b61133c565b60405161039c929190613af5565b3480156106c257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561070c57600080fd5b5061041f61140c565b34801561072157600080fd5b506103e7610730366004613941565b61149d565b34801561074157600080fd5b5061041f610750366004613a73565b6114fd565b34801561076157600080fd5b506104fc610770366004613a73565b611513565b61041f611563565b34801561078957600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610390565b3480156107d857600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546103e7565b34801561080c57600080fd5b5061041f61081b366004613941565b611577565b34801561082c57600080fd5b5061041f61083b366004613b0e565b6115ff565b34801561084c57600080fd5b506103ba611619565b34801561086157600080fd5b50610390610870366004613a8e565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156108bb57600080fd5b5061041f6108ca366004613b61565b61164b565b3480156108db57600080fd5b5061041f6108ea366004613b9d565b6116a1565b3480156108fb57600080fd5b5061041f61090a366004613bfe565b6116bd565b34801561091b57600080fd5b5061041f61092a366004613a73565b611796565b61094261093d366004613c40565b611841565b60405161039c9190613cb7565b34801561095b57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610390565b61041f6109ac366004613d3a565b611860565b3480156109bd57600080fd5b506103ba6109cc366004613941565b6118b4565b3480156109dd57600080fd5b5061041f6109ec366004613bfe565b611975565b3480156109fd57600080fd5b506103ba610a0c366004613941565b611a22565b348015610a1d57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166103e7565b348015610a6757600080fd5b5061041f610a76366004613bfe565b611d30565b348015610a8757600080fd5b5061041f611e73565b348015610a9c57600080fd5b506106a8610aab366004613a8e565b611f04565b348015610abc57600080fd5b506103ba611fe2565b348015610ad157600080fd5b5061066d610ae0366004613941565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610b2157600080fd5b50610390610b30366004613d8c565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610b5757600080fd5b5061041f610b66366004613db6565b61220b565b348015610b7757600080fd5b506103ba6123d3565b61041f610b8e366004613a73565b6123fb565b61041f610ba1366004613a73565b612438565b348015610bb257600080fd5b506104fc610bc1366004613a73565b63389a75e1600c908152600091909152602090205490565b348015610be557600080fd5b5061041f610bf4366004613a73565b61245f565b6000610c04826125c8565b80610c135750610c13826125ff565b80610c225750610c2282612675565b80610c315750610c31826126d1565b80610c405750610c40826126fe565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610c7590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca190613df2565b8015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610d425763ceea21b66000526004601cfd5b6001015492915050565b610d573383836127ea565b5050565b610d636128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610df9576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e14838583613ebb565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610e4792919061401e565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610e938383836128d6565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f075767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f35576030600c2054610f3557634b6e7f186000526004601cfd5b8215610f4357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff81168402610fa45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4610fd98383836128e1565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610c6a565b61105e6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156110f4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610c6a565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836111eb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6112326128a0565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b6112cc838383610e88565b813b15610fd957610fd9838383604051806020016040528060008152506128ec565b6112f66128a0565b610d578282612978565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061138290613df2565b80601f01602080910402602001604051908101604052809291908181526020018280546113ae90613df2565b80156113fb5780601f106113d0576101008083540402835291602001916113fb565b820191906000526020600020905b8154815290600101906020018083116113de57829003601f168201915b505050505090509250925050915091565b6114146128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806114f85763ceea21b66000526004601cfd5b919050565b6115056128a0565b611510816000612a6b565b50565b60008161152857638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61156b6128a0565b6115756000612b35565b565b61157f6128a0565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6116076128a0565b61161384848484612b9b565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610c7590613df2565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6116a96128a0565b6116b68585858585612cc7565b5050505050565b6116c56128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561175b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611767838583613ebb565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61179e6128a0565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611812576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156118375761183782612e07565b610d578183612e58565b6060341561184e57600080fd5b610c4061185b8484612ed5565b612f6c565b61186b858585610e88565b833b156116b6576116b685858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128ec92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906118f090613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461191c90613df2565b80156119695780601f1061193e57610100808354040283529160200191611969565b820191906000526020600020905b81548152906001019060200180831161194c57829003601f168201915b50505050509050919050565b61197d6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a13576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611767838583613ebb565b6060611a618260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611a97576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611bba5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611b6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611bb39190810190614032565b9392505050565b600083815260028201602052604081208054611bd590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0190613df2565b8015611c4e5780601f10611c2357610100808354040283529160200191611c4e565b820191906000526020600020905b815481529060010190602001808311611c3157829003601f168201915b505050505090508051600014611c65579392505050565b81548290611c7290613df2565b9050600003611c9257505060408051602081019091526000815292915050565b611d28826000018054611ca490613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611cd090613df2565b8015611d1d5780601f10611cf257610100808354040283529160200191611d1d565b820191906000526020600020905b815481529060010190602001808311611d0057829003601f168201915b505050505085612f7d565b949350505050565b611d386128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611dce576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611dda838583613ebb565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051611e0c92919061401e565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b611e7b6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190611f5590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8190613df2565b8015611fce5780601f10611fa357610100808354040283529160200191611fce565b820191906000526020600020905b815481529060010190602001808311611fb157829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156120fe5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156120b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526120f89190810190614032565b91505090565b80600101805461210d90613df2565b1590506121a75780600101805461212390613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461214f90613df2565b801561219c5780601f106121715761010080835404028352916020019161219c565b820191906000526020600020905b81548152906001019060200180831161217f57829003601f168201915b505050505091505090565b805481906121b490613df2565b90506000036121d157505060408051602081019091526000815290565b806121db46612fc5565b6121e430613027565b6040516020016121f693929190614140565b60405160208183030381529060405291505090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561225d5760018160011c14303b106122545763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061227361226e6020840184613a73565b613069565b6122986122836080840184614245565b61229360c0860160a08701613a73565b6130cd565b6122ba6122a86040840184614245565b6122b56060860186614245565b613145565b6122c2613182565b6122ee6122d761012084016101008501613a73565b6122e9610140850161012086016142aa565b6131b8565b61230861230361016084016101408501613a73565b6131e3565b61232e600061231b6101608501856142c5565b6123296101808701876142c5565b613293565b61235461233e60c0840184614245565b61234f610100860160e08701613a73565b6133d1565b60006123666040840160208501613a73565b73ffffffffffffffffffffffffffffffffffffffff161461239b5761239b6123946040840160208501613a73565b6000612a6b565b8015610d57576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70061163d565b6124036128a0565b63389a75e1600c52806000526020600c20805442111561242b57636f5e88186000526004601cfd5b6000905561151081612b35565b6124406128a0565b8060601b61245657637448fbae6000526004601cfd5b61151081612b35565b6124676128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156124fd576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b60006125d382613470565b80610c405750610c40826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612627826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610c405750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061268082613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b60006126dc82613470565b80610c405750632a55205a60e083901c9081146301ffc9a79190911417610c40565b600061270982613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c0000000000000000000000000000000000000000000000000000000014806127a057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610c4057507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816128465763ceea21b66000526004601cfd5b81851485151761286c57816000526030600c205461286c57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611575576382b429006000526004601cfd5b610fd9838383613508565b610fd983838361364a565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612933578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612956573d15612956573d6000843e3d83fd5b508060e01b8251146129705763d1a57ed66000526004601cfd5b505050505050565b6103e861ffff821611156129b8576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612a11576129d6600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612a1f828261ffff166136e7565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612a05565b612a77600083836128d6565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612aca5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612aff5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610d57600083836128e1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612c25576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612c60576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101612c82848683613ebb565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051612cb79392919061432d565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612d5c576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612d97576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101612dc0848683613ebb565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051612df69392919061432d565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003611510576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101611e66565b600060405190506020815281816020015280604001808360051b808684378201808515612f54575b835187018035602082018337600038823584305af4612f1f573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410612efd575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082612f8946612fc5565b612f9230613027565b612f9b85612fc5565b604051602001612fae9493929190614347565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480612fe05750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061303282613737565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200806130fa848683613ebb565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613172858783613ebb565b5060018101612970838583613ebb565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6112f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016137c4565b73ffffffffffffffffffffffffffffffffffffffff81166132015750565b61320a81612e07565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556118377f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016137c4565b61329b613853565b60005b838110156133365761332e868686848181106132bc576132bc614421565b90506020028101906132ce9190614450565b358787858181106132e1576132e1614421565b90506020028101906132f39190614450565b6020013588888681811061330957613309614421565b905060200281019061331b9190614450565b613329906040810190614245565b612cc7565b60010161329e565b5060005b81811015612970576133c983838381811061335757613357614421565b90506020028101906133699190614450565b3584848481811061337c5761337c614421565b905060200281019061338e9190614450565b602001358585858181106133a4576133a4614421565b90506020028101906133b69190614450565b6133c4906040810190614245565b612b9b565b60010161333a565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806133fe848683613ebb565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061354b5750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580613582575073ffffffffffffffffffffffffffffffffffffffff8316155b1561358d5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036135b05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561362c57600080fd5b505afa158015613640573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661369d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144bd565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216610fd9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144f5565b6bffffffffffffffffffffffff166127108082111561370e5763350a88b36000526004601cfd5b8260601b806137255763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613777575050919050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612a05565b6115757f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016137c4565b60006020828403121561389057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb357600080fd5b60005b838110156138db5781810151838201526020016138c3565b50506000910152565b600081518084526138fc8160208601602086016138c0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bb360208301846138e4565b60006020828403121561395357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146114f857600080fd5b6000806040838503121561399157600080fd5b61399a8361395a565b946020939093013593505050565b60008083601f8401126139ba57600080fd5b50813567ffffffffffffffff8111156139d257600080fd5b602083019150836020828501011115611fdb57600080fd5b6000806000604084860312156139ff57600080fd5b83359250602084013567ffffffffffffffff811115613a1d57600080fd5b613a29868287016139a8565b9497909650939450505050565b600080600060608486031215613a4b57600080fd5b613a548461395a565b9250613a626020850161395a565b929592945050506040919091013590565b600060208284031215613a8557600080fd5b611bb38261395a565b60008060408385031215613aa157600080fd5b50508035926020909101359150565b803561ffff811681146114f857600080fd5b60008060408385031215613ad557600080fd5b613ade8361395a565b9150613aec60208401613ab0565b90509250929050565b828152604060208201526000611d2860408301846138e4565b60008060008060608587031215613b2457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613b4957600080fd5b613b55878288016139a8565b95989497509550505050565b60008060408385031215613b7457600080fd5b613b7d8361395a565b915060208301358015158114613b9257600080fd5b809150509250929050565b600080600080600060808688031215613bb557600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b613bed888289016139a8565b969995985093965092949392505050565b60008060208385031215613c1157600080fd5b823567ffffffffffffffff811115613c2857600080fd5b613c34858286016139a8565b90969095509350505050565b60008060208385031215613c5357600080fd5b823567ffffffffffffffff811115613c6a57600080fd5b8301601f81018513613c7b57600080fd5b803567ffffffffffffffff811115613c9257600080fd5b8560208260051b8401011115613ca757600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015613d2e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452613d198583516138e4565b94506020938401939190910190600101613cdf565b50929695505050505050565b600080600080600060808688031215613d5257600080fd5b613d5b8661395a565b9450613d696020870161395a565b935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b60008060408385031215613d9f57600080fd5b613da88361395a565b9150613aec6020840161395a565b600060208284031215613dc857600080fd5b813567ffffffffffffffff811115613ddf57600080fd5b82016101a08185031215611bb357600080fd5b600181811c90821680613e0657607f821691505b602082108103613e3f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610fd957806000526020600020601f840160051c81016020851015613e9b5750805b601f840160051c820191505b818110156116b65760008155600101613ea7565b67ffffffffffffffff831115613ed357613ed3613e45565b613ee783613ee18354613df2565b83613e74565b6000601f841160018114613f395760008515613f035750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556116b6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613f885786850135825560209485019460019092019101613f68565b5086821015613fc3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611d28602083018486613fd5565b60006020828403121561404457600080fd5b815167ffffffffffffffff81111561405b57600080fd5b8201601f8101841361406c57600080fd5b805167ffffffffffffffff81111561408657614086613e45565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156140f2576140f2613e45565b60405281815282820160200186101561410a57600080fd5b61411b8260208301602086016138c0565b95945050505050565b600081516141368185602086016138c0565b9290920192915050565b600080855461414e81613df2565b6001821680156141655760018114614198576141c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00831686528115158202860193506141c8565b88600052602060002060005b838110156141c0578154888201526001909101906020016141a4565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516142018160018401602089016138c0565b0161422e600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61423b6002820185614124565b9695505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261427a57600080fd5b83018035915067ffffffffffffffff82111561429557600080fd5b602001915036819003821315611fdb57600080fd5b6000602082840312156142bc57600080fd5b611bb382613ab0565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126142fa57600080fd5b83018035915067ffffffffffffffff82111561431557600080fd5b6020019150600581901b3603821315611fdb57600080fd5b83815260406020820152600061411b604083018486613fd5565b60008551614359818460208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551614393816001840160208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516143d18160028401602089016138c0565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516144138160028401602088016138c0565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261448457600080fd5b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036144ee576144ee61448e565b5060010190565b6000816145045761450461448e565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220fb52b27f8fb4c9e8c35f98f10c5a6b19a99d839f8a721e0c4c157aec2c2863c264736f6c634300081c0033";
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": "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": "transferValidator", "type": "address", "internalType": "address" }, { "name": "tokenFields", "type": "tuple[]", "internalType": "struct OnChainMetadata.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 OnChainMetadata.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": "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": "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": "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": "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": "ContractURIConfigLocked", "inputs": [] }, { "type": "error", "name": "EmptyFieldValue", "inputs": [] }, { "type": "error", "name": "FieldLocked", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "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": "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 = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6145608061008d6000396000f3fe60806040526004361061036b5760003560e01c80638da5cb5b116101c6578063c87b56dd116100f7578063e985e9c511610095578063f04e283e1161006f578063f04e283e14610b80578063f2fde38b14610b93578063fee81cf414610ba6578063ff87a5f514610bd957600080fd5b8063e985e9c514610b15578063ec49db7214610b4b578063ee748f2c14610b6b57600080fd5b8063e1c2ffad116100d1578063e1c2ffad14610a7b578063e4df18ec14610a90578063e8a3d48514610ab0578063e8dc3e0914610ac557600080fd5b8063c87b56dd146109f1578063d50bac3314610a11578063da2bbfc714610a5b57600080fd5b8063a8cdf07811610164578063ac998f451161013e578063ac998f451461094f578063b88d4fde1461099e578063bb77e796146109b1578063c3e617a2146109d157600080fd5b8063a8cdf078146108ef578063a9fc664e1461090f578063ac9650d81461092f57600080fd5b806395d89b41116101a057806395d89b4114610840578063a148d8cf14610855578063a22cb465146108af578063a482c946146108cf57600080fd5b80638da5cb5b146107cc5780638e08141f14610800578063913b385a1461082057600080fd5b80632e73cddb116102a05780635a50ca651161023e5780636a627842116102185780636a6278421461073557806370a0823114610755578063715018a614610775578063738e14961461077d57600080fd5b80635a50ca65146106b65780635e5a9e30146107005780636352211e1461071557600080fd5b80634331f6391161027a5780634331f6391461063d5780634aa3adb31461065d57806354d1f13d1461068057806355828c501461068857600080fd5b80632e73cddb146105bb5780633dda44b01461060a57806342842e0e1461062a57600080fd5b806318160ddd1161030d578063261220a3116102e7578063261220a31461052557806326dfe8c71461053a578063298bb40e1461055a5780632a55205a1461056f57600080fd5b806318160ddd146104cc57806323b872dd1461050a578063256929621461051d57600080fd5b8063095ea7b311610349578063095ea7b31461040c578063098144d4146104215780630d705df61461046b5780631622326a146104ac57600080fd5b806301ffc9a71461037057806306fdde03146103a5578063081812fc146103c7575b600080fd5b34801561037c57600080fd5b5061039061038b36600461387e565b610bf9565b60405190151581526020015b60405180910390f35b3480156103b157600080fd5b506103ba610c46565b60405161039c919061392e565b3480156103d357600080fd5b506103e76103e2366004613941565b610cf8565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161039c565b61041f61041a36600461397e565b610d4c565b005b34801561042d57600080fd5b507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561047757600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161039c565b3480156104b857600080fd5b5061041f6104c73660046139ea565b610d5b565b3480156104d857600080fd5b507f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000545b60405190815260200161039c565b61041f610518366004613a36565b610e88565b61041f610fde565b34801561053157600080fd5b506103ba61102e565b34801561054657600080fd5b5061041f610555366004613a73565b611056565b34801561056657600080fd5b506103ba61118f565b34801561057b57600080fd5b5061058f61058a366004613a8e565b6111b7565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161039c565b3480156105c757600080fd5b506103906105d6366004613941565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b34801561061657600080fd5b5061041f610625366004613a8e565b61122a565b61041f610638366004613a36565b6112c1565b34801561064957600080fd5b5061041f610658366004613ac2565b6112ee565b34801561066957600080fd5b5060015b60405161ffff909116815260200161039c565b61041f611300565b34801561069457600080fd5b506106a86106a3366004613941565b61133c565b60405161039c929190613af5565b3480156106c257600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff166103e7565b34801561070c57600080fd5b5061041f61140c565b34801561072157600080fd5b506103e7610730366004613941565b61149d565b34801561074157600080fd5b5061041f610750366004613a73565b6114fd565b34801561076157600080fd5b506104fc610770366004613a73565b611513565b61041f611563565b34801561078957600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff16610390565b3480156107d857600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546103e7565b34801561080c57600080fd5b5061041f61081b366004613941565b611577565b34801561082c57600080fd5b5061041f61083b366004613b0e565b6115ff565b34801561084c57600080fd5b506103ba611619565b34801561086157600080fd5b50610390610870366004613a8e565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156108bb57600080fd5b5061041f6108ca366004613b61565b61164b565b3480156108db57600080fd5b5061041f6108ea366004613b9d565b6116a1565b3480156108fb57600080fd5b5061041f61090a366004613bfe565b6116bd565b34801561091b57600080fd5b5061041f61092a366004613a73565b611796565b61094261093d366004613c40565b611841565b60405161039c9190613cb7565b34801561095b57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff16610390565b61041f6109ac366004613d3a565b611860565b3480156109bd57600080fd5b506103ba6109cc366004613941565b6118b4565b3480156109dd57600080fd5b5061041f6109ec366004613bfe565b611975565b3480156109fd57600080fd5b506103ba610a0c366004613941565b611a22565b348015610a1d57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff166103e7565b348015610a6757600080fd5b5061041f610a76366004613bfe565b611d30565b348015610a8757600080fd5b5061041f611e73565b348015610a9c57600080fd5b506106a8610aab366004613a8e565b611f04565b348015610abc57600080fd5b506103ba611fe2565b348015610ad157600080fd5b5061066d610ae0366004613941565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610b2157600080fd5b50610390610b30366004613d8c565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610b5757600080fd5b5061041f610b66366004613db6565b61220b565b348015610b7757600080fd5b506103ba6123d3565b61041f610b8e366004613a73565b6123fb565b61041f610ba1366004613a73565b612438565b348015610bb257600080fd5b506104fc610bc1366004613a73565b63389a75e1600c908152600091909152602090205490565b348015610be557600080fd5b5061041f610bf4366004613a73565b61245f565b6000610c04826125c8565b80610c135750610c13826125ff565b80610c225750610c2282612675565b80610c315750610c31826126d1565b80610c405750610c40826126fe565b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610c7590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca190613df2565b8015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b5050505050905090565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610d425763ceea21b66000526004601cfd5b6001015492915050565b610d573383836127ea565b5050565b610d636128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615610df9576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526002820160205260409020610e14838583613ebb565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b85478484604051610e4792919061401e565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b610e938383836128d6565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff9485169493841693811691908286148302610f075767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417610f35576030600c2054610f3557634b6e7f186000526004601cfd5b8215610f4357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff81168402610fa45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4610fd98383836128e1565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610c6a565b61105e6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156110f4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610c6a565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836111eb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6112326128a0565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b6112cc838383610e88565b813b15610fd957610fd9838383604051806020016040528060008152506128ec565b6112f66128a0565b610d578282612978565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061138290613df2565b80601f01602080910402602001604051908101604052809291908181526020018280546113ae90613df2565b80156113fb5780601f106113d0576101008083540402835291602001916113fb565b820191906000526020600020905b8154815290600101906020018083116113de57829003601f168201915b505050505090509250925050915091565b6114146128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff16806114f85763ceea21b66000526004601cfd5b919050565b6115056128a0565b611510816000612a6b565b50565b60008161152857638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b61156b6128a0565b6115756000612b35565b565b61157f6128a0565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b6116076128a0565b61161384848484612b9b565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610c7590613df2565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b6116a96128a0565b6116b68585858585612cc7565b5050505050565b6116c56128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff161561175b576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611767838583613ebb565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b61179e6128a0565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611812576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156118375761183782612e07565b610d578183612e58565b6060341561184e57600080fd5b610c4061185b8484612ed5565b612f6c565b61186b858585610e88565b833b156116b6576116b685858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128ec92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238202602052604090208054606091906118f090613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461191c90613df2565b80156119695780601f1061193e57610100808354040283529160200191611969565b820191906000526020600020905b81548152906001019060200180831161194c57829003601f168201915b50505050509050919050565b61197d6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611a13576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611767838583613ebb565b6060611a618260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b611a97576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff1615611bba5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa158015611b6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611bb39190810190614032565b9392505050565b600083815260028201602052604081208054611bd590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0190613df2565b8015611c4e5780601f10611c2357610100808354040283529160200191611c4e565b820191906000526020600020905b815481529060010190602001808311611c3157829003601f168201915b505050505090508051600014611c65579392505050565b81548290611c7290613df2565b9050600003611c9257505060408051602081019091526000815292915050565b611d28826000018054611ca490613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611cd090613df2565b8015611d1d5780601f10611cf257610100808354040283529160200191611d1d565b820191906000526020600020905b815481529060010190602001808311611d0057829003601f168201915b505050505085612f7d565b949350505050565b611d386128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611dce576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611dda838583613ebb565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051611e0c92919061401e565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b611e7b6128a0565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450060209081526040808320848452909152812080546001820180546060939291908190611f5590613df2565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8190613df2565b8015611fce5780601f10611fa357610100808354040283529160200191611fce565b820191906000526020600020905b815481529060010190602001808311611fb157829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156120fe5760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa1580156120b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526120f89190810190614032565b91505090565b80600101805461210d90613df2565b1590506121a75780600101805461212390613df2565b80601f016020809104026020016040519081016040528092919081815260200182805461214f90613df2565b801561219c5780601f106121715761010080835404028352916020019161219c565b820191906000526020600020905b81548152906001019060200180831161217f57829003601f168201915b505050505091505090565b805481906121b490613df2565b90506000036121d157505060408051602081019091526000815290565b806121db46612fc5565b6121e430613027565b6040516020016121f693929190614140565b60405160208183030381529060405291505090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561225d5760018160011c14303b106122545763f92ee8a96000526004601cfd5b818160ff1b1b91505b5061227361226e6020840184613a73565b613069565b6122986122836080840184614245565b61229360c0860160a08701613a73565b6130cd565b6122ba6122a86040840184614245565b6122b56060860186614245565b613145565b6122c2613182565b6122ee6122d761012084016101008501613a73565b6122e9610140850161012086016142aa565b6131b8565b61230861230361016084016101408501613a73565b6131e3565b61232e600061231b6101608501856142c5565b6123296101808701876142c5565b613293565b61235461233e60c0840184614245565b61234f610100860160e08701613a73565b6133d1565b60006123666040840160208501613a73565b73ffffffffffffffffffffffffffffffffffffffff161461239b5761239b6123946040840160208501613a73565b6000612a6b565b8015610d57576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70061163d565b6124036128a0565b63389a75e1600c52806000526020600c20805442111561242b57636f5e88186000526004601cfd5b6000905561151081612b35565b6124406128a0565b8060601b61245657637448fbae6000526004601cfd5b61151081612b35565b6124676128a0565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff16156124fd576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050565b60006125d382613470565b80610c405750610c40826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612627826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610c405750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b600061268082613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b60006126dc82613470565b80610c405750632a55205a60e083901c9081146301ffc9a79190911417610c40565b600061270982613470565b80610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c0000000000000000000000000000000000000000000000000000000014806127a057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610c4057507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816128465763ceea21b66000526004601cfd5b81851485151761286c57816000526030600c205461286c57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611575576382b429006000526004601cfd5b610fd9838383613508565b610fd983838361364a565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015612933578060c08401826020870160045afa505b60208360a48301601c860160008a5af1612956573d15612956573d6000843e3d83fd5b508060e01b8251146129705763d1a57ed66000526004601cfd5b505050505050565b6103e861ffff821611156129b8576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff16600003612a11576129d6600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b612a1f828261ffff166136e7565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d90602001612a05565b612a77600083836128d6565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b15612aca5763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402612aff5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610d57600083836128e1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612c25576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612c60576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101612c82848683613ebb565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051612cb79392919061432d565b60405180910390a2505050505050565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615612d5c576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612d97576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101612dc0848683613ebb565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051612df69392919061432d565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003611510576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101611e66565b600060405190506020815281816020015280604001808360051b808684378201808515612f54575b835187018035602082018337600038823584305af4612f1f573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410612efd575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082612f8946612fc5565b612f9230613027565b612f9b85612fc5565b604051602001612fae9493929190614347565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480612fe05750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b606061303282613737565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200806130fa848683613ebb565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613172858783613ebb565b5060018101612970838583613ebb565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6112f67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016137c4565b73ffffffffffffffffffffffffffffffffffffffff81166132015750565b61320a81612e07565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001781556118377f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016137c4565b61329b613853565b60005b838110156133365761332e868686848181106132bc576132bc614421565b90506020028101906132ce9190614450565b358787858181106132e1576132e1614421565b90506020028101906132f39190614450565b6020013588888681811061330957613309614421565b905060200281019061331b9190614450565b613329906040810190614245565b612cc7565b60010161329e565b5060005b81811015612970576133c983838381811061335757613357614421565b90506020028101906133699190614450565b3584848481811061337c5761337c614421565b905060200281019061338e9190614450565b602001358585858181106133a4576133a4614421565b90506020028101906133b69190614450565b6133c4906040810190614245565b612b9b565b60010161333a565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806133fe848683613ebb565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610c4057507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff168061354b5750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580613582575073ffffffffffffffffffffffffffffffffffffffff8316155b1561358d5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036135b05750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561362c57600080fd5b505afa158015613640573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661369d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144bd565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff8216610fd9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090613694906144f5565b6bffffffffffffffffffffffff166127108082111561370e5763350a88b36000526004601cfd5b8260601b806137255763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01613777575050919050565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d5819101612a05565b6115757f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016137c4565b60006020828403121561389057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb357600080fd5b60005b838110156138db5781810151838201526020016138c3565b50506000910152565b600081518084526138fc8160208601602086016138c0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bb360208301846138e4565b60006020828403121561395357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146114f857600080fd5b6000806040838503121561399157600080fd5b61399a8361395a565b946020939093013593505050565b60008083601f8401126139ba57600080fd5b50813567ffffffffffffffff8111156139d257600080fd5b602083019150836020828501011115611fdb57600080fd5b6000806000604084860312156139ff57600080fd5b83359250602084013567ffffffffffffffff811115613a1d57600080fd5b613a29868287016139a8565b9497909650939450505050565b600080600060608486031215613a4b57600080fd5b613a548461395a565b9250613a626020850161395a565b929592945050506040919091013590565b600060208284031215613a8557600080fd5b611bb38261395a565b60008060408385031215613aa157600080fd5b50508035926020909101359150565b803561ffff811681146114f857600080fd5b60008060408385031215613ad557600080fd5b613ade8361395a565b9150613aec60208401613ab0565b90509250929050565b828152604060208201526000611d2860408301846138e4565b60008060008060608587031215613b2457600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613b4957600080fd5b613b55878288016139a8565b95989497509550505050565b60008060408385031215613b7457600080fd5b613b7d8361395a565b915060208301358015158114613b9257600080fd5b809150509250929050565b600080600080600060808688031215613bb557600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b613bed888289016139a8565b969995985093965092949392505050565b60008060208385031215613c1157600080fd5b823567ffffffffffffffff811115613c2857600080fd5b613c34858286016139a8565b90969095509350505050565b60008060208385031215613c5357600080fd5b823567ffffffffffffffff811115613c6a57600080fd5b8301601f81018513613c7b57600080fd5b803567ffffffffffffffff811115613c9257600080fd5b8560208260051b8401011115613ca757600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015613d2e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452613d198583516138e4565b94506020938401939190910190600101613cdf565b50929695505050505050565b600080600080600060808688031215613d5257600080fd5b613d5b8661395a565b9450613d696020870161395a565b935060408601359250606086013567ffffffffffffffff811115613be157600080fd5b60008060408385031215613d9f57600080fd5b613da88361395a565b9150613aec6020840161395a565b600060208284031215613dc857600080fd5b813567ffffffffffffffff811115613ddf57600080fd5b82016101a08185031215611bb357600080fd5b600181811c90821680613e0657607f821691505b602082108103613e3f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115610fd957806000526020600020601f840160051c81016020851015613e9b5750805b601f840160051c820191505b818110156116b65760008155600101613ea7565b67ffffffffffffffff831115613ed357613ed3613e45565b613ee783613ee18354613df2565b83613e74565b6000601f841160018114613f395760008515613f035750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556116b6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613f885786850135825560209485019460019092019101613f68565b5086821015613fc3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000611d28602083018486613fd5565b60006020828403121561404457600080fd5b815167ffffffffffffffff81111561405b57600080fd5b8201601f8101841361406c57600080fd5b805167ffffffffffffffff81111561408657614086613e45565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156140f2576140f2613e45565b60405281815282820160200186101561410a57600080fd5b61411b8260208301602086016138c0565b95945050505050565b600081516141368185602086016138c0565b9290920192915050565b600080855461414e81613df2565b6001821680156141655760018114614198576141c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00831686528115158202860193506141c8565b88600052602060002060005b838110156141c0578154888201526001909101906020016141a4565b505081860193505b5050507f2f00000000000000000000000000000000000000000000000000000000000000815284516142018160018401602089016138c0565b0161422e600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b61423b6002820185614124565b9695505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261427a57600080fd5b83018035915067ffffffffffffffff82111561429557600080fd5b602001915036819003821315611fdb57600080fd5b6000602082840312156142bc57600080fd5b611bb382613ab0565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126142fa57600080fd5b83018035915067ffffffffffffffff82111561431557600080fd5b6020019150600581901b3603821315611fdb57600080fd5b83815260406020820152600061411b604083018486613fd5565b60008551614359818460208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000009083019081528551614393816001840160208a016138c0565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516143d18160028401602089016138c0565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516144138160028401602088016138c0565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261448457600080fd5b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036144ee576144ee61448e565b5060010190565b6000816145045761450461448e565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220fb52b27f8fb4c9e8c35f98f10c5a6b19a99d839f8a721e0c4c157aec2c2863c264736f6c634300081c0033";
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": "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 OnChainMetadata.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 OnChainMetadata.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": "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 OnChainMetadata.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 OnChainMetadata.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 = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61525c80610cb083390190565b608051610c2261008e6000396000818160ae015281816101300152818161016c015281816101a401526103900152610c226000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80635c857b3e116100505780635c857b3e146100d0578063801eff7f14610103578063cbe70eb71461011657600080fd5b80635414dff01461006c5780635c60da1b146100a9575b600080fd5b61007f61007a3660046104e7565b610129565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b6100f36100de366004610524565b60006020819052908152604090205460ff1681565b60405190151581526020016100a0565b61007f610111366004610558565b61015c565b61007f61012436600461059d565b61019d565b60006101567f000000000000000000000000000000000000000000000000000000000000000083306101d9565b92915050565b600061016782610236565b6101917f00000000000000000000000000000000000000000000000000000000000000008361029b565b905061015681846102b0565b60006101c87f000000000000000000000000000000000000000000000000000000000000000061040c565b90506101d481836102b0565b919050565b6000806102208560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061022d818585610419565b95945050505050565b606081901c8015801590610260575073ffffffffffffffffffffffffffffffffffffffff81163314155b15610297576040517fc61a579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006102a96000848461043b565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f249c3b0400000000000000000000000000000000000000000000000000000000815263249c3b04906103389084906004016108b9565b600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b50610378925050506020820182610524565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b6000610156600083610492565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806104865763301164256000526004601cfd5b60006021529392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f09050806104dc5763301164256000526004601cfd5b600060215292915050565b6000602082840312156104f957600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d457600080fd5b60006020828403121561053657600080fd5b6102a982610500565b6000610240828403121561055257600080fd5b50919050565b6000806040838503121561056b57600080fd5b823567ffffffffffffffff81111561058257600080fd5b61058e8582860161053f565b95602094909401359450505050565b6000602082840312156105af57600080fd5b813567ffffffffffffffff8111156105c657600080fd5b6105d28482850161053f565b949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261060f57600080fd5b830160208101925035905067ffffffffffffffff81111561062f57600080fd5b80360382131561063e57600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b803561ffff811681146101d457600080fd5b803580151581146101d457600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126106e557600080fd5b830160208101925035905067ffffffffffffffff81111561070557600080fd5b8060051b360382131561063e57600080fd5b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8187360301811261079157600080fd5b86018035845260208082013590850152604080820135908501526107b860608201826105da565b9150608060608601526107cf608086018383610645565b60209a8b019a90955093909301925050600101610730565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b868110156107e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084840301885281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa187360301811261086d57600080fd5b8601803584526020808201359085015261088a60408201826105da565b9150606060408601526108a1606086018383610645565b60209a8b019a9095509390930192505060010161080c565b602081526108e7602082016108cd84610500565b73ffffffffffffffffffffffffffffffffffffffff169052565b60006108f660208401846105da565b610240604085015261090d61026085018284610645565b91505061091d60408501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016060860152610952838284610645565b9250505061096360608501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403016080860152610998838284610645565b925050506109a860808501610500565b73ffffffffffffffffffffffffffffffffffffffff811660a0850152506109d260a08501856105da565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08584030160c0860152610a07838284610645565b92505050610a1760c08501610500565b73ffffffffffffffffffffffffffffffffffffffff811660e085015250610a4060e08501610500565b73ffffffffffffffffffffffffffffffffffffffff811661010085015250610a6b610100850161068e565b61ffff811661012085015250610a846101208501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101408501525061014084013561016084810191909152610abd908501610500565b73ffffffffffffffffffffffffffffffffffffffff811661018085015250610ae86101808501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101a085015250610b136101a085016106a0565b8015156101c085015250610b2a6101c08501610500565b73ffffffffffffffffffffffffffffffffffffffff81166101e0850152506101e084013561020084810191909152610b64908501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610220860152610b9a838284610717565b92505050610bac6102208501856106b0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301610240860152610be28382846107f3565b969550505050505056fea2646970667358221220f0cc16307511289a9e970eba9729c7ef4358defcbefd52b3fd6703521dc3db4464736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151cf8061008d6000396000f3fe6080604052600436106103f95760003560e01c8063738e14961161020d578063c3e617a211610128578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610cef578063fee81cf414610d0f578063ff87a5f514610d4257600080fd5b8063f04e283e14610cc9578063f2fde38b14610cdc57600080fd5b8063e8a3d48514610c19578063e8dc3e0914610c2e578063e985e9c514610c7e578063ee748f2c14610cb457600080fd5b8063da2bbfc7116100f7578063da2bbfc714610ba4578063e1c2ffad14610bc4578063e2969ba714610bd9578063e4df18ec14610bf957600080fd5b8063c3e617a214610b05578063c87b56dd14610b25578063d50bac3314610b45578063d8b4f8ac14610b8f57600080fd5b8063a22cb465116101a0578063ac9650d81161016f578063ac9650d814610a63578063ac998f4514610a83578063b88d4fde14610ad2578063bb77e79614610ae557600080fd5b8063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a23578063a9fc664e14610a4357600080fd5b8063913b385a116101dc578063913b385a1461093457806395d89b411461095457806397e950f714610969578063a148d8cf1461098957600080fd5b8063738e14961461087c57806375794a3c146108cb5780638da5cb5b146108e05780638e08141f1461091457600080fd5b80632a55205a116103185780635a50ca65116102ab5780636352211e1161027a5780636cbdef611161025f5780636cbdef611461083f57806370a0823114610854578063715018a61461087457600080fd5b80636352211e146107ff5780636a6278421461081f57600080fd5b80635a50ca65146107495780635c975abb146107935780635e5a9e30146107ca5780635e830656146107df57600080fd5b80634331f639116102e75780634331f639146106d05780634aa3adb3146106f057806354d1f13d1461071357806355828c501461071b57600080fd5b80632a55205a146106025780632e73cddb1461064e5780633dda44b01461069d57806342842e0e146106bd57600080fd5b806316c38b3c11610390578063256929621161035f57806325692962146105b0578063261220a3146105b857806326dfe8c7146105cd578063298bb40e146105ed57600080fd5b806316c38b3c1461053a57806318160ddd1461055a57806323b872dd1461057d578063249c3b041461059057600080fd5b8063095ea7b3116103cc578063095ea7b3146104af578063098144d4146104c45780630d705df6146104d95780631622326a1461051a57600080fd5b806301ffc9a7146103fe57806306fdde03146104335780630754617214610455578063081812fc1461048f575b600080fd5b34801561040a57600080fd5b5061041e6104193660046144a0565b610d62565b60405190151581526020015b60405180910390f35b34801561043f57600080fd5b50610448610e37565b60405161042a9190614550565b34801561046157600080fd5b5061046a610ee9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161042a565b34801561049b57600080fd5b5061046a6104aa366004614563565b610f29565b6104c26104bd3660046145a0565b610f7d565b005b3480156104d057600080fd5b5061046a610f8c565b3480156104e557600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161042a565b34801561052657600080fd5b506104c261053536600461460c565b610fb4565b34801561054657600080fd5b506104c2610555366004614668565b6110e1565b34801561056657600080fd5b5061056f61116e565b60405190815260200161042a565b6104c261058b366004614683565b611198565b34801561059c57600080fd5b506104c26105ab3660046146c0565b6112ee565b6104c26115ae565b3480156105c457600080fd5b506104486115fe565b3480156105d957600080fd5b506104c26105e83660046146fc565b611626565b3480156105f957600080fd5b5061044861175f565b34801561060e57600080fd5b5061062261061d366004614717565b611787565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161042a565b34801561065a57600080fd5b5061041e610669366004614563565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156106a957600080fd5b506104c26106b8366004614717565b6117fa565b6104c26106cb366004614683565b611891565b3480156106dc57600080fd5b506104c26106eb36600461474b565b6118be565b3480156106fc57600080fd5b5060015b60405161ffff909116815260200161042a565b6104c26118d0565b34801561072757600080fd5b5061073b610736366004614563565b61190c565b60405161042a92919061477e565b34801561075557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff1661046a565b34801561079f57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661041e565b3480156107d657600080fd5b506104c26119dc565b3480156107eb57600080fd5b506104c26107fa3660046145a0565b611a6d565b34801561080b57600080fd5b5061046a61081a366004614563565b611a92565b34801561082b57600080fd5b5061056f61083a3660046146fc565b611af2565b34801561084b57600080fd5b5061056f611b05565b34801561086057600080fd5b5061056f61086f3660046146fc565b611b2d565b6104c2611b7d565b34801561088857600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661041e565b3480156108d757600080fd5b5061056f611b91565b3480156108ec57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275461046a565b34801561092057600080fd5b506104c261092f366004614563565b611bb9565b34801561094057600080fd5b506104c261094f366004614797565b611c41565b34801561096057600080fd5b50610448611c5b565b34801561097557600080fd5b506104c2610984366004614563565b611c8d565b34801561099557600080fd5b5061041e6109a4366004614717565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156109ef57600080fd5b506104c26109fe3660046147ea565b611d6d565b348015610a0f57600080fd5b506104c2610a1e366004614814565b611dc3565b348015610a2f57600080fd5b506104c2610a3e366004614875565b611ddf565b348015610a4f57600080fd5b506104c2610a5e3660046146fc565b611eb8565b610a76610a713660046148b7565b611f63565b60405161042a919061492e565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661041e565b6104c2610ae03660046149b1565b611f82565b348015610af157600080fd5b50610448610b00366004614563565b611fd6565b348015610b1157600080fd5b506104c2610b20366004614875565b612097565b348015610b3157600080fd5b50610448610b40366004614563565b612144565b348015610b5157600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff1661046a565b348015610b9b57600080fd5b5061046a612452565b348015610bb057600080fd5b506104c2610bbf366004614875565b61247a565b348015610bd057600080fd5b506104c26125bd565b348015610be557600080fd5b506104c2610bf43660046146fc565b61264e565b348015610c0557600080fd5b5061073b610c14366004614717565b6126e8565b348015610c2557600080fd5b506104486127c6565b348015610c3a57600080fd5b50610700610c49366004614563565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610c8a57600080fd5b5061041e610c99366004614a03565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610cc057600080fd5b506104486129ef565b6104c2610cd73660046146fc565b612a17565b6104c2610cea3660046146fc565b612a57565b348015610cfb57600080fd5b506104c2610d0a3660046146fc565b612a7e565b348015610d1b57600080fd5b5061056f610d2a3660046146fc565b63389a75e1600c908152600091909152602090205490565b348015610d4e57600080fd5b506104c2610d5d3660046146fc565b612b18565b6000610d6d82612c7a565b80610d7c5750610d7c82612cb1565b80610d8b5750610d8b82612d27565b80610d9a5750610d9a82612d83565b80610da95750610da982612db0565b80610db85750610db882612e9c565b80610dc75750610dc782612ef8565b80610dd65750610dd682612f54565b80610de55750610de582612fb0565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610e6690614a2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9290614a2d565b8015610edf5780601f10610eb457610100808354040283529160200191610edf565b820191906000526020600020905b815481529060010190602001808311610ec257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610f735763ceea21b66000526004601cfd5b6001015492915050565b610f8833838361300c565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610f0d565b610fbc6130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611052576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600282016020526040902061106d838583614af6565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516110a0929190614c59565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6110e96130c2565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6111a38383836130f8565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112175767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611245576030600c205461124557634b6e7f186000526004601cfd5b821561125357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff811684026112b45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46112e9838383613103565b505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156113405760018160011c14303b106113375763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611380576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816101400135826101e0013511156113c4576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113d96113d460208401846146fc565b61310e565b6113fe6113e96060840184614c6d565b6113f960a08601608087016146fc565b613172565b61142061140e6020840184614c6d565b61141b6040860186614c6d565b6131ea565b61142861322f565b61145361143c610100840160e085016146fc565b61144e61012085016101008601614cd2565b613265565b61146d611468610140840161012085016146fc565b613290565b61147b826101400135613340565b6114956114906101a0840161018085016146fc565b6133be565b6114af6114aa610180840161016085016146fc565b61342c565b6114c96114c46101c084016101a08501614668565b61349a565b6114ed6114da610200840184614ced565b6114e8610220860186614ced565b613548565b6115126114fd60a0840184614c6d565b61150d60e0860160c087016146fc565b6136ad565b60006115266101e084016101c085016146fc565b73ffffffffffffffffffffffffffffffffffffffff16146115765760005b826101e001358110156115745761156b6115666101e085016101c086016146fc565b61374c565b50600101611544565b505b8015610f88576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610e5b565b61162e6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156116c4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610e5b565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836117bb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6118026130c2565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b61189c838383611198565b813b156112e9576112e9838383604051806020016040528060008152506137ac565b6118c66130c2565b610f888282613830565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061195290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461197e90614a2d565b80156119cb5780601f106119a0576101008083540402835291602001916119cb565b820191906000526020600020905b8154815290600101906020018083116119ae57829003601f168201915b505050505090509250925050915091565b6119e46130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611a75613923565b60005b818110156112e957611a898361374c565b50600101611a78565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff1680611aed5763ceea21b66000526004601cfd5b919050565b6000611afc613923565b610e318261374c565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700611192565b600081611b4257638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b611b856130c2565b611b8f6000613a2b565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611192565b611bc16130c2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611c496130c2565b611c5584848484613a91565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610e6690614a2d565b611c956130c2565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557008054821115611cf1576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cf9613bbd565b821015611d32576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611dcb6130c2565b611dd88585858585613bcc565b5050505050565b611de76130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e7d576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e89838583614af6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ec06130c2565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611f34576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821615611f5957611f5982613d0c565b610f888183613d5d565b60603415611f7057600080fd5b610e31611f7d8484613dda565b613e71565b611f8d858585611198565b833b15611dd857611dd885858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506137ac92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061201290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461203e90614a2d565b801561208b5780601f106120605761010080835404028352916020019161208b565b820191906000526020600020905b81548152906001019060200180831161206e57829003601f168201915b50505050509050919050565b61209f6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612135576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e89838583614af6565b60606121838260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b6121b9576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156122dc5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561228f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122d59190810190614d55565b9392505050565b6000838152600282016020526040812080546122f790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461232390614a2d565b80156123705780601f1061234557610100808354040283529160200191612370565b820191906000526020600020905b81548152906001019060200180831161235357829003601f168201915b505050505090508051600014612387579392505050565b8154829061239490614a2d565b90506000036123b457505060408051602081019091526000815292915050565b61244a8260000180546123c690614a2d565b80601f01602080910402602001604051908101604052809291908181526020018280546123f290614a2d565b801561243f5780601f106124145761010080835404028352916020019161243f565b820191906000526020600020905b81548152906001019060200180831161242257829003601f168201915b505050505085613e82565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610f0d565b6124826130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612518576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612524838583614af6565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612556929190614c59565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6125c56130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6126566130c2565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061273990614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461276590614a2d565b80156127b25780601f10612787576101008083540402835291602001916127b2565b820191906000526020600020905b81548152906001019060200180831161279557829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156128e25760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612896573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128dc9190810190614d55565b91505090565b8060010180546128f190614a2d565b15905061298b5780600101805461290790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461293390614a2d565b80156129805780601f1061295557610100808354040283529160200191612980565b820191906000526020600020905b81548152906001019060200180831161296357829003601f168201915b505050505091505090565b8054819061299890614a2d565b90506000036129b557505060408051602081019091526000815290565b806129bf46613eca565b6129c830613f2c565b6040516020016129da93929190614e63565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611c7f565b612a1f6130c2565b63389a75e1600c52806000526020600c208054421115612a4757636f5e88186000526004601cfd5b60009055612a5481613a2b565b50565b612a5f6130c2565b8060601b612a7557637448fbae6000526004601cfd5b612a5481613a2b565b612a866130c2565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612b206130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612bb6576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611d61565b6000612c8582613f6e565b80610e315750610e31826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612cd9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610e315750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d3282613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b6000612d8e82613f6e565b80610e315750632a55205a60e083901c9081146301ffc9a79190911417610e31565b6000612dbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5257507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610e3157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612ea782613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f0382613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612f5f82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612fbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816130685763ceea21b66000526004601cfd5b81851485151761308e57816000526030600c205461308e57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611b8f576382b429006000526004601cfd5b6112e9838383614006565b6112e9838383614148565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061319f848683614af6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613217858783614af6565b5060018101613227838583614af6565b505050505050565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6118c67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016141e5565b73ffffffffffffffffffffffffffffffffffffffff81166132ae5750565b6132b781613d0c565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611f597f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016141e5565b61336b7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a360016141e5565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611163565b6133e97fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a0660016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612aa9565b6134577fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e45253560016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612679565b6134c57f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a260016141e5565b8015612a54577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611163565b613550614274565b60005b838110156136125761360a85858381811061357057613570614f68565b90506020028101906135829190614f97565b3586868481811061359557613595614f68565b90506020028101906135a79190614f97565b602001358787858181106135bd576135bd614f68565b90506020028101906135cf9190614f97565b604001358888868181106135e5576135e5614f68565b90506020028101906135f79190614f97565b613605906060810190614c6d565b613bcc565b600101613553565b5060005b81811015611dd8576136a583838381811061363357613633614f68565b90506020028101906136459190614fd5565b3584848481811061365857613658614f68565b905060200281019061366a9190614fd5565b6020013585858581811061368057613680614f68565b90506020028101906136929190614fd5565b6136a0906040810190614c6d565b613a91565b600101613616565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806136da848683614af6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00546137778161429f565b61378182826142f9565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156137f3578060c08401826020870160045afa505b60208360a48301601c860160008a5af1613816573d15613816573d6000843e3d83fd5b508060e01b8251146132275763d1a57ed66000526004601cfd5b6103e861ffff82161115613870576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff166000036138c95761388e600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6138d7828261ffff166143c3565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016138bd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361396357565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16156139bf576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139c7610ee9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b8f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613b1b576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613b56576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613b78848683614af6565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051613bad93929190615009565b60405180910390a2505050505050565b6000613bc761116e565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613c61576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613c9c576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101613cc5848683614af6565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051613cfb93929190615009565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003612a54576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac91016125b0565b600060405190506020815281816020015280604001808360051b808684378201808515613e59575b835187018035602082018337600038823584305af4613e24573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613e02575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082613e8e46613eca565b613e9730613f2c565b613ea085613eca565b604051602001613eb39493929190615023565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613ee55750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613f3782614413565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806140495750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580614080575073ffffffffffffffffffffffffffffffffffffffff8316155b1561408b5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036140ae5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561412a57600080fd5b505afa15801561413e573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661419b577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906141929061512c565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff82166112e9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061419290615164565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016138bd565b611b8f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016141e5565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612a54576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614305600083836130f8565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156143585763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff8116840261438d5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610f8860008383613103565b6bffffffffffffffffffffffff16612710808211156143ea5763350a88b36000526004601cfd5b8260601b806144015763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614453575050919050565b6000602082840312156144b257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146122d557600080fd5b60005b838110156144fd5781810151838201526020016144e5565b50506000910152565b6000815180845261451e8160208601602086016144e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122d56020830184614506565b60006020828403121561457557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611aed57600080fd5b600080604083850312156145b357600080fd5b6145bc8361457c565b946020939093013593505050565b60008083601f8401126145dc57600080fd5b50813567ffffffffffffffff8111156145f457600080fd5b6020830191508360208285010111156127bf57600080fd5b60008060006040848603121561462157600080fd5b83359250602084013567ffffffffffffffff81111561463f57600080fd5b61464b868287016145ca565b9497909650939450505050565b80358015158114611aed57600080fd5b60006020828403121561467a57600080fd5b6122d582614658565b60008060006060848603121561469857600080fd5b6146a18461457c565b92506146af6020850161457c565b929592945050506040919091013590565b6000602082840312156146d257600080fd5b813567ffffffffffffffff8111156146e957600080fd5b820161024081850312156122d557600080fd5b60006020828403121561470e57600080fd5b6122d58261457c565b6000806040838503121561472a57600080fd5b50508035926020909101359150565b803561ffff81168114611aed57600080fd5b6000806040838503121561475e57600080fd5b6147678361457c565b915061477560208401614739565b90509250929050565b82815260406020820152600061244a6040830184614506565b600080600080606085870312156147ad57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156147d257600080fd5b6147de878288016145ca565b95989497509550505050565b600080604083850312156147fd57600080fd5b6148068361457c565b915061477560208401614658565b60008060008060006080868803121561482c57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b614864888289016145ca565b969995985093965092949392505050565b6000806020838503121561488857600080fd5b823567ffffffffffffffff81111561489f57600080fd5b6148ab858286016145ca565b90969095509350505050565b600080602083850312156148ca57600080fd5b823567ffffffffffffffff8111156148e157600080fd5b8301601f810185136148f257600080fd5b803567ffffffffffffffff81111561490957600080fd5b8560208260051b840101111561491e57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156149a5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614990858351614506565b94506020938401939190910190600101614956565b50929695505050505050565b6000806000806000608086880312156149c957600080fd5b6149d28661457c565b94506149e06020870161457c565b935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b60008060408385031215614a1657600080fd5b614a1f8361457c565b91506147756020840161457c565b600181811c90821680614a4157607f821691505b602082108103614a7a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156112e957806000526020600020601f840160051c81016020851015614ad65750805b601f840160051c820191505b81811015611dd85760008155600101614ae2565b67ffffffffffffffff831115614b0e57614b0e614a80565b614b2283614b1c8354614a2d565b83614aaf565b6000601f841160018114614b745760008515614b3e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611dd8565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bc35786850135825560209485019460019092019101614ba3565b5086821015614bfe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061244a602083018486614c10565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614ca257600080fd5b83018035915067ffffffffffffffff821115614cbd57600080fd5b6020019150368190038213156127bf57600080fd5b600060208284031215614ce457600080fd5b6122d582614739565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614d2257600080fd5b83018035915067ffffffffffffffff821115614d3d57600080fd5b6020019150600581901b36038213156127bf57600080fd5b600060208284031215614d6757600080fd5b815167ffffffffffffffff811115614d7e57600080fd5b8201601f81018413614d8f57600080fd5b805167ffffffffffffffff811115614da957614da9614a80565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614e1557614e15614a80565b604052818152828201602001861015614e2d57600080fd5b614e3e8260208301602086016144e2565b95945050505050565b60008151614e598185602086016144e2565b9290920192915050565b6000808554614e7181614a2d565b600182168015614e885760018114614ebb57614eeb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eeb565b88600052602060002060005b83811015614ee357815488820152600190910190602001614ec7565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614f248160018401602089016144e2565b01614f51600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614f5e6002820185614e47565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614fcb57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614fcb57600080fd5b838152604060208201526000614e3e604083018486614c10565b60008551615035818460208a016144e2565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161506f816001840160208a016144e2565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516150ad8160028401602089016144e2565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516150ef8160028401602088016144e2565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361515d5761515d6150fd565b5060010190565b600081615173576151736150fd565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202e8edc2006b56a42b6ee115537dac2bb525ee4936d91794add593ab58da2ce9e64736f6c634300081c0033";
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": "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": "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 OnChainMetadata.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 OnChainMetadata.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": "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": "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": "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": "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": "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": "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": "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 = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6151cf8061008d6000396000f3fe6080604052600436106103f95760003560e01c8063738e14961161020d578063c3e617a211610128578063e8a3d485116100bb578063f04e283e1161008a578063fca3b5aa1161006f578063fca3b5aa14610cef578063fee81cf414610d0f578063ff87a5f514610d4257600080fd5b8063f04e283e14610cc9578063f2fde38b14610cdc57600080fd5b8063e8a3d48514610c19578063e8dc3e0914610c2e578063e985e9c514610c7e578063ee748f2c14610cb457600080fd5b8063da2bbfc7116100f7578063da2bbfc714610ba4578063e1c2ffad14610bc4578063e2969ba714610bd9578063e4df18ec14610bf957600080fd5b8063c3e617a214610b05578063c87b56dd14610b25578063d50bac3314610b45578063d8b4f8ac14610b8f57600080fd5b8063a22cb465116101a0578063ac9650d81161016f578063ac9650d814610a63578063ac998f4514610a83578063b88d4fde14610ad2578063bb77e79614610ae557600080fd5b8063a22cb465146109e3578063a482c94614610a03578063a8cdf07814610a23578063a9fc664e14610a4357600080fd5b8063913b385a116101dc578063913b385a1461093457806395d89b411461095457806397e950f714610969578063a148d8cf1461098957600080fd5b8063738e14961461087c57806375794a3c146108cb5780638da5cb5b146108e05780638e08141f1461091457600080fd5b80632a55205a116103185780635a50ca65116102ab5780636352211e1161027a5780636cbdef611161025f5780636cbdef611461083f57806370a0823114610854578063715018a61461087457600080fd5b80636352211e146107ff5780636a6278421461081f57600080fd5b80635a50ca65146107495780635c975abb146107935780635e5a9e30146107ca5780635e830656146107df57600080fd5b80634331f639116102e75780634331f639146106d05780634aa3adb3146106f057806354d1f13d1461071357806355828c501461071b57600080fd5b80632a55205a146106025780632e73cddb1461064e5780633dda44b01461069d57806342842e0e146106bd57600080fd5b806316c38b3c11610390578063256929621161035f57806325692962146105b0578063261220a3146105b857806326dfe8c7146105cd578063298bb40e146105ed57600080fd5b806316c38b3c1461053a57806318160ddd1461055a57806323b872dd1461057d578063249c3b041461059057600080fd5b8063095ea7b3116103cc578063095ea7b3146104af578063098144d4146104c45780630d705df6146104d95780631622326a1461051a57600080fd5b806301ffc9a7146103fe57806306fdde03146104335780630754617214610455578063081812fc1461048f575b600080fd5b34801561040a57600080fd5b5061041e6104193660046144a0565b610d62565b60405190151581526020015b60405180910390f35b34801561043f57600080fd5b50610448610e37565b60405161042a9190614550565b34801561046157600080fd5b5061046a610ee9565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161042a565b34801561049b57600080fd5b5061046a6104aa366004614563565b610f29565b6104c26104bd3660046145a0565b610f7d565b005b3480156104d057600080fd5b5061046a610f8c565b3480156104e557600080fd5b50604080517fcaee23ea000000000000000000000000000000000000000000000000000000008152600160208201520161042a565b34801561052657600080fd5b506104c261053536600461460c565b610fb4565b34801561054657600080fd5b506104c2610555366004614668565b6110e1565b34801561056657600080fd5b5061056f61116e565b60405190815260200161042a565b6104c261058b366004614683565b611198565b34801561059c57600080fd5b506104c26105ab3660046146c0565b6112ee565b6104c26115ae565b3480156105c457600080fd5b506104486115fe565b3480156105d957600080fd5b506104c26105e83660046146fc565b611626565b3480156105f957600080fd5b5061044861175f565b34801561060e57600080fd5b5061062261061d366004614717565b611787565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260208301919091520161042a565b34801561065a57600080fd5b5061041e610669366004614563565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156106a957600080fd5b506104c26106b8366004614717565b6117fa565b6104c26106cb366004614683565b611891565b3480156106dc57600080fd5b506104c26106eb36600461474b565b6118be565b3480156106fc57600080fd5b5060015b60405161ffff909116815260200161042a565b6104c26118d0565b34801561072757600080fd5b5061073b610736366004614563565b61190c565b60405161042a92919061477e565b34801561075557600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025473ffffffffffffffffffffffffffffffffffffffff1661046a565b34801561079f57600080fd5b507f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff1661041e565b3480156107d657600080fd5b506104c26119dc565b3480156107eb57600080fd5b506104c26107fa3660046145a0565b611a6d565b34801561080b57600080fd5b5061046a61081a366004614563565b611a92565b34801561082b57600080fd5b5061056f61083a3660046146fc565b611af2565b34801561084b57600080fd5b5061056f611b05565b34801561086057600080fd5b5061056f61086f3660046146fc565b611b2d565b6104c2611b7d565b34801561088857600080fd5b507fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7025474010000000000000000000000000000000000000000900460ff1661041e565b3480156108d757600080fd5b5061056f611b91565b3480156108ec57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275461046a565b34801561092057600080fd5b506104c261092f366004614563565b611bb9565b34801561094057600080fd5b506104c261094f366004614797565b611c41565b34801561096057600080fd5b50610448611c5b565b34801561097557600080fd5b506104c2610984366004614563565b611c8d565b34801561099557600080fd5b5061041e6109a4366004614717565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b3480156109ef57600080fd5b506104c26109fe3660046147ea565b611d6d565b348015610a0f57600080fd5b506104c2610a1e366004614814565b611dc3565b348015610a2f57600080fd5b506104c2610a3e366004614875565b611ddf565b348015610a4f57600080fd5b506104c2610a5e3660046146fc565b611eb8565b610a76610a713660046148b7565b611f63565b60405161042a919061492e565b348015610a8f57600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015474010000000000000000000000000000000000000000900460ff1661041e565b6104c2610ae03660046149b1565b611f82565b348015610af157600080fd5b50610448610b00366004614563565b611fd6565b348015610b1157600080fd5b506104c2610b20366004614875565b612097565b348015610b3157600080fd5b50610448610b40366004614563565b612144565b348015610b5157600080fd5b507f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382015473ffffffffffffffffffffffffffffffffffffffff1661046a565b348015610b9b57600080fd5b5061046a612452565b348015610bb057600080fd5b506104c2610bbf366004614875565b61247a565b348015610bd057600080fd5b506104c26125bd565b348015610be557600080fd5b506104c2610bf43660046146fc565b61264e565b348015610c0557600080fd5b5061073b610c14366004614717565b6126e8565b348015610c2557600080fd5b506104486127c6565b348015610c3a57600080fd5b50610700610c49366004614563565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b348015610c8a57600080fd5b5061041e610c99366004614a03565b601c52670a5a2e7a000000006008526000526030600c205490565b348015610cc057600080fd5b506104486129ef565b6104c2610cd73660046146fc565b612a17565b6104c2610cea3660046146fc565b612a57565b348015610cfb57600080fd5b506104c2610d0a3660046146fc565b612a7e565b348015610d1b57600080fd5b5061056f610d2a3660046146fc565b63389a75e1600c908152600091909152602090205490565b348015610d4e57600080fd5b506104c2610d5d3660046146fc565b612b18565b6000610d6d82612c7a565b80610d7c5750610d7c82612cb1565b80610d8b5750610d8b82612d27565b80610d9a5750610d9a82612d83565b80610da95750610da982612db0565b80610db85750610db882612e9c565b80610dc75750610dc782612ef8565b80610dd65750610dd682612f54565b80610de55750610de582612fb0565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6a62784200000000000000000000000000000000000000000000000000000000145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b8054610e6690614a2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9290614a2d565b8015610edf5780601f10610eb457610100808354040283529160200191610edf565b820191906000526020600020905b815481529060010190602001808311610ec257829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6000816000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602060002082018201805460601b610f735763ceea21b66000526004601cfd5b6001015492915050565b610f8833838361300c565b5050565b60007f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00610f0d565b610fbc6130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615611052576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600282016020526040902061106d838583614af6565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b854784846040516110a0929190614c59565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6110e96130c2565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b6111a38383836130f8565b60008181527f7d8825530a5a2e7a0000000000000000000000000000000000000000000000003317601c526020902081018101805473ffffffffffffffffffffffffffffffffffffffff94851694938416938116919082861483026112175767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611245576030600c205461124557634b6e7f186000526004601cfd5b821561125357600082600101555b85851818905550601c600c81812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055600084905220805460010163ffffffff811684026112b45767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a46112e9838383613103565b505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156113405760018160011c14303b106113375763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611380576040517ffe5afcb900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816101400135826101e0013511156113c4576040517f3f63c5bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113d96113d460208401846146fc565b61310e565b6113fe6113e96060840184614c6d565b6113f960a08601608087016146fc565b613172565b61142061140e6020840184614c6d565b61141b6040860186614c6d565b6131ea565b61142861322f565b61145361143c610100840160e085016146fc565b61144e61012085016101008601614cd2565b613265565b61146d611468610140840161012085016146fc565b613290565b61147b826101400135613340565b6114956114906101a0840161018085016146fc565b6133be565b6114af6114aa610180840161016085016146fc565b61342c565b6114c96114c46101c084016101a08501614668565b61349a565b6114ed6114da610200840184614ced565b6114e8610220860186614ced565b613548565b6115126114fd60a0840184614c6d565b61150d60e0860160c087016146fc565b6136ad565b60006115266101e084016101c085016146fc565b73ffffffffffffffffffffffffffffffffffffffff16146115765760005b826101e001358110156115745761156b6115666101e085016101c086016146fc565b61374c565b50600101611544565b505b8015610f88576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b60607f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200610e5b565b61162e6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff16156116c4576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700610e5b565b600082815268aa4ec00224afccfdb76020526040812054606081901c919061271090836117bb576020515490508060601c93505b606084901b18847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff829004811182023d3d3e9396930204935090915050565b6118026130c2565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080832084845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b61189c838383611198565b813b156112e9576112e9838383604051806020016040528060008152506137ac565b6118c66130c2565b610f888282613830565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061195290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461197e90614a2d565b80156119cb5780601f106119a0576101008083540402835291602001916119cb565b820191906000526020600020905b8154815290600101906020018083116119ae57829003601f168201915b505050505090509250925050915091565b6119e46130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b611a75613923565b60005b818110156112e957611a898361374c565b50600101611a78565b60008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260209020810181015473ffffffffffffffffffffffffffffffffffffffff1680611aed5763ceea21b66000526004601cfd5b919050565b6000611afc613923565b610e318261374c565b60007fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700611192565b600081611b4257638f4eb6046000526004601cfd5b7f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c528160005263ffffffff601c600c2054169050919050565b611b856130c2565b611b8f6000613a2b565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611192565b611bc16130c2565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b611c496130c2565b611c5584848484613a91565b50505050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b6001018054610e6690614a2d565b611c956130c2565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557008054821115611cf1576040517f572a7a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cf9613bbd565b821015611d32576040517fb248090a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b611dcb6130c2565b611dd88585858585613bcc565b5050505050565b611de76130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615611e7d576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611e89838583614af6565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b611ec06130c2565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00805474010000000000000000000000000000000000000000900460ff16611f34576040517f8915b2e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821615611f5957611f5982613d0c565b610f888183613d5d565b60603415611f7057600080fd5b610e31611f7d8484613dda565b613e71565b611f8d858585611198565b833b15611dd857611dd885858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506137ac92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382026020526040902080546060919061201290614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461203e90614a2d565b801561208b5780601f106120605761010080835404028352916020019161208b565b820191906000526020600020905b81548152906001019060200180831161206e57829003601f168201915b50505050509050919050565b61209f6130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702547fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009074010000000000000000000000000000000000000000900460ff1615612135576040517f52be865b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018101611e89838583614af6565b60606121838260008181527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c52602090208101015460601b151590565b6121b9576040517fb1d04f0800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009073ffffffffffffffffffffffffffffffffffffffff16156122dc5760018101546040517fe9dc63750000000000000000000000000000000000000000000000000000000081523060048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063e9dc637590604401600060405180830381865afa15801561228f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122d59190810190614d55565b9392505050565b6000838152600282016020526040812080546122f790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461232390614a2d565b80156123705780601f1061234557610100808354040283529160200191612370565b820191906000526020600020905b81548152906001019060200180831161235357829003601f168201915b505050505090508051600014612387579392505050565b8154829061239490614a2d565b90506000036123b457505060408051602081019091526000815292915050565b61244a8260000180546123c690614a2d565b80601f01602080910402602001604051908101604052809291908181526020018280546123f290614a2d565b801561243f5780601f106124145761010080835404028352916020019161243f565b820191906000526020600020905b81548152906001019060200180831161242257829003601f168201915b505050505085613e82565b949350505050565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100610f0d565b6124826130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612518576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612524838583614af6565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b8383604051612556929190614c59565b60405180910390a160408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b6125c56130c2565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b6126566130c2565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061273990614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461276590614a2d565b80156127b25780601f10612787576101008083540402835291602001916127b2565b820191906000526020600020905b81548152906001019060200180831161279557829003601f168201915b5050505050905092509250505b9250929050565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e702546060907fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e7009073ffffffffffffffffffffffffffffffffffffffff16156128e25760028101546040517e844d1300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169062844d1390602401600060405180830381865afa158015612896573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128dc9190810190614d55565b91505090565b8060010180546128f190614a2d565b15905061298b5780600101805461290790614a2d565b80601f016020809104026020016040519081016040528092919081815260200182805461293390614a2d565b80156129805780601f1061295557610100808354040283529160200191612980565b820191906000526020600020905b81548152906001019060200180831161296357829003601f168201915b505050505091505090565b8054819061299890614a2d565b90506000036129b557505060408051602081019091526000815290565b806129bf46613eca565b6129c830613f2c565b6040516020016129da93929190614e63565b60405160208183030381529060405291505090565b60607fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700611c7f565b612a1f6130c2565b63389a75e1600c52806000526020600c208054421115612a4757636f5e88186000526004601cfd5b60009055612a5481613a2b565b50565b612a5f6130c2565b8060601b612a7557637448fbae6000526004601cfd5b612a5481613a2b565b612a866130c2565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b612b206130c2565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238201547f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382009074010000000000000000000000000000000000000000900460ff1615612bb6576040517fdd48f3ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101611d61565b6000612c8582613f6e565b80610e315750610e31826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000612cd9826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b80610e315750507fffffffff00000000000000000000000000000000000000000000000000000000167f49064906000000000000000000000000000000000000000000000000000000001490565b6000612d3282613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e6681a8000000000000000000000000000000000000000000000000000000001492915050565b6000612d8e82613f6e565b80610e315750632a55205a60e083901c9081146301ffc9a79190911417610e31565b6000612dbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fad0d7f6c000000000000000000000000000000000000000000000000000000001480612e5257507fffffffff0000000000000000000000000000000000000000000000000000000082167fa07d229a00000000000000000000000000000000000000000000000000000000145b8015610e3157507f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005474010000000000000000000000000000000000000000900460ff1692915050565b6000612ea782613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f6cbdef61000000000000000000000000000000000000000000000000000000001492915050565b6000612f0382613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f07546172000000000000000000000000000000000000000000000000000000001492915050565b6000612f5f82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fd8b4f8ac000000000000000000000000000000000000000000000000000000001492915050565b6000612fbb82613f6e565b80610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167f5c975abb000000000000000000000000000000000000000000000000000000001492915050565b60001960601c8281169250838116935081600052837f7d8825530a5a2e7a00000000000000000000000000000000000000000000000017601c52602060002082018201805482169150816130685763ceea21b66000526004601cfd5b81851485151761308e57816000526030600c205461308e57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611b8f576382b429006000526004601cfd5b6112e9838383614006565b6112e9838383614148565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b7f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382008061319f848683614af6565b5060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613217858783614af6565b5060018101613227838583614af6565b505050505050565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6118c67f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f560016141e5565b73ffffffffffffffffffffffffffffffffffffffff81166132ae5750565b6132b781613d0c565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d0080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178155611f597f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c060016141e5565b61336b7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a360016141e5565b807fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611163565b6133e97fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a0660016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba00612aa9565b6134577fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e45253560016141e5565b73ffffffffffffffffffffffffffffffffffffffff811615612a5457807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100612679565b6134c57f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a260016141e5565b8015612a54577f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f49670080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611163565b613550614274565b60005b838110156136125761360a85858381811061357057613570614f68565b90506020028101906135829190614f97565b3586868481811061359557613595614f68565b90506020028101906135a79190614f97565b602001358787858181106135bd576135bd614f68565b90506020028101906135cf9190614f97565b604001358888868181106135e5576135e5614f68565b90506020028101906135f79190614f97565b613605906060810190614c6d565b613bcc565b600101613553565b5060005b81811015611dd8576136a583838381811061363357613633614f68565b90506020028101906136459190614fd5565b3584848481811061365857613658614f68565b905060200281019061366a9190614fd5565b6020013585858581811061368057613680614f68565b90506020028101906136929190614fd5565b6136a0906040810190614c6d565b613a91565b600101613616565b7fad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700806136da848683614af6565b506002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00546137778161429f565b61378182826142f9565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a084015280156137f3578060c08401826020870160045afa505b60208360a48301601c860160008a5af1613816573d15613816573d6000843e3d83fd5b508060e01b8251146132275763d1a57ed66000526004601cfd5b6103e861ffff82161115613870576040517fc2b03beb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8061ffff166000036138c95761388e600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6138d7828261ffff166143c3565b60405161ffff8216815273ffffffffffffffffffffffffffffffffffffffff8316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016138bd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275473ffffffffffffffffffffffffffffffffffffffff16330361396357565b7f1f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967005460ff16156139bf576040517feb56075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6139c7610ee9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b8f576040517f98eac47400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613b1b576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613b56576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000858152600282016020526040902084815560018101613b78848683614af6565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d221868686604051613bad93929190615009565b60405180910390a2505050505050565b6000613bc761116e565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff1615613c61576040517f5fde02f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003613c9c576040517f66e0344f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086815260208281526040808320888452909152902084815560018101613cc5848683614af6565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a7878787604051613cfb93929190615009565b60405180910390a350505050505050565b8073ffffffffffffffffffffffffffffffffffffffff163b600003612a54576040517fd5a9219800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff8281167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac91016125b0565b600060405190506020815281816020015280604001808360051b808684378201808515613e59575b835187018035602082018337600038823584305af4613e24573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410613e02575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b606082613e8e46613eca565b613e9730613f2c565b613ea085613eca565b604051602001613eb39493929190615023565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a900480613ee55750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6060613f3782614413565b805161307882526002017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90910190815292915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480610e3157507fffffffff0000000000000000000000000000000000000000000000000000000082167fa27f93ba000000000000000000000000000000000000000000000000000000001492915050565b7f9951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d005473ffffffffffffffffffffffffffffffffffffffff16806140495750505050565b73ffffffffffffffffffffffffffffffffffffffff84161580614080575073ffffffffffffffffffffffffffffffffffffffff8316155b1561408b5750505050565b73ffffffffffffffffffffffffffffffffffffffff811633036140ae5750505050565b6040517fcaee23ea00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b15801561412a57600080fd5b505afa15801561413e573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661419b577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b91400080546000906141929061512c565b90915550505050565b73ffffffffffffffffffffffffffffffffffffffff82166112e9577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b914000805460009061419290615164565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da5006000848152602091825260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016138bd565b611b8f7f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c60016141e5565b7fe2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee55700548110612a54576040517fba470cd500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614305600083836130f8565b8160601b60601c9150806000527f7d8825530a5a2e7a000000000000000000000000000000000000000000000000601c5260206000208101810180548060601b156143585763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff8116840261438d5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a4610f8860008383613103565b6bffffffffffffffffffffffff16612710808211156143ea5763350a88b36000526004601cfd5b8260601b806144015763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01614453575050919050565b6000602082840312156144b257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146122d557600080fd5b60005b838110156144fd5781810151838201526020016144e5565b50506000910152565b6000815180845261451e8160208601602086016144e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006122d56020830184614506565b60006020828403121561457557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611aed57600080fd5b600080604083850312156145b357600080fd5b6145bc8361457c565b946020939093013593505050565b60008083601f8401126145dc57600080fd5b50813567ffffffffffffffff8111156145f457600080fd5b6020830191508360208285010111156127bf57600080fd5b60008060006040848603121561462157600080fd5b83359250602084013567ffffffffffffffff81111561463f57600080fd5b61464b868287016145ca565b9497909650939450505050565b80358015158114611aed57600080fd5b60006020828403121561467a57600080fd5b6122d582614658565b60008060006060848603121561469857600080fd5b6146a18461457c565b92506146af6020850161457c565b929592945050506040919091013590565b6000602082840312156146d257600080fd5b813567ffffffffffffffff8111156146e957600080fd5b820161024081850312156122d557600080fd5b60006020828403121561470e57600080fd5b6122d58261457c565b6000806040838503121561472a57600080fd5b50508035926020909101359150565b803561ffff81168114611aed57600080fd5b6000806040838503121561475e57600080fd5b6147678361457c565b915061477560208401614739565b90509250929050565b82815260406020820152600061244a6040830184614506565b600080600080606085870312156147ad57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156147d257600080fd5b6147de878288016145ca565b95989497509550505050565b600080604083850312156147fd57600080fd5b6148068361457c565b915061477560208401614658565b60008060008060006080868803121561482c57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b614864888289016145ca565b969995985093965092949392505050565b6000806020838503121561488857600080fd5b823567ffffffffffffffff81111561489f57600080fd5b6148ab858286016145ca565b90969095509350505050565b600080602083850312156148ca57600080fd5b823567ffffffffffffffff8111156148e157600080fd5b8301601f810185136148f257600080fd5b803567ffffffffffffffff81111561490957600080fd5b8560208260051b840101111561491e57600080fd5b6020919091019590945092505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156149a5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452614990858351614506565b94506020938401939190910190600101614956565b50929695505050505050565b6000806000806000608086880312156149c957600080fd5b6149d28661457c565b94506149e06020870161457c565b935060408601359250606086013567ffffffffffffffff81111561485857600080fd5b60008060408385031215614a1657600080fd5b614a1f8361457c565b91506147756020840161457c565b600181811c90821680614a4157607f821691505b602082108103614a7a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156112e957806000526020600020601f840160051c81016020851015614ad65750805b601f840160051c820191505b81811015611dd85760008155600101614ae2565b67ffffffffffffffff831115614b0e57614b0e614a80565b614b2283614b1c8354614a2d565b83614aaf565b6000601f841160018114614b745760008515614b3e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611dd8565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614bc35786850135825560209485019460019092019101614ba3565b5086821015614bfe577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061244a602083018486614c10565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614ca257600080fd5b83018035915067ffffffffffffffff821115614cbd57600080fd5b6020019150368190038213156127bf57600080fd5b600060208284031215614ce457600080fd5b6122d582614739565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614d2257600080fd5b83018035915067ffffffffffffffff821115614d3d57600080fd5b6020019150600581901b36038213156127bf57600080fd5b600060208284031215614d6757600080fd5b815167ffffffffffffffff811115614d7e57600080fd5b8201601f81018413614d8f57600080fd5b805167ffffffffffffffff811115614da957614da9614a80565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715614e1557614e15614a80565b604052818152828201602001861015614e2d57600080fd5b614e3e8260208301602086016144e2565b95945050505050565b60008151614e598185602086016144e2565b9290920192915050565b6000808554614e7181614a2d565b600182168015614e885760018114614ebb57614eeb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350614eeb565b88600052602060002060005b83811015614ee357815488820152600190910190602001614ec7565b505081860193505b5050507f2f0000000000000000000000000000000000000000000000000000000000000081528451614f248160018401602089016144e2565b01614f51600182017f2f000000000000000000000000000000000000000000000000000000000000009052565b614f5e6002820185614e47565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614fcb57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614fcb57600080fd5b838152604060208201526000614e3e604083018486614c10565b60008551615035818460208a016144e2565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152855161506f816001840160208a016144e2565b7f2f000000000000000000000000000000000000000000000000000000000000006001929091019182015284516150ad8160028401602089016144e2565b6001818301019150507f2f00000000000000000000000000000000000000000000000000000000000000600182015283516150ef8160028401602088016144e2565b016002019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361515d5761515d6150fd565b5060010190565b600081615173576151736150fd565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202e8edc2006b56a42b6ee115537dac2bb525ee4936d91794add593ab58da2ce9e64736f6c634300081c0033";
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": "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 OnChainMetadata.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 OnChainMetadata.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": "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 OnChainMetadata.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 OnChainMetadata.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 = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b615fe780610a5a83390190565b6080516109cc61008e600039600081816091015281816101130152818161014f0152818161018701526102fc01526109cc6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80635414dff01461005c5780635c60da1b1461008c5780635c857b3e146100b35780637c9cf116146100e6578063cd9c7b24146100f9575b600080fd5b61006f61006a366004610439565b61010c565b6040516001600160a01b0390911681526020015b60405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b6100d66100c1366004610469565b60006020819052908152604090205460ff1681565b6040519015158152602001610083565b61006f6100f436600461049d565b61013f565b61006f6101073660046104e2565b610180565b60006101397f000000000000000000000000000000000000000000000000000000000000000083306101bc565b92915050565b600061014a82610219565b6101747f000000000000000000000000000000000000000000000000000000000000000083610258565b9050610139818461026d565b60006101ab7f000000000000000000000000000000000000000000000000000000000000000061035e565b90506101b7818361026d565b919050565b6000806102038560006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c2090506000602152919050565b905061021081858561036b565b95945050505050565b606081901c801580159061023657506001600160a01b0381163314155b156102545760405163c61a579960e01b815260040160405180910390fd5b5050565b60006102666000848461038d565b9392505050565b6001600160a01b03821660008181526020819052604090819020805460ff1916600117905551633d6e924b60e01b8152633d6e924b906102b190849060040161072c565b600060405180830381600087803b1580156102cb57600080fd5b505af11580156102df573d6000803e3d6000fd5b506102f1925050506020820182610469565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b817808260405160405180910390a45050565b60006101396000836103e4565b600060ff60005350603592835260601b60015260155260556000908120915290565b60006c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d73600052816035600c86f59050806103d85763301164256000526004601cfd5b60006021529392505050565b60006c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d736000526035600c84f090508061042e5763301164256000526004601cfd5b600060215292915050565b60006020828403121561044b57600080fd5b5035919050565b80356001600160a01b03811681146101b757600080fd5b60006020828403121561047b57600080fd5b61026682610452565b6000610280828403121561049757600080fd5b50919050565b600080604083850312156104b057600080fd5b823567ffffffffffffffff8111156104c757600080fd5b6104d385828601610484565b95602094909401359450505050565b6000602082840312156104f457600080fd5b813567ffffffffffffffff81111561050b57600080fd5b61051784828501610484565b949350505050565b6000808335601e1984360301811261053657600080fd5b830160208101925035905067ffffffffffffffff81111561055657600080fd5b80360382131561056557600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b803561ffff811681146101b757600080fd5b803580151581146101b757600080fd5b6000808335601e198436030181126105ce57600080fd5b830160208101925035905067ffffffffffffffff8111156105ee57600080fd5b8060051b360382131561056557600080fd5b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003607e1901811261063f57600080fd5b8601803584526020808201359085015260408082013590850152610666606082018261051f565b91506080606086015261067d60808601838361056c565b60209a8b019a90955093909301925050600101610619565b50909695505050505050565b60008383855260208501945060208460051b8201018360005b8681101561069557838303601f19018852813536879003605e190181126106e057600080fd5b860180358452602080820135908501526106fd604082018261051f565b91506060604086015261071460608601838361056c565b60209a8b019a909550939093019250506001016106ba565b6020815261074d6020820161074084610452565b6001600160a01b03169052565b600061075c602084018461051f565b61028060408501526107736102a08501828461056c565b915050610783604085018561051f565b848303601f1901606086015261079a83828461056c565b925050506107ab606085018561051f565b848303601f190160808601526107c283828461056c565b925050506107d260808501610452565b6001600160a01b03811660a0850152506107ef60a085018561051f565b848303601f190160c086015261080683828461056c565b9250505061081660c08501610452565b6001600160a01b03811660e08501525061083260e08501610452565b6001600160a01b038116610100850152506108506101008501610595565b61ffff8116610120850152506108696101208501610452565b6001600160a01b0381166101408501525061014084013561016084810191909152610895908501610452565b6001600160a01b038116610180850152506108b36101808501610452565b6001600160a01b0381166101a0850152506108d16101a085016105a7565b8015156101c0850152506108e86101c08501610452565b6001600160a01b0381166101e0850152506109066101e085016105a7565b8015156102008501525061091d6102008501610452565b6001600160a01b038116610220850152506102208401356102408481019190915261094a908501856105b7565b848303601f1901610260860152610962838284610600565b925050506109746102608501856105b7565b848303601f190161028086015261098c8382846106a1565b969550505050505056fea264697066735822122004e34019f312e64b4ff6ed5ac3563bfe0263930bdb58a67b2a07dbf0374bbf0464736f6c634300081c00336080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f5a8061008d6000396000f3fe6080604052600436106106315760003560e01c80637d0b7ae411610329578063c3e617a2116101b6578063e42b7baf11610102578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc814611309578063fca3b5aa14611329578063fee81cf414611349578063ff87a5f51461137c57600080fd5b8063f04e283e146112af578063f2235701146112c2578063f2fde38b146112f657600080fd5b8063e8dc3e09116100dc578063e8dc3e09146111ff578063e985e9c51461124f578063ea58f97114611285578063ee748f2c1461129a57600080fd5b8063e42b7baf146111aa578063e4df18ec146111ca578063e8a3d485146111ea57600080fd5b8063d8b4f8ac1161016f578063dc98387911610149578063dc98387914611140578063e1b7938114611155578063e1c2ffad14611175578063e2969ba71461118a57600080fd5b8063d8b4f8ac146110f6578063d90f5df21461110b578063da2bbfc71461112057600080fd5b8063c3e617a214611058578063c4f2604814611078578063c87b56dd14611093578063cc1cf51514611078578063cfc59afd146110b3578063d50bac33146110e157600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f4514610ffb578063b478424714611010578063b88d4fde14611025578063bb77e7961461103857600080fd5b8063a9fc664e14610f9b578063aa0de18d14610fbb578063ac9650d814610fdb57600080fd5b80639a5db50314610eac5780639aa1a1f014610ec1578063a148d8cf14610ee1578063a22cb46514610f3b578063a482c94614610f5b578063a8cdf07814610f7b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610e4257806395d89b4114610e5757806396f4205a14610e6c57806397e950f714610e8c57600080fd5b8063909206e314610ad1578063913b385a14610e0257806392b29b1714610e2257600080fd5b80637d0b7ae414610d3257806384f6687f14610d6957806386b7f6a414610d895780638da5cb5b14610da95780638e08141f14610dc25780638e4cc07014610de257600080fd5b80633c59f1bb116104c25780635e5a9e301161040e5780636cb02818116103ac578063715018a611610386578063715018a614610cc9578063738e149614610cd157806375794a3c14610cfd5780637b1d470714610d1257600080fd5b80636cb0281814610c745780636cbdef6114610c9457806370a0823114610ca957600080fd5b806369053374116103e85780636905337414610bf45780636a62784214610c145780636aaf760714610c345780636bd3922214610c5457600080fd5b80635e5a9e3014610b9f5780635e83065614610bb45780636352211e14610bd457600080fd5b80634efdb5ae1161047b57806355828c501161045557806355828c5014610af35780635a50ca6514610b215780635b02f81c14610b4c5780635c975abb14610b7a57600080fd5b80634efdb5ae14610aa957806354d1f13d14610ac957806355580cca14610ad157600080fd5b80633c59f1bb146109d45780633d6e924b14610a135780633dda44b014610a3357806342842e0e14610a535780634331f63914610a665780634aa3adb314610a8657600080fd5b806318160ddd11610581578063256929621161053a578063298bb40e11610514578063298bb40e146109115780632a55205a146109265780632e73cddb146109655780633990b221146109b457600080fd5b806325692962146108d4578063261220a3146108dc57806326dfe8c7146108f157600080fd5b806318160ddd146107d65780631c31cac3146107f957806320ac0944146108195780632352b33f1461082e57806323b872dd146108ac57806325628d34146108bf57600080fd5b8063098144d4116105ee57806313bfffac116105c857806313bfffac1461076c5780631622326a1461078157806316c38b3c146107a157806317afae43146107c157600080fd5b8063098144d41461070f5780630b4c562b146107245780630d705df61461074457600080fd5b806301ffc9a71461063657806306fdde031461066b578063075461721461068d578063081812fc146106ba57806308a38395146106da578063095ea7b3146106fc575b600080fd5b34801561064257600080fd5b50610656610651366004614f20565b61139c565b60405190151581526020015b60405180910390f35b34801561067757600080fd5b5061068061147c565b6040516106629190614f9a565b34801561069957600080fd5b506106a261152e565b6040516001600160a01b039091168152602001610662565b3480156106c657600080fd5b506106a26106d5366004614fad565b611561565b3480156106e657600080fd5b506106fa6106f5366004615037565b6115a0565b005b6106fa61070a3660046150e8565b61162a565b34801561071b57600080fd5b506106a2611639565b34801561073057600080fd5b506106fa61073f366004615153565b61164f565b34801561075057600080fd5b506040805163657711f560e11b81526001602082015201610662565b34801561077857600080fd5b506106a26116d5565b34801561078d57600080fd5b506106fa61079c366004615153565b6116df565b3480156107ad57600080fd5b506106fa6107bc3660046151ac565b6117be565b3480156107cd57600080fd5b506106a261181b565b3480156107e257600080fd5b506107eb611831565b604051908152602001610662565b34801561080557600080fd5b506106fa6108143660046151c9565b61185b565b34801561082557600080fd5b506106a26118d2565b34801561083a57600080fd5b5061088f610849366004614fad565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610662565b6106fa6108ba3660046151e4565b6118f6565b3480156108cb57600080fd5b506106fa611a0c565b6106fa611a72565b3480156108e857600080fd5b50610680611ac1565b3480156108fd57600080fd5b506106fa61090c3660046151c9565b611ad7565b34801561091d57600080fd5b50610680611b9d565b34801561093257600080fd5b50610946610941366004615221565b611bb3565b604080516001600160a01b039093168352602083019190915201610662565b34801561097157600080fd5b50610656610980366004614fad565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109c057600080fd5b506106fa6109cf366004615221565b611c08565b3480156109e057600080fd5b506109e9611c98565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610662565b348015610a1f57600080fd5b506106fa610a2e366004615243565b611ca5565b348015610a3f57600080fd5b506106fa610a4e366004615221565b611f57565b6106fa610a613660046151e4565b611fd0565b348015610a7257600080fd5b506106fa610a81366004615290565b611ffd565b348015610a9257600080fd5b5060015b60405161ffff9091168152602001610662565b348015610ab557600080fd5b506106fa610ac43660046152c3565b61200f565b6106fa612090565b348015610add57600080fd5b50610ae66120cc565b6040516106629190615351565b348015610aff57600080fd5b50610b13610b0e366004614fad565b6120d6565b604051610662929190615364565b348015610b2d57600080fd5b50600080516020615ec5833981519152546001600160a01b03166106a2565b348015610b5857600080fd5b50610b6c610b6736600461537d565b6121a6565b6040516106629291906153a9565b348015610b8657600080fd5b50600080516020615e658339815191525460ff16610656565b348015610bab57600080fd5b506106fa6121b2565b348015610bc057600080fd5b506106fa610bcf3660046150e8565b612205565b348015610be057600080fd5b506106a2610bef366004614fad565b61222a565b348015610c0057600080fd5b506106fa610c0f366004614fad565b612268565b348015610c2057600080fd5b506107eb610c2f3660046151c9565b6122ba565b348015610c4057600080fd5b50610680610c4f366004614fad565b6122cd565b348015610c6057600080fd5b5061088f610c6f366004615221565b61234c565b348015610c8057600080fd5b50610680610c8f366004614fad565b6123a0565b348015610ca057600080fd5b506107eb612405565b348015610cb557600080fd5b506107eb610cc43660046151c9565b61241b565b6106fa612456565b348015610cdd57600080fd5b50600080516020615ec583398151915254600160a01b900460ff16610656565b348015610d0957600080fd5b506107eb61246a565b348015610d1e57600080fd5b506106fa610d2d3660046151c9565b612492565b348015610d3e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610656565b348015610d7557600080fd5b50610680610d84366004615221565b6124f5565b348015610d9557600080fd5b506106fa610da436600461537d565b612567565b348015610db557600080fd5b50638b78c6d819546106a2565b348015610dce57600080fd5b506106fa610ddd366004614fad565b6125ce565b348015610dee57600080fd5b506106fa610dfd3660046153cb565b612638565b348015610e0e57600080fd5b506106fa610e1d3660046152c3565b61267b565b348015610e2e57600080fd5b506106fa610e3d36600461537d565b61268f565b348015610e4e57600080fd5b506107eb6126f8565b348015610e6357600080fd5b50610680612720565b348015610e7857600080fd5b506106fa610e873660046151c9565b612752565b348015610e9857600080fd5b506106fa610ea7366004614fad565b61279a565b348015610eb857600080fd5b506106fa612836565b348015610ecd57600080fd5b506106fa610edc366004615153565b612882565b348015610eed57600080fd5b50610656610efc366004615221565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f4757600080fd5b506106fa610f563660046153f6565b6128c5565b348015610f6757600080fd5b506106fa610f7636600461542d565b61291b565b348015610f8757600080fd5b506106fa610f9636600461548d565b612930565b348015610fa757600080fd5b506106fa610fb63660046151c9565b6129bb565b348015610fc757600080fd5b506106fa610fd63660046154ce565b612a1d565b610fee610fe9366004615511565b612a75565b6040516106629190615546565b34801561100757600080fd5b50610656612a94565b34801561101c57600080fd5b506106fa612ab9565b6106fa6110333660046155ab565b612b05565b34801561104457600080fd5b50610680611053366004614fad565b612b59565b34801561106457600080fd5b506106fa61107336600461548d565b612c1a565b34801561108457600080fd5b50610b6c610b67366004615221565b34801561109f57600080fd5b506106806110ae366004614fad565b612c79565b3480156110bf57600080fd5b506110d36110ce366004614fad565b612ed5565b604051610662929190615626565b3480156110ed57600080fd5b506106a2612f5a565b34801561110257600080fd5b506106a2612f70565b34801561111757600080fd5b506107eb612f98565b34801561112c57600080fd5b506106fa61113b36600461548d565b612fae565b34801561114c57600080fd5b506106fa613085565b34801561116157600080fd5b50610ae6611170366004614fad565b6120cc565b34801561118157600080fd5b506106fa6130d1565b34801561119657600080fd5b506106fa6111a53660046151c9565b613124565b3480156111b657600080fd5b506106fa6111c53660046152c3565b613199565b3480156111d657600080fd5b50610b136111e5366004615221565b6131eb565b3480156111f657600080fd5b506106806132c9565b34801561120b57600080fd5b50610a9661121a366004614fad565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561125b57600080fd5b5061065661126a366004615641565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561129157600080fd5b5061065661347d565b3480156112a657600080fd5b50610680613493565b6106fa6112bd3660046151c9565b6134a9565b3480156112ce57600080fd5b506112e26112dd366004614fad565b6134e9565b60405161066298979695949392919061568b565b6106fa6113043660046151c9565b6134fe565b34801561131557600080fd5b506106fa611324366004615221565b613525565b34801561133557600080fd5b506106fa6113443660046151c9565b61357e565b34801561135557600080fd5b506107eb6113643660046151c9565b63389a75e1600c908152600091909152602090205490565b34801561138857600080fd5b506106fa6113973660046151c9565b6135f3565b60006113a7826136c4565b806113b657506113b6826136fb565b806113c557506113c582613740565b806113d457506113d48261376b565b806113e357506113e382613798565b806113f257506113f2826137ff565b8061140157506114018261382a565b80611410575061141082613855565b8061141f575061141f82613880565b8061142e575061142e826138ab565b8061143d575061143d826138d6565b8061144c575061144c82613901565b8061145b575061145b8261392c565b8061147657506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ab90615747565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790615747565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115965763ceea21b66000526004601cfd5b6001015492915050565b6115a8613957565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115ef908c908c908c908c908c908c908c908c908c906004016157aa565b60006040518083038186803b15801561160757600080fd5b505af415801561161b573d6000803e3d6000fd5b50505050505050505050505050565b611635338383613972565b5050565b6000600080516020615f05833981519152611552565b611657613957565b61166360008085613a13565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906116a09086908690869033906004016158a4565b60006040518083038186803b1580156116b857600080fd5b505af41580156116cc573d6000803e3d6000fd5b50505050505050565b6000610631613a80565b6116e7613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff161561172f5760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061174a838583615934565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b8547848460405161177d9291906159f3565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117c6613957565b600080516020615e65833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615ee5833981519152611552565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611863613957565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b1580156118b757600080fd5b505af41580156118cb573d6000803e3d6000fd5b5050505050565b6000600080516020615e458339815191525b600101546001600160a01b0316919050565b611901838383613a90565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119535767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611981576030600c205461198157634b6e7f186000526004601cfd5b821561198f57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119d25767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611a07838383613a9b565b505050565b611a14613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b505af4158015611a6c573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e858339815191526114a0565b611adf613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615611b27576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615ea58339815191526114a0565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611be7576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611c10613957565b611c1c60008084613a13565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c7c57600080fd5b505af4158015611c90573d6000803e3d6000fd5b505050505050565b6000806000610631613a80565b63409feecd198054600382558015611cdc5760018160011c14303b10611cd35763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611d035760405163fe5afcb960e01b815260040160405180910390fd5b8161014001358261022001351115611d2e57604051633f63c5bf60e01b815260040160405180910390fd5b611d43611d3e60208401846151c9565b613ab1565b611d68611d536060840184615a07565b611d6360a08601608087016151c9565b613aed565b611d8a611d786020840184615a07565b611d856040860186615a07565b613b2e565b611d92613b6b565b611dbd611da6610100840160e085016151c9565b611db861012085016101008601615a4d565b613ba1565b611dd7611dd2610140840161012085016151c9565b613bcc565b611de5826101400135613c31565b611dff611dfa6101a0840161018085016151c9565b613c9d565b611e19611e14610180840161016085016151c9565b613cfe565b611e33611e2e6101c084016101a085016151ac565b613d5f565b611e4d611e486101e084016101c085016151c9565b613ddd565b611e55613e2c565b611e6f611e6a61020084016101e085016151ac565b613e57565b611e77613f01565b611e7f613f2c565b611ea3611e90610240840184615a68565b611e9e610260860186615a68565b613f57565b611ec8611eb360a0840184615a07565b611ec360e0860160c087016151c9565b6140bc565b6000611edc610220840161020085016151c9565b6001600160a01b031614611f1f5760005b826102200135811015611f1d57611f14611f0f610220850161020086016151c9565b614124565b50600101611eed565b505b8015611635576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611f5f613957565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611fdb8383836118f6565b813b15611a0757611a07838383604051806020016040528060008152506141cd565b612005613957565b6116358282614251565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d148585858561203a638b78c6d8195490565b6040518663ffffffff1660e01b815260040161205a959493929190615ab1565b60006040518083038186803b15801561207257600080fd5b505af4158015612086573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610631613a80565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061211c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461214890615747565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b505050505090509250925050915091565b60606000610631613a80565b6121ba613957565b600080516020615e25833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b61220d61431e565b60005b81811015611a075761222183614124565b50600101612210565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806122635763ceea21b66000526004601cfd5b919050565b612270613957565b61227c60008083613a13565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161189f565b60006122c461431e565b61147682614124565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061231357604051633fa417ed60e11b815260040160405180910390fd5b61234581600001848154811061232b5761232b615aeb565b6000918252602090912001546001600160a01b03166143a0565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156123ee576123e9816143a0565b612345565b604051806020016040528060008152509392505050565b6000600080516020615e05833981519152611855565b60008161243057638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61245e613957565b61246860006143ce565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611855565b61249a613957565b80600080516020615ee58339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b0316801561254e57612549816143a0565b61255f565b604051806020016040528060008152505b949350505050565b61256f613957565b61257b60018484613a13565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a4016116a0565b6125d6613957565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b612640613957565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906116a090869086908690600401615b01565b612683613957565b611a6c8484848461440c565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d64468484846126b9638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b031660648201526084016116a0565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611855565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ab90615747565b61275a613957565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161189f565b6127a2613957565b600080516020615e0583398151915280548211156127d357604051632b953d0360e11b815260040160405180910390fd5b6127db614506565b8210156127fb57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b61283e613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b61288a613957565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906116a090869086908690600401615b23565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612923613957565b6118cb8585858585614515565b612938613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612980576040516352be865b60e01b815260040160405180910390fd5b8061298c838583615934565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6129c3613957565b600080516020615f058339815191528054600160a01b900460ff166129fb57604051638915b2e160e01b815260040160405180910390fd5b6001600160a01b03821615612a1357612a1382614623565b611635818361464e565b612a25613957565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d906064016116a0565b60603415612a8257600080fd5b611476612a8f84846146a6565b61473d565b6000600080516020615e858339815191525b60010154600160a01b900460ff16919050565b612ac1613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b612b108585856118f6565b833b156118cb576118cb85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506141cd92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612b9590615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc190615747565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509050919050565b612c22613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612c6a576040516352be865b60e01b815260040160405180910390fd5b6001810161298c838583615934565b6060612ca3826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612cc05760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2583398151915254600080516020615e85833981519152906001600160a01b031615612d6757600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123459190810190615b46565b600083815260028201602052604081208054612d8290615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612dae90615747565b8015612dfb5780601f10612dd057610100808354040283529160200191612dfb565b820191906000526020600020905b815481529060010190602001808311612dde57829003601f168201915b505050505090508051600014612e12579392505050565b81548290612e1f90615747565b9050600003612e3f57505060408051602081019091526000815292915050565b61255f826000018054612e5190615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612e7d90615747565b8015612eca5780601f10612e9f57610100808354040283529160200191612eca565b820191906000526020600020905b815481529060010190602001808311612ead57829003601f168201915b50505050508561474d565b600080516020615e45833981519152805460009182918410612f0a5760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612f2157612f21615aeb565b60009182526020909120600290910201805490915060ff166001811115612f4a57612f4a6155fc565b8160010154935093505050915091565b6000600080516020615e858339815191526118e4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611552565b6000600080516020615e45833981519152611855565b612fb6613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff1615612ffe5760405163dd48f3ab60e01b815260040160405180910390fd5b8061300a838583615934565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161303c9291906159f3565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61308d613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b6130d9613957565b600080516020615ec5833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61312c613957565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b6131a1613957565b6131ad60018585613a13565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061205a9087908790879087903390600401615ab1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061323c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461326890615747565b80156132b55780601f1061328a576101008083540402835291602001916132b5565b820191906000526020600020905b81548152906001019060200180831161329857829003601f168201915b5050505050905092509250505b9250929050565b600080516020615ec583398151915254606090600080516020615ea5833981519152906001600160a01b03161561337057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613342573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261336a9190810190615b46565b91505090565b80600101805461337f90615747565b1590506134195780600101805461339590615747565b80601f01602080910402602001604051908101604052809291908181526020018280546133c190615747565b801561340e5780601f106133e35761010080835404028352916020019161340e565b820191906000526020600020905b8154815290600101906020018083116133f157829003601f168201915b505050505091505090565b8054819061342690615747565b905060000361344357505060408051602081019091526000815290565b8061344d46614795565b613456306147d9565b60405160200161346893929190615c0b565b60405160208183030381529060405291505090565b6000600080516020615e45833981519152612aa6565b6060600080516020615ea5833981519152612744565b6134b1613957565b63389a75e1600c52806000526020600c2080544211156134d957636f5e88186000526004601cfd5b600090556134e6816143ce565b50565b60008060008060008060006060610631613a80565b613506613957565b8060601b61351c57637448fbae6000526004601cfd5b6134e6816143ce565b61352d613957565b61353960018383613a13565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c64565b613586613957565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6135fb613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff16156136435760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910161282a565b60006136cf826147fd565b806114765750611476826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613723826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114765750506001600160e01b031916632483248360e11b1490565b600061374b826147fd565b8061147657506001600160e01b031982166307ccd03560e31b1492915050565b6000613776826147fd565b806114765750632a55205a60e083901c9081146301ffc9a79190911417611476565b60006137a3826147fd565b8061147657506001600160e01b03198216632b435fdb60e21b14806137d857506001600160e01b0319821663503e914d60e11b145b80156114765750600080516020615f0583398151915254600160a01b900460ff1692915050565b600061380a826147fd565b8061147657506001600160e01b03198216636cbdef6160e01b1492915050565b6000613835826147fd565b8061147657506001600160e01b031982166303aa30b960e11b1492915050565b6000613860826147fd565b8061147657506001600160e01b0319821663362d3e2b60e21b1492915050565b600061388b826147fd565b8061147657506001600160e01b03198216635c975abb60e01b1492915050565b60006138b6826147fd565b8061147657506001600160e01b031982166317afae4360e01b1492915050565b60006138e182614833565b8061147657506001600160e01b0319821663040a5d5760e51b1492915050565b600061390c826147fd565b8061147657506001600160e01b0319821663215f672360e21b1492915050565b6000613937826147fd565b8061147657506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612468576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816139b95763ceea21b66000526004601cfd5b8185148515176139df57816000526030600c20546139df57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613a265750631cd9595960e21b81145b8015613a3f5750613a3d631cd9595960e21b61485e565b155b8015613a575750613a5782631cd9595960e21b6148d5565b15613a755760405163108e179760e11b815260040160405180910390fd5b611a0783838361491c565b6149438061163563ffffffff8216565b611a0783838361497b565b613aa6838383614a47565b611a07818484614aca565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8583398151915280613b08848683615934565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613b5b858783615934565b5060018101611c90838583615934565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6120057f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614b9e565b6001600160a01b038116613bdd5750565b613be681614623565b600080516020615f05833981519152805460ff60a01b1916600160a01b178155612a137f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614b9e565b613c5c7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614b9e565b80600080516020615e05833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611810565b613cc87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614b9e565b6001600160a01b038116156134e657807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006135a9565b613d297fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614b9e565b6001600160a01b038116156134e657807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061314f565b613d8a7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614b9e565b80156134e657600080516020615e65833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611810565b613e087fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614b9e565b6001600160a01b038116156134e65780600080516020615ee58339815191526124ab565b6124687f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614b9e565b613e827f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614b9e565b8015613ec057604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161189f565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6124687fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614b9e565b6124687fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614b9e565b613f5f614c10565b60005b8381101561402157614019858583818110613f7f57613f7f615aeb565b9050602002810190613f919190615cba565b35868684818110613fa457613fa4615aeb565b9050602002810190613fb69190615cba565b60200135878785818110613fcc57613fcc615aeb565b9050602002810190613fde9190615cba565b60400135888886818110613ff457613ff4615aeb565b90506020028101906140069190615cba565b614014906060810190615a07565b614515565b600101613f62565b5060005b818110156118cb576140b483838381811061404257614042615aeb565b90506020028101906140549190615cda565b3584848481811061406757614067615aeb565b90506020028101906140799190615cda565b6020013585858581811061408f5761408f615aeb565b90506020028101906140a19190615cda565b6140af906040810190615a07565b61440c565b600101614025565b600080516020615ea5833981519152806140d7848683615934565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461414f81614c3b565b61416081631cd9595960e21b6148d5565b6141985760008060006141738486614c6a565b92509250925082156141945761419484631cd9595960e21b84600085614d1d565b5050505b6141a28282614dac565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015614214578060c08401826020870160045afa505b60208360a48301601c860160008a5af1614237573d15614237573d6000843e3d83fd5b508060e01b825114611c905763d1a57ed66000526004601cfd5b6103e861ffff821611156142785760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff166000036142d157614296600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6142df828261ffff16614e61565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016142c5565b638b78c6d819546001600160a01b0316330361433657565b600080516020615e658339815191525460ff1615614367576040516375ab03ab60e11b815260040160405180910390fd5b61436f61152e565b6001600160a01b0316336001600160a01b0316146124685760405163263ab11d60e21b815260040160405180910390fd5b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561447d57604051635fde02f960e01b815260040160405180910390fd5b600082900361449f576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016144c1848683615934565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144f693929190615b23565b60405180910390a2505050505050565b6000614510611831565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561459157604051635fde02f960e01b815260040160405180910390fd5b60008290036145b3576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016145dc848683615934565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161461293929190615b23565b60405180910390a350505050505050565b806001600160a01b03163b6000036134e657604051631ab5243360e31b815260040160405180910390fd5b81546001600160a01b038281166001600160a01b031983168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101613078565b600060405190506020815281816020015280604001808360051b808684378201808515614725575b835187018035602082018337600038823584305af46146f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106146ce575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60608261475946614795565b614762306147d9565b61476b85614795565b60405160200161477e9493929190615cf0565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806147b0575050819003601f19909101908152919050565b60606147e482614eb1565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147657506001600160e01b0319821663513fc9dd60e11b1492915050565b600061483e826147fd565b8061147657506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af41580156148b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114769190615d76565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b6149258161485e565b15611a075760405163149eae5760e01b815260040160405180910390fd5b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614975573d6000fd5b503d6000f35b600080516020615f05833981519152546001600160a01b03168061499f5750505050565b6001600160a01b03841615806149bc57506001600160a01b038316155b156149c75750505050565b6001600160a01b03811633036149dd5750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b158015614a3357600080fd5b505afa158015612086573d6000803e3d6000fd5b6001600160a01b038316614a8d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615da9565b90915550505050565b6001600160a01b038216611a07577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615dc2565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b005750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614b619190615dd9565b6000604051808303816000865af19150503d8060008114612086576040519150601f19603f3d011682016040523d82523d6000602084013e612086565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016142c5565b6124687f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614b9e565b600080516020615e058339815191525481106134e65760405163ba470cd560e01b815260040160405180910390fd5b600080516020615ee58339815191525460009081906001600160a01b031680614c9b57506000915081905080612399565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614cee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d129190615deb565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8d57600080fd5b505af4158015614da1573d6000803e3d6000fd5b505050505050505050565b614db860008383613a90565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614df65763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e2b5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163560008383613a9b565b6bffffffffffffffffffffffff1661271080821115614e885763350a88b36000526004601cfd5b8260601b80614e9f5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614ef1575050919050565b600060208284031215614f3257600080fd5b81356001600160e01b03198116811461234557600080fd5b60005b83811015614f65578181015183820152602001614f4d565b50506000910152565b60008151808452614f86816020860160208601614f4a565b601f01601f19169290920160200192915050565b6020815260006123456020830184614f6e565b600060208284031215614fbf57600080fd5b5035919050565b80356001600160a01b038116811461226357600080fd5b803565ffffffffffff8116811461226357600080fd5b60008083601f84011261500557600080fd5b5081356001600160401b0381111561501c57600080fd5b6020830191508360208260051b85010111156132c257600080fd5b60008060008060008060008060006101008a8c03121561505657600080fd5b8935985060208a01356009811061506c57600080fd5b975060408a01356007811061508057600080fd5b965061508e60608b01614fc6565b955061509c60808b01614fdd565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150c557600080fd5b6150d18c828d01614ff3565b915080935050809150509295985092959850929598565b600080604083850312156150fb57600080fd5b61510483614fc6565b946020939093013593505050565b60008083601f84011261512457600080fd5b5081356001600160401b0381111561513b57600080fd5b6020830191508360208285010111156132c257600080fd5b60008060006040848603121561516857600080fd5b8335925060208401356001600160401b0381111561518557600080fd5b61519186828701615112565b9497909650939450505050565b80151581146134e657600080fd5b6000602082840312156151be57600080fd5b81356123458161519e565b6000602082840312156151db57600080fd5b61234582614fc6565b6000806000606084860312156151f957600080fd5b61520284614fc6565b925061521060208501614fc6565b929592945050506040919091013590565b6000806040838503121561523457600080fd5b50508035926020909101359150565b60006020828403121561525557600080fd5b81356001600160401b0381111561526b57600080fd5b8201610280818503121561234557600080fd5b803561ffff8116811461226357600080fd5b600080604083850312156152a357600080fd5b6152ac83614fc6565b91506152ba6020840161527e565b90509250929050565b600080600080606085870312156152d957600080fd5b843593506020850135925060408501356001600160401b038111156152fd57600080fd5b61530987828801615112565b95989497509550505050565b600081518084526020840193506020830160005b82811015615347578151865260209586019590910190600101615329565b5093949350505050565b6020815260006123456020830184615315565b82815260406020820152600061255f6040830184614f6e565b60008060006060848603121561539257600080fd5b505081359360208301359350604090920135919050565b6040815260006153bc6040830185615315565b90508260208301529392505050565b6000806000606084860312156153e057600080fd5b8335925060208401356002811061521057600080fd5b6000806040838503121561540957600080fd5b61541283614fc6565b915060208301356154228161519e565b809150509250929050565b60008060008060006080868803121561544557600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561547057600080fd5b61547c88828901615112565b969995985093965092949392505050565b600080602083850312156154a057600080fd5b82356001600160401b038111156154b657600080fd5b6154c285828601615112565b90969095509350505050565b6000806000606084860312156154e357600080fd5b6154ec84614fc6565b92506154fa60208501614fc6565b915061550860408501614fc6565b90509250925092565b6000806020838503121561552457600080fd5b82356001600160401b0381111561553a57600080fd5b6154c285828601614ff3565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561559f57603f1987860301845261558a858351614f6e565b9450602093840193919091019060010161556e565b50929695505050505050565b6000806000806000608086880312156155c357600080fd5b6155cc86614fc6565b94506155da60208701614fc6565b93506040860135925060608601356001600160401b0381111561547057600080fd5b634e487b7160e01b600052602160045260246000fd5b60028110615622576156226155fc565b9052565b604081016156348285615612565b8260208301529392505050565b6000806040838503121561565457600080fd5b61565d83614fc6565b91506152ba60208401614fc6565b60098110615622576156226155fc565b60078110615622576156226155fc565b600061010082018a151583526156a4602084018b61566b565b6156b1604084018a61567b565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156157345761011f1987860301845261571f858351614f6e565b94506020938401939190910190600101615702565b50929d9c50505050505050505050505050565b600181811c9082168061575b57607f821691505b60208210810361577b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157c1602084018c61566b565b6157ce604084018b61567b565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158905786850361011f19018452823581811261583f57600080fd5b89016020810190356001600160401b0381111561585b57600080fd5b80360382131561586a57600080fd5b615875878284615781565b9650505060208301925060208401935060018201915061581f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158be606083018587615781565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611a0757806000526020600020601f840160051c810160208510156159145750805b601f840160051c820191505b818110156118cb5760008155600101615920565b6001600160401b0383111561594b5761594b6158d7565b61595f836159598354615747565b836158ed565b6000601f841160018114615993576000851561597b5750838201355b600019600387901b1c1916600186901b1783556118cb565b600083815260209020601f19861690835b828110156159c457868501358255602094850194600190920191016159a4565b50868210156159e15760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152600061255f602083018486615781565b6000808335601e19843603018112615a1e57600080fd5b8301803591506001600160401b03821115615a3857600080fd5b6020019150368190038213156132c257600080fd5b600060208284031215615a5f57600080fd5b6123458261527e565b6000808335601e19843603018112615a7f57600080fd5b8301803591506001600160401b03821115615a9957600080fd5b6020019150600581901b36038213156132c257600080fd5b858152846020820152608060408201526000615ad1608083018587615781565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615b156020830185615612565b826040830152949350505050565b838152604060208201526000615b3d604083018486615781565b95945050505050565b600060208284031215615b5857600080fd5b81516001600160401b03811115615b6e57600080fd5b8201601f81018413615b7f57600080fd5b80516001600160401b03811115615b9857615b986158d7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615bc657615bc66158d7565b604052818152828201602001861015615bde57600080fd5b615b3d826020830160208601614f4a565b60008151615c01818560208601614f4a565b9290920192915050565b6000808554615c1981615747565b600182168015615c305760018114615c4557615c75565b60ff1983168652811515820286019350615c75565b88600052602060002060005b83811015615c6d57815488820152600190910190602001615c51565b505081860193505b505050602f60f81b81528451615c92816001840160208901614f4a565b01615ca360018201602f60f81b9052565b615cb06002820185615bef565b9695505050505050565b60008235607e19833603018112615cd057600080fd5b9190910192915050565b60008235605e19833603018112615cd057600080fd5b60008551615d02818460208a01614f4a565b602f60f81b9083019081528551615d20816001840160208a01614f4a565b602f60f81b600192909101918201528451615d42816002840160208901614f4a565b600181830101915050602f60f81b60018201528351615d68816002840160208801614f4a565b016002019695505050505050565b600060208284031215615d8857600080fd5b81516123458161519e565b634e487b7160e01b600052601160045260246000fd5b600060018201615dbb57615dbb615d93565b5060010190565b600081615dd157615dd1615d93565b506000190190565b60008251615cd0818460208701614f4a565b600060208284031215615dfd57600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a264697066735822122017eedf70b3cf5efab234613900244038aedaef68ac7c17d8377b32dd2e49622464736f6c634300081c0033";
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": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "clearContractParam", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearTokenParam", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "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": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "configureTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "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": "index", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "resolution", "type": "uint8", "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": "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": "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 OnChainMetadata.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 OnChainMetadata.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": "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": "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": "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": "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": "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": "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": "function", "name": "seedSource", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "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": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setContractParamData", "inputs": [{ "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "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": "registry", "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": "configureHook", "type": "address", "internalType": "address" }, { "name": "augmentHook", "type": "address", "internalType": "address" }, { "name": "transferHook", "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": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "value", "type": "bytes32", "internalType": "bytes32" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTokenParamData", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "data", "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": "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": "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": "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": "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": "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": "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 = "0x6080604052348015600f57600080fd5b506016601a565b607e565b63409feecd198054600181161560385763f92ee8a96000526004601cfd5b6001600160401b03808260011c146079578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b615f5a8061008d6000396000f3fe6080604052600436106106315760003560e01c80637d0b7ae411610329578063c3e617a2116101b6578063e42b7baf11610102578063f04e283e116100a0578063f8d3adc81161007a578063f8d3adc814611309578063fca3b5aa14611329578063fee81cf414611349578063ff87a5f51461137c57600080fd5b8063f04e283e146112af578063f2235701146112c2578063f2fde38b146112f657600080fd5b8063e8dc3e09116100dc578063e8dc3e09146111ff578063e985e9c51461124f578063ea58f97114611285578063ee748f2c1461129a57600080fd5b8063e42b7baf146111aa578063e4df18ec146111ca578063e8a3d485146111ea57600080fd5b8063d8b4f8ac1161016f578063dc98387911610149578063dc98387914611140578063e1b7938114611155578063e1c2ffad14611175578063e2969ba71461118a57600080fd5b8063d8b4f8ac146110f6578063d90f5df21461110b578063da2bbfc71461112057600080fd5b8063c3e617a214611058578063c4f2604814611078578063c87b56dd14611093578063cc1cf51514611078578063cfc59afd146110b3578063d50bac33146110e157600080fd5b80639a5db50311610275578063a9fc664e1161022e578063ac998f4511610208578063ac998f4514610ffb578063b478424714611010578063b88d4fde14611025578063bb77e7961461103857600080fd5b8063a9fc664e14610f9b578063aa0de18d14610fbb578063ac9650d814610fdb57600080fd5b80639a5db50314610eac5780639aa1a1f014610ec1578063a148d8cf14610ee1578063a22cb46514610f3b578063a482c94614610f5b578063a8cdf07814610f7b57600080fd5b8063909206e3116102e257806392d9906f116102bc57806392d9906f14610e4257806395d89b4114610e5757806396f4205a14610e6c57806397e950f714610e8c57600080fd5b8063909206e314610ad1578063913b385a14610e0257806392b29b1714610e2257600080fd5b80637d0b7ae414610d3257806384f6687f14610d6957806386b7f6a414610d895780638da5cb5b14610da95780638e08141f14610dc25780638e4cc07014610de257600080fd5b80633c59f1bb116104c25780635e5a9e301161040e5780636cb02818116103ac578063715018a611610386578063715018a614610cc9578063738e149614610cd157806375794a3c14610cfd5780637b1d470714610d1257600080fd5b80636cb0281814610c745780636cbdef6114610c9457806370a0823114610ca957600080fd5b806369053374116103e85780636905337414610bf45780636a62784214610c145780636aaf760714610c345780636bd3922214610c5457600080fd5b80635e5a9e3014610b9f5780635e83065614610bb45780636352211e14610bd457600080fd5b80634efdb5ae1161047b57806355828c501161045557806355828c5014610af35780635a50ca6514610b215780635b02f81c14610b4c5780635c975abb14610b7a57600080fd5b80634efdb5ae14610aa957806354d1f13d14610ac957806355580cca14610ad157600080fd5b80633c59f1bb146109d45780633d6e924b14610a135780633dda44b014610a3357806342842e0e14610a535780634331f63914610a665780634aa3adb314610a8657600080fd5b806318160ddd11610581578063256929621161053a578063298bb40e11610514578063298bb40e146109115780632a55205a146109265780632e73cddb146109655780633990b221146109b457600080fd5b806325692962146108d4578063261220a3146108dc57806326dfe8c7146108f157600080fd5b806318160ddd146107d65780631c31cac3146107f957806320ac0944146108195780632352b33f1461082e57806323b872dd146108ac57806325628d34146108bf57600080fd5b8063098144d4116105ee57806313bfffac116105c857806313bfffac1461076c5780631622326a1461078157806316c38b3c146107a157806317afae43146107c157600080fd5b8063098144d41461070f5780630b4c562b146107245780630d705df61461074457600080fd5b806301ffc9a71461063657806306fdde031461066b578063075461721461068d578063081812fc146106ba57806308a38395146106da578063095ea7b3146106fc575b600080fd5b34801561064257600080fd5b50610656610651366004614f20565b61139c565b60405190151581526020015b60405180910390f35b34801561067757600080fd5b5061068061147c565b6040516106629190614f9a565b34801561069957600080fd5b506106a261152e565b6040516001600160a01b039091168152602001610662565b3480156106c657600080fd5b506106a26106d5366004614fad565b611561565b3480156106e657600080fd5b506106fa6106f5366004615037565b6115a0565b005b6106fa61070a3660046150e8565b61162a565b34801561071b57600080fd5b506106a2611639565b34801561073057600080fd5b506106fa61073f366004615153565b61164f565b34801561075057600080fd5b506040805163657711f560e11b81526001602082015201610662565b34801561077857600080fd5b506106a26116d5565b34801561078d57600080fd5b506106fa61079c366004615153565b6116df565b3480156107ad57600080fd5b506106fa6107bc3660046151ac565b6117be565b3480156107cd57600080fd5b506106a261181b565b3480156107e257600080fd5b506107eb611831565b604051908152602001610662565b34801561080557600080fd5b506106fa6108143660046151c9565b61185b565b34801561082557600080fd5b506106a26118d2565b34801561083a57600080fd5b5061088f610849366004614fad565b60009081527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885301602052604090208054600190910154909160ff8083169261010090041690565b604080519384529115156020840152151590820152606001610662565b6106fa6108ba3660046151e4565b6118f6565b3480156108cb57600080fd5b506106fa611a0c565b6106fa611a72565b3480156108e857600080fd5b50610680611ac1565b3480156108fd57600080fd5b506106fa61090c3660046151c9565b611ad7565b34801561091d57600080fd5b50610680611b9d565b34801561093257600080fd5b50610946610941366004615221565b611bb3565b604080516001600160a01b039093168352602083019190915201610662565b34801561097157600080fd5b50610656610980366004614fad565b60009081527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454503602052604090205460ff1690565b3480156109c057600080fd5b506106fa6109cf366004615221565b611c08565b3480156109e057600080fd5b506109e9611c98565b604080516001600160a01b0394851681529284166020840152921691810191909152606001610662565b348015610a1f57600080fd5b506106fa610a2e366004615243565b611ca5565b348015610a3f57600080fd5b506106fa610a4e366004615221565b611f57565b6106fa610a613660046151e4565b611fd0565b348015610a7257600080fd5b506106fa610a81366004615290565b611ffd565b348015610a9257600080fd5b5060015b60405161ffff9091168152602001610662565b348015610ab557600080fd5b506106fa610ac43660046152c3565b61200f565b6106fa612090565b348015610add57600080fd5b50610ae66120cc565b6040516106629190615351565b348015610aff57600080fd5b50610b13610b0e366004614fad565b6120d6565b604051610662929190615364565b348015610b2d57600080fd5b50600080516020615ec5833981519152546001600160a01b03166106a2565b348015610b5857600080fd5b50610b6c610b6736600461537d565b6121a6565b6040516106629291906153a9565b348015610b8657600080fd5b50600080516020615e658339815191525460ff16610656565b348015610bab57600080fd5b506106fa6121b2565b348015610bc057600080fd5b506106fa610bcf3660046150e8565b612205565b348015610be057600080fd5b506106a2610bef366004614fad565b61222a565b348015610c0057600080fd5b506106fa610c0f366004614fad565b612268565b348015610c2057600080fd5b506107eb610c2f3660046151c9565b6122ba565b348015610c4057600080fd5b50610680610c4f366004614fad565b6122cd565b348015610c6057600080fd5b5061088f610c6f366004615221565b61234c565b348015610c8057600080fd5b50610680610c8f366004614fad565b6123a0565b348015610ca057600080fd5b506107eb612405565b348015610cb557600080fd5b506107eb610cc43660046151c9565b61241b565b6106fa612456565b348015610cdd57600080fd5b50600080516020615ec583398151915254600160a01b900460ff16610656565b348015610d0957600080fd5b506107eb61246a565b348015610d1e57600080fd5b506106fa610d2d3660046151c9565b612492565b348015610d3e57600080fd5b507fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9015460ff16610656565b348015610d7557600080fd5b50610680610d84366004615221565b6124f5565b348015610d9557600080fd5b506106fa610da436600461537d565b612567565b348015610db557600080fd5b50638b78c6d819546106a2565b348015610dce57600080fd5b506106fa610ddd366004614fad565b6125ce565b348015610dee57600080fd5b506106fa610dfd3660046153cb565b612638565b348015610e0e57600080fd5b506106fa610e1d3660046152c3565b61267b565b348015610e2e57600080fd5b506106fa610e3d36600461537d565b61268f565b348015610e4e57600080fd5b506107eb6126f8565b348015610e6357600080fd5b50610680612720565b348015610e7857600080fd5b506106fa610e873660046151c9565b612752565b348015610e9857600080fd5b506106fa610ea7366004614fad565b61279a565b348015610eb857600080fd5b506106fa612836565b348015610ecd57600080fd5b506106fa610edc366004615153565b612882565b348015610eed57600080fd5b50610656610efc366004615221565b60009182527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545016020908152604080842092845291905290205460ff1690565b348015610f4757600080fd5b506106fa610f563660046153f6565b6128c5565b348015610f6757600080fd5b506106fa610f7636600461542d565b61291b565b348015610f8757600080fd5b506106fa610f9636600461548d565b612930565b348015610fa757600080fd5b506106fa610fb63660046151c9565b6129bb565b348015610fc757600080fd5b506106fa610fd63660046154ce565b612a1d565b610fee610fe9366004615511565b612a75565b6040516106629190615546565b34801561100757600080fd5b50610656612a94565b34801561101c57600080fd5b506106fa612ab9565b6106fa6110333660046155ab565b612b05565b34801561104457600080fd5b50610680611053366004614fad565b612b59565b34801561106457600080fd5b506106fa61107336600461548d565b612c1a565b34801561108457600080fd5b50610b6c610b67366004615221565b34801561109f57600080fd5b506106806110ae366004614fad565b612c79565b3480156110bf57600080fd5b506110d36110ce366004614fad565b612ed5565b604051610662929190615626565b3480156110ed57600080fd5b506106a2612f5a565b34801561110257600080fd5b506106a2612f70565b34801561111757600080fd5b506107eb612f98565b34801561112c57600080fd5b506106fa61113b36600461548d565b612fae565b34801561114c57600080fd5b506106fa613085565b34801561116157600080fd5b50610ae6611170366004614fad565b6120cc565b34801561118157600080fd5b506106fa6130d1565b34801561119657600080fd5b506106fa6111a53660046151c9565b613124565b3480156111b657600080fd5b506106fa6111c53660046152c3565b613199565b3480156111d657600080fd5b50610b136111e5366004615221565b6131eb565b3480156111f657600080fd5b506106806132c9565b34801561120b57600080fd5b50610a9661121a366004614fad565b60009081527ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da500602052604090205461ffff1690565b34801561125b57600080fd5b5061065661126a366004615641565b601c52670a5a2e7a000000006008526000526030600c205490565b34801561129157600080fd5b5061065661347d565b3480156112a657600080fd5b50610680613493565b6106fa6112bd3660046151c9565b6134a9565b3480156112ce57600080fd5b506112e26112dd366004614fad565b6134e9565b60405161066298979695949392919061568b565b6106fa6113043660046151c9565b6134fe565b34801561131557600080fd5b506106fa611324366004615221565b613525565b34801561133557600080fd5b506106fa6113443660046151c9565b61357e565b34801561135557600080fd5b506107eb6113643660046151c9565b63389a75e1600c908152600091909152602090205490565b34801561138857600080fd5b506106fa6113973660046151c9565b6135f3565b60006113a7826136c4565b806113b657506113b6826136fb565b806113c557506113c582613740565b806113d457506113d48261376b565b806113e357506113e382613798565b806113f257506113f2826137ff565b8061140157506114018261382a565b80611410575061141082613855565b8061141f575061141f82613880565b8061142e575061142e826138ab565b8061143d575061143d826138d6565b8061144c575061144c82613901565b8061145b575061145b8261392c565b8061147657506001600160e01b031982166335313c2160e11b145b92915050565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b80546114ab90615747565b80601f01602080910402602001604051908101604052809291908181526020018280546114d790615747565b80156115245780601f106114f957610100808354040283529160200191611524565b820191906000526020600020905b81548152906001019060200180831161150757829003601f168201915b5050505050905090565b60007ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b546001600160a01b0316919050565b600081600052673ec412a9852d173d60c11b601c52602060002082018201805460601b6115965763ceea21b66000526004601cfd5b6001015492915050565b6115a8613957565b604051634fff7d7360e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90639ffefae6906115ef908c908c908c908c908c908c908c908c908c906004016157aa565b60006040518083038186803b15801561160757600080fd5b505af415801561161b573d6000803e3d6000fd5b50505050505050505050505050565b611635338383613972565b5050565b6000600080516020615f05833981519152611552565b611657613957565b61166360008085613a13565b6040516305d11a9560e11b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90630ba2352a906116a09086908690869033906004016158a4565b60006040518083038186803b1580156116b857600080fd5b505af41580156116cc573d6000803e3d6000fd5b50505050505050565b6000610631613a80565b6116e7613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff161561172f5760405163dd48f3ab60e01b815260040160405180910390fd5b6000848152600282016020526040902061174a838583615934565b50837fb6eb1726f47fa78e0661b9dfbdc5f7619acb28280ee5a4c2877ba301389b8547848460405161177d9291906159f3565b60405180910390a26040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150505050565b6117c6613957565b600080516020615e65833981519152805460ff19168215159081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c5906020015b60405180910390a150565b6000600080516020615ee5833981519152611552565b60007f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140005b54919050565b611863613957565b604051631c31cac360e01b81526001600160a01b038216600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac3906024015b60006040518083038186803b1580156118b757600080fd5b505af41580156118cb573d6000803e3d6000fd5b5050505050565b6000600080516020615e458339815191525b600101546001600160a01b0316919050565b611901838383613a90565b6000818152673ec412a9852d173d60c11b3317601c52602090208101810180546001600160a01b0394851694938416938116919082861483026119535767ceea21b6a1148100831560021b526004601cfd5b856000528160010154925082331486331417611981576030600c205461198157634b6e7f186000526004601cfd5b821561198f57600082600101555b85851818905550601c600c8181208054600019019055600084905220805460010163ffffffff811684026119d25767ea553b3401336cea841560021b526004601cfd5b90558082847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a4611a07838383613a9b565b505050565b611a14613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__6325628d346040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b505af4158015611a6c573d6000803e3d6000fd5b50505050565b60006202a3006001600160401b03164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6060600080516020615e858339815191526114a0565b611adf613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615611b27576040516352be865b60e01b815260040160405180910390fd5b6002810180546001600160a01b0319166001600160a01b0384169081179091556040517fe6f1f22044285d62d2558784b58a0c31432bc7648d22dbaaea4930898824d1a590600090a26040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a15050565b6060600080516020615ea58339815191526114a0565b600082815268aa4ec00224afccfdb76020526040812054606081901c91906127109083611be7576020515490508060601c93505b606084901b1884600019829004811182023d3d3e9396930204935090915050565b611c10613957565b611c1c60008084613a13565b60405163484eb8b760e11b815260048101839052602481018290526000604482015233606482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063909d716e906084015b60006040518083038186803b158015611c7c57600080fd5b505af4158015611c90573d6000803e3d6000fd5b505050505050565b6000806000610631613a80565b63409feecd198054600382558015611cdc5760018160011c14303b10611cd35763f92ee8a96000526004601cfd5b818160ff1b1b91505b50816101400135600003611d035760405163fe5afcb960e01b815260040160405180910390fd5b8161014001358261022001351115611d2e57604051633f63c5bf60e01b815260040160405180910390fd5b611d43611d3e60208401846151c9565b613ab1565b611d68611d536060840184615a07565b611d6360a08601608087016151c9565b613aed565b611d8a611d786020840184615a07565b611d856040860186615a07565b613b2e565b611d92613b6b565b611dbd611da6610100840160e085016151c9565b611db861012085016101008601615a4d565b613ba1565b611dd7611dd2610140840161012085016151c9565b613bcc565b611de5826101400135613c31565b611dff611dfa6101a0840161018085016151c9565b613c9d565b611e19611e14610180840161016085016151c9565b613cfe565b611e33611e2e6101c084016101a085016151ac565b613d5f565b611e4d611e486101e084016101c085016151c9565b613ddd565b611e55613e2c565b611e6f611e6a61020084016101e085016151ac565b613e57565b611e77613f01565b611e7f613f2c565b611ea3611e90610240840184615a68565b611e9e610260860186615a68565b613f57565b611ec8611eb360a0840184615a07565b611ec360e0860160c087016151c9565b6140bc565b6000611edc610220840161020085016151c9565b6001600160a01b031614611f1f5760005b826102200135811015611f1d57611f14611f0f610220850161020086016151c9565b614124565b50600101611eed565b505b8015611635576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15050565b611f5f613957565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450160209081526040808320848452909152808220805460ff1916600117905551829184917f343d28875e505596cf116678bd47a27e418fa3b47eb27e3174339fbd4120886e9190a35050565b611fdb8383836118f6565b813b15611a0757611a07838383604051806020016040528060008152506141cd565b612005613957565b6116358282614251565b73__$e7b790d12aa4dbca4f4490208141613ae5$__6333fe6d148585858561203a638b78c6d8195490565b6040518663ffffffff1660e01b815260040161205a959493929190615ab1565b60006040518083038186803b15801561207257600080fd5b505af4158015612086573d6000803e3d6000fd5b5050505050505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b6060610631613a80565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454502602052604081208054600182018054606093929190819061211c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461214890615747565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b505050505090509250925050915091565b60606000610631613a80565b6121ba613957565b600080516020615e25833981519152805460ff60a01b1916600160a01b1790556040517f8b769b3a01cbdf72953988af0afcdb53efe5d7be1a5eed58b179c98033048f7890600090a1565b61220d61431e565b60005b81811015611a075761222183614124565b50600101612210565b6000818152673ec412a9852d173d60c11b601c526020902081018101546001600160a01b0316806122635763ceea21b66000526004601cfd5b919050565b612270613957565b61227c60008083613a13565b6040516326a1473b60e21b81526004810182905233602482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90639a851cec9060440161189f565b60006122c461431e565b61147682614124565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900805460609190831061231357604051633fa417ed60e11b815260040160405180910390fd5b61234581600001848154811061232b5761232b615aeb565b6000918252602090912001546001600160a01b03166143a0565b9392505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300602090815260408083208484529091529020805460019091015460ff808216916101009004165b9250925092565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409020546060906001600160a01b031680156123ee576123e9816143a0565b612345565b604051806020016040528060008152509392505050565b6000600080516020615e05833981519152611855565b60008161243057638f4eb6046000526004601cfd5b673ec412a9852d173d60c11b601c528160005263ffffffff601c600c2054169050919050565b61245e613957565b61246860006143ce565b565b60007fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb00611855565b61249a613957565b80600080516020615ee58339815191525b80546001600160a01b0319166001600160a01b03928316179055604051908216907fa587ca6e3a69621cf0a1a1222297ef361d410bbacd249aea94164f0a9ac972b990600090a250565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208484529091529020546060906001600160a01b0316801561254e57612549816143a0565b61255f565b604051806020016040528060008152505b949350505050565b61256f613957565b61257b60018484613a13565b604051638381281760e01b81526004810184905260248101839052604481018290526000606482015233608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a4016116a0565b6125d6613957565b60008181527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545036020526040808220805460ff191660011790555182917fce2a054ebbb133d6f94c43a19f436f3e1f28d4f6224994501dc74a8b7c98d6f191a250565b612640613957565b604051636b40ee4560e01b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90636b40ee45906116a090869086908690600401615b01565b612683613957565b611a6c8484848461440c565b73__$e7b790d12aa4dbca4f4490208141613ae5$__63d84d64468484846126b9638b78c6d8195490565b6040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526001600160a01b031660648201526084016116a0565b60007fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c900611855565b60607f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e005b60010180546114ab90615747565b61275a613957565b604051634b7a102d60e11b81526001600160a01b038216600482015273__$6291d8d4921f3b8599a79728b6ec9d05a9$__906396f4205a9060240161189f565b6127a2613957565b600080516020615e0583398151915280548211156127d357604051632b953d0360e11b815260040160405180910390fd5b6127db614506565b8210156127fb57604051635924048560e11b815260040160405180910390fd5b8181556040518281527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d590906020015b60405180910390a15050565b61283e613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__639a5db5036040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b61288a613957565b6040516309aa1a1f60e41b815273__$6291d8d4921f3b8599a79728b6ec9d05a9$__90639aa1a1f0906116a090869086908690600401615b23565b801515905081601c52670a5a2e7a0000000060085233600052806030600c2055806000528160601b60601c337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a35050565b612923613957565b6118cb8585858585614515565b612938613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612980576040516352be865b60e01b815260040160405180910390fd5b8061298c838583615934565b506040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a1505050565b6129c3613957565b600080516020615f058339815191528054600160a01b900460ff166129fb57604051638915b2e160e01b815260040160405180910390fd5b6001600160a01b03821615612a1357612a1382614623565b611635818361464e565b612a25613957565b60405163aa0de18d60e01b81526001600160a01b03808516600483015280841660248301528216604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063aa0de18d906064016116a0565b60603415612a8257600080fd5b611476612a8f84846146a6565b61473d565b6000600080516020615e858339815191525b60010154600160a01b900460ff16919050565b612ac1613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63b47842476040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b612b108585856118f6565b833b156118cb576118cb85858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506141cd92505050565b60008181527f3ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee523820260205260409020805460609190612b9590615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc190615747565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509050919050565b612c22613957565b600080516020615ec583398151915254600080516020615ea583398151915290600160a01b900460ff1615612c6a576040516352be865b60e01b815260040160405180910390fd5b6001810161298c838583615934565b6060612ca3826000818152673ec412a9852d173d60c11b601c52602090208101015460601b151590565b612cc05760405163163a09e160e31b815260040160405180910390fd5b600080516020615e2583398151915254600080516020615e85833981519152906001600160a01b031615612d6757600181015460405163e9dc637560e01b8152306004820152602481018590526001600160a01b039091169063e9dc637590604401600060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123459190810190615b46565b600083815260028201602052604081208054612d8290615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612dae90615747565b8015612dfb5780601f10612dd057610100808354040283529160200191612dfb565b820191906000526020600020905b815481529060010190602001808311612dde57829003601f168201915b505050505090508051600014612e12579392505050565b81548290612e1f90615747565b9050600003612e3f57505060408051602081019091526000815292915050565b61255f826000018054612e5190615747565b80601f0160208091040260200160405190810160405280929190818152602001828054612e7d90615747565b8015612eca5780601f10612e9f57610100808354040283529160200191612eca565b820191906000526020600020905b815481529060010190602001808311612ead57829003601f168201915b50505050508561474d565b600080516020615e45833981519152805460009182918410612f0a5760405163872a384760e01b815260040160405180910390fd5b6000816000018581548110612f2157612f21615aeb565b60009182526020909120600290910201805490915060ff166001811115612f4a57612f4a6155fc565b8160010154935093505050915091565b6000600080516020615e858339815191526118e4565b60007fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb100611552565b6000600080516020615e45833981519152611855565b612fb6613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff1615612ffe5760405163dd48f3ab60e01b815260040160405180910390fd5b8061300a838583615934565b507f7badbc9773e4168868b57fcb64bf0c0cff6e656211bd103878c9dbb38ef6df1b838360405161303c9291906159f3565b60405180910390a1604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91015b60405180910390a1505050565b61308d613957565b73__$6291d8d4921f3b8599a79728b6ec9d05a9$__63dc9838796040518163ffffffff1660e01b815260040160006040518083038186803b158015611a5857600080fd5b6130d9613957565b600080516020615ec5833981519152805460ff60a01b1916600160a01b1790556040517fcd419d1c99778024e5d38fbd1171e65ae5db98bef0e26a8b2acd746c93d328a990600090a1565b61312c613957565b807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb1005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f735e234f08b779775d950ca4199e3f0e6fb9318916b9fe6a8f417f467d3d0be090600090a250565b6131a1613957565b6131ad60018585613a13565b604051622ed48360e81b815273__$e7b790d12aa4dbca4f4490208141613ae5$__90632ed483009061205a9087908790879087903390600401615ab1565b60008281527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545006020908152604080832084845290915281208054600182018054606093929190819061323c90615747565b80601f016020809104026020016040519081016040528092919081815260200182805461326890615747565b80156132b55780601f1061328a576101008083540402835291602001916132b5565b820191906000526020600020905b81548152906001019060200180831161329857829003601f168201915b5050505050905092509250505b9250929050565b600080516020615ec583398151915254606090600080516020615ea5833981519152906001600160a01b03161561337057600281015460405162844d1360e01b81523060048201526001600160a01b039091169062844d1390602401600060405180830381865afa158015613342573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261336a9190810190615b46565b91505090565b80600101805461337f90615747565b1590506134195780600101805461339590615747565b80601f01602080910402602001604051908101604052809291908181526020018280546133c190615747565b801561340e5780601f106133e35761010080835404028352916020019161340e565b820191906000526020600020905b8154815290600101906020018083116133f157829003601f168201915b505050505091505090565b8054819061342690615747565b905060000361344357505060408051602081019091526000815290565b8061344d46614795565b613456306147d9565b60405160200161346893929190615c0b565b60405160208183030381529060405291505090565b6000600080516020615e45833981519152612aa6565b6060600080516020615ea5833981519152612744565b6134b1613957565b63389a75e1600c52806000526020600c2080544211156134d957636f5e88186000526004601cfd5b600090556134e6816143ce565b50565b60008060008060008060006060610631613a80565b613506613957565b8060601b61351c57637448fbae6000526004601cfd5b6134e6816143ce565b61352d613957565b61353960018383613a13565b6040516392b8e73960e01b8152600481018390526024810182905233604482015273__$e7b790d12aa4dbca4f4490208141613ae5$__906392b8e73990606401611c64565b613586613957565b807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba005b80546001600160a01b0319166001600160a01b03928316179055604051908216907f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6135fb613957565b600080516020615e2583398151915254600080516020615e8583398151915290600160a01b900460ff16156136435760405163dd48f3ab60e01b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0384169081179091556040517f0a42e806a9c71e303b437bd752f51dda9c77a3e72b6ec921e40918ad69e4908990600090a2604080516000815260001960208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910161282a565b60006136cf826147fd565b806114765750611476826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b6000613723826301ffc9a760e09190911c9081146380ac58cd821417635b5e139f9091141790565b806114765750506001600160e01b031916632483248360e11b1490565b600061374b826147fd565b8061147657506001600160e01b031982166307ccd03560e31b1492915050565b6000613776826147fd565b806114765750632a55205a60e083901c9081146301ffc9a79190911417611476565b60006137a3826147fd565b8061147657506001600160e01b03198216632b435fdb60e21b14806137d857506001600160e01b0319821663503e914d60e11b145b80156114765750600080516020615f0583398151915254600160a01b900460ff1692915050565b600061380a826147fd565b8061147657506001600160e01b03198216636cbdef6160e01b1492915050565b6000613835826147fd565b8061147657506001600160e01b031982166303aa30b960e11b1492915050565b6000613860826147fd565b8061147657506001600160e01b0319821663362d3e2b60e21b1492915050565b600061388b826147fd565b8061147657506001600160e01b03198216635c975abb60e01b1492915050565b60006138b6826147fd565b8061147657506001600160e01b031982166317afae4360e01b1492915050565b60006138e182614833565b8061147657506001600160e01b0319821663040a5d5760e51b1492915050565b600061390c826147fd565b8061147657506001600160e01b0319821663215f672360e21b1492915050565b6000613937826147fd565b8061147657506001600160e01b03198216636e1f1b9d60e11b1492915050565b638b78c6d819543314612468576382b429006000526004601cfd5b60001960601c828116925083811693508160005283673ec412a9852d173d60c11b17601c52602060002082018201805482169150816139b95763ceea21b66000526004601cfd5b8185148515176139df57816000526030600c20546139df57634b6e7f186000526004601cfd5b6001018390558183827f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b828015613a265750631cd9595960e21b81145b8015613a3f5750613a3d631cd9595960e21b61485e565b155b8015613a575750613a5782631cd9595960e21b6148d5565b15613a755760405163108e179760e11b815260040160405180910390fd5b611a0783838361491c565b6149438061163563ffffffff8216565b611a0783838361497b565b613aa6838383614a47565b611a07818484614aca565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b600080516020615e8583398151915280613b08848683615934565b5060010180546001600160a01b0319166001600160a01b03929092169190911790555050565b7f74f07161264a0e552ca4d6551702023250b600e9654b0fc90b03d20d4b241e0080613b5b858783615934565b5060018101611c90838583615934565b604051600181527f504682639b64b53c29b166f0ebebb9f0a1d9c49b72ce9b619a9c7a31bf19bac09060200160405180910390a1565b6120057f09e61182b7e49969648b13fd433838b4986c1f310caae7d581425f15cdd288f56001614b9e565b6001600160a01b038116613bdd5750565b613be681614623565b600080516020615f05833981519152805460ff60a01b1916600160a01b178155612a137f0839e7ed7fc1f5db3f253851d61b10f852045c5520c2936138b121b73e7e27c06001614b9e565b613c5c7ffc3d02757bdfa0493eef097e21360d5e8ba1f3fe4fa2b1e37ffb556009ce40a36001614b9e565b80600080516020615e05833981519152556040518181527f2ca412ce409c9392eff6b8f8106241734e88d260744fc920ff27a80b0571d59090602001611810565b613cc87fe07e94f8a0badc701a9aab7c6b66e86d7a9ff5e361256a73d13a9251887d9a066001614b9e565b6001600160a01b038116156134e657807ffd2506f658934c1c6361cda4a2bf52f43609927816d1376555d0cb1ae593ba006135a9565b613d297fc9177dd2f210cbd51b17bbe123e21aea380a89860c8f744cb9a234e42e4525356001614b9e565b6001600160a01b038116156134e657807fb12267785371ecd1fa011470e352d971eef8208fa0d993253018291e32cbb10061314f565b613d8a7f953f3b4aac717f9d6e4f747d3bd6a42608728478e6b398a8207cb157e1fbc3a26001614b9e565b80156134e657600080516020615e65833981519152805460ff191660019081179091556040519081527f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590602001611810565b613e087fadf163e8ee3434ba3f5fc073112c18881cd3752509cc86560b1bb64d8aa4f6876001614b9e565b6001600160a01b038116156134e65780600080516020615ee58339815191526124ab565b6124687f710d217d7719955f00168e31b6b8c3c9fb8255d7caaea0010e20d28ca7fdb8a96002614b9e565b613e827f0245d8eeb976653d00fd45d239be9beef9164b46f7e4864bb70910530da6fb356002614b9e565b8015613ec057604051631c31cac360e01b81526000600482015273__$e7b790d12aa4dbca4f4490208141613ae5$__90631c31cac39060240161189f565b507f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480546001600160a01b0319166c447e69651d841bd8d104bed493179055565b6124687fe8a80ea5b2e256dbfd75524b770700fcc33748c25ec4d2653106462a151e1d556001614b9e565b6124687fd50d7b8118c4a0d7d74a937e55e5872032e5727784c397383d9b9f28ff4f0b1d6001614b9e565b613f5f614c10565b60005b8381101561402157614019858583818110613f7f57613f7f615aeb565b9050602002810190613f919190615cba565b35868684818110613fa457613fa4615aeb565b9050602002810190613fb69190615cba565b60200135878785818110613fcc57613fcc615aeb565b9050602002810190613fde9190615cba565b60400135888886818110613ff457613ff4615aeb565b90506020028101906140069190615cba565b614014906060810190615a07565b614515565b600101613f62565b5060005b818110156118cb576140b483838381811061404257614042615aeb565b90506020028101906140549190615cda565b3584848481811061406757614067615aeb565b90506020028101906140799190615cda565b6020013585858581811061408f5761408f615aeb565b90506020028101906140a19190615cda565b6140af906040810190615a07565b61440c565b600101614025565b600080516020615ea5833981519152806140d7848683615934565b506002810180546001600160a01b0319166001600160a01b0384161790556040517fa5d4097edda6d87cb9329af83fb3712ef77eeb13738ffe43cc35a4ce305ad96290600090a150505050565b7fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb005461414f81614c3b565b61416081631cd9595960e21b6148d5565b6141985760008060006141738486614c6a565b92509250925082156141945761419484631cd9595960e21b84600085614d1d565b5050505b6141a28282614dac565b600181017fb506e4dec18c722536887b2b4ba51ff118b450c2697ed71164a039b9c3eceb0055919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015614214578060c08401826020870160045afa505b60208360a48301601c860160008a5af1614237573d15614237573d6000843e3d83fd5b508060e01b825114611c905763d1a57ed66000526004601cfd5b6103e861ffff821611156142785760405163c2b03beb60e01b815260040160405180910390fd5b8061ffff166000036142d157614296600068aa4ec00224afccfdb755565b6040516000808252907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020015b60405180910390a25050565b6142df828261ffff16614e61565b60405161ffff821681526001600160a01b038316907f31bed5a4e90d5d8db9c195c22572a4f3ce3ec713b8f0dcb2460163fdeaae7c2d906020016142c5565b638b78c6d819546001600160a01b0316330361433657565b600080516020615e658339815191525460ff1615614367576040516375ab03ab60e11b815260040160405180910390fd5b61436f61152e565b6001600160a01b0316336001600160a01b0316146124685760405163263ab11d60e21b815260040160405180910390fd5b60405164ffffffffff600019833b0116602181016000601f8401853c80825260408201810160405250919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008481527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e036745450360205260409020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561447d57604051635fde02f960e01b815260040160405180910390fd5b600082900361449f576040516366e0344f60e01b815260040160405180910390fd5b60008581526002820160205260409020848155600181016144c1848683615934565b50857f022ada79fe543e5c5e78cbc0fa47578cd78eba5b1f006ba0b3c7c60bf141d2218686866040516144f693929190615b23565b60405180910390a2505050505050565b6000614510611831565b905090565b60008581527f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e0367454501602090815260408083208784529091529020547f80f87959b941616d4eea580c4e35eed35538551b7d95a862a1f82e03674545009060ff161561459157604051635fde02f960e01b815260040160405180910390fd5b60008290036145b3576040516366e0344f60e01b815260040160405180910390fd5b6000868152602082815260408083208884529091529020848155600181016145dc848683615934565b5085877f4cf265523b2e2bbfd6e0cdee6843f0d281e9cdbcb33800bb56f4f6d0a0ac60a787878760405161461293929190615b23565b60405180910390a350505050505050565b806001600160a01b03163b6000036134e657604051631ab5243360e31b815260040160405180910390fd5b81546001600160a01b038281166001600160a01b031983168117855560408051929093168083526020830191909152917fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9101613078565b600060405190506020815281816020015280604001808360051b808684378201808515614725575b835187018035602082018337600038823584305af46146f0573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe01690508184106146ce575b806040528485820360401b1794505050505092915050565b8060401c816001600160401b0316f35b60608261475946614795565b614762306147d9565b61476b85614795565b60405160200161477e9493929190615cf0565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806147b0575050819003601f19909101908152919050565b60606147e482614eb1565b8051613078825260020160011990910190815292915050565b60006301ffc9a760e01b6001600160e01b03198316148061147657506001600160e01b0319821663513fc9dd60e11b1492915050565b600061483e826147fd565b8061147657506001600160e01b03198216638bd8666560e01b1492915050565b60405163016b37e160e11b81526004810182905260009073__$e7b790d12aa4dbca4f4490208141613ae5$__906302d66fc290602401602060405180830381865af41580156148b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114769190615d76565b60009182527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530060209081526040808420928452919052902060010154610100900460ff1690565b6149258161485e565b15611a075760405163149eae5760e01b815260040160405180910390fd5b73__$e7b790d12aa4dbca4f4490208141613ae5$__3660008037600080366000845af43d6000803e80614975573d6000fd5b503d6000f35b600080516020615f05833981519152546001600160a01b03168061499f5750505050565b6001600160a01b03841615806149bc57506001600160a01b038316155b156149c75750505050565b6001600160a01b03811633036149dd5750505050565b60405163657711f560e11b81523360048201526001600160a01b03858116602483015284811660448301526064820184905282169063caee23ea9060840160006040518083038186803b158015614a3357600080fd5b505afa158015612086573d6000803e3d6000fd5b6001600160a01b038316614a8d577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615da9565b90915550505050565b6001600160a01b038216611a07577f4c8cfe3e1c425e6d0aec832ba5c7cfdfb7c395ef369b06f6960bb2e27b9140008054600090614a8490615dc2565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546001600160a01b031680614b005750505050565b604051602481018590526001600160a01b03848116604483015283811660648301526000919083169060840160408051601f198184030181529181526020820180516001600160e01b0316633536840760e01b17905251614b619190615dd9565b6000604051808303816000865af19150503d8060008114612086576040519150601f19603f3d011682016040523d82523d6000602084013e612086565b807ffa76bae6ef10a019f97f9085d28d33ed734e3f2b3d0d04b8663f04b78d1da50060008481526020918252604090819020805461ffff191661ffff94851617905551918316825283917f29249b574611c0bd74efc455cbedce8cb27b4895d592edd0a0bd330cf489d58191016142c5565b6124687f2bdf776d17261ce184defba0b7b3e2cccd288be7cdbe6f7081cb993f3327f71c6001614b9e565b600080516020615e058339815191525481106134e65760405163ba470cd560e01b815260040160405180910390fd5b600080516020615ee58339815191525460009081906001600160a01b031680614c9b57506000915081905080612399565b60405163058e173960e11b8152600481018690526001600160a01b03858116602483015260019190831690630b1c2e72906044016020604051808303816000875af1158015614cee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d129190615deb565b925092509250925092565b604051638381281760e01b815260048101869052602481018590526044810184905282151560648201526001600160a01b038216608482015273__$e7b790d12aa4dbca4f4490208141613ae5$__9063838128179060a40160006040518083038186803b158015614d8d57600080fd5b505af4158015614da1573d6000803e3d6000fd5b505050505050505050565b614db860008383613a90565b8160601b60601c915080600052673ec412a9852d173d60c11b601c5260206000208101810180548060601b15614df65763c991cbb16000526004601cfd5b831790556000829052601c600c20805460010163ffffffff81168402614e2b5767ea553b3401336cea841560021b526004601cfd5b9055808260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8138a461163560008383613a9b565b6bffffffffffffffffffffffff1661271080821115614e885763350a88b36000526004601cfd5b8260601b80614e9f5763b4457eaa6000526004601cfd5b90911768aa4ec00224afccfdb7555050565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901614ef1575050919050565b600060208284031215614f3257600080fd5b81356001600160e01b03198116811461234557600080fd5b60005b83811015614f65578181015183820152602001614f4d565b50506000910152565b60008151808452614f86816020860160208601614f4a565b601f01601f19169290920160200192915050565b6020815260006123456020830184614f6e565b600060208284031215614fbf57600080fd5b5035919050565b80356001600160a01b038116811461226357600080fd5b803565ffffffffffff8116811461226357600080fd5b60008083601f84011261500557600080fd5b5081356001600160401b0381111561501c57600080fd5b6020830191508360208260051b85010111156132c257600080fd5b60008060008060008060008060006101008a8c03121561505657600080fd5b8935985060208a01356009811061506c57600080fd5b975060408a01356007811061508057600080fd5b965061508e60608b01614fc6565b955061509c60808b01614fdd565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156150c557600080fd5b6150d18c828d01614ff3565b915080935050809150509295985092959850929598565b600080604083850312156150fb57600080fd5b61510483614fc6565b946020939093013593505050565b60008083601f84011261512457600080fd5b5081356001600160401b0381111561513b57600080fd5b6020830191508360208285010111156132c257600080fd5b60008060006040848603121561516857600080fd5b8335925060208401356001600160401b0381111561518557600080fd5b61519186828701615112565b9497909650939450505050565b80151581146134e657600080fd5b6000602082840312156151be57600080fd5b81356123458161519e565b6000602082840312156151db57600080fd5b61234582614fc6565b6000806000606084860312156151f957600080fd5b61520284614fc6565b925061521060208501614fc6565b929592945050506040919091013590565b6000806040838503121561523457600080fd5b50508035926020909101359150565b60006020828403121561525557600080fd5b81356001600160401b0381111561526b57600080fd5b8201610280818503121561234557600080fd5b803561ffff8116811461226357600080fd5b600080604083850312156152a357600080fd5b6152ac83614fc6565b91506152ba6020840161527e565b90509250929050565b600080600080606085870312156152d957600080fd5b843593506020850135925060408501356001600160401b038111156152fd57600080fd5b61530987828801615112565b95989497509550505050565b600081518084526020840193506020830160005b82811015615347578151865260209586019590910190600101615329565b5093949350505050565b6020815260006123456020830184615315565b82815260406020820152600061255f6040830184614f6e565b60008060006060848603121561539257600080fd5b505081359360208301359350604090920135919050565b6040815260006153bc6040830185615315565b90508260208301529392505050565b6000806000606084860312156153e057600080fd5b8335925060208401356002811061521057600080fd5b6000806040838503121561540957600080fd5b61541283614fc6565b915060208301356154228161519e565b809150509250929050565b60008060008060006080868803121561544557600080fd5b85359450602086013593506040860135925060608601356001600160401b0381111561547057600080fd5b61547c88828901615112565b969995985093965092949392505050565b600080602083850312156154a057600080fd5b82356001600160401b038111156154b657600080fd5b6154c285828601615112565b90969095509350505050565b6000806000606084860312156154e357600080fd5b6154ec84614fc6565b92506154fa60208501614fc6565b915061550860408501614fc6565b90509250925092565b6000806020838503121561552457600080fd5b82356001600160401b0381111561553a57600080fd5b6154c285828601614ff3565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561559f57603f1987860301845261558a858351614f6e565b9450602093840193919091019060010161556e565b50929695505050505050565b6000806000806000608086880312156155c357600080fd5b6155cc86614fc6565b94506155da60208701614fc6565b93506040860135925060608601356001600160401b0381111561547057600080fd5b634e487b7160e01b600052602160045260246000fd5b60028110615622576156226155fc565b9052565b604081016156348285615612565b8260208301529392505050565b6000806040838503121561565457600080fd5b61565d83614fc6565b91506152ba60208401614fc6565b60098110615622576156226155fc565b60078110615622576156226155fc565b600061010082018a151583526156a4602084018b61566b565b6156b1604084018a61567b565b6001600160a01b038816606084015265ffffffffffff8716608084015260a0830186905260c0830185905261010060e0840152835190819052610120600582901b8401810191908401906020860160005b828110156157345761011f1987860301845261571f858351614f6e565b94506020938401939190910190600101615702565b50929d9c50505050505050505050505050565b600181811c9082168061575b57607f821691505b60208210810361577b57634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061010082018b83526157c1602084018c61566b565b6157ce604084018b61567b565b6001600160a01b038916606084015265ffffffffffff8816608084015260a0830187905260c0830186905261010060e0840152839052610120600584901b83018101908301856000601e1936839003015b878210156158905786850361011f19018452823581811261583f57600080fd5b89016020810190356001600160401b0381111561585b57600080fd5b80360382131561586a57600080fd5b615875878284615781565b9650505060208301925060208401935060018201915061581f565b50929e9d5050505050505050505050505050565b8481526060602082015260006158be606083018587615781565b905060018060a01b038316604083015295945050505050565b634e487b7160e01b600052604160045260246000fd5b601f821115611a0757806000526020600020601f840160051c810160208510156159145750805b601f840160051c820191505b818110156118cb5760008155600101615920565b6001600160401b0383111561594b5761594b6158d7565b61595f836159598354615747565b836158ed565b6000601f841160018114615993576000851561597b5750838201355b600019600387901b1c1916600186901b1783556118cb565b600083815260209020601f19861690835b828110156159c457868501358255602094850194600190920191016159a4565b50868210156159e15760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152600061255f602083018486615781565b6000808335601e19843603018112615a1e57600080fd5b8301803591506001600160401b03821115615a3857600080fd5b6020019150368190038213156132c257600080fd5b600060208284031215615a5f57600080fd5b6123458261527e565b6000808335601e19843603018112615a7f57600080fd5b8301803591506001600160401b03821115615a9957600080fd5b6020019150600581901b36038213156132c257600080fd5b858152846020820152608060408201526000615ad1608083018587615781565b905060018060a01b03831660608301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b83815260608101615b156020830185615612565b826040830152949350505050565b838152604060208201526000615b3d604083018486615781565b95945050505050565b600060208284031215615b5857600080fd5b81516001600160401b03811115615b6e57600080fd5b8201601f81018413615b7f57600080fd5b80516001600160401b03811115615b9857615b986158d7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715615bc657615bc66158d7565b604052818152828201602001861015615bde57600080fd5b615b3d826020830160208601614f4a565b60008151615c01818560208601614f4a565b9290920192915050565b6000808554615c1981615747565b600182168015615c305760018114615c4557615c75565b60ff1983168652811515820286019350615c75565b88600052602060002060005b83811015615c6d57815488820152600190910190602001615c51565b505081860193505b505050602f60f81b81528451615c92816001840160208901614f4a565b01615ca360018201602f60f81b9052565b615cb06002820185615bef565b9695505050505050565b60008235607e19833603018112615cd057600080fd5b9190910192915050565b60008235605e19833603018112615cd057600080fd5b60008551615d02818460208a01614f4a565b602f60f81b9083019081528551615d20816001840160208a01614f4a565b602f60f81b600192909101918201528451615d42816002840160208901614f4a565b600181830101915050602f60f81b60018201528351615d68816002840160208801614f4a565b016002019695505050505050565b600060208284031215615d8857600080fd5b81516123458161519e565b634e487b7160e01b600052601160045260246000fd5b600060018201615dbb57615dbb615d93565b5060010190565b600081615dd157615dd1615d93565b506000190190565b60008251615cd0818460208701614f4a565b600060208284031215615dfd57600080fd5b505191905056fee2fd7cd005c094ca9b5c90b5a0703ced80f68aa0c3916f83d8a62f0e3ee557003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee52382013e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02001f800e850f043baed2188273dc44bf91da9eadb2c0bb718496c456414f4967003ddb67fd36df1b660b70192b8fc57a1c237e14d9a15f3d437d61fe4ee5238200ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e700ad7f964ded3ab37f504a36affe565a0c46e794355a5fbb8c096f7c853d41e70266115bce462632775fb33255a224d3f7018e880391f39be3115ceb7ca3f7b6009951623149c334823208d56adab511a5cc14044382fa5f53cd33b5848a276d00a264697066735822122017eedf70b3cf5efab234613900244038aedaef68ac7c17d8377b32dd2e49622464736f6c634300081c0033";
16
16
  export const abxSeedSourceAbi = [{ "type": "function", "name": "seed", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }];
17
17
  export const abxSeedSourceBytecode = "0x6080604052348015600f57600080fd5b5061019a8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80630b1c2e7214610030575b600080fd5b61004361003e3660046100e1565b610055565b60405190815260200160405180910390f35b60003383834461006660014361012a565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606096871b8116602083015260348201959095529290941b90921660548201526068810191909152904060888201524260a882015260c8016040516020818303038152906040528051906020012090505b92915050565b600080604083850312156100f457600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff8116811461011f57600080fd5b809150509250929050565b818103818111156100db577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212208bd690ae1228a7de1abfd64fc090e0e5de7506a54a027895d588571cf8851b7764736f6c634300081c0033";
18
- export const abxParamsLibAbi = [{ "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": "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": "InvalidParamSchema", "inputs": [] }, { "type": "error", "name": "InvalidParamValue", "inputs": [] }, { "type": "error", "name": "NoParamSchema", "inputs": [] }, { "type": "error", "name": "NotParamAuthorized", "inputs": [] }, { "type": "error", "name": "ParamLockExpired", "inputs": [] }, { "type": "error", "name": "ParamNotSet", "inputs": [] }, { "type": "error", "name": "WrongValuePath", "inputs": [] }];
19
- export const abxParamsLibBytecode = "0x6124eb610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100d35760003560e01c8063909d716e1161008b5780639ffefae6116100655780639ffefae6146101da578063aa0de18d146101fa578063d84d64461461021a57600080fd5b8063909d716e1461017a57806392b8e7391461019a5780639a851cec146101ba57600080fd5b80632ed48300116100bc5780632ed483001461011a57806333fe6d141461013a578063838128171461015a57600080fd5b80630ba2352a146100d85780631c31cac3146100fa575b600080fd5b8180156100e457600080fd5b506100f86100f3366004611c92565b61023a565b005b81801561010657600080fd5b506100f8610115366004611cf1565b610351565b81801561012657600080fd5b506100f8610135366004611d0e565b6103df565b81801561014657600080fd5b506100f8610155366004611d0e565b610504565b81801561016657600080fd5b506100f8610175366004611d87565b610602565b81801561018657600080fd5b506100f8610195366004611dcf565b6107cd565b8180156101a657600080fd5b506100f86101b5366004611e0e565b61099f565b8180156101c657600080fd5b506100f86101d5366004611e47565b610b12565b8180156101e657600080fd5b506100f86101f5366004611ed2565b610caf565b81801561020657600080fd5b506100f8610215366004611f84565b61112a565b81801561022657600080fd5b506100f8610235366004611fc4565b61124a565b6000829003610275576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102b483838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112f692505050565b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092179091555161034b90859061033b9086908690611ffa565b60405180910390206001846107cd565b50505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f45f18b5e88ce952d701fc020d1b6358f7380553c64fd639216568803f072105590600090a250565b600082900361041a576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045983838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112f692505050565b60008681527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208884529091529081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155516104fd90869086906104ed9087908790611ffa565b6040518091039020600185610602565b5050505050565b600061051186868461133a565b905060078154610100900460ff1660088111156105305761053061200a565b14158015610559575060088154610100900460ff1660088111156105565761055661200a565b14155b15610590576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008390036105cb576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105ed868686866040516105e0929190611ffa565b604051809103902061145d565b6105fa86868686336103df565b505050505050565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853008215801561066157506000868152600282016020908152604080832088845290915290205473ffffffffffffffffffffffffffffffffffffffff1615155b156106a85760008681526002820160209081526040808320888452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301828152600184860181815260008d81528885528781208d825285528790209551865591519401805491517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009092169415157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1694909417610100911515919091021790925582518781529182015273ffffffffffffffffffffffffffffffffffffffff841691879189917fde0436cfd14f6250e38daf8e3605d7a54612abb0d9a1ac04278609edb949cd78910160405180910390a46040518681527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885300821580156108215750600085815260038201602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b1561085d576000858152600382016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301828152600184860181815260008c815288830185528790209551865591519401805491517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009092169415157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1694909417610100911515919091021790925582518781529182015273ffffffffffffffffffffffffffffffffffffffff84169187917fbf1b8f39d36a4cce40517cfc4e2f6dc657084b06295ee413186ecc58050e0a57910160405180910390a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050505050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020818152604080842086855290915290912060010154610100900460ff16610a1a576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260208281526040808320868452825280832083815560010180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016905586835260028401825280832086845290915280822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555173ffffffffffffffffffffffffffffffffffffffff841691859187917feb7b2bd8dec13c1b2bc4577645e93c668e7071d4d417003ecf89c4dd718d8f9391a46040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020015b60405180910390a150505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530160205260409020600101547ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530090610100900460ff16610ba3576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260018083016020908152604080842084815590920180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016905560038401905280822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555173ffffffffffffffffffffffffffffffffffffffff84169185917f64e0133266c985f5558f93bca4421f7ca6a7f4f1cce7c77b10b4bb6d2a7e5f199190a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b6001886008811115610cc357610cc361200a565b03610d08576000819003610d03576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d40565b8015610d40576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003886008811115610d5457610d5461200a565b03610d985782841315610d93576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ddd565b8215801590610da657508284115b15610ddd576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002886006811115610df357610df361200a565b1480610e1057506004886006811115610e0e57610e0e61200a565b145b80610e2c57506005886006811115610e2a57610e2a61200a565b145b80610e4857506006886006811115610e4657610e4661200a565b145b905080151573ffffffffffffffffffffffffffffffffffffffff8816151514610e9d576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008a81527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060205260409020805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008216811783558b9183917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090911617610100836008811115610f3357610f3361200a565b02179055508054899082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1662010000836006811115610f7657610f7661200a565b021790555080547fffffff0000000000000000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff8a16027fffffff000000000000ffffffffffffffffffffffffffffffffffffffffffffff16177701000000000000000000000000000000000000000000000065ffffffffffff8916021781556001810186905560028101859055611021600382016000611b8b565b60005b8381101561107d578160030185858381811061104257611042612039565b90506020028101906110549190612068565b82546001810184556000938452602090932090920191611074918361219b565b50600101611024565b508a7fa6fb8b1e69e21bd9e845799de9b9edf5cce8e3fb37c0c94a3889c0b90196cd798b8b8b8b8b8b8b8b6040516110bc9897969594939291906122fe565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050505050505050505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02805486831690841681179091557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e038054928616929093168217909255604080519384526020840192909252908201527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00907fb61a3c7213653cdbbf077c9c6ae03c44a5e6e9046e61048c4acd027dd54dcb0190606001610b04565b600061125785858461133a565b905060078154610100900460ff1660088111156112765761127661200a565b148061129c575060088154610100900460ff16600881111561129a5761129a61200a565b145b156112d3576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112dd818461153a565b6112e885858561145d565b6104fd858585600033610602565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816113345763301164256000526004601cfd5b90915290565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060205260409020805460ff166113a2576040517f7993a72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805477010000000000000000000000000000000000000000000000900465ffffffffffff1680158015906113dd57508065ffffffffffff1642115b15611414576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61141f82868561173f565b611455576040517ff3ef0f8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e015473ffffffffffffffffffffffffffffffffffffffff16806114a05750505050565b6040517f2962bf3e00000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810183905233606482015273ffffffffffffffffffffffffffffffffffffffff821690632962bf3e90608401600060405180830381600087803b15801561151c57600080fd5b505af1158015611530573d6000803e3d6000fd5b5050505050505050565b8154610100900460ff168160008260088111156115595761155961200a565b0361159e576001811115611599576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61034b565b60018260088111156115b2576115b261200a565b036115f45760038401548110611599576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60058260088111156116085761160861200a565b0361164a5762ffffff811115611599576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600382600881111561165e5761165e61200a565b036116b7576001840154819081128061167a5750600285015481135b156116b1576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5061034b565b60018401548110156116f5576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002840154801580159061170857508082115b156104fd576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009062010000900460ff1681808260068111156117615761176161200a565b148061177e5750600382600681111561177c5761177c61200a565b145b8061179a575060048260068111156117985761179861200a565b145b806117b6575060068260068111156117b4576117b461200a565b145b90508080156117da57503373ffffffffffffffffffffffffffffffffffffffff8516145b156117ea576001925050506119d7565b600060028360068111156118005761180061200a565b148061181d5750600483600681111561181b5761181b61200a565b145b80611839575060058360068111156118375761183761200a565b145b80611855575060068360068111156118535761185361200a565b145b9050808015611881575086546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b1561189257600193505050506119d7565b600060018460068111156118a8576118a861200a565b14806118c5575060038460068111156118c3576118c361200a565b145b806118e1575060058460068111156118df576118df61200a565b145b806118fd575060068460068111156118fb576118fb61200a565b145b905080156119ce576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018890526000903090636352211e90602401602060405180830381865afa15801561195d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611981919061244c565b905073ffffffffffffffffffffffffffffffffffffffff811633036119ae576001955050505050506119d7565b6119b933828a6119de565b156119cc576001955050505050506119d7565b505b60009450505050505b9392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460009073ffffffffffffffffffffffffffffffffffffffff16801580611a3b575073ffffffffffffffffffffffffffffffffffffffff81163b155b15611a4a5760009150506119d7565b60405173ffffffffffffffffffffffffffffffffffffffff8681166024830152858116604483015230606483015260848201859052600060a4830181905291829184169060c401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9f368740000000000000000000000000000000000000000000000000000000017905251611b129190612469565b600060405180830381855afa9150503d8060008114611b4d576040519150601f19603f3d011682016040523d82523d6000602084013e611b52565b606091505b5091509150818015611b65575080516020145b8015611b80575080806020019051810190611b809190612498565b979650505050505050565b5080546000825590600052602060002090810190611ba99190611bac565b50565b80821115611bc9576000611bc08282611bcd565b50600101611bac565b5090565b508054611bd9906120fc565b6000825580601f10611be9575050565b601f016020900490600052602060002090810190611ba991905b80821115611bc95760008155600101611c03565b60008083601f840112611c2957600080fd5b50813567ffffffffffffffff811115611c4157600080fd5b602083019150836020828501011115611c5957600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114611ba957600080fd5b8035611c8d81611c60565b919050565b60008060008060608587031215611ca857600080fd5b84359350602085013567ffffffffffffffff811115611cc657600080fd5b611cd287828801611c17565b9094509250506040850135611ce681611c60565b939692955090935050565b600060208284031215611d0357600080fd5b81356119d781611c60565b600080600080600060808688031215611d2657600080fd5b8535945060208601359350604086013567ffffffffffffffff811115611d4b57600080fd5b611d5788828901611c17565b9094509250506060860135611d6b81611c60565b809150509295509295909350565b8015158114611ba957600080fd5b600080600080600060a08688031215611d9f57600080fd5b8535945060208601359350604086013592506060860135611dbf81611d79565b91506080860135611d6b81611c60565b60008060008060808587031215611de557600080fd5b84359350602085013592506040850135611dfe81611d79565b91506060850135611ce681611c60565b600080600060608486031215611e2357600080fd5b83359250602084013591506040840135611e3c81611c60565b809150509250925092565b60008060408385031215611e5a57600080fd5b823591506020830135611e6c81611c60565b809150509250929050565b803565ffffffffffff81168114611c8d57600080fd5b60008083601f840112611e9f57600080fd5b50813567ffffffffffffffff811115611eb757600080fd5b6020830191508360208260051b8501011115611c5957600080fd5b60008060008060008060008060006101008a8c031215611ef157600080fd5b8935985060208a013560098110611f0757600080fd5b975060408a013560078110611f1b57600080fd5b9650611f2960608b01611c82565b9550611f3760808b01611e77565b945060a08a0135935060c08a0135925060e08a013567ffffffffffffffff811115611f6157600080fd5b611f6d8c828d01611e8d565b915080935050809150509295985092959850929598565b600080600060608486031215611f9957600080fd5b8335611fa481611c60565b92506020840135611fb481611c60565b91506040840135611e3c81611c60565b60008060008060808587031215611fda57600080fd5b8435935060208501359250604085013591506060850135611ce681611c60565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261209d57600080fd5b83018035915067ffffffffffffffff8211156120b857600080fd5b602001915036819003821315611c5957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c9082168061211057607f821691505b602082108103612149577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561219657806000526020600020601f840160051c810160208510156121765750805b601f840160051c820191505b818110156104fd5760008155600101612182565b505050565b67ffffffffffffffff8311156121b3576121b36120cd565b6121c7836121c183546120fc565b8361214f565b6000601f84116001811461221957600085156121e35750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556104fd565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156122685786850135825560209485019460019092019101612248565b50868210156122a3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060e0820160098b106123145761231461200a565b8a835260078a106123275761232761200a565b89602084015273ffffffffffffffffffffffffffffffffffffffff8916604084015265ffffffffffff881660608401528660808401528560a084015260e060c084015280848252610100840190506101008560051b85010191508560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603015b87821015612439577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0087860301845282358181126123e757600080fd5b890160208101903567ffffffffffffffff81111561240457600080fd5b80360382131561241357600080fd5b61241e8782846122b5565b965050506020830192506020840193506001820191506123aa565b50929d9c50505050505050505050505050565b60006020828403121561245e57600080fd5b81516119d781611c60565b6000825160005b8181101561248a5760208186018101518583015201612470565b506000920191825250919050565b6000602082840312156124aa57600080fd5b81516119d781611d7956fea2646970667358221220c7b3bcc928efce44818d986259655298e36be2f28ad1a607ce552041b868e66b64736f6c634300081c0033";
18
+ 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": "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": "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": "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": "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": "InvalidParamSchema", "inputs": [] }, { "type": "error", "name": "InvalidParamValue", "inputs": [] }, { "type": "error", "name": "NoParamSchema", "inputs": [] }, { "type": "error", "name": "NotParamAuthorized", "inputs": [] }, { "type": "error", "name": "ParamLockExpired", "inputs": [] }, { "type": "error", "name": "ParamNotSet", "inputs": [] }, { "type": "error", "name": "WrongValuePath", "inputs": [] }];
19
+ export const abxParamsLibBytecode = "0x61300f610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101815760003560e01c8063909206e3116100e2578063aa0de18d11610096578063d84d644611610070578063d84d644614610467578063e1b7938114610487578063f22357011461049a57600080fd5b8063aa0de18d14610421578063c4f2604814610441578063cc1cf5151461045457600080fd5b806392b8e739116100c757806392b8e739146103c15780639a851cec146103e15780639ffefae61461040157600080fd5b8063909206e314610399578063909d716e146103a157600080fd5b806333fe6d141161013957806355580cca1161011e57806355580cca146103435780635b02f81c14610358578063838128171461037957600080fd5b806333fe6d14146102865780633c59f1bb146102a657600080fd5b806313bfffac1161016a57806313bfffac146101ff5780631c31cac3146102465780632ed483001461026657600080fd5b806302d66fc2146101865780630ba2352a146101dd575b600080fd5b6101c86101943660046124d2565b60009081527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00602052604090205460ff1690565b60405190151581526020015b60405180910390f35b8180156101e957600080fd5b506101fd6101f836600461255f565b6104c1565b005b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d4565b81801561025257600080fd5b506101fd6102613660046125be565b6105d8565b81801561027257600080fd5b506101fd6102813660046125db565b610666565b81801561029257600080fd5b506101fd6102a13660046125db565b61078b565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02547f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e03546040805173ffffffffffffffffffffffffffffffffffffffff948516815292841660208401529216918101919091526060016101d4565b61034b610889565b6040516101d49190612682565b61036b610366366004612695565b6108dd565b6040516101d49291906126c1565b81801561038557600080fd5b506101fd6103943660046126f1565b610926565b61034b610b46565b8180156103ad57600080fd5b506101fd6103bc366004612739565b610b94565b8180156103cd57600080fd5b506101fd6103dc366004612778565b610d7d565b8180156103ed57600080fd5b506101fd6103fc3660046127b1565b610f15565b81801561040d57600080fd5b506101fd61041c36600461283c565b6110c6565b81801561042d57600080fd5b506101fd61043c3660046128ee565b611565565b61036b61044f36600461292e565b611685565b61036b61046236600461292e565b6116c0565b81801561047357600080fd5b506101fd610482366004612950565b6116ef565b61034b6104953660046124d2565b61179b565b6104ad6104a83660046124d2565b6117fd565b6040516101d49897969594939291906129fd565b60008290036104fc576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61053b83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198c92505050565b60008581527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530360205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155516105d29085906105c29086908690612b1c565b6040518091039020600184610b94565b50505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f45f18b5e88ce952d701fc020d1b6358f7380553c64fd639216568803f072105590600090a250565b60008290036106a1576040517fa52bcf2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198c92505050565b60008681527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885302602090815260408083208884529091529081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092179091555161078490869086906107749087908790612b1c565b6040518091039020600185610926565b5050505050565b60006107988686846119d0565b905060078154610100900460ff1660088111156107b7576107b7612986565b141580156107e0575060088154610100900460ff1660088111156107dd576107dd612986565b14155b15610817576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000839003610852576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087486868686604051610867929190612b1c565b6040518091039020611af3565b6108818686868633610666565b505050505050565b60606108d77ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530660007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b50919050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853046020526040812060609190610919908585611bd0565b915091505b935093915050565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853008215801561098557506000868152600282016020908152604080832088845290915290205473ffffffffffffffffffffffffffffffffffffffff1615155b156109cc5760008681526002820160209081526040808320888452909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008c81528784528681208c8252909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909316929092171790557f73656564000000000000000000000000000000000000000000000000000000008514610ab5576000868152600482016020908152604080832060058501909252909120610ab5919087611c9e565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff841691879189917fde0436cfd14f6250e38daf8e3605d7a54612abb0d9a1ac04278609edb949cd78910160405180910390a46040518681527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b60606108d77f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b7ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530082158015610be85750600085815260038201602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b15610c24576000858152600382016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b604080516060810182528581528415156020808301918252600183850181815260008b8152878301909352949091209251835590519101805492511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff921515929092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090931692909217179055610cc9600682016007830187611c9e565b60408051858152841515602082015273ffffffffffffffffffffffffffffffffffffffff84169187917fbf1b8f39d36a4cce40517cfc4e2f6dc657084b06295ee413186ecc58050e0a57910160405180910390a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a15050505050565b60008381527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853006020818152604080842086855290915290912060010154610100900460ff16610df8576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260208281526040808320868452825280832083815560010180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055868352600284018252808320868452825280832080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905586835260048401825280832060058501909252909120610e96919085611d0c565b8173ffffffffffffffffffffffffffffffffffffffff1683857feb7b2bd8dec13c1b2bc4577645e93c668e7071d4d417003ecf89c4dd718d8f9360405160405180910390a46040518481527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020015b60405180910390a150505050565b60008281527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530160205260409020600101547ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d1288530090610100900460ff16610fa6576040517f7527cf5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260018083016020908152604080842084815590920180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055600384019052902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055611025600682016007830185611d0c565b60405173ffffffffffffffffffffffffffffffffffffffff83169084907f64e0133266c985f5558f93bca4421f7ca6a7f4f1cce7c77b10b4bb6d2a7e5f1990600090a360408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050565b60018860088111156110da576110da612986565b0361111f57600081900361111a576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611157565b8015611157576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600388600881111561116b5761116b612986565b036111af57828413156111aa576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111f4565b82158015906111bd57508284115b156111f4576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600288600681111561120a5761120a612986565b14806112275750600488600681111561122557611225612986565b145b806112435750600588600681111561124157611241612986565b145b8061125f5750600688600681111561125d5761125d612986565b145b905080151573ffffffffffffffffffffffffffffffffffffffff88161515146112b4576040517fed5ef87200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008a81527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060208190526040909120805460ff16611330576005820180546001818101835560009283526020909220018d905581547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161781555b80548b9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010083600881111561136d5761136d612986565b021790555080548a9082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff16620100008360068111156113b0576113b0612986565b021790555080547fffffff0000000000000000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff8b16027fffffff000000000000ffffffffffffffffffffffffffffffffffffffffffffff16177701000000000000000000000000000000000000000000000065ffffffffffff8a1602178155600181018790556002810186905561145b600382016000612446565b60005b848110156114b7578160030186868381811061147c5761147c612b2c565b905060200281019061148e9190612b5b565b825460018101845560009384526020909320909201916114ae9183612c88565b5060010161145e565b508b7fa6fb8b1e69e21bd9e845799de9b9edf5cce8e3fb37c0c94a3889c0b90196cd798c8c8c8c8c8c8c8c6040516114f6989796959493929190612deb565b60405180910390a260408051600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c910160405180910390a1505050505050505050505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e01805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e02805486831690841681179091557f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e038054928616929093168217909255604080519384526020840192909252908201527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e00907fb61a3c7213653cdbbf077c9c6ae03c44a5e6e9046e61048c4acd027dd54dcb0190606001610f07565b606060006116b47ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d128853068585611bd0565b915091505b9250929050565b606060006116b47f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e058585611bd0565b60006116fc8585846119d0565b905060078154610100900460ff16600881111561171b5761171b612986565b1480611741575060088154610100900460ff16600881111561173f5761173f612986565b145b15611778576040517fe43e227b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117828184611df5565b61178d858585611af3565b610784858585600033610926565b60008181527ff5e6009a1f3253941c000e981d598a08090cf5d0f2e19d5e2531598d12885304602052604081206060916117f691907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bd0565b5092915050565b60008080808080806060817f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060008b8152602091825260408082208054600182015460028301546003840180548651818a0281018a0190975280875294985060ff808516986101008604821698620100008704909216976301000000870473ffffffffffffffffffffffffffffffffffffffff16977701000000000000000000000000000000000000000000000090970465ffffffffffff16969092849284015b8282101561196a5783829060005260206000200180546118dd90612bef565b80601f016020809104026020016040519081016040528092919081815260200182805461190990612bef565b80156119565780601f1061192b57610100808354040283529160200191611956565b820191906000526020600020905b81548152906001019060200180831161193957829003601f168201915b5050505050815260200190600101906118be565b5050505090509850985098509850985098509850985050919395975091939597565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816119ca5763301164256000526004601cfd5b90915290565b60008281527f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e0060205260409020805460ff16611a38576040517f7993a72b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805477010000000000000000000000000000000000000000000000900465ffffffffffff168015801590611a7357508065ffffffffffff1642115b15611aaa576040517f863a11b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ab5828685611ffa565b611aeb576040517ff3ef0f8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e015473ffffffffffffffffffffffffffffffffffffffff1680611b365750505050565b6040517f2962bf3e00000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810183905233606482015273ffffffffffffffffffffffffffffffffffffffff821690632962bf3e90608401600060405180830381600087803b158015611bb257600080fd5b505af1158015611bc6573d6000803e3d6000fd5b5050505050505050565b8254606090808410611bf257604080516000815260208101909152915061091e565b83810383811115611c005750825b8067ffffffffffffffff811115611c1957611c19612bc0565b604051908082528060200260200182016040528015611c42578160200160208202803683370190505b50925060005b81811015611c94578681870181548110611c6457611c64612b2c565b9060005260206000200154848281518110611c8157611c81612b2c565b6020908102919091010152600101611c48565b5050935093915050565b7f7365656400000000000000000000000000000000000000000000000000000000811480611cd9575060008181526020839052604090205415155b15611ce357505050565b825460018101845560008481526020808220909201839055935491845291909152604090912055565b60008181526020839052604081205490819003611d295750505050565b8354818114611d9b57600085611d40600184612f14565b81548110611d5057611d50612b2c565b906000526020600020015490508086600185611d6c9190612f14565b81548110611d7c57611d7c612b2c565b6000918252602080832090910192909255918252859052604090208290555b84805480611dab57611dab612f54565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908101839055909201909255938152939092525050604081205550565b8154610100900460ff16816000826008811115611e1457611e14612986565b03611e59576001811115611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105d2565b6001826008811115611e6d57611e6d612986565b03611eaf5760038401548110611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005826008811115611ec357611ec3612986565b03611f055762ffffff811115611e54576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003826008811115611f1957611f19612986565b03611f725760018401548190811280611f355750600285015481135b15611f6c576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506105d2565b6001840154811015611fb0576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028401548015801590611fc357508082115b15610784576040517fabc45dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009062010000900460ff16818082600681111561201c5761201c612986565b14806120395750600382600681111561203757612037612986565b145b806120555750600482600681111561205357612053612986565b145b806120715750600682600681111561206f5761206f612986565b145b905080801561209557503373ffffffffffffffffffffffffffffffffffffffff8516145b156120a557600192505050612292565b600060028360068111156120bb576120bb612986565b14806120d8575060048360068111156120d6576120d6612986565b145b806120f4575060058360068111156120f2576120f2612986565b145b806121105750600683600681111561210e5761210e612986565b145b905080801561213c575086546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b1561214d5760019350505050612292565b6000600184600681111561216357612163612986565b14806121805750600384600681111561217e5761217e612986565b145b8061219c5750600584600681111561219a5761219a612986565b145b806121b8575060068460068111156121b6576121b6612986565b145b90508015612289576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018890526000903090636352211e90602401602060405180830381865afa158015612218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223c9190612f83565b905073ffffffffffffffffffffffffffffffffffffffff8116330361226957600195505050505050612292565b61227433828a612299565b1561228757600195505050505050612292565b505b60009450505050505b9392505050565b7f619c63008ccd1dfdbbc6f5831c7fe6e520b0fdd37ed98c8d358150a36ff55e045460009073ffffffffffffffffffffffffffffffffffffffff168015806122f6575073ffffffffffffffffffffffffffffffffffffffff81163b155b15612305576000915050612292565b60405173ffffffffffffffffffffffffffffffffffffffff8681166024830152858116604483015230606483015260848201859052600060a4830181905291829184169060c401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9f3687400000000000000000000000000000000000000000000000000000000179052516123cd9190612fa0565b600060405180830381855afa9150503d8060008114612408576040519150601f19603f3d011682016040523d82523d6000602084013e61240d565b606091505b5091509150818015612420575080516020145b801561243b57508080602001905181019061243b9190612fbc565b979650505050505050565b50805460008255906000526020600020908101906124649190612467565b50565b8082111561248457600061247b8282612488565b50600101612467565b5090565b50805461249490612bef565b6000825580601f106124a4575050565b601f01602090049060005260206000209081019061246491905b8082111561248457600081556001016124be565b6000602082840312156124e457600080fd5b5035919050565b60008083601f8401126124fd57600080fd5b50813567ffffffffffffffff81111561251557600080fd5b6020830191508360208285010111156116b957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461246457600080fd5b803561255a8161252d565b919050565b6000806000806060858703121561257557600080fd5b84359350602085013567ffffffffffffffff81111561259357600080fd5b61259f878288016124eb565b90945092505060408501356125b38161252d565b939692955090935050565b6000602082840312156125d057600080fd5b81356122928161252d565b6000806000806000608086880312156125f357600080fd5b8535945060208601359350604086013567ffffffffffffffff81111561261857600080fd5b612624888289016124eb565b90945092505060608601356126388161252d565b809150509295509295909350565b600081518084526020840193506020830160005b8281101561267857815186526020958601959091019060010161265a565b5093949350505050565b6020815260006122926020830184612646565b6000806000606084860312156126aa57600080fd5b505081359360208301359350604090920135919050565b6040815260006126d46040830185612646565b90508260208301529392505050565b801515811461246457600080fd5b600080600080600060a0868803121561270957600080fd5b8535945060208601359350604086013592506060860135612729816126e3565b915060808601356126388161252d565b6000806000806080858703121561274f57600080fd5b84359350602085013592506040850135612768816126e3565b915060608501356125b38161252d565b60008060006060848603121561278d57600080fd5b833592506020840135915060408401356127a68161252d565b809150509250925092565b600080604083850312156127c457600080fd5b8235915060208301356127d68161252d565b809150509250929050565b803565ffffffffffff8116811461255a57600080fd5b60008083601f84011261280957600080fd5b50813567ffffffffffffffff81111561282157600080fd5b6020830191508360208260051b85010111156116b957600080fd5b60008060008060008060008060006101008a8c03121561285b57600080fd5b8935985060208a01356009811061287157600080fd5b975060408a01356007811061288557600080fd5b965061289360608b0161254f565b95506128a160808b016127e1565b945060a08a0135935060c08a0135925060e08a013567ffffffffffffffff8111156128cb57600080fd5b6128d78c828d016127f7565b915080935050809150509295985092959850929598565b60008060006060848603121561290357600080fd5b833561290e8161252d565b9250602084013561291e8161252d565b915060408401356127a68161252d565b6000806040838503121561294157600080fd5b50508035926020909101359150565b6000806000806080858703121561296657600080fd5b84359350602085013592506040850135915060608501356125b38161252d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600981106129c5576129c5612986565b9052565b600781106129c5576129c5612986565b60005b838110156129f45781810151838201526020016129dc565b50506000910152565b600061010082018a15158352612a16602084018b6129b5565b612a23604084018a6129c9565b73ffffffffffffffffffffffffffffffffffffffff8816606084015265ffffffffffff871660808401528560a08401528460c084015261010060e0840152808451808352610120850191506101208160051b86010192506020860160005b82811015612b09577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee087860301845281518051808752612ac88160208901602085016129d9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169590950160209081019550938401939190910190600101612a81565b50929d9c50505050505050505050505050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612b9057600080fd5b83018035915067ffffffffffffffff821115612bab57600080fd5b6020019150368190038213156116b957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c90821680612c0357607f821691505b6020821081036108d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115612c8357806000526020600020601f840160051c81016020851015612c635750805b601f840160051c820191505b818110156107845760008155600101612c6f565b505050565b67ffffffffffffffff831115612ca057612ca0612bc0565b612cb483612cae8354612bef565b83612c3c565b6000601f841160018114612d065760008515612cd05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610784565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015612d555786850135825560209485019460019092019101612d35565b5086821015612d90577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600060e08201612dfb838c6129b5565b612e08602084018b6129c9565b73ffffffffffffffffffffffffffffffffffffffff8916604084015265ffffffffffff881660608401528660808401528560a084015260e060c084015280848252610100840190506101008560051b85010191508560007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603015b87821015612b09577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008786030184528235818112612ec257600080fd5b890160208101903567ffffffffffffffff811115612edf57600080fd5b803603821315612eee57600080fd5b612ef9878284612da2565b96505050602083019250602084019350600182019150612e85565b81810381811115612f4e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600060208284031215612f9557600080fd5b81516122928161252d565b60008251612fb28184602087016129d9565b9190910192915050565b600060208284031215612fce57600080fd5b8151612292816126e356fea264697066735822122062d27b6977c4261226f9a4b124f1b937cd8df977a426150ba660efec43da26f464736f6c634300081c0033";
20
20
  export const abxCodeLibAbi = [{ "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": [] }];
21
21
  export const abxCodeLibBytecode = "0x610dec610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c80639a5db503116100655780639a5db503146100e35780639aa1a1f0146100f8578063b478424714610118578063dc9838791461012d57600080fd5b806325628d341461008c5780636b40ee45146100a357806396f4205a146100c3575b600080fd5b81801561009857600080fd5b506100a1610142565b005b8180156100af57600080fd5b506100a16100be366004610ba7565b6102cb565b8180156100cf57600080fd5b506100a16100de366004610be3565b610502565b8180156100ef57600080fd5b506100a161060a565b81801561010457600080fd5b506100a1610113366004610c20565b6106e2565b81801561012457600080fd5b506100a1610910565b81801561013957600080fd5b506100a1610a60565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff16156101d8576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80546000819003610215576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815482908061022657610226610c9e565b60008281526020812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016815560019081019190915591557fc96df06add4aa6dba310cd93d0b93d7b645252f40e11fa6089731c841315cd89906102b69083610ccd565b60405190815260200160405180910390a15050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610361576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81610398576040517f9897d85400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548411156103d3576040517f872a384700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060405180604001604052808560018111156103f2576103f2610d0d565b60ff1681526020018490528254909150850361045e578154600180820184556000848152602090819020845160029094020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9094169390931783558301519101556104c1565b8082600001868154811061047457610474610d3c565b600091825260209182902083516002929092020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9092169190911781559101516001909101555b827fd6e0b37570fc6877af91bb8c65badae70a76645133831804e22f7210d49f3be886866040516104f3929190610d6b565b60405180910390a25050505050565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610598576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040517feb9e3ffc4d2f7724ed3254f046d8fe50f39aee51914953e2e4a60e89b622b6c790600090a25050565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610688576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790556040517f1567d011622c31e8bf794e94f0067cd6edaa0a0b376498ec5407adbf8a22171090600090a150565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff1615610760576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082900361079b576040517f69e19b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548411156107d6576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061081784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b6392505050565b825490915085036108775781546001810183556000838152602090200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790556108d6565b8082600001868154811061088d5761088d610d3c565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6040518581527fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca89060200160405180910390a15050505050565b7fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c901547fe86835d06c8df9bb3fc01a89a0280acff46dcc2dd56a393c1fc527caf8d9c9009060ff161561098e576040517f15d57bbe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460008190036109cb576040517f7f482fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81548290806109dc576109dc610c9e565b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190557fe450ed767cbc497af82a13d291ea289accc133f2c58e14b8e48971647d371ca86102b6600183610ccd565b7f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e0201547f3e58646e418b5988903c5a1d69142b246f2efd9ccd16ddbebb60e505f18e02009074010000000000000000000000000000000000000000900460ff1615610af6576040517fc03fcd8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517fe9d327ea777894d5424b19533354c3e728e73020d972cbd4bccf6d4505b1324590600090a150565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f0915081610ba15763301164256000526004601cfd5b90915290565b600080600060608486031215610bbc57600080fd5b83359250602084013560028110610bd257600080fd5b929592945050506040919091013590565b600060208284031215610bf557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610c1957600080fd5b9392505050565b600080600060408486031215610c3557600080fd5b83359250602084013567ffffffffffffffff811115610c5357600080fd5b8401601f81018613610c6457600080fd5b803567ffffffffffffffff811115610c7b57600080fd5b866020828401011115610c8d57600080fd5b939660209190910195509293505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b81810381811115610d07577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8281526040810160028310610da9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b826020830152939250505056fea2646970667358221220bc9d39b8fcd0299061fc38ce10548c7a0ccc1f5c94b148fec87c34d225bdd01964736f6c634300081c0033";
22
22
  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" }], "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" }], "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": "WrongPayment", "inputs": [] }];
23
23
  export const abxFixedPriceMinterBytecode = "0x6080604052348015600f57600080fd5b506108ed8061001f6000396000f3fe60806040526004361061003f5760003560e01c806325b31a9714610044578063431b4a531461006a5780638afb733b1461008c578063c6b9f06a1461009f575b600080fd5b6100576100523660046107de565b61013f565b6040519081526020015b60405180910390f35b34801561007657600080fd5b5061008a610085366004610802565b610188565b005b61005761009a366004610848565b6102fc565b3480156100ab57600080fd5b506101006100ba3660046107de565b600060208190529081526040902080546001820154600283015460039093015460ff83169361010090930473ffffffffffffffffffffffffffffffffffffffff16929085565b60408051951515865273ffffffffffffffffffffffffffffffffffffffff9094166020860152928401919091526060830152608082015260a001610061565b60003068929eee149b4bd2126854036101605763ab143c066000526004601cfd5b3068929eee149b4bd21268556101768233610346565b3868929eee149b4bd212685592915050565b610191846106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101f5576040517f7c2411e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090206003810154821015610258576040517fb72785d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805473ffffffffffffffffffffffffffffffffffffffff85811661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000009093169290921760019081178455830185905560028301849055604080519283526020830186905282018490528616907fb8a0883311b2984d17ca5bc73b4f76a513dbd0e7d593f7e822cbf3d49388a2cf9060600160405180910390a25050505050565b60003068929eee149b4bd21268540361031d5763ab143c066000526004601cfd5b3068929eee149b4bd21268556103338383610346565b3868929eee149b4bd21268559392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260408120805460ff166103a6576040517fd311bc3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600201548160030154106103e7576040517f7787310b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff1663d8b4f8ac6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104589190610881565b905073ffffffffffffffffffffffffffffffffffffffff81166104a7576040517f662bebf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600182810154835460038501805490930190925590610100900473ffffffffffffffffffffffffffffffffffffffff168061051a57813414610515576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610574565b3415610552576040517f788a686f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61057473ffffffffffffffffffffffffffffffffffffffff8216338585610732565b6040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152881690636a627842906024016020604051808303816000875af11580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610606919061089e565b945073ffffffffffffffffffffffffffffffffffffffff811615801561062b57508115155b156106505761065073ffffffffffffffffffffffffffffffffffffffff841683610799565b6040805186815273ffffffffffffffffffffffffffffffffffffffff8381166020830152918101849052818816913391908a16907fbf643e210feb17151f7b4d5e018eb6bb22020cd22f96c6420d67046bcc9523639060600160405180910390a45050505092915050565b60008173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c9190610881565b92915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af1806001600051141661078a57803d873b15171061078a57637939f4246000526004601cfd5b50600060605260405250505050565b60003860003884865af16107b55763b12d13eb6000526004601cfd5b5050565b73ffffffffffffffffffffffffffffffffffffffff811681146107db57600080fd5b50565b6000602082840312156107f057600080fd5b81356107fb816107b9565b9392505050565b6000806000806080858703121561081857600080fd5b8435610823816107b9565b93506020850135610833816107b9565b93969395505050506040820135916060013590565b6000806040838503121561085b57600080fd5b8235610866816107b9565b91506020830135610876816107b9565b809150509250929050565b60006020828403121561089357600080fd5b81516107fb816107b9565b6000602082840312156108b057600080fd5b505191905056fea264697066735822122010bbd9a68f04f68ea882d2077ef3da26eef484039114b45a977029992934950a64736f6c634300081c0033";
24
- 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" }];
25
- export const abxMetadataRendererBytecode = "0x6080604052348015600f57600080fd5b50613c258061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100405760003560e01c8062844d13146100455780637efe64a21461006e578063e9dc63751461007d575b600080fd5b610058610053366004612e7e565b610090565b6040516100659190612ebf565b60405180910390f35b60405160038152602001610065565b61005861008b366004612f10565b6106e1565b6040517f55828c500000000000000000000000000000000000000000000000000000000081527f6e616d65000000000000000000000000000000000000000000000000000000006004820152606090600090819073ffffffffffffffffffffffffffffffffffffffff8516906355828c5090602401600060405180830381865afa158015610122573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610168919081019061301a565b9150915060608082516000141580156101c957507f696e6c696e6500000000000000000000000000000000000000000000000000008414806101c957507f726561646572000000000000000000000000000000000000000000000000000084145b156102c3576101d88484610904565b91506102bc6040518060400160405280600481526020017f6e616d65000000000000000000000000000000000000000000000000000000008152507f696e6c696e6500000000000000000000000000000000000000000000000000008614610275576040518060400160405280600681526020017f72656164657200000000000000000000000000000000000000000000000000008152506102ac565b6040518060400160405280600681526020017f696e6c696e6500000000000000000000000000000000000000000000000000008152505b60016102b788610943565b610ab6565b9050610405565b8573ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561030e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526103549190810190613061565b91506104026040518060400160405280600481526020017f6e616d65000000000000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f66616c6c6261636b00000000000000000000000000000000000000000000000081525060016040518060400160405280601981526020017f6f6e2d636861696e20284552432d373231206e616d6528292900000000000000815250610ab6565b90505b600061041083610b5e565b6040516020016104209190613096565b6040516020818303038152906040529050610493877f6465736372697074696f6e0000000000000000000000000000000000000000006040518060400160405280600b81526020017f6465736372697074696f6e0000000000000000000000000000000000000000008152508486610b6b565b80935081925050506104fd877f65787465726e616c5f6c696e6b000000000000000000000000000000000000006040518060400160405280600d81526020017f65787465726e616c5f6c696e6b000000000000000000000000000000000000008152508486610b6b565b8093508192505050610567877f61727469737400000000000000000000000000000000000000000000000000006040518060400160405280600681526020017f61727469737400000000000000000000000000000000000000000000000000008152508486610b6b565b80935081925050506105d1877f646973706c61795f6e6f746573000000000000000000000000000000000000006040518060400160405280600d81526020017f646973706c61795f6e6f746573000000000000000000000000000000000000008152508486610b6b565b809350819250505061063b877f6172746973745f6c696e6b7300000000000000000000000000000000000000006040518060400160405280600c81526020017f6172746973745f6c696e6b7300000000000000000000000000000000000000008152508486610b6b565b80935081925050506106a5877f6c6963656e7365000000000000000000000000000000000000000000000000006040518060400160405280600781526020017f6c6963656e7365000000000000000000000000000000000000000000000000008152508486610b6b565b6040519093509091506106d6906106c29083908590602001613102565b604051602081830303815290604052610ec7565b979650505050505050565b60606000806106f08585610ef8565b91509150600080600061070388886112fd565b925092509250600061071486610b5e565b61071d85610b5e565b60405160200161072e929190613184565b60405160208183030381529060405290506000858460405160200161075492919061322f565b60405160208183030381529060405290506107c88a8a7f6465736372697074696f6e0000000000000000000000000000000000000000006040518060400160405280600b81526020017f6465736372697074696f6e00000000000000000000000000000000000000000081525086866119b5565b80925081935050506108338a8a7f65787465726e616c5f75726c00000000000000000000000000000000000000006040518060400160405280600c81526020017f65787465726e616c5f75726c000000000000000000000000000000000000000081525086866119b5565b809250819350505061089e8a8a7f616e696d6174696f6e5f75726c000000000000000000000000000000000000006040518060400160405280600d81526020017f616e696d6174696f6e5f75726c0000000000000000000000000000000000000081525086866119b5565b90925090506108af8a8a8484611e08565b84519193509150156108e05781836040516020016108ce929190613287565b60405160208183030381529060405291505b6108f682826040516020016106c2929190613102565b9a9950505050505050505050565b60607f72656164657200000000000000000000000000000000000000000000000000008314610933578161093c565b61093c82612164565b9392505050565b60607f75726c0000000000000000000000000000000000000000000000000000000000820361098b57604051806060016040528060218152602001613bcf6021913992915050565b7f75726c2d74656d706c617465000000000000000000000000000000000000000082036109d1576040518060600160405280602a8152602001613ba5602a913992915050565b7f72656e64657265720000000000000000000000000000000000000000000000008203610a1757604051806060016040528060228152602001613b836022913992915050565b7f72656164657200000000000000000000000000000000000000000000000000008214610a79576040518060400160405280601181526020017f6f6e2d636861696e2028696e6c696e6529000000000000000000000000000000815250610ab0565b6040518060400160405280601181526020017f6f6e2d636861696e2028726561646572290000000000000000000000000000008152505b92915050565b6060848484610afa576040518060400160405280600581526020017f66616c7365000000000000000000000000000000000000000000000000000000815250610b31565b6040518060400160405280600481526020017f74727565000000000000000000000000000000000000000000000000000000008152505b84604051602001610b459493929190613309565b6040516020818303038152906040529050949350505050565b6060610ab082600061223e565b6060806000808873ffffffffffffffffffffffffffffffffffffffff166355828c50896040518263ffffffff1660e01b8152600401610bac91815260200190565b600060405180830381865afa158015610bc9573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610c0f919081019061301a565b915091508051600003610c29578585935093505050610ebd565b7f696e6c696e650000000000000000000000000000000000000000000000000000821480610c7657507f726561646572000000000000000000000000000000000000000000000000000082145b80610ca057507f75726c000000000000000000000000000000000000000000000000000000000082145b15610d3e578587610cb9610cb48585610904565b610b5e565b604051602001610ccb93929190613467565b604051602081830303815290604052955084610d1788610cea8561235d565b7f75726c00000000000000000000000000000000000000000000000000000000008614156102b787610943565b604051602001610d2892919061322f565b6040516020818303038152906040529450610eb4565b7f72656e64657265720000000000000000000000000000000000000000000000008203610e4b576000610d93828b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8c612578565b9150508688610da183610b5e565b604051602001610db393929190613467565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828201909152600882527f72656e6465726572000000000000000000000000000000000000000000000000602083015297508690610e23908a9060016102b788610943565b604051602001610e3492919061322f565b604051602081830303815290604052955050610eb4565b84610e91886040518060400160405280600781526020017f6f6d69747465640000000000000000000000000000000000000000000000000081525060006102b787612663565b604051602001610ea292919061322f565b60405160208183030381529060405294505b85859350935050505b9550959350505050565b6060610ed28261267e565b604051602001610ee29190613528565b6040516020818303038152906040529050919050565b6060806000806000610f2b87877f6e616d650000000000000000000000000000000000000000000000000000000061268c565b9250925092508151600014158015610f8b57507f696e6c696e650000000000000000000000000000000000000000000000000000831480610f8b57507f726561646572000000000000000000000000000000000000000000000000000083145b1561108c57610f9a8383610904565b6110806040518060400160405280600481526020017f6e616d65000000000000000000000000000000000000000000000000000000008152507f696e6c696e6500000000000000000000000000000000000000000000000000008614611035576040518060400160405280600681526020017f726561646572000000000000000000000000000000000000000000000000000081525061106c565b6040518060400160405280600681526020017f696e6c696e6500000000000000000000000000000000000000000000000000008152505b60016102b761107a89610943565b87612841565b945094505050506112f6565b8151158015906110bb57507f72656e646572657200000000000000000000000000000000000000000000000083145b156111825760006110ee8389897f6e616d6500000000000000000000000000000000000000000000000000000000612578565b915050806111756040518060400160405280600481526020017f6e616d65000000000000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f72656e646572657200000000000000000000000000000000000000000000000081525060016102b761116f8a610943565b88612841565b95509550505050506112f6565b60008773ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156111cf573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526112159190810190613061565b61121e88612876565b60405160200161122f92919061356d565b6040516020818303038152906040529050806112ed6040518060400160405280600481526020017f6e616d65000000000000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f66616c6c6261636b00000000000000000000000000000000000000000000000081525060016040518060400160405280601f81526020017f6f6e2d636861696e20284552432d373231206e616d652829202b202369642900815250610ab6565b95509550505050505b9250929050565b6060806060600080600061133288887f696d61676500000000000000000000000000000000000000000000000000000061268c565b92509250925081516000146118de577f696e6c696e650000000000000000000000000000000000000000000000000000830361143f57611371826128d8565b6114216040518060400160405280600581526020017f696d6167650000000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f696e6c696e65000000000000000000000000000000000000000000000000000081525060016102b76040518060400160405280601181526020017f6f6e2d636861696e2028696e6c696e652900000000000000000000000000000081525087612841565b604051806020016040528060008152509550955095505050506119ae565b7f726561646572000000000000000000000000000000000000000000000000000083036115275761147761147283612164565b6128d8565b6114216040518060400160405280600581526020017f696d6167650000000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f726561646572000000000000000000000000000000000000000000000000000081525060016102b76040518060400160405280601181526020017f6f6e2d636861696e20287265616465722900000000000000000000000000000081525087612841565b7f75726c000000000000000000000000000000000000000000000000000000000083036115e257816114216040518060400160405280600581526020017f696d6167650000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f75726c000000000000000000000000000000000000000000000000000000000081525060006102b7604051806060016040528060218152602001613bcf6021913987612841565b7f75726c2d74656d706c617465000000000000000000000000000000000000000083036116a65761161382886128f3565b6114216040518060400160405280600581526020017f696d6167650000000000000000000000000000000000000000000000000000008152506040518060400160405280600c81526020017f75726c2d74656d706c617465000000000000000000000000000000000000000081525060006102b76040518060600160405280602a8152602001613ba5602a913987612841565b7f72656e6465726572000000000000000000000000000000000000000000000000830361185a576000806116fc848b8b7f696d616765000000000000000000000000000000000000000000000000000000612578565b91509150600061170c838361293d565b9050806117926040518060400160405280600581526020017f696d6167650000000000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f72656e646572657200000000000000000000000000000000000000000000000081525060016102b761178c8c610943565b8a612841565b60408051808201909152600d81527f746578742f7572692d6c697374000000000000000000000000000000000000006020918201528551908601207f2438498d70aa8ac91444d2861b334b26492f82721c6150cf6dd763335bc75de014611838576118336040518060400160405280600581526020017f696d616765000000000000000000000000000000000000000000000000000000815250868561295a565b611849565b604051806020016040528060008152505b9850985098505050505050506119ae565b6118648888612999565b6114216040518060400160405280600581526020017f696d6167650000000000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f66616c6c6261636b00000000000000000000000000000000000000000000000081525060006102b788612663565b6118e88888612999565b6119946040518060400160405280600581526020017f696d6167650000000000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f66616c6c6261636b00000000000000000000000000000000000000000000000081525060006040518060400160405280601c81526020017f66616c6c6261636b202d20696d616765206669656c6420756e73657400000000815250610ab6565b604051806020016040528060008152509550955095505050505b9250925092565b60608060008060006119c88b8b8b61268c565b92509250925081516000036119e557868694509450505050611dfd565b7f696e6c696e650000000000000000000000000000000000000000000000000000831480611a3257507f726561646572000000000000000000000000000000000000000000000000000083145b15611a9e578688611a46610cb48686610904565b604051602001611a5893929190613467565b604051602081830303815290604052965085611a778961106c8661235d565b604051602001611a8892919061322f565b6040516020818303038152906040529550611df3565b7f75726c0000000000000000000000000000000000000000000000000000000000831480611aeb57507f75726c2d74656d706c617465000000000000000000000000000000000000000083145b15611b9d5760007f75726c2d74656d706c61746500000000000000000000000000000000000000008414611b1f5782611b29565b611b29838c6128f3565b90508789611b3683610b5e565b604051602001611b4893929190613467565b604051602081830303815290604052975086611b758a611b678761235d565b60006102b761116f8a610943565b604051602001611b8692919061322f565b604051602081830303815290604052965050611df3565b7f72656e64657265720000000000000000000000000000000000000000000000008303611d8a57600080611bd3848e8e8e612578565b60408051808201909152600d81527f746578742f7572692d6c6973740000000000000000000000000000000000000060209182015282519083012091935091507f2438498d70aa8ac91444d2861b334b26492f82721c6150cf6dd763335bc75de01460007f616e696d6174696f6e5f75726c000000000000000000000000000000000000008d148015611c64575081155b611c6e5782611c78565b611c78848461293d565b90508a8c611c8583610b5e565b604051602001611c9793929190613467565b6040516020818303038152906040529a508982611d0157611cfc8d6040518060400160405280600881526020017f72656e646572657200000000000000000000000000000000000000000000000081525060016102b7611cf68d610943565b8b612841565b611d5f565b611d5f8d6040518060400160405280600881526020017f72656e646572657200000000000000000000000000000000000000000000000081525060006102b7604051806060016040528060378152602001613b4c603791398b612841565b604051602001611d7092919061322f565b604051602081830303815290604052995050505050611df3565b85611dd0896040518060400160405280600781526020017f6f6d69747465640000000000000000000000000000000000000000000000000081525060006102b788612663565b604051602001611de192919061322f565b60405160208183030381529060405295505b8686945094505050505b965096945050505050565b6060806000806000611e3b89897f617474726962757465730000000000000000000000000000000000000000000061268c565b9250925092508151600003611e585786869450945050505061215b565b7f696e6c696e6500000000000000000000000000000000000000000000000000008303611f7b578682604051602001611e929291906135c5565b604051602081830303815290604052965085611f546040518060400160405280600a81526020017f61747472696275746573000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f696e6c696e65000000000000000000000000000000000000000000000000000081525060016102b76040518060400160405280601181526020017f6f6e2d636861696e2028696e6c696e652900000000000000000000000000000081525087612841565b604051602001611f6592919061322f565b6040516020818303038152906040529550612151565b7f72656e646572657200000000000000000000000000000000000000000000000083036120b3576000611fd0838b8b7f6174747269627574657300000000000000000000000000000000000000000000612578565b9150508781604051602001611fe69291906135c5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282018252600a83527f61747472696275746573000000000000000000000000000000000000000000006020848101919091528251808401909352600883527f72656e6465726572000000000000000000000000000000000000000000000000908301529950889161208b9160016102b761116f8a610943565b60405160200161209c92919061322f565b604051602081830303815290604052965050612151565b8561212e6040518060400160405280600a81526020017f61747472696275746573000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f6f6d69747465640000000000000000000000000000000000000000000000000081525060006102b788612663565b60405160200161213f92919061322f565b60405160208183030381529060405295505b8686945094505050505b94509492505050565b60606000808380602001905181019061217d919061361d565b6040517fa087a87e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529294509092509083169063a087a87e90602401600060405180830381865afa1580156121f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122369190810190613061565b949350505050565b60405160208101821561225357602281536001015b7b5c75303030303031323334353637383961626364656662746e00667260155283516b1000000000000004000000009085015b8086146123165760018601955060ff865116602081106122cf57826001821b166122b95780845360018401935050612286565b605c845380600185015360028401935050612286565b6137006001821b166122fc578060041c51601d53600f811651601e53601951845260068401935050612286565b605c84536008810151600185015350600283019250612286565b5050821561232657602281536001015b600081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301825260200160405292915050565b60607f696e6c696e65000000000000000000000000000000000000000000000000000082036123bf57505060408051808201909152600681527f696e6c696e650000000000000000000000000000000000000000000000000000602082015290565b7f7265616465720000000000000000000000000000000000000000000000000000820361241f57505060408051808201909152600681527f7265616465720000000000000000000000000000000000000000000000000000602082015290565b7f72656e6465726572000000000000000000000000000000000000000000000000820361247f57505060408051808201909152600881527f72656e6465726572000000000000000000000000000000000000000000000000602082015290565b7f75726c000000000000000000000000000000000000000000000000000000000082036124df57505060408051808201909152600381527f75726c0000000000000000000000000000000000000000000000000000000000602082015290565b7f75726c2d74656d706c6174650000000000000000000000000000000000000000820361253f57505060408051808201909152600c81527f75726c2d74656d706c6174650000000000000000000000000000000000000000602082015290565b505060408051808201909152600781527f6f6d697474656400000000000000000000000000000000000000000000000000602082015290565b6060806000868060200190518101906125919190613657565b6040517f7e60f4f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152602482018890526044820187905291925090821690637e60f4f690606401600060405180830381865afa15801561260f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526126559190810190613674565b925092505094509492505050565b606061266e826129f4565b604051602001610ee291906136c7565b6060610ab082600080612b0e565b6040517fe4df18ec0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090606090829073ffffffffffffffffffffffffffffffffffffffff87169063e4df18ec90604401600060405180830381865afa158015612706573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261274c919081019061301a565b805191945092501561276057506000612838565b6040517f55828c5000000000000000000000000000000000000000000000000000000000815260048101859052600090819073ffffffffffffffffffffffffffffffffffffffff8916906355828c5090602401600060405180830381865afa1580156127d0573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612816919081019061301a565b91509150805160001461283157909350915060019050612838565b5060009150505b93509350939050565b60608161284e578261093c565b8260405160200161285f9190613732565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806128915750508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60606128e38261267e565b604051602001610ee29190613773565b606061093c836040518060400160405280600481526020017f7b69647d0000000000000000000000000000000000000000000000000000000081525061293885612876565b612c1e565b6060826129498361267e565b60405160200161285f9291906137b8565b60608361296684610b5e565b61296f84610b5e565b60405160200161298193929190613839565b60405160208183030381529060405290509392505050565b606060006129b26129a985612c2b565b60006006612cb8565b90506000816129c085612876565b6040516020016129d1929190613927565b60405160208183030381529060405290506129eb816128d8565b95945050505050565b606060005b602081108015612a3f5750828160208110612a1657612a16613abd565b1a60f81b7fff000000000000000000000000000000000000000000000000000000000000001615155b15612a5457612a4d81613aec565b90506129f9565b60008167ffffffffffffffff811115612a6f57612a6f612f3c565b6040519080825280601f01601f191660200182016040528015612a99576020820181803683370190505b50905060005b82811015612b0657848160208110612ab957612ab9613abd565b1a60f81b828281518110612acf57612acf613abd565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600101612a9f565b509392505050565b606083518015612b06576003600282010460021b60405192507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106708515027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f52602083018181018388602001018051600082525b60038a0199508951603f8160121c1651600053603f81600c1c1651600153603f8160061c1651600253603f811651600353506000518452600484019350828410612b8a5790526020016040527f3d3d00000000000000000000000000000000000000000000000000000000000060038406600204808303919091526000861515909102918290035290038252509392505050565b6060612236848484612cc5565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed01612c6b575050919050565b6060612236848484612dd5565b6060604051905082518251858303602087018751810160005287518411612d98576001846000510301600060208610612d01578560208a012090505b6020890151601f871660200360031b5b8451828118821c612d81578315612d49578389872014612d49578087870152600186019550848610612d435750612d93565b50612d11565b60005b6020818d0181015189890183015201888110612d4c5750888888010396508815612d815794880194848610612d435750612d93565b85870152600190940193838510612d11575b505050505b6000519350836020860183030192505b83811015612dbe57805182820152602001612da8565b600091019081526020016040528252509392505050565b60608351828111612de4578092505b838111612def578093505b508183101561093c57506040518282038484017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830181165b8281015185820152810180612e2a57505050806020830101600081526020810160405250808252509392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114612e7b57600080fd5b50565b600060208284031215612e9057600080fd5b813561093c81612e59565b60005b83811015612eb6578181015183820152602001612e9e565b50506000910152565b6020815260008251806020840152612ede816040850160208701612e9b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008060408385031215612f2357600080fd5b8235612f2e81612e59565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112612f7c57600080fd5b81516020830160008067ffffffffffffffff841115612f9d57612f9d612f3c565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff82111715612fea57612fea612f3c565b60405283815290508082840187101561300257600080fd5b613010846020830185612e9b565b9695505050505050565b6000806040838503121561302d57600080fd5b82519150602083015167ffffffffffffffff81111561304b57600080fd5b61305785828601612f6b565b9150509250929050565b60006020828403121561307357600080fd5b815167ffffffffffffffff81111561308a57600080fd5b61223684828501612f6b565b7f7b226e616d65223a2200000000000000000000000000000000000000000000008152600082516130ce816009850160208701612e9b565b7f22000000000000000000000000000000000000000000000000000000000000006009939091019283015250600a01919050565b60008351613114818460208801612e9b565b7f2c226162785f70726f76656e616e6365223a5b00000000000000000000000000908301908152835161314e816013840160208801612e9b565b7f5d7d00000000000000000000000000000000000000000000000000000000000060139290910191820152601501949350505050565b7f7b226e616d65223a2200000000000000000000000000000000000000000000008152600083516131bc816009850160208801612e9b565b7f222c22696d616765223a2200000000000000000000000000000000000000000060099184019182015283516131f9816014840160208801612e9b565b7f220000000000000000000000000000000000000000000000000000000000000060149290910191820152601501949350505050565b60008351613241818460208801612e9b565b7f2c00000000000000000000000000000000000000000000000000000000000000908301908152835161327b816001840160208801612e9b565b01600101949350505050565b60008351613299818460208801612e9b565b7f2c22617274696661637473223a5b00000000000000000000000000000000000090830190815283516132d381600e840160208801612e9b565b7f5d00000000000000000000000000000000000000000000000000000000000000600e9290910191820152600f01949350505050565b7f7b226669656c64223a220000000000000000000000000000000000000000000081526000855161334181600a850160208a01612e9b565b7f222c22736f75726365223a220000000000000000000000000000000000000000600a91840191820152855161337e816016840160208a01612e9b565b600a818301019150507f222c226f6e436861696e223a0000000000000000000000000000000000000000600c82015284516133c0816018840160208901612e9b565b600c818301019150507f2c227665726966696564416761696e7374436861696e223a6e756c6c2c226e6f600c8201527f7465223a22000000000000000000000000000000000000000000000000000000602c8201528351613428816031840160208801612e9b565b01600c81019061345a906031017f227d0000000000000000000000000000000000000000000000000000000000009052565b6027019695505050505050565b60008451613479818460208901612e9b565b7f2c2200000000000000000000000000000000000000000000000000000000000090830190815284516134b3816002840160208901612e9b565b7f223a2200000000000000000000000000000000000000000000000000000000006002929091019182015283516134f1816005840160208801612e9b565b7f22000000000000000000000000000000000000000000000000000000000000006005929091019182015260060195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161356081601d850160208701612e9b565b91909101601d0192915050565b6000835161357f818460208801612e9b565b7f202300000000000000000000000000000000000000000000000000000000000090830190815283516135b9816002840160208801612e9b565b01600201949350505050565b600083516135d7818460208801612e9b565b7f2c2261747472696275746573223a000000000000000000000000000000000000908301908152835161361181600e840160208801612e9b565b01600e01949350505050565b6000806040838503121561363057600080fd5b825161363b81612e59565b602084015190925061364c81612e59565b809150509250929050565b60006020828403121561366957600080fd5b815161093c81612e59565b6000806040838503121561368757600080fd5b825167ffffffffffffffff81111561369e57600080fd5b6136aa85828601612f6b565b925050602083015167ffffffffffffffff81111561304b57600080fd5b7f726570726573656e746174696f6e206e6f74206f6e2d636861696e2d72656e6481527f657261626c653a20000000000000000000000000000000000000000000000000602082015260008251613725816028850160208701612e9b565b9190910160280192915050565b60008251613744818460208701612e9b565b7f205b636f6c6c656374696f6e5d00000000000000000000000000000000000000920191825250600d01919050565b7f646174613a696d6167652f7376672b786d6c3b6261736536342c0000000000008152600082516137ab81601a850160208701612e9b565b91909101601a0192915050565b7f646174613a0000000000000000000000000000000000000000000000000000008152600083516137f0816005850160208801612e9b565b7f3b6261736536342c000000000000000000000000000000000000000000000000600591840191820152835161382d81600d840160208801612e9b565b01600d01949350505050565b7f7b226b6579223a22000000000000000000000000000000000000000000000000815260008451613871816008850160208901612e9b565b7f222c226d696d6554797065223a2200000000000000000000000000000000000060089184019182015284516138ae816016840160208901612e9b565b6008818301019150507f222c22757269223a220000000000000000000000000000000000000000000000600e82015283516138f0816017840160208801612e9b565b7f227d0000000000000000000000000000000000000000000000000000000000006017929091019182015260190195945050505050565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222077696474683d2235303022206865696768743d223530302260208201527f2076696577426f783d223020302035303020353030223e3c726563742077696460408201527f74683d2235303022206865696768743d22353030222066696c6c3d22230000006060820152600083516139d181607d850160208801612e9b565b7f222f3e3c7465787420783d223235302220793d223236342220666f6e742d6661607d918401918201527f6d696c793d226d6f6e6f73706163652220666f6e742d73697a653d2234322220609d8201527f66696c6c3d22236666666666662220746578742d616e63686f723d226d69646460bd8201527f6c65223e2300000000000000000000000000000000000000000000000000000060dd8201528351613a808160e2840160208801612e9b565b01607d810190613ab29060e2017f3c2f746578743e3c2f7376673e000000000000000000000000000000000000009052565b607201949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613b44577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fe636f6d7075746564206f6e2d636861696e20286669656c642072656e646572657229202d3e206f66662d636861696e20636f6e74656e74636f6d7075746564206f6e2d636861696e20286669656c642072656e6465726572296f6e2d636861696e2075726c2074656d706c617465202d3e206f66662d636861696e20636f6e74656e746f6e2d636861696e2075726c202d3e206f66662d636861696e20636f6e74656e74a264697066735822122005852ea21b51f8fc1e12f5b371ce27fc4c79f78181761c4543cf77486b45036964736f6c634300081c0033";
24
+ 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": "paramDataOf", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }, { "name": "tokenScope", "type": "bool", "internalType": "bool" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "view" }, { "type": "function", "name": "paramKeysOf", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "tokenScope", "type": "bool", "internalType": "bool" }], "outputs": [{ "name": "", "type": "bytes32[]", "internalType": "bytes32[]" }], "stateMutability": "view" }, { "type": "function", "name": "paramSchemaOf", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }, { "name": "key", "type": "bytes32", "internalType": "bytes32" }], "outputs": [{ "name": "exists", "type": "bool", "internalType": "bool" }, { "name": "paramType", "type": "uint8", "internalType": "enum IAbxConfigurableParams.ParamType" }, { "name": "selectOptions", "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" }];
25
+ export const abxMetadataRendererBytecode = "0x6080604052348015600f57600080fd5b5061471a8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100615760003560e01c8062844d13146100665780632030d9551461008f5780637efe64a2146100af578063c388da65146100be578063ca379c6e146100d1578063e9dc6375146100f3575b600080fd5b610079610074366004613610565b610106565b604051610086919061367d565b60405180910390f35b6100a261009d36600461369e565b610535565b60405161008691906136e0565b60405160048152602001610086565b6100796100cc366004613723565b61061e565b6100e46100df36600461376d565b610716565b604051610086939291906137af565b61007961010136600461376d565b6107ac565b60405163055828c560e41b8152636e616d6560e01b600482015260609060009081906001600160a01b038516906355828c5090602401600060405180830381865afa158015610159573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261018191908101906138f1565b9150915060608082516000141580156101b4575065696e6c696e6560d01b8414806101b45750653932b0b232b960d11b84145b15610250576101c3848461097c565b9150610249604051806040016040528060048152602001636e616d6560e01b81525065696e6c696e6560d01b861461021957604051806040016040528060068152602001653932b0b232b960d11b815250610239565b60405180604001604052806006815260200165696e6c696e6560d01b8152505b60016102448861099d565b610a9d565b9050610339565b856001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561028e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102b69190810190613938565b9150610336604051806040016040528060048152602001636e616d6560e01b8152506040518060400160405280600881526020016766616c6c6261636b60c01b81525060016040518060400160405280601981526020017f6f6e2d636861696e20284552432d373231206e616d6528292900000000000000815250610a9d565b90505b600061034483610b14565b604051602001610354919061396c565b60405160208183030381529060405290506103a3876a3232b9b1b934b83a34b7b760a91b6040518060400160405280600b81526020016a3232b9b1b934b83a34b7b760a91b8152508486610b21565b80935081925050506103ed876c65787465726e616c5f6c696e6b60981b6040518060400160405280600d81526020016c65787465726e616c5f6c696e6b60981b8152508486610b21565b80935081925050506104298765185c9d1a5cdd60d21b60405180604001604052806006815260200165185c9d1a5cdd60d21b8152508486610b21565b8093508192505050610473876c646973706c61795f6e6f74657360981b6040518060400160405280600d81526020016c646973706c61795f6e6f74657360981b8152508486610b21565b80935081925050506104bb876b6172746973745f6c696e6b7360a01b6040518060400160405280600c81526020016b6172746973745f6c696e6b7360a01b8152508486610b21565b80935081925050506104f987666c6963656e736560c81b604051806040016040528060078152602001666c6963656e736560c81b8152508486610b21565b60405190935090915061052a9061051690839085906020016139a9565b604051602081830303815290604052610d74565b979650505050505050565b6060816105a757836001600160a01b03166355580cca6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a29190810190613a29565b610614565b60405163e1b7938160e01b8152600481018490526001600160a01b0385169063e1b7938190602401600060405180830381865afa1580156105ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106149190810190613a29565b90505b9392505050565b60608161069757604051630d96050360e31b8152600481018490526001600160a01b03861690636cb0281890602401600060405180830381865afa15801561066a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106929190810190613938565b61070b565b6040516384f6687f60e01b815260048101859052602481018490526001600160a01b038616906384f6687f90604401600060405180830381865afa1580156106e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261070b9190810190613938565b90505b949350505050565b60008060606000806000876001600160a01b031663f2235701886040518263ffffffff1660e01b815260040161074e91815260200190565b600060405180830381865afa15801561076b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107939190810190613b59565b969c50949a5094985050505050505050505b9250925092565b60606000806107bb8585610da5565b9150915060008060006107ce8888611050565b92509250925060006107df86610b14565b6107e885610b14565b6040516020016107f9929190613c17565b60405160208183030381529060405290506000858460405160200161081f929190613c81565b604051602081830303815290604052905061086f8a8a6a3232b9b1b934b83a34b7b760a91b6040518060400160405280600b81526020016a3232b9b1b934b83a34b7b760a91b81525086866114e9565b80925081935050506108b88a8a6b195e1d195c9b985b17dd5c9b60a21b6040518060400160405280600c81526020016b195e1d195c9b985b17dd5c9b60a21b81525086866114e9565b80925081935050506109038a8a6c185b9a5b585d1a5bdb97dd5c9b609a1b6040518060400160405280600d81526020016c185b9a5b585d1a5bdb97dd5c9b609a1b81525086866114e9565b90925090506109148a8a8484611893565b90925090506109258a8a8484611af8565b8451919350915015610956578183604051602001610944929190613cbd565b60405160208183030381529060405291505b61096c82826040516020016105169291906139a9565b9750505050505050505b92915050565b6060653932b0b232b960d11b83146109945781610617565b61061782611bd4565b6060621d5c9b60ea1b82036109cb576040518060600160405280602181526020016146c46021913992915050565b6b75726c2d74656d706c61746560a01b8203610a00576040518060600160405280602a815260200161469a602a913992915050565b673932b73232b932b960c11b8203610a31576040518060600160405280602281526020016146786022913992915050565b653932b0b232b960d11b8214610a7057604051806040016040528060118152602001706f6e2d636861696e2028696e6c696e652960781b815250610976565b50506040805180820190915260118152706f6e2d636861696e20287265616465722960781b602082015290565b6060848484610ac9576040518060400160405280600581526020016466616c736560d81b815250610ae7565b604051806040016040528060048152602001637472756560e01b8152505b84604051602001610afb9493929190613d14565b6040516020818303038152906040529050949350505050565b6060610976826000611c62565b606080600080886001600160a01b03166355828c50896040518263ffffffff1660e01b8152600401610b5591815260200190565b600060405180830381865afa158015610b72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b9a91908101906138f1565b915091508051600003610bb4578585935093505050610d6a565b65696e6c696e6560d01b821480610bd35750653932b0b232b960d11b82145b80610be35750621d5c9b60ea1b82145b15610c67578587610bfc610bf7858561097c565b610b14565b604051602001610c0e93929190613e0b565b604051602081830303815290604052955084610c4088610c2d85611d63565b621d5c9b60ea1b8614156102448761099d565b604051602001610c51929190613c81565b6040516020818303038152906040529450610d61565b673932b73232b932b960c11b8203610d0e576000610c89828b6000198c611e8c565b9150508688610c9783610b14565b604051602001610ca993929190613e0b565b60408051601f1981840301815282820190915260088252673932b73232b932b960c11b602083015297508690610ce6908a9060016102448861099d565b604051602001610cf7929190613c81565b604051602081830303815290604052955050610d61565b84610d3e88604051806040016040528060078152602001661bdb5a5d1d195960ca1b815250600061024487611f33565b604051602001610d4f929190613c81565b60405160208183030381529060405294505b85859350935050505b9550959350505050565b6060610d7f82611f4e565b604051602001610d8f9190613e7b565b6040516020818303038152906040529050919050565b6060806000806000610dbf8787636e616d6560e01b611f5c565b9250925092508151600014158015610df1575065696e6c696e6560d01b831480610df15750653932b0b232b960d11b83145b15610e9457610e00838361097c565b610e88604051806040016040528060048152602001636e616d6560e01b81525065696e6c696e6560d01b8614610e5457604051806040016040528060068152602001653932b0b232b960d11b815250610e74565b60405180604001604052806006815260200165696e6c696e6560d01b8152505b6001610244610e828961099d565b87612089565b94509450505050611049565b815115801590610eae5750673932b73232b932b960c11b83145b15610f2e576000610ec8838989636e616d6560e01b611e8c565b91505080610f21604051806040016040528060048152602001636e616d6560e01b815250604051806040016040528060088152602001673932b73232b932b960c11b8152506001610244610f1b8a61099d565b88612089565b9550955050505050611049565b6000876001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610f6e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f969190810190613938565b610f9f886120be565b604051602001610fb0929190613ec0565b604051602081830303815290604052905080611040604051806040016040528060048152602001636e616d6560e01b8152506040518060400160405280600881526020016766616c6c6261636b60c01b81525060016040518060400160405280601f81526020017f6f6e2d636861696e20284552432d373231206e616d652829202b202369642900815250610a9d565b95509550505050505b9250929050565b6060806060600080600061106d888864696d61676560d81b611f5c565b92509250925081516000146114405765696e6c696e6560d01b83036111285761109582612102565b61110a60405180604001604052806005815260200164696d61676560d81b81525060405180604001604052806006815260200165696e6c696e6560d01b8152506001610244604051806040016040528060118152602001706f6e2d636861696e2028696e6c696e652960781b81525087612089565b604051806020016040528060008152509550955095505050506107a5565b653932b0b232b960d11b83036111be5761114961114483611bd4565b612102565b61110a60405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060068152602001653932b0b232b960d11b8152506001610244604051806040016040528060118152602001706f6e2d636861696e20287265616465722960781b81525087612089565b621d5c9b60ea1b830361122d578161110a60405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060038152602001621d5c9b60ea1b81525060006102446040518060600160405280602181526020016146c46021913987612089565b6b75726c2d74656d706c61746560a01b83036112b75761124d828861211d565b61110a60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600c81526020016b75726c2d74656d706c61746560a01b81525060006102446040518060600160405280602a815260200161469a602a913987612089565b673932b73232b932b960c11b83036113e9576000806112e0848b8b64696d61676560d81b611e8c565b9150915060006112f0838361214e565b90508061134960405180604001604052806005815260200164696d61676560d81b815250604051806040016040528060088152602001673932b73232b932b960c11b81525060016102446113438c61099d565b8a612089565b60408051808201909152600d81526c1d195e1d0bdd5c9a4b5b1a5cdd609a1b6020918201528551908601207f2438498d70aa8ac91444d2861b334b26492f82721c6150cf6dd763335bc75de0146113c7576113c260405180604001604052806005815260200164696d61676560d81b815250868561216b565b6113d8565b604051806020016040528060008152505b9850985098505050505050506107a5565b6113f388886121aa565b61110a60405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600881526020016766616c6c6261636b60c01b815250600061024488611f33565b61144a88886121aa565b6114c960405180604001604052806005815260200164696d61676560d81b8152506040518060400160405280600881526020016766616c6c6261636b60c01b81525060006040518060400160405280601c81526020017f66616c6c6261636b202d20696d616765206669656c6420756e73657400000000815250610a9d565b604051806020016040528060008152509550955095505050509250925092565b60608060008060006114fc8b8b8b611f5c565b925092509250815160000361151957868694509450505050611888565b65696e6c696e6560d01b8314806115385750653932b0b232b960d11b83145b15611602576000611549848461097c565b90506c185b9a5b585d1a5bdb97dd5c9b609a1b8a036115905761158d604051806040016040528060098152602001681d195e1d0bda1d1b5b60ba1b8152508261214e565b90505b878961159b83610b14565b6040516020016115ad93929190613e0b565b6040516020818303038152906040529750866115da8a6115cc87611d63565b6001610244610f1b8a61099d565b6040516020016115eb929190613c81565b60405160208183030381529060405296505061187e565b621d5c9b60ea1b83148061162457506b75726c2d74656d706c61746560a01b83145b1561169d5760006b75726c2d74656d706c61746560a01b84146116475782611651565b611651838c61211d565b9050878961165e83610b14565b60405160200161167093929190613e0b565b6040516020818303038152906040529750866115da8a61168f87611d63565b6000610244610f1b8a61099d565b673932b73232b932b960c11b830361182b576000806116be848e8e8e611e8c565b60408051808201909152600d81526c1d195e1d0bdd5c9a4b5b1a5cdd609a1b60209182015282519083012091935091507f2438498d70aa8ac91444d2861b334b26492f82721c6150cf6dd763335bc75de01460006c185b9a5b585d1a5bdb97dd5c9b609a1b8d14801561172f575081155b6117395782611743565b611743848461214e565b90508a8c61175083610b14565b60405160200161176293929190613e0b565b6040516020818303038152906040529a5089826117b7576117b28d604051806040016040528060088152602001673932b73232b932b960c11b81525060016102446117ac8d61099d565b8b612089565b611800565b6118008d604051806040016040528060088152602001673932b73232b932b960c11b8152506000610244604051806060016040528060378152602001614641603791398b612089565b604051602001611811929190613c81565b60405160208183030381529060405299505050505061187e565b8561185b89604051806040016040528060078152602001661bdb5a5d1d195960ca1b815250600061024488611f33565b60405160200161186c929190613c81565b60405160208183030381529060405295505b8686945094505050505b965096945050505050565b60608060008060006118b38989696174747269627574657360b01b611f5c565b92509250925081516000036118d057868694509450505050611aef565b65696e6c696e6560d01b83036119a65786826040516020016118f3929190613efd565b60405160208183030381529060405296508561197f6040518060400160405280600a8152602001696174747269627574657360b01b81525060405180604001604052806006815260200165696e6c696e6560d01b8152506001610244604051806040016040528060118152602001706f6e2d636861696e2028696e6c696e652960781b81525087612089565b604051602001611990929190613c81565b6040516020818303038152906040529550611ae5565b673932b73232b932b960c11b8303611a705760006119d3838b8b696174747269627574657360b01b611e8c565b91505087816040516020016119e9929190613efd565b60408051601f198184030181528282018252600a8352696174747269627574657360b01b602084810191909152825180840190935260088352673932b73232b932b960c11b9083015299508891611a48916001610244610f1b8a61099d565b604051602001611a59929190613c81565b604051602081830303815290604052965050611ae5565b85611ac26040518060400160405280600a8152602001696174747269627574657360b01b815250604051806040016040528060078152602001661bdb5a5d1d195960ca1b815250600061024488611f33565b604051602001611ad3929190613c81565b60405160208183030381529060405295505b8686945094505050505b94509492505050565b6060806000611b078787612205565b90508051600003611b1e5784849250925050611aef565b8481604051602001611b31929190613f46565b60405160208183030381529060405284611ba66040518060400160405280600a8152602001696162785f706172616d7360b01b81525060405180604001604052806006815260200165706172616d7360d01b815250600160405180606001604052806034815260200161460d60349139610a9d565b604051602001611bb7929190613c81565b604051602081830303815290604052925092505094509492505050565b606060008083806020019051810190611bed9190613f9e565b604051635043d43f60e11b81526001600160a01b0380831660048301529294509092509083169063a087a87e90602401600060405180830381865afa158015611c3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261070e9190810190613938565b604051602081018215611c7757602281536001015b7b5c75303030303031323334353637383961626364656662746e00667260155283516b1000000000000004000000009085015b808614611d3a5760018601955060ff86511660208110611cf357826001821b16611cdd5780845360018401935050611caa565b605c845380600185015360028401935050611caa565b6137006001821b16611d20578060041c51601d53600f811651601e53601951845260068401935050611caa565b605c84536008810151600185015350600283019250611caa565b50508215611d4a57602281536001015b60008152601f1982820301825260200160405292915050565b606065696e6c696e6560d01b8203611d97575050604080518082019091526006815265696e6c696e6560d01b602082015290565b653932b0b232b960d11b8203611dc95750506040805180820190915260068152653932b0b232b960d11b602082015290565b673932b73232b932b960c11b8203611dff5750506040805180820190915260088152673932b73232b932b960c11b602082015290565b621d5c9b60ea1b8203611e2b5750506040805180820190915260038152621d5c9b60ea1b602082015290565b6b75726c2d74656d706c61746560a01b8203611e6957505060408051808201909152600c81526b75726c2d74656d706c61746560a01b602082015290565b50506040805180820190915260078152661bdb5a5d1d195960ca1b602082015290565b606080600086806020019051810190611ea59190613fd8565b604051633f307a7b60e11b81526001600160a01b038881166004830152602482018890526044820187905291925090821690637e60f4f690606401600060405180830381865afa158015611efd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f259190810190613ff5565b925092505094509492505050565b6060611f3e82612552565b604051602001610d8f9190614046565b60606109768260008061263b565b604051633937c63b60e21b8152600481018390526024810182905260009060609082906001600160a01b0387169063e4df18ec90604401600060405180830381865afa158015611fb0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611fd891908101906138f1565b8051919450925015611fec57506000612080565b60405163055828c560e41b81526004810185905260009081906001600160a01b038916906355828c5090602401600060405180830381865afa158015612036573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261205e91908101906138f1565b91509150805160001461207957909350915060019050612080565b5060009150505b93509350939050565b6060816120965782610617565b826040516020016120a7919061409c565b604051602081830303815290604052905092915050565b60606080604051019050602081016040526000815280600019835b928101926030600a8206018453600a9004806120d9575050819003601f19909101908152919050565b606061210d82611f4e565b604051602001610d8f91906140cd565b606061061783604051806040016040528060048152602001637b69647d60e01b815250612149856120be565b612730565b60608261215a83611f4e565b6040516020016120a7929190614112565b60608361217784610b14565b61218084610b14565b60405160200161219293929190614166565b60405160208183030381529060405290509392505050565b606060006121c36121ba8561273d565b600060066127ac565b90506000816121d1856120be565b6040516020016121e2929190614202565b60405160208183030381529060405290506121fc81612102565b95945050505050565b6060600061221384846127b9565b9050600081516001600160401b0381111561223057612230613842565b60405190808252806020026020018201604052801561226357816020015b606081526020019060019003908161224e5790505b5090506000805b83518110156123155760008061229a898988868151811061228d5761228d614370565b602002602001015161296e565b91509150816122aa57505061230d565b8583815181106122bc576122bc614370565b60200260200101518685815181106122d6576122d6614370565b60209081029190910101528085856122ed8161439c565b9650815181106122ff576122ff614370565b602002602001018190525050505b60010161226a565b5060015b8181101561247b57600084828151811061233557612335614370565b60200260200101519050600084838151811061235357612353614370565b6020026020010151905060008390505b6000811180156123985750828761237b6001846143b5565b8151811061238b5761238b614370565b602002602001015160001c115b1561243057866123a96001836143b5565b815181106123b9576123b9614370565b60200260200101518782815181106123d3576123d3614370565b6020908102919091010152856123ea6001836143b5565b815181106123fa576123fa614370565b602002602001015186828151811061241457612414614370565b602002602001018190525080612429906143c8565b9050612363565b8287828151811061244357612443614370565b6020026020010181815250508186828151811061246257612462614370565b6020026020010181905250505050806001019050612319565b50606060005b828110156125475780158015906124d657506124bf856124a26001846143b5565b815181106124b2576124b2614370565b6020026020010151612a17565b6124d48683815181106124b2576124b2614370565b145b61253f5781511561252157818482815181106124f4576124f4614370565b602002602001015160405160200161250d929190613c81565b60405160208183030381529060405261253c565b83818151811061253357612533614370565b60200260200101515b91505b600101612481565b509695505050505050565b606060005b602081108015612585575082816020811061257457612574614370565b1a60f81b6001600160f81b03191615155b1561259a576125938161439c565b9050612557565b6000816001600160401b038111156125b4576125b4613842565b6040519080825280601f01601f1916602001820160405280156125de576020820181803683370190505b50905060005b82811015612633578481602081106125fe576125fe614370565b1a60f81b82828151811061261457612614614370565b60200101906001600160f81b031916908160001a9053506001016125e4565b509392505050565b606083518015612633576003600282010460021b60405192507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106708515027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f52602083018181018388602001018051600082525b60038a0199508951603f8160121c1651600053603f81600c1c1651600153603f8160061c1651600253603f8116516003535060005184526004840193508284106126b7579052602001604052613d3d60f01b60038406600204808303919091526000861515909102918290035290038252509392505050565b6060610614848484612a89565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c518253505060018101906012190161277d575050919050565b6060610614848484612b99565b606060006127c984846000612bff565b905060006127d985856001612bff565b90506000815183516127eb91906143df565b9050806001600160401b0381111561280557612805613842565b60405190808252806020026020018201604052801561282e578160200160208202803683370190505b5093506000805b8281101561296157600085518210612872578486518361285591906143b5565b8151811061286557612865614370565b602002602001015161288d565b85828151811061288457612884614370565b60200260200101515b90506618da185a5b925960ca1b8114806128b857506e636f6e74726163744164647265737360881b81145b806128cc5750661d1bdad95b925960ca1b81145b806128dd5750631cd9595960e21b81145b156128e85750612959565b6000805b84811015612925578289828151811061290757612907614370565b60200260200101510361291d5760019150612925565b6001016128ec565b5080612956578188856129378161439c565b96508151811061294957612949614370565b6020026020010181815250505b50505b600101612835565b5084525091949350505050565b6000606060008060006129848888886001612c99565b9194509250905080806129a65761299e8989896000612c99565b919550935091505b816129ca576000604051806020016040528060008152509550955050505050612a0f565b60016129d8610bf789612dd7565b6129e68b8b8b898988612eb8565b6040516020016129f79291906143f2565b60405160208183030381529060405295509550505050505b935093915050565b6000805b6020811015612a8357828160208110612a3657612a36614370565b1a60f81b6001600160f81b03191615612a8357612a5481600861443d565b838260208110612a6657612a66614370565b1a60f81b6001600160f81b031916901c9190911790600101612a1b565b50919050565b6060604051905082518251858303602087018751810160005287518411612b5c576001846000510301600060208610612ac5578560208a012090505b6020890151601f871660200360031b5b8451828118821c612b45578315612b0d578389872014612b0d578087870152600186019550848610612b075750612b57565b50612ad5565b60005b6020818d0181015189890183015201888110612b105750888888010396508815612b455794880194848610612b075750612b57565b85870152600190940193838510612ad5575b505050505b6000519350836020860183030192505b83811015612b8257805182820152602001612b6c565b600091019081526020016040528252509392505050565b60608351828111612ba8578092505b838111612bb3578093505b50818310156106175750604051828203848401601f19601f830181165b8281015185820152810180612bd057505050806020830101600081526020810160405250808252509392505050565b604051632030d95560e01b81526001600160a01b03841660048201526024810183905281151560448201526060903090632030d95590606401600060405180830381865afa925050508015612c7657506040513d6000823e601f3d908101601f19168201604052612c739190810190613a29565b60015b15612c82579050610617565b505060408051600081526020810190915292915050565b6000806000806000886001600160a01b031686612cec576040516024810189905260440160408051601f198184030181529190526020810180516001600160e01b0316632352b33f60e01b179052612d2b565b604051602481018a90526044810189905260640160408051601f198184030181529190526020810180516001600160e01b03166335e9c91160e11b1790525b604051612d389190614454565b600060405180830381855afa9150503d8060008114612d73576040519150601f19603f3d011682016040523d82523d6000602084013e612d78565b606091505b5091509150811580612d8c57508051606014155b15612da3575060009350839250829150612dcd9050565b600080600083806020019051810190612dbc9190614470565b919950151597501515955050505050505b9450945094915050565b606060005b602081108015612e0a5750828160208110612df957612df9614370565b1a60f81b6001600160f81b03191615155b15612e1f57612e188161439c565b9050612ddc565b6000816001600160401b03811115612e3957612e39613842565b6040519080825280601f01601f191660200182016040528015612e63576020820181803683370190505b50905060005b8281101561263357848160208110612e8357612e83614370565b1a60f81b828281518110612e9957612e99614370565b60200101906001600160f81b031916908160001a905350600101612e69565b60405163651bce3760e11b81526001600160a01b03871660048201526024810185905260609060009081908390309063ca379c6e90604401600060405180830381865afa925050508015612f2e57506040513d6000823e601f3d908101601f19168201604052612f2b919081019061449e565b60015b15612f3b57919450925090505b606086612fbc5783612f5757612f5088613093565b9050613062565b6001836008811115612f6b57612f6b613799565b03612fb257815188908110612f8857612f83816120be565b612faa565b612faa838281518110612f9d57612f9d614370565b6020026020010151610b14565b915050613062565b612f5083896131e1565b6000612fca8c8c8c8a6132e4565b90508051600003612fe757612fe0896020613386565b9150613060565b6108008151111561302857612ffd896020613386565b60405160200161300d91906144fd565b60405160208183030381529060405295505050505050613089565b8480156130465750600784600881111561304457613044613799565b145b1561305457612fe081610b14565b61305d81611f4e565b91505b505b806040516020016130739190614540565b6040516020818303038152906040529450505050505b9695505050505050565b606060205b80158015906130ce5750826130ae6001836143b5565b602081106130be576130be614370565b1a60f81b6001600160f81b031916155b156130e3576130dc816143c8565b9050613098565b80156131d6576000816001600160401b0381111561310357613103613842565b6040519080825280601f01601f19166020018201604052801561312d576020820181803683370190505b509050600160005b838110156131c357600086826020811061315157613151614370565b1a60f81b9050600160fd1b6001600160f81b0319821610806131815750607f60f81b6001600160f81b0319821610155b156131905760009250506131c3565b808483815181106131a3576131a3614370565b60200101906001600160f81b031916908160001a90535050600101613135565b5080156131d3576121fc82610b14565b50505b610617836020613386565b60608160008460088111156131f8576131f8613799565b0361324c57801561322557604051806040016040528060048152602001637472756560e01b815250613244565b6040518060400160405280600581526020016466616c736560d81b8152505b915050610976565b600584600881111561326057613260613799565b03613297576132708160036133ac565b6040516020016132809190614575565b604051602081830303815290604052915050610976565b60038460088111156132ab576132ab613799565b036132b95761324481613434565b60048460088111156132cd576132cd613799565b036132db576132448161346c565b61070e816120be565b60405163c388da6560e01b81526001600160a01b038516600482015260248101849052604481018390528115156064820152606090309063c388da6590608401600060405180830381865afa92505050801561336257506040513d6000823e601f3d908101601f1916820160405261335f9190810190613938565b60015b1561336e57905061070e565b50604080516020810190915260008152949350505050565b606061339283836133ac565b805161307882526002016001199091019081529392505050565b6060601f1960428360011b01166040510190506020810160405260008152806f30313233343536373839616263646566600f528283018203600119855b600f811651948201946001860153600f8160041c1651855360081c8483036133e957801561341f57632194895a6000526004601cfd5b505050819003601f1990910190815292915050565b60606000821261344757610976826120be565b61345482196001016120be565b8051602d825260010160001990910190815292915050565b6060600061347f6402540be400846145b4565b905060006134926402540be400856145c8565b9050806000036134a55761070e826120be565b60006134be6134b96402540be400846143df565b6120be565b80519091505b816134d06001836143b5565b815181106134e0576134e0614370565b01602001516001600160f81b031916600360fc1b0361350957613502816143c8565b90506134c4565b60006135166001836143b5565b6001600160401b0381111561352d5761352d613842565b6040519080825280601f01601f191660200182016040528015613557576020820181803683370190505b50905060015b828110156135c15783818151811061357757613577614370565b01602001516001600160f81b031916826135926001846143b5565b815181106135a2576135a2614370565b60200101906001600160f81b031916908160001a90535060010161355d565b506135cb856120be565b816040516020016135dd9291906145dc565b60405160208183030381529060405295505050505050919050565b6001600160a01b038116811461360d57600080fd5b50565b60006020828403121561362257600080fd5b8135610617816135f8565b60005b83811015613648578181015183820152602001613630565b50506000910152565b6000815180845261366981602086016020860161362d565b601f01601f19169290920160200192915050565b6020815260006106176020830184613651565b801515811461360d57600080fd5b6000806000606084860312156136b357600080fd5b83356136be816135f8565b92506020840135915060408401356136d581613690565b809150509250925092565b602080825282518282018190526000918401906040840190835b818110156137185783518352602093840193909201916001016136fa565b509095945050505050565b6000806000806080858703121561373957600080fd5b8435613744816135f8565b93506020850135925060408501359150606085013561376281613690565b939692955090935050565b6000806040838503121561378057600080fd5b823561378b816135f8565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b6000606082018515158352600985106137d857634e487b7160e01b600052602160045260246000fd5b8460208401526060604084015280845180835260808501915060808160051b86010192506020860160005b8281101561383457607f1987860301845261381f858351613651565b94506020938401939190910190600101613803565b509298975050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561388057613880613842565b604052919050565b600082601f83011261389957600080fd5b8151602083016000806001600160401b038411156138b9576138b9613842565b50601f8301601f19166020016138ce81613858565b9150508281528583830111156138e357600080fd5b6121fc83602083018461362d565b6000806040838503121561390457600080fd5b825160208401519092506001600160401b0381111561392257600080fd5b61392e85828601613888565b9150509250929050565b60006020828403121561394a57600080fd5b81516001600160401b0381111561396057600080fd5b61070e84828501613888565b683d913730b6b2911d1160b91b8152815160009061399181600985016020870161362d565b601160f91b6009939091019283015250600a01919050565b600083516139bb81846020880161362d565b722c226162785f70726f76656e616e6365223a5b60681b90830190815283516139eb81601384016020880161362d565b615d7d60f01b60139290910191820152601501949350505050565b60006001600160401b03821115613a1f57613a1f613842565b5060051b60200190565b600060208284031215613a3b57600080fd5b81516001600160401b03811115613a5157600080fd5b8201601f81018413613a6257600080fd5b8051613a75613a7082613a06565b613858565b8082825260208201915060208360051b850101925086831115613a9757600080fd5b6020840193505b82841015613089578351825260209384019390910190613a9e565b805160098110613ac857600080fd5b919050565b600082601f830112613ade57600080fd5b8151613aec613a7082613a06565b8082825260208201915060208360051b860101925085831115613b0e57600080fd5b602085015b83811015613b4f5780516001600160401b03811115613b3157600080fd5b613b40886020838a0101613888565b84525060209283019201613b13565b5095945050505050565b600080600080600080600080610100898b031215613b7657600080fd5b8851613b8181613690565b9750613b8f60208a01613ab9565b9650604089015160078110613ba357600080fd5b60608a0151909650613bb4816135f8565b60808a015190955065ffffffffffff81168114613bd057600080fd5b60a08a015160c08b015160e08c015192965090945092506001600160401b03811115613bfb57600080fd5b613c078b828c01613acd565b9150509295985092959890939650565b683d913730b6b2911d1160b91b81528251600090613c3c81600985016020880161362d565b6a11161134b6b0b3b2911d1160a91b6009918401918201528351613c6781601484016020880161362d565b601160f91b60149290910191820152601501949350505050565b60008351613c9381846020880161362d565b600b60fa1b9083019081528351613cb181600184016020880161362d565b01600101949350505050565b60008351613ccf81846020880161362d565b6d2c22617274696661637473223a5b60901b9083019081528351613cfa81600e84016020880161362d565b605d60f81b600e9290910191820152600f01949350505050565b693d913334b2b632111d1160b11b81528451600090613d3a81600a850160208a0161362d565b6b11161139b7bab931b2911d1160a11b600a918401918201528551613d66816016840160208a0161362d565b600a818301019150506b11161137b721b430b4b7111d60a11b600c8201528451613d9781601884016020890161362d565b600c818301019150507f2c227665726966696564416761696e7374436861696e223a6e756c6c2c226e6f600c820152643a32911d1160d91b602c8201528351613de781603184016020880161362d565b01600c810190613dfe9060310161227d60f01b9052565b6027019695505050505050565b60008451613e1d81846020890161362d565b61161160f11b9083019081528451613e3c81600284016020890161362d565b62111d1160e91b600292909101918201528351613e6081600584016020880161362d565b601160f91b6005929091019182015260060195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251613eb381601d85016020870161362d565b91909101601d0192915050565b60008351613ed281846020880161362d565b61202360f01b9083019081528351613ef181600284016020880161362d565b01600201949350505050565b60008351613f0f81846020880161362d565b6d161130ba3a3934b13aba32b9911d60911b9083019081528351613f3a81600e84016020880161362d565b01600e01949350505050565b60008351613f5881846020880161362d565b6e2c226162785f706172616d73223a7b60881b9083019081528351613f8481600f84016020880161362d565b607d60f81b600f9290910191820152601001949350505050565b60008060408385031215613fb157600080fd5b8251613fbc816135f8565b6020840151909250613fcd816135f8565b809150509250929050565b600060208284031215613fea57600080fd5b8151610617816135f8565b6000806040838503121561400857600080fd5b82516001600160401b0381111561401e57600080fd5b61402a85828601613888565b92505060208301516001600160401b0381111561392257600080fd5b7f726570726573656e746174696f6e206e6f74206f6e2d636861696e2d72656e64815267032b930b136329d160c51b60208201526000825161408f81602885016020870161362d565b9190910160280192915050565b600082516140ae81846020870161362d565b6c205b636f6c6c656374696f6e5d60981b920191825250600d01919050565b7f646174613a696d6167652f7376672b786d6c3b6261736536342c00000000000081526000825161410581601a85016020870161362d565b91909101601a0192915050565b643230ba309d60d91b81526000835161413281600585016020880161362d565b670ed8985cd94d8d0b60c21b600591840191820152835161415a81600d84016020880161362d565b01600d01949350505050565b673d9135b2bc911d1160c11b8152835160009061418a81600885016020890161362d565b6d11161136b4b6b2aa3cb832911d1160911b60089184019182015284516141b881601684016020890161362d565b600881830101915050681116113ab934911d1160b91b600e82015283516141e681601784016020880161362d565b61227d60f01b6017929091019182015260190195945050505050565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222077696474683d2235303022206865696768743d223530302260208201527f2076696577426f783d223020302035303020353030223e3c726563742077696460408201527f74683d2235303022206865696768743d22353030222066696c6c3d22230000006060820152600083516142ac81607d85016020880161362d565b7f222f3e3c7465787420783d223235302220793d223236342220666f6e742d6661607d918401918201527f6d696c793d226d6f6e6f73706163652220666f6e742d73697a653d2234322220609d8201527f66696c6c3d22236666666666662220746578742d616e63686f723d226d69646460bd820152646c65223e2360d81b60dd82015283516143438160e284016020880161362d565b01607d8101906143659060e2016c1e17ba32bc3a1f1e17b9bb339f60991b9052565b607201949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016143ae576143ae614386565b5060010190565b8181038181111561097657610976614386565b6000816143d7576143d7614386565b506000190190565b8082018082111561097657610976614386565b601160f91b8152825160009061440f81600185016020880161362d565b61111d60f11b600191840191820152835161443181600384016020880161362d565b01600301949350505050565b808202811582820484141761097657610976614386565b6000825161446681846020870161362d565b9190910192915050565b60008060006060848603121561448557600080fd5b5050815160208301516040909301519094929350919050565b6000806000606084860312156144b357600080fd5b83516144be81613690565b92506144cc60208501613ab9565b915060408401516001600160401b038111156144e757600080fd5b6144f386828701613acd565b9150509250925092565b6d3d9135b2b1b1b0b5991a9b111d1160911b8152815160009061452781600e85016020870161362d565b61227d60f01b600e939091019283015250601001919050565b601160f91b8152815160009061455d81600185016020870161362d565b601160f91b6001939091019283015250600201919050565b602360f81b81526000825161459181600185016020870161362d565b9190910160010192915050565b634e487b7160e01b600052601260045260246000fd5b6000826145c3576145c361459e565b500490565b6000826145d7576145d761459e565b500690565b600083516145ee81846020880161362d565b601760f91b9083019081528351613cb181600184016020880161362d56fe6f6e2d636861696e20706172616d732028636f6e7472616374202b20746f6b656e2073636f70652c20746f6b656e2077696e7329636f6d7075746564206f6e2d636861696e20286669656c642072656e646572657229202d3e206f66662d636861696e20636f6e74656e74636f6d7075746564206f6e2d636861696e20286669656c642072656e6465726572296f6e2d636861696e2075726c2074656d706c617465202d3e206f66662d636861696e20636f6e74656e746f6e2d636861696e2075726c202d3e206f66662d636861696e20636f6e74656e74a2646970667358221220ebc8f7e2d6bd01a53fc05e2134073aa65fcf118f04b9cc6396762b3686802b0564736f6c634300081c0033";
26
26
  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": [] }];
27
27
  export const abxChunkStoreBytecode = "0x6080604052348015600f57600080fd5b50610ecc8061001f6000396000f3fe6080604052600436106100655760003560e01c8063a087a87e11610043578063a087a87e14610101578063ac9650d81461012e578063ec6196141461014e57600080fd5b80630824c92d1461006a5780636fba0bf5146100b457806388df5c26146100d4575b600080fd5b34801561007657600080fd5b5061008a610085366004610817565b61016e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100c057600080fd5b5061008a6100cf36600461088e565b6101ef565b3480156100e057600080fd5b506100f46100ef366004610917565b61027b565b6040516100ab919061093b565b34801561010d57600080fd5b5061012161011c366004610917565b61029f565b6040516100ab9190610a10565b61014161013c366004610a6f565b61037c565b6040516100ab9190610ab1565b34801561015a57600080fd5b5061008a610169366004610b34565b61039b565b600061019a8383604051602001610186929190610bb3565b604051602081830303815290604052610602565b60405183815290915073ffffffffffffffffffffffffffffffffffffffff8216907f85424a84b5f6134190da85e1c451610062bb74b1e74a8b78fd3da49fea93a268906020015b60405180910390a292915050565b600061023083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061060292505050565b60405183815290915073ffffffffffffffffffffffffffffffffffffffff8216907fa5124f679d827b2a1a919d0fd15bddee75a00603e5bb8ae57af50e96fc0ff547906020016101e1565b606061028682610646565b8060200190518101906102999190610cc9565b92915050565b606060006102ac83610646565b8060200190518101906102bf9190610cc9565b9050606060005b82518110156103745760006102f78483815181106102e6576102e6610db6565b602002602001015160000151610646565b905083828151811061030b5761030b610db6565b602002602001015160200151156103285761032581610692565b90505b828160405160200161033b929190610de5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529250506001016102c6565b509392505050565b6060341561038957600080fd5b610299610396848461076f565b610806565b60008382146103d6576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008467ffffffffffffffff8111156103f1576103f1610c22565b60405190808252806020026020018201604052801561043657816020015b604080518082019091526000808252602082015281526020019060019003908161040f5790505b50905060005b858110156105915760006104a788888481811061045b5761045b610db6565b905060200281019061046d9190610e14565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061060292505050565b90508073ffffffffffffffffffffffffffffffffffffffff167fa5124f679d827b2a1a919d0fd15bddee75a00603e5bb8ae57af50e96fc0ff5478989858181106104f3576104f3610db6565b90506020028101906105059190610e14565b604051908152602001905060405180910390a260405180604001604052808273ffffffffffffffffffffffffffffffffffffffff16815260200187878581811061055157610551610db6565b90506020020160208101906105669190610e79565b151581525083838151811061057d5761057d610db6565b60209081029190910101525060010161043c565b506105a681604051602001610186919061093b565b91508173ffffffffffffffffffffffffffffffffffffffff167f85424a84b5f6134190da85e1c451610062bb74b1e74a8b78fd3da49fea93a26882516040516105f191815260200190565b60405180910390a250949350505050565b600081518060401b6bfe61000180600a3d393df3000161fffe8211840152600b8101601584016000f09150816106405763301164256000526004601cfd5b90915290565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff833b0116602181016000601f8401853c80825260408201810160405250919050565b60405181516020838101938184019201015b808410156107385783518060001a8060051c806106d75750600186810151855295810160020195930190920191506106a4565b600781148360011a600701821881028218600201600185836001011a85601f1660081b01018088036020821860208311028218915060005b818101518a820152820183811061070f579a84016002019a9883019850505050505050506106a4565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301825260008152602001604052919050565b600060405190506020815281816020015280604001808360051b8086843782018085156107ee575b835187018035602082018337600038823584305af46107b9573d6000873e3d86fd5b5082810384523d815260209384019381013d6000823e60003d8201523d01601f0167ffffffffffffffe0169050818410610797575b806040528485820360401b1794505050505092915050565b8060401c8167ffffffffffffffff16f35b6000806020838503121561082a57600080fd5b823567ffffffffffffffff81111561084157600080fd5b8301601f8101851361085257600080fd5b803567ffffffffffffffff81111561086957600080fd5b8560208260061b840101111561087e57600080fd5b6020919091019590945092505050565b600080602083850312156108a157600080fd5b823567ffffffffffffffff8111156108b857600080fd5b8301601f810185136108c957600080fd5b803567ffffffffffffffff8111156108e057600080fd5b85602082840101111561087e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461091457600080fd5b50565b60006020828403121561092957600080fd5b8135610934816108f2565b9392505050565b602080825282518282018190526000918401906040840190835b81811015610997578351805173ffffffffffffffffffffffffffffffffffffffff16845260209081015115158185015290930192604090920191600101610955565b509095945050505050565b60005b838110156109bd5781810151838201526020016109a5565b50506000910152565b600081518084526109de8160208601602086016109a2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061093460208301846109c6565b60008083601f840112610a3557600080fd5b50813567ffffffffffffffff811115610a4d57600080fd5b6020830191508360208260051b8501011115610a6857600080fd5b9250929050565b60008060208385031215610a8257600080fd5b823567ffffffffffffffff811115610a9957600080fd5b610aa585828601610a23565b90969095509350505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015610b28577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452610b138583516109c6565b94506020938401939190910190600101610ad9565b50929695505050505050565b60008060008060408587031215610b4a57600080fd5b843567ffffffffffffffff811115610b6157600080fd5b610b6d87828801610a23565b909550935050602085013567ffffffffffffffff811115610b8d57600080fd5b610b9987828801610a23565b95989497509550505050565b801515811461091457600080fd5b6020808252810182905260008360408301825b85811015610c18578235610bd9816108f2565b73ffffffffffffffffffffffffffffffffffffffff1682526020830135610bff81610ba5565b1515602083015260409283019290910190600101610bc6565b5095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610c7457610c74610c22565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610cc157610cc1610c22565b604052919050565b600060208284031215610cdb57600080fd5b815167ffffffffffffffff811115610cf257600080fd5b8201601f81018413610d0357600080fd5b805167ffffffffffffffff811115610d1d57610d1d610c22565b610d2c60208260051b01610c7a565b8082825260208201915060208360061b850101925086831115610d4e57600080fd5b6020840193505b82841015610dac5760408488031215610d6d57600080fd5b610d75610c51565b8451610d80816108f2565b81526020850151610d9081610ba5565b8060208301525080835250602082019150604084019350610d55565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008351610df78184602088016109a2565b835190830190610e0b8183602088016109a2565b01949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e4957600080fd5b83018035915067ffffffffffffffff821115610e6457600080fd5b602001915036819003821315610a6857600080fd5b600060208284031215610e8b57600080fd5b813561093481610ba556fea26469706673582212208885e041f813b1b4e06df3869a33c3f6c6d28f61645a681c2210664b967d414c64736f6c634300081c0033";
28
28
  //# sourceMappingURL=generated.js.map