@hyperlane-xyz/multicollateral 0.2.0 → 1.0.0

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.
Files changed (44) hide show
  1. package/contracts/{MultiCollateral.sol → CrossCollateralRouter.sol} +57 -48
  2. package/contracts/{MultiCollateralRoutingFee.sol → CrossCollateralRoutingFee.sol} +9 -6
  3. package/contracts/TokenBridgeOft.sol +338 -0
  4. package/contracts/interfaces/{IMultiCollateralFee.sol → ICrossCollateralFee.sol} +1 -1
  5. package/contracts/interfaces/layerzero/IOFT.sol +85 -0
  6. package/dist/typechain/{MultiCollateral.d.ts → CrossCollateralRouter.d.ts} +87 -87
  7. package/dist/typechain/CrossCollateralRouter.d.ts.map +1 -0
  8. package/dist/typechain/CrossCollateralRouter.js +2 -0
  9. package/dist/typechain/CrossCollateralRouter.js.map +1 -0
  10. package/dist/typechain/{MultiCollateralRoutingFee.d.ts → CrossCollateralRoutingFee.d.ts} +13 -13
  11. package/dist/typechain/{MultiCollateralRoutingFee.d.ts.map → CrossCollateralRoutingFee.d.ts.map} +1 -1
  12. package/dist/typechain/CrossCollateralRoutingFee.js +2 -0
  13. package/dist/typechain/CrossCollateralRoutingFee.js.map +1 -0
  14. package/dist/typechain/TokenBridgeOft.d.ts +293 -0
  15. package/dist/typechain/TokenBridgeOft.d.ts.map +1 -0
  16. package/dist/typechain/TokenBridgeOft.js +2 -0
  17. package/dist/typechain/TokenBridgeOft.js.map +1 -0
  18. package/dist/typechain/factories/{MultiCollateral__factory.d.ts → CrossCollateralRouter__factory.d.ts} +88 -88
  19. package/dist/typechain/factories/{MultiCollateral__factory.d.ts.map → CrossCollateralRouter__factory.d.ts.map} +1 -1
  20. package/dist/typechain/factories/{MultiCollateral__factory.js → CrossCollateralRouter__factory.js} +99 -99
  21. package/dist/typechain/factories/CrossCollateralRouter__factory.js.map +1 -0
  22. package/dist/typechain/factories/{MultiCollateralRoutingFee__factory.d.ts → CrossCollateralRoutingFee__factory.d.ts} +12 -12
  23. package/dist/typechain/factories/{MultiCollateralRoutingFee__factory.d.ts.map → CrossCollateralRoutingFee__factory.d.ts.map} +1 -1
  24. package/dist/typechain/factories/{MultiCollateralRoutingFee__factory.js → CrossCollateralRoutingFee__factory.js} +6 -6
  25. package/dist/typechain/factories/{MultiCollateralRoutingFee__factory.js.map → CrossCollateralRoutingFee__factory.js.map} +1 -1
  26. package/dist/typechain/factories/TokenBridgeOft__factory.d.ts +312 -0
  27. package/dist/typechain/factories/TokenBridgeOft__factory.d.ts.map +1 -0
  28. package/dist/typechain/factories/TokenBridgeOft__factory.js +417 -0
  29. package/dist/typechain/factories/TokenBridgeOft__factory.js.map +1 -0
  30. package/dist/typechain/factories/index.d.ts +3 -2
  31. package/dist/typechain/factories/index.d.ts.map +1 -1
  32. package/dist/typechain/factories/index.js +3 -2
  33. package/dist/typechain/factories/index.js.map +1 -1
  34. package/dist/typechain/index.d.ts +6 -4
  35. package/dist/typechain/index.d.ts.map +1 -1
  36. package/dist/typechain/index.js +3 -2
  37. package/dist/typechain/index.js.map +1 -1
  38. package/package.json +7 -6
  39. package/dist/typechain/MultiCollateral.d.ts.map +0 -1
  40. package/dist/typechain/MultiCollateral.js +0 -2
  41. package/dist/typechain/MultiCollateral.js.map +0 -1
  42. package/dist/typechain/MultiCollateralRoutingFee.js +0 -2
  43. package/dist/typechain/MultiCollateralRoutingFee.js.map +0 -1
  44. package/dist/typechain/factories/MultiCollateral__factory.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenBridgeOft.d.ts","sourceRoot":"","sources":["../../typechain/TokenBridgeOft.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TokenBridgeOft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenBridgeOft.js","sourceRoot":"","sources":["../../typechain/TokenBridgeOft.ts"],"names":[],"mappings":""}
@@ -1,18 +1,18 @@
1
1
  import { Signer, ContractFactory, BigNumberish, Overrides } from "ethers";
2
2
  import type { Provider, TransactionRequest } from "@ethersproject/providers";
3
- import type { MultiCollateral, MultiCollateralInterface } from "../MultiCollateral.js";
4
- type MultiCollateralConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
5
- export declare class MultiCollateral__factory extends ContractFactory {
6
- constructor(...args: MultiCollateralConstructorParams);
3
+ import type { CrossCollateralRouter, CrossCollateralRouterInterface } from "../CrossCollateralRouter.js";
4
+ type CrossCollateralRouterConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
5
+ export declare class CrossCollateralRouter__factory extends ContractFactory {
6
+ constructor(...args: CrossCollateralRouterConstructorParams);
7
7
  deploy(erc20: string, _scaleNumerator: BigNumberish, _scaleDenominator: BigNumberish, _mailbox: string, overrides?: Overrides & {
8
8
  from?: string;
9
- }): Promise<MultiCollateral>;
9
+ }): Promise<CrossCollateralRouter>;
10
10
  getDeployTransaction(erc20: string, _scaleNumerator: BigNumberish, _scaleDenominator: BigNumberish, _mailbox: string, overrides?: Overrides & {
11
11
  from?: string;
12
12
  }): TransactionRequest;
