@hyperlane-xyz/core 3.2.0 → 3.4.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 (113) hide show
  1. package/contracts/hooks/{StaticProtocolFee.sol → ProtocolFee.sol} +5 -8
  2. package/contracts/hooks/libs/StandardHookMetadata.sol +2 -2
  3. package/contracts/isms/routing/DomainRoutingIsmFactory.sol +3 -17
  4. package/contracts/token/README.md +5 -25
  5. package/dist/contracts/hooks/{StaticProtocolFee.d.ts → ProtocolFee.d.ts} +4 -4
  6. package/dist/contracts/hooks/ProtocolFee.d.ts.map +1 -0
  7. package/dist/contracts/hooks/{StaticProtocolFee.js → ProtocolFee.js} +1 -1
  8. package/dist/contracts/hooks/ProtocolFee.js.map +1 -0
  9. package/dist/contracts/hooks/index.d.ts +1 -1
  10. package/dist/contracts/hooks/index.d.ts.map +1 -1
  11. package/dist/contracts/isms/routing/DomainRoutingIsmFactory.sol/AbstractDomainRoutingIsmFactory.d.ts +23 -15
  12. package/dist/contracts/isms/routing/DomainRoutingIsmFactory.sol/AbstractDomainRoutingIsmFactory.d.ts.map +1 -1
  13. package/dist/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory.d.ts +23 -15
  14. package/dist/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory.d.ts.map +1 -1
  15. package/dist/contracts/isms/routing/DomainRoutingIsmFactory.sol/index.d.ts +0 -1
  16. package/dist/contracts/isms/routing/DomainRoutingIsmFactory.sol/index.d.ts.map +1 -1
  17. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  18. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  19. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  20. package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  21. package/dist/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
  22. package/dist/factories/contracts/hooks/PausableHook__factory.js +1 -1
  23. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +195 -0
  24. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts.map +1 -0
  25. package/dist/factories/contracts/hooks/ProtocolFee__factory.js +267 -0
  26. package/dist/factories/contracts/hooks/ProtocolFee__factory.js.map +1 -0
  27. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  28. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  29. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
  30. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
  31. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
  32. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
  33. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
  34. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
  35. package/dist/factories/contracts/hooks/index.d.ts +1 -1
  36. package/dist/factories/contracts/hooks/index.d.ts.map +1 -1
  37. package/dist/factories/contracts/hooks/index.js +3 -3
  38. package/dist/factories/contracts/hooks/index.js.map +1 -1
  39. package/dist/factories/contracts/hooks/libs/StandardHookMetadata__factory.d.ts +1 -1
  40. package/dist/factories/contracts/hooks/libs/StandardHookMetadata__factory.js +1 -1
  41. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  42. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  43. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  44. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  45. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  46. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  47. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/AbstractDomainRoutingIsmFactory__factory.d.ts +4 -0
  48. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/AbstractDomainRoutingIsmFactory__factory.d.ts.map +1 -1
  49. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/AbstractDomainRoutingIsmFactory__factory.js +5 -0
  50. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/AbstractDomainRoutingIsmFactory__factory.js.map +1 -1
  51. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +5 -1
  52. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts.map +1 -1
  53. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +6 -1
  54. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js.map +1 -1
  55. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/index.d.ts +0 -1
  56. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/index.d.ts.map +1 -1
  57. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/index.js +1 -3
  58. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/index.js.map +1 -1
  59. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  60. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  61. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  62. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  63. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  64. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  65. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
  66. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
  67. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  68. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  69. package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
  70. package/dist/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
  71. package/dist/factories/contracts/token/FastHypERC20Collateral__factory.d.ts +1 -1
  72. package/dist/factories/contracts/token/FastHypERC20Collateral__factory.js +1 -1
  73. package/dist/factories/contracts/token/FastHypERC20__factory.d.ts +1 -1
  74. package/dist/factories/contracts/token/FastHypERC20__factory.js +1 -1
  75. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +1 -1
  76. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +1 -1
  77. package/dist/factories/contracts/token/HypERC20__factory.d.ts +1 -1
  78. package/dist/factories/contracts/token/HypERC20__factory.js +1 -1
  79. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
  80. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
  81. package/dist/factories/contracts/token/HypERC721__factory.d.ts +1 -1
  82. package/dist/factories/contracts/token/HypERC721__factory.js +1 -1
  83. package/dist/factories/contracts/token/HypNative__factory.d.ts +1 -1
  84. package/dist/factories/contracts/token/HypNative__factory.js +1 -1
  85. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +1 -1
  86. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +1 -1
  87. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +1 -1
  88. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +1 -1
  89. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
  90. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
  91. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
  92. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
  93. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +1 -1
  94. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +1 -1
  95. package/dist/index.d.ts +2 -4
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +5 -7
  98. package/dist/index.js.map +1 -1
  99. package/package.json +3 -2
  100. package/dist/contracts/hooks/StaticProtocolFee.d.ts.map +0 -1
  101. package/dist/contracts/hooks/StaticProtocolFee.js.map +0 -1
  102. package/dist/contracts/isms/routing/DomainRoutingIsmFactory.sol/DefaultFallbackRoutingIsmFactory.d.ts +0 -95
  103. package/dist/contracts/isms/routing/DomainRoutingIsmFactory.sol/DefaultFallbackRoutingIsmFactory.d.ts.map +0 -1
  104. package/dist/contracts/isms/routing/DomainRoutingIsmFactory.sol/DefaultFallbackRoutingIsmFactory.js +0 -3
  105. package/dist/contracts/isms/routing/DomainRoutingIsmFactory.sol/DefaultFallbackRoutingIsmFactory.js.map +0 -1
  106. package/dist/factories/contracts/hooks/StaticProtocolFee__factory.d.ts +0 -195
  107. package/dist/factories/contracts/hooks/StaticProtocolFee__factory.d.ts.map +0 -1
  108. package/dist/factories/contracts/hooks/StaticProtocolFee__factory.js +0 -267
  109. package/dist/factories/contracts/hooks/StaticProtocolFee__factory.js.map +0 -1
  110. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DefaultFallbackRoutingIsmFactory__factory.d.ts +0 -68
  111. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DefaultFallbackRoutingIsmFactory__factory.d.ts.map +0 -1
  112. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DefaultFallbackRoutingIsmFactory__factory.js +0 -104
  113. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DefaultFallbackRoutingIsmFactory__factory.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractDomainRoutingIsmFactory__factory.js","sourceRoot":"","sources":["../../../../../../types/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/AbstractDomainRoutingIsmFactory__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;;;AAEpB,mCAAiD;AAOjD,MAAM,IAAI,GAAG;IACX;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;aACjB;YACD;gBACE,YAAY,EAAE,sCAAsC;gBACpD,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,WAAW;aAClB;SACF;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAa,wCAAwC;IAEnD,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,cAAK,CAAC,SAAS,CACxB,IAAI,CACuC,CAAC;IAChD,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,iBAAQ,CACjB,OAAO,EACP,IAAI,EACJ,gBAAgB,CACkB,CAAC;IACvC,CAAC;;AAhBH,4FAiBC;AAhBiB,4CAAG,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"AbstractDomainRoutingIsmFactory__factory.js","sourceRoot":"","sources":["../../../../../../types/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/AbstractDomainRoutingIsmFactory__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;;;AAEpB,mCAAiD;AAOjD,MAAM,IAAI,GAAG;IACX;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;aACjB;YACD;gBACE,YAAY,EAAE,sCAAsC;gBACpD,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,WAAW;aAClB;SACF;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAa,wCAAwC;IAEnD,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,cAAK,CAAC,SAAS,CACxB,IAAI,CACuC,CAAC;IAChD,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,iBAAQ,CACjB,OAAO,EACP,IAAI,EACJ,gBAAgB,CACkB,CAAC;IACvC,CAAC;;AAhBH,4FAiBC;AAhBiB,4CAAG,GAAG,IAAI,CAAC"}
@@ -13,7 +13,7 @@ export declare class DomainRoutingIsmFactory__factory extends ContractFactory {
13
13
  }): TransactionRequest;
14
14
  attach(address: string): DomainRoutingIsmFactory;
15
15
  connect(signer: Signer): DomainRoutingIsmFactory__factory;
