@argonprotocol/mainchain 1.4.5 → 1.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/artifacts/contracts/ArgonToken.sol/ArgonToken.json +3 -3
- package/browser/artifacts/contracts/ArgonotToken.sol/ArgonotToken.json +3 -3
- package/browser/artifacts/contracts/MintingGateway.sol/MintingGateway.json +12 -12
- package/browser/artifacts/contracts/ProxyArtifacts.sol/ProxyAdmin.json +3 -3
- package/browser/artifacts/contracts/ProxyArtifacts.sol/TransparentUpgradeableProxy.json +3 -3
- package/browser/index.d.ts +3 -55
- package/browser/index.js +39 -32
- package/browser/index.js.map +1 -1
- package/lib/artifacts/contracts/ArgonToken.sol/ArgonToken.json +3 -3
- package/lib/artifacts/contracts/ArgonotToken.sol/ArgonotToken.json +3 -3
- package/lib/artifacts/contracts/MintingGateway.sol/MintingGateway.json +12 -12
- package/lib/artifacts/contracts/ProxyArtifacts.sol/ProxyAdmin.json +3 -3
- package/lib/artifacts/contracts/ProxyArtifacts.sol/TransparentUpgradeableProxy.json +3 -3
- package/lib/index.cjs +47 -40
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +3 -55
- package/lib/index.d.ts +3 -55
- package/lib/index.js +39 -32
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
- package/src/interfaces/augment-types.ts +0 -18
- package/src/interfaces/definitions.ts +0 -42
- package/src/interfaces/ethereum/index.ts +0 -4
- package/src/interfaces/ethereum/types.ts +0 -66
package/browser/index.js
CHANGED
|
@@ -804,6 +804,7 @@ var BitcoinLock = class _BitcoinLock {
|
|
|
804
804
|
__publicField(this, "isFunded");
|
|
805
805
|
__publicField(this, "createdAtArgonBlock");
|
|
806
806
|
__publicField(this, "fundHoldExtensionsByBitcoinExpirationHeight");
|
|
807
|
+
__publicField(this, "couponFeesPaid");
|
|
807
808
|
this.utxoId = data.utxoId;
|
|
808
809
|
this.p2wshScriptHashHex = data.p2wshScriptHashHex;
|
|
809
810
|
this.vaultId = data.vaultId;
|
|
@@ -823,6 +824,7 @@ var BitcoinLock = class _BitcoinLock {
|
|
|
823
824
|
this.isFunded = data.isFunded;
|
|
824
825
|
this.fundHoldExtensionsByBitcoinExpirationHeight = data.fundHoldExtensionsByBitcoinExpirationHeight;
|
|
825
826
|
this.createdAtArgonBlock = data.createdAtArgonBlock;
|
|
827
|
+
this.couponFeesPaid = data.couponFeesPaid ?? 0n;
|
|
826
828
|
}
|
|
827
829
|
/**
|
|
828
830
|
* Gets the UTXO reference by ID.
|
|
@@ -1200,6 +1202,7 @@ var BitcoinLock = class _BitcoinLock {
|
|
|
1200
1202
|
const fundHoldExtensionsByBitcoinExpirationHeight = Object.fromEntries(
|
|
1201
1203
|
[...utxo.fundHoldExtensions.entries()].map(([x, y]) => [x.toNumber(), y.toBigInt()])
|
|
1202
1204
|
);
|
|
1205
|
+
const couponFeesPaid = utxo.couponPaidFees?.toBigInt() ?? 0n;
|
|
1203
1206
|
return new _BitcoinLock({
|
|
1204
1207
|
utxoId,
|
|
1205
1208
|
p2wshScriptHashHex,
|
|
@@ -1218,6 +1221,7 @@ var BitcoinLock = class _BitcoinLock {
|
|
|
1218
1221
|
createdAtHeight,
|
|
1219
1222
|
securityFees,
|
|
1220
1223
|
isFunded,
|
|
1224
|
+
couponFeesPaid,
|
|
1221
1225
|
fundHoldExtensionsByBitcoinExpirationHeight,
|
|
1222
1226
|
createdAtArgonBlock
|
|
1223
1227
|
});
|
|
@@ -2065,8 +2069,8 @@ var ArgonToken_default = {
|
|
|
2065
2069
|
type: "function"
|
|
2066
2070
|
}
|
|
2067
2071
|
],
|
|
2068
|
-
bytecode: "0x61018060405234801562000011575f80fd5b506040516200151d3803806200151d833981016040819052620000349162000246565b6040518060400160405280600581526020016420b933b7b760d91b8152506040518060400160405280600481526020016320a923a760e11b815250828280604051806040016040528060018152602001603160f81b815250858581600390816200009f919062000313565b506004620000ae828262000313565b50620000c091508390506005620001cc565b61012052620000d1816006620001cc565b61014052815160208084019190912060e052815190820120610100524660a0526200015e60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811615806200018757506001600160a01b0381163b155b15620001b557604051628ecbc360e51b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b0316610160525062000451915050565b5f602083511015620001eb57620001e38362000204565b9050620001fe565b81620001f8848262000313565b5060ff90505b92915050565b5f80829050601f8151111562000231578260405163305a27a960e01b8152600401620001ac9190620003df565b80516200023e826200042d565b179392505050565b5f6020828403121562000257575f80fd5b81516001600160a01b03811681146200026e575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200029e57607f821691505b602082108103620002bd57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200030e57805f5260205f20601f840160051c81016020851015620002ea5750805b601f840160051c820191505b818110156200030b575f8155600101620002f6565b50505b505050565b81516001600160401b038111156200032f576200032f62000275565b620003478162000340845462000289565b84620002c3565b602080601f8311600181146200037d575f8415620003655750858301515b5f19600386901b1c1916600185901b178555620003d7565b5f85815260208120601f198616915b82811015620003ad578886015182559484019460019091019084016200038c565b5085821015620003cb57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f602080835283518060208501525f5b818110156200040d57858101830151858201604001528201620003ef565b505f604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620002bd575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611062620004bb5f395f81816101450152818161038401526103e201525f61089801525f61086b01525f6107ac01525f61078401525f6106df01525f61070901525f61073301526110625ff3fe608060405234801561000f575f80fd5b50600436106100fb575f3560e01c806370a082311161009357806395d89b411161006357806395d89b4114610239578063a9059cbb14610241578063d505accf14610254578063dd62ed3e14610267575f80fd5b806370a08231146101d057806379cc6790146101f85780637ecebe001461020b57806384b0196e1461021e575f80fd5b806323b872dd116100ce57806323b872dd14610191578063313ce567146101a45780633644e515146101b357806340c10f19146101bb575f80fd5b806306fdde03146100ff578063095ea7b31461011d578063116191b61461014057806318160ddd1461017f575b5f80fd5b61010761029f565b6040516101149190610dde565b60405180910390f35b61013061012b366004610e12565b61032f565b6040519015158152602001610114565b6101677f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610114565b6002545b604051908152602001610114565b61013061019f366004610e3a565b610348565b60405160128152602001610114565b61018361036b565b6101ce6101c9366004610e12565b610379565b005b6101836101de366004610e73565b6001600160a01b03165f9081526020819052604090205490565b6101ce610206366004610e12565b6103d7565b610183610219366004610e73565b610437565b610226610454565b6040516101149796959493929190610e8c565b610107610496565b61013061024f366004610e12565b6104a5565b6101ce610262366004610f23565b6104b2565b610183610275366004610f90565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546102ae90610fc1565b80601f01602080910402602001604051908101604052809291908181526020018280546102da90610fc1565b80156103255780601f106102fc57610100808354040283529160200191610325565b820191905f5260205f20905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b5f3361033c8185856105e8565b60019150505b92915050565b5f336103558582856105fa565b610360858585610676565b506001949350505050565b5f6103746106d3565b905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c957604051634ca65edb60e11b81523360048201526024015b60405180910390fd5b6103d382826107fc565b5050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461042257604051634ca65edb60e11b81523360048201526024016103c0565b61042d8233836105fa565b6103d38282610830565b6001600160a01b0381165f90815260076020526040812054610342565b5f6060805f805f6060610465610864565b61046d610891565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546102ae90610fc1565b5f3361033c818585610676565b834211156104d65760405163313c898160e11b8152600481018590526024016103c0565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105218c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61057b826108be565b90505f61058a828787876108ea565b9050896001600160a01b0316816001600160a01b0316146105d1576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016103c0565b6105dc8a8a8a6105e8565b50505050505050505050565b6105f58383836001610916565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610670578181101561066257604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103c0565b61067084848484035f610916565b50505050565b6001600160a01b03831661069f57604051634b637e8f60e11b81525f60048201526024016103c0565b6001600160a01b0382166106c85760405163ec442f0560e01b81525f60048201526024016103c0565b6105f58383836109e8565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561072b57507f000000000000000000000000000000000000000000000000000000000000000046145b1561075557507f000000000000000000000000000000000000000000000000000000000000000090565b610374604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166108255760405163ec442f0560e01b81525f60048201526024016103c0565b6103d35f83836109e8565b6001600160a01b03821661085957604051634b637e8f60e11b81525f60048201526024016103c0565b6103d3825f836109e8565b60606103747f00000000000000000000000000000000000000000000000000000000000000006005610b0e565b60606103747f00000000000000000000000000000000000000000000000000000000000000006006610b0e565b5f6103426108ca6106d3565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f806108fa88888888610bb7565b92509250925061090a8282610c7f565b50909695505050505050565b6001600160a01b03841661093f5760405163e602df0560e01b81525f60048201526024016103c0565b6001600160a01b03831661096857604051634a1406b160e11b81525f60048201526024016103c0565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561067057826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109da91815260200190565b60405180910390a350505050565b6001600160a01b038316610a12578060025f828254610a079190610ff9565b90915550610a829050565b6001600160a01b0383165f9081526020819052604090205481811015610a645760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103c0565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610a9e57600280548290039055610abc565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b0191815260200190565b60405180910390a3505050565b606060ff8314610b2857610b2183610d37565b9050610342565b818054610b3490610fc1565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6090610fc1565b8015610bab5780601f10610b8257610100808354040283529160200191610bab565b820191905f5260205f20905b815481529060010190602001808311610b8e57829003601f168201915b50505050509050610342565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610bf057505f91506003905082610c75565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610c41573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116610c6c57505f925060019150829050610c75565b92505f91508190505b9450945094915050565b5f826003811115610c9257610c92611018565b03610c9b575050565b6001826003811115610caf57610caf611018565b03610ccd5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610ce157610ce1611018565b03610d025760405163fce698f760e01b8152600481018290526024016103c0565b6003826003811115610d1657610d16611018565b036103d3576040516335e2f38360e21b8152600481018290526024016103c0565b60605f610d4383610d74565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561034257604051632cd44ac360e21b815260040160405180910390fd5b5f81518084525f5b81811015610dbf57602081850181015186830182015201610da3565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610df06020830184610d9b565b9392505050565b80356001600160a01b0381168114610e0d575f80fd5b919050565b5f8060408385031215610e23575f80fd5b610e2c83610df7565b946020939093013593505050565b5f805f60608486031215610e4c575f80fd5b610e5584610df7565b9250610e6360208501610df7565b9150604084013590509250925092565b5f60208284031215610e83575f80fd5b610df082610df7565b60ff60f81b881681525f602060e06020840152610eac60e084018a610d9b565b8381036040850152610ebe818a610d9b565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b81811015610f1157835183529284019291840191600101610ef5565b50909c9b505050505050505050505050565b5f805f805f805f60e0888a031215610f39575f80fd5b610f4288610df7565b9650610f5060208901610df7565b95506040880135945060608801359350608088013560ff81168114610f73575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610fa1575f80fd5b610faa83610df7565b9150610fb860208401610df7565b90509250929050565b600181811c90821680610fd557607f821691505b602082108103610ff357634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561034257634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffdfea26469706673582212206e9d018754cb5d550223464c63359b0418ad130854c3f81a6691b076de1bcab964736f6c63430008180033",
|
|
2069
|
-
deployedBytecode: "
|
|
2072
|
+
bytecode: "0x610180604052348015610010575f5ffd5b506040516114c63803806114c683398101604081905261002f9161022a565b6040518060400160405280600581526020016420b933b7b760d91b8152506040518060400160405280600481526020016320a923a760e11b815250828280604051806040016040528060018152602001603160f81b8152508585816003908161009891906102fa565b5060046100a582826102fa565b506100b5915083905060056101bb565b610120526100c48160066101bb565b61014052815160208084019190912060e052815190820120610100524660a05261015060e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b038116158061017857506001600160a01b0381163b155b156101a557604051628ecbc360e51b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b03166101605250610410915050565b5f6020835110156101d6576101cf836101ed565b90506101e7565b816101e184826102fa565b5060ff90505b92915050565b5f5f829050601f81511115610217578260405163305a27a960e01b815260040161019c91906103b8565b8051610222826103ed565b179392505050565b5f6020828403121561023a575f5ffd5b81516001600160a01b0381168114610250575f5ffd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061027f57607f821691505b60208210810361029d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f557828211156102f557805f5260205f20601f840160051c60208510156102ce57505f5b90810190601f840160051c035f5b818110156102f1575f838201556001016102dc565b5050505b505050565b81516001600160401b0381111561031357610313610257565b61032781610321845461026b565b846102a3565b6020601f821160018114610359575f83156103425750848201515b5f19600385901b1c1916600184901b1784556103b1565b5f84815260208120601f198516915b828110156103885787850151825560209485019460019092019101610368565b50848210156103a557868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b8051602080830151919081101561029d575f1960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161104d6104795f395f81816101450152818161038401526103e201525f61089801525f61086b01525f6107ac01525f61078401525f6106df01525f61070901525f610733015261104d5ff3fe608060405234801561000f575f5ffd5b50600436106100fb575f3560e01c806370a082311161009357806395d89b411161006357806395d89b4114610239578063a9059cbb14610241578063d505accf14610254578063dd62ed3e14610267575f5ffd5b806370a08231146101d057806379cc6790146101f85780637ecebe001461020b57806384b0196e1461021e575f5ffd5b806323b872dd116100ce57806323b872dd14610191578063313ce567146101a45780633644e515146101b357806340c10f19146101bb575f5ffd5b806306fdde03146100ff578063095ea7b31461011d578063116191b61461014057806318160ddd1461017f575b5f5ffd5b61010761029f565b6040516101149190610dc9565b60405180910390f35b61013061012b366004610dfd565b61032f565b6040519015158152602001610114565b6101677f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610114565b6002545b604051908152602001610114565b61013061019f366004610e25565b610348565b60405160128152602001610114565b61018361036b565b6101ce6101c9366004610dfd565b610379565b005b6101836101de366004610e5f565b6001600160a01b03165f9081526020819052604090205490565b6101ce610206366004610dfd565b6103d7565b610183610219366004610e5f565b610437565b610226610454565b6040516101149796959493929190610e78565b610107610496565b61013061024f366004610dfd565b6104a5565b6101ce610262366004610f0e565b6104b2565b610183610275366004610f7b565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546102ae90610fac565b80601f01602080910402602001604051908101604052809291908181526020018280546102da90610fac565b80156103255780601f106102fc57610100808354040283529160200191610325565b820191905f5260205f20905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b5f3361033c8185856105e8565b60019150505b92915050565b5f336103558582856105fa565b610360858585610676565b506001949350505050565b5f6103746106d3565b905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c957604051634ca65edb60e11b81523360048201526024015b60405180910390fd5b6103d382826107fc565b5050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461042257604051634ca65edb60e11b81523360048201526024016103c0565b61042d8233836105fa565b6103d38282610830565b6001600160a01b0381165f90815260076020526040812054610342565b5f6060805f5f5f6060610465610864565b61046d610891565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546102ae90610fac565b5f3361033c818585610676565b834211156104d65760405163313c898160e11b8152600481018590526024016103c0565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105218c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61057b826108be565b90505f61058a828787876108ea565b9050896001600160a01b0316816001600160a01b0316146105d1576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016103c0565b6105dc8a8a8a6105e8565b50505050505050505050565b6105f58383836001610916565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610670578181101561066257604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103c0565b61067084848484035f610916565b50505050565b6001600160a01b03831661069f57604051634b637e8f60e11b81525f60048201526024016103c0565b6001600160a01b0382166106c85760405163ec442f0560e01b81525f60048201526024016103c0565b6105f58383836109e8565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561072b57507f000000000000000000000000000000000000000000000000000000000000000046145b1561075557507f000000000000000000000000000000000000000000000000000000000000000090565b610374604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166108255760405163ec442f0560e01b81525f60048201526024016103c0565b6103d35f83836109e8565b6001600160a01b03821661085957604051634b637e8f60e11b81525f60048201526024016103c0565b6103d3825f836109e8565b60606103747f00000000000000000000000000000000000000000000000000000000000000006005610b0e565b60606103747f00000000000000000000000000000000000000000000000000000000000000006006610b0e565b5f6103426108ca6106d3565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6108fa88888888610bb7565b92509250925061090a8282610c7f565b50909695505050505050565b6001600160a01b03841661093f5760405163e602df0560e01b81525f60048201526024016103c0565b6001600160a01b03831661096857604051634a1406b160e11b81525f60048201526024016103c0565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561067057826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109da91815260200190565b60405180910390a350505050565b6001600160a01b038316610a12578060025f828254610a079190610fe4565b90915550610a829050565b6001600160a01b0383165f9081526020819052604090205481811015610a645760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103c0565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610a9e57600280548290039055610abc565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b0191815260200190565b60405180910390a3505050565b606060ff8314610b2857610b2183610d37565b9050610342565b818054610b3490610fac565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6090610fac565b8015610bab5780601f10610b8257610100808354040283529160200191610bab565b820191905f5260205f20905b815481529060010190602001808311610b8e57829003601f168201915b50505050509050610342565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610bf057505f91506003905082610c75565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610c41573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610c6c57505f925060019150829050610c75565b92505f91508190505b9450945094915050565b5f826003811115610c9257610c92611003565b03610c9b575050565b6001826003811115610caf57610caf611003565b03610ccd5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610ce157610ce1611003565b03610d025760405163fce698f760e01b8152600481018290526024016103c0565b6003826003811115610d1657610d16611003565b036103d3576040516335e2f38360e21b8152600481018290526024016103c0565b60605f610d4383610d74565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561034257604051632cd44ac360e21b815260040160405180910390fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610ddb6020830184610d9b565b9392505050565b80356001600160a01b0381168114610df8575f5ffd5b919050565b5f5f60408385031215610e0e575f5ffd5b610e1783610de2565b946020939093013593505050565b5f5f5f60608486031215610e37575f5ffd5b610e4084610de2565b9250610e4e60208501610de2565b929592945050506040919091013590565b5f60208284031215610e6f575f5ffd5b610ddb82610de2565b60ff60f81b8816815260e060208201525f610e9660e0830189610d9b565b8281036040840152610ea88189610d9b565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015610efd578351835260209384019390920191600101610edf565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a031215610f24575f5ffd5b610f2d88610de2565b9650610f3b60208901610de2565b95506040880135945060608801359350608088013560ff81168114610f5e575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610f8c575f5ffd5b610f9583610de2565b9150610fa360208401610de2565b90509250929050565b600181811c90821680610fc057607f821691505b602082108103610fde57634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561034257634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220d85934bd5cd2b7cf394a709cc65749b23a8dc5a166ec28e0f61ff06755d34dde64736f6c63430008230033",
|
|
2073
|
+
deployedBytecode: "0x608060405234801561000f575f5ffd5b50600436106100fb575f3560e01c806370a082311161009357806395d89b411161006357806395d89b4114610239578063a9059cbb14610241578063d505accf14610254578063dd62ed3e14610267575f5ffd5b806370a08231146101d057806379cc6790146101f85780637ecebe001461020b57806384b0196e1461021e575f5ffd5b806323b872dd116100ce57806323b872dd14610191578063313ce567146101a45780633644e515146101b357806340c10f19146101bb575f5ffd5b806306fdde03146100ff578063095ea7b31461011d578063116191b61461014057806318160ddd1461017f575b5f5ffd5b61010761029f565b6040516101149190610dc9565b60405180910390f35b61013061012b366004610dfd565b61032f565b6040519015158152602001610114565b6101677f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610114565b6002545b604051908152602001610114565b61013061019f366004610e25565b610348565b60405160128152602001610114565b61018361036b565b6101ce6101c9366004610dfd565b610379565b005b6101836101de366004610e5f565b6001600160a01b03165f9081526020819052604090205490565b6101ce610206366004610dfd565b6103d7565b610183610219366004610e5f565b610437565b610226610454565b6040516101149796959493929190610e78565b610107610496565b61013061024f366004610dfd565b6104a5565b6101ce610262366004610f0e565b6104b2565b610183610275366004610f7b565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546102ae90610fac565b80601f01602080910402602001604051908101604052809291908181526020018280546102da90610fac565b80156103255780601f106102fc57610100808354040283529160200191610325565b820191905f5260205f20905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b5f3361033c8185856105e8565b60019150505b92915050565b5f336103558582856105fa565b610360858585610676565b506001949350505050565b5f6103746106d3565b905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c957604051634ca65edb60e11b81523360048201526024015b60405180910390fd5b6103d382826107fc565b5050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461042257604051634ca65edb60e11b81523360048201526024016103c0565b61042d8233836105fa565b6103d38282610830565b6001600160a01b0381165f90815260076020526040812054610342565b5f6060805f5f5f6060610465610864565b61046d610891565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546102ae90610fac565b5f3361033c818585610676565b834211156104d65760405163313c898160e11b8152600481018590526024016103c0565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105218c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61057b826108be565b90505f61058a828787876108ea565b9050896001600160a01b0316816001600160a01b0316146105d1576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016103c0565b6105dc8a8a8a6105e8565b50505050505050505050565b6105f58383836001610916565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610670578181101561066257604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103c0565b61067084848484035f610916565b50505050565b6001600160a01b03831661069f57604051634b637e8f60e11b81525f60048201526024016103c0565b6001600160a01b0382166106c85760405163ec442f0560e01b81525f60048201526024016103c0565b6105f58383836109e8565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561072b57507f000000000000000000000000000000000000000000000000000000000000000046145b1561075557507f000000000000000000000000000000000000000000000000000000000000000090565b610374604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166108255760405163ec442f0560e01b81525f60048201526024016103c0565b6103d35f83836109e8565b6001600160a01b03821661085957604051634b637e8f60e11b81525f60048201526024016103c0565b6103d3825f836109e8565b60606103747f00000000000000000000000000000000000000000000000000000000000000006005610b0e565b60606103747f00000000000000000000000000000000000000000000000000000000000000006006610b0e565b5f6103426108ca6106d3565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6108fa88888888610bb7565b92509250925061090a8282610c7f565b50909695505050505050565b6001600160a01b03841661093f5760405163e602df0560e01b81525f60048201526024016103c0565b6001600160a01b03831661096857604051634a1406b160e11b81525f60048201526024016103c0565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561067057826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109da91815260200190565b60405180910390a350505050565b6001600160a01b038316610a12578060025f828254610a079190610fe4565b90915550610a829050565b6001600160a01b0383165f9081526020819052604090205481811015610a645760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103c0565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610a9e57600280548290039055610abc565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b0191815260200190565b60405180910390a3505050565b606060ff8314610b2857610b2183610d37565b9050610342565b818054610b3490610fac565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6090610fac565b8015610bab5780601f10610b8257610100808354040283529160200191610bab565b820191905f5260205f20905b815481529060010190602001808311610b8e57829003601f168201915b50505050509050610342565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610bf057505f91506003905082610c75565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610c41573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610c6c57505f925060019150829050610c75565b92505f91508190505b9450945094915050565b5f826003811115610c9257610c92611003565b03610c9b575050565b6001826003811115610caf57610caf611003565b03610ccd5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610ce157610ce1611003565b03610d025760405163fce698f760e01b8152600481018290526024016103c0565b6003826003811115610d1657610d16611003565b036103d3576040516335e2f38360e21b8152600481018290526024016103c0565b60605f610d4383610d74565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561034257604051632cd44ac360e21b815260040160405180910390fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610ddb6020830184610d9b565b9392505050565b80356001600160a01b0381168114610df8575f5ffd5b919050565b5f5f60408385031215610e0e575f5ffd5b610e1783610de2565b946020939093013593505050565b5f5f5f60608486031215610e37575f5ffd5b610e4084610de2565b9250610e4e60208501610de2565b929592945050506040919091013590565b5f60208284031215610e6f575f5ffd5b610ddb82610de2565b60ff60f81b8816815260e060208201525f610e9660e0830189610d9b565b8281036040840152610ea88189610d9b565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015610efd578351835260209384019390920191600101610edf565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a031215610f24575f5ffd5b610f2d88610de2565b9650610f3b60208901610de2565b95506040880135945060608801359350608088013560ff81168114610f5e575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610f8c575f5ffd5b610f9583610de2565b9150610fa360208401610de2565b90509250929050565b600181811c90821680610fc057607f821691505b602082108103610fde57634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561034257634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220d85934bd5cd2b7cf394a709cc65749b23a8dc5a166ec28e0f61ff06755d34dde64736f6c63430008230033",
|
|
2070
2074
|
linkReferences: {},
|
|
2071
2075
|
deployedLinkReferences: {},
|
|
2072
2076
|
immutableReferences: {
|
|
@@ -2128,7 +2132,7 @@ var ArgonToken_default = {
|
|
|
2128
2132
|
]
|
|
2129
2133
|
},
|
|
2130
2134
|
inputSourceName: "project/contracts/ArgonToken.sol",
|
|
2131
|
-
buildInfoId: "solc-
|
|
2135
|
+
buildInfoId: "solc-0_8_35-af6d7f63b2fca589d9b3a2ad6779fdf0c9bca04d"
|
|
2132
2136
|
};
|
|
2133
2137
|
|
|
2134
2138
|
// ../../chains/ethereum/contracts/artifacts/contracts/ArgonotToken.sol/ArgonotToken.json
|
|
@@ -2738,8 +2742,8 @@ var ArgonotToken_default = {
|
|
|
2738
2742
|
type: "function"
|
|
2739
2743
|
}
|
|
2740
2744
|
],
|
|
2741
|
-
bytecode: "0x61018060405234801562000011575f80fd5b50604051620015213803806200152183398101604081905262000034916200024a565b60405180604001604052806007815260200166105c99dbdb9bdd60ca1b81525060405180604001604052806006815260200165105491d393d560d21b815250828280604051806040016040528060018152602001603160f81b81525085858160039081620000a3919062000317565b506004620000b2828262000317565b50620000c491508390506005620001d0565b61012052620000d5816006620001d0565b61014052815160208084019190912060e052815190820120610100524660a0526200016260e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b03811615806200018b57506001600160a01b0381163b155b15620001b957604051628ecbc360e51b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b0316610160525062000455915050565b5f602083511015620001ef57620001e78362000208565b905062000202565b81620001fc848262000317565b5060ff90505b92915050565b5f80829050601f8151111562000235578260405163305a27a960e01b8152600401620001b09190620003e3565b8051620002428262000431565b179392505050565b5f602082840312156200025b575f80fd5b81516001600160a01b038116811462000272575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620002a257607f821691505b602082108103620002c157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200031257805f5260205f20601f840160051c81016020851015620002ee5750805b601f840160051c820191505b818110156200030f575f8155600101620002fa565b50505b505050565b81516001600160401b0381111562000333576200033362000279565b6200034b816200034484546200028d565b84620002c7565b602080601f83116001811462000381575f8415620003695750858301515b5f19600386901b1c1916600185901b178555620003db565b5f85815260208120601f198616915b82811015620003b15788860151825594840194600190910190840162000390565b5085821015620003cf57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f602080835283518060208501525f5b818110156200041157858101830151858201604001528201620003f3565b505f604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620002c1575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611062620004bf5f395f81816101450152818161038401526103e201525f61089801525f61086b01525f6107ac01525f61078401525f6106df01525f61070901525f61073301526110625ff3fe608060405234801561000f575f80fd5b50600436106100fb575f3560e01c806370a082311161009357806395d89b411161006357806395d89b4114610239578063a9059cbb14610241578063d505accf14610254578063dd62ed3e14610267575f80fd5b806370a08231146101d057806379cc6790146101f85780637ecebe001461020b57806384b0196e1461021e575f80fd5b806323b872dd116100ce57806323b872dd14610191578063313ce567146101a45780633644e515146101b357806340c10f19146101bb575f80fd5b806306fdde03146100ff578063095ea7b31461011d578063116191b61461014057806318160ddd1461017f575b5f80fd5b61010761029f565b6040516101149190610dde565b60405180910390f35b61013061012b366004610e12565b61032f565b6040519015158152602001610114565b6101677f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610114565b6002545b604051908152602001610114565b61013061019f366004610e3a565b610348565b60405160128152602001610114565b61018361036b565b6101ce6101c9366004610e12565b610379565b005b6101836101de366004610e73565b6001600160a01b03165f9081526020819052604090205490565b6101ce610206366004610e12565b6103d7565b610183610219366004610e73565b610437565b610226610454565b6040516101149796959493929190610e8c565b610107610496565b61013061024f366004610e12565b6104a5565b6101ce610262366004610f23565b6104b2565b610183610275366004610f90565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546102ae90610fc1565b80601f01602080910402602001604051908101604052809291908181526020018280546102da90610fc1565b80156103255780601f106102fc57610100808354040283529160200191610325565b820191905f5260205f20905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b5f3361033c8185856105e8565b60019150505b92915050565b5f336103558582856105fa565b610360858585610676565b506001949350505050565b5f6103746106d3565b905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c957604051634ca65edb60e11b81523360048201526024015b60405180910390fd5b6103d382826107fc565b5050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461042257604051634ca65edb60e11b81523360048201526024016103c0565b61042d8233836105fa565b6103d38282610830565b6001600160a01b0381165f90815260076020526040812054610342565b5f6060805f805f6060610465610864565b61046d610891565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546102ae90610fc1565b5f3361033c818585610676565b834211156104d65760405163313c898160e11b8152600481018590526024016103c0565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105218c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61057b826108be565b90505f61058a828787876108ea565b9050896001600160a01b0316816001600160a01b0316146105d1576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016103c0565b6105dc8a8a8a6105e8565b50505050505050505050565b6105f58383836001610916565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610670578181101561066257604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103c0565b61067084848484035f610916565b50505050565b6001600160a01b03831661069f57604051634b637e8f60e11b81525f60048201526024016103c0565b6001600160a01b0382166106c85760405163ec442f0560e01b81525f60048201526024016103c0565b6105f58383836109e8565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561072b57507f000000000000000000000000000000000000000000000000000000000000000046145b1561075557507f000000000000000000000000000000000000000000000000000000000000000090565b610374604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166108255760405163ec442f0560e01b81525f60048201526024016103c0565b6103d35f83836109e8565b6001600160a01b03821661085957604051634b637e8f60e11b81525f60048201526024016103c0565b6103d3825f836109e8565b60606103747f00000000000000000000000000000000000000000000000000000000000000006005610b0e565b60606103747f00000000000000000000000000000000000000000000000000000000000000006006610b0e565b5f6103426108ca6106d3565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f806108fa88888888610bb7565b92509250925061090a8282610c7f565b50909695505050505050565b6001600160a01b03841661093f5760405163e602df0560e01b81525f60048201526024016103c0565b6001600160a01b03831661096857604051634a1406b160e11b81525f60048201526024016103c0565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561067057826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109da91815260200190565b60405180910390a350505050565b6001600160a01b038316610a12578060025f828254610a079190610ff9565b90915550610a829050565b6001600160a01b0383165f9081526020819052604090205481811015610a645760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103c0565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610a9e57600280548290039055610abc565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b0191815260200190565b60405180910390a3505050565b606060ff8314610b2857610b2183610d37565b9050610342565b818054610b3490610fc1565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6090610fc1565b8015610bab5780601f10610b8257610100808354040283529160200191610bab565b820191905f5260205f20905b815481529060010190602001808311610b8e57829003601f168201915b50505050509050610342565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610bf057505f91506003905082610c75565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610c41573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116610c6c57505f925060019150829050610c75565b92505f91508190505b9450945094915050565b5f826003811115610c9257610c92611018565b03610c9b575050565b6001826003811115610caf57610caf611018565b03610ccd5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610ce157610ce1611018565b03610d025760405163fce698f760e01b8152600481018290526024016103c0565b6003826003811115610d1657610d16611018565b036103d3576040516335e2f38360e21b8152600481018290526024016103c0565b60605f610d4383610d74565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561034257604051632cd44ac360e21b815260040160405180910390fd5b5f81518084525f5b81811015610dbf57602081850181015186830182015201610da3565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610df06020830184610d9b565b9392505050565b80356001600160a01b0381168114610e0d575f80fd5b919050565b5f8060408385031215610e23575f80fd5b610e2c83610df7565b946020939093013593505050565b5f805f60608486031215610e4c575f80fd5b610e5584610df7565b9250610e6360208501610df7565b9150604084013590509250925092565b5f60208284031215610e83575f80fd5b610df082610df7565b60ff60f81b881681525f602060e06020840152610eac60e084018a610d9b565b8381036040850152610ebe818a610d9b565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b81811015610f1157835183529284019291840191600101610ef5565b50909c9b505050505050505050505050565b5f805f805f805f60e0888a031215610f39575f80fd5b610f4288610df7565b9650610f5060208901610df7565b95506040880135945060608801359350608088013560ff81168114610f73575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610fa1575f80fd5b610faa83610df7565b9150610fb860208401610df7565b90509250929050565b600181811c90821680610fd557607f821691505b602082108103610ff357634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561034257634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220c62571b244292ccda84ab1b2953222061893d87e6d315e3029f315e76ebe035d64736f6c63430008180033",
|
|
2742
|
-
deployedBytecode: "
|
|
2745
|
+
bytecode: "0x610180604052348015610010575f5ffd5b506040516114ca3803806114ca83398101604081905261002f9161022e565b60405180604001604052806007815260200166105c99dbdb9bdd60ca1b81525060405180604001604052806006815260200165105491d393d560d21b815250828280604051806040016040528060018152602001603160f81b8152508585816003908161009c91906102fe565b5060046100a982826102fe565b506100b9915083905060056101bf565b610120526100c88160066101bf565b61014052815160208084019190912060e052815190820120610100524660a05261015460e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b038116158061017c57506001600160a01b0381163b155b156101a957604051628ecbc360e51b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b03166101605250610414915050565b5f6020835110156101da576101d3836101f1565b90506101eb565b816101e584826102fe565b5060ff90505b92915050565b5f5f829050601f8151111561021b578260405163305a27a960e01b81526004016101a091906103bc565b8051610226826103f1565b179392505050565b5f6020828403121561023e575f5ffd5b81516001600160a01b0381168114610254575f5ffd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028357607f821691505b6020821081036102a157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f957828211156102f957805f5260205f20601f840160051c60208510156102d257505f5b90810190601f840160051c035f5b818110156102f5575f838201556001016102e0565b5050505b505050565b81516001600160401b038111156103175761031761025b565b61032b81610325845461026f565b846102a7565b6020601f82116001811461035d575f83156103465750848201515b5f19600385901b1c1916600184901b1784556103b5565b5f84815260208120601f198516915b8281101561038c578785015182556020948501946001909201910161036c565b50848210156103a957868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102a1575f1960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161104d61047d5f395f81816101450152818161038401526103e201525f61089801525f61086b01525f6107ac01525f61078401525f6106df01525f61070901525f610733015261104d5ff3fe608060405234801561000f575f5ffd5b50600436106100fb575f3560e01c806370a082311161009357806395d89b411161006357806395d89b4114610239578063a9059cbb14610241578063d505accf14610254578063dd62ed3e14610267575f5ffd5b806370a08231146101d057806379cc6790146101f85780637ecebe001461020b57806384b0196e1461021e575f5ffd5b806323b872dd116100ce57806323b872dd14610191578063313ce567146101a45780633644e515146101b357806340c10f19146101bb575f5ffd5b806306fdde03146100ff578063095ea7b31461011d578063116191b61461014057806318160ddd1461017f575b5f5ffd5b61010761029f565b6040516101149190610dc9565b60405180910390f35b61013061012b366004610dfd565b61032f565b6040519015158152602001610114565b6101677f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610114565b6002545b604051908152602001610114565b61013061019f366004610e25565b610348565b60405160128152602001610114565b61018361036b565b6101ce6101c9366004610dfd565b610379565b005b6101836101de366004610e5f565b6001600160a01b03165f9081526020819052604090205490565b6101ce610206366004610dfd565b6103d7565b610183610219366004610e5f565b610437565b610226610454565b6040516101149796959493929190610e78565b610107610496565b61013061024f366004610dfd565b6104a5565b6101ce610262366004610f0e565b6104b2565b610183610275366004610f7b565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546102ae90610fac565b80601f01602080910402602001604051908101604052809291908181526020018280546102da90610fac565b80156103255780601f106102fc57610100808354040283529160200191610325565b820191905f5260205f20905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b5f3361033c8185856105e8565b60019150505b92915050565b5f336103558582856105fa565b610360858585610676565b506001949350505050565b5f6103746106d3565b905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c957604051634ca65edb60e11b81523360048201526024015b60405180910390fd5b6103d382826107fc565b5050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461042257604051634ca65edb60e11b81523360048201526024016103c0565b61042d8233836105fa565b6103d38282610830565b6001600160a01b0381165f90815260076020526040812054610342565b5f6060805f5f5f6060610465610864565b61046d610891565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546102ae90610fac565b5f3361033c818585610676565b834211156104d65760405163313c898160e11b8152600481018590526024016103c0565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105218c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61057b826108be565b90505f61058a828787876108ea565b9050896001600160a01b0316816001600160a01b0316146105d1576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016103c0565b6105dc8a8a8a6105e8565b50505050505050505050565b6105f58383836001610916565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610670578181101561066257604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103c0565b61067084848484035f610916565b50505050565b6001600160a01b03831661069f57604051634b637e8f60e11b81525f60048201526024016103c0565b6001600160a01b0382166106c85760405163ec442f0560e01b81525f60048201526024016103c0565b6105f58383836109e8565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561072b57507f000000000000000000000000000000000000000000000000000000000000000046145b1561075557507f000000000000000000000000000000000000000000000000000000000000000090565b610374604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166108255760405163ec442f0560e01b81525f60048201526024016103c0565b6103d35f83836109e8565b6001600160a01b03821661085957604051634b637e8f60e11b81525f60048201526024016103c0565b6103d3825f836109e8565b60606103747f00000000000000000000000000000000000000000000000000000000000000006005610b0e565b60606103747f00000000000000000000000000000000000000000000000000000000000000006006610b0e565b5f6103426108ca6106d3565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6108fa88888888610bb7565b92509250925061090a8282610c7f565b50909695505050505050565b6001600160a01b03841661093f5760405163e602df0560e01b81525f60048201526024016103c0565b6001600160a01b03831661096857604051634a1406b160e11b81525f60048201526024016103c0565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561067057826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109da91815260200190565b60405180910390a350505050565b6001600160a01b038316610a12578060025f828254610a079190610fe4565b90915550610a829050565b6001600160a01b0383165f9081526020819052604090205481811015610a645760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103c0565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610a9e57600280548290039055610abc565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b0191815260200190565b60405180910390a3505050565b606060ff8314610b2857610b2183610d37565b9050610342565b818054610b3490610fac565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6090610fac565b8015610bab5780601f10610b8257610100808354040283529160200191610bab565b820191905f5260205f20905b815481529060010190602001808311610b8e57829003601f168201915b50505050509050610342565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610bf057505f91506003905082610c75565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610c41573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610c6c57505f925060019150829050610c75565b92505f91508190505b9450945094915050565b5f826003811115610c9257610c92611003565b03610c9b575050565b6001826003811115610caf57610caf611003565b03610ccd5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610ce157610ce1611003565b03610d025760405163fce698f760e01b8152600481018290526024016103c0565b6003826003811115610d1657610d16611003565b036103d3576040516335e2f38360e21b8152600481018290526024016103c0565b60605f610d4383610d74565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561034257604051632cd44ac360e21b815260040160405180910390fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610ddb6020830184610d9b565b9392505050565b80356001600160a01b0381168114610df8575f5ffd5b919050565b5f5f60408385031215610e0e575f5ffd5b610e1783610de2565b946020939093013593505050565b5f5f5f60608486031215610e37575f5ffd5b610e4084610de2565b9250610e4e60208501610de2565b929592945050506040919091013590565b5f60208284031215610e6f575f5ffd5b610ddb82610de2565b60ff60f81b8816815260e060208201525f610e9660e0830189610d9b565b8281036040840152610ea88189610d9b565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015610efd578351835260209384019390920191600101610edf565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a031215610f24575f5ffd5b610f2d88610de2565b9650610f3b60208901610de2565b95506040880135945060608801359350608088013560ff81168114610f5e575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610f8c575f5ffd5b610f9583610de2565b9150610fa360208401610de2565b90509250929050565b600181811c90821680610fc057607f821691505b602082108103610fde57634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561034257634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220a3276167a60dc36c592042d07732eea9655ac58439d35808227b8582ad099a0064736f6c63430008230033",
|
|
2746
|
+
deployedBytecode: "0x608060405234801561000f575f5ffd5b50600436106100fb575f3560e01c806370a082311161009357806395d89b411161006357806395d89b4114610239578063a9059cbb14610241578063d505accf14610254578063dd62ed3e14610267575f5ffd5b806370a08231146101d057806379cc6790146101f85780637ecebe001461020b57806384b0196e1461021e575f5ffd5b806323b872dd116100ce57806323b872dd14610191578063313ce567146101a45780633644e515146101b357806340c10f19146101bb575f5ffd5b806306fdde03146100ff578063095ea7b31461011d578063116191b61461014057806318160ddd1461017f575b5f5ffd5b61010761029f565b6040516101149190610dc9565b60405180910390f35b61013061012b366004610dfd565b61032f565b6040519015158152602001610114565b6101677f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610114565b6002545b604051908152602001610114565b61013061019f366004610e25565b610348565b60405160128152602001610114565b61018361036b565b6101ce6101c9366004610dfd565b610379565b005b6101836101de366004610e5f565b6001600160a01b03165f9081526020819052604090205490565b6101ce610206366004610dfd565b6103d7565b610183610219366004610e5f565b610437565b610226610454565b6040516101149796959493929190610e78565b610107610496565b61013061024f366004610dfd565b6104a5565b6101ce610262366004610f0e565b6104b2565b610183610275366004610f7b565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546102ae90610fac565b80601f01602080910402602001604051908101604052809291908181526020018280546102da90610fac565b80156103255780601f106102fc57610100808354040283529160200191610325565b820191905f5260205f20905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b5f3361033c8185856105e8565b60019150505b92915050565b5f336103558582856105fa565b610360858585610676565b506001949350505050565b5f6103746106d3565b905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c957604051634ca65edb60e11b81523360048201526024015b60405180910390fd5b6103d382826107fc565b5050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461042257604051634ca65edb60e11b81523360048201526024016103c0565b61042d8233836105fa565b6103d38282610830565b6001600160a01b0381165f90815260076020526040812054610342565b5f6060805f5f5f6060610465610864565b61046d610891565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546102ae90610fac565b5f3361033c818585610676565b834211156104d65760405163313c898160e11b8152600481018590526024016103c0565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105218c6001600160a01b03165f90815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61057b826108be565b90505f61058a828787876108ea565b9050896001600160a01b0316816001600160a01b0316146105d1576040516325c0072360e11b81526001600160a01b0380831660048301528b1660248201526044016103c0565b6105dc8a8a8a6105e8565b50505050505050505050565b6105f58383836001610916565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811015610670578181101561066257604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103c0565b61067084848484035f610916565b50505050565b6001600160a01b03831661069f57604051634b637e8f60e11b81525f60048201526024016103c0565b6001600160a01b0382166106c85760405163ec442f0560e01b81525f60048201526024016103c0565b6105f58383836109e8565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561072b57507f000000000000000000000000000000000000000000000000000000000000000046145b1561075557507f000000000000000000000000000000000000000000000000000000000000000090565b610374604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166108255760405163ec442f0560e01b81525f60048201526024016103c0565b6103d35f83836109e8565b6001600160a01b03821661085957604051634b637e8f60e11b81525f60048201526024016103c0565b6103d3825f836109e8565b60606103747f00000000000000000000000000000000000000000000000000000000000000006005610b0e565b60606103747f00000000000000000000000000000000000000000000000000000000000000006006610b0e565b5f6103426108ca6106d3565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f5f6108fa88888888610bb7565b92509250925061090a8282610c7f565b50909695505050505050565b6001600160a01b03841661093f5760405163e602df0560e01b81525f60048201526024016103c0565b6001600160a01b03831661096857604051634a1406b160e11b81525f60048201526024016103c0565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561067057826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109da91815260200190565b60405180910390a350505050565b6001600160a01b038316610a12578060025f828254610a079190610fe4565b90915550610a829050565b6001600160a01b0383165f9081526020819052604090205481811015610a645760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103c0565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610a9e57600280548290039055610abc565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b0191815260200190565b60405180910390a3505050565b606060ff8314610b2857610b2183610d37565b9050610342565b818054610b3490610fac565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6090610fac565b8015610bab5780601f10610b8257610100808354040283529160200191610bab565b820191905f5260205f20905b815481529060010190602001808311610b8e57829003601f168201915b50505050509050610342565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610bf057505f91506003905082610c75565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610c41573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610c6c57505f925060019150829050610c75565b92505f91508190505b9450945094915050565b5f826003811115610c9257610c92611003565b03610c9b575050565b6001826003811115610caf57610caf611003565b03610ccd5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610ce157610ce1611003565b03610d025760405163fce698f760e01b8152600481018290526024016103c0565b6003826003811115610d1657610d16611003565b036103d3576040516335e2f38360e21b8152600481018290526024016103c0565b60605f610d4383610d74565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561034257604051632cd44ac360e21b815260040160405180910390fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610ddb6020830184610d9b565b9392505050565b80356001600160a01b0381168114610df8575f5ffd5b919050565b5f5f60408385031215610e0e575f5ffd5b610e1783610de2565b946020939093013593505050565b5f5f5f60608486031215610e37575f5ffd5b610e4084610de2565b9250610e4e60208501610de2565b929592945050506040919091013590565b5f60208284031215610e6f575f5ffd5b610ddb82610de2565b60ff60f81b8816815260e060208201525f610e9660e0830189610d9b565b8281036040840152610ea88189610d9b565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015610efd578351835260209384019390920191600101610edf565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a031215610f24575f5ffd5b610f2d88610de2565b9650610f3b60208901610de2565b95506040880135945060608801359350608088013560ff81168114610f5e575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610f8c575f5ffd5b610f9583610de2565b9150610fa360208401610de2565b90509250929050565b600181811c90821680610fc057607f821691505b602082108103610fde57634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561034257634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220a3276167a60dc36c592042d07732eea9655ac58439d35808227b8582ad099a0064736f6c63430008230033",
|
|
2743
2747
|
linkReferences: {},
|
|
2744
2748
|
deployedLinkReferences: {},
|
|
2745
2749
|
immutableReferences: {
|
|
@@ -2801,7 +2805,7 @@ var ArgonotToken_default = {
|
|
|
2801
2805
|
]
|
|
2802
2806
|
},
|
|
2803
2807
|
inputSourceName: "project/contracts/ArgonotToken.sol",
|
|
2804
|
-
buildInfoId: "solc-
|
|
2808
|
+
buildInfoId: "solc-0_8_35-af6d7f63b2fca589d9b3a2ad6779fdf0c9bca04d"
|
|
2805
2809
|
};
|
|
2806
2810
|
|
|
2807
2811
|
// ../../chains/ethereum/contracts/artifacts/contracts/MintingGateway.sol/MintingGateway.json
|
|
@@ -4436,8 +4440,8 @@ var MintingGateway_default = {
|
|
|
4436
4440
|
type: "function"
|
|
4437
4441
|
}
|
|
4438
4442
|
],
|
|
4439
|
-
bytecode: "0x60c060405234801562000010575f80fd5b506040516200458638038062004586833981016040819052620000339162000128565b6001600160a01b03808316608052811660a0526200005062000058565b50506200015e565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000a95760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001095780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b80516001600160a01b038116811462000123575f80fd5b919050565b5f80604083850312156200013a575f80fd5b62000145836200010c565b915062000155602084016200010c565b90509250929050565b60805160a0516143c7620001bf5f395f81816102df015281816112520152818161131401528181611c9f0152611d3101525f818161042901528181610b6001528181610fad0152818161120f01528181611c6e0152611cf401526143c75ff3fe608060405234801561000f575f80fd5b50600436106101f2575f3560e01c80636e2c7769116101145780638da5cb5b116100a9578063c017c90211610079578063c017c902146104d2578063d68d6311146104e5578063e52580a6146104f8578063ecec10a414610560578063f2fde38b14610573575f80fd5b80638da5cb5b14610466578063905d031f1461046e578063a3eb8961146104c1578063beabb591146104ca575f80fd5b80637c9afa67116100e45780637c9afa671461040257806383a4d591146104245780638456cb591461044b5780638a0dac4a14610453575f80fd5b80636e2c7769146103cc5780636e888c46146103df578063715018a6146103f257806378d350e0146103fa575f80fd5b80632ef29f3b1161018a578063452a93201161015a578063452a93201461038157806359b23872146103935780635b7f415c1461039b5780635c975abb146103b5575f80fd5b80632ef29f3b1461032157806331677980146103425780633f4ba83a14610366578063422ad8f61461036e575f80fd5b80631a5d93fd116101c55780631a5d93fd146102615780631c1eeae1146102a95780631e07f89e146102da5780632ceeddf514610319575f80fd5b8063014c72f6146101f657806309af0e3c1461020b578063138f87811461023b57806318a8f1f01461024e575b5f80fd5b610209610204366004613745565b610586565b005b60085461021e906001600160801b031681565b6040516001600160801b0390911681526020015b60405180910390f35b6102096102493660046137a0565b6106bd565b61020961025c366004613809565b610e22565b600454600554600654600754610280939291906001600160801b031684565b604080519485526020850193909352918301526001600160801b03166060820152608001610232565b5f546102c290600160a01b90046001600160401b031681565b6040516001600160401b039091168152602001610232565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610232565b61021e610fa7565b61033461032f366004613876565b611035565b604051908152602001610232565b60035461035690600160401b900460ff1681565b6040519015158152602001610232565b610209611066565b61020961037c36600461388f565b611078565b5f54610301906001600160a01b031681565b6103346111b4565b6103a3601281565b60405160ff9091168152602001610232565b5f805160206143728339815191525460ff16610356565b6001546102c2906001600160401b031681565b6102096103ed3660046138aa565b6111ce565b6102096112fd565b61021e61130e565b610356610410366004613909565b600a6020525f908152604090205460ff1681565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b61020961136e565b610209610461366004613920565b6113c9565b610301611447565b6104a161047c366004613920565b60096020525f90815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610232565b61033460025481565b6103a3600681565b6102096104e0366004613939565b611475565b6003546102c2906001600160401b031681565b610536610506366004613994565b600b6020525f90815260409020546001600160401b0380821691600160401b8104821691600160801b9091041683565b604080516001600160401b0394851681529284166020840152921691810191909152606001610232565b61020961056e3660046139ba565b61168f565b610209610581366004613920565b6119c2565b61058e6119ff565b806001600160801b03165f036105b757604051632440a7dd60e01b815260040160405180910390fd5b5f808061063d6105c78680613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250610605925050506020880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611a31915050565b6040805160808101825260045481526005546020820152600654918101919091526007546001600160801b03166060820152929550909350915061068384848488611b4f565b8381604001517f33e53e90d61fdc868629a6234670f92c4445196f3f98ebd71935bbc76c7d915360405160405180910390a3505050505050565b6106c5611ba0565b6106ce82611bd0565b6106e66106e160e0840160c08501613920565b611c3a565b6106f7610100830160e08401613876565b6001600160801b03165f0361071f57604051631f2a200560e01b815260040160405180910390fd5b61072f60c0830160a08401613994565b6001600160401b0316431115610780574361075060c0840160a08501613994565b604051635728c7dd60e11b815260048101929092526001600160401b031660248201526044015b60405180910390fd5b5f61078a83611d8f565b905061079581611e98565b6107a56080840160608501613876565b6001600160801b03165f036107cd57604051632440a7dd60e01b815260040160405180910390fd5b6008546001600160801b0316806107ea6080860160608701613876565b6001600160801b03161115610836578061080a6080860160608701613876565b6040516343082d3360e01b81526001600160801b03928316600482015291166024820152604401610777565b5f8080806108448780613a51565b90506001600160401b0381111561085d5761085d613a9d565b6040519080825280602002602001820160405280156108a657816020015b604080516060810182525f80825260208083018290529282015282525f1990920191018161087b5790505b5090505f5b6108b58880613a51565b9050811015610b5557366108c98980613a51565b838181106108d9576108d9613ab1565b90506020028101906108eb9190613ac5565b90505f61093161091f61091a8d6109056020870187613876565b6109156040880160208901613876565b611eca565b611f57565b61092c6040850185613ae3565b611f89565b9050846001600160a01b0316816001600160a01b031611610965576040516309cf9e4960e11b815260040160405180910390fd5b6001600160a01b0381165f9081526009602090815260409091209061098c90840184613876565b81546001600160801b03918216911610806109cc57506109b26040840160208501613876565b81546001600160801b03918216600160801b909104909116105b156109f5576040516364fc3cd160e11b81526001600160a01b0383166004820152602401610777565b610a026020840184613876565b815482905f90610a1c9084906001600160801b0316613b39565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550826020016020810190610a539190613876565b81548290601090610a75908490600160801b90046001600160801b0316613b39565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550825f016020810190610aab9190613876565b610ab59089613b60565b9750610ac76040840160208501613876565b610ad19088613b60565b96506040518060600160405280836001600160a01b03168152602001845f016020810190610aff9190613876565b6001600160801b03168152602001846020016020810190610b209190613876565b6001600160801b0316815250858581518110610b3e57610b3e613ab1565b6020908102919091010152509350506001016108ab565b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610b9060e08a0160c08b01613920565b6001600160a01b031603610c5e575f610bab6006600a613c60565b610bbb60808b0160608c01613876565b6001600160801b0316856001600160801b0316610bd89190613c6e565b610be29190613c85565b90505f610bf8826001600160801b038816613ca4565b9050610c0b6101008b0160e08c01613876565b6001600160801b0316811015610c575780610c2d6101008c0160e08d01613876565b60405162f9825560e61b815260048101929092526001600160801b03166024820152604401610777565b5050610ced565b6001600160801b03841615610c8657604051630994a0f360e11b815260040160405180910390fd5b610c97610100890160e08a01613876565b6001600160801b0316836001600160801b03161015610ced5782610cc26101008a0160e08b01613876565b60405162f9825560e61b81526001600160801b03928316600482015291166024820152604401610777565b610d0b865f908152600a60205260409020805460ff19166001179055565b610d1b60e0890160c08a01613920565b6001600160a01b03166340c10f19610d3960a08b0160808c01613920565b610d4d61032f6101008d0160e08e01613876565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b158015610d90575f80fd5b505af1158015610da2573d5f803e3d5ffd5b505050505f610daf611fb3565b90507f64d79900ed82270f744ae62db527f4e328e336d8b51e77bc72601391fe779d0687610de360e08c0160c08d01613920565b610df46101008d0160e08e01613876565b85610dfe86612003565b604051610e0f959493929190613cf9565b60405180910390a1505050505050505050565b610e2a611ba0565b610e3387611c3a565b856001600160801b03165f03610e5c57604051631f2a200560e01b815260040160405180910390fd5b5f610e6687611035565b60405163d505accf60e01b8152336004820152306024820152604481018290526064810187905260ff8616608482015260a4810185905260c481018490529091506001600160a01b0389169063d505accf9060e4015f604051808303815f87803b158015610ed2575f80fd5b505af1158015610ee4573d5f803e3d5ffd5b505060405163079cc67960e41b8152336004820152602481018490526001600160a01b038b1692506379cc679091506044015f604051808303815f87803b158015610f2d575f80fd5b505af1158015610f3f573d5f803e3d5ffd5b505050505f610f4c611fb3565b90506001600160a01b038916337f3ab970a848f33363427e47cfbd7a627af0c6e72757f150137e38cef3cee24d938a8a610f8586612003565b604051610f9493929190613d91565b60405180910390a3505050505050505050565b5f6110307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190613db5565b612078565b905090565b5f61104260066012613dcc565b61104d90600a613c60565b611060906001600160801b038416613c6e565b92915050565b61106e6119ff565b6110766120c8565b565b611080611ba0565b61108981611bd0565b61109c6106e160e0830160c08401613920565b6110ad610100820160e08301613876565b6001600160801b03165f036110d557604051631f2a200560e01b815260040160405180910390fd5b6110e560c0820160a08301613994565b6001600160401b03164311611130574361110560c0830160a08401613994565b6040516374276dcf60e11b815260048101929092526001600160401b03166024820152604401610777565b5f61113a82611d8f565b905061114581611e98565b611163815f908152600a60205260409020805460ff19166001179055565b5f61116c611fb3565b90507f3cb8789e9bf6f532eec2bc8ffee9b622fc0d6e6daefb7fb6bb2e2f7b2d62e4528261119983612003565b6040516111a7929190613de5565b60405180910390a1505050565b6111c060066012613dcc565b6111cb90600a613c60565b81565b6111d66119ff565b6111de611ba0565b600354600160401b900460ff161561120957604051633dbff3b560e01b815260040160405180910390fd5b5f61124a7f00000000000000000000000000000000000000000000000000000000000000006112388580613a51565b6112456020880188613a51565b612127565b90505f61127b7f00000000000000000000000000000000000000000000000000000000000000006112388580613a51565b6003805460ff60401b1916600160401b17905590507fc255ddc45163282f24909556f7475ab4ec8eb1d51763b25a4560cee9f43d06456112bb8580613a51565b9050836112c88680613a51565b6040516112ef94939250869093845260208401929092526040830152606082015260800190565b60405180910390a150505050565b6113056119ff565b6110765f612266565b5f6110307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611007573d5f803e3d5ffd5b5f546001600160a01b031633148015906113a1575061138b611447565b6001600160a01b0316336001600160a01b031614155b156113c15760405163354de03160e21b8152336004820152602401610777565b6110766122d6565b6113d16119ff565b6001600160a01b0381166113f85760405163a91f6a8960e01b815260040160405180910390fd5b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f064d28d3d3071c5cbc271a261c10c2f0f0d9e319390397101aa0eb23c6bad9099190a35050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b5f61147e61231e565b805490915060ff600160401b82041615906001600160401b03165f811580156114a45750825b90505f826001600160401b031660011480156114bf5750303b155b9050811580156114cd575080155b156114eb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561151557845460ff60401b1916600160401b1785555b6001600160a01b038b1661153c576040516314030c0360e11b815260040160405180910390fd5b6001600160a01b038a166115635760405163a91f6a8960e01b815260040160405180910390fd5b88158061156e575087155b80611577575086155b156115975760405163665c282b60e01b81525f6004820152602401610777565b856001600160801b03165f036115c057604051632440a7dd60e01b815260040160405180910390fd5b6115c98b612346565b6115d1612357565b5f80546001600160a01b0319166001600160a01b038c161790556115f789888a89611b4f565b600880546001600160801b0319166001600160801b03881617905560405189907fac3566d46c25f65b48d269870da4b9349704c79de13ad49b115532834d7e7ed1905f90a2831561168257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b611697611ba0565b81158015906116f55750600283836116b0600182613e0d565b8181106116bf576116bf613ab1565b90506020028101906116d19190613e20565b6116e2906040810190602001613e34565b60028111156116f3576116f3613df9565b145b156117135760405163bf3d210b60e01b815260040160405180910390fd5b60065461173357604051632c1dfd4f60e11b815260040160405180910390fd5b5f61173d8561235f565b6002549091505f846001600160401b0381111561175c5761175c613a9d565b604051908082528060200260200182016040528015611785578160200160208202803683370190505b5090505f856001600160401b038111156117a1576117a1613a9d565b6040519080825280602002602001820160405280156117ca578160200160208202803683370190505b5090505f6117da88888585612524565b90505f5b878110156119b657368989838181106117f9576117f9613ab1565b905060200281019061180b9190613e20565b600180549192505f91611829916001600160401b0390911690613e52565b90506001600160401b0381166118426020840184613994565b6001600160401b03161461188a578061185e6020840184613994565b604051635efa452960e11b81526001600160401b03928316600482015291166024820152604401610777565b600261189c6040840160208501613e34565b60028111156118ad576118ad613df9565b036118c4576118bd82888b61278b565b96506119ac565b5f6118d56040840160208501613e34565b60028111156118e6576118e6613df9565b03611901576118f78289898c612974565b90985096506119ac565b60016119136040840160208501613e34565b600281111561192457611924613df9565b0361196c576118bd8289898787148a888151811061194457611944613ab1565b60200260200101518a898151811061195e5761195e613ab1565b60200260200101518f612b61565b61197c6040830160208401613e34565b600281111561198d5761198d613df9565b60405163b99607f960e01b815260ff9091166004820152602401610777565b50506001016117de565b50505050505050505050565b6119ca6119ff565b6001600160a01b0381166119f357604051631e4fbdf760e01b81525f6004820152602401610777565b6119fc81612266565b50565b33611a08611447565b6001600160a01b0316146110765760405163118cdaa760e01b8152336004820152602401610777565b5f805f85515f03611a575760405163665c282b60e01b81525f6004820152602401610777565b8451865114611a795760405163512509d360e11b815260040160405180910390fd5b5f805b8751811015611b33575f888281518110611a9857611a98613ab1565b602002602001015190505f888381518110611ab557611ab5613ab1565b602002602001015190505f6001600160a01b0316826001600160a01b03161480611add575080155b80611afa5750836001600160a01b0316826001600160a01b031611155b15611b1b5760405163665c282b60e01b815260048101849052602401610777565b611b258187613ca4565b955090925050600101611a7c565b5086519150611b43878787612df3565b93505093509350939050565b60408051608081018252848152602081018490529081018590526001600160801b039091166060909101819052600492909255600555600691909155600780546001600160801b0319169091179055565b5f805160206143728339815191525460ff16156110765760405163d93c066560e01b815260040160405180910390fd5b466001600160401b038116611beb6060840160408501613994565b6001600160401b031614611c365780611c0a6060840160408501613994565b6040516332e3634d60e21b81526001600160401b03928316600482015291166024820152604401610777565b5050565b6001600160a01b038116611c6c57604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580611cc957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316155b15611cf257604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015611d6657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b156119fc57604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b5f8135611da26040840160208501613994565b611db26060850160408601613994565b611dc26080860160608701613876565b611dd260a0870160808801613920565b611de260c0880160a08901613994565b611df260e0890160c08a01613920565b611e036101008a0160e08b01613876565b611e156101208b016101008c01613876565b60408051602081019a909a526001600160401b03988916908a015295871660608901526001600160801b0394851660808901526001600160a01b0393841660a08901529590911660c08701521660e08501529182166101008401521661012082015261014001604051602081830303815290604052805190602001209050919050565b5f818152600a602052604090205460ff16156119fc57604051632910aca360e01b815260048101829052602401610777565b5f7f28bf99522b0d2f26a76cdeda71578156383bbae91175ca503165cfdbbd1ff34a4630611ef787611d8f565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b0380851660a0830152831660c082015260e0015b6040516020818303038152906040528051906020012090505b9392505050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b5f805f80611f98878787612e09565b925092509250611fa88282612e50565b509095945050505050565b5f8054611fd190600160a01b90046001600160401b03166001613e52565b5f805467ffffffffffffffff60a01b1916600160a01b6001600160401b03841602179055905061200081612f08565b90565b604080516080810182525f808252602082018190529181018290526060810191909152604080516080810182526001600160401b038085168252600154166020820152908101612051610fa7565b6001600160801b0316815260200161206761130e565b6001600160801b0316905292915050565b5f8061208660066012613dcc565b61209190600a613c60565b61209b9084613c85565b90506001600160801b0381111561106057604051639940a77560e01b815260048101829052602401610777565b6120d06130d1565b5f80516020614372833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b5f8382146121485760405163512509d360e11b815260040160405180910390fd5b5f5b8481101561225c575f86868381811061216557612165613ab1565b905060200201602081019061217a9190613920565b90505f85858481811061218f5761218f613ab1565b60200291909101359150506001600160a01b0382166121c457604051633bca2f5160e21b815260048101849052602401610777565b805f036121e457604051631f2a200560e01b815260040160405180910390fd5b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390528a16906340c10f19906044015f604051808303815f87803b15801561222b575f80fd5b505af115801561223d573d5f803e3d5ffd5b50505050808461224d9190613ca4565b9350505080600101905061214a565b5095945050505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6122de611ba0565b5f80516020614372833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612109565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00611060565b61234e613100565b6119fc81613125565b611076613100565b6123916040518060a0016040528060608152602001606081526020015f80191681526020015f81526020015f81525090565b5f80806124226123a18680613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506123df925050506020880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250506007546001600160801b03169150611a319050565b9250925092506004600201548314158061243e57506004548214155b8061244b57506005548114155b1561247757600654604051633b21437560e21b8152600481019190915260248101849052604401610777565b6040805160a081019091528061248d8780613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020908101906124d290880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020810194909452604084019290925260609092019190915292915050565b825f816001600160401b0381111561253e5761253e613a9d565b604051908082528060200260200182016040528015612567578160200160208202803683370190505b5090505f80865b80156125d95761257d81613e72565b9050600289898381811061259357612593613ab1565b90506020028101906125a59190613e20565b6125b6906040810190602001613e34565b60028111156125c7576125c7613df9565b146125d4578094506125d9565b61256e565b505f5b8781101561277f575f8989838181106125f7576125f7613ab1565b90506020028101906126099190613e20565b61261a906040810190602001613e34565b9050600181600281111561263057612630613df9565b0361266f5781858563ffffffff168151811061264e5761264e613ab1565b63ffffffff9092166020928302919091019091015261266c84613e87565b93505b5f81600281111561268257612682613df9565b148061268d57508582145b15612776578989838181106126a4576126a4613ab1565b90506020028101906126b69190613e20565b6126c4906060810190613a51565b6126cf915084613ea9565b925063ffffffff841615612776575f5b8463ffffffff1681101561276e575f86828151811061270057612700613ab1565b602002602001015163ffffffff169050858a828151811061272357612723613ab1565b602002602001019063ffffffff16908163ffffffff16815250508489828151811061275057612750613ab1565b63ffffffff90921660209283029190910190910152506001016126df565b505f93505f92505b506001016125dc565b50505050949350505050565b5f8061279a6040860186613ae3565b8101906127a79190613f1e565b90506127b66060860186613a51565b90506001146127f15760016127ce6060870187613a51565b604051636b01174760e11b81526004810193909352602483015250604401610777565b6128096128016020870187613994565b82518661312d565b91505f61284761281884611f57565b6128256060890189613a51565b5f81811061283557612835613ab1565b905060200281019061092c9190613ae3565b9050815f01516001600160a01b0316816001600160a01b031614612894578151604051630be4b0e160e01b81526001600160a01b0391821660048201529082166024820152604401610777565b81516001600160a01b039081165f9081526009602090815260408083208054875190951684529083209290925590916001600160801b0380821692600160801b90920416906128e5908a018a613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028690555f612914611fb3565b86519091506001600160a01b03167ff92f117a698345a1b681cf04280fb5da65a05a9ac88aaacad3e9ee273ce570fd84848b61294f86612003565b60405161295f9493929190613f65565b60405180910390a25050505050509392505050565b6129a66040518060a0016040528060608152602001606081526020015f80191681526020015f81526020015f81525090565b5f806129b56040880188613ae3565b8101906129c29190614028565b905080602001516001600160801b03165f036129f157604051632440a7dd60e01b815260040160405180910390fd5b5f805f612a10845f01515f0151855f0151602001518660200151611a31565b91945092509050612a43612a2760208c018c613994565b60408b015186518051602091820151918901519091908d613194565b9450612a7585612a5660608d018d613a51565b612a5f91614145565b8b5160208d015160608e015160808f01516131c9565b612a858383838760200151611b4f565b602084810151600880546001600160801b0319166001600160801b03909216919091179055612ab6908b018b613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028590555f612ae5611fb3565b90507fb3dbfeab9c5013403dc2f2300318b92643b1cb9323077d549b4f93bbddded9638489612b1384612003565b604051612b2293929190614204565b60405180910390a1506040805160a081018252855151815294516020908101519086015284019290925260608301526080820152915094509492505050565b5f80612b7060408a018a613ae3565b810190612b7d919061421f565b60408101519091506001600160a01b0316612bab5760405163611b32ab60e01b815260040160405180910390fd5b80516001600160801b0316158015612bce575060208101516001600160801b0316155b15612bfd576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b63ffffffff85161580612c14575063ffffffff8416155b15612c43576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b6040808201516001600160a01b03165f90815260096020522080546001600160801b0316151580612c8457508054600160801b90046001600160801b031615155b15612cb357604080830151905163cb96603760e01b81526001600160a01b039091166004820152602401610777565b612cdc612cc360208c018c613994565b8a60400151845f0151856020015186604001518d61320e565b92508615612cf557612cf583612a5660608d018d613a51565b60408051808201825283516001600160801b0390811682526020808601518216818401908152868501516001600160a01b03165f9081526009835294909420925193518216600160801b0293909116929092179055612d56908b018b613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028390555f612d85611fb3565b905082604001516001600160a01b03167fc0f81072946eba75f62302dad0fe56dd420d0b9d311e15b61bbe6e056c29908d845f015185602001518a8a8a612dcb88612003565b604051612ddd96959493929190614288565b60405180910390a2505050979650505050505050565b5f838383604051602001611f37939291906142c9565b5f80806041849003612e3d578435602086013560408701355f1a612e2f8982858561323c565b955095509550505050612e47565b505f915060029050825b93509350939050565b5f826003811115612e6357612e63613df9565b03612e6c575050565b6001826003811115612e8057612e80613df9565b03612e9e5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612eb257612eb2613df9565b03612ed35760405163fce698f760e01b815260048101829052602401610777565b6003826003811115612ee757612ee7613df9565b03611c36576040516335e2f38360e21b815260048101829052602401610777565b60035443906001600160401b03165f03612fca576003805467ffffffffffffffff19166001908117909155604080516060810182526001600160401b03938416815293831660208086018281529286019182525f93909352600b90925292517f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf8054945192518416600160801b0267ffffffffffffffff60801b19938516600160401b026001600160801b031990961692909416919091179390931716179055565b6003546001600160401b039081165f908152600b60205260409020805490918381169116036130205780546001600160401b03909316600160801b0267ffffffffffffffff60801b199093169290921790915550565b6003545f90613039906001600160401b03166001613e52565b600380546001600160401b0392831667ffffffffffffffff19909116811790915560408051606081018252958316865295821660208087018281528789019283525f938452600b9091529690912094518554965191518316600160801b0267ffffffffffffffff60801b19928416600160401b026001600160801b031990981691909316179590951794909416939093179091555050565b5f805160206143728339815191525460ff1661107657604051638dfc202b60e01b815260040160405180910390fd5b613108613304565b61107657604051631afcd79f60e31b815260040160405180910390fd5b6119ca613100565b604080517fad7e1df8fff16b907a93b4116c7590060dfa3b9c396a8b815e8290b0dff45cba602082015246918101919091523060608201526001600160401b03841660808201526001600160a01b03831660a082015260c081018290525f9060e001611f37565b5f806131a1868686612df3565b90506131bb88885f846131b58b8b8b61331d565b88613388565b9150505b9695505050505050565b5f806131d78888888861343a565b915091506131e7828286866135ad565b6132045760405163079842ab60e41b815260040160405180910390fd5b5050505050505050565b5f613231878760016001600160a01b03871661322b8a8a8a613611565b87613388565b979650505050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561327557505f915060039050826132fa565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156132c6573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166132f157505f9250600191508290506132fa565b92505f91508190505b9450945094915050565b5f61330d61231e565b54600160401b900460ff16919050565b5f7f82ce6440aa5dde11f3613892819b630b62342bacf93e16a292d5c8783aafa4c3463061334c878787612df3565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b03831660a082015260c001611f37565b5f7f41936771719a172aa959076ca6aafb826eaf332dd0c9e7860901c398ef42da05463089898960028111156133c0576133c0613df9565b6040805160208101979097528601949094526001600160a01b0390921660608501526001600160401b0316608084015260a083015260ff1660c082015260e0810185905261010081018490526101208101839052610140016040516020818303038152906040528051906020012090509695505050505050565b5f805f8061344788611f57565b90505f805b88518110156135a0575f613479848b848151811061346c5761346c613ab1565b602002602001015161366d565b9050846001600160a01b0316816001600160a01b0316116134ad576040516309cf9e4960e11b815260040160405180910390fd5b8851831080156134e75750806001600160a01b03168984815181106134d4576134d4613ab1565b60200260200101516001600160a01b0316105b156134fc576134f583614359565b92506134ad565b88518314806135365750806001600160a01b031689848151811061352257613522613ab1565b60200260200101516001600160a01b031614155b156135575760405163665c282b60e01b815260048101839052602401610777565b61356087614359565b965087838151811061357457613574613ab1565b6020026020010151866135879190613ca4565b955093508361359583614359565b92505060010161344c565b5050505094509492505050565b5f806135b98684613e0d565b90506135c684605a613c6e565b6135d1866064613c6e565b106135e0576001915050613609565b6002811115801561360557506135f7846050613c6e565b613602866064613c6e565b10155b9150505b949350505050565b5f7f1cd7f89e34f6154d6f8387a08ffafc689e347b8d5809913b07c58a42995dff664630613640878787613695565b6040805160208101959095528401929092526001600160a01b03166060830152608082015260a001611f37565b5f805f8061367b86866136cb565b92509250925061368b8282612e50565b5090949350505050565b604080516001600160801b0380861660208301528416918101919091526001600160a01b03821660608201525f90608001611f37565b5f805f8351604103613702576020840151604085015160608601515f1a6136f48882858561323c565b95509550955050505061370d565b505081515f91506002905b9250925092565b5f60408284031215613724575f80fd5b50919050565b80356001600160801b0381168114613740575f80fd5b919050565b5f8060408385031215613756575f80fd5b82356001600160401b0381111561376b575f80fd5b61377785828601613714565b9250506137866020840161372a565b90509250929050565b5f6101208284031215613724575f80fd5b5f8061014083850312156137b2575f80fd5b6137bc848461378f565b91506101208301356001600160401b038111156137d7575f80fd5b8301602081860312156137e8575f80fd5b809150509250929050565b80356001600160a01b0381168114613740575f80fd5b5f805f805f805f60e0888a03121561381f575f80fd5b613828886137f3565b96506138366020890161372a565b95506040880135945060608801359350608088013560ff81168114613859575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f60208284031215613886575f80fd5b611f508261372a565b5f61012082840312156138a0575f80fd5b611f50838361378f565b5f80604083850312156138bb575f80fd5b82356001600160401b03808211156138d1575f80fd5b6138dd86838701613714565b935060208501359150808211156138f2575f80fd5b506138ff85828601613714565b9150509250929050565b5f60208284031215613919575f80fd5b5035919050565b5f60208284031215613930575f80fd5b611f50826137f3565b5f805f805f8060c0878903121561394e575f80fd5b613957876137f3565b9550613965602088016137f3565b945060408701359350606087013592506080870135915061398860a0880161372a565b90509295509295509295565b5f602082840312156139a4575f80fd5b81356001600160401b0381168114611f50575f80fd5b5f805f80606085870312156139cd575f80fd5b84356001600160401b03808211156139e3575f80fd5b6139ef88838901613714565b95506020870135915080821115613a04575f80fd5b818701915087601f830112613a17575f80fd5b813581811115613a25575f80fd5b8860208260051b8501011115613a39575f80fd5b95986020929092019750949560400135945092505050565b5f808335601e19843603018112613a66575f80fd5b8301803591506001600160401b03821115613a7f575f80fd5b6020019150600581901b3603821315613a96575f80fd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112613ad9575f80fd5b9190910192915050565b5f808335601e19843603018112613af8575f80fd5b8301803591506001600160401b03821115613b11575f80fd5b602001915036819003821315613a96575f80fd5b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03828116828216039080821115613b5957613b59613b25565b5092915050565b6001600160801b03818116838216019080821115613b5957613b59613b25565b600181815b80851115613bba57815f1904821115613ba057613ba0613b25565b80851615613bad57918102915b93841c9390800290613b85565b509250929050565b5f82613bd057506001611060565b81613bdc57505f611060565b8160018114613bf25760028114613bfc57613c18565b6001915050611060565b60ff841115613c0d57613c0d613b25565b50506001821b611060565b5060208310610133831016604e8410600b8410161715613c3b575081810a611060565b613c458383613b80565b805f1904821115613c5857613c58613b25565b029392505050565b5f611f5060ff841683613bc2565b808202811582820484141761106057611060613b25565b5f82613c9f57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561106057611060613b25565b6001600160401b038082511683528060208301511660208401525060408101516001600160801b03808216604085015280606084015116606085015250505050565b5f610100808301888452602060018060a01b03808a16602087015260406001600160801b03808b16604089015260608660608a01528596508a518087526101208a01975060208c0196505f5b81811015613d78578751805187168a52878101518516888b01528501518416858a01529782019796860196600101613d45565b5050505050505050809150506131bf6080830184613cb7565b6001600160801b03841681526020810183905260c081016136096040830184613cb7565b5f60208284031215613dc5575f80fd5b5051919050565b60ff828116828216039081111561106057611060613b25565b82815260a08101611f506020830184613cb7565b634e487b7160e01b5f52602160045260245ffd5b8181038181111561106057611060613b25565b5f8235607e19833603018112613ad9575f80fd5b5f60208284031215613e44575f80fd5b813560038110611f50575f80fd5b6001600160401b03818116838216019080821115613b5957613b59613b25565b5f81613e8057613e80613b25565b505f190190565b5f63ffffffff808316818103613e9f57613e9f613b25565b6001019392505050565b63ffffffff818116838216019080821115613b5957613b59613b25565b604080519081016001600160401b0381118282101715613ee857613ee8613a9d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613f1657613f16613a9d565b604052919050565b5f60208284031215613f2e575f80fd5b604051602081018181106001600160401b0382111715613f5057613f50613a9d565b604052613f5c836137f3565b81529392505050565b6001600160801b038581168252841660208201526040810183905260e08101613f916060830184613cb7565b95945050505050565b5f6001600160401b03821115613fb257613fb2613a9d565b5060051b60200190565b5f82601f830112613fcb575f80fd5b81356020613fe0613fdb83613f9a565b613eee565b8083825260208201915060208460051b870101935086841115614001575f80fd5b602086015b8481101561401d5780358352918301918301614006565b509695505050505050565b5f6020808385031215614039575f80fd5b82356001600160401b038082111561404f575f80fd5b9084019060408287031215614062575f80fd5b61406a613ec6565b823582811115614078575f80fd5b830160408189031215614089575f80fd5b614091613ec6565b81358481111561409f575f80fd5b8201601f81018a136140af575f80fd5b80356140bd613fdb82613f9a565b81815260059190911b8201880190888101908c8311156140db575f80fd5b928901925b82841015614100576140f1846137f3565b825292890192908901906140e0565b84525050508186013584811115614115575f80fd5b6141218a828501613fbc565b828801525082525061413483850161372a565b848201528094505050505092915050565b5f614152613fdb84613f9a565b80848252602080830192508560051b85013681111561416f575f80fd5b855b818110156141f85780356001600160401b038082111561418f575f80fd5b90880190601f36818401126141a2575f80fd5b8235828111156141b4576141b4613a9d565b6141c5818301601f19168801613eee565b925080835236878286010111156141da575f80fd5b80878501888501375f90830187015250865250938201938201614171565b50919695505050505050565b8381526020810183905260c081016136096040830184613cb7565b5f6060828403121561422f575f80fd5b604051606081018181106001600160401b038211171561425157614251613a9d565b60405261425d8361372a565b815261426b6020840161372a565b602082015261427c604084016137f3565b60408201529392505050565b6001600160801b0387811682528616602082015263ffffffff85811660408301528416606082015260808101839052610120810161323160a0830184613cb7565b606080825284519082018190525f906020906080840190828801845b8281101561430a5781516001600160a01b0316845292840192908401906001016142e5565b505050838103828501528551808252868301918301905f5b8181101561433e57835183529284019291840191600101614322565b50506001600160801b03861660408601529250613609915050565b5f6001820161436a5761436a613b25565b506001019056fecd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a26469706673582212203a214c965eb3956ff07c645a3f97f11e09a50d6ac5d1cd5276785c6492dc75a964736f6c63430008180033",
|
|
4440
|
-
deployedBytecode: "0x608060405234801561000f575f80fd5b50600436106101f2575f3560e01c80636e2c7769116101145780638da5cb5b116100a9578063c017c90211610079578063c017c902146104d2578063d68d6311146104e5578063e52580a6146104f8578063ecec10a414610560578063f2fde38b14610573575f80fd5b80638da5cb5b14610466578063905d031f1461046e578063a3eb8961146104c1578063beabb591146104ca575f80fd5b80637c9afa67116100e45780637c9afa671461040257806383a4d591146104245780638456cb591461044b5780638a0dac4a14610453575f80fd5b80636e2c7769146103cc5780636e888c46146103df578063715018a6146103f257806378d350e0146103fa575f80fd5b80632ef29f3b1161018a578063452a93201161015a578063452a93201461038157806359b23872146103935780635b7f415c1461039b5780635c975abb146103b5575f80fd5b80632ef29f3b1461032157806331677980146103425780633f4ba83a14610366578063422ad8f61461036e575f80fd5b80631a5d93fd116101c55780631a5d93fd146102615780631c1eeae1146102a95780631e07f89e146102da5780632ceeddf514610319575f80fd5b8063014c72f6146101f657806309af0e3c1461020b578063138f87811461023b57806318a8f1f01461024e575b5f80fd5b610209610204366004613745565b610586565b005b60085461021e906001600160801b031681565b6040516001600160801b0390911681526020015b60405180910390f35b6102096102493660046137a0565b6106bd565b61020961025c366004613809565b610e22565b600454600554600654600754610280939291906001600160801b031684565b604080519485526020850193909352918301526001600160801b03166060820152608001610232565b5f546102c290600160a01b90046001600160401b031681565b6040516001600160401b039091168152602001610232565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610232565b61021e610fa7565b61033461032f366004613876565b611035565b604051908152602001610232565b60035461035690600160401b900460ff1681565b6040519015158152602001610232565b610209611066565b61020961037c36600461388f565b611078565b5f54610301906001600160a01b031681565b6103346111b4565b6103a3601281565b60405160ff9091168152602001610232565b5f805160206143728339815191525460ff16610356565b6001546102c2906001600160401b031681565b6102096103ed3660046138aa565b6111ce565b6102096112fd565b61021e61130e565b610356610410366004613909565b600a6020525f908152604090205460ff1681565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b61020961136e565b610209610461366004613920565b6113c9565b610301611447565b6104a161047c366004613920565b60096020525f90815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610232565b61033460025481565b6103a3600681565b6102096104e0366004613939565b611475565b6003546102c2906001600160401b031681565b610536610506366004613994565b600b6020525f90815260409020546001600160401b0380821691600160401b8104821691600160801b9091041683565b604080516001600160401b0394851681529284166020840152921691810191909152606001610232565b61020961056e3660046139ba565b61168f565b610209610581366004613920565b6119c2565b61058e6119ff565b806001600160801b03165f036105b757604051632440a7dd60e01b815260040160405180910390fd5b5f808061063d6105c78680613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250610605925050506020880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611a31915050565b6040805160808101825260045481526005546020820152600654918101919091526007546001600160801b03166060820152929550909350915061068384848488611b4f565b8381604001517f33e53e90d61fdc868629a6234670f92c4445196f3f98ebd71935bbc76c7d915360405160405180910390a3505050505050565b6106c5611ba0565b6106ce82611bd0565b6106e66106e160e0840160c08501613920565b611c3a565b6106f7610100830160e08401613876565b6001600160801b03165f0361071f57604051631f2a200560e01b815260040160405180910390fd5b61072f60c0830160a08401613994565b6001600160401b0316431115610780574361075060c0840160a08501613994565b604051635728c7dd60e11b815260048101929092526001600160401b031660248201526044015b60405180910390fd5b5f61078a83611d8f565b905061079581611e98565b6107a56080840160608501613876565b6001600160801b03165f036107cd57604051632440a7dd60e01b815260040160405180910390fd5b6008546001600160801b0316806107ea6080860160608701613876565b6001600160801b03161115610836578061080a6080860160608701613876565b6040516343082d3360e01b81526001600160801b03928316600482015291166024820152604401610777565b5f8080806108448780613a51565b90506001600160401b0381111561085d5761085d613a9d565b6040519080825280602002602001820160405280156108a657816020015b604080516060810182525f80825260208083018290529282015282525f1990920191018161087b5790505b5090505f5b6108b58880613a51565b9050811015610b5557366108c98980613a51565b838181106108d9576108d9613ab1565b90506020028101906108eb9190613ac5565b90505f61093161091f61091a8d6109056020870187613876565b6109156040880160208901613876565b611eca565b611f57565b61092c6040850185613ae3565b611f89565b9050846001600160a01b0316816001600160a01b031611610965576040516309cf9e4960e11b815260040160405180910390fd5b6001600160a01b0381165f9081526009602090815260409091209061098c90840184613876565b81546001600160801b03918216911610806109cc57506109b26040840160208501613876565b81546001600160801b03918216600160801b909104909116105b156109f5576040516364fc3cd160e11b81526001600160a01b0383166004820152602401610777565b610a026020840184613876565b815482905f90610a1c9084906001600160801b0316613b39565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550826020016020810190610a539190613876565b81548290601090610a75908490600160801b90046001600160801b0316613b39565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550825f016020810190610aab9190613876565b610ab59089613b60565b9750610ac76040840160208501613876565b610ad19088613b60565b96506040518060600160405280836001600160a01b03168152602001845f016020810190610aff9190613876565b6001600160801b03168152602001846020016020810190610b209190613876565b6001600160801b0316815250858581518110610b3e57610b3e613ab1565b6020908102919091010152509350506001016108ab565b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610b9060e08a0160c08b01613920565b6001600160a01b031603610c5e575f610bab6006600a613c60565b610bbb60808b0160608c01613876565b6001600160801b0316856001600160801b0316610bd89190613c6e565b610be29190613c85565b90505f610bf8826001600160801b038816613ca4565b9050610c0b6101008b0160e08c01613876565b6001600160801b0316811015610c575780610c2d6101008c0160e08d01613876565b60405162f9825560e61b815260048101929092526001600160801b03166024820152604401610777565b5050610ced565b6001600160801b03841615610c8657604051630994a0f360e11b815260040160405180910390fd5b610c97610100890160e08a01613876565b6001600160801b0316836001600160801b03161015610ced5782610cc26101008a0160e08b01613876565b60405162f9825560e61b81526001600160801b03928316600482015291166024820152604401610777565b610d0b865f908152600a60205260409020805460ff19166001179055565b610d1b60e0890160c08a01613920565b6001600160a01b03166340c10f19610d3960a08b0160808c01613920565b610d4d61032f6101008d0160e08e01613876565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b158015610d90575f80fd5b505af1158015610da2573d5f803e3d5ffd5b505050505f610daf611fb3565b90507f64d79900ed82270f744ae62db527f4e328e336d8b51e77bc72601391fe779d0687610de360e08c0160c08d01613920565b610df46101008d0160e08e01613876565b85610dfe86612003565b604051610e0f959493929190613cf9565b60405180910390a1505050505050505050565b610e2a611ba0565b610e3387611c3a565b856001600160801b03165f03610e5c57604051631f2a200560e01b815260040160405180910390fd5b5f610e6687611035565b60405163d505accf60e01b8152336004820152306024820152604481018290526064810187905260ff8616608482015260a4810185905260c481018490529091506001600160a01b0389169063d505accf9060e4015f604051808303815f87803b158015610ed2575f80fd5b505af1158015610ee4573d5f803e3d5ffd5b505060405163079cc67960e41b8152336004820152602481018490526001600160a01b038b1692506379cc679091506044015f604051808303815f87803b158015610f2d575f80fd5b505af1158015610f3f573d5f803e3d5ffd5b505050505f610f4c611fb3565b90506001600160a01b038916337f3ab970a848f33363427e47cfbd7a627af0c6e72757f150137e38cef3cee24d938a8a610f8586612003565b604051610f9493929190613d91565b60405180910390a3505050505050505050565b5f6110307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190613db5565b612078565b905090565b5f61104260066012613dcc565b61104d90600a613c60565b611060906001600160801b038416613c6e565b92915050565b61106e6119ff565b6110766120c8565b565b611080611ba0565b61108981611bd0565b61109c6106e160e0830160c08401613920565b6110ad610100820160e08301613876565b6001600160801b03165f036110d557604051631f2a200560e01b815260040160405180910390fd5b6110e560c0820160a08301613994565b6001600160401b03164311611130574361110560c0830160a08401613994565b6040516374276dcf60e11b815260048101929092526001600160401b03166024820152604401610777565b5f61113a82611d8f565b905061114581611e98565b611163815f908152600a60205260409020805460ff19166001179055565b5f61116c611fb3565b90507f3cb8789e9bf6f532eec2bc8ffee9b622fc0d6e6daefb7fb6bb2e2f7b2d62e4528261119983612003565b6040516111a7929190613de5565b60405180910390a1505050565b6111c060066012613dcc565b6111cb90600a613c60565b81565b6111d66119ff565b6111de611ba0565b600354600160401b900460ff161561120957604051633dbff3b560e01b815260040160405180910390fd5b5f61124a7f00000000000000000000000000000000000000000000000000000000000000006112388580613a51565b6112456020880188613a51565b612127565b90505f61127b7f00000000000000000000000000000000000000000000000000000000000000006112388580613a51565b6003805460ff60401b1916600160401b17905590507fc255ddc45163282f24909556f7475ab4ec8eb1d51763b25a4560cee9f43d06456112bb8580613a51565b9050836112c88680613a51565b6040516112ef94939250869093845260208401929092526040830152606082015260800190565b60405180910390a150505050565b6113056119ff565b6110765f612266565b5f6110307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611007573d5f803e3d5ffd5b5f546001600160a01b031633148015906113a1575061138b611447565b6001600160a01b0316336001600160a01b031614155b156113c15760405163354de03160e21b8152336004820152602401610777565b6110766122d6565b6113d16119ff565b6001600160a01b0381166113f85760405163a91f6a8960e01b815260040160405180910390fd5b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f064d28d3d3071c5cbc271a261c10c2f0f0d9e319390397101aa0eb23c6bad9099190a35050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b5f61147e61231e565b805490915060ff600160401b82041615906001600160401b03165f811580156114a45750825b90505f826001600160401b031660011480156114bf5750303b155b9050811580156114cd575080155b156114eb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561151557845460ff60401b1916600160401b1785555b6001600160a01b038b1661153c576040516314030c0360e11b815260040160405180910390fd5b6001600160a01b038a166115635760405163a91f6a8960e01b815260040160405180910390fd5b88158061156e575087155b80611577575086155b156115975760405163665c282b60e01b81525f6004820152602401610777565b856001600160801b03165f036115c057604051632440a7dd60e01b815260040160405180910390fd5b6115c98b612346565b6115d1612357565b5f80546001600160a01b0319166001600160a01b038c161790556115f789888a89611b4f565b600880546001600160801b0319166001600160801b03881617905560405189907fac3566d46c25f65b48d269870da4b9349704c79de13ad49b115532834d7e7ed1905f90a2831561168257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b611697611ba0565b81158015906116f55750600283836116b0600182613e0d565b8181106116bf576116bf613ab1565b90506020028101906116d19190613e20565b6116e2906040810190602001613e34565b60028111156116f3576116f3613df9565b145b156117135760405163bf3d210b60e01b815260040160405180910390fd5b60065461173357604051632c1dfd4f60e11b815260040160405180910390fd5b5f61173d8561235f565b6002549091505f846001600160401b0381111561175c5761175c613a9d565b604051908082528060200260200182016040528015611785578160200160208202803683370190505b5090505f856001600160401b038111156117a1576117a1613a9d565b6040519080825280602002602001820160405280156117ca578160200160208202803683370190505b5090505f6117da88888585612524565b90505f5b878110156119b657368989838181106117f9576117f9613ab1565b905060200281019061180b9190613e20565b600180549192505f91611829916001600160401b0390911690613e52565b90506001600160401b0381166118426020840184613994565b6001600160401b03161461188a578061185e6020840184613994565b604051635efa452960e11b81526001600160401b03928316600482015291166024820152604401610777565b600261189c6040840160208501613e34565b60028111156118ad576118ad613df9565b036118c4576118bd82888b61278b565b96506119ac565b5f6118d56040840160208501613e34565b60028111156118e6576118e6613df9565b03611901576118f78289898c612974565b90985096506119ac565b60016119136040840160208501613e34565b600281111561192457611924613df9565b0361196c576118bd8289898787148a888151811061194457611944613ab1565b60200260200101518a898151811061195e5761195e613ab1565b60200260200101518f612b61565b61197c6040830160208401613e34565b600281111561198d5761198d613df9565b60405163b99607f960e01b815260ff9091166004820152602401610777565b50506001016117de565b50505050505050505050565b6119ca6119ff565b6001600160a01b0381166119f357604051631e4fbdf760e01b81525f6004820152602401610777565b6119fc81612266565b50565b33611a08611447565b6001600160a01b0316146110765760405163118cdaa760e01b8152336004820152602401610777565b5f805f85515f03611a575760405163665c282b60e01b81525f6004820152602401610777565b8451865114611a795760405163512509d360e11b815260040160405180910390fd5b5f805b8751811015611b33575f888281518110611a9857611a98613ab1565b602002602001015190505f888381518110611ab557611ab5613ab1565b602002602001015190505f6001600160a01b0316826001600160a01b03161480611add575080155b80611afa5750836001600160a01b0316826001600160a01b031611155b15611b1b5760405163665c282b60e01b815260048101849052602401610777565b611b258187613ca4565b955090925050600101611a7c565b5086519150611b43878787612df3565b93505093509350939050565b60408051608081018252848152602081018490529081018590526001600160801b039091166060909101819052600492909255600555600691909155600780546001600160801b0319169091179055565b5f805160206143728339815191525460ff16156110765760405163d93c066560e01b815260040160405180910390fd5b466001600160401b038116611beb6060840160408501613994565b6001600160401b031614611c365780611c0a6060840160408501613994565b6040516332e3634d60e21b81526001600160401b03928316600482015291166024820152604401610777565b5050565b6001600160a01b038116611c6c57604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580611cc957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316155b15611cf257604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015611d6657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b156119fc57604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b5f8135611da26040840160208501613994565b611db26060850160408601613994565b611dc26080860160608701613876565b611dd260a0870160808801613920565b611de260c0880160a08901613994565b611df260e0890160c08a01613920565b611e036101008a0160e08b01613876565b611e156101208b016101008c01613876565b60408051602081019a909a526001600160401b03988916908a015295871660608901526001600160801b0394851660808901526001600160a01b0393841660a08901529590911660c08701521660e08501529182166101008401521661012082015261014001604051602081830303815290604052805190602001209050919050565b5f818152600a602052604090205460ff16156119fc57604051632910aca360e01b815260048101829052602401610777565b5f7f28bf99522b0d2f26a76cdeda71578156383bbae91175ca503165cfdbbd1ff34a4630611ef787611d8f565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b0380851660a0830152831660c082015260e0015b6040516020818303038152906040528051906020012090505b9392505050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b5f805f80611f98878787612e09565b925092509250611fa88282612e50565b509095945050505050565b5f8054611fd190600160a01b90046001600160401b03166001613e52565b5f805467ffffffffffffffff60a01b1916600160a01b6001600160401b03841602179055905061200081612f08565b90565b604080516080810182525f808252602082018190529181018290526060810191909152604080516080810182526001600160401b038085168252600154166020820152908101612051610fa7565b6001600160801b0316815260200161206761130e565b6001600160801b0316905292915050565b5f8061208660066012613dcc565b61209190600a613c60565b61209b9084613c85565b90506001600160801b0381111561106057604051639940a77560e01b815260048101829052602401610777565b6120d06130d1565b5f80516020614372833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b5f8382146121485760405163512509d360e11b815260040160405180910390fd5b5f5b8481101561225c575f86868381811061216557612165613ab1565b905060200201602081019061217a9190613920565b90505f85858481811061218f5761218f613ab1565b60200291909101359150506001600160a01b0382166121c457604051633bca2f5160e21b815260048101849052602401610777565b805f036121e457604051631f2a200560e01b815260040160405180910390fd5b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390528a16906340c10f19906044015f604051808303815f87803b15801561222b575f80fd5b505af115801561223d573d5f803e3d5ffd5b50505050808461224d9190613ca4565b9350505080600101905061214a565b5095945050505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6122de611ba0565b5f80516020614372833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612109565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00611060565b61234e613100565b6119fc81613125565b611076613100565b6123916040518060a0016040528060608152602001606081526020015f80191681526020015f81526020015f81525090565b5f80806124226123a18680613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506123df925050506020880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250506007546001600160801b03169150611a319050565b9250925092506004600201548314158061243e57506004548214155b8061244b57506005548114155b1561247757600654604051633b21437560e21b8152600481019190915260248101849052604401610777565b6040805160a081019091528061248d8780613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020908101906124d290880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020810194909452604084019290925260609092019190915292915050565b825f816001600160401b0381111561253e5761253e613a9d565b604051908082528060200260200182016040528015612567578160200160208202803683370190505b5090505f80865b80156125d95761257d81613e72565b9050600289898381811061259357612593613ab1565b90506020028101906125a59190613e20565b6125b6906040810190602001613e34565b60028111156125c7576125c7613df9565b146125d4578094506125d9565b61256e565b505f5b8781101561277f575f8989838181106125f7576125f7613ab1565b90506020028101906126099190613e20565b61261a906040810190602001613e34565b9050600181600281111561263057612630613df9565b0361266f5781858563ffffffff168151811061264e5761264e613ab1565b63ffffffff9092166020928302919091019091015261266c84613e87565b93505b5f81600281111561268257612682613df9565b148061268d57508582145b15612776578989838181106126a4576126a4613ab1565b90506020028101906126b69190613e20565b6126c4906060810190613a51565b6126cf915084613ea9565b925063ffffffff841615612776575f5b8463ffffffff1681101561276e575f86828151811061270057612700613ab1565b602002602001015163ffffffff169050858a828151811061272357612723613ab1565b602002602001019063ffffffff16908163ffffffff16815250508489828151811061275057612750613ab1565b63ffffffff90921660209283029190910190910152506001016126df565b505f93505f92505b506001016125dc565b50505050949350505050565b5f8061279a6040860186613ae3565b8101906127a79190613f1e565b90506127b66060860186613a51565b90506001146127f15760016127ce6060870187613a51565b604051636b01174760e11b81526004810193909352602483015250604401610777565b6128096128016020870187613994565b82518661312d565b91505f61284761281884611f57565b6128256060890189613a51565b5f81811061283557612835613ab1565b905060200281019061092c9190613ae3565b9050815f01516001600160a01b0316816001600160a01b031614612894578151604051630be4b0e160e01b81526001600160a01b0391821660048201529082166024820152604401610777565b81516001600160a01b039081165f9081526009602090815260408083208054875190951684529083209290925590916001600160801b0380821692600160801b90920416906128e5908a018a613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028690555f612914611fb3565b86519091506001600160a01b03167ff92f117a698345a1b681cf04280fb5da65a05a9ac88aaacad3e9ee273ce570fd84848b61294f86612003565b60405161295f9493929190613f65565b60405180910390a25050505050509392505050565b6129a66040518060a0016040528060608152602001606081526020015f80191681526020015f81526020015f81525090565b5f806129b56040880188613ae3565b8101906129c29190614028565b905080602001516001600160801b03165f036129f157604051632440a7dd60e01b815260040160405180910390fd5b5f805f612a10845f01515f0151855f0151602001518660200151611a31565b91945092509050612a43612a2760208c018c613994565b60408b015186518051602091820151918901519091908d613194565b9450612a7585612a5660608d018d613a51565b612a5f91614145565b8b5160208d015160608e015160808f01516131c9565b612a858383838760200151611b4f565b602084810151600880546001600160801b0319166001600160801b03909216919091179055612ab6908b018b613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028590555f612ae5611fb3565b90507fb3dbfeab9c5013403dc2f2300318b92643b1cb9323077d549b4f93bbddded9638489612b1384612003565b604051612b2293929190614204565b60405180910390a1506040805160a081018252855151815294516020908101519086015284019290925260608301526080820152915094509492505050565b5f80612b7060408a018a613ae3565b810190612b7d919061421f565b60408101519091506001600160a01b0316612bab5760405163611b32ab60e01b815260040160405180910390fd5b80516001600160801b0316158015612bce575060208101516001600160801b0316155b15612bfd576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b63ffffffff85161580612c14575063ffffffff8416155b15612c43576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b6040808201516001600160a01b03165f90815260096020522080546001600160801b0316151580612c8457508054600160801b90046001600160801b031615155b15612cb357604080830151905163cb96603760e01b81526001600160a01b039091166004820152602401610777565b612cdc612cc360208c018c613994565b8a60400151845f0151856020015186604001518d61320e565b92508615612cf557612cf583612a5660608d018d613a51565b60408051808201825283516001600160801b0390811682526020808601518216818401908152868501516001600160a01b03165f9081526009835294909420925193518216600160801b0293909116929092179055612d56908b018b613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028390555f612d85611fb3565b905082604001516001600160a01b03167fc0f81072946eba75f62302dad0fe56dd420d0b9d311e15b61bbe6e056c29908d845f015185602001518a8a8a612dcb88612003565b604051612ddd96959493929190614288565b60405180910390a2505050979650505050505050565b5f838383604051602001611f37939291906142c9565b5f80806041849003612e3d578435602086013560408701355f1a612e2f8982858561323c565b955095509550505050612e47565b505f915060029050825b93509350939050565b5f826003811115612e6357612e63613df9565b03612e6c575050565b6001826003811115612e8057612e80613df9565b03612e9e5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612eb257612eb2613df9565b03612ed35760405163fce698f760e01b815260048101829052602401610777565b6003826003811115612ee757612ee7613df9565b03611c36576040516335e2f38360e21b815260048101829052602401610777565b60035443906001600160401b03165f03612fca576003805467ffffffffffffffff19166001908117909155604080516060810182526001600160401b03938416815293831660208086018281529286019182525f93909352600b90925292517f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf8054945192518416600160801b0267ffffffffffffffff60801b19938516600160401b026001600160801b031990961692909416919091179390931716179055565b6003546001600160401b039081165f908152600b60205260409020805490918381169116036130205780546001600160401b03909316600160801b0267ffffffffffffffff60801b199093169290921790915550565b6003545f90613039906001600160401b03166001613e52565b600380546001600160401b0392831667ffffffffffffffff19909116811790915560408051606081018252958316865295821660208087018281528789019283525f938452600b9091529690912094518554965191518316600160801b0267ffffffffffffffff60801b19928416600160401b026001600160801b031990981691909316179590951794909416939093179091555050565b5f805160206143728339815191525460ff1661107657604051638dfc202b60e01b815260040160405180910390fd5b613108613304565b61107657604051631afcd79f60e31b815260040160405180910390fd5b6119ca613100565b604080517fad7e1df8fff16b907a93b4116c7590060dfa3b9c396a8b815e8290b0dff45cba602082015246918101919091523060608201526001600160401b03841660808201526001600160a01b03831660a082015260c081018290525f9060e001611f37565b5f806131a1868686612df3565b90506131bb88885f846131b58b8b8b61331d565b88613388565b9150505b9695505050505050565b5f806131d78888888861343a565b915091506131e7828286866135ad565b6132045760405163079842ab60e41b815260040160405180910390fd5b5050505050505050565b5f613231878760016001600160a01b03871661322b8a8a8a613611565b87613388565b979650505050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561327557505f915060039050826132fa565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156132c6573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166132f157505f9250600191508290506132fa565b92505f91508190505b9450945094915050565b5f61330d61231e565b54600160401b900460ff16919050565b5f7f82ce6440aa5dde11f3613892819b630b62342bacf93e16a292d5c8783aafa4c3463061334c878787612df3565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b03831660a082015260c001611f37565b5f7f41936771719a172aa959076ca6aafb826eaf332dd0c9e7860901c398ef42da05463089898960028111156133c0576133c0613df9565b6040805160208101979097528601949094526001600160a01b0390921660608501526001600160401b0316608084015260a083015260ff1660c082015260e0810185905261010081018490526101208101839052610140016040516020818303038152906040528051906020012090509695505050505050565b5f805f8061344788611f57565b90505f805b88518110156135a0575f613479848b848151811061346c5761346c613ab1565b602002602001015161366d565b9050846001600160a01b0316816001600160a01b0316116134ad576040516309cf9e4960e11b815260040160405180910390fd5b8851831080156134e75750806001600160a01b03168984815181106134d4576134d4613ab1565b60200260200101516001600160a01b0316105b156134fc576134f583614359565b92506134ad565b88518314806135365750806001600160a01b031689848151811061352257613522613ab1565b60200260200101516001600160a01b031614155b156135575760405163665c282b60e01b815260048101839052602401610777565b61356087614359565b965087838151811061357457613574613ab1565b6020026020010151866135879190613ca4565b955093508361359583614359565b92505060010161344c565b5050505094509492505050565b5f806135b98684613e0d565b90506135c684605a613c6e565b6135d1866064613c6e565b106135e0576001915050613609565b6002811115801561360557506135f7846050613c6e565b613602866064613c6e565b10155b9150505b949350505050565b5f7f1cd7f89e34f6154d6f8387a08ffafc689e347b8d5809913b07c58a42995dff664630613640878787613695565b6040805160208101959095528401929092526001600160a01b03166060830152608082015260a001611f37565b5f805f8061367b86866136cb565b92509250925061368b8282612e50565b5090949350505050565b604080516001600160801b0380861660208301528416918101919091526001600160a01b03821660608201525f90608001611f37565b5f805f8351604103613702576020840151604085015160608601515f1a6136f48882858561323c565b95509550955050505061370d565b505081515f91506002905b9250925092565b5f60408284031215613724575f80fd5b50919050565b80356001600160801b0381168114613740575f80fd5b919050565b5f8060408385031215613756575f80fd5b82356001600160401b0381111561376b575f80fd5b61377785828601613714565b9250506137866020840161372a565b90509250929050565b5f6101208284031215613724575f80fd5b5f8061014083850312156137b2575f80fd5b6137bc848461378f565b91506101208301356001600160401b038111156137d7575f80fd5b8301602081860312156137e8575f80fd5b809150509250929050565b80356001600160a01b0381168114613740575f80fd5b5f805f805f805f60e0888a03121561381f575f80fd5b613828886137f3565b96506138366020890161372a565b95506040880135945060608801359350608088013560ff81168114613859575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f60208284031215613886575f80fd5b611f508261372a565b5f61012082840312156138a0575f80fd5b611f50838361378f565b5f80604083850312156138bb575f80fd5b82356001600160401b03808211156138d1575f80fd5b6138dd86838701613714565b935060208501359150808211156138f2575f80fd5b506138ff85828601613714565b9150509250929050565b5f60208284031215613919575f80fd5b5035919050565b5f60208284031215613930575f80fd5b611f50826137f3565b5f805f805f8060c0878903121561394e575f80fd5b613957876137f3565b9550613965602088016137f3565b945060408701359350606087013592506080870135915061398860a0880161372a565b90509295509295509295565b5f602082840312156139a4575f80fd5b81356001600160401b0381168114611f50575f80fd5b5f805f80606085870312156139cd575f80fd5b84356001600160401b03808211156139e3575f80fd5b6139ef88838901613714565b95506020870135915080821115613a04575f80fd5b818701915087601f830112613a17575f80fd5b813581811115613a25575f80fd5b8860208260051b8501011115613a39575f80fd5b95986020929092019750949560400135945092505050565b5f808335601e19843603018112613a66575f80fd5b8301803591506001600160401b03821115613a7f575f80fd5b6020019150600581901b3603821315613a96575f80fd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112613ad9575f80fd5b9190910192915050565b5f808335601e19843603018112613af8575f80fd5b8301803591506001600160401b03821115613b11575f80fd5b602001915036819003821315613a96575f80fd5b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03828116828216039080821115613b5957613b59613b25565b5092915050565b6001600160801b03818116838216019080821115613b5957613b59613b25565b600181815b80851115613bba57815f1904821115613ba057613ba0613b25565b80851615613bad57918102915b93841c9390800290613b85565b509250929050565b5f82613bd057506001611060565b81613bdc57505f611060565b8160018114613bf25760028114613bfc57613c18565b6001915050611060565b60ff841115613c0d57613c0d613b25565b50506001821b611060565b5060208310610133831016604e8410600b8410161715613c3b575081810a611060565b613c458383613b80565b805f1904821115613c5857613c58613b25565b029392505050565b5f611f5060ff841683613bc2565b808202811582820484141761106057611060613b25565b5f82613c9f57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561106057611060613b25565b6001600160401b038082511683528060208301511660208401525060408101516001600160801b03808216604085015280606084015116606085015250505050565b5f610100808301888452602060018060a01b03808a16602087015260406001600160801b03808b16604089015260608660608a01528596508a518087526101208a01975060208c0196505f5b81811015613d78578751805187168a52878101518516888b01528501518416858a01529782019796860196600101613d45565b5050505050505050809150506131bf6080830184613cb7565b6001600160801b03841681526020810183905260c081016136096040830184613cb7565b5f60208284031215613dc5575f80fd5b5051919050565b60ff828116828216039081111561106057611060613b25565b82815260a08101611f506020830184613cb7565b634e487b7160e01b5f52602160045260245ffd5b8181038181111561106057611060613b25565b5f8235607e19833603018112613ad9575f80fd5b5f60208284031215613e44575f80fd5b813560038110611f50575f80fd5b6001600160401b03818116838216019080821115613b5957613b59613b25565b5f81613e8057613e80613b25565b505f190190565b5f63ffffffff808316818103613e9f57613e9f613b25565b6001019392505050565b63ffffffff818116838216019080821115613b5957613b59613b25565b604080519081016001600160401b0381118282101715613ee857613ee8613a9d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613f1657613f16613a9d565b604052919050565b5f60208284031215613f2e575f80fd5b604051602081018181106001600160401b0382111715613f5057613f50613a9d565b604052613f5c836137f3565b81529392505050565b6001600160801b038581168252841660208201526040810183905260e08101613f916060830184613cb7565b95945050505050565b5f6001600160401b03821115613fb257613fb2613a9d565b5060051b60200190565b5f82601f830112613fcb575f80fd5b81356020613fe0613fdb83613f9a565b613eee565b8083825260208201915060208460051b870101935086841115614001575f80fd5b602086015b8481101561401d5780358352918301918301614006565b509695505050505050565b5f6020808385031215614039575f80fd5b82356001600160401b038082111561404f575f80fd5b9084019060408287031215614062575f80fd5b61406a613ec6565b823582811115614078575f80fd5b830160408189031215614089575f80fd5b614091613ec6565b81358481111561409f575f80fd5b8201601f81018a136140af575f80fd5b80356140bd613fdb82613f9a565b81815260059190911b8201880190888101908c8311156140db575f80fd5b928901925b82841015614100576140f1846137f3565b825292890192908901906140e0565b84525050508186013584811115614115575f80fd5b6141218a828501613fbc565b828801525082525061413483850161372a565b848201528094505050505092915050565b5f614152613fdb84613f9a565b80848252602080830192508560051b85013681111561416f575f80fd5b855b818110156141f85780356001600160401b038082111561418f575f80fd5b90880190601f36818401126141a2575f80fd5b8235828111156141b4576141b4613a9d565b6141c5818301601f19168801613eee565b925080835236878286010111156141da575f80fd5b80878501888501375f90830187015250865250938201938201614171565b50919695505050505050565b8381526020810183905260c081016136096040830184613cb7565b5f6060828403121561422f575f80fd5b604051606081018181106001600160401b038211171561425157614251613a9d565b60405261425d8361372a565b815261426b6020840161372a565b602082015261427c604084016137f3565b60408201529392505050565b6001600160801b0387811682528616602082015263ffffffff85811660408301528416606082015260808101839052610120810161323160a0830184613cb7565b606080825284519082018190525f906020906080840190828801845b8281101561430a5781516001600160a01b0316845292840192908401906001016142e5565b505050838103828501528551808252868301918301905f5b8181101561433e57835183529284019291840191600101614322565b50506001600160801b03861660408601529250613609915050565b5f6001820161436a5761436a613b25565b506001019056fecd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a26469706673582212203a214c965eb3956ff07c645a3f97f11e09a50d6ac5d1cd5276785c6492dc75a964736f6c63430008180033",
|
|
4443
|
+
bytecode: "0x60c060405234801561000f575f5ffd5b506040516145e63803806145e683398101604081905261002e9161011d565b6001600160a01b03808316608052811660a052610049610050565b505061014e565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100a05760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100ff5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b80516001600160a01b0381168114610118575f5ffd5b919050565b5f5f6040838503121561012e575f5ffd5b61013783610102565b915061014560208401610102565b90509250929050565b60805160a0516144386101ae5f395f81816102df0152818161127f0152818161134101528181611ccc0152611d5e01525f818161042901528181610b8d01528181610fda0152818161123c01528181611c9b0152611d2101526144385ff3fe608060405234801561000f575f5ffd5b50600436106101f2575f3560e01c80636e2c7769116101145780638da5cb5b116100a9578063c017c90211610079578063c017c902146104d2578063d68d6311146104e5578063e52580a6146104f8578063ecec10a414610560578063f2fde38b14610573575f5ffd5b80638da5cb5b14610466578063905d031f1461046e578063a3eb8961146104c1578063beabb591146104ca575f5ffd5b80637c9afa67116100e45780637c9afa671461040257806383a4d591146104245780638456cb591461044b5780638a0dac4a14610453575f5ffd5b80636e2c7769146103cc5780636e888c46146103df578063715018a6146103f257806378d350e0146103fa575f5ffd5b80632ef29f3b1161018a578063452a93201161015a578063452a93201461038157806359b23872146103935780635b7f415c1461039b5780635c975abb146103b5575f5ffd5b80632ef29f3b1461032157806331677980146103425780633f4ba83a14610366578063422ad8f61461036e575f5ffd5b80631a5d93fd116101c55780631a5d93fd146102615780631c1eeae1146102a95780631e07f89e146102da5780632ceeddf514610319575f5ffd5b8063014c72f6146101f657806309af0e3c1461020b578063138f87811461023b57806318a8f1f01461024e575b5f5ffd5b610209610204366004613784565b610586565b005b60085461021e906001600160801b031681565b6040516001600160801b0390911681526020015b60405180910390f35b6102096102493660046137df565b6106bd565b61020961025c366004613848565b610e4f565b600454600554600654600754610280939291906001600160801b031684565b604080519485526020850193909352918301526001600160801b03166060820152608001610232565b5f546102c290600160a01b90046001600160401b031681565b6040516001600160401b039091168152602001610232565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610232565b61021e610fd4565b61033461032f3660046138b5565b611062565b604051908152602001610232565b60035461035690600160401b900460ff1681565b6040519015158152602001610232565b610209611093565b61020961037c3660046138ce565b6110a5565b5f54610301906001600160a01b031681565b6103346111e1565b6103a3601281565b60405160ff9091168152602001610232565b5f5160206143e35f395f51905f525460ff16610356565b6001546102c2906001600160401b031681565b6102096103ed3660046138e9565b6111fb565b61020961132a565b61021e61133b565b61035661041036600461394c565b600a6020525f908152604090205460ff1681565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b61020961139b565b610209610461366004613963565b6113f6565b610301611474565b6104a161047c366004613963565b60096020525f90815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610232565b61033460025481565b6103a3600681565b6102096104e036600461397c565b6114a2565b6003546102c2906001600160401b031681565b6105366105063660046139d7565b600b6020525f90815260409020546001600160401b0380821691600160401b8104821691600160801b9091041683565b604080516001600160401b0394851681529284166020840152921691810191909152606001610232565b61020961056e3660046139fd565b6116bc565b610209610581366004613963565b6119ef565b61058e611a2c565b806001600160801b03165f036105b757604051632440a7dd60e01b815260040160405180910390fd5b5f808061063d6105c78680613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250610605925050506020880188613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611a5e915050565b6040805160808101825260045481526005546020820152600654918101919091526007546001600160801b03166060820152929550909350915061068384848488611b7c565b8381604001517f33e53e90d61fdc868629a6234670f92c4445196f3f98ebd71935bbc76c7d915360405160405180910390a3505050505050565b6106c5611bcd565b6106ce82611bfd565b6106e66106e160e0840160c08501613963565b611c67565b6106f7610100830160e084016138b5565b6001600160801b03165f0361071f57604051631f2a200560e01b815260040160405180910390fd5b61072f60c0830160a084016139d7565b6001600160401b0316431115610780574361075060c0840160a085016139d7565b604051635728c7dd60e11b815260048101929092526001600160401b031660248201526044015b60405180910390fd5b5f61078a83611dbc565b905061079581611ec5565b6107a560808401606085016138b5565b6001600160801b03165f036107cd57604051632440a7dd60e01b815260040160405180910390fd5b6008546001600160801b0316806107ea60808601606087016138b5565b6001600160801b03161115610836578061080a60808601606087016138b5565b6040516343082d3360e01b81526001600160801b03928316600482015291166024820152604401610777565b5f8080806108448780613a9c565b90506001600160401b0381111561085d5761085d613ae8565b6040519080825280602002602001820160405280156108a657816020015b604080516060810182525f80825260208083018290529282015282525f1990920191018161087b5790505b5090505f5b6108b58880613a9c565b9050811015610b8257366108c98980613a9c565b838181106108d9576108d9613afc565b90506020028101906108eb9190613b10565b90505f61095e61094c61091a8d61090560208701876138b5565b61091560408801602089016138b5565b611ef7565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b6109596040850185613b2e565b611f84565b9050846001600160a01b0316816001600160a01b031611610992576040516309cf9e4960e11b815260040160405180910390fd5b6001600160a01b0381165f908152600960209081526040909120906109b9908401846138b5565b81546001600160801b03918216911610806109f957506109df60408401602085016138b5565b81546001600160801b03918216600160801b909104909116105b15610a22576040516364fc3cd160e11b81526001600160a01b0383166004820152602401610777565b610a2f60208401846138b5565b815482905f90610a499084906001600160801b0316613b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550826020016020810190610a8091906138b5565b81548290601090610aa2908490600160801b90046001600160801b0316613b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550825f016020810190610ad891906138b5565b610ae29089613ba3565b9750610af460408401602085016138b5565b610afe9088613ba3565b96506040518060600160405280836001600160a01b03168152602001845f016020810190610b2c91906138b5565b6001600160801b03168152602001846020016020810190610b4d91906138b5565b6001600160801b0316815250858581518110610b6b57610b6b613afc565b6020908102919091010152509350506001016108ab565b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610bbd60e08a0160c08b01613963565b6001600160a01b031603610c8b575f610bd86006600a613ca5565b610be860808b0160608c016138b5565b6001600160801b0316856001600160801b0316610c059190613cb3565b610c0f9190613cca565b90505f610c25826001600160801b038816613ce9565b9050610c386101008b0160e08c016138b5565b6001600160801b0316811015610c845780610c5a6101008c0160e08d016138b5565b60405162f9825560e61b815260048101929092526001600160801b03166024820152604401610777565b5050610d1a565b6001600160801b03841615610cb357604051630994a0f360e11b815260040160405180910390fd5b610cc4610100890160e08a016138b5565b6001600160801b0316836001600160801b03161015610d1a5782610cef6101008a0160e08b016138b5565b60405162f9825560e61b81526001600160801b03928316600482015291166024820152604401610777565b610d38865f908152600a60205260409020805460ff19166001179055565b610d4860e0890160c08a01613963565b6001600160a01b03166340c10f19610d6660a08b0160808c01613963565b610d7a61032f6101008d0160e08e016138b5565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b158015610dbd575f5ffd5b505af1158015610dcf573d5f5f3e3d5ffd5b505050505f610ddc611fae565b90507f64d79900ed82270f744ae62db527f4e328e336d8b51e77bc72601391fe779d0687610e1060e08c0160c08d01613963565b610e216101008d0160e08e016138b5565b85610e2b86611ffe565b604051610e3c959493929190613d46565b60405180910390a1505050505050505050565b610e57611bcd565b610e6087611c67565b856001600160801b03165f03610e8957604051631f2a200560e01b815260040160405180910390fd5b5f610e9387611062565b60405163d505accf60e01b8152336004820152306024820152604481018290526064810187905260ff8616608482015260a4810185905260c481018490529091506001600160a01b0389169063d505accf9060e4015f604051808303815f87803b158015610eff575f5ffd5b505af1158015610f11573d5f5f3e3d5ffd5b505060405163079cc67960e41b8152336004820152602481018490526001600160a01b038b1692506379cc679091506044015f604051808303815f87803b158015610f5a575f5ffd5b505af1158015610f6c573d5f5f3e3d5ffd5b505050505f610f79611fae565b90506001600160a01b038916337f3ab970a848f33363427e47cfbd7a627af0c6e72757f150137e38cef3cee24d938a8a610fb286611ffe565b604051610fc193929190613dea565b60405180910390a3505050505050505050565b5f61105d7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611034573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110589190613e0e565b612073565b905090565b5f61106f60066012613e25565b61107a90600a613ca5565b61108d906001600160801b038416613cb3565b92915050565b61109b611a2c565b6110a36120c3565b565b6110ad611bcd565b6110b681611bfd565b6110c96106e160e0830160c08401613963565b6110da610100820160e083016138b5565b6001600160801b03165f0361110257604051631f2a200560e01b815260040160405180910390fd5b61111260c0820160a083016139d7565b6001600160401b0316431161115d574361113260c0830160a084016139d7565b6040516374276dcf60e11b815260048101929092526001600160401b03166024820152604401610777565b5f61116782611dbc565b905061117281611ec5565b611190815f908152600a60205260409020805460ff19166001179055565b5f611199611fae565b90507f3cb8789e9bf6f532eec2bc8ffee9b622fc0d6e6daefb7fb6bb2e2f7b2d62e452826111c683611ffe565b6040516111d4929190613e3e565b60405180910390a1505050565b6111ed60066012613e25565b6111f890600a613ca5565b81565b611203611a2c565b61120b611bcd565b600354600160401b900460ff161561123657604051633dbff3b560e01b815260040160405180910390fd5b5f6112777f00000000000000000000000000000000000000000000000000000000000000006112658580613a9c565b6112726020880188613a9c565b612122565b90505f6112a87f00000000000000000000000000000000000000000000000000000000000000006112658580613a9c565b6003805460ff60401b1916600160401b17905590507fc255ddc45163282f24909556f7475ab4ec8eb1d51763b25a4560cee9f43d06456112e88580613a9c565b9050836112f58680613a9c565b60405161131c94939250869093845260208401929092526040830152606082015260800190565b60405180910390a150505050565b611332611a2c565b6110a35f612261565b5f61105d7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611034573d5f5f3e3d5ffd5b5f546001600160a01b031633148015906113ce57506113b8611474565b6001600160a01b0316336001600160a01b031614155b156113ee5760405163354de03160e21b8152336004820152602401610777565b6110a36122d1565b6113fe611a2c565b6001600160a01b0381166114255760405163a91f6a8960e01b815260040160405180910390fd5b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f064d28d3d3071c5cbc271a261c10c2f0f0d9e319390397101aa0eb23c6bad9099190a35050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b5f6114ab612319565b805490915060ff600160401b82041615906001600160401b03165f811580156114d15750825b90505f826001600160401b031660011480156114ec5750303b155b9050811580156114fa575080155b156115185760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561154257845460ff60401b1916600160401b1785555b6001600160a01b038b16611569576040516314030c0360e11b815260040160405180910390fd5b6001600160a01b038a166115905760405163a91f6a8960e01b815260040160405180910390fd5b88158061159b575087155b806115a4575086155b156115c45760405163665c282b60e01b81525f6004820152602401610777565b856001600160801b03165f036115ed57604051632440a7dd60e01b815260040160405180910390fd5b6115f68b612341565b6115fe612352565b5f80546001600160a01b0319166001600160a01b038c1617905561162489888a89611b7c565b600880546001600160801b0319166001600160801b03881617905560405189907fac3566d46c25f65b48d269870da4b9349704c79de13ad49b115532834d7e7ed1905f90a283156116af57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b6116c4611bcd565b81158015906117225750600283836116dd600182613e66565b8181106116ec576116ec613afc565b90506020028101906116fe9190613e79565b61170f906040810190602001613e8d565b600281111561172057611720613e52565b145b156117405760405163bf3d210b60e01b815260040160405180910390fd5b60065461176057604051632c1dfd4f60e11b815260040160405180910390fd5b5f61176a8561235a565b6002549091505f846001600160401b0381111561178957611789613ae8565b6040519080825280602002602001820160405280156117b2578160200160208202803683370190505b5090505f856001600160401b038111156117ce576117ce613ae8565b6040519080825280602002602001820160405280156117f7578160200160208202803683370190505b5090505f6118078888858561251c565b90505f5b878110156119e3573689898381811061182657611826613afc565b90506020028101906118389190613e79565b600180549192505f91611856916001600160401b0390911690613eab565b90506001600160401b03811661186f60208401846139d7565b6001600160401b0316146118b7578061188b60208401846139d7565b604051635efa452960e11b81526001600160401b03928316600482015291166024820152604401610777565b60026118c96040840160208501613e8d565b60028111156118da576118da613e52565b036118f1576118ea82888b612783565b96506119d9565b5f6119026040840160208501613e8d565b600281111561191357611913613e52565b0361192e576119248289898c612993565b90985096506119d9565b60016119406040840160208501613e8d565b600281111561195157611951613e52565b03611999576118ea8289898787148a888151811061197157611971613afc565b60200260200101518a898151811061198b5761198b613afc565b60200260200101518f612b7d565b6119a96040830160208401613e8d565b60028111156119ba576119ba613e52565b60405163b99607f960e01b815260ff9091166004820152602401610777565b505060010161180b565b50505050505050505050565b6119f7611a2c565b6001600160a01b038116611a2057604051631e4fbdf760e01b81525f6004820152602401610777565b611a2981612261565b50565b33611a35611474565b6001600160a01b0316146110a35760405163118cdaa760e01b8152336004820152602401610777565b5f5f5f85515f03611a845760405163665c282b60e01b81525f6004820152602401610777565b8451865114611aa65760405163512509d360e11b815260040160405180910390fd5b5f805b8751811015611b60575f888281518110611ac557611ac5613afc565b602002602001015190505f888381518110611ae257611ae2613afc565b602002602001015190505f6001600160a01b0316826001600160a01b03161480611b0a575080155b80611b275750836001600160a01b0316826001600160a01b031611155b15611b485760405163665c282b60e01b815260048101849052602401610777565b611b528187613ce9565b955090925050600101611aa9565b5086519150611b70878787612e0f565b93505093509350939050565b60408051608081018252848152602081018490529081018590526001600160801b039091166060909101819052600492909255600555600691909155600780546001600160801b0319169091179055565b5f5160206143e35f395f51905f525460ff16156110a35760405163d93c066560e01b815260040160405180910390fd5b466001600160401b038116611c1860608401604085016139d7565b6001600160401b031614611c635780611c3760608401604085016139d7565b6040516332e3634d60e21b81526001600160401b03928316600482015291166024820152604401610777565b5050565b6001600160a01b038116611c9957604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580611cf657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316155b15611d1f57604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015611d9357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b15611a2957604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b5f8135611dcf60408401602085016139d7565b611ddf60608501604086016139d7565b611def60808601606087016138b5565b611dff60a0870160808801613963565b611e0f60c0880160a089016139d7565b611e1f60e0890160c08a01613963565b611e306101008a0160e08b016138b5565b611e426101208b016101008c016138b5565b60408051602081019a909a526001600160401b03988916908a015295871660608901526001600160801b0394851660808901526001600160a01b0393841660a08901529590911660c08701521660e08501529182166101008401521661012082015261014001604051602081830303815290604052805190602001209050919050565b5f818152600a602052604090205460ff1615611a2957604051632910aca360e01b815260048101829052602401610777565b5f7f28bf99522b0d2f26a76cdeda71578156383bbae91175ca503165cfdbbd1ff34a4630611f2487611dbc565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b0380851660a0830152831660c082015260e0015b6040516020818303038152906040528051906020012090505b9392505050565b5f5f5f5f611f93878787612e25565b925092509250611fa38282612e6c565b509095945050505050565b5f8054611fcc90600160a01b90046001600160401b03166001613eab565b5f805467ffffffffffffffff60a01b1916600160a01b6001600160401b038416021790559050611ffb81612f24565b90565b604080516080810182525f808252602082018190529181018290526060810191909152604080516080810182526001600160401b03808516825260015416602082015290810161204c610fd4565b6001600160801b0316815260200161206261133b565b6001600160801b0316905292915050565b5f8061208160066012613e25565b61208c90600a613ca5565b6120969084613cca565b90506001600160801b0381111561108d57604051639940a77560e01b815260048101829052602401610777565b6120cb6130ed565b5f5160206143e35f395f51905f52805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b5f8382146121435760405163512509d360e11b815260040160405180910390fd5b5f5b84811015612257575f86868381811061216057612160613afc565b90506020020160208101906121759190613963565b90505f85858481811061218a5761218a613afc565b60200291909101359150506001600160a01b0382166121bf57604051633bca2f5160e21b815260048101849052602401610777565b805f036121df57604051631f2a200560e01b815260040160405180910390fd5b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390528a16906340c10f19906044015f604051808303815f87803b158015612226575f5ffd5b505af1158015612238573d5f5f3e3d5ffd5b5050505080846122489190613ce9565b93505050806001019050612145565b5095945050505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6122d9611bcd565b5f5160206143e35f395f51905f52805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612104565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061108d565b61234961311c565b611a2981613141565b6110a361311c565b6123896040518060a0016040528060608152602001606081526020015f81526020015f81526020015f81525090565b5f808061241a6123998680613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506123d7925050506020880188613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250506007546001600160801b03169150611a5e9050565b9250925092506004600201548314158061243657506004548214155b8061244357506005548114155b1561246f57600654604051633b21437560e21b8152600481019190915260248101849052604401610777565b6040805160a08101909152806124858780613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020908101906124ca90880188613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020810194909452604084019290925260609092019190915292915050565b825f816001600160401b0381111561253657612536613ae8565b60405190808252806020026020018201604052801561255f578160200160208202803683370190505b5090505f80865b80156125d15761257581613eca565b9050600289898381811061258b5761258b613afc565b905060200281019061259d9190613e79565b6125ae906040810190602001613e8d565b60028111156125bf576125bf613e52565b146125cc578094506125d1565b612566565b505f5b87811015612777575f8989838181106125ef576125ef613afc565b90506020028101906126019190613e79565b612612906040810190602001613e8d565b9050600181600281111561262857612628613e52565b036126675781858563ffffffff168151811061264657612646613afc565b63ffffffff9092166020928302919091019091015261266484613edf565b93505b5f81600281111561267a5761267a613e52565b148061268557508582145b1561276e5789898381811061269c5761269c613afc565b90506020028101906126ae9190613e79565b6126bc906060810190613a9c565b6126c7915084613f03565b925063ffffffff84161561276e575f5b8463ffffffff16811015612766575f8682815181106126f8576126f8613afc565b602002602001015163ffffffff169050858a828151811061271b5761271b613afc565b602002602001019063ffffffff16908163ffffffff16815250508489828151811061274857612748613afc565b63ffffffff90921660209283029190910190910152506001016126d7565b505f93505f92505b506001016125d4565b50505050949350505050565b5f806127926040860186613b2e565b81019061279f9190613f77565b90506127ae6060860186613a9c565b90506001146127e95760016127c66060870187613a9c565b604051636b01174760e11b81526004810193909352602483015250604401610777565b6128016127f960208701876139d7565b825186613149565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c829052603c812091935090612866906128446060890189613a9c565b5f81811061285457612854613afc565b90506020028101906109599190613b2e565b9050815f01516001600160a01b0316816001600160a01b0316146128b3578151604051630be4b0e160e01b81526001600160a01b0391821660048201529082166024820152604401610777565b81516001600160a01b039081165f9081526009602090815260408083208054875190951684529083209290925590916001600160801b0380821692600160801b9092041690612904908a018a6139d7565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028690555f612933611fae565b86519091506001600160a01b03167ff92f117a698345a1b681cf04280fb5da65a05a9ac88aaacad3e9ee273ce570fd84848b61296e86611ffe565b60405161297e9493929190613fc0565b60405180910390a25050505050509392505050565b6129c26040518060a0016040528060608152602001606081526020015f81526020015f81526020015f81525090565b5f806129d16040880188613b2e565b8101906129de9190614077565b905080602001516001600160801b03165f03612a0d57604051632440a7dd60e01b815260040160405180910390fd5b5f5f5f612a2c845f01515f0151855f0151602001518660200151611a5e565b91945092509050612a5f612a4360208c018c6139d7565b60408b015186518051602091820151918901519091908d6131b0565b9450612a9185612a7260608d018d613a9c565b612a7b916141ad565b8b5160208d015160608e015160808f01516131e5565b612aa18383838760200151611b7c565b602084810151600880546001600160801b0319166001600160801b03909216919091179055612ad2908b018b6139d7565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028590555f612b01611fae565b90507fb3dbfeab9c5013403dc2f2300318b92643b1cb9323077d549b4f93bbddded9638489612b2f84611ffe565b604051612b3e9392919061426d565b60405180910390a1506040805160a081018252855151815294516020908101519086015284019290925260608301526080820152915094509492505050565b5f80612b8c60408a018a613b2e565b810190612b999190614288565b60408101519091506001600160a01b0316612bc75760405163611b32ab60e01b815260040160405180910390fd5b80516001600160801b0316158015612bea575060208101516001600160801b0316155b15612c19576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b63ffffffff85161580612c30575063ffffffff8416155b15612c5f576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b6040808201516001600160a01b03165f90815260096020522080546001600160801b0316151580612ca057508054600160801b90046001600160801b031615155b15612ccf57604080830151905163cb96603760e01b81526001600160a01b039091166004820152602401610777565b612cf8612cdf60208c018c6139d7565b8a60400151845f0151856020015186604001518d61322a565b92508615612d1157612d1183612a7260608d018d613a9c565b60408051808201825283516001600160801b0390811682526020808601518216818401908152868501516001600160a01b03165f9081526009835294909420925193518216600160801b0293909116929092179055612d72908b018b6139d7565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028390555f612da1611fae565b905082604001516001600160a01b03167fc0f81072946eba75f62302dad0fe56dd420d0b9d311e15b61bbe6e056c29908d845f015185602001518a8a8a612de788611ffe565b604051612df9969594939291906142f3565b60405180910390a2505050979650505050505050565b5f838383604051602001611f6493929190614334565b5f80806041849003612e59578435602086013560408701355f1a612e4b89828585613258565b955095509550505050612e63565b505f915060029050825b93509350939050565b5f826003811115612e7f57612e7f613e52565b03612e88575050565b6001826003811115612e9c57612e9c613e52565b03612eba5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612ece57612ece613e52565b03612eef5760405163fce698f760e01b815260048101829052602401610777565b6003826003811115612f0357612f03613e52565b03611c63576040516335e2f38360e21b815260048101829052602401610777565b60035443906001600160401b03165f03612fe6576003805467ffffffffffffffff19166001908117909155604080516060810182526001600160401b03938416815293831660208086018281529286019182525f93909352600b90925292517f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf8054945192518416600160801b0267ffffffffffffffff60801b19938516600160401b026001600160801b031990961692909416919091179390931716179055565b6003546001600160401b039081165f908152600b602052604090208054909183811691160361303c5780546001600160401b03909316600160801b0267ffffffffffffffff60801b199093169290921790915550565b6003545f90613055906001600160401b03166001613eab565b600380546001600160401b0392831667ffffffffffffffff19909116811790915560408051606081018252958316865295821660208087018281528789019283525f938452600b9091529690912094518554965191518316600160801b0267ffffffffffffffff60801b19928416600160401b026001600160801b031990981691909316179590951794909416939093179091555050565b5f5160206143e35f395f51905f525460ff166110a357604051638dfc202b60e01b815260040160405180910390fd5b613124613320565b6110a357604051631afcd79f60e31b815260040160405180910390fd5b6119f761311c565b604080517fad7e1df8fff16b907a93b4116c7590060dfa3b9c396a8b815e8290b0dff45cba602082015246918101919091523060608201526001600160401b03841660808201526001600160a01b03831660a082015260c081018290525f9060e001611f64565b5f5f6131bd868686612e0f565b90506131d788885f846131d18b8b8b613339565b886133a4565b9150505b9695505050505050565b5f5f6131f388888888613456565b91509150613203828286866135ec565b6132205760405163079842ab60e41b815260040160405180910390fd5b5050505050505050565b5f61324d878760016001600160a01b0387166132478a8a8a613650565b876133a4565b979650505050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561329157505f91506003905082613316565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156132e2573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661330d57505f925060019150829050613316565b92505f91508190505b9450945094915050565b5f613329612319565b54600160401b900460ff16919050565b5f7f82ce6440aa5dde11f3613892819b630b62342bacf93e16a292d5c8783aafa4c34630613368878787612e0f565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b03831660a082015260c001611f64565b5f7f41936771719a172aa959076ca6aafb826eaf332dd0c9e7860901c398ef42da05463089898960028111156133dc576133dc613e52565b6040805160208101979097528601949094526001600160a01b0390921660608501526001600160401b0316608084015260a083015260ff1660c082015260e0810185905261010081018490526101208101839052610140016040516020818303038152906040528051906020012090509695505050505050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c859052603c8120819081905f805b88518110156135df575f6134b8848b84815181106134ab576134ab613afc565b60200260200101516136ac565b9050846001600160a01b0316816001600160a01b0316116134ec576040516309cf9e4960e11b815260040160405180910390fd5b8851831080156135265750806001600160a01b031689848151811061351357613513613afc565b60200260200101516001600160a01b0316105b1561353b57613534836143ca565b92506134ec565b88518314806135755750806001600160a01b031689848151811061356157613561613afc565b60200260200101516001600160a01b031614155b156135965760405163665c282b60e01b815260048101839052602401610777565b61359f876143ca565b96508783815181106135b3576135b3613afc565b6020026020010151866135c69190613ce9565b95509350836135d4836143ca565b92505060010161348b565b5050505094509492505050565b5f806135f88684613e66565b905061360584605a613cb3565b613610866064613cb3565b1061361f576001915050613648565b600281111580156136445750613636846050613cb3565b613641866064613cb3565b10155b9150505b949350505050565b5f7f1cd7f89e34f6154d6f8387a08ffafc689e347b8d5809913b07c58a42995dff66463061367f8787876136d4565b6040805160208101959095528401929092526001600160a01b03166060830152608082015260a001611f64565b5f5f5f5f6136ba868661370a565b9250925092506136ca8282612e6c565b5090949350505050565b604080516001600160801b0380861660208301528416918101919091526001600160a01b03821660608201525f90608001611f64565b5f5f5f8351604103613741576020840151604085015160608601515f1a61373388828585613258565b95509550955050505061374c565b505081515f91506002905b9250925092565b5f60408284031215613763575f5ffd5b50919050565b80356001600160801b038116811461377f575f5ffd5b919050565b5f5f60408385031215613795575f5ffd5b82356001600160401b038111156137aa575f5ffd5b6137b685828601613753565b9250506137c560208401613769565b90509250929050565b5f6101208284031215613763575f5ffd5b5f5f61014083850312156137f1575f5ffd5b6137fb84846137ce565b91506101208301356001600160401b03811115613816575f5ffd5b830160208186031215613827575f5ffd5b809150509250929050565b80356001600160a01b038116811461377f575f5ffd5b5f5f5f5f5f5f5f60e0888a03121561385e575f5ffd5b61386788613832565b965061387560208901613769565b95506040880135945060608801359350608088013560ff81168114613898575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f602082840312156138c5575f5ffd5b611f7d82613769565b5f61012082840312156138df575f5ffd5b611f7d83836137ce565b5f5f604083850312156138fa575f5ffd5b82356001600160401b0381111561390f575f5ffd5b61391b85828601613753565b92505060208301356001600160401b03811115613936575f5ffd5b61394285828601613753565b9150509250929050565b5f6020828403121561395c575f5ffd5b5035919050565b5f60208284031215613973575f5ffd5b611f7d82613832565b5f5f5f5f5f5f60c08789031215613991575f5ffd5b61399a87613832565b95506139a860208801613832565b94506040870135935060608701359250608087013591506139cb60a08801613769565b90509295509295509295565b5f602082840312156139e7575f5ffd5b81356001600160401b0381168114611f7d575f5ffd5b5f5f5f5f60608587031215613a10575f5ffd5b84356001600160401b03811115613a25575f5ffd5b613a3187828801613753565b94505060208501356001600160401b03811115613a4c575f5ffd5b8501601f81018713613a5c575f5ffd5b80356001600160401b03811115613a71575f5ffd5b8760208260051b8401011115613a85575f5ffd5b949760209190910196509394604001359392505050565b5f5f8335601e19843603018112613ab1575f5ffd5b8301803591506001600160401b03821115613aca575f5ffd5b6020019150600581901b3603821315613ae1575f5ffd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112613b24575f5ffd5b9190910192915050565b5f5f8335601e19843603018112613b43575f5ffd5b8301803591506001600160401b03821115613b5c575f5ffd5b602001915036819003821315613ae1575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03828116828216039081111561108d5761108d613b70565b6001600160801b03818116838216019081111561108d5761108d613b70565b6001815b6001841115613bfd57808504811115613be157613be1613b70565b6001841615613bef57908102905b60019390931c928002613bc6565b935093915050565b5f82613c135750600161108d565b81613c1f57505f61108d565b8160018114613c355760028114613c3f57613c5b565b600191505061108d565b60ff841115613c5057613c50613b70565b50506001821b61108d565b5060208310610133831016604e8410600b8410161715613c7e575081810a61108d565b613c8a5f198484613bc2565b805f1904821115613c9d57613c9d613b70565b029392505050565b5f611f7d60ff841683613c05565b808202811582820484141761108d5761108d613b70565b5f82613ce457634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561108d5761108d613b70565b6001600160401b0381511682526001600160401b0360208201511660208301526001600160801b0360408201511660408301526001600160801b0360608201511660608301525050565b8581526001600160a01b0385166020808301919091526001600160801b03851660408301526101006060830181905284519083018190525f91850190610120840190835b81811015613dd657835180516001600160a01b031684526020808201516001600160801b0390811682870152604092830151169185019190915290930192606090920191600101613d8a565b505080925050506131db6080830184613cfc565b6001600160801b03841681526020810183905260c081016136486040830184613cfc565b5f60208284031215613e1e575f5ffd5b5051919050565b60ff828116828216039081111561108d5761108d613b70565b82815260a08101611f7d6020830184613cfc565b634e487b7160e01b5f52602160045260245ffd5b8181038181111561108d5761108d613b70565b5f8235607e19833603018112613b24575f5ffd5b5f60208284031215613e9d575f5ffd5b813560038110611f7d575f5ffd5b6001600160401b03818116838216019081111561108d5761108d613b70565b5f81613ed857613ed8613b70565b505f190190565b5f63ffffffff821663ffffffff8103613efa57613efa613b70565b60010192915050565b63ffffffff818116838216019081111561108d5761108d613b70565b604080519081016001600160401b0381118282101715613f4157613f41613ae8565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613f6f57613f6f613ae8565b604052919050565b5f6020828403128015613f88575f5ffd5b50604051602081016001600160401b0381118282101715613fab57613fab613ae8565b604052613fb783613832565b81529392505050565b6001600160801b038581168252841660208201526040810183905260e08101613fec6060830184613cfc565b95945050505050565b5f6001600160401b0382111561400d5761400d613ae8565b5060051b60200190565b5f82601f830112614026575f5ffd5b813561403961403482613ff5565b613f47565b8082825260208201915060208360051b86010192508583111561405a575f5ffd5b602085015b8381101561225757803583526020928301920161405f565b5f60208284031215614087575f5ffd5b81356001600160401b0381111561409c575f5ffd5b8201604081850312156140ad575f5ffd5b6140b5613f1f565b81356001600160401b038111156140ca575f5ffd5b8201604081870312156140db575f5ffd5b6140e3613f1f565b81356001600160401b038111156140f8575f5ffd5b8201601f81018813614108575f5ffd5b803561411661403482613ff5565b8082825260208201915060208360051b85010192508a831115614137575f5ffd5b6020840193505b828410156141605761414f84613832565b82526020938401939091019061413e565b845250505060208201356001600160401b0381111561417d575f5ffd5b61418988828501614017565b60208301525080835250506141a060208301613769565b6020820152949350505050565b5f6141ba61403484613ff5565b8381526020810190600585901b8401368111156141d5575f5ffd5b845b81811015611fa35780356001600160401b038111156141f4575f5ffd5b860136601f820112614204575f5ffd5b80356001600160401b0381111561421d5761421d613ae8565b614230601f8201601f1916602001613f47565b818152366020838501011115614244575f5ffd5b816020840160208301375f602083830101528087525050506020840193506020810190506141d7565b8381526020810183905260c081016136486040830184613cfc565b5f6060828403128015614299575f5ffd5b50604051606081016001600160401b03811182821017156142bc576142bc613ae8565b6040526142c883613769565b81526142d660208401613769565b60208201526142e760408401613832565b60408201529392505050565b6001600160801b0387811682528616602082015263ffffffff85811660408301528416606082015260808101839052610120810161324d60a0830184613cfc565b606080825284519082018190525f9060208601906080840190835b818110156143765783516001600160a01b031683526020938401939092019160010161434f565b5050838103602080860191909152865180835291810192508601905f5b818110156143b1578251845260209384019390920191600101614393565b5050506001600160801b03841660408401529050613648565b5f600182016143db576143db613b70565b506001019056fecd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a26469706673582212205d3edb77152b901db2178bdb16828658a8f4a05a588b95b09228c2251a735f8464736f6c63430008230033",
|
|
4444
|
+
deployedBytecode: "0x608060405234801561000f575f5ffd5b50600436106101f2575f3560e01c80636e2c7769116101145780638da5cb5b116100a9578063c017c90211610079578063c017c902146104d2578063d68d6311146104e5578063e52580a6146104f8578063ecec10a414610560578063f2fde38b14610573575f5ffd5b80638da5cb5b14610466578063905d031f1461046e578063a3eb8961146104c1578063beabb591146104ca575f5ffd5b80637c9afa67116100e45780637c9afa671461040257806383a4d591146104245780638456cb591461044b5780638a0dac4a14610453575f5ffd5b80636e2c7769146103cc5780636e888c46146103df578063715018a6146103f257806378d350e0146103fa575f5ffd5b80632ef29f3b1161018a578063452a93201161015a578063452a93201461038157806359b23872146103935780635b7f415c1461039b5780635c975abb146103b5575f5ffd5b80632ef29f3b1461032157806331677980146103425780633f4ba83a14610366578063422ad8f61461036e575f5ffd5b80631a5d93fd116101c55780631a5d93fd146102615780631c1eeae1146102a95780631e07f89e146102da5780632ceeddf514610319575f5ffd5b8063014c72f6146101f657806309af0e3c1461020b578063138f87811461023b57806318a8f1f01461024e575b5f5ffd5b610209610204366004613784565b610586565b005b60085461021e906001600160801b031681565b6040516001600160801b0390911681526020015b60405180910390f35b6102096102493660046137df565b6106bd565b61020961025c366004613848565b610e4f565b600454600554600654600754610280939291906001600160801b031684565b604080519485526020850193909352918301526001600160801b03166060820152608001610232565b5f546102c290600160a01b90046001600160401b031681565b6040516001600160401b039091168152602001610232565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610232565b61021e610fd4565b61033461032f3660046138b5565b611062565b604051908152602001610232565b60035461035690600160401b900460ff1681565b6040519015158152602001610232565b610209611093565b61020961037c3660046138ce565b6110a5565b5f54610301906001600160a01b031681565b6103346111e1565b6103a3601281565b60405160ff9091168152602001610232565b5f5160206143e35f395f51905f525460ff16610356565b6001546102c2906001600160401b031681565b6102096103ed3660046138e9565b6111fb565b61020961132a565b61021e61133b565b61035661041036600461394c565b600a6020525f908152604090205460ff1681565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b61020961139b565b610209610461366004613963565b6113f6565b610301611474565b6104a161047c366004613963565b60096020525f90815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610232565b61033460025481565b6103a3600681565b6102096104e036600461397c565b6114a2565b6003546102c2906001600160401b031681565b6105366105063660046139d7565b600b6020525f90815260409020546001600160401b0380821691600160401b8104821691600160801b9091041683565b604080516001600160401b0394851681529284166020840152921691810191909152606001610232565b61020961056e3660046139fd565b6116bc565b610209610581366004613963565b6119ef565b61058e611a2c565b806001600160801b03165f036105b757604051632440a7dd60e01b815260040160405180910390fd5b5f808061063d6105c78680613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250610605925050506020880188613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611a5e915050565b6040805160808101825260045481526005546020820152600654918101919091526007546001600160801b03166060820152929550909350915061068384848488611b7c565b8381604001517f33e53e90d61fdc868629a6234670f92c4445196f3f98ebd71935bbc76c7d915360405160405180910390a3505050505050565b6106c5611bcd565b6106ce82611bfd565b6106e66106e160e0840160c08501613963565b611c67565b6106f7610100830160e084016138b5565b6001600160801b03165f0361071f57604051631f2a200560e01b815260040160405180910390fd5b61072f60c0830160a084016139d7565b6001600160401b0316431115610780574361075060c0840160a085016139d7565b604051635728c7dd60e11b815260048101929092526001600160401b031660248201526044015b60405180910390fd5b5f61078a83611dbc565b905061079581611ec5565b6107a560808401606085016138b5565b6001600160801b03165f036107cd57604051632440a7dd60e01b815260040160405180910390fd5b6008546001600160801b0316806107ea60808601606087016138b5565b6001600160801b03161115610836578061080a60808601606087016138b5565b6040516343082d3360e01b81526001600160801b03928316600482015291166024820152604401610777565b5f8080806108448780613a9c565b90506001600160401b0381111561085d5761085d613ae8565b6040519080825280602002602001820160405280156108a657816020015b604080516060810182525f80825260208083018290529282015282525f1990920191018161087b5790505b5090505f5b6108b58880613a9c565b9050811015610b8257366108c98980613a9c565b838181106108d9576108d9613afc565b90506020028101906108eb9190613b10565b90505f61095e61094c61091a8d61090560208701876138b5565b61091560408801602089016138b5565b611ef7565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b6109596040850185613b2e565b611f84565b9050846001600160a01b0316816001600160a01b031611610992576040516309cf9e4960e11b815260040160405180910390fd5b6001600160a01b0381165f908152600960209081526040909120906109b9908401846138b5565b81546001600160801b03918216911610806109f957506109df60408401602085016138b5565b81546001600160801b03918216600160801b909104909116105b15610a22576040516364fc3cd160e11b81526001600160a01b0383166004820152602401610777565b610a2f60208401846138b5565b815482905f90610a499084906001600160801b0316613b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550826020016020810190610a8091906138b5565b81548290601090610aa2908490600160801b90046001600160801b0316613b84565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550825f016020810190610ad891906138b5565b610ae29089613ba3565b9750610af460408401602085016138b5565b610afe9088613ba3565b96506040518060600160405280836001600160a01b03168152602001845f016020810190610b2c91906138b5565b6001600160801b03168152602001846020016020810190610b4d91906138b5565b6001600160801b0316815250858581518110610b6b57610b6b613afc565b6020908102919091010152509350506001016108ab565b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610bbd60e08a0160c08b01613963565b6001600160a01b031603610c8b575f610bd86006600a613ca5565b610be860808b0160608c016138b5565b6001600160801b0316856001600160801b0316610c059190613cb3565b610c0f9190613cca565b90505f610c25826001600160801b038816613ce9565b9050610c386101008b0160e08c016138b5565b6001600160801b0316811015610c845780610c5a6101008c0160e08d016138b5565b60405162f9825560e61b815260048101929092526001600160801b03166024820152604401610777565b5050610d1a565b6001600160801b03841615610cb357604051630994a0f360e11b815260040160405180910390fd5b610cc4610100890160e08a016138b5565b6001600160801b0316836001600160801b03161015610d1a5782610cef6101008a0160e08b016138b5565b60405162f9825560e61b81526001600160801b03928316600482015291166024820152604401610777565b610d38865f908152600a60205260409020805460ff19166001179055565b610d4860e0890160c08a01613963565b6001600160a01b03166340c10f19610d6660a08b0160808c01613963565b610d7a61032f6101008d0160e08e016138b5565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b158015610dbd575f5ffd5b505af1158015610dcf573d5f5f3e3d5ffd5b505050505f610ddc611fae565b90507f64d79900ed82270f744ae62db527f4e328e336d8b51e77bc72601391fe779d0687610e1060e08c0160c08d01613963565b610e216101008d0160e08e016138b5565b85610e2b86611ffe565b604051610e3c959493929190613d46565b60405180910390a1505050505050505050565b610e57611bcd565b610e6087611c67565b856001600160801b03165f03610e8957604051631f2a200560e01b815260040160405180910390fd5b5f610e9387611062565b60405163d505accf60e01b8152336004820152306024820152604481018290526064810187905260ff8616608482015260a4810185905260c481018490529091506001600160a01b0389169063d505accf9060e4015f604051808303815f87803b158015610eff575f5ffd5b505af1158015610f11573d5f5f3e3d5ffd5b505060405163079cc67960e41b8152336004820152602481018490526001600160a01b038b1692506379cc679091506044015f604051808303815f87803b158015610f5a575f5ffd5b505af1158015610f6c573d5f5f3e3d5ffd5b505050505f610f79611fae565b90506001600160a01b038916337f3ab970a848f33363427e47cfbd7a627af0c6e72757f150137e38cef3cee24d938a8a610fb286611ffe565b604051610fc193929190613dea565b60405180910390a3505050505050505050565b5f61105d7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611034573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110589190613e0e565b612073565b905090565b5f61106f60066012613e25565b61107a90600a613ca5565b61108d906001600160801b038416613cb3565b92915050565b61109b611a2c565b6110a36120c3565b565b6110ad611bcd565b6110b681611bfd565b6110c96106e160e0830160c08401613963565b6110da610100820160e083016138b5565b6001600160801b03165f0361110257604051631f2a200560e01b815260040160405180910390fd5b61111260c0820160a083016139d7565b6001600160401b0316431161115d574361113260c0830160a084016139d7565b6040516374276dcf60e11b815260048101929092526001600160401b03166024820152604401610777565b5f61116782611dbc565b905061117281611ec5565b611190815f908152600a60205260409020805460ff19166001179055565b5f611199611fae565b90507f3cb8789e9bf6f532eec2bc8ffee9b622fc0d6e6daefb7fb6bb2e2f7b2d62e452826111c683611ffe565b6040516111d4929190613e3e565b60405180910390a1505050565b6111ed60066012613e25565b6111f890600a613ca5565b81565b611203611a2c565b61120b611bcd565b600354600160401b900460ff161561123657604051633dbff3b560e01b815260040160405180910390fd5b5f6112777f00000000000000000000000000000000000000000000000000000000000000006112658580613a9c565b6112726020880188613a9c565b612122565b90505f6112a87f00000000000000000000000000000000000000000000000000000000000000006112658580613a9c565b6003805460ff60401b1916600160401b17905590507fc255ddc45163282f24909556f7475ab4ec8eb1d51763b25a4560cee9f43d06456112e88580613a9c565b9050836112f58680613a9c565b60405161131c94939250869093845260208401929092526040830152606082015260800190565b60405180910390a150505050565b611332611a2c565b6110a35f612261565b5f61105d7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611034573d5f5f3e3d5ffd5b5f546001600160a01b031633148015906113ce57506113b8611474565b6001600160a01b0316336001600160a01b031614155b156113ee5760405163354de03160e21b8152336004820152602401610777565b6110a36122d1565b6113fe611a2c565b6001600160a01b0381166114255760405163a91f6a8960e01b815260040160405180910390fd5b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f064d28d3d3071c5cbc271a261c10c2f0f0d9e319390397101aa0eb23c6bad9099190a35050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b5f6114ab612319565b805490915060ff600160401b82041615906001600160401b03165f811580156114d15750825b90505f826001600160401b031660011480156114ec5750303b155b9050811580156114fa575080155b156115185760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561154257845460ff60401b1916600160401b1785555b6001600160a01b038b16611569576040516314030c0360e11b815260040160405180910390fd5b6001600160a01b038a166115905760405163a91f6a8960e01b815260040160405180910390fd5b88158061159b575087155b806115a4575086155b156115c45760405163665c282b60e01b81525f6004820152602401610777565b856001600160801b03165f036115ed57604051632440a7dd60e01b815260040160405180910390fd5b6115f68b612341565b6115fe612352565b5f80546001600160a01b0319166001600160a01b038c1617905561162489888a89611b7c565b600880546001600160801b0319166001600160801b03881617905560405189907fac3566d46c25f65b48d269870da4b9349704c79de13ad49b115532834d7e7ed1905f90a283156116af57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b6116c4611bcd565b81158015906117225750600283836116dd600182613e66565b8181106116ec576116ec613afc565b90506020028101906116fe9190613e79565b61170f906040810190602001613e8d565b600281111561172057611720613e52565b145b156117405760405163bf3d210b60e01b815260040160405180910390fd5b60065461176057604051632c1dfd4f60e11b815260040160405180910390fd5b5f61176a8561235a565b6002549091505f846001600160401b0381111561178957611789613ae8565b6040519080825280602002602001820160405280156117b2578160200160208202803683370190505b5090505f856001600160401b038111156117ce576117ce613ae8565b6040519080825280602002602001820160405280156117f7578160200160208202803683370190505b5090505f6118078888858561251c565b90505f5b878110156119e3573689898381811061182657611826613afc565b90506020028101906118389190613e79565b600180549192505f91611856916001600160401b0390911690613eab565b90506001600160401b03811661186f60208401846139d7565b6001600160401b0316146118b7578061188b60208401846139d7565b604051635efa452960e11b81526001600160401b03928316600482015291166024820152604401610777565b60026118c96040840160208501613e8d565b60028111156118da576118da613e52565b036118f1576118ea82888b612783565b96506119d9565b5f6119026040840160208501613e8d565b600281111561191357611913613e52565b0361192e576119248289898c612993565b90985096506119d9565b60016119406040840160208501613e8d565b600281111561195157611951613e52565b03611999576118ea8289898787148a888151811061197157611971613afc565b60200260200101518a898151811061198b5761198b613afc565b60200260200101518f612b7d565b6119a96040830160208401613e8d565b60028111156119ba576119ba613e52565b60405163b99607f960e01b815260ff9091166004820152602401610777565b505060010161180b565b50505050505050505050565b6119f7611a2c565b6001600160a01b038116611a2057604051631e4fbdf760e01b81525f6004820152602401610777565b611a2981612261565b50565b33611a35611474565b6001600160a01b0316146110a35760405163118cdaa760e01b8152336004820152602401610777565b5f5f5f85515f03611a845760405163665c282b60e01b81525f6004820152602401610777565b8451865114611aa65760405163512509d360e11b815260040160405180910390fd5b5f805b8751811015611b60575f888281518110611ac557611ac5613afc565b602002602001015190505f888381518110611ae257611ae2613afc565b602002602001015190505f6001600160a01b0316826001600160a01b03161480611b0a575080155b80611b275750836001600160a01b0316826001600160a01b031611155b15611b485760405163665c282b60e01b815260048101849052602401610777565b611b528187613ce9565b955090925050600101611aa9565b5086519150611b70878787612e0f565b93505093509350939050565b60408051608081018252848152602081018490529081018590526001600160801b039091166060909101819052600492909255600555600691909155600780546001600160801b0319169091179055565b5f5160206143e35f395f51905f525460ff16156110a35760405163d93c066560e01b815260040160405180910390fd5b466001600160401b038116611c1860608401604085016139d7565b6001600160401b031614611c635780611c3760608401604085016139d7565b6040516332e3634d60e21b81526001600160401b03928316600482015291166024820152604401610777565b5050565b6001600160a01b038116611c9957604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580611cf657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316155b15611d1f57604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015611d9357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b15611a2957604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b5f8135611dcf60408401602085016139d7565b611ddf60608501604086016139d7565b611def60808601606087016138b5565b611dff60a0870160808801613963565b611e0f60c0880160a089016139d7565b611e1f60e0890160c08a01613963565b611e306101008a0160e08b016138b5565b611e426101208b016101008c016138b5565b60408051602081019a909a526001600160401b03988916908a015295871660608901526001600160801b0394851660808901526001600160a01b0393841660a08901529590911660c08701521660e08501529182166101008401521661012082015261014001604051602081830303815290604052805190602001209050919050565b5f818152600a602052604090205460ff1615611a2957604051632910aca360e01b815260048101829052602401610777565b5f7f28bf99522b0d2f26a76cdeda71578156383bbae91175ca503165cfdbbd1ff34a4630611f2487611dbc565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b0380851660a0830152831660c082015260e0015b6040516020818303038152906040528051906020012090505b9392505050565b5f5f5f5f611f93878787612e25565b925092509250611fa38282612e6c565b509095945050505050565b5f8054611fcc90600160a01b90046001600160401b03166001613eab565b5f805467ffffffffffffffff60a01b1916600160a01b6001600160401b038416021790559050611ffb81612f24565b90565b604080516080810182525f808252602082018190529181018290526060810191909152604080516080810182526001600160401b03808516825260015416602082015290810161204c610fd4565b6001600160801b0316815260200161206261133b565b6001600160801b0316905292915050565b5f8061208160066012613e25565b61208c90600a613ca5565b6120969084613cca565b90506001600160801b0381111561108d57604051639940a77560e01b815260048101829052602401610777565b6120cb6130ed565b5f5160206143e35f395f51905f52805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b5f8382146121435760405163512509d360e11b815260040160405180910390fd5b5f5b84811015612257575f86868381811061216057612160613afc565b90506020020160208101906121759190613963565b90505f85858481811061218a5761218a613afc565b60200291909101359150506001600160a01b0382166121bf57604051633bca2f5160e21b815260048101849052602401610777565b805f036121df57604051631f2a200560e01b815260040160405180910390fd5b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390528a16906340c10f19906044015f604051808303815f87803b158015612226575f5ffd5b505af1158015612238573d5f5f3e3d5ffd5b5050505080846122489190613ce9565b93505050806001019050612145565b5095945050505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6122d9611bcd565b5f5160206143e35f395f51905f52805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612104565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061108d565b61234961311c565b611a2981613141565b6110a361311c565b6123896040518060a0016040528060608152602001606081526020015f81526020015f81526020015f81525090565b5f808061241a6123998680613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506123d7925050506020880188613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250506007546001600160801b03169150611a5e9050565b9250925092506004600201548314158061243657506004548214155b8061244357506005548114155b1561246f57600654604051633b21437560e21b8152600481019190915260248101849052604401610777565b6040805160a08101909152806124858780613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020908101906124ca90880188613a9c565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020810194909452604084019290925260609092019190915292915050565b825f816001600160401b0381111561253657612536613ae8565b60405190808252806020026020018201604052801561255f578160200160208202803683370190505b5090505f80865b80156125d15761257581613eca565b9050600289898381811061258b5761258b613afc565b905060200281019061259d9190613e79565b6125ae906040810190602001613e8d565b60028111156125bf576125bf613e52565b146125cc578094506125d1565b612566565b505f5b87811015612777575f8989838181106125ef576125ef613afc565b90506020028101906126019190613e79565b612612906040810190602001613e8d565b9050600181600281111561262857612628613e52565b036126675781858563ffffffff168151811061264657612646613afc565b63ffffffff9092166020928302919091019091015261266484613edf565b93505b5f81600281111561267a5761267a613e52565b148061268557508582145b1561276e5789898381811061269c5761269c613afc565b90506020028101906126ae9190613e79565b6126bc906060810190613a9c565b6126c7915084613f03565b925063ffffffff84161561276e575f5b8463ffffffff16811015612766575f8682815181106126f8576126f8613afc565b602002602001015163ffffffff169050858a828151811061271b5761271b613afc565b602002602001019063ffffffff16908163ffffffff16815250508489828151811061274857612748613afc565b63ffffffff90921660209283029190910190910152506001016126d7565b505f93505f92505b506001016125d4565b50505050949350505050565b5f806127926040860186613b2e565b81019061279f9190613f77565b90506127ae6060860186613a9c565b90506001146127e95760016127c66060870187613a9c565b604051636b01174760e11b81526004810193909352602483015250604401610777565b6128016127f960208701876139d7565b825186613149565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c829052603c812091935090612866906128446060890189613a9c565b5f81811061285457612854613afc565b90506020028101906109599190613b2e565b9050815f01516001600160a01b0316816001600160a01b0316146128b3578151604051630be4b0e160e01b81526001600160a01b0391821660048201529082166024820152604401610777565b81516001600160a01b039081165f9081526009602090815260408083208054875190951684529083209290925590916001600160801b0380821692600160801b9092041690612904908a018a6139d7565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028690555f612933611fae565b86519091506001600160a01b03167ff92f117a698345a1b681cf04280fb5da65a05a9ac88aaacad3e9ee273ce570fd84848b61296e86611ffe565b60405161297e9493929190613fc0565b60405180910390a25050505050509392505050565b6129c26040518060a0016040528060608152602001606081526020015f81526020015f81526020015f81525090565b5f806129d16040880188613b2e565b8101906129de9190614077565b905080602001516001600160801b03165f03612a0d57604051632440a7dd60e01b815260040160405180910390fd5b5f5f5f612a2c845f01515f0151855f0151602001518660200151611a5e565b91945092509050612a5f612a4360208c018c6139d7565b60408b015186518051602091820151918901519091908d6131b0565b9450612a9185612a7260608d018d613a9c565b612a7b916141ad565b8b5160208d015160608e015160808f01516131e5565b612aa18383838760200151611b7c565b602084810151600880546001600160801b0319166001600160801b03909216919091179055612ad2908b018b6139d7565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028590555f612b01611fae565b90507fb3dbfeab9c5013403dc2f2300318b92643b1cb9323077d549b4f93bbddded9638489612b2f84611ffe565b604051612b3e9392919061426d565b60405180910390a1506040805160a081018252855151815294516020908101519086015284019290925260608301526080820152915094509492505050565b5f80612b8c60408a018a613b2e565b810190612b999190614288565b60408101519091506001600160a01b0316612bc75760405163611b32ab60e01b815260040160405180910390fd5b80516001600160801b0316158015612bea575060208101516001600160801b0316155b15612c19576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b63ffffffff85161580612c30575063ffffffff8416155b15612c5f576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b6040808201516001600160a01b03165f90815260096020522080546001600160801b0316151580612ca057508054600160801b90046001600160801b031615155b15612ccf57604080830151905163cb96603760e01b81526001600160a01b039091166004820152602401610777565b612cf8612cdf60208c018c6139d7565b8a60400151845f0151856020015186604001518d61322a565b92508615612d1157612d1183612a7260608d018d613a9c565b60408051808201825283516001600160801b0390811682526020808601518216818401908152868501516001600160a01b03165f9081526009835294909420925193518216600160801b0293909116929092179055612d72908b018b6139d7565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028390555f612da1611fae565b905082604001516001600160a01b03167fc0f81072946eba75f62302dad0fe56dd420d0b9d311e15b61bbe6e056c29908d845f015185602001518a8a8a612de788611ffe565b604051612df9969594939291906142f3565b60405180910390a2505050979650505050505050565b5f838383604051602001611f6493929190614334565b5f80806041849003612e59578435602086013560408701355f1a612e4b89828585613258565b955095509550505050612e63565b505f915060029050825b93509350939050565b5f826003811115612e7f57612e7f613e52565b03612e88575050565b6001826003811115612e9c57612e9c613e52565b03612eba5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612ece57612ece613e52565b03612eef5760405163fce698f760e01b815260048101829052602401610777565b6003826003811115612f0357612f03613e52565b03611c63576040516335e2f38360e21b815260048101829052602401610777565b60035443906001600160401b03165f03612fe6576003805467ffffffffffffffff19166001908117909155604080516060810182526001600160401b03938416815293831660208086018281529286019182525f93909352600b90925292517f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf8054945192518416600160801b0267ffffffffffffffff60801b19938516600160401b026001600160801b031990961692909416919091179390931716179055565b6003546001600160401b039081165f908152600b602052604090208054909183811691160361303c5780546001600160401b03909316600160801b0267ffffffffffffffff60801b199093169290921790915550565b6003545f90613055906001600160401b03166001613eab565b600380546001600160401b0392831667ffffffffffffffff19909116811790915560408051606081018252958316865295821660208087018281528789019283525f938452600b9091529690912094518554965191518316600160801b0267ffffffffffffffff60801b19928416600160401b026001600160801b031990981691909316179590951794909416939093179091555050565b5f5160206143e35f395f51905f525460ff166110a357604051638dfc202b60e01b815260040160405180910390fd5b613124613320565b6110a357604051631afcd79f60e31b815260040160405180910390fd5b6119f761311c565b604080517fad7e1df8fff16b907a93b4116c7590060dfa3b9c396a8b815e8290b0dff45cba602082015246918101919091523060608201526001600160401b03841660808201526001600160a01b03831660a082015260c081018290525f9060e001611f64565b5f5f6131bd868686612e0f565b90506131d788885f846131d18b8b8b613339565b886133a4565b9150505b9695505050505050565b5f5f6131f388888888613456565b91509150613203828286866135ec565b6132205760405163079842ab60e41b815260040160405180910390fd5b5050505050505050565b5f61324d878760016001600160a01b0387166132478a8a8a613650565b876133a4565b979650505050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561329157505f91506003905082613316565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156132e2573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b03811661330d57505f925060019150829050613316565b92505f91508190505b9450945094915050565b5f613329612319565b54600160401b900460ff16919050565b5f7f82ce6440aa5dde11f3613892819b630b62342bacf93e16a292d5c8783aafa4c34630613368878787612e0f565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b03831660a082015260c001611f64565b5f7f41936771719a172aa959076ca6aafb826eaf332dd0c9e7860901c398ef42da05463089898960028111156133dc576133dc613e52565b6040805160208101979097528601949094526001600160a01b0390921660608501526001600160401b0316608084015260a083015260ff1660c082015260e0810185905261010081018490526101208101839052610140016040516020818303038152906040528051906020012090509695505050505050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c859052603c8120819081905f805b88518110156135df575f6134b8848b84815181106134ab576134ab613afc565b60200260200101516136ac565b9050846001600160a01b0316816001600160a01b0316116134ec576040516309cf9e4960e11b815260040160405180910390fd5b8851831080156135265750806001600160a01b031689848151811061351357613513613afc565b60200260200101516001600160a01b0316105b1561353b57613534836143ca565b92506134ec565b88518314806135755750806001600160a01b031689848151811061356157613561613afc565b60200260200101516001600160a01b031614155b156135965760405163665c282b60e01b815260048101839052602401610777565b61359f876143ca565b96508783815181106135b3576135b3613afc565b6020026020010151866135c69190613ce9565b95509350836135d4836143ca565b92505060010161348b565b5050505094509492505050565b5f806135f88684613e66565b905061360584605a613cb3565b613610866064613cb3565b1061361f576001915050613648565b600281111580156136445750613636846050613cb3565b613641866064613cb3565b10155b9150505b949350505050565b5f7f1cd7f89e34f6154d6f8387a08ffafc689e347b8d5809913b07c58a42995dff66463061367f8787876136d4565b6040805160208101959095528401929092526001600160a01b03166060830152608082015260a001611f64565b5f5f5f5f6136ba868661370a565b9250925092506136ca8282612e6c565b5090949350505050565b604080516001600160801b0380861660208301528416918101919091526001600160a01b03821660608201525f90608001611f64565b5f5f5f8351604103613741576020840151604085015160608601515f1a61373388828585613258565b95509550955050505061374c565b505081515f91506002905b9250925092565b5f60408284031215613763575f5ffd5b50919050565b80356001600160801b038116811461377f575f5ffd5b919050565b5f5f60408385031215613795575f5ffd5b82356001600160401b038111156137aa575f5ffd5b6137b685828601613753565b9250506137c560208401613769565b90509250929050565b5f6101208284031215613763575f5ffd5b5f5f61014083850312156137f1575f5ffd5b6137fb84846137ce565b91506101208301356001600160401b03811115613816575f5ffd5b830160208186031215613827575f5ffd5b809150509250929050565b80356001600160a01b038116811461377f575f5ffd5b5f5f5f5f5f5f5f60e0888a03121561385e575f5ffd5b61386788613832565b965061387560208901613769565b95506040880135945060608801359350608088013560ff81168114613898575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f602082840312156138c5575f5ffd5b611f7d82613769565b5f61012082840312156138df575f5ffd5b611f7d83836137ce565b5f5f604083850312156138fa575f5ffd5b82356001600160401b0381111561390f575f5ffd5b61391b85828601613753565b92505060208301356001600160401b03811115613936575f5ffd5b61394285828601613753565b9150509250929050565b5f6020828403121561395c575f5ffd5b5035919050565b5f60208284031215613973575f5ffd5b611f7d82613832565b5f5f5f5f5f5f60c08789031215613991575f5ffd5b61399a87613832565b95506139a860208801613832565b94506040870135935060608701359250608087013591506139cb60a08801613769565b90509295509295509295565b5f602082840312156139e7575f5ffd5b81356001600160401b0381168114611f7d575f5ffd5b5f5f5f5f60608587031215613a10575f5ffd5b84356001600160401b03811115613a25575f5ffd5b613a3187828801613753565b94505060208501356001600160401b03811115613a4c575f5ffd5b8501601f81018713613a5c575f5ffd5b80356001600160401b03811115613a71575f5ffd5b8760208260051b8401011115613a85575f5ffd5b949760209190910196509394604001359392505050565b5f5f8335601e19843603018112613ab1575f5ffd5b8301803591506001600160401b03821115613aca575f5ffd5b6020019150600581901b3603821315613ae1575f5ffd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112613b24575f5ffd5b9190910192915050565b5f5f8335601e19843603018112613b43575f5ffd5b8301803591506001600160401b03821115613b5c575f5ffd5b602001915036819003821315613ae1575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03828116828216039081111561108d5761108d613b70565b6001600160801b03818116838216019081111561108d5761108d613b70565b6001815b6001841115613bfd57808504811115613be157613be1613b70565b6001841615613bef57908102905b60019390931c928002613bc6565b935093915050565b5f82613c135750600161108d565b81613c1f57505f61108d565b8160018114613c355760028114613c3f57613c5b565b600191505061108d565b60ff841115613c5057613c50613b70565b50506001821b61108d565b5060208310610133831016604e8410600b8410161715613c7e575081810a61108d565b613c8a5f198484613bc2565b805f1904821115613c9d57613c9d613b70565b029392505050565b5f611f7d60ff841683613c05565b808202811582820484141761108d5761108d613b70565b5f82613ce457634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561108d5761108d613b70565b6001600160401b0381511682526001600160401b0360208201511660208301526001600160801b0360408201511660408301526001600160801b0360608201511660608301525050565b8581526001600160a01b0385166020808301919091526001600160801b03851660408301526101006060830181905284519083018190525f91850190610120840190835b81811015613dd657835180516001600160a01b031684526020808201516001600160801b0390811682870152604092830151169185019190915290930192606090920191600101613d8a565b505080925050506131db6080830184613cfc565b6001600160801b03841681526020810183905260c081016136486040830184613cfc565b5f60208284031215613e1e575f5ffd5b5051919050565b60ff828116828216039081111561108d5761108d613b70565b82815260a08101611f7d6020830184613cfc565b634e487b7160e01b5f52602160045260245ffd5b8181038181111561108d5761108d613b70565b5f8235607e19833603018112613b24575f5ffd5b5f60208284031215613e9d575f5ffd5b813560038110611f7d575f5ffd5b6001600160401b03818116838216019081111561108d5761108d613b70565b5f81613ed857613ed8613b70565b505f190190565b5f63ffffffff821663ffffffff8103613efa57613efa613b70565b60010192915050565b63ffffffff818116838216019081111561108d5761108d613b70565b604080519081016001600160401b0381118282101715613f4157613f41613ae8565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613f6f57613f6f613ae8565b604052919050565b5f6020828403128015613f88575f5ffd5b50604051602081016001600160401b0381118282101715613fab57613fab613ae8565b604052613fb783613832565b81529392505050565b6001600160801b038581168252841660208201526040810183905260e08101613fec6060830184613cfc565b95945050505050565b5f6001600160401b0382111561400d5761400d613ae8565b5060051b60200190565b5f82601f830112614026575f5ffd5b813561403961403482613ff5565b613f47565b8082825260208201915060208360051b86010192508583111561405a575f5ffd5b602085015b8381101561225757803583526020928301920161405f565b5f60208284031215614087575f5ffd5b81356001600160401b0381111561409c575f5ffd5b8201604081850312156140ad575f5ffd5b6140b5613f1f565b81356001600160401b038111156140ca575f5ffd5b8201604081870312156140db575f5ffd5b6140e3613f1f565b81356001600160401b038111156140f8575f5ffd5b8201601f81018813614108575f5ffd5b803561411661403482613ff5565b8082825260208201915060208360051b85010192508a831115614137575f5ffd5b6020840193505b828410156141605761414f84613832565b82526020938401939091019061413e565b845250505060208201356001600160401b0381111561417d575f5ffd5b61418988828501614017565b60208301525080835250506141a060208301613769565b6020820152949350505050565b5f6141ba61403484613ff5565b8381526020810190600585901b8401368111156141d5575f5ffd5b845b81811015611fa35780356001600160401b038111156141f4575f5ffd5b860136601f820112614204575f5ffd5b80356001600160401b0381111561421d5761421d613ae8565b614230601f8201601f1916602001613f47565b818152366020838501011115614244575f5ffd5b816020840160208301375f602083830101528087525050506020840193506020810190506141d7565b8381526020810183905260c081016136486040830184613cfc565b5f6060828403128015614299575f5ffd5b50604051606081016001600160401b03811182821017156142bc576142bc613ae8565b6040526142c883613769565b81526142d660208401613769565b60208201526142e760408401613832565b60408201529392505050565b6001600160801b0387811682528616602082015263ffffffff85811660408301528416606082015260808101839052610120810161324d60a0830184613cfc565b606080825284519082018190525f9060208601906080840190835b818110156143765783516001600160a01b031683526020938401939092019160010161434f565b5050838103602080860191909152865180835291810192508601905f5b818110156143b1578251845260209384019390920191600101614393565b5050506001600160801b03841660408401529050613648565b5f600182016143db576143db613b70565b506001019056fecd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a26469706673582212205d3edb77152b901db2178bdb16828658a8f4a05a588b95b09228c2251a735f8464736f6c63430008230033",
|
|
4441
4445
|
linkReferences: {},
|
|
4442
4446
|
deployedLinkReferences: {},
|
|
4443
4447
|
immutableReferences: {
|
|
@@ -4448,23 +4452,23 @@ var MintingGateway_default = {
|
|
|
4448
4452
|
},
|
|
4449
4453
|
{
|
|
4450
4454
|
length: 32,
|
|
4451
|
-
start:
|
|
4455
|
+
start: 2957
|
|
4452
4456
|
},
|
|
4453
4457
|
{
|
|
4454
4458
|
length: 32,
|
|
4455
|
-
start:
|
|
4459
|
+
start: 4058
|
|
4456
4460
|
},
|
|
4457
4461
|
{
|
|
4458
4462
|
length: 32,
|
|
4459
|
-
start:
|
|
4463
|
+
start: 4668
|
|
4460
4464
|
},
|
|
4461
4465
|
{
|
|
4462
4466
|
length: 32,
|
|
4463
|
-
start:
|
|
4467
|
+
start: 7323
|
|
4464
4468
|
},
|
|
4465
4469
|
{
|
|
4466
4470
|
length: 32,
|
|
4467
|
-
start:
|
|
4471
|
+
start: 7457
|
|
4468
4472
|
}
|
|
4469
4473
|
],
|
|
4470
4474
|
"10418": [
|
|
@@ -4474,24 +4478,24 @@ var MintingGateway_default = {
|
|
|
4474
4478
|
},
|
|
4475
4479
|
{
|
|
4476
4480
|
length: 32,
|
|
4477
|
-
start:
|
|
4481
|
+
start: 4735
|
|
4478
4482
|
},
|
|
4479
4483
|
{
|
|
4480
4484
|
length: 32,
|
|
4481
|
-
start:
|
|
4485
|
+
start: 4929
|
|
4482
4486
|
},
|
|
4483
4487
|
{
|
|
4484
4488
|
length: 32,
|
|
4485
|
-
start:
|
|
4489
|
+
start: 7372
|
|
4486
4490
|
},
|
|
4487
4491
|
{
|
|
4488
4492
|
length: 32,
|
|
4489
|
-
start:
|
|
4493
|
+
start: 7518
|
|
4490
4494
|
}
|
|
4491
4495
|
]
|
|
4492
4496
|
},
|
|
4493
4497
|
inputSourceName: "project/contracts/MintingGateway.sol",
|
|
4494
|
-
buildInfoId: "solc-
|
|
4498
|
+
buildInfoId: "solc-0_8_35-af6d7f63b2fca589d9b3a2ad6779fdf0c9bca04d"
|
|
4495
4499
|
};
|
|
4496
4500
|
|
|
4497
4501
|
// ../../chains/ethereum/contracts/artifacts/contracts/ProxyArtifacts.sol/ProxyAdmin.json
|
|
@@ -4622,13 +4626,13 @@ var ProxyAdmin_default = {
|
|
|
4622
4626
|
type: "function"
|
|
4623
4627
|
}
|
|
4624
4628
|
],
|
|
4625
|
-
bytecode: "
|
|
4626
|
-
deployedBytecode: "
|
|
4629
|
+
bytecode: "0x6080604052348015600e575f5ffd5b506040516104e83803806104e8833981016040819052602b9160b6565b80806001600160a01b038116605957604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6060816067565b50505060e1565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121560c5575f5ffd5b81516001600160a01b038116811460da575f5ffd5b9392505050565b6103fa806100ee5f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f5ffd5b348015610058575f5ffd5b506100616100fd565b005b34801561006e575f5ffd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f5ffd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610365565b3480156100e9575f5ffd5b506100616100f836600461037e565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906101489086908690600401610399565b5f604051808303818588803b15801561015f575f5ffd5b505af1158015610171573d5f5f3e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f5f60608486031215610272575f5ffd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff8111156102a8575f5ffd5b8401601f810186136102b8575f5ffd5b803567ffffffffffffffff8111156102d2576102d261024c565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103015761030161024c565b604052818152828201602001881015610318575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6103776020830184610337565b9392505050565b5f6020828403121561038e575f5ffd5b813561037781610238565b6001600160a01b03831681526040602082018190525f906103bc90830184610337565b94935050505056fea2646970667358221220096ef5373ffbb308f5aaba93487a526eb7720bc0709046bc95ce238dee72824464736f6c63430008230033",
|
|
4630
|
+
deployedBytecode: "0x608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f5ffd5b348015610058575f5ffd5b506100616100fd565b005b34801561006e575f5ffd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f5ffd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610365565b3480156100e9575f5ffd5b506100616100f836600461037e565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906101489086908690600401610399565b5f604051808303818588803b15801561015f575f5ffd5b505af1158015610171573d5f5f3e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f5f60608486031215610272575f5ffd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff8111156102a8575f5ffd5b8401601f810186136102b8575f5ffd5b803567ffffffffffffffff8111156102d2576102d261024c565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103015761030161024c565b604052818152828201602001881015610318575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6103776020830184610337565b9392505050565b5f6020828403121561038e575f5ffd5b813561037781610238565b6001600160a01b03831681526040602082018190525f906103bc90830184610337565b94935050505056fea2646970667358221220096ef5373ffbb308f5aaba93487a526eb7720bc0709046bc95ce238dee72824464736f6c63430008230033",
|
|
4627
4631
|
linkReferences: {},
|
|
4628
4632
|
deployedLinkReferences: {},
|
|
4629
4633
|
immutableReferences: {},
|
|
4630
4634
|
inputSourceName: "project/contracts/ProxyArtifacts.sol",
|
|
4631
|
-
buildInfoId: "solc-
|
|
4635
|
+
buildInfoId: "solc-0_8_35-af6d7f63b2fca589d9b3a2ad6779fdf0c9bca04d"
|
|
4632
4636
|
};
|
|
4633
4637
|
|
|
4634
4638
|
// ../../chains/ethereum/contracts/artifacts/contracts/ProxyArtifacts.sol/TransparentUpgradeableProxy.json
|
|
@@ -4748,8 +4752,8 @@ var TransparentUpgradeableProxy_default = {
|
|
|
4748
4752
|
type: "fallback"
|
|
4749
4753
|
}
|
|
4750
4754
|
],
|
|
4751
|
-
bytecode: "
|
|
4752
|
-
deployedBytecode: "
|
|
4755
|
+
bytecode: "0x60a0604052604051610d7d380380610d7d8339810160408190526100229161036c565b82828282818051610046576040516330a289cf60e21b815260040160405180910390fd5b61005082826100b1565b50508160405161005f90610330565b6001600160a01b039091168152602001604051809103905ff080158015610088573d5f5f3e3d5ffd5b506001600160a01b03166080526100a66100a160805190565b61010f565b50505050505061043d565b6100ba8261017c565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610103576100fe82826101fa565b505050565b61010b61029b565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61014e5f516020610d5d5f395f51905f52546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a1610179816102bc565b50565b806001600160a01b03163b5f036101b657604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f61020784846102f9565b905080801561022857505f3d118061022857505f846001600160a01b03163b115b1561023d5761023561030c565b915050610295565b801561026757604051639996b31560e01b81526001600160a01b03851660048201526024016101ad565b3d1561027a57610275610325565b610293565b60405163d6bda27560e01b815260040160405180910390fd5b505b92915050565b34156102ba5760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b0381166102e557604051633173bdd160e11b81525f60048201526024016101ad565b805f516020610d5d5f395f51905f526101d9565b5f5f5f835160208501865af49392505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b6104e68061087783390190565b80516001600160a01b0381168114610353575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f6060848603121561037e575f5ffd5b6103878461033d565b92506103956020850161033d565b60408501519092506001600160401b038111156103b0575f5ffd5b8401601f810186136103c0575f5ffd5b80516001600160401b038111156103d9576103d9610358565b604051601f8201601f19908116603f011681016001600160401b038111828210171561040757610407610358565b60405281815282820160200188101561041e575f5ffd5b8160208401602083015e5f602083830101528093505050509250925092565b6080516104236104545f395f601001526104235ff3fe608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f8061009136600481846102e1565b81019061009e919061031c565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b610151565b6100c98261016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101ea565b505050565b6100ac61028b565b5f61014c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e80801561016b573d5ff35b3d5ffd5b806001600160a01b03163b5f036101a957604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f6101f784846102aa565b905080801561021857505f3d118061021857505f846001600160a01b03163b115b1561022d576102256102bd565b915050610285565b801561025757604051639996b31560e01b81526001600160a01b03851660048201526024016101a0565b3d1561026a576102656102d6565b610283565b60405163d6bda27560e01b815260040160405180910390fd5b505b92915050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b5f5f5f835160208501865af49392505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f858511156102ef575f5ffd5b838611156102fb575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561032d575f5ffd5b82356001600160a01b0381168114610343575f5ffd5b9150602083013567ffffffffffffffff81111561035e575f5ffd5b8301601f8101851361036e575f5ffd5b803567ffffffffffffffff81111561038857610388610308565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103b7576103b7610308565b6040528181528282016020018710156103ce575f5ffd5b816020840160208301375f60208383010152809350505050925092905056fea2646970667358221220c6da87eea7b69da543d36ac7b83458efe061c9b7c29bf1c22b91b8a9cf8c0cab64736f6c634300082300336080604052348015600e575f5ffd5b506040516104e63803806104e6833981016040819052602b9160b4565b806001600160a01b038116605857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b605f816065565b505060df565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121560c3575f5ffd5b81516001600160a01b038116811460d8575f5ffd5b9392505050565b6103fa806100ec5f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f5ffd5b348015610058575f5ffd5b506100616100fd565b005b34801561006e575f5ffd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f5ffd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610365565b3480156100e9575f5ffd5b506100616100f836600461037e565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906101489086908690600401610399565b5f604051808303818588803b15801561015f575f5ffd5b505af1158015610171573d5f5f3e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f5f60608486031215610272575f5ffd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff8111156102a8575f5ffd5b8401601f810186136102b8575f5ffd5b803567ffffffffffffffff8111156102d2576102d261024c565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103015761030161024c565b604052818152828201602001881015610318575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6103776020830184610337565b9392505050565b5f6020828403121561038e575f5ffd5b813561037781610238565b6001600160a01b03831681526040602082018190525f906103bc90830184610337565b94935050505056fea264697066735822122061b7d945b272496e3ce5c522b8dbecb68e8abd611b1db3dd20a954a93ec3c53664736f6c63430008230033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103",
|
|
4756
|
+
deployedBytecode: "0x608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f8061009136600481846102e1565b81019061009e919061031c565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b610151565b6100c98261016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101ea565b505050565b6100ac61028b565b5f61014c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e80801561016b573d5ff35b3d5ffd5b806001600160a01b03163b5f036101a957604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f6101f784846102aa565b905080801561021857505f3d118061021857505f846001600160a01b03163b115b1561022d576102256102bd565b915050610285565b801561025757604051639996b31560e01b81526001600160a01b03851660048201526024016101a0565b3d1561026a576102656102d6565b610283565b60405163d6bda27560e01b815260040160405180910390fd5b505b92915050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b5f5f5f835160208501865af49392505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f858511156102ef575f5ffd5b838611156102fb575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561032d575f5ffd5b82356001600160a01b0381168114610343575f5ffd5b9150602083013567ffffffffffffffff81111561035e575f5ffd5b8301601f8101851361036e575f5ffd5b803567ffffffffffffffff81111561038857610388610308565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103b7576103b7610308565b6040528181528282016020018710156103ce575f5ffd5b816020840160208301375f60208383010152809350505050925092905056fea2646970667358221220c6da87eea7b69da543d36ac7b83458efe061c9b7c29bf1c22b91b8a9cf8c0cab64736f6c63430008230033",
|
|
4753
4757
|
linkReferences: {},
|
|
4754
4758
|
deployedLinkReferences: {},
|
|
4755
4759
|
immutableReferences: {
|
|
@@ -4761,7 +4765,7 @@ var TransparentUpgradeableProxy_default = {
|
|
|
4761
4765
|
]
|
|
4762
4766
|
},
|
|
4763
4767
|
inputSourceName: "project/contracts/ProxyArtifacts.sol",
|
|
4764
|
-
buildInfoId: "solc-
|
|
4768
|
+
buildInfoId: "solc-0_8_35-af6d7f63b2fca589d9b3a2ad6779fdf0c9bca04d"
|
|
4765
4769
|
};
|
|
4766
4770
|
|
|
4767
4771
|
// ../../chains/ethereum/contracts/generated.ts
|
|
@@ -6952,7 +6956,7 @@ function encodeReceiptTrieKey(transactionIndex) {
|
|
|
6952
6956
|
function encodeEthereumReceiptForProof(receipt) {
|
|
6953
6957
|
const payload = toRlp(
|
|
6954
6958
|
[
|
|
6955
|
-
receipt.root ?? (receipt.status === "success" ? "0x1" : "
|
|
6959
|
+
receipt.root ?? (receipt.status === "success" ? "0x1" : "0x"),
|
|
6956
6960
|
toHex(receipt.cumulativeGasUsed),
|
|
6957
6961
|
receipt.logsBloom,
|
|
6958
6962
|
receipt.logs.map((log) => [log.address, [...log.topics], log.data])
|
|
@@ -7034,16 +7038,12 @@ async function buildEthereumEventProof(executionSource, argonFinalizedExecutionH
|
|
|
7034
7038
|
const receiptLogs = [];
|
|
7035
7039
|
const transactionIndexes = [];
|
|
7036
7040
|
const seenTransactionIndexes = /* @__PURE__ */ new Set();
|
|
7037
|
-
for (const { receipt,
|
|
7041
|
+
for (const { receipt, requestedLogs } of locators) {
|
|
7038
7042
|
if (!seenTransactionIndexes.has(receipt.transactionIndex)) {
|
|
7039
7043
|
seenTransactionIndexes.add(receipt.transactionIndex);
|
|
7040
7044
|
transactionIndexes.push(receipt.transactionIndex);
|
|
7041
7045
|
}
|
|
7042
|
-
for (const
|
|
7043
|
-
const log = receipt.logs[index];
|
|
7044
|
-
if (!log) {
|
|
7045
|
-
throw new Error(`Missing log ${index} in receipt ${receipt.transactionHash}`);
|
|
7046
|
-
}
|
|
7046
|
+
for (const log of requestedLogs) {
|
|
7047
7047
|
receiptLogs.push({
|
|
7048
7048
|
transactionIndex: receipt.transactionIndex,
|
|
7049
7049
|
eventLog: {
|
|
@@ -7122,9 +7122,16 @@ async function loadEthereumEventLocators(executionClient, locators) {
|
|
|
7122
7122
|
if (requestedLogIndexes.length === 0) {
|
|
7123
7123
|
throw new Error(`At least one log index is required for receipt ${txHash}`);
|
|
7124
7124
|
}
|
|
7125
|
+
const requestedLogs = requestedLogIndexes.map((index) => {
|
|
7126
|
+
const matchingLog = receipt.logs.find((log) => log.logIndex != null && Number(log.logIndex) === index) ?? receipt.logs[index];
|
|
7127
|
+
if (!matchingLog) {
|
|
7128
|
+
throw new Error(`Missing log ${index} in receipt ${receipt.transactionHash}`);
|
|
7129
|
+
}
|
|
7130
|
+
return matchingLog;
|
|
7131
|
+
});
|
|
7125
7132
|
return {
|
|
7126
7133
|
receipt,
|
|
7127
|
-
|
|
7134
|
+
requestedLogs
|
|
7128
7135
|
};
|
|
7129
7136
|
})
|
|
7130
7137
|
);
|