13
- attach(address: string): MultiCollateral;
14
- connect(signer: Signer): MultiCollateral__factory;
15
- static readonly bytecode = "0x6101206040523480156200001257600080fd5b5060405162005da138038062005da183398101604081905262000035916200027f565b83838383828282808080806000816001600160a01b03163b11620000a05760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001119190620002ca565b63ffffffff1660a052620001253362000210565b505050506000831180156200013a5750600082115b620001885760405162461bcd60e51b815260206004820152601e60248201527f546f6b656e526f757465723a207363616c652063616e6e6f7420626520300000604482015260640162000097565b5060c09190915260e0526001600160a01b0384163b620001f55760405162461bcd60e51b815260206004820152602160248201527f4879704552433230436f6c6c61746572616c3a20696e76616c696420746f6b656044820152603760f91b606482015260840162000097565b5050506001600160a01b03166101005250620002f992505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200027a57600080fd5b919050565b600080600080608085870312156200029657600080fd5b620002a18562000262565b93506020850151925060408501519150620002bf6060860162000262565b905092959194509250565b600060208284031215620002dd57600080fd5b815163ffffffff81168114620002f257600080fd5b9392505050565b60805160a05160c05160e051610100516159836200041e6000396000818161069201528181610a8901528181610e72015281816115f701528181611662015281816116e20152818161186201528181611b3601528181611ba1015281816130020152818161339d0152818161353d0152818161376f01528181613a1201528181613a7801528181613da90152614224015260008181610abd015281816131c401526141d10152600081816105ba015281816131a301526141f201526000818161097b015281816113d20152818161147001528181611551015281816121d1015281816122940152818161235001528181612e220152613aac015260008181610c6601528181611392015281816123f7015281816131ed0152613c0d01526159836000f3fe6080604052600436106104685760003560e01c80638da5cb5b1161024a578063ce96cb7711610139578063ea8f94c4116100b6578063f2ed8c531161007a578063f2ed8c5314610de3578063f2fde38b14610e03578063fa57f15714610e23578063fbaca44c14610e43578063fc0c546a14610e6357600080fd5b8063ea8f94c414610d86578063ef8b30f714610c14578063efae508a14610d9b578063f11f446114610dbb578063f14faf6f14610dd057600080fd5b8063de523cf3116100fd578063de523cf314610cdb578063e62e284714610cf9578063e74b981b14610d19578063e83b530014610d39578063e9198bf914610d6657600080fd5b8063ce96cb7714610c34578063d5438eae14610c54578063d905777e14610c88578063d9755d0f14610ca8578063dd62ed3e14610cbb57600080fd5b8063b1bd6436116101c7578063c0c53b8b1161018b578063c0c53b8b14610bbf578063c382711514610bdf578063c63d75b61461070a578063c69c8ce214610bff578063c6e6f59214610c1457600080fd5b8063b1bd643614610b1f578063b3d7f6b914610b3f578063b460af9414610b5f578063b49c53a714610b7f578063ba08765214610b9f57600080fd5b806395d89b411161020e57806395d89b4114610a62578063996c6cc314610a775780639f0b765914610aab578063a457c2d714610adf578063a9059cbb14610aff57600080fd5b80638da5cb5b146109b25780638f16bd4d146109d057806392c18454146109f057806393c4484714610a1057806394bf804d14610a4257600080fd5b806343bc4b9a116103665780636e553f65116102e357806377e2dc7a116102a757806377e2dc7a146108e35780637f5a7c7b1461091657806381b4e8b4146109365780638bd90b82146109495780638d3638f41461096957600080fd5b80636e553f651461082b57806370a082311461084b578063715018a61461088157806371a15b3814610896578063775313a1146108b657600080fd5b80634e38a81d1161032a5780634e38a81d146107a357806356d5d475146107c357806360ed438c146107d6578063647846a5146108035780636a99c3331461081857600080fd5b806343bc4b9a1461072c578063440df4f41461074c578063469048401461076e57806349d462ef146107835780634cdad506146104b457600080fd5b80631c2eaac0116103f4578063313ce567116103b8578063313ce5671461065c57806338d52e0f1461068357806339509351146106ca5780633dfd3873146106ea578063402d267d1461070a57600080fd5b80631c2eaac0146105a857806323b872dd146105dc5780632a53a6d5146105fc5780632c2d80891461061c5780632ead72f61461063c57600080fd5b80630a28a4771161043b5780630a28a477146105045780630c979919146105245780630e72cc061461054657806318160ddd146105665780631ba831491461057b57600080fd5b806301e1d1141461046d57806306fdde031461049257806307a2d13a146104b4578063095ea7b3146104d4575b600080fd5b34801561047957600080fd5b50610133545b6040519081526020015b60405180910390f35b34801561049e57600080fd5b506104a7610e96565b6040516104899190614e4f565b3480156104c057600080fd5b5061047f6104cf366004614e62565b610f28565b3480156104e057600080fd5b506104f46104ef366004614e90565b610f3b565b6040519015158152602001610489565b34801561051057600080fd5b5061047f61051f366004614e62565b610f53565b34801561053057600080fd5b5061054461053f366004614ebc565b610f60565b005b34801561055257600080fd5b50610544610561366004614ebc565b610f77565b34801561057257600080fd5b5060d15461047f565b34801561058757600080fd5b5061059b610596366004614eed565b61101b565b6040516104899190614f08565b3480156105b457600080fd5b5061047f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105e857600080fd5b506104f46105f7366004614f55565b61103c565b34801561060857600080fd5b50610544610617366004614fdb565b611062565b34801561062857600080fd5b50610544610637366004615047565b6111f3565b34801561064857600080fd5b5061047f610657366004614eed565b61121e565b34801561066857600080fd5b5061067161123d565b60405160ff9091168152602001610489565b34801561068f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610489565b3480156106d657600080fd5b506104f46106e5366004614e90565b61125d565b3480156106f657600080fd5b50610544610705366004614ebc565b61127f565b34801561071657600080fd5b5061047f610725366004614ebc565b5060001990565b34801561073857600080fd5b50610544610747366004614ebc565b611312565b34801561075857600080fd5b50610761611325565b6040516104899190615063565b34801561077a57600080fd5b506106b2611331565b34801561078f57600080fd5b5061054461079e366004615047565b611364565b3480156107af57600080fd5b506105446107be3660046150a1565b611376565b6105446107d13660046150d8565b611388565b3480156107e257600080fd5b506107f66107f136600461515f565b611462565b6040516104899190615198565b34801561080f57600080fd5b506106b26116c0565b6105446108263660046151f0565b611704565b34801561083757600080fd5b5061047f610846366004615230565b6119dc565b34801561085757600080fd5b5061047f610866366004614ebc565b6001600160a01b0316600090815260cf602052604090205490565b34801561088d57600080fd5b506105446119f6565b3480156108a257600080fd5b506105446108b1366004615255565b611a0a565b3480156108c257600080fd5b5061047f6108d1366004614eed565b60ca6020526000908152604090205481565b3480156108ef57600080fd5b5061047f6108fe366004614eed565b63ffffffff16600090815260cb602052604090205490565b34801561092257600080fd5b506065546106b2906001600160a01b031681565b61047f610944366004615297565b611a5f565b34801561095557600080fd5b506107f6610964366004615297565b611a82565b34801561097557600080fd5b5061099d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610489565b3480156109be57600080fd5b506033546001600160a01b03166106b2565b3480156109dc57600080fd5b506105446109eb366004614fdb565b611bfd565b3480156109fc57600080fd5b50610544610a0b366004614ebc565b611ddd565b348015610a1c57600080fd5b506104a76040518060400160405280600681526020016518989718171960d11b81525081565b348015610a4e57600080fd5b5061047f610a5d366004615230565b611df1565b348015610a6e57600080fd5b506104a7611e0b565b348015610a8357600080fd5b506106b27f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab757600080fd5b5061047f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610aeb57600080fd5b506104f4610afa366004614e90565b611e1a565b348015610b0b57600080fd5b506104f4610b1a366004614e90565b611ea0565b348015610b2b57600080fd5b50610544610b3a3660046152ca565b611eae565b348015610b4b57600080fd5b5061047f610b5a366004614e62565b611f24565b348015610b6b57600080fd5b5061047f610b7a36600461533f565b611f31565b348015610b8b57600080fd5b50610544610b9a366004615047565b611fa5565b348015610bab57600080fd5b5061047f610bba36600461533f565b611fb7565b348015610bcb57600080fd5b50610544610bda366004615376565b61202b565b348015610beb57600080fd5b50610544610bfa366004614eed565b612149565b348015610c0b57600080fd5b5061059b612168565b348015610c2057600080fd5b5061047f610c2f366004614e62565b612174565b348015610c4057600080fd5b5061047f610c4f366004614ebc565b612181565b348015610c6057600080fd5b506106b27f000000000000000000000000000000000000000000000000000000000000000081565b348015610c9457600080fd5b5061047f610ca3366004614ebc565b6121a5565b61047f610cb636600461515f565b6121c3565b348015610cc757600080fd5b5061047f610cd63660046153a6565b6124bb565b348015610ce757600080fd5b506066546001600160a01b03166106b2565b348015610d0557600080fd5b506104f4610d14366004615047565b6124e6565b348015610d2557600080fd5b50610544610d34366004614ebc565b61250c565b348015610d4557600080fd5b50610d59610d54366004614eed565b6125e1565b60405161048991906153c4565b348015610d7257600080fd5b50610544610d81366004614fdb565b612603565b348015610d9257600080fd5b506107616126b2565b348015610da757600080fd5b50610544610db6366004614eed565b612753565b348015610dc757600080fd5b506106b2612764565b610544610dde366004614e62565b61278c565b348015610def57600080fd5b5061047f610dfe366004614eed565b6127e3565b348015610e0f57600080fd5b50610544610e1e366004614ebc565b612813565b348015610e2f57600080fd5b50610544610e3e3660046153a6565b612889565b348015610e4f57600080fd5b50610544610e5e3660046150a1565b6128a7565b348015610e6f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006106b2565b606060d28054610ea5906153fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed1906153fc565b8015610f1e5780601f10610ef357610100808354040283529160200191610f1e565b820191906000526020600020905b815481529060010190602001808311610f0157829003601f168201915b5050505050905090565b6000610f358260006128c3565b92915050565b600033610f498185856128ff565b5060019392505050565b6000610f35826001612a23565b610f68612a4f565b610f7360cd82612aa9565b5050565b806000816001600160a01b03163b1180610f9857506001600160a01b038116155b610fbd5760405162461bcd60e51b8152600401610fb490615436565b60405180910390fd5b610fc5612a4f565b606680546001600160a01b0319166001600160a01b0384169081179091556040519081527fc47cbcc588c67679e52261c45cc315e56562f8d0ccaba16facb9093ff9498799906020015b60405180910390a15050565b63ffffffff8116600090815260cc60205260409020606090610f3590612abe565b60003361104a858285612acb565b611055858585612b3f565b60019150505b9392505050565b61106a612a4f565b8281146110af5760405162461bcd60e51b815260206004820152601360248201527209a867440d8cadccee8d040dad2e6dac2e8c6d606b1b6044820152606401610fb4565b60005b838110156111ec5761112a8383838181106110cf576110cf61547d565b9050602002013561013460008888868181106110ed576110ed61547d565b90506020020160208101906111029190614eed565b63ffffffff1663ffffffff168152602001908152602001600020612cea90919063ffffffff16565b156111e4576111708585838181106111445761114461547d565b90506020020160208101906111599190614eed565b63ffffffff16610135612cea90919063ffffffff16565b508282828181106111835761118361547d565b9050602002013585858381811061119c5761119c61547d565b90506020020160208101906111b19190614eed565b63ffffffff167f50f2ff5d2aecb68a5747b2c222d14e5f8d49a1e00bc6df7ef943af8e3643926560405160405180910390a35b6001016110b2565b5050505050565b6111fb612a4f565b61120482612cf6565b5063ffffffff909116600090815260cb6020526040902055565b600080611235609763ffffffff80861690612d4116565b949350505050565b600080610101546112589190600160a01b900460ff166154a9565b905090565b600033610f4981858561127083836124bb565b61127a91906154c2565b6128ff565b806000816001600160a01b03163b11806112a057506001600160a01b038116155b6112bc5760405162461bcd60e51b8152600401610fb490615436565b6112c4612a4f565b606580546001600160a01b0319166001600160a01b0384169081179091556040519081527f4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a9060200161100f565b61131a612a4f565b610f7360cd82612d5a565b60606112586097612d6f565b60007f721d42344eebce0a76684e8fddd9c81a84afda39f3019e5a078a53853f098d115b546001600160a01b0316919050565b61136c612a4f565b610f738282612e20565b61137e612a4f565b610f738282612f69565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036113c7576113c2848461302a565b611450565b61140a3363ffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660009081526101346020526040902091906130a316565b6114505760405162461bcd60e51b815260206004820152601760248201527626a19d103ab730baba3437b934bd32b2103937baba32b960491b6044820152606401610fb4565b61145c848484846130bb565b50505050565b606061146e858361302a565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168563ffffffff16036115035760006114ac83613132565b6001600160a01b03163b116115035760405162461bcd60e51b815260206004820152601e60248201527f4d433a2074617267657420726f75746572206e6f7420636f6e747261637400006044820152606401610fb4565b6040805160038082526080820190925290816020015b604080518082019091526000808252602082015281526020019060019003908161151957905050905060008061154d6116c0565b90507f000000000000000000000000000000000000000000000000000000000000000063ffffffff168763ffffffff161461159a5761159787876115908861319b565b84886131e9565b91505b6040518060400160405280826001600160a01b0316815260200183815250836000815181106115cb576115cb61547d565b602002602001018190525060006115e4888888886132cd565b91505060405180604001604052806116197f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0316815260200161163183896154c2565b815250846001815181106116475761164761547d565b602002602001018190525060405180604001604052806116847f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b031681526020016000815250846002815181106116aa576116aa61547d565b6020026020010181905250505050949350505050565b6000806116cb612764565b6001600160a01b0316036116df5750600090565b507f000000000000000000000000000000000000000000000000000000000000000090565b61170f60cd33613467565b6117525760405162461bcd60e51b815260206004820152601460248201527326a1a91d1027b7363c902932b130b630b731b2b960611b6044820152606401610fb4565b63ffffffff808416600090815260cc60205260409020849183919061177b908290849061346716565b6117c75760405162461bcd60e51b815260206004820152601760248201527f4d43523a204e6f7420616c6c6f776564206272696467650000000000000000006044820152606401610fb4565b60006117d287613489565b6040516345ec85c160e11b815263ffffffff8916600482015260248101829052604481018890529091506000906001600160a01b03871690638bd90b8290606401600060405180830381865afa158015611830573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118589190810190615545565b90506000611886827f00000000000000000000000000000000000000000000000000000000000000006134b2565b9050878111156118a2576118a261189d8983615610565b613530565b60006118ae83826134b2565b90504781111561190c5760405162461bcd60e51b8152602060048201526024808201527f526562616c616e6365206e61746976652066656520657863656564732062616c604482015263616e636560e01b6064820152608401610fb4565b60405163206d3a2d60e21b815263ffffffff8b16600482015260248101859052604481018a90526001600160a01b038916906381b4e8b490839060640160206040518083038185885af1158015611967573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061198c9190615623565b5060408051858152602081018b9052339163ffffffff8d16917fb1e1b117ddf429b1b8a359fe0e978f0ae191c0f70e0babfea7acaad1b0ee8a2d910160405180910390a350505050505050505050565b6000806119e884612174565b905061105b33848684613563565b6119fe612a4f565b611a0860006135eb565b565b611a12612a4f565b8060005b8181101561145c57611a4d848483818110611a3357611a3361547d565b9050602002016020810190611a489190614eed565b61363d565b611a586001826154c2565b9050611a16565b600080611a6b85612cf6565b9050611a79858585846121c3565b95945050505050565b60606000611a8e6116c0565b60408051600380825260808201909252919250816020015b6040805180820190915260008082526020820152815260200190600190039081611aa65790505091506040518060400160405280826001600160a01b03168152602001611af587878786613671565b81525082600081518110611b0b57611b0b61547d565b60200260200101819052506000611b238686866136a6565b9150506040518060400160405280611b587f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03168152602001611b7083876154c2565b81525083600181518110611b8657611b8661547d565b60200260200101819052506040518060400160405280611bc37f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03168152602001600081525083600281518110611be957611be961547d565b602002602001018190525050509392505050565b611c05612a4f565b828114611c4a5760405162461bcd60e51b815260206004820152601360248201527209a867440d8cadccee8d040dad2e6dac2e8c6d606b1b6044820152606401610fb4565b60005b838110156111ec57611cc5838383818110611c6a57611c6a61547d565b905060200201356101346000888886818110611c8857611c8861547d565b9050602002016020810190611c9d9190614eed565b63ffffffff1663ffffffff16815260200190815260200160002061384a90919063ffffffff16565b15611dd557611d186101346000878785818110611ce457611ce461547d565b9050602002016020810190611cf99190614eed565b63ffffffff1663ffffffff168152602001908152602001600020613856565b600003611d6257611d60858583818110611d3457611d3461547d565b9050602002016020810190611d499190614eed565b63ffffffff1661013561384a90919063ffffffff16565b505b828282818110611d7457611d7461547d565b90506020020135858583818110611d8d57611d8d61547d565b9050602002016020810190611da29190614eed565b63ffffffff167fd68ae398d7c894590fe1cc029a8141af08d20bf2d2b7888841d8c8d5dba2b3dd60405160405180910390a35b600101611c4d565b611de5612a4f565b611dee81613860565b50565b600080611dfd84611f24565b905061105b33848387613563565b606060d38054610ea5906153fc565b60003381611e2882866124bb565b905083811015611e885760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610fb4565b611e9582868684036128ff565b506001949350505050565b600033610f49818585612b3f565b611eb6612a4f565b60005b81811015611f1f57611f0d838383818110611ed657611ed661547d565b611eec9260206040909202019081019150614eed565b848484818110611efe57611efe61547d565b90506040020160200135612e20565b611f186001826154c2565b9050611eb9565b505050565b6000610f358260016128c3565b6000611f3c82612181565b841115611f8b5760405162461bcd60e51b815260206004820152601f60248201527f455243343632363a207769746864726177206d6f7265207468616e206d6178006044820152606401610fb4565b6000611f9685610f53565b905061123533858588856138ce565b611fad612a4f565b610f738282613986565b6000611fc2826121a5565b8411156120115760405162461bcd60e51b815260206004820152601d60248201527f455243343632363a2072656465656d206d6f7265207468616e206d61780000006044820152606401610fb4565b600061201c85610f28565b905061123533858584896138ce565b600054610100900460ff161580801561204b5750600054600160ff909116105b806120655750303b158015612065575060005460ff166001145b6120c85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610fb4565b6000805460ff1916600117905580156120eb576000805461ff0019166101001790555b6120f684848461399c565b6120fe6139e6565b801561145c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b612151612a4f565b63ffffffff16600090815260cb6020526040812055565b606061125860cd612abe565b6000610f35826000612a23565b6001600160a01b038116600090815260cf6020526040812054610f359060006128c3565b6001600160a01b038116600090815260cf6020526040812054610f35565b60006121cf858361302a565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168563ffffffff16036122505734156122505760405162461bcd60e51b815260206004820152601f60248201527f4d433a206c6f63616c207472616e73666572206e6f206d73672e76616c7565006044820152606401610fb4565b600061225f8686863487613a36565b915050600061226d8561319b565b604080516020810189905280820183905281518082038301815260609091019091529091507f000000000000000000000000000000000000000000000000000000000000000063ffffffff168863ffffffff16036123b45760006122d086613132565b90506000816001600160a01b03163b1161232c5760405162461bcd60e51b815260206004820152601e60248201527f4d433a2074617267657420726f75746572206e6f7420636f6e747261637400006044820152606401610fb4565b6040516356d5d47560e01b81526001600160a01b038216906356d5d4759061237c907f0000000000000000000000000000000000000000000000000000000000000000903090879060040161563c565b600060405180830381600087803b15801561239657600080fd5b505af11580156123aa573d6000803e3d6000fd5b50505050506124b0565b868863ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec846040516123ed91815260200190565b60405180910390a37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310b83dc0848a88856124398e6124346116c0565b613b94565b6065546040516001600160e01b031960e089901b16815261246a95949392916001600160a01b031690600401615661565b60206040518083038185885af1158015612488573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124ad9190615623565b93505b505050949350505050565b6001600160a01b03918216600090815260d06020908152604080832093909416825291909152205490565b63ffffffff808316600090815261013460205260408120909161105b919084906130a316565b612514612a4f565b306001600160a01b0382160361256c5760405162461bcd60e51b815260206004820152601c60248201527f46656520726563697069656e742063616e6e6f742062652073656c66000000006044820152606401610fb4565b807f721d42344eebce0a76684e8fddd9c81a84afda39f3019e5a078a53853f098d1180546001600160a01b0319166001600160a01b0392831617905560405190821681527fbf9a9534339a9d6b81696e05dcfb614b7dc518a31d48be3cfb757988381fb323906020015b60405180910390a150565b63ffffffff8116600090815261013460205260409020606090610f3590612abe565b61260b612a4f565b8281146126445760405162461bcd60e51b8152602060048201526007602482015266042d8cadccee8d60cb1b6044820152606401610fb4565b8260005b818110156126aa576126988686838181106126655761266561547d565b905060200201602081019061267a9190614eed565b85858481811061268c5761268c61547d565b90506020020135613986565b6126a36001826154c2565b9050612648565b505050505050565b606060006126c1610135613856565b90508067ffffffffffffffff8111156126dc576126dc6154d5565b604051908082528060200260200182016040528015612705578160200160208202803683370190505b50915060005b8181101561274e5761271f61013582613bb9565b8382815181106127315761273161547d565b63ffffffff9092166020928302919091019091015260010161270b565b505090565b61275b612a4f565b611dee8161363d565b60007fe797cab0ddd50f45c2a522220a721ebb6d0f53785d8595512b6122e7164a201f611355565b61279581613530565b8061013360008282546127a891906154c2565b909155505060408051338152602081018390527f5d8bc849764969eb1bcc6d0a2f55999d0167c1ccec240a4f39cf664ca9c4148e91016125d6565b6000610f35826040518060200160405280600081525061280285613bc5565b6065546001600160a01b0316613be7565b61281b612a4f565b6001600160a01b0381166128805760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fb4565b611dee816135eb565b612891612a4f565b610f736001600160a01b03831682600019613c4a565b6128af612a4f565b6128b882612cf6565b50610f738282613d92565b600061105b6128d26101335490565b6128dd9060016154c2565b6128e96000600a61578f565b60d1546128f691906154c2565b85919085613dd2565b6001600160a01b0383166129615760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610fb4565b6001600160a01b0382166129c25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610fb4565b6001600160a01b03838116600081815260d0602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061105b612a3382600a61578f565b60d154612a4091906154c2565b610133546128f69060016154c2565b6033546001600160a01b03163314611a085760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fb4565b600061105b836001600160a01b038416613e23565b6060600061105b83613e72565b6000612ad784846124bb565b9050600019811461145c5781811015612b325760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610fb4565b61145c84848484036128ff565b6001600160a01b038316612ba35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610fb4565b6001600160a01b038216612c055760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610fb4565b6001600160a01b038316600090815260cf602052604090205481811015612c7d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610fb4565b6001600160a01b03808516600081815260cf602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612cdd9086815260200190565b60405180910390a361145c565b600061105b8383613e23565b60008080612d0e609763ffffffff80871690612d4116565b915091508115612d1f579392505050565b612d2884613ece565b60405162461bcd60e51b8152600401610fb49190614e4f565b600080612d4e8484613f05565b915091505b9250929050565b600061105b836001600160a01b038416613f47565b60606000612d7c8361403a565b9050805167ffffffffffffffff811115612d9857612d986154d5565b604051908082528060200260200182016040528015612dc1578160200160208202803683370190505b50915060005b8151811015612e1957818181518110612de257612de261547d565b6020026020010151838281518110612dfc57612dfc61547d565b63ffffffff90921660209283029190910190910152600101612dc7565b5050919050565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168263ffffffff1603612e9b5760405162461bcd60e51b815260206004820152601b60248201527f4d433a206e6f2067617320666f72206c6f63616c20646f6d61696e00000000006044820152606401610fb4565b6000612ea68361121e565b141580612ecf575063ffffffff8216600090815261013460205260408120612ecd90613856565b115b612f1b5760405162461bcd60e51b815260206004820152601960248201527f4d433a20646f6d61696e20686173206e6f20726f7574657273000000000000006044820152606401610fb4565b63ffffffff8216600081815260ca6020908152604091829020849055815192835282018390527fc3de732a98b24a2b5c6f67e8a7fb057ffc14046b83968a2c73e4148d2fba978b910161100f565b612f7382826140cb565b6000612f7f6097612d6f565b905060005b8151811015612ff457600060cb6001016000848481518110612fa857612fa861547d565b602002602001015163ffffffff1663ffffffff1681526020019081526020016000209050612fdf848261346790919063ffffffff16565b15612feb575050505050565b50600101612f84565b50611f1f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168360006140ed565b613034828261417c565b8061305d575063ffffffff80831660009081526101346020526040902061305d9183906130a316565b610f735760405162461bcd60e51b815260206004820152601760248201527626a19d103ab730baba3437b934bd32b2103937baba32b960491b6044820152606401610fb4565b6000818152600183016020526040812054151561105b565b60006130c78383614190565b905060006130d584846141b9565b9050818663ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68360405161311091815260200190565b60405180910390a36126aa61312483613132565b61312d836141c9565b614217565b60006001600160a01b038211156131975760405162461bcd60e51b8152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f766572604482015263666c6f7760e01b6064820152608401610fb4565b5090565b6000610f35827f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613dd2565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166381d2ea9587846132478989604080516020810193909352828101919091528051808303820181526060909201905290565b6132518b89613b94565b6065546040516001600160e01b031960e088901b16815261328295949392916001600160a01b031690600401615661565b602060405180830381865afa15801561329f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132c39190615623565b9695505050505050565b6000806132d8611331565b91506001600160a01b0382166132f05750600061345e565b60405163183b50e360e21b815263ffffffff871660048201526024810186905260448101859052606481018490526000906001600160a01b038416906360ed438c90608401600060405180830381865afa158015613352573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261337a9190810190615545565b9050805160000361338f57506000905061345e565b805160011480156133ef57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816000815181106133d8576133d861547d565b6020026020010151600001516001600160a01b0316145b61343b5760405162461bcd60e51b815260206004820152601860248201527f4d433a20666565206d757374206d6174636820746f6b656e00000000000000006044820152606401610fb4565b8060008151811061344e5761344e61547d565b6020026020010151602001519150505b94509492505050565b6001600160a01b0381166000908152600183016020526040812054151561105b565b63ffffffff8116600090815260cb6020526040902054806134ad57610f3582612cf6565b919050565b6000805b835181101561352957826001600160a01b03168482815181106134db576134db61547d565b6020026020010151600001516001600160a01b031603613521578381815181106135075761350761547d565b6020026020010151602001518261351e91906154c2565b91505b6001016134b6565b5092915050565b611dee6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168261424b565b61356c82613530565b81610133600082825461357f91906154c2565b9091555061358f90508382614260565b826001600160a01b0316846001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d784846040516135dd929190918252602082015260400190565b60405180910390a350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63ffffffff8116600090815260cb6020908152604080832083905560cc909152902061366890614321565b611dee81614379565b60408051602081018590528082018490528151808203830181526060909101909152600090611a799086906128028886613b94565b6000806136b1611331565b91506001600160a01b0382166136c957506000613842565b6040516345ec85c160e11b815263ffffffff8616600482015260248101859052604481018490526000906001600160a01b03841690638bd90b8290606401600060405180830381865afa158015613724573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261374c9190810190615545565b90508051600003613761575060009050613842565b805160011480156137c157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816000815181106137aa576137aa61547d565b6020026020010151600001516001600160a01b0316145b61381f5760405162461bcd60e51b815260206004820152602960248201527f46756e6769626c65546f6b656e526f757465723a20666565206d757374206d616044820152683a31b4103a37b5b2b760b91b6064820152608401610fb4565b806000815181106138325761383261547d565b6020026020010151602001519150505b935093915050565b600061105b8383613f47565b6000610f35825490565b807fe797cab0ddd50f45c2a522220a721ebb6d0f53785d8595512b6122e7164a201f80546001600160a01b0319166001600160a01b0392831617905560405190821681527fd6e2f80c31feccfd7c896d69ad9963871021131ff84f2a9828b40bad60dd8cb4906020016125d6565b826001600160a01b0316856001600160a01b0316146138f2576138f2838683612acb565b6138fc83826143b4565b81610133600082825461390f9190615610565b9091555061391f90508483614217565b826001600160a01b0316846001600160a01b0316866001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db8585604051613977929190918252602082015260400190565b60405180910390a45050505050565b610f73609763ffffffff8085169084906144e816565b600054610100900460ff166139c35760405162461bcd60e51b8152600401610fb49061579e565b6139cb6144f3565b6139d48361127f565b6139dd82610f77565b611f1f816135eb565b600054610100900460ff16613a0d5760405162461bcd60e51b8152600401610fb49061579e565b611a087f0000000000000000000000000000000000000000000000000000000000000000614522565b600080600080613a48898989886132cd565b909250905060009350600084613a5e838a6154c2565b613a6891906154c2565b90506000613a74612764565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03821615801590613adb57507f000000000000000000000000000000000000000000000000000000000000000063ffffffff168c63ffffffff1614155b15613b4b576000613af78d8d613af08e61319b565b858d6131e9565b90508015613b49576001600160a01b0382163014613b2057613b1981856154c2565b9350613b35565b613b356001600160a01b038316333084614552565b613b496001600160a01b03831684836140ed565b505b613b5483613530565b8315613b6457613b64858561458a565b6001600160a01b038116613b8157613b7c838a615610565b613b83565b885b955050505050509550959350505050565b63ffffffff8216600090815260ca602052604081205460609161123590823386614594565b600061105b83836145f1565b63ffffffff8116600090815260ca6020526040902054606090610f359061461b565b600080613bf386612cf6565b6040516381d2ea9560e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061328290899085908a908a908a90600401615661565b801580613cc45750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015613c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cc29190615623565b155b613d2f5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610fb4565b6040516001600160a01b038316602482015260448101829052611f1f90849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152614639565b613d9c828261470e565b610f736001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016826000196140ed565b600080613de0868686614730565b90506001836002811115613df657613df66157e9565b148015613e13575060008480613e0e57613e0e6157ff565b868809115b15611a79576132c36001826154c2565b6000818152600183016020526040812054613e6a57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610f35565b506000610f35565b606081600001805480602002602001604051908101604052809291908181526020018280548015613ec257602002820191906000526020600020905b815481526020019060010190808311613eae575b50505050509050919050565b6060613edf8263ffffffff1661481a565b604051602001613eef9190615815565b6040516020818303038152906040529050919050565b6000818152600283016020526040812054819080613f3457613f2785856148ad565b925060009150612d539050565b600192509050612d53565b509250929050565b60008181526001830160205260408120548015614030576000613f6b600183615610565b8554909150600090613f7f90600190615610565b9050818114613fe4576000866000018281548110613f9f57613f9f61547d565b9060005260206000200154905080876000018481548110613fc257613fc261547d565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080613ff557613ff561585a565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610f35565b6000915050610f35565b60606000614047836148b9565b90508067ffffffffffffffff811115614062576140626154d5565b60405190808252806020026020018201604052801561408b578160200160208202803683370190505b50915060005b81811015612e19576140a38482613bb9565b60001c8382815181106140b8576140b861547d565b6020908102919091010152600101614091565b63ffffffff808316600090815260cc60205260409020611f1f918390612d5a16565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261413e84826148c4565b61145c576040516001600160a01b03841660248201526000604482015261417290859063095ea7b360e01b90606401613d5b565b61145c8482614639565b6000816141888461121e565b149392505050565b60008281836141a08260206154a9565b60ff16926141b093929190615870565b61105b9161589a565b6000826020836141a082806154a9565b6000610f35827f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613dd2565b610f736001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168383614967565b610f736001600160a01b038316333084614552565b6001600160a01b0382166142b65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610fb4565b8060d160008282546142c891906154c2565b90915550506001600160a01b038216600081815260cf60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b805460005b81811015614371578260010160008460000183815481106143495761434961547d565b9060005260206000200154815260200190815260200160002060009055806001019050614326565b505060009055565b61438d609763ffffffff8084169061497b16565b61439682613ece565b90610f735760405162461bcd60e51b8152600401610fb49190614e4f565b6001600160a01b0382166144145760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610fb4565b6001600160a01b038216600090815260cf6020526040902054818110156144885760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610fb4565b6001600160a01b038316600081815260cf60209081526040808320868603905560d180548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b61145c838383614987565b600054610100900460ff1661451a5760405162461bcd60e51b8152600401610fb49061579e565b611a086149a4565b600054610100900460ff166145495760405162461bcd60e51b8152600401610fb49061579e565b611dee816149d4565b6040516001600160a01b038085166024830152831660448201526064810182905261145c9085906323b872dd60e01b90608401613d5b565b610f738282614217565b604051600160f01b60208201526022810185905260428101849052606083811b6bffffffffffffffffffffffff19908116606284015283821b16607683015290608a015b6040516020818303038152906040529050949350505050565b60008260000182815481106146085761460861547d565b9060005260206000200154905092915050565b6060610f356000833360405180602001604052806000815250614a5a565b600061468e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316614a769092919063ffffffff16565b90508051600014806146af5750808060200190518101906146af91906158b8565b611f1f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610fb4565b63ffffffff808316600090815260cc60205260409020611f1f918390612aa916565b600080806000198587098587029250828110838203039150508060000361476a57838281614760576147606157ff565b049250505061105b565b8084116147b15760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610fb4565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060600061482783614a85565b600101905060008167ffffffffffffffff811115614847576148476154d5565b6040519080825280601f01601f191660200182016040528015614871576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461487b57509392505050565b600061105b83836130a3565b6000610f3582613856565b6000806000846001600160a01b0316846040516148e191906158da565b6000604051808303816000865af19150503d806000811461491e576040519150601f19603f3d011682016040523d82523d6000602084013e614923565b606091505b509150915081801561494d57508051158061494d57508080602001905181019061494d91906158b8565b8015611a795750505050506001600160a01b03163b151590565b611f1f6001600160a01b0384168383614b5d565b600061105b8383614b8d565b600082815260028401602052604081208290556112358484612cea565b600054610100900460ff166149cb5760405162461bcd60e51b8152600401610fb49061579e565b611a08336135eb565b600054610100900460ff166149fb5760405162461bcd60e51b8152600401610fb49061579e565b600080614a0783614baa565b9150915081614a17576012614a19565b805b61010180546001600160a01b039095166001600160a01b031960ff93909316600160a01b02929092166001600160a81b031990951694909417179092555050565b60606001858585856040516020016145d89594939291906158f6565b60606112358484600085614c86565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310614ac45772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614af0576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310614b0e57662386f26fc10000830492506010015b6305f5e1008310614b26576305f5e100830492506008015b6127108310614b3a57612710830492506004015b60648310614b4c576064830492506002015b600a8310610f355760010192915050565b6040516001600160a01b038316602482015260448101829052611f1f90849063a9059cbb60e01b90606401613d5b565b6000818152600283016020526040812081905561105b838361384a565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290516000918291829182916001600160a01b03871691614bf1916158da565b600060405180830381855afa9150503d8060008114614c2c576040519150601f19603f3d011682016040523d82523d6000602084013e614c31565b606091505b5091509150818015614c4557506020815110155b15614c7957600081806020019051810190614c609190615623565b905060ff8111614c77576001969095509350505050565b505b5060009485945092505050565b606082471015614ce75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610fb4565b600080866001600160a01b03168587604051614d0391906158da565b60006040518083038185875af1925050503d8060008114614d40576040519150601f19603f3d011682016040523d82523d6000602084013e614d45565b606091505b5091509150614d5687838387614d61565b979650505050505050565b60608315614dd0578251600003614dc9576001600160a01b0385163b614dc95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610fb4565b5081611235565b6112358383815115614de55781518083602001fd5b8060405162461bcd60e51b8152600401610fb49190614e4f565b60005b83811015614e1a578181015183820152602001614e02565b50506000910152565b60008151808452614e3b816020860160208601614dff565b601f01601f19169290920160200192915050565b60208152600061105b6020830184614e23565b600060208284031215614e7457600080fd5b5035919050565b6001600160a01b0381168114611dee57600080fd5b60008060408385031215614ea357600080fd5b8235614eae81614e7b565b946020939093013593505050565b600060208284031215614ece57600080fd5b813561105b81614e7b565b803563ffffffff811681146134ad57600080fd5b600060208284031215614eff57600080fd5b61105b82614ed9565b6020808252825182820181905260009190848201906040850190845b81811015614f495783516001600160a01b031683529284019291840191600101614f24565b50909695505050505050565b600080600060608486031215614f6a57600080fd5b8335614f7581614e7b565b92506020840135614f8581614e7b565b929592945050506040919091013590565b60008083601f840112614fa857600080fd5b50813567ffffffffffffffff811115614fc057600080fd5b6020830191508360208260051b8501011115612d5357600080fd5b60008060008060408587031215614ff157600080fd5b843567ffffffffffffffff8082111561500957600080fd5b61501588838901614f96565b9096509450602087013591508082111561502e57600080fd5b5061503b87828801614f96565b95989497509550505050565b6000806040838503121561505a57600080fd5b614eae83614ed9565b6020808252825182820181905260009190848201906040850190845b81811015614f4957835163ffffffff168352928401929184019160010161507f565b600080604083850312156150b457600080fd5b6150bd83614ed9565b915060208301356150cd81614e7b565b809150509250929050565b600080600080606085870312156150ee57600080fd5b6150f785614ed9565b935060208501359250604085013567ffffffffffffffff8082111561511b57600080fd5b818701915087601f83011261512f57600080fd5b81358181111561513e57600080fd5b88602082850101111561515057600080fd5b95989497505060200194505050565b6000806000806080858703121561517557600080fd5b61517e85614ed9565b966020860135965060408601359560600135945092505050565b602080825282518282018190526000919060409081850190868401855b828110156151e357815180516001600160a01b031685528601518685015292840192908501906001016151b5565b5091979650505050505050565b60008060006060848603121561520557600080fd5b61520e84614ed9565b925060208401359150604084013561522581614e7b565b809150509250925092565b6000806040838503121561524357600080fd5b8235915060208301356150cd81614e7b565b6000806020838503121561526857600080fd5b823567ffffffffffffffff81111561527f57600080fd5b61528b85828601614f96565b90969095509350505050565b6000806000606084860312156152ac57600080fd5b6152b584614ed9565b95602085013595506040909401359392505050565b600080602083850312156152dd57600080fd5b823567ffffffffffffffff808211156152f557600080fd5b818501915085601f83011261530957600080fd5b81358181111561531857600080fd5b8660208260061b850101111561532d57600080fd5b60209290920196919550909350505050565b60008060006060848603121561535457600080fd5b83359250602084013561536681614e7b565b9150604084013561522581614e7b565b60008060006060848603121561538b57600080fd5b833561539681614e7b565b9250602084013561536681614e7b565b600080604083850312156153b957600080fd5b82356150bd81614e7b565b6020808252825182820181905260009190848201906040850190845b81811015614f49578351835292840192918401916001016153e0565b600181811c9082168061541057607f821691505b60208210810361543057634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526027908201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060408201526673657474696e6760c81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60ff8181168382160190811115610f3557610f35615493565b80820180821115610f3557610f35615493565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561550e5761550e6154d5565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561553d5761553d6154d5565b604052919050565b6000602080838503121561555857600080fd5b825167ffffffffffffffff8082111561557057600080fd5b818501915085601f83011261558457600080fd5b815181811115615596576155966154d5565b6155a4848260051b01615514565b818152848101925060069190911b8301840190878211156155c457600080fd5b928401925b81841015614d5657604084890312156155e25760008081fd5b6155ea6154eb565b84516155f581614e7b565b815284860151868201528352604090930192918401916155c9565b81810381811115610f3557610f35615493565b60006020828403121561563557600080fd5b5051919050565b63ffffffff84168152826020820152606060408201526000611a796060830184614e23565b63ffffffff8616815284602082015260a06040820152600061568660a0830186614e23565b82810360608401526156988186614e23565b91505060018060a01b03831660808301529695505050505050565b600181815b80851115613f3f5781600019048211156156d4576156d4615493565b808516156156e157918102915b93841c93908002906156b8565b6000826156fd57506001610f35565b8161570a57506000610f35565b8160018114615720576002811461572a57615746565b6001915050610f35565b60ff84111561573b5761573b615493565b50506001821b610f35565b5060208310610133831016604e8410600b8410161715615769575081810a610f35565b61577383836156b3565b806000190482111561578757615787615493565b029392505050565b600061105b60ff8416836156ee565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161584d81601f850160208701614dff565b91909101601f0192915050565b634e487b7160e01b600052603160045260246000fd5b6000808585111561588057600080fd5b8386111561588d57600080fd5b5050820193919092039150565b80356020831015610f3557600019602084900360031b1b1692915050565b6000602082840312156158ca57600080fd5b8151801515811461105b57600080fd5b600082516158ec818460208701614dff565b9190910192915050565b61ffff60f01b8660f01b1681528460028201528360228201526bffffffffffffffffffffffff198360601b1660428201526000825161593c816056850160208701614dff565b91909101605601969550505050505056fea264697066735822122055e6c870631ec20b7339ee7a6dfacfcf101d32521688dfab0f3c677366f77bef64736f6c63430008160033";
13
+ attach(address: string): CrossCollateralRouter;
14
+ connect(signer: Signer): CrossCollateralRouter__factory;
15
+ static readonly bytecode = "0x6101206040523480156200001257600080fd5b5060405162005d9b38038062005d9b83398101604081905262000035916200027f565b83838383828282808080806000816001600160a01b03163b11620000a05760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001119190620002ca565b63ffffffff1660a052620001253362000210565b505050506000831180156200013a5750600082115b620001885760405162461bcd60e51b815260206004820152601e60248201527f546f6b656e526f757465723a207363616c652063616e6e6f7420626520300000604482015260640162000097565b5060c09190915260e0526001600160a01b0384163b620001f55760405162461bcd60e51b815260206004820152602160248201527f4879704552433230436f6c6c61746572616c3a20696e76616c696420746f6b656044820152603760f91b606482015260840162000097565b5050506001600160a01b03166101005250620002f992505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200027a57600080fd5b919050565b600080600080608085870312156200029657600080fd5b620002a18562000262565b93506020850151925060408501519150620002bf6060860162000262565b905092959194509250565b600060208284031215620002dd57600080fd5b815163ffffffff81168114620002f257600080fd5b9392505050565b60805160a05160c05160e0516101005161597d6200041e600039600081816106b201528181610a8901528181610e52015281816116200152818161168b0152818161170b0152818161188b01528181611b5f01528181611bca01528181613013015281816133970152818161353701528181613769015281816139f601528181613a7201528181613d97015261421e015260008181610abd015281816131be01526141cb0152600081816105fa0152818161319d01526141ec01526000818161099b015281816113fa015281816114990152818161157a015281816120b0015281816121730152818161222f01528181612e330152613aa6015260008181610c7b015281816113ba015281816122d6015281816131e70152613bfb015261597d6000f3fe6080604052600436106104685760003560e01c80638d3638f41161024a578063cdf5d48a11610139578063ef8b30f7116100b6578063f2fde38b1161007a578063f2fde38b14610de3578063fa57f15714610e03578063fbaca44c14610e23578063fc0c546a14610e43578063fd3fa4a014610e7657600080fd5b8063ef8b30f714610c14578063efae508a14610d7b578063f11f446114610d9b578063f14faf6f14610db0578063f2ed8c5314610dc357600080fd5b8063dd62ed3e116100fd578063dd62ed3e14610cd0578063de523cf314610cf0578063e74b981b14610d0e578063e9198bf914610d2e578063ef7ebdd014610d4e57600080fd5b8063cdf5d48a14610c34578063ce96cb7714610c49578063d5438eae14610c69578063d905777e14610c9d578063d9755d0f14610cbd57600080fd5b8063b1bd6436116101c7578063c0c53b8b1161018b578063c0c53b8b14610bbf578063c382711514610bdf578063c63d75b61461072a578063c69c8ce214610bff578063c6e6f59214610c1457600080fd5b8063b1bd643614610b1f578063b3d7f6b914610b3f578063b460af9414610b5f578063b49c53a714610b7f578063ba08765214610b9f57600080fd5b806395d89b411161020e57806395d89b4114610a62578063996c6cc314610a775780639f0b765914610aab578063a457c2d714610adf578063a9059cbb14610aff57600080fd5b80638d3638f4146109895780638da5cb5b146109d257806392c18454146109f057806393c4484714610a1057806394bf804d14610a4257600080fd5b8063402d267d116103665780636a99c333116102e3578063775313a1116102a7578063775313a1146108d657806377e2dc7a146109035780637f5a7c7b1461093657806381b4e8b4146109565780638bd90b821461096957600080fd5b80636a99c333146108385780636e553f651461084b57806370a082311461086b578063715018a6146108a157806371a15b38146108b657600080fd5b80634cdad5061161032a5780634cdad506146104b45780634e38a81d146107c357806356d5d475146107e357806360ed438c146107f6578063647846a51461082357600080fd5b8063402d267d1461072a57806343bc4b9a1461074c578063440df4f41461076c578063469048401461078e57806349d462ef146107a357600080fd5b806318160ddd116103f45780632ead72f6116103b85780632ead72f61461065c578063313ce5671461067c57806338d52e0f146106a357806339509351146106ea5780633dfd38731461070a57600080fd5b806318160ddd146105a65780631ba83149146105bb5780631c2eaac0146105e857806323b872dd1461061c5780632c2d80891461063c57600080fd5b8063095ea7b31161043b578063095ea7b3146104f65780630a28a477146105265780630c979919146105465780630e72cc06146105665780630f9969a41461058657600080fd5b806301e1d1141461046d57806306fdde031461049257806307a2d13a146104b4578063081954bc146104d4575b600080fd5b34801561047957600080fd5b50610133545b6040519081526020015b60405180910390f35b34801561049e57600080fd5b506104a7610e96565b6040516104899190614e49565b3480156104c057600080fd5b5061047f6104cf366004614e5c565b610f28565b3480156104e057600080fd5b506104f46104ef366004614eba565b610f3b565b005b34801561050257600080fd5b50610516610511366004614f3b565b6110d2565b6040519015158152602001610489565b34801561053257600080fd5b5061047f610541366004614e5c565b6110ea565b34801561055257600080fd5b506104f4610561366004614f67565b6110f7565b34801561057257600080fd5b506104f4610581366004614f67565b61110e565b34801561059257600080fd5b506105166105a1366004614f98565b6111a9565b3480156105b257600080fd5b5060d15461047f565b3480156105c757600080fd5b506105db6105d6366004614fb4565b6111d6565b6040516104899190614fcf565b3480156105f457600080fd5b5061047f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561062857600080fd5b5061051661063736600461501c565b6111f7565b34801561064857600080fd5b506104f4610657366004614f98565b61121b565b34801561066857600080fd5b5061047f610677366004614fb4565b611246565b34801561068857600080fd5b50610691611265565b60405160ff9091168152602001610489565b3480156106af57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610489565b3480156106f657600080fd5b50610516610705366004614f3b565b611285565b34801561071657600080fd5b506104f4610725366004614f67565b6112a7565b34801561073657600080fd5b5061047f610745366004614f67565b5060001990565b34801561075857600080fd5b506104f4610767366004614f67565b61133a565b34801561077857600080fd5b5061078161134d565b604051610489919061505d565b34801561079a57600080fd5b506106d2611359565b3480156107af57600080fd5b506104f46107be366004614f98565b61138c565b3480156107cf57600080fd5b506104f46107de36600461509b565b61139e565b6104f46107f13660046150d2565b6113b0565b34801561080257600080fd5b50610816610811366004615159565b61148b565b6040516104899190615192565b34801561082f57600080fd5b506106d26116e9565b6104f46108463660046151ea565b61172d565b34801561085757600080fd5b5061047f61086636600461522a565b611a05565b34801561087757600080fd5b5061047f610886366004614f67565b6001600160a01b0316600090815260cf602052604090205490565b3480156108ad57600080fd5b506104f4611a1f565b3480156108c257600080fd5b506104f46108d136600461524f565b611a33565b3480156108e257600080fd5b5061047f6108f1366004614fb4565b60ca6020526000908152604090205481565b34801561090f57600080fd5b5061047f61091e366004614fb4565b63ffffffff16600090815260cb602052604090205490565b34801561094257600080fd5b506065546106d2906001600160a01b031681565b61047f610964366004615291565b611a88565b34801561097557600080fd5b50610816610984366004615291565b611aab565b34801561099557600080fd5b506109bd7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610489565b3480156109de57600080fd5b506033546001600160a01b03166106d2565b3480156109fc57600080fd5b506104f4610a0b366004614f67565b611c26565b348015610a1c57600080fd5b506104a76040518060400160405280600681526020016531312e302e3360d01b81525081565b348015610a4e57600080fd5b5061047f610a5d36600461522a565b611c3a565b348015610a6e57600080fd5b506104a7611c54565b348015610a8357600080fd5b506106d27f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab757600080fd5b5061047f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610aeb57600080fd5b50610516610afa366004614f3b565b611c63565b348015610b0b57600080fd5b50610516610b1a366004614f3b565b611cde565b348015610b2b57600080fd5b506104f4610b3a3660046152c4565b611cec565b348015610b4b57600080fd5b5061047f610b5a366004614e5c565b611d62565b348015610b6b57600080fd5b5061047f610b7a366004615339565b611d6f565b348015610b8b57600080fd5b506104f4610b9a366004614f98565b611de3565b348015610bab57600080fd5b5061047f610bba366004615339565b611df5565b348015610bcb57600080fd5b506104f4610bda366004615370565b611e69565b348015610beb57600080fd5b506104f4610bfa366004614fb4565b611f87565b348015610c0b57600080fd5b506105db611fa6565b348015610c2057600080fd5b5061047f610c2f366004614e5c565b611fb2565b348015610c4057600080fd5b50610781611fbf565b348015610c5557600080fd5b5061047f610c64366004614f67565b612060565b348015610c7557600080fd5b506106d27f000000000000000000000000000000000000000000000000000000000000000081565b348015610ca957600080fd5b5061047f610cb8366004614f67565b612084565b61047f610ccb366004615159565b6120a2565b348015610cdc57600080fd5b5061047f610ceb3660046153a0565b61239a565b348015610cfc57600080fd5b506066546001600160a01b03166106d2565b348015610d1a57600080fd5b506104f4610d29366004614f67565b6123c5565b348015610d3a57600080fd5b506104f4610d49366004614eba565b61249a565b348015610d5a57600080fd5b50610d6e610d69366004614fb4565b612549565b60405161048991906153be565b348015610d8757600080fd5b506104f4610d96366004614fb4565b61256b565b348015610da757600080fd5b506106d261257c565b6104f4610dbe366004614e5c565b6125a4565b348015610dcf57600080fd5b5061047f610dde366004614fb4565b6125fb565b348015610def57600080fd5b506104f4610dfe366004614f67565b61262b565b348015610e0f57600080fd5b506104f4610e1e3660046153a0565b6126a1565b348015610e2f57600080fd5b506104f4610e3e36600461509b565b6126bf565b348015610e4f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006106d2565b348015610e8257600080fd5b506104f4610e91366004614eba565b6126db565b606060d28054610ea5906153f6565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed1906153f6565b8015610f1e5780601f10610ef357610100808354040283529160200191610f1e565b820191906000526020600020905b815481529060010190602001808311610f0157829003601f168201915b5050505050905090565b6000610f358260006128bc565b92915050565b610f436128f8565b828114610f8e5760405162461bcd60e51b815260206004820152601460248201527308686a47440d8cadccee8d040dad2e6dac2e8c6d60631b60448201526064015b60405180910390fd5b60005b838110156110cb57611009838383818110610fae57610fae615430565b905060200201356101346000888886818110610fcc57610fcc615430565b9050602002016020810190610fe19190614fb4565b63ffffffff1663ffffffff16815260200190815260200160002061295290919063ffffffff16565b156110c35761104f85858381811061102357611023615430565b90506020020160208101906110389190614fb4565b63ffffffff1661013561295290919063ffffffff16565b5082828281811061106257611062615430565b9050602002013585858381811061107b5761107b615430565b90506020020160208101906110909190614fb4565b63ffffffff167fe2cfaeba7e1fe770315538798648c0aed8b9d4c3e5096bf0a36b8185c1cd2f2960405160405180910390a35b600101610f91565b5050505050565b6000336110e081858561295e565b5060019392505050565b6000610f35826001612a82565b6110ff6128f8565b61110a60cd82612aae565b5050565b806000816001600160a01b03163b118061112f57506001600160a01b038116155b61114b5760405162461bcd60e51b8152600401610f8590615446565b6111536128f8565b606680546001600160a01b0319166001600160a01b0384169081179091556040519081527fc47cbcc588c67679e52261c45cc315e56562f8d0ccaba16facb9093ff9498799906020015b60405180910390a15050565b63ffffffff80831660009081526101346020526040812090916111cf91908490612ac316565b9392505050565b63ffffffff8116600090815260cc60205260409020606090610f3590612adb565b600033611205858285612ae8565b611210858585612b5c565b506001949350505050565b6112236128f8565b61122c82612d07565b5063ffffffff909116600090815260cb6020526040902055565b60008061125d609763ffffffff80861690612d5216565b949350505050565b600080610101546112809190600160a01b900460ff166154a3565b905090565b6000336110e0818585611298838361239a565b6112a291906154bc565b61295e565b806000816001600160a01b03163b11806112c857506001600160a01b038116155b6112e45760405162461bcd60e51b8152600401610f8590615446565b6112ec6128f8565b606580546001600160a01b0319166001600160a01b0384169081179091556040519081527f4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a9060200161119d565b6113426128f8565b61110a60cd82612d6b565b60606112806097612d80565b60007f721d42344eebce0a76684e8fddd9c81a84afda39f3019e5a078a53853f098d115b546001600160a01b0316919050565b6113946128f8565b61110a8282612e31565b6113a66128f8565b61110a8282612f7a565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036113ef576113ea848461303b565b611479565b6114323363ffffffff7f000000000000000000000000000000000000000000000000000000000000000081166000908152610134602052604090209190612ac316565b6114795760405162461bcd60e51b815260206004820152601860248201527721a1a91d103ab730baba3437b934bd32b2103937baba32b960411b6044820152606401610f85565b611485848484846130b5565b50505050565b6060611497858361303b565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168563ffffffff160361152c5760006114d58361312c565b6001600160a01b03163b1161152c5760405162461bcd60e51b815260206004820152601f60248201527f4343523a2074617267657420726f75746572206e6f7420636f6e7472616374006044820152606401610f85565b6040805160038082526080820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816115425790505090506000806115766116e9565b90507f000000000000000000000000000000000000000000000000000000000000000063ffffffff168763ffffffff16146115c3576115c087876115b988613195565b84886131e3565b91505b6040518060400160405280826001600160a01b0316815260200183815250836000815181106115f4576115f4615430565b6020026020010181905250600061160d888888886132c7565b91505060405180604001604052806116427f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0316815260200161165a83896154bc565b8152508460018151811061167057611670615430565b602002602001018190525060405180604001604052806116ad7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b031681526020016000815250846002815181106116d3576116d3615430565b6020026020010181905250505050949350505050565b6000806116f461257c565b6001600160a01b0316036117085750600090565b507f000000000000000000000000000000000000000000000000000000000000000090565b61173860cd33613461565b61177b5760405162461bcd60e51b815260206004820152601460248201527326a1a91d1027b7363c902932b130b630b731b2b960611b6044820152606401610f85565b63ffffffff808416600090815260cc6020526040902084918391906117a4908290849061346116565b6117f05760405162461bcd60e51b815260206004820152601760248201527f4d43523a204e6f7420616c6c6f776564206272696467650000000000000000006044820152606401610f85565b60006117fb87613483565b6040516345ec85c160e11b815263ffffffff8916600482015260248101829052604481018890529091506000906001600160a01b03871690638bd90b8290606401600060405180830381865afa158015611859573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611881919081019061553f565b905060006118af827f00000000000000000000000000000000000000000000000000000000000000006134ac565b9050878111156118cb576118cb6118c6898361560a565b61352a565b60006118d783826134ac565b9050478111156119355760405162461bcd60e51b8152602060048201526024808201527f526562616c616e6365206e61746976652066656520657863656564732062616c604482015263616e636560e01b6064820152608401610f85565b60405163206d3a2d60e21b815263ffffffff8b16600482015260248101859052604481018a90526001600160a01b038916906381b4e8b490839060640160206040518083038185885af1158015611990573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119b5919061561d565b5060408051858152602081018b9052339163ffffffff8d16917fb1e1b117ddf429b1b8a359fe0e978f0ae191c0f70e0babfea7acaad1b0ee8a2d910160405180910390a350505050505050505050565b600080611a1184611fb2565b90506111cf3384868461355d565b611a276128f8565b611a3160006135e5565b565b611a3b6128f8565b8060005b8181101561148557611a76848483818110611a5c57611a5c615430565b9050602002016020810190611a719190614fb4565b613637565b611a816001826154bc565b9050611a3f565b600080611a9485612d07565b9050611aa2858585846120a2565b95945050505050565b60606000611ab76116e9565b60408051600380825260808201909252919250816020015b6040805180820190915260008082526020820152815260200190600190039081611acf5790505091506040518060400160405280826001600160a01b03168152602001611b1e8787878661366b565b81525082600081518110611b3457611b34615430565b60200260200101819052506000611b4c8686866136a0565b9150506040518060400160405280611b817f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03168152602001611b9983876154bc565b81525083600181518110611baf57611baf615430565b60200260200101819052506040518060400160405280611bec7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03168152602001600081525083600281518110611c1257611c12615430565b602002602001018190525050509392505050565b611c2e6128f8565b611c3781613844565b50565b600080611c4684611d62565b90506111cf3384838761355d565b606060d38054610ea5906153f6565b60003381611c71828661239a565b905083811015611cd15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610f85565b611210828686840361295e565b6000336110e0818585612b5c565b611cf46128f8565b60005b81811015611d5d57611d4b838383818110611d1457611d14615430565b611d2a9260206040909202019081019150614fb4565b848484818110611d3c57611d3c615430565b90506040020160200135612e31565b611d566001826154bc565b9050611cf7565b505050565b6000610f358260016128bc565b6000611d7a82612060565b841115611dc95760405162461bcd60e51b815260206004820152601f60248201527f455243343632363a207769746864726177206d6f7265207468616e206d6178006044820152606401610f85565b6000611dd4856110ea565b905061125d33858588856138b2565b611deb6128f8565b61110a828261396a565b6000611e0082612084565b841115611e4f5760405162461bcd60e51b815260206004820152601d60248201527f455243343632363a2072656465656d206d6f7265207468616e206d61780000006044820152606401610f85565b6000611e5a85610f28565b905061125d33858584896138b2565b600054610100900460ff1615808015611e895750600054600160ff909116105b80611ea35750303b158015611ea3575060005460ff166001145b611f065760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610f85565b6000805460ff191660011790558015611f29576000805461ff0019166101001790555b611f34848484613980565b611f3c6139ca565b8015611485576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b611f8f6128f8565b63ffffffff16600090815260cb6020526040812055565b606061128060cd612adb565b6000610f35826000612a82565b60606000611fce610135613a1a565b90508067ffffffffffffffff811115611fe957611fe96154cf565b604051908082528060200260200182016040528015612012578160200160208202803683370190505b50915060005b8181101561205b5761202c61013582613a24565b83828151811061203e5761203e615430565b63ffffffff90921660209283029190910190910152600101612018565b505090565b6001600160a01b038116600090815260cf6020526040812054610f359060006128bc565b6001600160a01b038116600090815260cf6020526040812054610f35565b60006120ae858361303b565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168563ffffffff160361212f57341561212f5760405162461bcd60e51b815260206004820181905260248201527f4343523a206c6f63616c207472616e73666572206e6f206d73672e76616c75656044820152606401610f85565b600061213e8686863487613a30565b915050600061214c85613195565b604080516020810189905280820183905281518082038301815260609091019091529091507f000000000000000000000000000000000000000000000000000000000000000063ffffffff168863ffffffff16036122935760006121af8661312c565b90506000816001600160a01b03163b1161220b5760405162461bcd60e51b815260206004820152601f60248201527f4343523a2074617267657420726f75746572206e6f7420636f6e7472616374006044820152606401610f85565b6040516356d5d47560e01b81526001600160a01b038216906356d5d4759061225b907f00000000000000000000000000000000000000000000000000000000000000009030908790600401615636565b600060405180830381600087803b15801561227557600080fd5b505af1158015612289573d6000803e3d6000fd5b505050505061238f565b868863ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec846040516122cc91815260200190565b60405180910390a37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310b83dc0848a88856123188e6123136116e9565b613b8e565b6065546040516001600160e01b031960e089901b16815261234995949392916001600160a01b03169060040161565b565b60206040518083038185885af1158015612367573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061238c919061561d565b93505b505050949350505050565b6001600160a01b03918216600090815260d06020908152604080832093909416825291909152205490565b6123cd6128f8565b306001600160a01b038216036124255760405162461bcd60e51b815260206004820152601c60248201527f46656520726563697069656e742063616e6e6f742062652073656c66000000006044820152606401610f85565b807f721d42344eebce0a76684e8fddd9c81a84afda39f3019e5a078a53853f098d1180546001600160a01b0319166001600160a01b0392831617905560405190821681527fbf9a9534339a9d6b81696e05dcfb614b7dc518a31d48be3cfb757988381fb323906020015b60405180910390a150565b6124a26128f8565b8281146124db5760405162461bcd60e51b8152602060048201526007602482015266042d8cadccee8d60cb1b6044820152606401610f85565b8260005b818110156125415761252f8686838181106124fc576124fc615430565b90506020020160208101906125119190614fb4565b85858481811061252357612523615430565b9050602002013561396a565b61253a6001826154bc565b90506124df565b505050505050565b63ffffffff8116600090815261013460205260409020606090610f3590612adb565b6125736128f8565b611c3781613637565b60007fe797cab0ddd50f45c2a522220a721ebb6d0f53785d8595512b6122e7164a201f61137d565b6125ad8161352a565b8061013360008282546125c091906154bc565b909155505060408051338152602081018390527f5d8bc849764969eb1bcc6d0a2f55999d0167c1ccec240a4f39cf664ca9c4148e910161248f565b6000610f35826040518060200160405280600081525061261a85613bb3565b6065546001600160a01b0316613bd5565b6126336128f8565b6001600160a01b0381166126985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f85565b611c37816135e5565b6126a96128f8565b61110a6001600160a01b03831682600019613c38565b6126c76128f8565b6126d082612d07565b5061110a8282613d80565b6126e36128f8565b8281146127295760405162461bcd60e51b815260206004820152601460248201527308686a47440d8cadccee8d040dad2e6dac2e8c6d60631b6044820152606401610f85565b60005b838110156110cb576127a483838381811061274957612749615430565b90506020020135610134600088888681811061276757612767615430565b905060200201602081019061277c9190614fb4565b63ffffffff1663ffffffff168152602001908152602001600020613dc090919063ffffffff16565b156128b4576127f761013460008787858181106127c3576127c3615430565b90506020020160208101906127d89190614fb4565b63ffffffff1663ffffffff168152602001908152602001600020613a1a565b6000036128415761283f85858381811061281357612813615430565b90506020020160208101906128289190614fb4565b63ffffffff16610135613dc090919063ffffffff16565b505b82828281811061285357612853615430565b9050602002013585858381811061286c5761286c615430565b90506020020160208101906128819190614fb4565b63ffffffff167f080702c2e9e59f89368b5aa4256101325de453b6c71535ac84afdedff8852e5c60405160405180910390a35b60010161272c565b60006111cf6128cb6101335490565b6128d69060016154bc565b6128e26000600a615789565b60d1546128ef91906154bc565b85919085613dcc565b6033546001600160a01b03163314611a315760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f85565b60006111cf8383613e1d565b6001600160a01b0383166129c05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610f85565b6001600160a01b038216612a215760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610f85565b6001600160a01b03838116600081815260d0602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111cf612a9282600a615789565b60d154612a9f91906154bc565b610133546128ef9060016154bc565b60006111cf836001600160a01b038416613e1d565b600081815260018301602052604081205415156111cf565b606060006111cf83613e6c565b6000612af4848461239a565b905060001981146114855781811015612b4f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610f85565b611485848484840361295e565b6001600160a01b038316612bc05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610f85565b6001600160a01b038216612c225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610f85565b6001600160a01b038316600090815260cf602052604090205481811015612c9a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610f85565b6001600160a01b03808516600081815260cf602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612cfa9086815260200190565b60405180910390a3611485565b60008080612d1f609763ffffffff80871690612d5216565b915091508115612d30579392505050565b612d3984613ec8565b60405162461bcd60e51b8152600401610f859190614e49565b600080612d5f8484613eff565b915091505b9250929050565b60006111cf836001600160a01b038416613f41565b60606000612d8d83614034565b9050805167ffffffffffffffff811115612da957612da96154cf565b604051908082528060200260200182016040528015612dd2578160200160208202803683370190505b50915060005b8151811015612e2a57818181518110612df357612df3615430565b6020026020010151838281518110612e0d57612e0d615430565b63ffffffff90921660209283029190910190910152600101612dd8565b5050919050565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168263ffffffff1603612eac5760405162461bcd60e51b815260206004820152601c60248201527f4343523a206e6f2067617320666f72206c6f63616c20646f6d61696e000000006044820152606401610f85565b6000612eb783611246565b141580612ee0575063ffffffff8216600090815261013460205260408120612ede90613a1a565b115b612f2c5760405162461bcd60e51b815260206004820152601a60248201527f4343523a20646f6d61696e20686173206e6f20726f75746572730000000000006044820152606401610f85565b63ffffffff8216600081815260ca6020908152604091829020849055815192835282018390527fc3de732a98b24a2b5c6f67e8a7fb057ffc14046b83968a2c73e4148d2fba978b910161119d565b612f8482826140c5565b6000612f906097612d80565b905060005b815181101561300557600060cb6001016000848481518110612fb957612fb9615430565b602002602001015163ffffffff1663ffffffff1681526020019081526020016000209050612ff0848261346190919063ffffffff16565b15612ffc575050505050565b50600101612f95565b50611d5d6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168360006140e7565b6130458282614176565b8061306e575063ffffffff80831660009081526101346020526040902061306e918390612ac316565b61110a5760405162461bcd60e51b815260206004820152601860248201527721a1a91d103ab730baba3437b934bd32b2103937baba32b960411b6044820152606401610f85565b60006130c1838361418a565b905060006130cf84846141b3565b9050818663ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68360405161310a91815260200190565b60405180910390a361254161311e8361312c565b613127836141c3565b614211565b60006001600160a01b038211156131915760405162461bcd60e51b8152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f766572604482015263666c6f7760e01b6064820152608401610f85565b5090565b6000610f35827f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613dcc565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166381d2ea9587846132418989604080516020810193909352828101919091528051808303820181526060909201905290565b61324b8b89613b8e565b6065546040516001600160e01b031960e088901b16815261327c95949392916001600160a01b03169060040161565b565b602060405180830381865afa158015613299573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132bd919061561d565b9695505050505050565b6000806132d2611359565b91506001600160a01b0382166132ea57506000613458565b60405163183b50e360e21b815263ffffffff871660048201526024810186905260448101859052606481018490526000906001600160a01b038416906360ed438c90608401600060405180830381865afa15801561334c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613374919081019061553f565b90508051600003613389575060009050613458565b805160011480156133e957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816000815181106133d2576133d2615430565b6020026020010151600001516001600160a01b0316145b6134355760405162461bcd60e51b815260206004820152601960248201527f4343523a20666565206d757374206d6174636820746f6b656e000000000000006044820152606401610f85565b8060008151811061344857613448615430565b6020026020010151602001519150505b94509492505050565b6001600160a01b038116600090815260018301602052604081205415156111cf565b63ffffffff8116600090815260cb6020526040902054806134a757610f3582612d07565b919050565b6000805b835181101561352357826001600160a01b03168482815181106134d5576134d5615430565b6020026020010151600001516001600160a01b03160361351b5783818151811061350157613501615430565b6020026020010151602001518261351891906154bc565b91505b6001016134b0565b5092915050565b611c376001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001682614245565b6135668261352a565b81610133600082825461357991906154bc565b909155506135899050838261425a565b826001600160a01b0316846001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d784846040516135d7929190918252602082015260400190565b60405180910390a350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63ffffffff8116600090815260cb6020908152604080832083905560cc90915290206136629061431b565b611c3781614373565b60408051602081018590528082018490528151808203830181526060909101909152600090611aa290869061261a8886613b8e565b6000806136ab611359565b91506001600160a01b0382166136c35750600061383c565b6040516345ec85c160e11b815263ffffffff8616600482015260248101859052604481018490526000906001600160a01b03841690638bd90b8290606401600060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613746919081019061553f565b9050805160000361375b57506000905061383c565b805160011480156137bb57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816000815181106137a4576137a4615430565b6020026020010151600001516001600160a01b0316145b6138195760405162461bcd60e51b815260206004820152602960248201527f46756e6769626c65546f6b656e526f757465723a20666565206d757374206d616044820152683a31b4103a37b5b2b760b91b6064820152608401610f85565b8060008151811061382c5761382c615430565b6020026020010151602001519150505b935093915050565b807fe797cab0ddd50f45c2a522220a721ebb6d0f53785d8595512b6122e7164a201f80546001600160a01b0319166001600160a01b0392831617905560405190821681527fd6e2f80c31feccfd7c896d69ad9963871021131ff84f2a9828b40bad60dd8cb49060200161248f565b826001600160a01b0316856001600160a01b0316146138d6576138d6838683612ae8565b6138e083826143ae565b8161013360008282546138f3919061560a565b9091555061390390508483614211565b826001600160a01b0316846001600160a01b0316866001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db858560405161395b929190918252602082015260400190565b60405180910390a45050505050565b61110a609763ffffffff8085169084906144e216565b600054610100900460ff166139a75760405162461bcd60e51b8152600401610f8590615798565b6139af6144ed565b6139b8836112a7565b6139c18261110e565b611d5d816135e5565b600054610100900460ff166139f15760405162461bcd60e51b8152600401610f8590615798565b611a317f000000000000000000000000000000000000000000000000000000000000000061451c565b6000610f35825490565b60006111cf838361454c565b600080600080613a42898989886132c7565b909250905060009350600084613a58838a6154bc565b613a6291906154bc565b90506000613a6e61257c565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03821615801590613ad557507f000000000000000000000000000000000000000000000000000000000000000063ffffffff168c63ffffffff1614155b15613b45576000613af18d8d613aea8e613195565b858d6131e3565b90508015613b43576001600160a01b0382163014613b1a57613b1381856154bc565b9350613b2f565b613b2f6001600160a01b038316333084614576565b613b436001600160a01b03831684836140e7565b505b613b4e8361352a565b8315613b5e57613b5e85856145ae565b6001600160a01b038116613b7b57613b76838a61560a565b613b7d565b885b955050505050509550959350505050565b63ffffffff8216600090815260ca602052604081205460609161125d908233866145b8565b63ffffffff8116600090815260ca6020526040902054606090610f3590614615565b600080613be186612d07565b6040516381d2ea9560e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061327c90899085908a908a908a9060040161565b565b801580613cb25750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015613c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cb0919061561d565b155b613d1d5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610f85565b6040516001600160a01b038316602482015260448101829052611d5d90849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152614633565b613d8a8282614708565b61110a6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016826000196140e7565b60006111cf8383613f41565b600080613dda86868661472a565b90506001836002811115613df057613df06157e3565b148015613e0d575060008480613e0857613e086157f9565b868809115b15611aa2576132bd6001826154bc565b6000818152600183016020526040812054613e6457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610f35565b506000610f35565b606081600001805480602002602001604051908101604052809291908181526020018280548015613ebc57602002820191906000526020600020905b815481526020019060010190808311613ea8575b50505050509050919050565b6060613ed98263ffffffff16614814565b604051602001613ee9919061580f565b6040516020818303038152906040529050919050565b6000818152600283016020526040812054819080613f2e57613f2185856148a7565b925060009150612d649050565b600192509050612d64565b509250929050565b6000818152600183016020526040812054801561402a576000613f6560018361560a565b8554909150600090613f799060019061560a565b9050818114613fde576000866000018281548110613f9957613f99615430565b9060005260206000200154905080876000018481548110613fbc57613fbc615430565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080613fef57613fef615854565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610f35565b6000915050610f35565b60606000614041836148b3565b90508067ffffffffffffffff81111561405c5761405c6154cf565b604051908082528060200260200182016040528015614085578160200160208202803683370190505b50915060005b81811015612e2a5761409d8482613a24565b60001c8382815181106140b2576140b2615430565b602090810291909101015260010161408b565b63ffffffff808316600090815260cc60205260409020611d5d918390612d6b16565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261413884826148be565b611485576040516001600160a01b03841660248201526000604482015261416c90859063095ea7b360e01b90606401613d49565b6114858482614633565b60008161418284611246565b149392505050565b600082818361419a8260206154a3565b60ff16926141aa9392919061586a565b6111cf91615894565b60008260208361419a82806154a3565b6000610f35827f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613dcc565b61110a6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168383614961565b61110a6001600160a01b038316333084614576565b6001600160a01b0382166142b05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610f85565b8060d160008282546142c291906154bc565b90915550506001600160a01b038216600081815260cf60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b805460005b8181101561436b5782600101600084600001838154811061434357614343615430565b9060005260206000200154815260200190815260200160002060009055806001019050614320565b505060009055565b614387609763ffffffff8084169061497516565b61439082613ec8565b9061110a5760405162461bcd60e51b8152600401610f859190614e49565b6001600160a01b03821661440e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610f85565b6001600160a01b038216600090815260cf6020526040902054818110156144825760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610f85565b6001600160a01b038316600081815260cf60209081526040808320868603905560d180548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b611485838383614981565b600054610100900460ff166145145760405162461bcd60e51b8152600401610f8590615798565b611a3161499e565b600054610100900460ff166145435760405162461bcd60e51b8152600401610f8590615798565b611c37816149ce565b600082600001828154811061456357614563615430565b9060005260206000200154905092915050565b6040516001600160a01b03808516602483015283166044820152606481018290526114859085906323b872dd60e01b90608401613d49565b61110a8282614211565b604051600160f01b60208201526022810185905260428101849052606083811b6bffffffffffffffffffffffff19908116606284015283821b16607683015290608a015b6040516020818303038152906040529050949350505050565b6060610f356000833360405180602001604052806000815250614a54565b6000614688826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316614a709092919063ffffffff16565b90508051600014806146a95750808060200190518101906146a991906158b2565b611d5d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610f85565b63ffffffff808316600090815260cc60205260409020611d5d918390612aae16565b60008080600019858709858702925082811083820303915050806000036147645783828161475a5761475a6157f9565b04925050506111cf565b8084116147ab5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610f85565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060600061482183614a7f565b600101905060008167ffffffffffffffff811115614841576148416154cf565b6040519080825280601f01601f19166020018201604052801561486b576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461487557509392505050565b60006111cf8383612ac3565b6000610f3582613a1a565b6000806000846001600160a01b0316846040516148db91906158d4565b6000604051808303816000865af19150503d8060008114614918576040519150601f19603f3d011682016040523d82523d6000602084013e61491d565b606091505b509150915081801561494757508051158061494757508080602001905181019061494791906158b2565b8015611aa25750505050506001600160a01b03163b151590565b611d5d6001600160a01b0384168383614b57565b60006111cf8383614b87565b6000828152600284016020526040812082905561125d8484612952565b600054610100900460ff166149c55760405162461bcd60e51b8152600401610f8590615798565b611a31336135e5565b600054610100900460ff166149f55760405162461bcd60e51b8152600401610f8590615798565b600080614a0183614ba4565b9150915081614a11576012614a13565b805b61010180546001600160a01b039095166001600160a01b031960ff93909316600160a01b02929092166001600160a81b031990951694909417179092555050565b60606001858585856040516020016145fc9594939291906158f0565b606061125d8484600085614c80565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310614abe5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614aea576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310614b0857662386f26fc10000830492506010015b6305f5e1008310614b20576305f5e100830492506008015b6127108310614b3457612710830492506004015b60648310614b46576064830492506002015b600a8310610f355760010192915050565b6040516001600160a01b038316602482015260448101829052611d5d90849063a9059cbb60e01b90606401613d49565b600081815260028301602052604081208190556111cf8383613dc0565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290516000918291829182916001600160a01b03871691614beb916158d4565b600060405180830381855afa9150503d8060008114614c26576040519150601f19603f3d011682016040523d82523d6000602084013e614c2b565b606091505b5091509150818015614c3f57506020815110155b15614c7357600081806020019051810190614c5a919061561d565b905060ff8111614c71576001969095509350505050565b505b5060009485945092505050565b606082471015614ce15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610f85565b600080866001600160a01b03168587604051614cfd91906158d4565b60006040518083038185875af1925050503d8060008114614d3a576040519150601f19603f3d011682016040523d82523d6000602084013e614d3f565b606091505b5091509150614d5087838387614d5b565b979650505050505050565b60608315614dca578251600003614dc3576001600160a01b0385163b614dc35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f85565b508161125d565b61125d8383815115614ddf5781518083602001fd5b8060405162461bcd60e51b8152600401610f859190614e49565b60005b83811015614e14578181015183820152602001614dfc565b50506000910152565b60008151808452614e35816020860160208601614df9565b601f01601f19169290920160200192915050565b6020815260006111cf6020830184614e1d565b600060208284031215614e6e57600080fd5b5035919050565b60008083601f840112614e8757600080fd5b50813567ffffffffffffffff811115614e9f57600080fd5b6020830191508360208260051b8501011115612d6457600080fd5b60008060008060408587031215614ed057600080fd5b843567ffffffffffffffff80821115614ee857600080fd5b614ef488838901614e75565b90965094506020870135915080821115614f0d57600080fd5b50614f1a87828801614e75565b95989497509550505050565b6001600160a01b0381168114611c3757600080fd5b60008060408385031215614f4e57600080fd5b8235614f5981614f26565b946020939093013593505050565b600060208284031215614f7957600080fd5b81356111cf81614f26565b803563ffffffff811681146134a757600080fd5b60008060408385031215614fab57600080fd5b614f5983614f84565b600060208284031215614fc657600080fd5b6111cf82614f84565b6020808252825182820181905260009190848201906040850190845b818110156150105783516001600160a01b031683529284019291840191600101614feb565b50909695505050505050565b60008060006060848603121561503157600080fd5b833561503c81614f26565b9250602084013561504c81614f26565b929592945050506040919091013590565b6020808252825182820181905260009190848201906040850190845b8181101561501057835163ffffffff1683529284019291840191600101615079565b600080604083850312156150ae57600080fd5b6150b783614f84565b915060208301356150c781614f26565b809150509250929050565b600080600080606085870312156150e857600080fd5b6150f185614f84565b935060208501359250604085013567ffffffffffffffff8082111561511557600080fd5b818701915087601f83011261512957600080fd5b81358181111561513857600080fd5b88602082850101111561514a57600080fd5b95989497505060200194505050565b6000806000806080858703121561516f57600080fd5b61517885614f84565b966020860135965060408601359560600135945092505050565b602080825282518282018190526000919060409081850190868401855b828110156151dd57815180516001600160a01b031685528601518685015292840192908501906001016151af565b5091979650505050505050565b6000806000606084860312156151ff57600080fd5b61520884614f84565b925060208401359150604084013561521f81614f26565b809150509250925092565b6000806040838503121561523d57600080fd5b8235915060208301356150c781614f26565b6000806020838503121561526257600080fd5b823567ffffffffffffffff81111561527957600080fd5b61528585828601614e75565b90969095509350505050565b6000806000606084860312156152a657600080fd5b6152af84614f84565b95602085013595506040909401359392505050565b600080602083850312156152d757600080fd5b823567ffffffffffffffff808211156152ef57600080fd5b818501915085601f83011261530357600080fd5b81358181111561531257600080fd5b8660208260061b850101111561532757600080fd5b60209290920196919550909350505050565b60008060006060848603121561534e57600080fd5b83359250602084013561536081614f26565b9150604084013561521f81614f26565b60008060006060848603121561538557600080fd5b833561539081614f26565b9250602084013561536081614f26565b600080604083850312156153b357600080fd5b82356150b781614f26565b6020808252825182820181905260009190848201906040850190845b81811015615010578351835292840192918401916001016153da565b600181811c9082168061540a57607f821691505b60208210810361542a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60208082526027908201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060408201526673657474696e6760c81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60ff8181168382160190811115610f3557610f3561548d565b80820180821115610f3557610f3561548d565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715615508576155086154cf565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715615537576155376154cf565b604052919050565b6000602080838503121561555257600080fd5b825167ffffffffffffffff8082111561556a57600080fd5b818501915085601f83011261557e57600080fd5b815181811115615590576155906154cf565b61559e848260051b0161550e565b818152848101925060069190911b8301840190878211156155be57600080fd5b928401925b81841015614d5057604084890312156155dc5760008081fd5b6155e46154e5565b84516155ef81614f26565b815284860151868201528352604090930192918401916155c3565b81810381811115610f3557610f3561548d565b60006020828403121561562f57600080fd5b5051919050565b63ffffffff84168152826020820152606060408201526000611aa26060830184614e1d565b63ffffffff8616815284602082015260a06040820152600061568060a0830186614e1d565b82810360608401526156928186614e1d565b91505060018060a01b03831660808301529695505050505050565b600181815b80851115613f395781600019048211156156ce576156ce61548d565b808516156156db57918102915b93841c93908002906156b2565b6000826156f757506001610f35565b8161570457506000610f35565b816001811461571a576002811461572457615740565b6001915050610f35565b60ff8411156157355761573561548d565b50506001821b610f35565b5060208310610133831016604e8410600b8410161715615763575081810a610f35565b61576d83836156ad565b80600019048211156157815761578161548d565b029392505050565b60006111cf60ff8416836156e8565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161584781601f850160208701614df9565b91909101601f0192915050565b634e487b7160e01b600052603160045260246000fd5b6000808585111561587a57600080fd5b8386111561588757600080fd5b5050820193919092039150565b80356020831015610f3557600019602084900360031b1b1692915050565b6000602082840312156158c457600080fd5b815180151581146111cf57600080fd5b600082516158e6818460208701614df9565b9190910192915050565b61ffff60f01b8660f01b1681528460028201528360228201526bffffffffffffffffffffffff198360601b16604282015260008251615936816056850160208701614df9565b91909101605601969550505050505056fea2646970667358221220f570cf2f9375a72e4a2c422aafff544bf4a4d2a2e2315457a5a162b3bc34b6fb64736f6c63430008160033";
16
16
  static readonly abi: readonly [{
17
17
  readonly type: "constructor";
18
18
  readonly inputs: readonly [{
@@ -207,6 +207,24 @@ export declare class MultiCollateral__factory extends ContractFactory {
207
207
  readonly internalType: "uint256";
208
208
  }];
209
209
  readonly stateMutability: "view";
210
+ }, {
211
+ readonly type: "function";
212
+ readonly name: "crossCollateralRouters";
213
+ readonly inputs: readonly [{
214
+ readonly name: "_domain";
215
+ readonly type: "uint32";
216
+ readonly internalType: "uint32";
217
+ }, {
218
+ readonly name: "_router";
219
+ readonly type: "bytes32";
220
+ readonly internalType: "bytes32";
221
+ }];
222
+ readonly outputs: readonly [{
223
+ readonly name: "";
224
+ readonly type: "bool";
225
+ readonly internalType: "bool";
226
+ }];
227
+ readonly stateMutability: "view";
210
228
  }, {
211
229
  readonly type: "function";
212
230
  readonly name: "decimals";
@@ -287,6 +305,20 @@ export declare class MultiCollateral__factory extends ContractFactory {
287
305
  }];
288
306
  readonly outputs: readonly [];
289
307
  readonly stateMutability: "payable";
308
+ }, {
309
+ readonly type: "function";
310
+ readonly name: "enrollCrossCollateralRouters";
311
+ readonly inputs: readonly [{
312
+ readonly name: "_domains";
313
+ readonly type: "uint32[]";
314
+ readonly internalType: "uint32[]";
315
+ }, {
316
+ readonly name: "_routers";
317
+ readonly type: "bytes32[]";
318
+ readonly internalType: "bytes32[]";
319
+ }];
320
+ readonly outputs: readonly [];
321
+ readonly stateMutability: "nonpayable";
290
322
  }, {
291
323
  readonly type: "function";
292
324
  readonly name: "enrollRemoteRouter";
@@ -315,38 +347,6 @@ export declare class MultiCollateral__factory extends ContractFactory {
315
347
  }];
316
348
  readonly outputs: readonly [];
317
349
  readonly stateMutability: "nonpayable";
318
- }, {
319
- readonly type: "function";
320
- readonly name: "enrollRouters";
321
- readonly inputs: readonly [{
322
- readonly name: "_domains";
323
- readonly type: "uint32[]";
324
- readonly internalType: "uint32[]";
325
- }, {
326
- readonly name: "_routers";
327
- readonly type: "bytes32[]";
328
- readonly internalType: "bytes32[]";
329
- }];
330
- readonly outputs: readonly [];
331
- readonly stateMutability: "nonpayable";
332
- }, {
333
- readonly type: "function";
334
- readonly name: "enrolledRouters";
335
- readonly inputs: readonly [{
336
- readonly name: "_domain";
337
- readonly type: "uint32";
338
- readonly internalType: "uint32";
339
- }, {
340
- readonly name: "_router";
341
- readonly type: "bytes32";
342
- readonly internalType: "bytes32";
343
- }];
344
- readonly outputs: readonly [{
345
- readonly name: "";
346
- readonly type: "bool";
347
- readonly internalType: "bool";
348
- }];
349
- readonly stateMutability: "view";
350
350
  }, {
351
351
  readonly type: "function";
352
352
  readonly name: "feeHook";
@@ -379,7 +379,7 @@ export declare class MultiCollateral__factory extends ContractFactory {
379
379
  readonly stateMutability: "view";
380
380
  }, {
381
381
  readonly type: "function";
382
- readonly name: "getEnrolledDomains";
382
+ readonly name: "getCrossCollateralDomains";
383
383
  readonly inputs: readonly [];
384
384
  readonly outputs: readonly [{
385
385
  readonly name: "domains";
@@ -389,7 +389,7 @@ export declare class MultiCollateral__factory extends ContractFactory {
389
389
  readonly stateMutability: "view";
390
390
  }, {
391
391
  readonly type: "function";
392
- readonly name: "getEnrolledRouters";
392
+ readonly name: "getCrossCollateralRouters";
393
393
  readonly inputs: readonly [{
394
394
  readonly name: "_domain";
395
395
  readonly type: "uint32";
@@ -1066,35 +1066,35 @@ export declare class MultiCollateral__factory extends ContractFactory {
1066
1066
  readonly stateMutability: "payable";
1067
1067
  }, {
1068
1068
  readonly type: "function";
1069
- readonly name: "unenrollRemoteRouter";
1069
+ readonly name: "unenrollCrossCollateralRouters";
1070
1070
  readonly inputs: readonly [{
1071
- readonly name: "_domain";
1072
- readonly type: "uint32";
1073
- readonly internalType: "uint32";
1071
+ readonly name: "_domains";
1072
+ readonly type: "uint32[]";
1073
+ readonly internalType: "uint32[]";
1074
+ }, {
1075
+ readonly name: "_routers";
1076
+ readonly type: "bytes32[]";
1077
+ readonly internalType: "bytes32[]";
1074
1078
  }];
1075
1079
  readonly outputs: readonly [];
1076
1080
  readonly stateMutability: "nonpayable";
1077
1081
  }, {
1078
1082
  readonly type: "function";
1079
- readonly name: "unenrollRemoteRouters";
1083
+ readonly name: "unenrollRemoteRouter";
1080
1084
  readonly inputs: readonly [{
1081
- readonly name: "_domains";
1082
- readonly type: "uint32[]";
1083
- readonly internalType: "uint32[]";
1085
+ readonly name: "_domain";
1086
+ readonly type: "uint32";
1087
+ readonly internalType: "uint32";
1084
1088
  }];
1085
1089
  readonly outputs: readonly [];
1086
1090
  readonly stateMutability: "nonpayable";
1087
1091
  }, {
1088
1092
  readonly type: "function";
1089
- readonly name: "unenrollRouters";
1093
+ readonly name: "unenrollRemoteRouters";
1090
1094
  readonly inputs: readonly [{
1091
1095
  readonly name: "_domains";
1092
1096
  readonly type: "uint32[]";
1093
1097
  readonly internalType: "uint32[]";
1094
- }, {
1095
- readonly name: "_routers";
1096
- readonly type: "bytes32[]";
1097
- readonly internalType: "bytes32[]";
1098
1098
  }];
1099
1099
  readonly outputs: readonly [];
1100
1100
  readonly stateMutability: "nonpayable";
@@ -1175,6 +1175,36 @@ export declare class MultiCollateral__factory extends ContractFactory {
1175
1175
  readonly internalType: "address";
1176
1176
  }];
1177
1177
  readonly anonymous: false;
1178
+ }, {
1179
+ readonly type: "event";
1180
+ readonly name: "CrossCollateralRouterEnrolled";
1181
+ readonly inputs: readonly [{
1182
+ readonly name: "domain";
1183
+ readonly type: "uint32";
1184
+ readonly indexed: true;
1185
+ readonly internalType: "uint32";
1186
+ }, {
1187
+ readonly name: "router";
1188
+ readonly type: "bytes32";
1189
+ readonly indexed: true;
1190
+ readonly internalType: "bytes32";
1191
+ }];
1192
+ readonly anonymous: false;
1193
+ }, {
1194
+ readonly type: "event";
1195
+ readonly name: "CrossCollateralRouterUnenrolled";
1196
+ readonly inputs: readonly [{
1197
+ readonly name: "domain";
1198
+ readonly type: "uint32";
1199
+ readonly indexed: true;
1200
+ readonly internalType: "uint32";
1201
+ }, {
1202
+ readonly name: "router";
1203
+ readonly type: "bytes32";
1204
+ readonly indexed: true;
1205
+ readonly internalType: "bytes32";
1206
+ }];
1207
+ readonly anonymous: false;
1178
1208
  }, {
1179
1209
  readonly type: "event";
1180
1210
  readonly name: "Deposit";
@@ -1315,36 +1345,6 @@ export declare class MultiCollateral__factory extends ContractFactory {
1315
1345
  readonly internalType: "uint256";
1316
1346
  }];
1317
1347
  readonly anonymous: false;
1318
- }, {
1319
- readonly type: "event";
1320
- readonly name: "RouterEnrolled";
1321
- readonly inputs: readonly [{
1322
- readonly name: "domain";
1323
- readonly type: "uint32";
1324
- readonly indexed: true;
1325
- readonly internalType: "uint32";
1326
- }, {
1327
- readonly name: "router";
1328
- readonly type: "bytes32";
1329
- readonly indexed: true;
1330
- readonly internalType: "bytes32";
1331
- }];
1332
- readonly anonymous: false;
1333
- }, {
1334
- readonly type: "event";
1335
- readonly name: "RouterUnenrolled";
1336
- readonly inputs: readonly [{
1337
- readonly name: "domain";
1338
- readonly type: "uint32";
1339
- readonly indexed: true;
1340
- readonly internalType: "uint32";
1341
- }, {
1342
- readonly name: "router";
1343
- readonly type: "bytes32";
1344
- readonly indexed: true;
1345
- readonly internalType: "bytes32";
1346
- }];
1347
- readonly anonymous: false;
1348
1348
  }, {
1349
1349
  readonly type: "event";
1350
1350
  readonly name: "SentTransferRemote";
@@ -1416,8 +1416,8 @@ export declare class MultiCollateral__factory extends ContractFactory {
1416
1416
  }];
1417
1417
  readonly anonymous: false;
1418
1418
  }];
1419
- static createInterface(): MultiCollateralInterface;
1420
- static connect(address: string, signerOrProvider: Signer | Provider): MultiCollateral;
1419
+ static createInterface(): CrossCollateralRouterInterface;
1420
+ static connect(address: string, signerOrProvider: Signer | Provider): CrossCollateralRouter;
1421
1421
  }
1422
1422
  export {};
1423
- //# sourceMappingURL=MultiCollateral__factory.d.ts.map
1423
+ //# sourceMappingURL=CrossCollateralRouter__factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiCollateral__factory.d.ts","sourceRoot":"","sources":["../../../typechain/factories/MultiCollateral__factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CrossCollateralRouter__factory.d.ts","sourceRoot":"","sources":["../../../typechain/factories/CrossCollateralRouter__factory.ts"],"names":[],"mappings":"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"}