16
- static readonly bytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61164c8061045e83390190565b6080516103e661007860003960008181603d0152609c01526103e66000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635c60da1b1461003b578063cd8ffbac14610086575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61005d61009436600461028f565b6000806100c07f00000000000000000000000000000000000000000000000000000000000000006101a2565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f2150733618772a2f3719cb3b2585ee790d68a16e7ef96a07b24fc8e274e6c69e9060200160405180910390a16040517f9d8ecd8500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690639d8ecd85906101669033908a908a908a908a906004016102fb565b600060405180830381600087803b15801561018057600080fd5b505af1158015610194573d6000803e3d6000fd5b509298975050505050505050565b604080517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660348201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060488201528151603781830301815260579091019091526000908051602082016000f09392505050565b60008083601f84011261025557600080fd5b50813567ffffffffffffffff81111561026d57600080fd5b6020830191508360208260051b850101111561028857600080fd5b9250929050565b600080600080604085870312156102a557600080fd5b843567ffffffffffffffff808211156102bd57600080fd5b6102c988838901610243565b909650945060208701359150808211156102e257600080fd5b506102ef87828801610243565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff868116825260606020808401829052908301869052600091879160808501845b8981101561036057843563ffffffff811680821461034d57600080fd5b8352509382019390820190600101610330565b508581036040870152868152810192508660005b878110156103a057813584811680821461038d57600080fd5b8652509382019390820190600101610374565b50929a995050505050505050505056fea264697066735822122042d86335a350602e9f095bfe2188f170b6e59ded454e423c4701cdf82ea5851f64736f6c63430008130033608060405234801561001057600080fd5b5061162c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d35760003560e01c80638da5cb5b11610081578063f2fde38b1161005b578063f2fde38b146101b8578063f7e83aee146101cb578063fbc69aab146101ee57600080fd5b80638da5cb5b146101745780639d8ecd8514610192578063c4d66de8146101a557600080fd5b80634c0a2ffc116100b25780634c0a2ffc1461013f5780636465e69f14610152578063715018a61461016c57600080fd5b8062d84fd8146100d857806315ce45a2146100ed578063440df4f41461012a575b600080fd5b6100eb6100e6366004611092565b610201565b005b6101006100fb3660046110ef565b610215565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61013261022d565b6040516101219190611131565b6100eb61014d366004611197565b61023e565b61015a600181565b60405160ff9091168152602001610121565b6100eb610254565b60335473ffffffffffffffffffffffffffffffffffffffff16610100565b6100eb6101a0366004611213565b610268565b6100eb6101b3366004611296565b6104ea565b6100eb6101c6366004611296565b610685565b6101de6101d93660046112ba565b610739565b6040519015158152602001610121565b6101006101fc366004611092565b6107cf565b610209610838565b610212816108b9565b50565b60006102246101fc848461090e565b90505b92915050565b60606102396065610931565b905090565b610246610838565b61025082826109d3565b5050565b61025c610838565b6102666000610a79565b565b600054610100900460ff16158080156102885750600054600160ff909116105b806102a25750303b1580156102a2575060005460ff166001145b610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561039157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610399610af0565b838214610402576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6c656e677468206d69736d617463680000000000000000000000000000000000604482015260640161032a565b8360005b818110156104745761046487878381811061042357610423611326565b90506020020160208101906104389190611092565b86868481811061044a5761044a611326565b905060200201602081019061045f9190611296565b6109d3565b61046d81611384565b9050610406565b5061047e87610a79565b5080156104e257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b600054610100900460ff161580801561050a5750600054600160ff909116105b806105245750303b158015610524575060005460ff166001145b6105b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161032a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561060e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610616610af0565b61061f82610a79565b801561025057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61068d610838565b73ffffffffffffffffffffffffffffffffffffffff8116610730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161032a565b61021281610a79565b60006107458383610215565b73ffffffffffffffffffffffffffffffffffffffff1663f7e83aee868686866040518563ffffffff1660e01b81526004016107839493929190611405565b6020604051808303816000875af11580156107a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c69190611437565b95945050505050565b600080806107e7606563ffffffff80871690610b8f16565b91509150816107f585610ba8565b9061082d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a919061147d565b50805b949350505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161032a565b6108cd606563ffffffff80841690610bdf16565b6108d682610ba8565b90610250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a919061147d565b600061091e6009600584866114ce565b610927916114f8565b60e01c9392505050565b6060600061093e83610beb565b90508067ffffffffffffffff81111561095957610959611540565b604051908082528060200260200182016040528015610982578160200160208202803683370190505b50915060005b818110156109cc5761099a8482610bf6565b60001c8382815181106109af576109af611326565b6020908102919091010152806109c481611384565b915050610988565b5050919050565b73ffffffffffffffffffffffffffffffffffffffff81163b610a51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f49534d206d757374206265206120636f6e747261637400000000000000000000604482015260640161032a565b610250606563ffffffff841673ffffffffffffffffffffffffffffffffffffffff8416610c02565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610b87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161032a565b610266610c13565b600080610b9c8484610cb3565b915091505b9250929050565b6060610bb98263ffffffff16610ced565b604051602001610bc9919061156f565b6040516020818303038152906040529050919050565b60006102248383610dab565b600061022782610dc8565b60006102248383610dd2565b610c0d838383610dfc565b50505050565b600054610100900460ff16610caa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161032a565b61026633610a79565b6000818152600283016020526040812054819080610ce257610cd58585610e19565b925060009150610ba19050565b600192509050610ba1565b60606000610cfa83610e25565b600101905060008167ffffffffffffffff811115610d1a57610d1a611540565b6040519080825280601f01601f191660200182016040528015610d44576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084610d4e57509392505050565b600081815260028301602052604081208190556102248383610f07565b6000610227825490565b6000826000018281548110610de957610de9611326565b9060005260206000200154905092915050565b600082815260028401602052604081208290556108308484610f13565b60006102248383610f1f565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610e6e577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310610e9a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610eb857662386f26fc10000830492506010015b6305f5e1008310610ed0576305f5e100830492506008015b6127108310610ee457612710830492506004015b60648310610ef6576064830492506002015b600a83106102275760010192915050565b60006102248383610f37565b6000610224838361102a565b60008181526001830160205260408120541515610224565b60008181526001830160205260408120548015611020576000610f5b6001836115b4565b8554909150600090610f6f906001906115b4565b9050818114610fd4576000866000018281548110610f8f57610f8f611326565b9060005260206000200154905080876000018481548110610fb257610fb2611326565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fe557610fe56115c7565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610227565b6000915050610227565b600081815260018301602052604081205461107157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610227565b506000610227565b803563ffffffff8116811461108d57600080fd5b919050565b6000602082840312156110a457600080fd5b61022482611079565b60008083601f8401126110bf57600080fd5b50813567ffffffffffffffff8111156110d757600080fd5b602083019150836020828501011115610ba157600080fd5b6000806020838503121561110257600080fd5b823567ffffffffffffffff81111561111957600080fd5b611125858286016110ad565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156111695783518352928401929184019160010161114d565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461021257600080fd5b600080604083850312156111aa57600080fd5b6111b383611079565b915060208301356111c381611175565b809150509250929050565b60008083601f8401126111e057600080fd5b50813567ffffffffffffffff8111156111f857600080fd5b6020830191508360208260051b8501011115610ba157600080fd5b60008060008060006060868803121561122b57600080fd5b853561123681611175565b9450602086013567ffffffffffffffff8082111561125357600080fd5b61125f89838a016111ce565b9096509450604088013591508082111561127857600080fd5b50611285888289016111ce565b969995985093965092949392505050565b6000602082840312156112a857600080fd5b81356112b381611175565b9392505050565b600080600080604085870312156112d057600080fd5b843567ffffffffffffffff808211156112e857600080fd5b6112f4888389016110ad565b9096509450602087013591508082111561130d57600080fd5b5061131a878288016110ad565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113b5576113b5611355565b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006114196040830186886113bc565b828103602084015261142c8185876113bc565b979650505050505050565b60006020828403121561144957600080fd5b815180151581146112b357600080fd5b60005b8381101561147457818101518382015260200161145c565b50506000910152565b602081526000825180602084015261149c816040850160208701611459565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600080858511156114de57600080fd5b838611156114eb57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156115385780818660040360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e6f2049534d20666f756e6420666f72206f726967696e3a20000000000000008152600082516115a7816019850160208701611459565b9190910160190192915050565b8181038181111561022757610227611355565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220f0cc32ae1934429dd420659050d8028483b5aae93f12f681c739b29d820898b664736f6c63430008130033";
16
+ static readonly bytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61164c8061049683390190565b60805161041e61007860003960008181603d0152609c015261041e6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635c60da1b1461003b578063616e304f14610086575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61005d6100943660046102b5565b6000806100c07f00000000000000000000000000000000000000000000000000000000000000006101a3565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f2150733618772a2f3719cb3b2585ee790d68a16e7ef96a07b24fc8e274e6c69e9060200160405180910390a16040517f9d8ecd8500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690639d8ecd8590610166908a908a908a908a908a90600401610338565b600060405180830381600087803b15801561018057600080fd5b505af1158015610194573d6000803e3d6000fd5b50929998505050505050505050565b604080517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660348201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060488201528151603781830301815260579091019091526000908051602082016000f09392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461026657600080fd5b50565b60008083601f84011261027b57600080fd5b50813567ffffffffffffffff81111561029357600080fd5b6020830191508360208260051b85010111156102ae57600080fd5b9250929050565b6000806000806000606086880312156102cd57600080fd5b85356102d881610244565b9450602086013567ffffffffffffffff808211156102f557600080fd5b61030189838a01610269565b9096509450604088013591508082111561031a57600080fd5b5061032788828901610269565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff868116825260606020808401829052908301869052600091879160808501845b8981101561039d57843563ffffffff811680821461038a57600080fd5b835250938201939082019060010161036d565b508581036040870152868152810192508660005b878110156103d85781356103c481610244565b8416855293820193908201906001016103b1565b50929a995050505050505050505056fea26469706673582212208585c43c0f91cb4e7bee51fbf414cb9d1c9012b82c6409853ff368f59bcf2a2264736f6c63430008130033608060405234801561001057600080fd5b5061162c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d35760003560e01c80638da5cb5b11610081578063f2fde38b1161005b578063f2fde38b146101b8578063f7e83aee146101cb578063fbc69aab146101ee57600080fd5b80638da5cb5b146101745780639d8ecd8514610192578063c4d66de8146101a557600080fd5b80634c0a2ffc116100b25780634c0a2ffc1461013f5780636465e69f14610152578063715018a61461016c57600080fd5b8062d84fd8146100d857806315ce45a2146100ed578063440df4f41461012a575b600080fd5b6100eb6100e6366004611092565b610201565b005b6101006100fb3660046110ef565b610215565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61013261022d565b6040516101219190611131565b6100eb61014d366004611197565b61023e565b61015a600181565b60405160ff9091168152602001610121565b6100eb610254565b60335473ffffffffffffffffffffffffffffffffffffffff16610100565b6100eb6101a0366004611213565b610268565b6100eb6101b3366004611296565b6104ea565b6100eb6101c6366004611296565b610685565b6101de6101d93660046112ba565b610739565b6040519015158152602001610121565b6101006101fc366004611092565b6107cf565b610209610838565b610212816108b9565b50565b60006102246101fc848461090e565b90505b92915050565b60606102396065610931565b905090565b610246610838565b61025082826109d3565b5050565b61025c610838565b6102666000610a79565b565b600054610100900460ff16158080156102885750600054600160ff909116105b806102a25750303b1580156102a2575060005460ff166001145b610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561039157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610399610af0565b838214610402576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6c656e677468206d69736d617463680000000000000000000000000000000000604482015260640161032a565b8360005b818110156104745761046487878381811061042357610423611326565b90506020020160208101906104389190611092565b86868481811061044a5761044a611326565b905060200201602081019061045f9190611296565b6109d3565b61046d81611384565b9050610406565b5061047e87610a79565b5080156104e257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b600054610100900460ff161580801561050a5750600054600160ff909116105b806105245750303b158015610524575060005460ff166001145b6105b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161032a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561060e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610616610af0565b61061f82610a79565b801561025057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61068d610838565b73ffffffffffffffffffffffffffffffffffffffff8116610730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161032a565b61021281610a79565b60006107458383610215565b73ffffffffffffffffffffffffffffffffffffffff1663f7e83aee868686866040518563ffffffff1660e01b81526004016107839493929190611405565b6020604051808303816000875af11580156107a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c69190611437565b95945050505050565b600080806107e7606563ffffffff80871690610b8f16565b91509150816107f585610ba8565b9061082d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a919061147d565b50805b949350505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161032a565b6108cd606563ffffffff80841690610bdf16565b6108d682610ba8565b90610250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a919061147d565b600061091e6009600584866114ce565b610927916114f8565b60e01c9392505050565b6060600061093e83610beb565b90508067ffffffffffffffff81111561095957610959611540565b604051908082528060200260200182016040528015610982578160200160208202803683370190505b50915060005b818110156109cc5761099a8482610bf6565b60001c8382815181106109af576109af611326565b6020908102919091010152806109c481611384565b915050610988565b5050919050565b73ffffffffffffffffffffffffffffffffffffffff81163b610a51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f49534d206d757374206265206120636f6e747261637400000000000000000000604482015260640161032a565b610250606563ffffffff841673ffffffffffffffffffffffffffffffffffffffff8416610c02565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610b87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161032a565b610266610c13565b600080610b9c8484610cb3565b915091505b9250929050565b6060610bb98263ffffffff16610ced565b604051602001610bc9919061156f565b6040516020818303038152906040529050919050565b60006102248383610dab565b600061022782610dc8565b60006102248383610dd2565b610c0d838383610dfc565b50505050565b600054610100900460ff16610caa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161032a565b61026633610a79565b6000818152600283016020526040812054819080610ce257610cd58585610e19565b925060009150610ba19050565b600192509050610ba1565b60606000610cfa83610e25565b600101905060008167ffffffffffffffff811115610d1a57610d1a611540565b6040519080825280601f01601f191660200182016040528015610d44576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084610d4e57509392505050565b600081815260028301602052604081208190556102248383610f07565b6000610227825490565b6000826000018281548110610de957610de9611326565b9060005260206000200154905092915050565b600082815260028401602052604081208290556108308484610f13565b60006102248383610f1f565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610e6e577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310610e9a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610eb857662386f26fc10000830492506010015b6305f5e1008310610ed0576305f5e100830492506008015b6127108310610ee457612710830492506004015b60648310610ef6576064830492506002015b600a83106102275760010192915050565b60006102248383610f37565b6000610224838361102a565b60008181526001830160205260408120541515610224565b60008181526001830160205260408120548015611020576000610f5b6001836115b4565b8554909150600090610f6f906001906115b4565b9050818114610fd4576000866000018281548110610f8f57610f8f611326565b9060005260206000200154905080876000018481548110610fb257610fb2611326565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fe557610fe56115c7565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610227565b6000915050610227565b600081815260018301602052604081205461107157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610227565b506000610227565b803563ffffffff8116811461108d57600080fd5b919050565b6000602082840312156110a457600080fd5b61022482611079565b60008083601f8401126110bf57600080fd5b50813567ffffffffffffffff8111156110d757600080fd5b602083019150836020828501011115610ba157600080fd5b6000806020838503121561110257600080fd5b823567ffffffffffffffff81111561111957600080fd5b611125858286016110ad565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156111695783518352928401929184019160010161114d565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461021257600080fd5b600080604083850312156111aa57600080fd5b6111b383611079565b915060208301356111c381611175565b809150509250929050565b60008083601f8401126111e057600080fd5b50813567ffffffffffffffff8111156111f857600080fd5b6020830191508360208260051b8501011115610ba157600080fd5b60008060008060006060868803121561122b57600080fd5b853561123681611175565b9450602086013567ffffffffffffffff8082111561125357600080fd5b61125f89838a016111ce565b9096509450604088013591508082111561127857600080fd5b50611285888289016111ce565b969995985093965092949392505050565b6000602082840312156112a857600080fd5b81356112b381611175565b9392505050565b600080600080604085870312156112d057600080fd5b843567ffffffffffffffff808211156112e857600080fd5b6112f4888389016110ad565b9096509450602087013591508082111561130d57600080fd5b5061131a878288016110ad565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113b5576113b5611355565b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006114196040830186886113bc565b828103602084015261142c8185876113bc565b979650505050505050565b60006020828403121561144957600080fd5b815180151581146112b357600080fd5b60005b8381101561147457818101518382015260200161145c565b50506000910152565b602081526000825180602084015261149c816040850160208701611459565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600080858511156114de57600080fd5b838611156114eb57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156115385780818660040360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e6f2049534d20666f756e6420666f72206f726967696e3a20000000000000008152600082516115a7816019850160208701611459565b9190910160190192915050565b8181038181111561022757610227611355565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220f0cc32ae1934429dd420659050d8028483b5aae93f12f681c739b29d820898b664736f6c63430008130033";
17
17
  static readonly abi: readonly [{
18
18
  readonly inputs: readonly [];
19
19
  readonly stateMutability: "nonpayable";
@@ -30,6 +30,10 @@ export declare class DomainRoutingIsmFactory__factory extends ContractFactory {
30
30
  readonly type: "event";
31
31
  }, {
32
32
  readonly inputs: readonly [{
33
+ readonly internalType: "address";
34
+ readonly name: "_owner";
35
+ readonly type: "address";
36
+ }, {
33
37
  readonly internalType: "uint32[]";
34
38
  readonly name: "_domains";
35
39
  readonly type: "uint32[]";
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRoutingIsmFactory__factory.d.ts","sourceRoot":"","sources":["../../../../../../types/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EACV,uBAAuB,EACvB,gCAAgC,EACjC,MAAM,2FAA2F,CAAC;AA+DnG,KAAK,wCAAwC,GACzC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,gCAAiC,SAAQ,eAAe;gBACvD,GAAG,IAAI,EAAE,wCAAwC;IAQpD,MAAM,CACb,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;KAAE,GACxD,OAAO,CAAC,uBAAuB,CAAC;IAG1B,oBAAoB,CAC3B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;KAAE,GACxD,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB;IAGhD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,gCAAgC;IAIlE,MAAM,CAAC,QAAQ,CAAC,QAAQ,41aAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,gCAAgC;IAG1D,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,uBAAuB;CAO3B"}
1
+ {"version":3,"file":"DomainRoutingIsmFactory__factory.d.ts","sourceRoot":"","sources":["../../../../../../types/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EACV,uBAAuB,EACvB,gCAAgC,EACjC,MAAM,2FAA2F,CAAC;AAoEnG,KAAK,wCAAwC,GACzC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,gCAAiC,SAAQ,eAAe;gBACvD,GAAG,IAAI,EAAE,wCAAwC;IAQpD,MAAM,CACb,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;KAAE,GACxD,OAAO,CAAC,uBAAuB,CAAC;IAG1B,oBAAoB,CAC3B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;KAAE,GACxD,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB;IAGhD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,gCAAgC;IAIlE,MAAM,CAAC,QAAQ,CAAC,QAAQ,48aAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,gCAAgC;IAG1D,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,uBAAuB;CAO3B"}
@@ -26,6 +26,11 @@ const _abi = [
26
26
  },
27
27
  {
28
28
  inputs: [
29
+ {
30
+ internalType: "address",
31
+ name: "_owner",
32
+ type: "address",
33
+ },
29
34
  {
30
35
  internalType: "uint32[]",
31
36
  name: "_domains",
@@ -62,7 +67,7 @@ const _abi = [
62
67
  type: "function",
63
68
  },
64
69
  ];
65
- const _bytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61164c8061045e83390190565b6080516103e661007860003960008181603d0152609c01526103e66000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635c60da1b1461003b578063cd8ffbac14610086575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61005d61009436600461028f565b6000806100c07f00000000000000000000000000000000000000000000000000000000000000006101a2565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f2150733618772a2f3719cb3b2585ee790d68a16e7ef96a07b24fc8e274e6c69e9060200160405180910390a16040517f9d8ecd8500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690639d8ecd85906101669033908a908a908a908a906004016102fb565b600060405180830381600087803b15801561018057600080fd5b505af1158015610194573d6000803e3d6000fd5b509298975050505050505050565b604080517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660348201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060488201528151603781830301815260579091019091526000908051602082016000f09392505050565b60008083601f84011261025557600080fd5b50813567ffffffffffffffff81111561026d57600080fd5b6020830191508360208260051b850101111561028857600080fd5b9250929050565b600080600080604085870312156102a557600080fd5b843567ffffffffffffffff808211156102bd57600080fd5b6102c988838901610243565b909650945060208701359150808211156102e257600080fd5b506102ef87828801610243565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff868116825260606020808401829052908301869052600091879160808501845b8981101561036057843563ffffffff811680821461034d57600080fd5b8352509382019390820190600101610330565b508581036040870152868152810192508660005b878110156103a057813584811680821461038d57600080fd5b8652509382019390820190600101610374565b50929a995050505050505050505056fea264697066735822122042d86335a350602e9f095bfe2188f170b6e59ded454e423c4701cdf82ea5851f64736f6c63430008130033608060405234801561001057600080fd5b5061162c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d35760003560e01c80638da5cb5b11610081578063f2fde38b1161005b578063f2fde38b146101b8578063f7e83aee146101cb578063fbc69aab146101ee57600080fd5b80638da5cb5b146101745780639d8ecd8514610192578063c4d66de8146101a557600080fd5b80634c0a2ffc116100b25780634c0a2ffc1461013f5780636465e69f14610152578063715018a61461016c57600080fd5b8062d84fd8146100d857806315ce45a2146100ed578063440df4f41461012a575b600080fd5b6100eb6100e6366004611092565b610201565b005b6101006100fb3660046110ef565b610215565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61013261022d565b6040516101219190611131565b6100eb61014d366004611197565b61023e565b61015a600181565b60405160ff9091168152602001610121565b6100eb610254565b60335473ffffffffffffffffffffffffffffffffffffffff16610100565b6100eb6101a0366004611213565b610268565b6100eb6101b3366004611296565b6104ea565b6100eb6101c6366004611296565b610685565b6101de6101d93660046112ba565b610739565b6040519015158152602001610121565b6101006101fc366004611092565b6107cf565b610209610838565b610212816108b9565b50565b60006102246101fc848461090e565b90505b92915050565b60606102396065610931565b905090565b610246610838565b61025082826109d3565b5050565b61025c610838565b6102666000610a79565b565b600054610100900460ff16158080156102885750600054600160ff909116105b806102a25750303b1580156102a2575060005460ff166001145b610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561039157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610399610af0565b838214610402576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6c656e677468206d69736d617463680000000000000000000000000000000000604482015260640161032a565b8360005b818110156104745761046487878381811061042357610423611326565b90506020020160208101906104389190611092565b86868481811061044a5761044a611326565b905060200201602081019061045f9190611296565b6109d3565b61046d81611384565b9050610406565b5061047e87610a79565b5080156104e257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b600054610100900460ff161580801561050a5750600054600160ff909116105b806105245750303b158015610524575060005460ff166001145b6105b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161032a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561060e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610616610af0565b61061f82610a79565b801561025057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61068d610838565b73ffffffffffffffffffffffffffffffffffffffff8116610730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161032a565b61021281610a79565b60006107458383610215565b73ffffffffffffffffffffffffffffffffffffffff1663f7e83aee868686866040518563ffffffff1660e01b81526004016107839493929190611405565b6020604051808303816000875af11580156107a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c69190611437565b95945050505050565b600080806107e7606563ffffffff80871690610b8f16565b91509150816107f585610ba8565b9061082d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a919061147d565b50805b949350505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161032a565b6108cd606563ffffffff80841690610bdf16565b6108d682610ba8565b90610250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a919061147d565b600061091e6009600584866114ce565b610927916114f8565b60e01c9392505050565b6060600061093e83610beb565b90508067ffffffffffffffff81111561095957610959611540565b604051908082528060200260200182016040528015610982578160200160208202803683370190505b50915060005b818110156109cc5761099a8482610bf6565b60001c8382815181106109af576109af611326565b6020908102919091010152806109c481611384565b915050610988565b5050919050565b73ffffffffffffffffffffffffffffffffffffffff81163b610a51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f49534d206d757374206265206120636f6e747261637400000000000000000000604482015260640161032a565b610250606563ffffffff841673ffffffffffffffffffffffffffffffffffffffff8416610c02565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610b87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161032a565b610266610c13565b600080610b9c8484610cb3565b915091505b9250929050565b6060610bb98263ffffffff16610ced565b604051602001610bc9919061156f565b6040516020818303038152906040529050919050565b60006102248383610dab565b600061022782610dc8565b60006102248383610dd2565b610c0d838383610dfc565b50505050565b600054610100900460ff16610caa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161032a565b61026633610a79565b6000818152600283016020526040812054819080610ce257610cd58585610e19565b925060009150610ba19050565b600192509050610ba1565b60606000610cfa83610e25565b600101905060008167ffffffffffffffff811115610d1a57610d1a611540565b6040519080825280601f01601f191660200182016040528015610d44576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084610d4e57509392505050565b600081815260028301602052604081208190556102248383610f07565b6000610227825490565b6000826000018281548110610de957610de9611326565b9060005260206000200154905092915050565b600082815260028401602052604081208290556108308484610f13565b60006102248383610f1f565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610e6e577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310610e9a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610eb857662386f26fc10000830492506010015b6305f5e1008310610ed0576305f5e100830492506008015b6127108310610ee457612710830492506004015b60648310610ef6576064830492506002015b600a83106102275760010192915050565b60006102248383610f37565b6000610224838361102a565b60008181526001830160205260408120541515610224565b60008181526001830160205260408120548015611020576000610f5b6001836115b4565b8554909150600090610f6f906001906115b4565b9050818114610fd4576000866000018281548110610f8f57610f8f611326565b9060005260206000200154905080876000018481548110610fb257610fb2611326565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fe557610fe56115c7565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610227565b6000915050610227565b600081815260018301602052604081205461107157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610227565b506000610227565b803563ffffffff8116811461108d57600080fd5b919050565b6000602082840312156110a457600080fd5b61022482611079565b60008083601f8401126110bf57600080fd5b50813567ffffffffffffffff8111156110d757600080fd5b602083019150836020828501011115610ba157600080fd5b6000806020838503121561110257600080fd5b823567ffffffffffffffff81111561111957600080fd5b611125858286016110ad565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156111695783518352928401929184019160010161114d565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461021257600080fd5b600080604083850312156111aa57600080fd5b6111b383611079565b915060208301356111c381611175565b809150509250929050565b60008083601f8401126111e057600080fd5b50813567ffffffffffffffff8111156111f857600080fd5b6020830191508360208260051b8501011115610ba157600080fd5b60008060008060006060868803121561122b57600080fd5b853561123681611175565b9450602086013567ffffffffffffffff8082111561125357600080fd5b61125f89838a016111ce565b9096509450604088013591508082111561127857600080fd5b50611285888289016111ce565b969995985093965092949392505050565b6000602082840312156112a857600080fd5b81356112b381611175565b9392505050565b600080600080604085870312156112d057600080fd5b843567ffffffffffffffff808211156112e857600080fd5b6112f4888389016110ad565b9096509450602087013591508082111561130d57600080fd5b5061131a878288016110ad565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113b5576113b5611355565b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006114196040830186886113bc565b828103602084015261142c8185876113bc565b979650505050505050565b60006020828403121561144957600080fd5b815180151581146112b357600080fd5b60005b8381101561147457818101518382015260200161145c565b50506000910152565b602081526000825180602084015261149c816040850160208701611459565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600080858511156114de57600080fd5b838611156114eb57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156115385780818660040360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e6f2049534d20666f756e6420666f72206f726967696e3a20000000000000008152600082516115a7816019850160208701611459565b9190910160190192915050565b8181038181111561022757610227611355565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220f0cc32ae1934429dd420659050d8028483b5aae93f12f681c739b29d820898b664736f6c63430008130033";
70
+ const _bytecode = "0x60a060405234801561001057600080fd5b5060405161001d9061004b565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610058565b61164c8061049683390190565b60805161041e61007860003960008181603d0152609c015261041e6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635c60da1b1461003b578063616e304f14610086575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61005d6100943660046102b5565b6000806100c07f00000000000000000000000000000000000000000000000000000000000000006101a3565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f2150733618772a2f3719cb3b2585ee790d68a16e7ef96a07b24fc8e274e6c69e9060200160405180910390a16040517f9d8ecd8500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690639d8ecd8590610166908a908a908a908a908a90600401610338565b600060405180830381600087803b15801561018057600080fd5b505af1158015610194573d6000803e3d6000fd5b50929998505050505050505050565b604080517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660348201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060488201528151603781830301815260579091019091526000908051602082016000f09392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461026657600080fd5b50565b60008083601f84011261027b57600080fd5b50813567ffffffffffffffff81111561029357600080fd5b6020830191508360208260051b85010111156102ae57600080fd5b9250929050565b6000806000806000606086880312156102cd57600080fd5b85356102d881610244565b9450602086013567ffffffffffffffff808211156102f557600080fd5b61030189838a01610269565b9096509450604088013591508082111561031a57600080fd5b5061032788828901610269565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff868116825260606020808401829052908301869052600091879160808501845b8981101561039d57843563ffffffff811680821461038a57600080fd5b835250938201939082019060010161036d565b508581036040870152868152810192508660005b878110156103d85781356103c481610244565b8416855293820193908201906001016103b1565b50929a995050505050505050505056fea26469706673582212208585c43c0f91cb4e7bee51fbf414cb9d1c9012b82c6409853ff368f59bcf2a2264736f6c63430008130033608060405234801561001057600080fd5b5061162c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d35760003560e01c80638da5cb5b11610081578063f2fde38b1161005b578063f2fde38b146101b8578063f7e83aee146101cb578063fbc69aab146101ee57600080fd5b80638da5cb5b146101745780639d8ecd8514610192578063c4d66de8146101a557600080fd5b80634c0a2ffc116100b25780634c0a2ffc1461013f5780636465e69f14610152578063715018a61461016c57600080fd5b8062d84fd8146100d857806315ce45a2146100ed578063440df4f41461012a575b600080fd5b6100eb6100e6366004611092565b610201565b005b6101006100fb3660046110ef565b610215565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61013261022d565b6040516101219190611131565b6100eb61014d366004611197565b61023e565b61015a600181565b60405160ff9091168152602001610121565b6100eb610254565b60335473ffffffffffffffffffffffffffffffffffffffff16610100565b6100eb6101a0366004611213565b610268565b6100eb6101b3366004611296565b6104ea565b6100eb6101c6366004611296565b610685565b6101de6101d93660046112ba565b610739565b6040519015158152602001610121565b6101006101fc366004611092565b6107cf565b610209610838565b610212816108b9565b50565b60006102246101fc848461090e565b90505b92915050565b60606102396065610931565b905090565b610246610838565b61025082826109d3565b5050565b61025c610838565b6102666000610a79565b565b600054610100900460ff16158080156102885750600054600160ff909116105b806102a25750303b1580156102a2575060005460ff166001145b610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561039157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610399610af0565b838214610402576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6c656e677468206d69736d617463680000000000000000000000000000000000604482015260640161032a565b8360005b818110156104745761046487878381811061042357610423611326565b90506020020160208101906104389190611092565b86868481811061044a5761044a611326565b905060200201602081019061045f9190611296565b6109d3565b61046d81611384565b9050610406565b5061047e87610a79565b5080156104e257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b600054610100900460ff161580801561050a5750600054600160ff909116105b806105245750303b158015610524575060005460ff166001145b6105b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161032a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561060e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610616610af0565b61061f82610a79565b801561025057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61068d610838565b73ffffffffffffffffffffffffffffffffffffffff8116610730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161032a565b61021281610a79565b60006107458383610215565b73ffffffffffffffffffffffffffffffffffffffff1663f7e83aee868686866040518563ffffffff1660e01b81526004016107839493929190611405565b6020604051808303816000875af11580156107a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c69190611437565b95945050505050565b600080806107e7606563ffffffff80871690610b8f16565b91509150816107f585610ba8565b9061082d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a919061147d565b50805b949350505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161032a565b6108cd606563ffffffff80841690610bdf16565b6108d682610ba8565b90610250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a919061147d565b600061091e6009600584866114ce565b610927916114f8565b60e01c9392505050565b6060600061093e83610beb565b90508067ffffffffffffffff81111561095957610959611540565b604051908082528060200260200182016040528015610982578160200160208202803683370190505b50915060005b818110156109cc5761099a8482610bf6565b60001c8382815181106109af576109af611326565b6020908102919091010152806109c481611384565b915050610988565b5050919050565b73ffffffffffffffffffffffffffffffffffffffff81163b610a51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f49534d206d757374206265206120636f6e747261637400000000000000000000604482015260640161032a565b610250606563ffffffff841673ffffffffffffffffffffffffffffffffffffffff8416610c02565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610b87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161032a565b610266610c13565b600080610b9c8484610cb3565b915091505b9250929050565b6060610bb98263ffffffff16610ced565b604051602001610bc9919061156f565b6040516020818303038152906040529050919050565b60006102248383610dab565b600061022782610dc8565b60006102248383610dd2565b610c0d838383610dfc565b50505050565b600054610100900460ff16610caa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161032a565b61026633610a79565b6000818152600283016020526040812054819080610ce257610cd58585610e19565b925060009150610ba19050565b600192509050610ba1565b60606000610cfa83610e25565b600101905060008167ffffffffffffffff811115610d1a57610d1a611540565b6040519080825280601f01601f191660200182016040528015610d44576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084610d4e57509392505050565b600081815260028301602052604081208190556102248383610f07565b6000610227825490565b6000826000018281548110610de957610de9611326565b9060005260206000200154905092915050565b600082815260028401602052604081208290556108308484610f13565b60006102248383610f1f565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610e6e577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310610e9a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610eb857662386f26fc10000830492506010015b6305f5e1008310610ed0576305f5e100830492506008015b6127108310610ee457612710830492506004015b60648310610ef6576064830492506002015b600a83106102275760010192915050565b60006102248383610f37565b6000610224838361102a565b60008181526001830160205260408120541515610224565b60008181526001830160205260408120548015611020576000610f5b6001836115b4565b8554909150600090610f6f906001906115b4565b9050818114610fd4576000866000018281548110610f8f57610f8f611326565b9060005260206000200154905080876000018481548110610fb257610fb2611326565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fe557610fe56115c7565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610227565b6000915050610227565b600081815260018301602052604081205461107157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610227565b506000610227565b803563ffffffff8116811461108d57600080fd5b919050565b6000602082840312156110a457600080fd5b61022482611079565b60008083601f8401126110bf57600080fd5b50813567ffffffffffffffff8111156110d757600080fd5b602083019150836020828501011115610ba157600080fd5b6000806020838503121561110257600080fd5b823567ffffffffffffffff81111561111957600080fd5b611125858286016110ad565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156111695783518352928401929184019160010161114d565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461021257600080fd5b600080604083850312156111aa57600080fd5b6111b383611079565b915060208301356111c381611175565b809150509250929050565b60008083601f8401126111e057600080fd5b50813567ffffffffffffffff8111156111f857600080fd5b6020830191508360208260051b8501011115610ba157600080fd5b60008060008060006060868803121561122b57600080fd5b853561123681611175565b9450602086013567ffffffffffffffff8082111561125357600080fd5b61125f89838a016111ce565b9096509450604088013591508082111561127857600080fd5b50611285888289016111ce565b969995985093965092949392505050565b6000602082840312156112a857600080fd5b81356112b381611175565b9392505050565b600080600080604085870312156112d057600080fd5b843567ffffffffffffffff808211156112e857600080fd5b6112f4888389016110ad565b9096509450602087013591508082111561130d57600080fd5b5061131a878288016110ad565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113b5576113b5611355565b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006114196040830186886113bc565b828103602084015261142c8185876113bc565b979650505050505050565b60006020828403121561144957600080fd5b815180151581146112b357600080fd5b60005b8381101561147457818101518382015260200161145c565b50506000910152565b602081526000825180602084015261149c816040850160208701611459565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600080858511156114de57600080fd5b838611156114eb57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156115385780818660040360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e6f2049534d20666f756e6420666f72206f726967696e3a20000000000000008152600082516115a7816019850160208701611459565b9190910160190192915050565b8181038181111561022757610227611355565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220f0cc32ae1934429dd420659050d8028483b5aae93f12f681c739b29d820898b664736f6c63430008130033";
66
71
  const isSuperArgs = (xs) => xs.length > 1;
67
72
  class DomainRoutingIsmFactory__factory extends ethers_1.ContractFactory {
68
73
  constructor(...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRoutingIsmFactory__factory.js","sourceRoot":"","sources":["../../../../../../types/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,mCAA6E;AAQ7E,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;aACjB;YACD;gBACE,YAAY,EAAE,sCAAsC;gBACpD,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,WAAW;aAClB;SACF;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,SAAS,GACb,w1aAAw1a,CAAC;AAM31a,MAAM,WAAW,GAAG,CAClB,EAA4C,EACS,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,gCAAiC,SAAQ,wBAAe;IACnE,YAAY,GAAG,IAA8C;QAC3D,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;YACrB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;aAAM;YACL,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAEQ,MAAM,CACb,SAAyD;QAEzD,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAqC,CAAC;IAC3E,CAAC;IACQ,oBAAoB,CAC3B,SAAyD;QAEzD,OAAO,KAAK,CAAC,oBAAoB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACQ,MAAM,CAAC,OAAe;QAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAA4B,CAAC;IAC1D,CAAC;IACQ,OAAO,CAAC,MAAc;QAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAqC,CAAC;IACnE,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,cAAK,CAAC,SAAS,CAAC,IAAI,CAAqC,CAAC;IACvE,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,iBAAQ,CACjB,OAAO,EACP,IAAI,EACJ,gBAAgB,CACU,CAAC;IAC/B,CAAC;;AAxCH,4EAyCC;AAfiB,yCAAQ,GAAG,SAAS,CAAC;AACrB,oCAAG,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"DomainRoutingIsmFactory__factory.js","sourceRoot":"","sources":["../../../../../../types/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,mCAA6E;AAQ7E,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;aACjB;YACD;gBACE,YAAY,EAAE,sCAAsC;gBACpD,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,WAAW;aAClB;SACF;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,SAAS,GACb,w8aAAw8a,CAAC;AAM38a,MAAM,WAAW,GAAG,CAClB,EAA4C,EACS,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,gCAAiC,SAAQ,wBAAe;IACnE,YAAY,GAAG,IAA8C;QAC3D,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;YACrB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;aAAM;YACL,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAEQ,MAAM,CACb,SAAyD;QAEzD,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAqC,CAAC;IAC3E,CAAC;IACQ,oBAAoB,CAC3B,SAAyD;QAEzD,OAAO,KAAK,CAAC,oBAAoB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACQ,MAAM,CAAC,OAAe;QAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAA4B,CAAC;IAC1D,CAAC;IACQ,OAAO,CAAC,MAAc;QAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAqC,CAAC;IACnE,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,cAAK,CAAC,SAAS,CAAC,IAAI,CAAqC,CAAC;IACvE,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,iBAAQ,CACjB,OAAO,EACP,IAAI,EACJ,gBAAgB,CACU,CAAC;IAC/B,CAAC;;AAxCH,4EAyCC;AAfiB,yCAAQ,GAAG,SAAS,CAAC;AACrB,oCAAG,GAAG,IAAI,CAAC"}
@@ -1,4 +1,3 @@
1
1
  export { AbstractDomainRoutingIsmFactory__factory } from "./AbstractDomainRoutingIsmFactory__factory";
2
- export { DefaultFallbackRoutingIsmFactory__factory } from "./DefaultFallbackRoutingIsmFactory__factory";
3
2
  export { DomainRoutingIsmFactory__factory } from "./DomainRoutingIsmFactory__factory";
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../types/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wCAAwC,EAAE,MAAM,4CAA4C,CAAC;AACtG,OAAO,EAAE,yCAAyC,EAAE,MAAM,6CAA6C,CAAC;AACxG,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../types/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wCAAwC,EAAE,MAAM,4CAA4C,CAAC;AACtG,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC"}
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DomainRoutingIsmFactory__factory = exports.DefaultFallbackRoutingIsmFactory__factory = exports.AbstractDomainRoutingIsmFactory__factory = void 0;
3
+ exports.DomainRoutingIsmFactory__factory = exports.AbstractDomainRoutingIsmFactory__factory = void 0;
4
4
  /* Autogenerated file. Do not edit manually. */
5
5
  /* tslint:disable */
6
6
  /* eslint-disable */
7
7
  var AbstractDomainRoutingIsmFactory__factory_1 = require("./AbstractDomainRoutingIsmFactory__factory");
8
8
  Object.defineProperty(exports, "AbstractDomainRoutingIsmFactory__factory", { enumerable: true, get: function () { return AbstractDomainRoutingIsmFactory__factory_1.AbstractDomainRoutingIsmFactory__factory; } });
9
- var DefaultFallbackRoutingIsmFactory__factory_1 = require("./DefaultFallbackRoutingIsmFactory__factory");
10
- Object.defineProperty(exports, "DefaultFallbackRoutingIsmFactory__factory", { enumerable: true, get: function () { return DefaultFallbackRoutingIsmFactory__factory_1.DefaultFallbackRoutingIsmFactory__factory; } });
11
9
  var DomainRoutingIsmFactory__factory_1 = require("./DomainRoutingIsmFactory__factory");
12
10
  Object.defineProperty(exports, "DomainRoutingIsmFactory__factory", { enumerable: true, get: function () { return DomainRoutingIsmFactory__factory_1.DomainRoutingIsmFactory__factory; } });
13
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../types/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,uGAAsG;AAA7F,oKAAA,wCAAwC,OAAA;AACjD,yGAAwG;AAA/F,sKAAA,yCAAyC,OAAA;AAClD,uFAAsF;AAA7E,oJAAA,gCAAgC,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../types/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,uGAAsG;AAA7F,oKAAA,wCAAwC,OAAA;AACjD,uFAAsF;AAA7E,oJAAA,gCAAgC,OAAA"}
@@ -13,7 +13,7 @@ export declare class MockHyperlaneEnvironment__factory extends ContractFactory {
13
13
  }): TransactionRequest;
14
14
  attach(address: string): MockHyperlaneEnvironment;
15
15
  connect(signer: Signer): MockHyperlaneEnvironment__factory;
16
- static readonly bytecode = "0x608060405234801561001057600080fd5b50604051615a3f380380615a3f83398101604081905261002f9161052c565b6000805463ffffffff838116640100000000026001600160401b0319909216908516171781556040518390610063906104ec565b63ffffffff9091168152602001604051809103906000f08015801561008c573d6000803e3d6000fd5b50905060008260405161009e906104ec565b63ffffffff9091168152602001604051809103906000f0801580156100c7573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011b57600080fd5b505af115801561012f573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018257600080fd5b505af1158015610196573d6000803e3d6000fd5b505050506040516101a6906104f9565b604051809103906000f0801580156101c2573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b03939093169290921790915551610203906104f9565b604051809103906000f08015801561021f573d6000803e3d6000fd5b5060008054640100000000900463ffffffff90811682526003602052604080832080546001600160a01b0319166001600160a01b039586161790558254909116825290819020549051637bca343d60e11b815290821660048201529083169063f794687a90602401600060405180830381600087803b1580156102a157600080fd5b505af11580156102b5573d6000803e3d6000fd5b505060008054640100000000900463ffffffff1681526003602052604090819020549051637bca343d60e11b81526001600160a01b039182166004820152908416925063f794687a9150602401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b5050505060405161034090610506565b604051809103906000f08015801561035c573d6000803e3d6000fd5b506000805463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161039d90610506565b604051809103906000f0801580156103b9573d6000803e3d6000fd5b5060008054640100000000900463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b039384161790555163f2fde38b60e01b81523360048201529083169063f2fde38b90602401600060405180830381600087803b15801561042b57600080fd5b505af115801561043f573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561048457600080fd5b505af1158015610498573d6000803e3d6000fd5b5050505063ffffffff93841660009081526001602052604080822080546001600160a01b03199081166001600160a01b0396871617909155949095168152939093208054909216921691909117905561055f565b6130d38061082e83390190565b6102258061390183390190565b611f1980613b2683390190565b805163ffffffff8116811461052757600080fd5b919050565b6000806040838503121561053f57600080fd5b61054883610513565b915061055660208401610513565b90509250929050565b6102c08061056e6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063f11a367e11610050578063f11a367e14610101578063f9d2692d14610137578063f9f312ad1461014157600080fd5b80635a007b7e1461006c5780637a7eada3146100cb575b600080fd5b6100a261007a36600461025d565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100a26100d936600461025d565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100a261010f36600461025d565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61013f610149565b005b61013f6101dc565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b1580156101c257600080fd5b505af11580156101d6573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b1580156101c257600080fd5b60006020828403121561026f57600080fd5b813563ffffffff8116811461028357600080fd5b939250505056fea2646970667358221220b22f9cbe58af8b3f01796160857cee5436bcdc979f479e2183e17228cf5d9f1564736f6c6343000813003360c0604052606b80546001600160401b03191690553480156200002157600080fd5b50604051620030d3380380620030d3833981016040819052620000449162000248565b4360805263ffffffff811660a05260405160009062000063906200022c565b604051809103906000f08015801562000080573d6000803e3d6000fd5b50606780546001600160a01b0319166001600160a01b038316179055604051909150600090620000b0906200023a565b604051809103906000f080158015620000cd573d6000803e3d6000fd5b50606880546001600160a01b0383166001600160a01b031991821681179092556069805490911690911790559050620001063362000119565b620001106200016b565b50505062000277565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1615620001d85760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200022a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6102258062002c0683390190565b6102a88062002e2b83390190565b6000602082840312156200025b57600080fd5b815163ffffffff811681146200027057600080fd5b9392505050565b60805160a05161295b620002ab6000396000818161050501528181610c950152611981015260006104d1015261295b6000f3fe6080604052600436106101fe5760003560e01c80638d3638f41161011d578063d6d08a09116100b0578063f794687a1161007f578063f8c8765e11610064578063f8c8765e14610750578063fa31de0114610770578063ffa1ad741461078357600080fd5b8063f794687a14610710578063f7ccd3211461073057600080fd5b8063d6d08a0914610644578063e495f1d414610671578063e70f48ac146106d0578063f2fde38b146106f057600080fd5b80639c42bd18116100ec5780639c42bd181461059f578063a3b4919f146105bf578063affed0e014610602578063d12164e41461061f57600080fd5b80638d3638f4146104f35780638da5cb5b1461052757806392d28b3d1461055257806399b048091461057f57600080fd5b806359b3f6e0116101955780637c39d130116101645780637c39d1301461045a57806381d2ea951461046d5780638209d3121461048d57806382ea7bfe146104bf57600080fd5b806359b3f6e01461035f5780635d1fe5a9146103d55780636e5f516e14610418578063715018a61461044557600080fd5b80631605c306116101d15780631605c306146102c55780633288990c146102da5780633d1250b7146102fa57806348aee8d41461034c57600080fd5b806307a2fda11461020357806310b83dc01461026c578063134fbb4f1461028d5780631426b7f4146102a3575b600080fd5b34801561020f57600080fd5b5061025061021e366004611fb3565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b61027f61027a366004612049565b6107aa565b604051908152602001610263565b34801561029957600080fd5b5061027f60665481565b3480156102af57600080fd5b506102c36102be3660046120e7565b6108fa565b005b3480156102d157600080fd5b506102c3610a15565b3480156102e657600080fd5b506102c36102f5366004612104565b610b6f565b34801561030657600080fd5b506068546103279073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610263565b61027f61035a366004612146565b610bcb565b34801561036b57600080fd5b506102c361037a3660046121d0565b63ffffffff919091166000908152606c6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b3480156103e157600080fd5b506103276103f0366004611fb3565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561042457600080fd5b506067546103279073ffffffffffffffffffffffffffffffffffffffff1681565b34801561045157600080fd5b506102c3610c09565b6102c3610468366004612207565b610c1d565b34801561047957600080fd5b5061027f610488366004612049565b6110bf565b34801561049957600080fd5b50606b546104aa9063ffffffff1681565b60405163ffffffff9091168152602001610263565b3480156104cb57600080fd5b5061027f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ff57600080fd5b506104aa7f000000000000000000000000000000000000000000000000000000000000000081565b34801561053357600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610327565b34801561055e57600080fd5b5061057261056d366004611fb3565b611252565b60405161026391906122e1565b34801561058b57600080fd5b506102c361059a3660046120e7565b6112ec565b3480156105ab57600080fd5b5061027f6105ba3660046122f4565b611407565b3480156105cb57600080fd5b506103276105da366004612342565b606c6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561060e57600080fd5b506065546104aa9063ffffffff1681565b34801561062b57600080fd5b50606b546104aa90640100000000900463ffffffff1681565b34801561065057600080fd5b506069546103279073ffffffffffffffffffffffffffffffffffffffff1681565b34801561067d57600080fd5b506106c061068c366004611fb3565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610263565b3480156106dc57600080fd5b506103276106eb3660046120e7565b611443565b3480156106fc57600080fd5b506102c361070b3660046120e7565b61157a565b34801561071c57600080fd5b506102c361072b3660046120e7565b611631565b34801561073c57600080fd5b5061027f61074b366004612146565b61174c565b34801561075c57600080fd5b506102c361076b36600461235d565b61177f565b61027f61077e3660046122f4565b611939565b34801561078f57600080fd5b50610798600381565b60405160ff9091168152602001610263565b6000806107b98989898961196c565b905060006107cc8a8a8a8a8a8a8a6119aa565b63ffffffff8b166000908152606c602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1680610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064015b60405180910390fd5b6040517f3288990c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633288990c906108b99086906004016122e1565b600060405180830381600087803b1580156108d357600080fd5b505af11580156108e7573d6000803e3d6000fd5b50939d9c50505050505050505050505050565b610902611c7e565b73ffffffffffffffffffffffffffffffffffffffff81163b6109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f6163740000000000000000000000000000000000000000000000000000000000606482015260840161085e565b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b606b54640100000000900463ffffffff166000908152606d602052604081208054610a3f906123b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6b906123b9565b8015610ab85780601f10610a8d57610100808354040283529160200191610ab8565b820191906000526020600020905b815481529060010190602001808311610a9b57829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d1309350610afc925085915060040161240c565b600060405180830381600087803b158015610b1657600080fd5b505af1158015610b2a573d6000803e3d6000fd5b5050606b8054640100000000900463ffffffff16925090506004610b4d8361245c565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050565b606b5463ffffffff166000908152606d60205260409020610b918284836124fd565b50606b805463ffffffff16906000610ba88361245c565b91906101000a81548163ffffffff021916908363ffffffff160217905550505050565b6000610bfe878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166107aa565b979650505050505050565b610c11611c7e565b610c1b6000611cff565b565b6003610c298383611d76565b60ff1614610c93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e000000000000000000000000604482015260640161085e565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610cc48383611d9a565b63ffffffff1614610d31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e00604482015260640161085e565b6000610d7283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611dbd92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610e0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c697665726564000000000000604482015260640161085e565b6000610e178484611dc8565b90506000610e2482611443565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610ec28686611de1565b610ecc8787611dfa565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610f81908a908a908a908a90600401612660565b6020604051808303816000875af1158015610fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc49190612687565b61102a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c6564604482015260640161085e565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d475346110518888611dfa565b61105b8989611de1565b6110658a8a611e0a565b6040518663ffffffff1660e01b815260040161108494939291906126a9565b6000604051808303818588803b15801561109d57600080fd5b505af11580156110b1573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166110f85760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006111068989898961196c565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd2309061115f908890889086906004016126d9565b602060405180830381865afa15801561117c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a091906126ff565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd230906111fa908990899087906004016126d9565b602060405180830381865afa158015611217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123b91906126ff565b6112459190612718565b9998505050505050505050565b606d602052600090815260409020805461126b906123b9565b80601f0160208091040260200160405190810160405280929190818152602001828054611297906123b9565b80156112e45780601f106112b9576101008083540402835291602001916112e4565b820191906000526020600020905b8154815290600101906020018083116112c757829003601f168201915b505050505081565b6112f4611c7e565b73ffffffffffffffffffffffffffffffffffffffff81163b611398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f6374000000000000000000000000000000000000000000000000000000000000606482015260840161085e565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061143a8585858561141c8680838561272b565b60685473ffffffffffffffffffffffffffffffffffffffff166110bf565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff8616916114c49190612755565b600060405180830381855afa9150503d80600081146114ff576040519150601f19603f3d011682016040523d82523d6000602084013e611504565b606091505b50915091508180156115165750805115155b15611559576000818060200190518101906115319190612771565b905073ffffffffffffffffffffffffffffffffffffffff81161561155757949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b611582611c7e565b73ffffffffffffffffffffffffffffffffffffffff8116611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161085e565b61162e81611cff565b50565b611639611c7e565b73ffffffffffffffffffffffffffffffffffffffff81163b6116dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f7400000000000000000000000000000000000000000000000000000000000000606482015260840161085e565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610bfe878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166110bf565b600054610100900460ff161580801561179f5750600054600160ff909116105b806117b95750303b1580156117b9575060005460ff166001145b611845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161085e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156118a357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6118ab611e26565b6118b484611631565b6118bd836112ec565b6118c6826108fa565b6118cf8561157a565b801561193257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061143a8585858561194e8680838561272b565b60685473ffffffffffffffffffffffffffffffffffffffff166107aa565b60655460609061143a9060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989611ec5565b600073ffffffffffffffffffffffffffffffffffffffff82166119e35760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006119f18989898961196c565b80516020820120606681905560658054929350909160019190600090611a1e90849063ffffffff1661278e565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051611a8a91906122e1565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd23090611b18908a908a9088906004016126d9565b602060405180830381865afa158015611b35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5991906126ff565b905080341015611b665750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390611bc2908b908b9089906004016126d9565b6000604051808303818588803b158015611bdb57600080fd5b505af1158015611bef573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b98234611c1c91906127b2565b8989876040518563ffffffff1660e01b8152600401611c3d939291906126d9565b6000604051808303818588803b158015611c5657600080fd5b505af1158015611c6a573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161085e565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611d85600182848661272b565b611d8e916127c5565b60f81c90505b92915050565b6000611daa602d6029848661272b565b611db39161280d565b60e01c9392505050565b805160209091012090565b6000611dda611dd78484611f03565b90565b9392505050565b6000611df160296009848661272b565b611dda91612853565b6000611daa60096005848661272b565b366000611e1a83604d818761272b565b915091505b9250929050565b600054610100900460ff16611ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161085e565b610c1b611f13565b60608888888888888888604051602001611ee698979695949392919061288f565b604051602081830303815290604052905098975050505050505050565b6000611df1604d602d848661272b565b600054610100900460ff16611faa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161085e565b610c1b33611cff565b600060208284031215611fc557600080fd5b5035919050565b803563ffffffff81168114611fe057600080fd5b919050565b60008083601f840112611ff757600080fd5b50813567ffffffffffffffff81111561200f57600080fd5b602083019150836020828501011115611e1f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461162e57600080fd5b600080600080600080600060a0888a03121561206457600080fd5b61206d88611fcc565b965060208801359550604088013567ffffffffffffffff8082111561209157600080fd5b61209d8b838c01611fe5565b909750955060608a01359150808211156120b657600080fd5b506120c38a828b01611fe5565b90945092505060808801356120d781612027565b8091505092959891949750929550565b6000602082840312156120f957600080fd5b8135611dda81612027565b6000806020838503121561211757600080fd5b823567ffffffffffffffff81111561212e57600080fd5b61213a85828601611fe5565b90969095509350505050565b6000806000806000806080878903121561215f57600080fd5b61216887611fcc565b955060208701359450604087013567ffffffffffffffff8082111561218c57600080fd5b6121988a838b01611fe5565b909650945060608901359150808211156121b157600080fd5b506121be89828a01611fe5565b979a9699509497509295939492505050565b600080604083850312156121e357600080fd5b6121ec83611fcc565b915060208301356121fc81612027565b809150509250929050565b6000806000806040858703121561221d57600080fd5b843567ffffffffffffffff8082111561223557600080fd5b61224188838901611fe5565b9096509450602087013591508082111561225a57600080fd5b5061226787828801611fe5565b95989497509550505050565b60005b8381101561228e578181015183820152602001612276565b50506000910152565b600081518084526122af816020860160208601612273565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611dda6020830184612297565b6000806000806060858703121561230a57600080fd5b61231385611fcc565b935060208501359250604085013567ffffffffffffffff81111561233657600080fd5b61226787828801611fe5565b60006020828403121561235457600080fd5b611dda82611fcc565b6000806000806080858703121561237357600080fd5b843561237e81612027565b9350602085013561238e81612027565b9250604085013561239e81612027565b915060608501356123ae81612027565b939692955090935050565b600181811c908216806123cd57607f821691505b602082108103612406577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006040820152606060208201526000611dda6060830184612297565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff8083168181036124755761247561242d565b6001019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156124f857600081815260208120601f850160051c810160208610156124d55750805b601f850160051c820191505b818110156124f4578281556001016124e1565b5050505b505050565b67ffffffffffffffff8311156125155761251561247f565b6125298361252383546123b9565b836124ae565b6000601f84116001811461257b57600085156125455750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611932565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156125ca57868501358255602094850194600190920191016125aa565b5086821015612605577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604081526000612674604083018688612617565b8281036020840152610bfe818587612617565b60006020828403121561269957600080fd5b81518015158114611dda57600080fd5b63ffffffff851681528360208201526060604082015260006126cf606083018486612617565b9695505050505050565b6040815260006126ed604083018587612617565b82810360208401526126cf8185612297565b60006020828403121561271157600080fd5b5051919050565b80820180821115611d9457611d9461242d565b6000808585111561273b57600080fd5b8386111561274857600080fd5b5050820193919092039150565b60008251612767818460208701612273565b9190910192915050565b60006020828403121561278357600080fd5b8151611dda81612027565b63ffffffff8181168382160190808211156127ab576127ab61242d565b5092915050565b81810381811115611d9457611d9461242d565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156128055780818660010360031b1b83161692505b505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156128055760049490940360031b84901b1690921692915050565b80356020831015611d94577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea26469706673582212209880de63048e3f3c9f8e7f18edbe694dbebe5a153be2db87c0189f00e75bbec364736f6c6343000813003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea26469706673582212200d1c4c1a9398fe6538ce819cb3cd28a0a7dbf7f311c5f775bd7b16473af4a31e64736f6c6343000813003360806040526000805534801561001457600080fd5b50610284806100246000396000f3fe6080604052600436106100655760003560e01c8063ddca3f4311610043578063ddca3f43146100d9578063e445e7dd146100ef578063e5320bb91461010b57600080fd5b8063086011b91461006a57806369fe0e2d14610080578063aaccd230146100a0575b600080fd5b61007e610078366004610187565b50505050565b005b34801561008c57600080fd5b5061007e61009b3660046101f3565b600055565b3480156100ac57600080fd5b506100c66100bb366004610187565b505060005492915050565b6040519081526020015b60405180910390f35b3480156100e557600080fd5b506100c660005481565b3480156100fb57600080fd5b50604051600081526020016100d0565b34801561011757600080fd5b5061012e61012636600461020c565b600192915050565b60405190151581526020016100d0565b60008083601f84011261015057600080fd5b50813567ffffffffffffffff81111561016857600080fd5b60208301915083602082850101111561018057600080fd5b9250929050565b6000806000806040858703121561019d57600080fd5b843567ffffffffffffffff808211156101b557600080fd5b6101c18883890161013e565b909650945060208701359150808211156101da57600080fd5b506101e78782880161013e565b95989497509550505050565b60006020828403121561020557600080fd5b5035919050565b6000806020838503121561021f57600080fd5b823567ffffffffffffffff81111561023657600080fd5b6102428582860161013e565b9096909550935050505056fea2646970667358221220ea07c8ceca3e0b7bc6d85d720391a63bd08ca0ee531d7f7c2d280a0d56055b2364736f6c6343000813003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea26469706673582212200d1c4c1a9398fe6538ce819cb3cd28a0a7dbf7f311c5f775bd7b16473af4a31e64736f6c6343000813003360c060405261c35060a0523480156200001757600080fd5b50436080526200002833806200002e565b620002d9565b600054610100900460ff16158080156200004f5750600054600160ff909116105b806200006b5750303b1580156200006b575060005460ff166001145b620000d45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f8576000805461ff0019166101001790555b6200010262000164565b6200010d83620001cc565b62000118826200021e565b80156200015f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600054610100900460ff16620001c05760405162461bcd60e51b815260206004820152602b602482015260008051602062001ef983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca62000272565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16620002ce5760405162461bcd60e51b815260206004820152602b602482015260008051602062001ef983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca33620001cc565b60805160a051611bfa620002ff6000396000610d8a0152600061037f0152611bfa6000f3fe6080604052600436106101445760003560e01c806360fcef7c116100c0578063aaccd23011610074578063e5320bb911610059578063e5320bb914610428578063f2fde38b14610458578063fe173b971461047857600080fd5b8063aaccd230146103ec578063e445e7dd1461040c57600080fd5b806382ea7bfe116100a557806382ea7bfe1461036d5780638da5cb5b146103a1578063a6929793146103cc57600080fd5b806360fcef7c1461030f578063715018a61461035857600080fd5b806338af3eed11610117578063485cc955116100fc578063485cc955146102ba57806348f4e6c1146102da5780634e71d92d146102fa57600080fd5b806338af3eed146101c457806343c467c01461021657600080fd5b8063086011b91461014957806311bf2c181461015e5780631c31f7101461017157806326d5b1a614610191575b600080fd5b61015c6101573660046115cd565b61048d565b005b61015c61016c366004611674565b61053a565b34801561017d57600080fd5b5061015c61018c3660046116bc565b6106d4565b34801561019d57600080fd5b506101b16101ac3660046116d9565b6106e8565b6040519081526020015b60405180910390f35b3480156101d057600080fd5b506066546101f19073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bb565b34801561022257600080fd5b50610281610231366004611703565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152016101bb565b3480156102c657600080fd5b5061015c6102d536600461171e565b610738565b3480156102e657600080fd5b5061015c6102f5366004611757565b6108df565b34801561030657600080fd5b5061015c610989565b34801561031b57600080fd5b5061032f61032a366004611703565b610a53565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101bb565b34801561036457600080fd5b5061015c610b86565b34801561037957600080fd5b506101b17f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ad57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101f1565b3480156103d857600080fd5b506101b16103e73660046116d9565b610b9a565b3480156103f857600080fd5b506101b16104073660046115cd565b610ba7565b34801561041857600080fd5b50604051600481526020016101bb565b34801561043457600080fd5b506104486104433660046117cc565b610c54565b60405190151581526020016101bb565b34801561046457600080fd5b5061015c6104733660046116bc565b610c76565b34801561048457600080fd5b506101b1600a81565b6104978484610c54565b610528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61053484848484610d2a565b50505050565b60006105468484610b9a565b9050803410156105d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4947503a20696e73756666696369656e7420696e746572636861696e2067617360448201527f207061796d656e74000000000000000000000000000000000000000000000000606482015260840161051f565b60006105e4823461183d565b905080156106895773ffffffffffffffffffffffffffffffffffffffff8316610669576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f20726566756e642061646472657373000000000000000000000000000000604482015260640161051f565b61068973ffffffffffffffffffffffffffffffffffffffff841682610dc4565b604080518581526020810184905263ffffffff87169188917f65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a910160405180910390a3505050505050565b6106dc610f1e565b6106e581610f9f565b50565b63ffffffff821660009081526065602052604081205461072f9083907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff16611850565b90505b92915050565b600054610100900460ff16158080156107585750600054600160ff909116105b806107725750303b158015610772575060005460ff166001145b6107fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161051f565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561085c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610864611018565b61086d836110b7565b61087682610f9f565b80156108da57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b505050565b6108e7610f1e565b8060005b818110156105345761097784848381811061090857610908611863565b61091e9260206060909202019081019150611703565b85858481811061093057610930611863565b61094992604060609092020190810191506020016116bc565b86868581811061095b5761095b611863565b610972926060918202019081019150604001611892565b61112e565b80610981816118c0565b9150506108eb565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d80600081146109e3576040519150601f19603f3d011682016040523d82523d6000602084013e6109e8565b606091505b50509050806106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4947503a20636c61696d206661696c6564000000000000000000000000000000604482015260640161051f565b63ffffffff81166000818152606560205260408120549091829173ffffffffffffffffffffffffffffffffffffffff169081151590610a91906111db565b604051602001610aa1919061191c565b60405160208183030381529060405290610ae8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051f9190611987565b506040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906119f8565b9250925050915091565b610b8e610f1e565b610b9860006110b7565b565b600061072f82600a611a2b565b6000610bb38585610c54565b610c3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e740000000000000000000000000000606482015260840161051f565b610c4b85858585611299565b95945050505050565b600081158061072f57506001610c6a84846112b5565b61ffff16149392505050565b610c7e610f1e565b73ffffffffffffffffffffffffffffffffffffffff8116610d21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161051f565b6106e5816110b7565b610534610d6c83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130692505050565b610d768484611311565b610dae610d838686611311565b6101ac89897f0000000000000000000000000000000000000000000000000000000000000000611334565b61016c610dbb8787611385565b89908990611397565b80471015610e2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161051f565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610e88576040519150601f19603f3d011682016040523d82523d6000602084013e610e8d565b606091505b50509050806108da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161051f565b60335473ffffffffffffffffffffffffffffffffffffffff163314610b98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161051f565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff166110af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161051f565b610b986113e9565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8481168083526bffffffffffffffffffffffff858116602080860182815263ffffffff8b16600081815260658452899020975191519094167401000000000000000000000000000000000000000002951694909417909455845190815291820152918201527f676a23191c2989bd7cc8446122cca792bcdaa0f2d6bbd9c30d8ca031ca946343906060016108d1565b606060006111e883611489565b600101905060008167ffffffffffffffff81111561120857611208611a42565b6040519080825280601f01601f191660200182016040528015611232576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461123c57509392505050565b6000610c4b6112a88484611311565b6103e7610d838686611311565b60006112c2816002611a71565b60ff168210156112d457506000610732565b826000836112e3826002611a71565b60ff16926112f393929190611a8a565b6112fc91611ab4565b60f01c9392505050565b805160209091012090565b6000611321602d60298486611a8a565b61132a91611afc565b60e01c9392505050565b600061134260226020611a71565b60ff1683101561135357508061137e565b83602284611362826020611a71565b60ff169261137293929190611a8a565b61137b91611b42565b90505b9392505050565b600061072f611394848461156b565b90565b60006113a560426014611a71565b60ff168310156113b657508061137e565b836042846113c5826014611a71565b60ff16926113d593929190611a8a565b6113de91611b7e565b60601c949350505050565b600054610100900460ff16611480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161051f565b610b98336110b7565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106114d2577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106114fe576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061151c57662386f26fc10000830492506010015b6305f5e1008310611534576305f5e100830492506008015b612710831061154857612710830492506004015b6064831061155a576064830492506002015b600a83106107325760010192915050565b600061157b602960098486611a8a565b61072f91611b42565b60008083601f84011261159657600080fd5b50813567ffffffffffffffff8111156115ae57600080fd5b6020830191508360208285010111156115c657600080fd5b9250929050565b600080600080604085870312156115e357600080fd5b843567ffffffffffffffff808211156115fb57600080fd5b61160788838901611584565b9096509450602087013591508082111561162057600080fd5b5061162d87828801611584565b95989497509550505050565b803563ffffffff8116811461164d57600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff811681146106e557600080fd5b6000806000806080858703121561168a57600080fd5b8435935061169a60208601611639565b92506040850135915060608501356116b181611652565b939692955090935050565b6000602082840312156116ce57600080fd5b813561137e81611652565b600080604083850312156116ec57600080fd5b6116f583611639565b946020939093013593505050565b60006020828403121561171557600080fd5b61072f82611639565b6000806040838503121561173157600080fd5b823561173c81611652565b9150602083013561174c81611652565b809150509250929050565b6000806020838503121561176a57600080fd5b823567ffffffffffffffff8082111561178257600080fd5b818501915085601f83011261179657600080fd5b8135818111156117a557600080fd5b8660206060830285010111156117ba57600080fd5b60209290920196919550909350505050565b600080602083850312156117df57600080fd5b823567ffffffffffffffff8111156117f657600080fd5b61180285828601611584565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156107325761073261180e565b808201808211156107325761073261180e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156118a457600080fd5b81356bffffffffffffffffffffffff8116811461137e57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118f1576118f161180e565b5060010190565b60005b838110156119135781810151838201526020016118fb565b50506000910152565b7f436f6e666967757265642049475020646f65736e277420737570706f7274206481527f6f6d61696e20000000000000000000000000000000000000000000000000000060208201526000825161197a8160268501602087016118f8565b9190910160260192915050565b60208152600082518060208401526119a68160408501602087016118f8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b80516fffffffffffffffffffffffffffffffff8116811461164d57600080fd5b60008060408385031215611a0b57600080fd5b611a14836119d8565b9150611a22602084016119d8565b90509250929050565b80820281158282048414176107325761073261180e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60ff81811683821601908111156107325761073261180e565b60008085851115611a9a57600080fd5b83861115611aa757600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015611af45780818660020360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611af45760049490940360031b84901b1690921692915050565b80356020831015610732577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611af45760149490940360031b84901b169092169291505056fea26469706673582212202be3c182b3cf861a3a10696d3c4cfca42ad279b74c2ab13b6971f182adb0a18e64736f6c63430008130033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
16
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50604051615a3f380380615a3f83398101604081905261002f9161052c565b6000805463ffffffff838116640100000000026001600160401b0319909216908516171781556040518390610063906104ec565b63ffffffff9091168152602001604051809103906000f08015801561008c573d6000803e3d6000fd5b50905060008260405161009e906104ec565b63ffffffff9091168152602001604051809103906000f0801580156100c7573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011b57600080fd5b505af115801561012f573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018257600080fd5b505af1158015610196573d6000803e3d6000fd5b505050506040516101a6906104f9565b604051809103906000f0801580156101c2573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b03939093169290921790915551610203906104f9565b604051809103906000f08015801561021f573d6000803e3d6000fd5b5060008054640100000000900463ffffffff90811682526003602052604080832080546001600160a01b0319166001600160a01b039586161790558254909116825290819020549051637bca343d60e11b815290821660048201529083169063f794687a90602401600060405180830381600087803b1580156102a157600080fd5b505af11580156102b5573d6000803e3d6000fd5b505060008054640100000000900463ffffffff1681526003602052604090819020549051637bca343d60e11b81526001600160a01b039182166004820152908416925063f794687a9150602401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b5050505060405161034090610506565b604051809103906000f08015801561035c573d6000803e3d6000fd5b506000805463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161039d90610506565b604051809103906000f0801580156103b9573d6000803e3d6000fd5b5060008054640100000000900463ffffffff168152600260205260409081902080546001600160a01b0319166001600160a01b039384161790555163f2fde38b60e01b81523360048201529083169063f2fde38b90602401600060405180830381600087803b15801561042b57600080fd5b505af115801561043f573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561048457600080fd5b505af1158015610498573d6000803e3d6000fd5b5050505063ffffffff93841660009081526001602052604080822080546001600160a01b03199081166001600160a01b0396871617909155949095168152939093208054909216921691909117905561055f565b6130d38061082e83390190565b6102258061390183390190565b611f1980613b2683390190565b805163ffffffff8116811461052757600080fd5b919050565b6000806040838503121561053f57600080fd5b61054883610513565b915061055660208401610513565b90509250929050565b6102c08061056e6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063f11a367e11610050578063f11a367e14610101578063f9d2692d14610137578063f9f312ad1461014157600080fd5b80635a007b7e1461006c5780637a7eada3146100cb575b600080fd5b6100a261007a36600461025d565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100a26100d936600461025d565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6100a261010f36600461025d565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61013f610149565b005b61013f6101dc565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b1580156101c257600080fd5b505af11580156101d6573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b1580156101c257600080fd5b60006020828403121561026f57600080fd5b813563ffffffff8116811461028357600080fd5b939250505056fea26469706673582212209e118507b7c155262cb244e4cdde8354a2b785e69b037bd1b0eb602003e5326c64736f6c6343000813003360c0604052606b80546001600160401b03191690553480156200002157600080fd5b50604051620030d3380380620030d3833981016040819052620000449162000248565b4360805263ffffffff811660a05260405160009062000063906200022c565b604051809103906000f08015801562000080573d6000803e3d6000fd5b50606780546001600160a01b0319166001600160a01b038316179055604051909150600090620000b0906200023a565b604051809103906000f080158015620000cd573d6000803e3d6000fd5b50606880546001600160a01b0383166001600160a01b031991821681179092556069805490911690911790559050620001063362000119565b620001106200016b565b50505062000277565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1615620001d85760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200022a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6102258062002c0683390190565b6102a88062002e2b83390190565b6000602082840312156200025b57600080fd5b815163ffffffff811681146200027057600080fd5b9392505050565b60805160a05161295b620002ab6000396000818161050501528181610c950152611981015260006104d1015261295b6000f3fe6080604052600436106101fe5760003560e01c80638d3638f41161011d578063d6d08a09116100b0578063f794687a1161007f578063f8c8765e11610064578063f8c8765e14610750578063fa31de0114610770578063ffa1ad741461078357600080fd5b8063f794687a14610710578063f7ccd3211461073057600080fd5b8063d6d08a0914610644578063e495f1d414610671578063e70f48ac146106d0578063f2fde38b146106f057600080fd5b80639c42bd18116100ec5780639c42bd181461059f578063a3b4919f146105bf578063affed0e014610602578063d12164e41461061f57600080fd5b80638d3638f4146104f35780638da5cb5b1461052757806392d28b3d1461055257806399b048091461057f57600080fd5b806359b3f6e0116101955780637c39d130116101645780637c39d1301461045a57806381d2ea951461046d5780638209d3121461048d57806382ea7bfe146104bf57600080fd5b806359b3f6e01461035f5780635d1fe5a9146103d55780636e5f516e14610418578063715018a61461044557600080fd5b80631605c306116101d15780631605c306146102c55780633288990c146102da5780633d1250b7146102fa57806348aee8d41461034c57600080fd5b806307a2fda11461020357806310b83dc01461026c578063134fbb4f1461028d5780631426b7f4146102a3575b600080fd5b34801561020f57600080fd5b5061025061021e366004611fb3565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b61027f61027a366004612049565b6107aa565b604051908152602001610263565b34801561029957600080fd5b5061027f60665481565b3480156102af57600080fd5b506102c36102be3660046120e7565b6108fa565b005b3480156102d157600080fd5b506102c3610a15565b3480156102e657600080fd5b506102c36102f5366004612104565b610b6f565b34801561030657600080fd5b506068546103279073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610263565b61027f61035a366004612146565b610bcb565b34801561036b57600080fd5b506102c361037a3660046121d0565b63ffffffff919091166000908152606c6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b3480156103e157600080fd5b506103276103f0366004611fb3565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561042457600080fd5b506067546103279073ffffffffffffffffffffffffffffffffffffffff1681565b34801561045157600080fd5b506102c3610c09565b6102c3610468366004612207565b610c1d565b34801561047957600080fd5b5061027f610488366004612049565b6110bf565b34801561049957600080fd5b50606b546104aa9063ffffffff1681565b60405163ffffffff9091168152602001610263565b3480156104cb57600080fd5b5061027f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ff57600080fd5b506104aa7f000000000000000000000000000000000000000000000000000000000000000081565b34801561053357600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610327565b34801561055e57600080fd5b5061057261056d366004611fb3565b611252565b60405161026391906122e1565b34801561058b57600080fd5b506102c361059a3660046120e7565b6112ec565b3480156105ab57600080fd5b5061027f6105ba3660046122f4565b611407565b3480156105cb57600080fd5b506103276105da366004612342565b606c6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561060e57600080fd5b506065546104aa9063ffffffff1681565b34801561062b57600080fd5b50606b546104aa90640100000000900463ffffffff1681565b34801561065057600080fd5b506069546103279073ffffffffffffffffffffffffffffffffffffffff1681565b34801561067d57600080fd5b506106c061068c366004611fb3565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610263565b3480156106dc57600080fd5b506103276106eb3660046120e7565b611443565b3480156106fc57600080fd5b506102c361070b3660046120e7565b61157a565b34801561071c57600080fd5b506102c361072b3660046120e7565b611631565b34801561073c57600080fd5b5061027f61074b366004612146565b61174c565b34801561075c57600080fd5b506102c361076b36600461235d565b61177f565b61027f61077e3660046122f4565b611939565b34801561078f57600080fd5b50610798600381565b60405160ff9091168152602001610263565b6000806107b98989898961196c565b905060006107cc8a8a8a8a8a8a8a6119aa565b63ffffffff8b166000908152606c602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1680610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064015b60405180910390fd5b6040517f3288990c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633288990c906108b99086906004016122e1565b600060405180830381600087803b1580156108d357600080fd5b505af11580156108e7573d6000803e3d6000fd5b50939d9c50505050505050505050505050565b610902611c7e565b73ffffffffffffffffffffffffffffffffffffffff81163b6109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f6163740000000000000000000000000000000000000000000000000000000000606482015260840161085e565b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b606b54640100000000900463ffffffff166000908152606d602052604081208054610a3f906123b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6b906123b9565b8015610ab85780601f10610a8d57610100808354040283529160200191610ab8565b820191906000526020600020905b815481529060010190602001808311610a9b57829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d1309350610afc925085915060040161240c565b600060405180830381600087803b158015610b1657600080fd5b505af1158015610b2a573d6000803e3d6000fd5b5050606b8054640100000000900463ffffffff16925090506004610b4d8361245c565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050565b606b5463ffffffff166000908152606d60205260409020610b918284836124fd565b50606b805463ffffffff16906000610ba88361245c565b91906101000a81548163ffffffff021916908363ffffffff160217905550505050565b6000610bfe878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166107aa565b979650505050505050565b610c11611c7e565b610c1b6000611cff565b565b6003610c298383611d76565b60ff1614610c93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e000000000000000000000000604482015260640161085e565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610cc48383611d9a565b63ffffffff1614610d31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e00604482015260640161085e565b6000610d7283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611dbd92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610e0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c697665726564000000000000604482015260640161085e565b6000610e178484611dc8565b90506000610e2482611443565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610ec28686611de1565b610ecc8787611dfa565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610f81908a908a908a908a90600401612660565b6020604051808303816000875af1158015610fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc49190612687565b61102a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c6564604482015260640161085e565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d475346110518888611dfa565b61105b8989611de1565b6110658a8a611e0a565b6040518663ffffffff1660e01b815260040161108494939291906126a9565b6000604051808303818588803b15801561109d57600080fd5b505af11580156110b1573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166110f85760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006111068989898961196c565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd2309061115f908890889086906004016126d9565b602060405180830381865afa15801561117c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a091906126ff565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd230906111fa908990899087906004016126d9565b602060405180830381865afa158015611217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123b91906126ff565b6112459190612718565b9998505050505050505050565b606d602052600090815260409020805461126b906123b9565b80601f0160208091040260200160405190810160405280929190818152602001828054611297906123b9565b80156112e45780601f106112b9576101008083540402835291602001916112e4565b820191906000526020600020905b8154815290600101906020018083116112c757829003601f168201915b505050505081565b6112f4611c7e565b73ffffffffffffffffffffffffffffffffffffffff81163b611398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f6374000000000000000000000000000000000000000000000000000000000000606482015260840161085e565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061143a8585858561141c8680838561272b565b60685473ffffffffffffffffffffffffffffffffffffffff166110bf565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff8616916114c49190612755565b600060405180830381855afa9150503d80600081146114ff576040519150601f19603f3d011682016040523d82523d6000602084013e611504565b606091505b50915091508180156115165750805115155b15611559576000818060200190518101906115319190612771565b905073ffffffffffffffffffffffffffffffffffffffff81161561155757949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b611582611c7e565b73ffffffffffffffffffffffffffffffffffffffff8116611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161085e565b61162e81611cff565b50565b611639611c7e565b73ffffffffffffffffffffffffffffffffffffffff81163b6116dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f7400000000000000000000000000000000000000000000000000000000000000606482015260840161085e565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610bfe878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166110bf565b600054610100900460ff161580801561179f5750600054600160ff909116105b806117b95750303b1580156117b9575060005460ff166001145b611845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161085e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156118a357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6118ab611e26565b6118b484611631565b6118bd836112ec565b6118c6826108fa565b6118cf8561157a565b801561193257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061143a8585858561194e8680838561272b565b60685473ffffffffffffffffffffffffffffffffffffffff166107aa565b60655460609061143a9060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989611ec5565b600073ffffffffffffffffffffffffffffffffffffffff82166119e35760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006119f18989898961196c565b80516020820120606681905560658054929350909160019190600090611a1e90849063ffffffff1661278e565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051611a8a91906122e1565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd23090611b18908a908a9088906004016126d9565b602060405180830381865afa158015611b35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5991906126ff565b905080341015611b665750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390611bc2908b908b9089906004016126d9565b6000604051808303818588803b158015611bdb57600080fd5b505af1158015611bef573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b98234611c1c91906127b2565b8989876040518563ffffffff1660e01b8152600401611c3d939291906126d9565b6000604051808303818588803b158015611c5657600080fd5b505af1158015611c6a573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161085e565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611d85600182848661272b565b611d8e916127c5565b60f81c90505b92915050565b6000611daa602d6029848661272b565b611db39161280d565b60e01c9392505050565b805160209091012090565b6000611dda611dd78484611f03565b90565b9392505050565b6000611df160296009848661272b565b611dda91612853565b6000611daa60096005848661272b565b366000611e1a83604d818761272b565b915091505b9250929050565b600054610100900460ff16611ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161085e565b610c1b611f13565b60608888888888888888604051602001611ee698979695949392919061288f565b604051602081830303815290604052905098975050505050505050565b6000611df1604d602d848661272b565b600054610100900460ff16611faa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161085e565b610c1b33611cff565b600060208284031215611fc557600080fd5b5035919050565b803563ffffffff81168114611fe057600080fd5b919050565b60008083601f840112611ff757600080fd5b50813567ffffffffffffffff81111561200f57600080fd5b602083019150836020828501011115611e1f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461162e57600080fd5b600080600080600080600060a0888a03121561206457600080fd5b61206d88611fcc565b965060208801359550604088013567ffffffffffffffff8082111561209157600080fd5b61209d8b838c01611fe5565b909750955060608a01359150808211156120b657600080fd5b506120c38a828b01611fe5565b90945092505060808801356120d781612027565b8091505092959891949750929550565b6000602082840312156120f957600080fd5b8135611dda81612027565b6000806020838503121561211757600080fd5b823567ffffffffffffffff81111561212e57600080fd5b61213a85828601611fe5565b90969095509350505050565b6000806000806000806080878903121561215f57600080fd5b61216887611fcc565b955060208701359450604087013567ffffffffffffffff8082111561218c57600080fd5b6121988a838b01611fe5565b909650945060608901359150808211156121b157600080fd5b506121be89828a01611fe5565b979a9699509497509295939492505050565b600080604083850312156121e357600080fd5b6121ec83611fcc565b915060208301356121fc81612027565b809150509250929050565b6000806000806040858703121561221d57600080fd5b843567ffffffffffffffff8082111561223557600080fd5b61224188838901611fe5565b9096509450602087013591508082111561225a57600080fd5b5061226787828801611fe5565b95989497509550505050565b60005b8381101561228e578181015183820152602001612276565b50506000910152565b600081518084526122af816020860160208601612273565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611dda6020830184612297565b6000806000806060858703121561230a57600080fd5b61231385611fcc565b935060208501359250604085013567ffffffffffffffff81111561233657600080fd5b61226787828801611fe5565b60006020828403121561235457600080fd5b611dda82611fcc565b6000806000806080858703121561237357600080fd5b843561237e81612027565b9350602085013561238e81612027565b9250604085013561239e81612027565b915060608501356123ae81612027565b939692955090935050565b600181811c908216806123cd57607f821691505b602082108103612406577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006040820152606060208201526000611dda6060830184612297565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff8083168181036124755761247561242d565b6001019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156124f857600081815260208120601f850160051c810160208610156124d55750805b601f850160051c820191505b818110156124f4578281556001016124e1565b5050505b505050565b67ffffffffffffffff8311156125155761251561247f565b6125298361252383546123b9565b836124ae565b6000601f84116001811461257b57600085156125455750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611932565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156125ca57868501358255602094850194600190920191016125aa565b5086821015612605577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604081526000612674604083018688612617565b8281036020840152610bfe818587612617565b60006020828403121561269957600080fd5b81518015158114611dda57600080fd5b63ffffffff851681528360208201526060604082015260006126cf606083018486612617565b9695505050505050565b6040815260006126ed604083018587612617565b82810360208401526126cf8185612297565b60006020828403121561271157600080fd5b5051919050565b80820180821115611d9457611d9461242d565b6000808585111561273b57600080fd5b8386111561274857600080fd5b5050820193919092039150565b60008251612767818460208701612273565b9190910192915050565b60006020828403121561278357600080fd5b8151611dda81612027565b63ffffffff8181168382160190808211156127ab576127ab61242d565b5092915050565b81810381811115611d9457611d9461242d565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156128055780818660010360031b1b83161692505b505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156128055760049490940360031b84901b1690921692915050565b80356020831015611d94577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea2646970667358221220c48913b523486a81c7a9df266866e62669c4ee8bc4df96ff8b6b760b2588ae6a64736f6c6343000813003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea26469706673582212200d1c4c1a9398fe6538ce819cb3cd28a0a7dbf7f311c5f775bd7b16473af4a31e64736f6c6343000813003360806040526000805534801561001457600080fd5b50610284806100246000396000f3fe6080604052600436106100655760003560e01c8063ddca3f4311610043578063ddca3f43146100d9578063e445e7dd146100ef578063e5320bb91461010b57600080fd5b8063086011b91461006a57806369fe0e2d14610080578063aaccd230146100a0575b600080fd5b61007e610078366004610187565b50505050565b005b34801561008c57600080fd5b5061007e61009b3660046101f3565b600055565b3480156100ac57600080fd5b506100c66100bb366004610187565b505060005492915050565b6040519081526020015b60405180910390f35b3480156100e557600080fd5b506100c660005481565b3480156100fb57600080fd5b50604051600081526020016100d0565b34801561011757600080fd5b5061012e61012636600461020c565b600192915050565b60405190151581526020016100d0565b60008083601f84011261015057600080fd5b50813567ffffffffffffffff81111561016857600080fd5b60208301915083602082850101111561018057600080fd5b9250929050565b6000806000806040858703121561019d57600080fd5b843567ffffffffffffffff808211156101b557600080fd5b6101c18883890161013e565b909650945060208701359150808211156101da57600080fd5b506101e78782880161013e565b95989497509550505050565b60006020828403121561020557600080fd5b5035919050565b6000806020838503121561021f57600080fd5b823567ffffffffffffffff81111561023657600080fd5b6102428582860161013e565b9096909550935050505056fea2646970667358221220e45b3dc77115d86c44082ecbb188bc7a66bb59e00aa00e826ef10bf471f7a70564736f6c6343000813003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea26469706673582212200d1c4c1a9398fe6538ce819cb3cd28a0a7dbf7f311c5f775bd7b16473af4a31e64736f6c6343000813003360c060405261c35060a0523480156200001757600080fd5b50436080526200002833806200002e565b620002d9565b600054610100900460ff16158080156200004f5750600054600160ff909116105b806200006b5750303b1580156200006b575060005460ff166001145b620000d45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f8576000805461ff0019166101001790555b6200010262000164565b6200010d83620001cc565b62000118826200021e565b80156200015f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600054610100900460ff16620001c05760405162461bcd60e51b815260206004820152602b602482015260008051602062001ef983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca62000272565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16620002ce5760405162461bcd60e51b815260206004820152602b602482015260008051602062001ef983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca33620001cc565b60805160a051611bfa620002ff6000396000610d8a0152600061037f0152611bfa6000f3fe6080604052600436106101445760003560e01c806360fcef7c116100c0578063aaccd23011610074578063e5320bb911610059578063e5320bb914610428578063f2fde38b14610458578063fe173b971461047857600080fd5b8063aaccd230146103ec578063e445e7dd1461040c57600080fd5b806382ea7bfe116100a557806382ea7bfe1461036d5780638da5cb5b146103a1578063a6929793146103cc57600080fd5b806360fcef7c1461030f578063715018a61461035857600080fd5b806338af3eed11610117578063485cc955116100fc578063485cc955146102ba57806348f4e6c1146102da5780634e71d92d146102fa57600080fd5b806338af3eed146101c457806343c467c01461021657600080fd5b8063086011b91461014957806311bf2c181461015e5780631c31f7101461017157806326d5b1a614610191575b600080fd5b61015c6101573660046115cd565b61048d565b005b61015c61016c366004611674565b61053a565b34801561017d57600080fd5b5061015c61018c3660046116bc565b6106d4565b34801561019d57600080fd5b506101b16101ac3660046116d9565b6106e8565b6040519081526020015b60405180910390f35b3480156101d057600080fd5b506066546101f19073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bb565b34801561022257600080fd5b50610281610231366004611703565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152016101bb565b3480156102c657600080fd5b5061015c6102d536600461171e565b610738565b3480156102e657600080fd5b5061015c6102f5366004611757565b6108df565b34801561030657600080fd5b5061015c610989565b34801561031b57600080fd5b5061032f61032a366004611703565b610a53565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101bb565b34801561036457600080fd5b5061015c610b86565b34801561037957600080fd5b506101b17f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ad57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101f1565b3480156103d857600080fd5b506101b16103e73660046116d9565b610b9a565b3480156103f857600080fd5b506101b16104073660046115cd565b610ba7565b34801561041857600080fd5b50604051600481526020016101bb565b34801561043457600080fd5b506104486104433660046117cc565b610c54565b60405190151581526020016101bb565b34801561046457600080fd5b5061015c6104733660046116bc565b610c76565b34801561048457600080fd5b506101b1600a81565b6104978484610c54565b610528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61053484848484610d2a565b50505050565b60006105468484610b9a565b9050803410156105d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4947503a20696e73756666696369656e7420696e746572636861696e2067617360448201527f207061796d656e74000000000000000000000000000000000000000000000000606482015260840161051f565b60006105e4823461183d565b905080156106895773ffffffffffffffffffffffffffffffffffffffff8316610669576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f20726566756e642061646472657373000000000000000000000000000000604482015260640161051f565b61068973ffffffffffffffffffffffffffffffffffffffff841682610dc4565b604080518581526020810184905263ffffffff87169188917f65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a910160405180910390a3505050505050565b6106dc610f1e565b6106e581610f9f565b50565b63ffffffff821660009081526065602052604081205461072f9083907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff16611850565b90505b92915050565b600054610100900460ff16158080156107585750600054600160ff909116105b806107725750303b158015610772575060005460ff166001145b6107fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161051f565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561085c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610864611018565b61086d836110b7565b61087682610f9f565b80156108da57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b505050565b6108e7610f1e565b8060005b818110156105345761097784848381811061090857610908611863565b61091e9260206060909202019081019150611703565b85858481811061093057610930611863565b61094992604060609092020190810191506020016116bc565b86868581811061095b5761095b611863565b610972926060918202019081019150604001611892565b61112e565b80610981816118c0565b9150506108eb565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d80600081146109e3576040519150601f19603f3d011682016040523d82523d6000602084013e6109e8565b606091505b50509050806106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4947503a20636c61696d206661696c6564000000000000000000000000000000604482015260640161051f565b63ffffffff81166000818152606560205260408120549091829173ffffffffffffffffffffffffffffffffffffffff169081151590610a91906111db565b604051602001610aa1919061191c565b60405160208183030381529060405290610ae8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051f9190611987565b506040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906119f8565b9250925050915091565b610b8e610f1e565b610b9860006110b7565b565b600061072f82600a611a2b565b6000610bb38585610c54565b610c3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e740000000000000000000000000000606482015260840161051f565b610c4b85858585611299565b95945050505050565b600081158061072f57506001610c6a84846112b5565b61ffff16149392505050565b610c7e610f1e565b73ffffffffffffffffffffffffffffffffffffffff8116610d21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161051f565b6106e5816110b7565b610534610d6c83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130692505050565b610d768484611311565b610dae610d838686611311565b6101ac89897f0000000000000000000000000000000000000000000000000000000000000000611334565b61016c610dbb8787611385565b89908990611397565b80471015610e2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161051f565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610e88576040519150601f19603f3d011682016040523d82523d6000602084013e610e8d565b606091505b50509050806108da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161051f565b60335473ffffffffffffffffffffffffffffffffffffffff163314610b98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161051f565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff166110af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161051f565b610b986113e9565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8481168083526bffffffffffffffffffffffff858116602080860182815263ffffffff8b16600081815260658452899020975191519094167401000000000000000000000000000000000000000002951694909417909455845190815291820152918201527f676a23191c2989bd7cc8446122cca792bcdaa0f2d6bbd9c30d8ca031ca946343906060016108d1565b606060006111e883611489565b600101905060008167ffffffffffffffff81111561120857611208611a42565b6040519080825280601f01601f191660200182016040528015611232576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461123c57509392505050565b6000610c4b6112a88484611311565b6103e7610d838686611311565b60006112c2816002611a71565b60ff168210156112d457506000610732565b826000836112e3826002611a71565b60ff16926112f393929190611a8a565b6112fc91611ab4565b60f01c9392505050565b805160209091012090565b6000611321602d60298486611a8a565b61132a91611afc565b60e01c9392505050565b600061134260226020611a71565b60ff1683101561135357508061137e565b83602284611362826020611a71565b60ff169261137293929190611a8a565b61137b91611b42565b90505b9392505050565b600061072f611394848461156b565b90565b60006113a560426014611a71565b60ff168310156113b657508061137e565b836042846113c5826014611a71565b60ff16926113d593929190611a8a565b6113de91611b7e565b60601c949350505050565b600054610100900460ff16611480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161051f565b610b98336110b7565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106114d2577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106114fe576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061151c57662386f26fc10000830492506010015b6305f5e1008310611534576305f5e100830492506008015b612710831061154857612710830492506004015b6064831061155a576064830492506002015b600a83106107325760010192915050565b600061157b602960098486611a8a565b61072f91611b42565b60008083601f84011261159657600080fd5b50813567ffffffffffffffff8111156115ae57600080fd5b6020830191508360208285010111156115c657600080fd5b9250929050565b600080600080604085870312156115e357600080fd5b843567ffffffffffffffff808211156115fb57600080fd5b61160788838901611584565b9096509450602087013591508082111561162057600080fd5b5061162d87828801611584565b95989497509550505050565b803563ffffffff8116811461164d57600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff811681146106e557600080fd5b6000806000806080858703121561168a57600080fd5b8435935061169a60208601611639565b92506040850135915060608501356116b181611652565b939692955090935050565b6000602082840312156116ce57600080fd5b813561137e81611652565b600080604083850312156116ec57600080fd5b6116f583611639565b946020939093013593505050565b60006020828403121561171557600080fd5b61072f82611639565b6000806040838503121561173157600080fd5b823561173c81611652565b9150602083013561174c81611652565b809150509250929050565b6000806020838503121561176a57600080fd5b823567ffffffffffffffff8082111561178257600080fd5b818501915085601f83011261179657600080fd5b8135818111156117a557600080fd5b8660206060830285010111156117ba57600080fd5b60209290920196919550909350505050565b600080602083850312156117df57600080fd5b823567ffffffffffffffff8111156117f657600080fd5b61180285828601611584565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156107325761073261180e565b808201808211156107325761073261180e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156118a457600080fd5b81356bffffffffffffffffffffffff8116811461137e57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118f1576118f161180e565b5060010190565b60005b838110156119135781810151838201526020016118fb565b50506000910152565b7f436f6e666967757265642049475020646f65736e277420737570706f7274206481527f6f6d61696e20000000000000000000000000000000000000000000000000000060208201526000825161197a8160268501602087016118f8565b9190910160260192915050565b60208152600082518060208401526119a68160408501602087016118f8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b80516fffffffffffffffffffffffffffffffff8116811461164d57600080fd5b60008060408385031215611a0b57600080fd5b611a14836119d8565b9150611a22602084016119d8565b90509250929050565b80820281158282048414176107325761073261180e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60ff81811683821601908111156107325761073261180e565b60008085851115611a9a57600080fd5b83861115611aa757600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015611af45780818660020360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611af45760049490940360031b84901b1690921692915050565b80356020831015610732577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611af45760149490940360031b84901b169092169291505056fea2646970667358221220633ab1d50d1ccdd95ef70536fb85f0276aa5d16010e2bc0d45029c32bf4e609764736f6c63430008130033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
17
17
  static readonly abi: readonly [{
18
18
  readonly inputs: readonly [{
19
19
  readonly internalType: "uint32";