@layerzerolabs/lz-evm-sdk-v2 2.0.12-tron-rc.2 → 2.0.12

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 (218) hide show
  1. package/artifacts/contracts/EndpointV2.sol/EndpointV2.json +2 -2
  2. package/artifacts/contracts/EndpointV2Alt.sol/EndpointV2Alt.json +2 -2
  3. package/artifacts/contracts/Executor.sol/Executor.json +2 -2
  4. package/artifacts/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +2 -2
  5. package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +2 -2
  6. package/artifacts/contracts/Treasury.sol/Treasury.json +2 -2
  7. package/artifacts/contracts/libs/AddressCast.sol/AddressCast.json +2 -2
  8. package/artifacts/contracts/libs/CalldataBytesLib.sol/CalldataBytesLib.json +2 -2
  9. package/artifacts/contracts/libs/Errors.sol/Errors.json +2 -2
  10. package/artifacts/contracts/libs/GUID.sol/GUID.json +2 -2
  11. package/artifacts/contracts/libs/SafeCall.sol/SafeCall.json +2 -2
  12. package/artifacts/contracts/libs/Transfer.sol/Transfer.json +2 -2
  13. package/artifacts/contracts/messagelib/BlockedMessageLib.sol/BlockedMessageLib.json +2 -2
  14. package/artifacts/contracts/messagelib/SimpleMessageLib.sol/SimpleMessageLib.json +2 -2
  15. package/artifacts/contracts/messagelib/libs/BitMaps.sol/BitMaps.json +2 -2
  16. package/artifacts/contracts/messagelib/libs/ExecutorOptions.sol/ExecutorOptions.json +2 -2
  17. package/artifacts/contracts/messagelib/libs/PacketV1Codec.sol/PacketV1Codec.json +2 -2
  18. package/artifacts/contracts/oapp/examples/OmniCounter.sol/MsgCodec.json +2 -2
  19. package/artifacts/contracts/oapp/examples/OmniCounter.sol/OmniCounter.json +2 -2
  20. package/artifacts/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json +2 -2
  21. package/artifacts/contracts/oapp/libs/OptionsBuilder.sol/OptionsBuilder.json +2 -2
  22. package/artifacts/contracts/oft/OFT.sol/OFT.json +2 -2
  23. package/artifacts/contracts/oft/OFTAdapter.sol/OFTAdapter.json +2 -2
  24. package/artifacts/contracts/oft/libs/OFTComposeMsgCodec.sol/OFTComposeMsgCodec.json +2 -2
  25. package/artifacts/contracts/oft/libs/OFTMsgCodec.sol/OFTMsgCodec.json +2 -2
  26. package/artifacts/contracts/precrime/libs/Packet.sol/PacketDecoder.json +2 -2
  27. package/artifacts/contracts/uln/LzExecutor.sol/LzExecutor.json +5 -5
  28. package/artifacts/contracts/uln/dvn/DVN.sol/DVN.json +2 -2
  29. package/artifacts/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +2 -2
  30. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +2 -2
  31. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +2 -2
  32. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterFeeLibBase.sol/DVNAdapterFeeLibBase.json +2 -2
  33. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +2 -2
  34. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +2 -2
  35. package/artifacts/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +2 -2
  36. package/artifacts/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +2 -2
  37. package/artifacts/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +2 -2
  38. package/artifacts/contracts/uln/uln301/SendUln301.sol/SendUln301.json +2 -2
  39. package/artifacts/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +2 -2
  40. package/artifacts/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +2 -2
  41. package/artifacts/contracts/uln/uln302/SendUln302.sol/SendUln302.json +2 -2
  42. package/deployments/{arbitrum-sandbox-local → bera-testnet}/DVN.json +76 -43
  43. package/deployments/{bsc-sandbox-local → bera-testnet}/DVNFeeLib.json +13 -13
  44. package/deployments/{arbitrum-sandbox-local → bera-testnet}/EndpointV2.json +114 -60
  45. package/deployments/{tron-sandbox-local → bera-testnet}/Executor.json +88 -105
  46. package/deployments/{bsc-sandbox-local → bera-testnet}/ExecutorFeeLib.json +13 -13
  47. package/deployments/{bsc-sandbox-local → bera-testnet}/ExecutorProxyAdmin.json +20 -20
  48. package/deployments/{bsc-sandbox-local → bera-testnet}/Executor_Implementation.json +7 -7
  49. package/deployments/{tron-sandbox-local → bera-testnet}/Executor_Proxy.json +79 -94
  50. package/deployments/bera-testnet/LzExecutor.json +332 -0
  51. package/deployments/bera-testnet/PriceFeed.json +35 -35
  52. package/deployments/bera-testnet/PriceFeedProxyAdmin.json +17 -17
  53. package/deployments/bera-testnet/PriceFeed_Implementation.json +6 -6
  54. package/deployments/bera-testnet/PriceFeed_Proxy.json +34 -34
  55. package/deployments/{bsc-sandbox-local → bera-testnet}/ReceiveUln301.json +15 -15
  56. package/deployments/{avalanche-sandbox-local → bera-testnet}/ReceiveUln302.json +18 -18
  57. package/deployments/{arbitrum-sandbox-local → bera-testnet}/SendUln301.json +17 -17
  58. package/deployments/{arbitrum-sandbox-local → bera-testnet}/SendUln302.json +14 -14
  59. package/deployments/{bsc-sandbox-local → bera-testnet}/Treasury.json +13 -13
  60. package/deployments/{avalanche-sandbox-local → bera-testnet}/TreasuryFeeHandler.json +8 -8
  61. package/deployments/ethereum-sandbox-local/BlockedMessageLib.json +90 -0
  62. package/deployments/ethereum-sandbox-local/DVN.json +5 -5
  63. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +2 -2
  64. package/deployments/ethereum-sandbox-local/Endpoint.json +2355 -0
  65. package/deployments/ethereum-sandbox-local/EndpointV2.json +4 -4
  66. package/deployments/ethereum-sandbox-local/Executor.json +14 -14
  67. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +2 -2
  68. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +3 -3
  69. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +1 -1
  70. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +14 -14
  71. package/deployments/ethereum-sandbox-local/MultiSigOracle.json +1448 -0
  72. package/deployments/ethereum-sandbox-local/NonceContract.json +158 -0
  73. package/deployments/ethereum-sandbox-local/NonceContractMock.json +1 -1
  74. package/deployments/ethereum-sandbox-local/OmniCounter.json +1133 -0
  75. package/deployments/ethereum-sandbox-local/OmniCounterPreCrime.json +493 -0
  76. package/deployments/ethereum-sandbox-local/OmniCounterPreCrimeView.json +672 -0
  77. package/deployments/ethereum-sandbox-local/OmniCounterViewer.json +214 -0
  78. package/deployments/ethereum-sandbox-local/OmniCounterWithPreCrime.json +1646 -0
  79. package/deployments/{arbitrum-sandbox-local/Executor.json → ethereum-sandbox-local/Oracle.json} +400 -658
  80. package/deployments/ethereum-sandbox-local/OracleFeeLib.json +166 -0
  81. package/deployments/ethereum-sandbox-local/OracleProxyAdmin.json +272 -0
  82. package/deployments/ethereum-sandbox-local/Oracle_Implementation.json +1326 -0
  83. package/deployments/{bsc-sandbox-local/PriceFeed_Proxy.json → ethereum-sandbox-local/Oracle_Proxy.json} +96 -35
  84. package/deployments/ethereum-sandbox-local/PriceFeed.json +5 -5
  85. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +3 -3
  86. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +1 -1
  87. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +5 -5
  88. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +2 -2
  89. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +2 -2
  90. package/deployments/{tron-sandbox-local/PriceFeed.json → ethereum-sandbox-local/Relayer.json} +445 -339
  91. package/deployments/ethereum-sandbox-local/RelayerFeeLib.json +130 -0
  92. package/deployments/ethereum-sandbox-local/RelayerProxyAdmin.json +272 -0
  93. package/deployments/ethereum-sandbox-local/Relayer_Implementation.json +1014 -0
  94. package/deployments/{tron-sandbox-local/PriceFeed_Proxy.json → ethereum-sandbox-local/Relayer_Proxy.json} +64 -33
  95. package/deployments/ethereum-sandbox-local/SendUln301.json +2 -2
  96. package/deployments/ethereum-sandbox-local/SendUln302.json +2 -2
  97. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +2 -2
  98. package/deployments/ethereum-sandbox-local/Treasury.json +2 -2
  99. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +1 -1
  100. package/deployments/ethereum-sandbox-local/UlnConfig301.json +1003 -0
  101. package/deployments/ethereum-sandbox-local/UlnConfig302.json +1003 -0
  102. package/deployments/ethereum-sandbox-local/UltraLightNodeE302.json +1696 -0
  103. package/deployments/{bsc-sandbox-local → etherlink-testnet}/PriceFeed.json +34 -34
  104. package/deployments/{arbitrum-sandbox-local/ExecutorProxyAdmin.json → etherlink-testnet/PriceFeedProxyAdmin.json} +22 -22
  105. package/deployments/{arbitrum-sandbox-local → etherlink-testnet}/PriceFeed_Implementation.json +9 -9
  106. package/deployments/{avalanche-sandbox-local → etherlink-testnet}/PriceFeed_Proxy.json +32 -32
  107. package/deployments/{avalanche-sandbox-local → etherlink-testnet}/Treasury.json +15 -15
  108. package/deployments/polygon-sandbox-local/BlockedMessageLib.json +90 -0
  109. package/deployments/polygon-sandbox-local/DVN.json +5 -5
  110. package/deployments/polygon-sandbox-local/DVNFeeLib.json +2 -2
  111. package/deployments/polygon-sandbox-local/Endpoint.json +2355 -0
  112. package/deployments/polygon-sandbox-local/EndpointV2.json +4 -4
  113. package/deployments/polygon-sandbox-local/Executor.json +14 -14
  114. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +2 -2
  115. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +3 -3
  116. package/deployments/polygon-sandbox-local/Executor_Implementation.json +1 -1
  117. package/deployments/polygon-sandbox-local/Executor_Proxy.json +14 -14
  118. package/deployments/polygon-sandbox-local/MultiSigOracle.json +1448 -0
  119. package/deployments/polygon-sandbox-local/NonceContract.json +158 -0
  120. package/deployments/polygon-sandbox-local/NonceContractMock.json +1 -1
  121. package/deployments/polygon-sandbox-local/OmniCounter.json +1133 -0
  122. package/deployments/polygon-sandbox-local/OmniCounterPreCrime.json +493 -0
  123. package/deployments/polygon-sandbox-local/OmniCounterPreCrimeView.json +672 -0
  124. package/deployments/polygon-sandbox-local/OmniCounterViewer.json +214 -0
  125. package/deployments/polygon-sandbox-local/OmniCounterWithPreCrime.json +1646 -0
  126. package/deployments/{bsc-sandbox-local/Executor.json → polygon-sandbox-local/Oracle.json} +400 -658
  127. package/deployments/polygon-sandbox-local/OracleFeeLib.json +166 -0
  128. package/deployments/polygon-sandbox-local/OracleProxyAdmin.json +272 -0
  129. package/deployments/polygon-sandbox-local/Oracle_Implementation.json +1326 -0
  130. package/deployments/polygon-sandbox-local/Oracle_Proxy.json +305 -0
  131. package/deployments/polygon-sandbox-local/PriceFeed.json +5 -5
  132. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +3 -3
  133. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +1 -1
  134. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +5 -5
  135. package/deployments/polygon-sandbox-local/ReceiveUln301.json +2 -2
  136. package/deployments/polygon-sandbox-local/ReceiveUln302.json +2 -2
  137. package/deployments/{arbitrum-sandbox-local/PriceFeed.json → polygon-sandbox-local/Relayer.json} +445 -339
  138. package/deployments/polygon-sandbox-local/RelayerFeeLib.json +130 -0
  139. package/deployments/polygon-sandbox-local/RelayerProxyAdmin.json +272 -0
  140. package/deployments/polygon-sandbox-local/Relayer_Implementation.json +1014 -0
  141. package/deployments/{arbitrum-sandbox-local/PriceFeed_Proxy.json → polygon-sandbox-local/Relayer_Proxy.json} +64 -33
  142. package/deployments/polygon-sandbox-local/SendUln301.json +2 -2
  143. package/deployments/polygon-sandbox-local/SendUln302.json +2 -2
  144. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +2 -2
  145. package/deployments/polygon-sandbox-local/Treasury.json +2 -2
  146. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +1 -1
  147. package/deployments/polygon-sandbox-local/UlnConfig301.json +1003 -0
  148. package/deployments/polygon-sandbox-local/UlnConfig302.json +1003 -0
  149. package/deployments/polygon-sandbox-local/UltraLightNodeE302.json +1696 -0
  150. package/dist/{index-cijKSBLK.d.cts → index-pO8kCANF.d.mts} +41 -41
  151. package/dist/{index-cijKSBLK.d.ts → index-pO8kCANF.d.ts} +41 -41
  152. package/dist/index.browser.cjs +34 -34
  153. package/dist/index.browser.cjs.map +1 -1
  154. package/dist/{index.browser.d.cts → index.browser.d.mts} +1 -1
  155. package/dist/index.browser.d.ts +1 -1
  156. package/dist/index.browser.mjs +34 -34
  157. package/dist/index.browser.mjs.map +1 -1
  158. package/dist/index.cjs +34 -34
  159. package/dist/index.cjs.map +1 -1
  160. package/dist/{index.d.cts → index.d.mts} +1 -1
  161. package/dist/index.d.ts +1 -1
  162. package/dist/index.mjs +34 -34
  163. package/dist/index.mjs.map +1 -1
  164. package/package.json +15 -14
  165. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +0 -387
  166. package/deployments/arbitrum-sandbox-local/ExecutorFeeLib.json +0 -407
  167. package/deployments/arbitrum-sandbox-local/Executor_Implementation.json +0 -1591
  168. package/deployments/arbitrum-sandbox-local/Executor_Proxy.json +0 -380
  169. package/deployments/arbitrum-sandbox-local/NonceContractMock.json +0 -163
  170. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  171. package/deployments/arbitrum-sandbox-local/ReceiveUln301.json +0 -1264
  172. package/deployments/arbitrum-sandbox-local/ReceiveUln302.json +0 -954
  173. package/deployments/arbitrum-sandbox-local/SimpleMessageLib.json +0 -708
  174. package/deployments/arbitrum-sandbox-local/Treasury.json +0 -412
  175. package/deployments/arbitrum-sandbox-local/TreasuryFeeHandler.json +0 -125
  176. package/deployments/avalanche-sandbox-local/DVN.json +0 -1896
  177. package/deployments/avalanche-sandbox-local/DVNFeeLib.json +0 -387
  178. package/deployments/avalanche-sandbox-local/EndpointV2.json +0 -2955
  179. package/deployments/avalanche-sandbox-local/Executor.json +0 -1549
  180. package/deployments/avalanche-sandbox-local/ExecutorFeeLib.json +0 -407
  181. package/deployments/avalanche-sandbox-local/ExecutorProxyAdmin.json +0 -283
  182. package/deployments/avalanche-sandbox-local/Executor_Implementation.json +0 -1591
  183. package/deployments/avalanche-sandbox-local/Executor_Proxy.json +0 -380
  184. package/deployments/avalanche-sandbox-local/NonceContractMock.json +0 -163
  185. package/deployments/avalanche-sandbox-local/PriceFeed.json +0 -890
  186. package/deployments/avalanche-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  187. package/deployments/avalanche-sandbox-local/PriceFeed_Implementation.json +0 -912
  188. package/deployments/avalanche-sandbox-local/ReceiveUln301.json +0 -1264
  189. package/deployments/avalanche-sandbox-local/SendUln301.json +0 -1569
  190. package/deployments/avalanche-sandbox-local/SendUln302.json +0 -1527
  191. package/deployments/avalanche-sandbox-local/SimpleMessageLib.json +0 -708
  192. package/deployments/bsc-sandbox-local/DVN.json +0 -1896
  193. package/deployments/bsc-sandbox-local/EndpointV2.json +0 -2955
  194. package/deployments/bsc-sandbox-local/Executor_Proxy.json +0 -380
  195. package/deployments/bsc-sandbox-local/NonceContractMock.json +0 -163
  196. package/deployments/bsc-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  197. package/deployments/bsc-sandbox-local/PriceFeed_Implementation.json +0 -912
  198. package/deployments/bsc-sandbox-local/ReceiveUln302.json +0 -954
  199. package/deployments/bsc-sandbox-local/SendUln301.json +0 -1569
  200. package/deployments/bsc-sandbox-local/SendUln302.json +0 -1527
  201. package/deployments/bsc-sandbox-local/SimpleMessageLib.json +0 -708
  202. package/deployments/bsc-sandbox-local/TreasuryFeeHandler.json +0 -125
  203. package/deployments/tron-sandbox-local/DVN.json +0 -1896
  204. package/deployments/tron-sandbox-local/DVNFeeLib.json +0 -387
  205. package/deployments/tron-sandbox-local/EndpointV2.json +0 -2955
  206. package/deployments/tron-sandbox-local/ExecutorFeeLib.json +0 -407
  207. package/deployments/tron-sandbox-local/ExecutorProxyAdmin.json +0 -283
  208. package/deployments/tron-sandbox-local/Executor_Implementation.json +0 -1591
  209. package/deployments/tron-sandbox-local/NonceContractMock.json +0 -163
  210. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  211. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +0 -912
  212. package/deployments/tron-sandbox-local/ReceiveUln301.json +0 -1264
  213. package/deployments/tron-sandbox-local/ReceiveUln302.json +0 -954
  214. package/deployments/tron-sandbox-local/SendUln301.json +0 -1569
  215. package/deployments/tron-sandbox-local/SendUln302.json +0 -1527
  216. package/deployments/tron-sandbox-local/SimpleMessageLib.json +0 -708
  217. package/deployments/tron-sandbox-local/Treasury.json +0 -412
  218. package/deployments/tron-sandbox-local/TreasuryFeeHandler.json +0 -125
@@ -0,0 +1,2355 @@
1
+ {
2
+ "address": "0x1275D096B9DBf2347bD2a131Fb6BDaB0B4882487",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "uint32",
8
+ "name": "_eid",
9
+ "type": "uint32"
10
+ },
11
+ {
12
+ "internalType": "address",
13
+ "name": "_blockedLib",
14
+ "type": "address"
15
+ },
16
+ {
17
+ "internalType": "address",
18
+ "name": "_altToken",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "stateMutability": "nonpayable",
23
+ "type": "constructor"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": false,
30
+ "internalType": "address",
31
+ "name": "receiver",
32
+ "type": "address"
33
+ },
34
+ {
35
+ "indexed": false,
36
+ "internalType": "address",
37
+ "name": "composer",
38
+ "type": "address"
39
+ },
40
+ {
41
+ "indexed": false,
42
+ "internalType": "bytes32",
43
+ "name": "guid",
44
+ "type": "bytes32"
45
+ },
46
+ {
47
+ "indexed": false,
48
+ "internalType": "bytes",
49
+ "name": "message",
50
+ "type": "bytes"
51
+ }
52
+ ],
53
+ "name": "ComposedMessageDelivered",
54
+ "type": "event"
55
+ },
56
+ {
57
+ "anonymous": false,
58
+ "inputs": [
59
+ {
60
+ "indexed": false,
61
+ "internalType": "address",
62
+ "name": "receiver",
63
+ "type": "address"
64
+ },
65
+ {
66
+ "indexed": false,
67
+ "internalType": "address",
68
+ "name": "composer",
69
+ "type": "address"
70
+ },
71
+ {
72
+ "indexed": false,
73
+ "internalType": "bytes32",
74
+ "name": "guid",
75
+ "type": "bytes32"
76
+ },
77
+ {
78
+ "indexed": false,
79
+ "internalType": "bytes32",
80
+ "name": "messageHash",
81
+ "type": "bytes32"
82
+ },
83
+ {
84
+ "indexed": false,
85
+ "internalType": "address",
86
+ "name": "caller",
87
+ "type": "address"
88
+ }
89
+ ],
90
+ "name": "ComposedMessageReceived",
91
+ "type": "event"
92
+ },
93
+ {
94
+ "anonymous": false,
95
+ "inputs": [
96
+ {
97
+ "indexed": false,
98
+ "internalType": "uint32",
99
+ "name": "eid",
100
+ "type": "uint32"
101
+ },
102
+ {
103
+ "indexed": false,
104
+ "internalType": "address",
105
+ "name": "oldLib",
106
+ "type": "address"
107
+ },
108
+ {
109
+ "indexed": false,
110
+ "internalType": "address",
111
+ "name": "newLib",
112
+ "type": "address"
113
+ }
114
+ ],
115
+ "name": "DefaultReceiveLibrarySet",
116
+ "type": "event"
117
+ },
118
+ {
119
+ "anonymous": false,
120
+ "inputs": [
121
+ {
122
+ "indexed": false,
123
+ "internalType": "uint32",
124
+ "name": "eid",
125
+ "type": "uint32"
126
+ },
127
+ {
128
+ "indexed": false,
129
+ "internalType": "address",
130
+ "name": "oldLib",
131
+ "type": "address"
132
+ },
133
+ {
134
+ "indexed": false,
135
+ "internalType": "uint256",
136
+ "name": "expiry",
137
+ "type": "uint256"
138
+ }
139
+ ],
140
+ "name": "DefaultReceiveLibraryTimeoutSet",
141
+ "type": "event"
142
+ },
143
+ {
144
+ "anonymous": false,
145
+ "inputs": [
146
+ {
147
+ "indexed": false,
148
+ "internalType": "uint32",
149
+ "name": "eid",
150
+ "type": "uint32"
151
+ },
152
+ {
153
+ "indexed": false,
154
+ "internalType": "address",
155
+ "name": "newLib",
156
+ "type": "address"
157
+ }
158
+ ],
159
+ "name": "DefaultSendLibrarySet",
160
+ "type": "event"
161
+ },
162
+ {
163
+ "anonymous": false,
164
+ "inputs": [
165
+ {
166
+ "indexed": false,
167
+ "internalType": "address",
168
+ "name": "sender",
169
+ "type": "address"
170
+ },
171
+ {
172
+ "indexed": false,
173
+ "internalType": "uint256",
174
+ "name": "nativeOrAltTokenFee",
175
+ "type": "uint256"
176
+ },
177
+ {
178
+ "indexed": false,
179
+ "internalType": "uint256",
180
+ "name": "lzTokenFee",
181
+ "type": "uint256"
182
+ }
183
+ ],
184
+ "name": "FeePaid",
185
+ "type": "event"
186
+ },
187
+ {
188
+ "anonymous": false,
189
+ "inputs": [
190
+ {
191
+ "indexed": false,
192
+ "internalType": "uint32",
193
+ "name": "srcEid",
194
+ "type": "uint32"
195
+ },
196
+ {
197
+ "indexed": false,
198
+ "internalType": "bytes32",
199
+ "name": "sender",
200
+ "type": "bytes32"
201
+ },
202
+ {
203
+ "indexed": false,
204
+ "internalType": "address",
205
+ "name": "receiver",
206
+ "type": "address"
207
+ },
208
+ {
209
+ "indexed": false,
210
+ "internalType": "uint64",
211
+ "name": "nonce",
212
+ "type": "uint64"
213
+ }
214
+ ],
215
+ "name": "InboundNonceSkipped",
216
+ "type": "event"
217
+ },
218
+ {
219
+ "anonymous": false,
220
+ "inputs": [
221
+ {
222
+ "indexed": false,
223
+ "internalType": "address",
224
+ "name": "token",
225
+ "type": "address"
226
+ }
227
+ ],
228
+ "name": "LayerZeroTokenSet",
229
+ "type": "event"
230
+ },
231
+ {
232
+ "anonymous": false,
233
+ "inputs": [
234
+ {
235
+ "indexed": false,
236
+ "internalType": "address",
237
+ "name": "newLib",
238
+ "type": "address"
239
+ }
240
+ ],
241
+ "name": "LibraryRegistered",
242
+ "type": "event"
243
+ },
244
+ {
245
+ "anonymous": false,
246
+ "inputs": [
247
+ {
248
+ "indexed": false,
249
+ "internalType": "address",
250
+ "name": "sender",
251
+ "type": "address"
252
+ },
253
+ {
254
+ "indexed": false,
255
+ "internalType": "address",
256
+ "name": "receiver",
257
+ "type": "address"
258
+ },
259
+ {
260
+ "indexed": false,
261
+ "internalType": "bytes32",
262
+ "name": "guid",
263
+ "type": "bytes32"
264
+ },
265
+ {
266
+ "indexed": false,
267
+ "internalType": "bytes32",
268
+ "name": "messageHash",
269
+ "type": "bytes32"
270
+ },
271
+ {
272
+ "indexed": false,
273
+ "internalType": "address",
274
+ "name": "caller",
275
+ "type": "address"
276
+ },
277
+ {
278
+ "indexed": false,
279
+ "internalType": "bytes",
280
+ "name": "reason",
281
+ "type": "bytes"
282
+ }
283
+ ],
284
+ "name": "LzComposeFailed",
285
+ "type": "event"
286
+ },
287
+ {
288
+ "anonymous": false,
289
+ "inputs": [
290
+ {
291
+ "components": [
292
+ {
293
+ "internalType": "uint32",
294
+ "name": "srcEid",
295
+ "type": "uint32"
296
+ },
297
+ {
298
+ "internalType": "bytes32",
299
+ "name": "sender",
300
+ "type": "bytes32"
301
+ },
302
+ {
303
+ "internalType": "uint64",
304
+ "name": "nonce",
305
+ "type": "uint64"
306
+ }
307
+ ],
308
+ "indexed": false,
309
+ "internalType": "struct IMessageOrigin.MessageOrigin",
310
+ "name": "origin",
311
+ "type": "tuple"
312
+ },
313
+ {
314
+ "indexed": false,
315
+ "internalType": "address",
316
+ "name": "receiver",
317
+ "type": "address"
318
+ },
319
+ {
320
+ "indexed": false,
321
+ "internalType": "address",
322
+ "name": "caller",
323
+ "type": "address"
324
+ },
325
+ {
326
+ "indexed": false,
327
+ "internalType": "bytes",
328
+ "name": "reason",
329
+ "type": "bytes"
330
+ }
331
+ ],
332
+ "name": "LzReceiveFailed",
333
+ "type": "event"
334
+ },
335
+ {
336
+ "anonymous": false,
337
+ "inputs": [
338
+ {
339
+ "indexed": true,
340
+ "internalType": "address",
341
+ "name": "previousOwner",
342
+ "type": "address"
343
+ },
344
+ {
345
+ "indexed": true,
346
+ "internalType": "address",
347
+ "name": "newOwner",
348
+ "type": "address"
349
+ }
350
+ ],
351
+ "name": "OwnershipTransferred",
352
+ "type": "event"
353
+ },
354
+ {
355
+ "anonymous": false,
356
+ "inputs": [
357
+ {
358
+ "components": [
359
+ {
360
+ "internalType": "uint32",
361
+ "name": "srcEid",
362
+ "type": "uint32"
363
+ },
364
+ {
365
+ "internalType": "bytes32",
366
+ "name": "sender",
367
+ "type": "bytes32"
368
+ },
369
+ {
370
+ "internalType": "uint64",
371
+ "name": "nonce",
372
+ "type": "uint64"
373
+ }
374
+ ],
375
+ "indexed": false,
376
+ "internalType": "struct IMessageOrigin.MessageOrigin",
377
+ "name": "origin",
378
+ "type": "tuple"
379
+ },
380
+ {
381
+ "indexed": false,
382
+ "internalType": "address",
383
+ "name": "receiver",
384
+ "type": "address"
385
+ },
386
+ {
387
+ "indexed": false,
388
+ "internalType": "bytes32",
389
+ "name": "payloadHash",
390
+ "type": "bytes32"
391
+ },
392
+ {
393
+ "indexed": false,
394
+ "internalType": "address",
395
+ "name": "receiveLibrary",
396
+ "type": "address"
397
+ }
398
+ ],
399
+ "name": "PacketDelivered",
400
+ "type": "event"
401
+ },
402
+ {
403
+ "anonymous": false,
404
+ "inputs": [
405
+ {
406
+ "components": [
407
+ {
408
+ "internalType": "uint32",
409
+ "name": "srcEid",
410
+ "type": "uint32"
411
+ },
412
+ {
413
+ "internalType": "bytes32",
414
+ "name": "sender",
415
+ "type": "bytes32"
416
+ },
417
+ {
418
+ "internalType": "uint64",
419
+ "name": "nonce",
420
+ "type": "uint64"
421
+ }
422
+ ],
423
+ "indexed": false,
424
+ "internalType": "struct IMessageOrigin.MessageOrigin",
425
+ "name": "origin",
426
+ "type": "tuple"
427
+ },
428
+ {
429
+ "indexed": false,
430
+ "internalType": "address",
431
+ "name": "receiver",
432
+ "type": "address"
433
+ },
434
+ {
435
+ "indexed": false,
436
+ "internalType": "address",
437
+ "name": "caller",
438
+ "type": "address"
439
+ }
440
+ ],
441
+ "name": "PacketReceived",
442
+ "type": "event"
443
+ },
444
+ {
445
+ "anonymous": false,
446
+ "inputs": [
447
+ {
448
+ "indexed": false,
449
+ "internalType": "bytes",
450
+ "name": "encodedPayload",
451
+ "type": "bytes"
452
+ },
453
+ {
454
+ "indexed": false,
455
+ "internalType": "bytes",
456
+ "name": "options",
457
+ "type": "bytes"
458
+ },
459
+ {
460
+ "indexed": false,
461
+ "internalType": "address",
462
+ "name": "sendLibrary",
463
+ "type": "address"
464
+ }
465
+ ],
466
+ "name": "PacketSent",
467
+ "type": "event"
468
+ },
469
+ {
470
+ "anonymous": false,
471
+ "inputs": [
472
+ {
473
+ "indexed": false,
474
+ "internalType": "address",
475
+ "name": "receiver",
476
+ "type": "address"
477
+ },
478
+ {
479
+ "indexed": false,
480
+ "internalType": "uint32",
481
+ "name": "eid",
482
+ "type": "uint32"
483
+ },
484
+ {
485
+ "indexed": false,
486
+ "internalType": "address",
487
+ "name": "oldLib",
488
+ "type": "address"
489
+ },
490
+ {
491
+ "indexed": false,
492
+ "internalType": "address",
493
+ "name": "newLib",
494
+ "type": "address"
495
+ }
496
+ ],
497
+ "name": "ReceiveLibrarySet",
498
+ "type": "event"
499
+ },
500
+ {
501
+ "anonymous": false,
502
+ "inputs": [
503
+ {
504
+ "indexed": false,
505
+ "internalType": "address",
506
+ "name": "receiver",
507
+ "type": "address"
508
+ },
509
+ {
510
+ "indexed": false,
511
+ "internalType": "uint32",
512
+ "name": "eid",
513
+ "type": "uint32"
514
+ },
515
+ {
516
+ "indexed": false,
517
+ "internalType": "address",
518
+ "name": "oldLib",
519
+ "type": "address"
520
+ },
521
+ {
522
+ "indexed": false,
523
+ "internalType": "uint256",
524
+ "name": "timeout",
525
+ "type": "uint256"
526
+ }
527
+ ],
528
+ "name": "ReceiveLibraryTimoutSet",
529
+ "type": "event"
530
+ },
531
+ {
532
+ "anonymous": false,
533
+ "inputs": [
534
+ {
535
+ "indexed": false,
536
+ "internalType": "address",
537
+ "name": "sender",
538
+ "type": "address"
539
+ },
540
+ {
541
+ "indexed": false,
542
+ "internalType": "uint32",
543
+ "name": "eid",
544
+ "type": "uint32"
545
+ },
546
+ {
547
+ "indexed": false,
548
+ "internalType": "address",
549
+ "name": "newLib",
550
+ "type": "address"
551
+ }
552
+ ],
553
+ "name": "SendLibrarySet",
554
+ "type": "event"
555
+ },
556
+ {
557
+ "inputs": [],
558
+ "name": "altFeeToken",
559
+ "outputs": [
560
+ {
561
+ "internalType": "address",
562
+ "name": "",
563
+ "type": "address"
564
+ }
565
+ ],
566
+ "stateMutability": "view",
567
+ "type": "function"
568
+ },
569
+ {
570
+ "inputs": [],
571
+ "name": "blockedLibrary",
572
+ "outputs": [
573
+ {
574
+ "internalType": "address",
575
+ "name": "",
576
+ "type": "address"
577
+ }
578
+ ],
579
+ "stateMutability": "view",
580
+ "type": "function"
581
+ },
582
+ {
583
+ "inputs": [
584
+ {
585
+ "components": [
586
+ {
587
+ "internalType": "uint32",
588
+ "name": "srcEid",
589
+ "type": "uint32"
590
+ },
591
+ {
592
+ "internalType": "bytes32",
593
+ "name": "sender",
594
+ "type": "bytes32"
595
+ },
596
+ {
597
+ "internalType": "uint64",
598
+ "name": "nonce",
599
+ "type": "uint64"
600
+ }
601
+ ],
602
+ "internalType": "struct IMessageOrigin.MessageOrigin",
603
+ "name": "_origin",
604
+ "type": "tuple"
605
+ },
606
+ {
607
+ "internalType": "bytes32",
608
+ "name": "_guid",
609
+ "type": "bytes32"
610
+ },
611
+ {
612
+ "internalType": "bytes",
613
+ "name": "_message",
614
+ "type": "bytes"
615
+ }
616
+ ],
617
+ "name": "clear",
618
+ "outputs": [
619
+ {
620
+ "internalType": "bytes32",
621
+ "name": "payloadHash",
622
+ "type": "bytes32"
623
+ }
624
+ ],
625
+ "stateMutability": "nonpayable",
626
+ "type": "function"
627
+ },
628
+ {
629
+ "inputs": [
630
+ {
631
+ "internalType": "address",
632
+ "name": "receiver",
633
+ "type": "address"
634
+ },
635
+ {
636
+ "internalType": "address",
637
+ "name": "composer",
638
+ "type": "address"
639
+ },
640
+ {
641
+ "internalType": "bytes32",
642
+ "name": "guid",
643
+ "type": "bytes32"
644
+ }
645
+ ],
646
+ "name": "composedMessages",
647
+ "outputs": [
648
+ {
649
+ "internalType": "bytes32",
650
+ "name": "messageHash",
651
+ "type": "bytes32"
652
+ }
653
+ ],
654
+ "stateMutability": "view",
655
+ "type": "function"
656
+ },
657
+ {
658
+ "inputs": [
659
+ {
660
+ "internalType": "address",
661
+ "name": "_lib",
662
+ "type": "address"
663
+ },
664
+ {
665
+ "internalType": "uint32",
666
+ "name": "_eid",
667
+ "type": "uint32"
668
+ },
669
+ {
670
+ "internalType": "uint32",
671
+ "name": "_configType",
672
+ "type": "uint32"
673
+ }
674
+ ],
675
+ "name": "defaultConfig",
676
+ "outputs": [
677
+ {
678
+ "internalType": "bytes",
679
+ "name": "",
680
+ "type": "bytes"
681
+ }
682
+ ],
683
+ "stateMutability": "view",
684
+ "type": "function"
685
+ },
686
+ {
687
+ "inputs": [
688
+ {
689
+ "internalType": "uint32",
690
+ "name": "srcEid",
691
+ "type": "uint32"
692
+ }
693
+ ],
694
+ "name": "defaultReceiveLibrary",
695
+ "outputs": [
696
+ {
697
+ "internalType": "address",
698
+ "name": "lib",
699
+ "type": "address"
700
+ }
701
+ ],
702
+ "stateMutability": "view",
703
+ "type": "function"
704
+ },
705
+ {
706
+ "inputs": [
707
+ {
708
+ "internalType": "uint32",
709
+ "name": "srcEid",
710
+ "type": "uint32"
711
+ }
712
+ ],
713
+ "name": "defaultReceiveLibraryTimeout",
714
+ "outputs": [
715
+ {
716
+ "internalType": "address",
717
+ "name": "lib",
718
+ "type": "address"
719
+ },
720
+ {
721
+ "internalType": "uint256",
722
+ "name": "expiry",
723
+ "type": "uint256"
724
+ }
725
+ ],
726
+ "stateMutability": "view",
727
+ "type": "function"
728
+ },
729
+ {
730
+ "inputs": [
731
+ {
732
+ "internalType": "uint32",
733
+ "name": "dstEid",
734
+ "type": "uint32"
735
+ }
736
+ ],
737
+ "name": "defaultSendLibrary",
738
+ "outputs": [
739
+ {
740
+ "internalType": "address",
741
+ "name": "lib",
742
+ "type": "address"
743
+ }
744
+ ],
745
+ "stateMutability": "view",
746
+ "type": "function"
747
+ },
748
+ {
749
+ "inputs": [
750
+ {
751
+ "components": [
752
+ {
753
+ "internalType": "uint32",
754
+ "name": "srcEid",
755
+ "type": "uint32"
756
+ },
757
+ {
758
+ "internalType": "bytes32",
759
+ "name": "sender",
760
+ "type": "bytes32"
761
+ },
762
+ {
763
+ "internalType": "uint64",
764
+ "name": "nonce",
765
+ "type": "uint64"
766
+ }
767
+ ],
768
+ "internalType": "struct IMessageOrigin.MessageOrigin",
769
+ "name": "_origin",
770
+ "type": "tuple"
771
+ },
772
+ {
773
+ "internalType": "address",
774
+ "name": "_receiver",
775
+ "type": "address"
776
+ },
777
+ {
778
+ "internalType": "bytes32",
779
+ "name": "_payloadHash",
780
+ "type": "bytes32"
781
+ }
782
+ ],
783
+ "name": "deliver",
784
+ "outputs": [],
785
+ "stateMutability": "nonpayable",
786
+ "type": "function"
787
+ },
788
+ {
789
+ "inputs": [
790
+ {
791
+ "internalType": "address",
792
+ "name": "_composer",
793
+ "type": "address"
794
+ },
795
+ {
796
+ "internalType": "bytes32",
797
+ "name": "_guid",
798
+ "type": "bytes32"
799
+ },
800
+ {
801
+ "internalType": "bytes",
802
+ "name": "_message",
803
+ "type": "bytes"
804
+ }
805
+ ],
806
+ "name": "deliverComposedMessage",
807
+ "outputs": [],
808
+ "stateMutability": "nonpayable",
809
+ "type": "function"
810
+ },
811
+ {
812
+ "inputs": [
813
+ {
814
+ "components": [
815
+ {
816
+ "internalType": "uint32",
817
+ "name": "srcEid",
818
+ "type": "uint32"
819
+ },
820
+ {
821
+ "internalType": "bytes32",
822
+ "name": "sender",
823
+ "type": "bytes32"
824
+ },
825
+ {
826
+ "internalType": "uint64",
827
+ "name": "nonce",
828
+ "type": "uint64"
829
+ }
830
+ ],
831
+ "internalType": "struct IMessageOrigin.MessageOrigin",
832
+ "name": "_origin",
833
+ "type": "tuple"
834
+ },
835
+ {
836
+ "internalType": "address",
837
+ "name": "_receiveLib",
838
+ "type": "address"
839
+ },
840
+ {
841
+ "internalType": "address",
842
+ "name": "_receiver",
843
+ "type": "address"
844
+ }
845
+ ],
846
+ "name": "deliverable",
847
+ "outputs": [
848
+ {
849
+ "internalType": "bool",
850
+ "name": "",
851
+ "type": "bool"
852
+ }
853
+ ],
854
+ "stateMutability": "view",
855
+ "type": "function"
856
+ },
857
+ {
858
+ "inputs": [],
859
+ "name": "eid",
860
+ "outputs": [
861
+ {
862
+ "internalType": "uint32",
863
+ "name": "",
864
+ "type": "uint32"
865
+ }
866
+ ],
867
+ "stateMutability": "view",
868
+ "type": "function"
869
+ },
870
+ {
871
+ "inputs": [],
872
+ "name": "getComposeContext",
873
+ "outputs": [
874
+ {
875
+ "internalType": "address",
876
+ "name": "",
877
+ "type": "address"
878
+ }
879
+ ],
880
+ "stateMutability": "view",
881
+ "type": "function"
882
+ },
883
+ {
884
+ "inputs": [
885
+ {
886
+ "internalType": "address",
887
+ "name": "_oapp",
888
+ "type": "address"
889
+ },
890
+ {
891
+ "internalType": "address",
892
+ "name": "_lib",
893
+ "type": "address"
894
+ },
895
+ {
896
+ "internalType": "uint32",
897
+ "name": "_eid",
898
+ "type": "uint32"
899
+ },
900
+ {
901
+ "internalType": "uint32",
902
+ "name": "_configType",
903
+ "type": "uint32"
904
+ }
905
+ ],
906
+ "name": "getConfig",
907
+ "outputs": [
908
+ {
909
+ "internalType": "bytes",
910
+ "name": "config",
911
+ "type": "bytes"
912
+ },
913
+ {
914
+ "internalType": "bool",
915
+ "name": "isDefault",
916
+ "type": "bool"
917
+ }
918
+ ],
919
+ "stateMutability": "view",
920
+ "type": "function"
921
+ },
922
+ {
923
+ "inputs": [
924
+ {
925
+ "internalType": "address",
926
+ "name": "_receiver",
927
+ "type": "address"
928
+ },
929
+ {
930
+ "internalType": "uint32",
931
+ "name": "_srcEid",
932
+ "type": "uint32"
933
+ },
934
+ {
935
+ "internalType": "bytes32",
936
+ "name": "_sender",
937
+ "type": "bytes32"
938
+ }
939
+ ],
940
+ "name": "getInboundNonce",
941
+ "outputs": [
942
+ {
943
+ "internalType": "uint64",
944
+ "name": "",
945
+ "type": "uint64"
946
+ }
947
+ ],
948
+ "stateMutability": "view",
949
+ "type": "function"
950
+ },
951
+ {
952
+ "inputs": [
953
+ {
954
+ "components": [
955
+ {
956
+ "internalType": "uint32",
957
+ "name": "srcEid",
958
+ "type": "uint32"
959
+ },
960
+ {
961
+ "internalType": "bytes32",
962
+ "name": "sender",
963
+ "type": "bytes32"
964
+ },
965
+ {
966
+ "internalType": "uint64",
967
+ "name": "nonce",
968
+ "type": "uint64"
969
+ }
970
+ ],
971
+ "internalType": "struct IMessageOrigin.MessageOrigin",
972
+ "name": "_origin",
973
+ "type": "tuple"
974
+ },
975
+ {
976
+ "internalType": "address",
977
+ "name": "_receiver",
978
+ "type": "address"
979
+ }
980
+ ],
981
+ "name": "getInboundPayloadHash",
982
+ "outputs": [
983
+ {
984
+ "internalType": "bytes32",
985
+ "name": "",
986
+ "type": "bytes32"
987
+ }
988
+ ],
989
+ "stateMutability": "view",
990
+ "type": "function"
991
+ },
992
+ {
993
+ "inputs": [
994
+ {
995
+ "internalType": "address",
996
+ "name": "_sender",
997
+ "type": "address"
998
+ },
999
+ {
1000
+ "internalType": "uint32",
1001
+ "name": "_dstEid",
1002
+ "type": "uint32"
1003
+ },
1004
+ {
1005
+ "internalType": "bytes32",
1006
+ "name": "_receiver",
1007
+ "type": "bytes32"
1008
+ }
1009
+ ],
1010
+ "name": "getNextGuid",
1011
+ "outputs": [
1012
+ {
1013
+ "internalType": "bytes32",
1014
+ "name": "",
1015
+ "type": "bytes32"
1016
+ }
1017
+ ],
1018
+ "stateMutability": "view",
1019
+ "type": "function"
1020
+ },
1021
+ {
1022
+ "inputs": [
1023
+ {
1024
+ "internalType": "address",
1025
+ "name": "_sender",
1026
+ "type": "address"
1027
+ },
1028
+ {
1029
+ "internalType": "uint32",
1030
+ "name": "_dstEid",
1031
+ "type": "uint32"
1032
+ },
1033
+ {
1034
+ "internalType": "bytes32",
1035
+ "name": "_receiver",
1036
+ "type": "bytes32"
1037
+ }
1038
+ ],
1039
+ "name": "getOutboundNonce",
1040
+ "outputs": [
1041
+ {
1042
+ "internalType": "uint64",
1043
+ "name": "",
1044
+ "type": "uint64"
1045
+ }
1046
+ ],
1047
+ "stateMutability": "view",
1048
+ "type": "function"
1049
+ },
1050
+ {
1051
+ "inputs": [],
1052
+ "name": "getReceiveContext",
1053
+ "outputs": [
1054
+ {
1055
+ "internalType": "uint32",
1056
+ "name": "",
1057
+ "type": "uint32"
1058
+ },
1059
+ {
1060
+ "internalType": "address",
1061
+ "name": "",
1062
+ "type": "address"
1063
+ }
1064
+ ],
1065
+ "stateMutability": "view",
1066
+ "type": "function"
1067
+ },
1068
+ {
1069
+ "inputs": [
1070
+ {
1071
+ "internalType": "address",
1072
+ "name": "_receiver",
1073
+ "type": "address"
1074
+ },
1075
+ {
1076
+ "internalType": "uint32",
1077
+ "name": "_srcEid",
1078
+ "type": "uint32"
1079
+ }
1080
+ ],
1081
+ "name": "getReceiveLibrary",
1082
+ "outputs": [
1083
+ {
1084
+ "internalType": "address",
1085
+ "name": "lib",
1086
+ "type": "address"
1087
+ },
1088
+ {
1089
+ "internalType": "bool",
1090
+ "name": "isDefault",
1091
+ "type": "bool"
1092
+ }
1093
+ ],
1094
+ "stateMutability": "view",
1095
+ "type": "function"
1096
+ },
1097
+ {
1098
+ "inputs": [],
1099
+ "name": "getRegisteredLibraries",
1100
+ "outputs": [
1101
+ {
1102
+ "internalType": "address[]",
1103
+ "name": "",
1104
+ "type": "address[]"
1105
+ }
1106
+ ],
1107
+ "stateMutability": "view",
1108
+ "type": "function"
1109
+ },
1110
+ {
1111
+ "inputs": [],
1112
+ "name": "getSendContext",
1113
+ "outputs": [
1114
+ {
1115
+ "internalType": "uint32",
1116
+ "name": "",
1117
+ "type": "uint32"
1118
+ },
1119
+ {
1120
+ "internalType": "address",
1121
+ "name": "",
1122
+ "type": "address"
1123
+ }
1124
+ ],
1125
+ "stateMutability": "view",
1126
+ "type": "function"
1127
+ },
1128
+ {
1129
+ "inputs": [
1130
+ {
1131
+ "internalType": "address",
1132
+ "name": "_sender",
1133
+ "type": "address"
1134
+ },
1135
+ {
1136
+ "internalType": "uint32",
1137
+ "name": "_dstEid",
1138
+ "type": "uint32"
1139
+ }
1140
+ ],
1141
+ "name": "getSendLibrary",
1142
+ "outputs": [
1143
+ {
1144
+ "internalType": "address",
1145
+ "name": "lib",
1146
+ "type": "address"
1147
+ },
1148
+ {
1149
+ "internalType": "bool",
1150
+ "name": "isDefault",
1151
+ "type": "bool"
1152
+ }
1153
+ ],
1154
+ "stateMutability": "view",
1155
+ "type": "function"
1156
+ },
1157
+ {
1158
+ "inputs": [
1159
+ {
1160
+ "components": [
1161
+ {
1162
+ "internalType": "uint32",
1163
+ "name": "srcEid",
1164
+ "type": "uint32"
1165
+ },
1166
+ {
1167
+ "internalType": "bytes32",
1168
+ "name": "sender",
1169
+ "type": "bytes32"
1170
+ },
1171
+ {
1172
+ "internalType": "uint64",
1173
+ "name": "nonce",
1174
+ "type": "uint64"
1175
+ }
1176
+ ],
1177
+ "internalType": "struct IMessageOrigin.MessageOrigin",
1178
+ "name": "_origin",
1179
+ "type": "tuple"
1180
+ },
1181
+ {
1182
+ "internalType": "address",
1183
+ "name": "_receiver",
1184
+ "type": "address"
1185
+ }
1186
+ ],
1187
+ "name": "hasPayloadHash",
1188
+ "outputs": [
1189
+ {
1190
+ "internalType": "bool",
1191
+ "name": "",
1192
+ "type": "bool"
1193
+ }
1194
+ ],
1195
+ "stateMutability": "view",
1196
+ "type": "function"
1197
+ },
1198
+ {
1199
+ "inputs": [],
1200
+ "name": "isComposingMessage",
1201
+ "outputs": [
1202
+ {
1203
+ "internalType": "bool",
1204
+ "name": "",
1205
+ "type": "bool"
1206
+ }
1207
+ ],
1208
+ "stateMutability": "view",
1209
+ "type": "function"
1210
+ },
1211
+ {
1212
+ "inputs": [],
1213
+ "name": "isReceivingMessage",
1214
+ "outputs": [
1215
+ {
1216
+ "internalType": "bool",
1217
+ "name": "",
1218
+ "type": "bool"
1219
+ }
1220
+ ],
1221
+ "stateMutability": "view",
1222
+ "type": "function"
1223
+ },
1224
+ {
1225
+ "inputs": [
1226
+ {
1227
+ "internalType": "address",
1228
+ "name": "lib",
1229
+ "type": "address"
1230
+ }
1231
+ ],
1232
+ "name": "isRegisteredLibrary",
1233
+ "outputs": [
1234
+ {
1235
+ "internalType": "bool",
1236
+ "name": "",
1237
+ "type": "bool"
1238
+ }
1239
+ ],
1240
+ "stateMutability": "view",
1241
+ "type": "function"
1242
+ },
1243
+ {
1244
+ "inputs": [],
1245
+ "name": "isSendingMessage",
1246
+ "outputs": [
1247
+ {
1248
+ "internalType": "bool",
1249
+ "name": "",
1250
+ "type": "bool"
1251
+ }
1252
+ ],
1253
+ "stateMutability": "view",
1254
+ "type": "function"
1255
+ },
1256
+ {
1257
+ "inputs": [
1258
+ {
1259
+ "internalType": "uint32",
1260
+ "name": "_eid",
1261
+ "type": "uint32"
1262
+ }
1263
+ ],
1264
+ "name": "isSupportedEid",
1265
+ "outputs": [
1266
+ {
1267
+ "internalType": "bool",
1268
+ "name": "",
1269
+ "type": "bool"
1270
+ }
1271
+ ],
1272
+ "stateMutability": "view",
1273
+ "type": "function"
1274
+ },
1275
+ {
1276
+ "inputs": [
1277
+ {
1278
+ "internalType": "address",
1279
+ "name": "_receiver",
1280
+ "type": "address"
1281
+ },
1282
+ {
1283
+ "internalType": "uint32",
1284
+ "name": "_srcEid",
1285
+ "type": "uint32"
1286
+ },
1287
+ {
1288
+ "internalType": "address",
1289
+ "name": "_actualReceiveLib",
1290
+ "type": "address"
1291
+ }
1292
+ ],
1293
+ "name": "isValidReceiveLibrary",
1294
+ "outputs": [
1295
+ {
1296
+ "internalType": "bool",
1297
+ "name": "",
1298
+ "type": "bool"
1299
+ }
1300
+ ],
1301
+ "stateMutability": "view",
1302
+ "type": "function"
1303
+ },
1304
+ {
1305
+ "inputs": [],
1306
+ "name": "layerZeroToken",
1307
+ "outputs": [
1308
+ {
1309
+ "internalType": "address",
1310
+ "name": "",
1311
+ "type": "address"
1312
+ }
1313
+ ],
1314
+ "stateMutability": "view",
1315
+ "type": "function"
1316
+ },
1317
+ {
1318
+ "inputs": [
1319
+ {
1320
+ "internalType": "address",
1321
+ "name": "_receiver",
1322
+ "type": "address"
1323
+ },
1324
+ {
1325
+ "internalType": "address",
1326
+ "name": "_composer",
1327
+ "type": "address"
1328
+ },
1329
+ {
1330
+ "internalType": "bytes32",
1331
+ "name": "_guid",
1332
+ "type": "bytes32"
1333
+ },
1334
+ {
1335
+ "internalType": "bytes",
1336
+ "name": "_message",
1337
+ "type": "bytes"
1338
+ },
1339
+ {
1340
+ "internalType": "bytes",
1341
+ "name": "_callerParams",
1342
+ "type": "bytes"
1343
+ }
1344
+ ],
1345
+ "name": "lzCompose",
1346
+ "outputs": [
1347
+ {
1348
+ "internalType": "bool",
1349
+ "name": "success",
1350
+ "type": "bool"
1351
+ },
1352
+ {
1353
+ "internalType": "bytes",
1354
+ "name": "reason",
1355
+ "type": "bytes"
1356
+ }
1357
+ ],
1358
+ "stateMutability": "payable",
1359
+ "type": "function"
1360
+ },
1361
+ {
1362
+ "inputs": [
1363
+ {
1364
+ "components": [
1365
+ {
1366
+ "internalType": "uint32",
1367
+ "name": "srcEid",
1368
+ "type": "uint32"
1369
+ },
1370
+ {
1371
+ "internalType": "bytes32",
1372
+ "name": "sender",
1373
+ "type": "bytes32"
1374
+ },
1375
+ {
1376
+ "internalType": "uint64",
1377
+ "name": "nonce",
1378
+ "type": "uint64"
1379
+ }
1380
+ ],
1381
+ "internalType": "struct IMessageOrigin.MessageOrigin",
1382
+ "name": "_origin",
1383
+ "type": "tuple"
1384
+ },
1385
+ {
1386
+ "internalType": "address",
1387
+ "name": "_receiver",
1388
+ "type": "address"
1389
+ },
1390
+ {
1391
+ "internalType": "bytes32",
1392
+ "name": "_guid",
1393
+ "type": "bytes32"
1394
+ },
1395
+ {
1396
+ "internalType": "bytes",
1397
+ "name": "_message",
1398
+ "type": "bytes"
1399
+ },
1400
+ {
1401
+ "internalType": "bytes",
1402
+ "name": "_callerParams",
1403
+ "type": "bytes"
1404
+ }
1405
+ ],
1406
+ "name": "lzReceive",
1407
+ "outputs": [
1408
+ {
1409
+ "internalType": "bool",
1410
+ "name": "success",
1411
+ "type": "bool"
1412
+ },
1413
+ {
1414
+ "internalType": "bytes",
1415
+ "name": "reason",
1416
+ "type": "bytes"
1417
+ }
1418
+ ],
1419
+ "stateMutability": "payable",
1420
+ "type": "function"
1421
+ },
1422
+ {
1423
+ "inputs": [],
1424
+ "name": "owner",
1425
+ "outputs": [
1426
+ {
1427
+ "internalType": "address",
1428
+ "name": "",
1429
+ "type": "address"
1430
+ }
1431
+ ],
1432
+ "stateMutability": "view",
1433
+ "type": "function"
1434
+ },
1435
+ {
1436
+ "inputs": [
1437
+ {
1438
+ "internalType": "address",
1439
+ "name": "_sender",
1440
+ "type": "address"
1441
+ },
1442
+ {
1443
+ "internalType": "uint32",
1444
+ "name": "_dstEid",
1445
+ "type": "uint32"
1446
+ },
1447
+ {
1448
+ "internalType": "bytes",
1449
+ "name": "_message",
1450
+ "type": "bytes"
1451
+ },
1452
+ {
1453
+ "internalType": "bool",
1454
+ "name": "_payInLzToken",
1455
+ "type": "bool"
1456
+ },
1457
+ {
1458
+ "internalType": "bytes",
1459
+ "name": "_options",
1460
+ "type": "bytes"
1461
+ }
1462
+ ],
1463
+ "name": "quote",
1464
+ "outputs": [
1465
+ {
1466
+ "components": [
1467
+ {
1468
+ "internalType": "uint256",
1469
+ "name": "nativeFee",
1470
+ "type": "uint256"
1471
+ },
1472
+ {
1473
+ "internalType": "uint256",
1474
+ "name": "lzTokenFee",
1475
+ "type": "uint256"
1476
+ }
1477
+ ],
1478
+ "internalType": "struct ILayerZeroEndpoint.MessagingFee",
1479
+ "name": "",
1480
+ "type": "tuple"
1481
+ }
1482
+ ],
1483
+ "stateMutability": "view",
1484
+ "type": "function"
1485
+ },
1486
+ {
1487
+ "inputs": [
1488
+ {
1489
+ "internalType": "address",
1490
+ "name": "receiver",
1491
+ "type": "address"
1492
+ },
1493
+ {
1494
+ "internalType": "uint32",
1495
+ "name": "srcEid",
1496
+ "type": "uint32"
1497
+ }
1498
+ ],
1499
+ "name": "receiveLibraryTimeout",
1500
+ "outputs": [
1501
+ {
1502
+ "internalType": "address",
1503
+ "name": "lib",
1504
+ "type": "address"
1505
+ },
1506
+ {
1507
+ "internalType": "uint256",
1508
+ "name": "expiry",
1509
+ "type": "uint256"
1510
+ }
1511
+ ],
1512
+ "stateMutability": "view",
1513
+ "type": "function"
1514
+ },
1515
+ {
1516
+ "inputs": [
1517
+ {
1518
+ "internalType": "address",
1519
+ "name": "_token",
1520
+ "type": "address"
1521
+ },
1522
+ {
1523
+ "internalType": "address",
1524
+ "name": "_to",
1525
+ "type": "address"
1526
+ },
1527
+ {
1528
+ "internalType": "uint256",
1529
+ "name": "_amount",
1530
+ "type": "uint256"
1531
+ }
1532
+ ],
1533
+ "name": "recoverToken",
1534
+ "outputs": [],
1535
+ "stateMutability": "nonpayable",
1536
+ "type": "function"
1537
+ },
1538
+ {
1539
+ "inputs": [
1540
+ {
1541
+ "internalType": "address",
1542
+ "name": "_lib",
1543
+ "type": "address"
1544
+ }
1545
+ ],
1546
+ "name": "registerLibrary",
1547
+ "outputs": [],
1548
+ "stateMutability": "nonpayable",
1549
+ "type": "function"
1550
+ },
1551
+ {
1552
+ "inputs": [],
1553
+ "name": "renounceOwnership",
1554
+ "outputs": [],
1555
+ "stateMutability": "nonpayable",
1556
+ "type": "function"
1557
+ },
1558
+ {
1559
+ "inputs": [
1560
+ {
1561
+ "internalType": "address",
1562
+ "name": "_lib",
1563
+ "type": "address"
1564
+ },
1565
+ {
1566
+ "internalType": "uint32[]",
1567
+ "name": "_eids",
1568
+ "type": "uint32[]"
1569
+ }
1570
+ ],
1571
+ "name": "resetConfig",
1572
+ "outputs": [],
1573
+ "stateMutability": "nonpayable",
1574
+ "type": "function"
1575
+ },
1576
+ {
1577
+ "inputs": [
1578
+ {
1579
+ "components": [
1580
+ {
1581
+ "internalType": "uint32",
1582
+ "name": "dstEid",
1583
+ "type": "uint32"
1584
+ },
1585
+ {
1586
+ "internalType": "bytes32",
1587
+ "name": "receiver",
1588
+ "type": "bytes32"
1589
+ },
1590
+ {
1591
+ "internalType": "bytes",
1592
+ "name": "message",
1593
+ "type": "bytes"
1594
+ },
1595
+ {
1596
+ "internalType": "bytes",
1597
+ "name": "options",
1598
+ "type": "bytes"
1599
+ }
1600
+ ],
1601
+ "internalType": "struct ILayerZeroEndpoint.MessagingParams",
1602
+ "name": "_params",
1603
+ "type": "tuple"
1604
+ },
1605
+ {
1606
+ "internalType": "uint256",
1607
+ "name": "_lzTokenFee",
1608
+ "type": "uint256"
1609
+ },
1610
+ {
1611
+ "internalType": "address payable",
1612
+ "name": "_refundAddress",
1613
+ "type": "address"
1614
+ }
1615
+ ],
1616
+ "name": "send",
1617
+ "outputs": [
1618
+ {
1619
+ "components": [
1620
+ {
1621
+ "internalType": "bytes32",
1622
+ "name": "guid",
1623
+ "type": "bytes32"
1624
+ },
1625
+ {
1626
+ "internalType": "uint64",
1627
+ "name": "nonce",
1628
+ "type": "uint64"
1629
+ },
1630
+ {
1631
+ "components": [
1632
+ {
1633
+ "internalType": "uint256",
1634
+ "name": "nativeFee",
1635
+ "type": "uint256"
1636
+ },
1637
+ {
1638
+ "internalType": "uint256",
1639
+ "name": "lzTokenFee",
1640
+ "type": "uint256"
1641
+ }
1642
+ ],
1643
+ "internalType": "struct ILayerZeroEndpoint.MessagingFee",
1644
+ "name": "fee",
1645
+ "type": "tuple"
1646
+ }
1647
+ ],
1648
+ "internalType": "struct ILayerZeroEndpoint.MessagingReceipt",
1649
+ "name": "",
1650
+ "type": "tuple"
1651
+ }
1652
+ ],
1653
+ "stateMutability": "payable",
1654
+ "type": "function"
1655
+ },
1656
+ {
1657
+ "inputs": [
1658
+ {
1659
+ "components": [
1660
+ {
1661
+ "internalType": "uint32",
1662
+ "name": "dstEid",
1663
+ "type": "uint32"
1664
+ },
1665
+ {
1666
+ "internalType": "bytes32",
1667
+ "name": "receiver",
1668
+ "type": "bytes32"
1669
+ },
1670
+ {
1671
+ "internalType": "bytes",
1672
+ "name": "message",
1673
+ "type": "bytes"
1674
+ },
1675
+ {
1676
+ "internalType": "bytes",
1677
+ "name": "options",
1678
+ "type": "bytes"
1679
+ }
1680
+ ],
1681
+ "internalType": "struct ILayerZeroEndpoint.MessagingParams",
1682
+ "name": "_params",
1683
+ "type": "tuple"
1684
+ },
1685
+ {
1686
+ "internalType": "uint256",
1687
+ "name": "_lzTokenFee",
1688
+ "type": "uint256"
1689
+ },
1690
+ {
1691
+ "internalType": "uint256",
1692
+ "name": "_altTokenFee",
1693
+ "type": "uint256"
1694
+ }
1695
+ ],
1696
+ "name": "sendWithAlt",
1697
+ "outputs": [
1698
+ {
1699
+ "components": [
1700
+ {
1701
+ "internalType": "bytes32",
1702
+ "name": "guid",
1703
+ "type": "bytes32"
1704
+ },
1705
+ {
1706
+ "internalType": "uint64",
1707
+ "name": "nonce",
1708
+ "type": "uint64"
1709
+ },
1710
+ {
1711
+ "components": [
1712
+ {
1713
+ "internalType": "uint256",
1714
+ "name": "nativeFee",
1715
+ "type": "uint256"
1716
+ },
1717
+ {
1718
+ "internalType": "uint256",
1719
+ "name": "lzTokenFee",
1720
+ "type": "uint256"
1721
+ }
1722
+ ],
1723
+ "internalType": "struct ILayerZeroEndpoint.MessagingFee",
1724
+ "name": "fee",
1725
+ "type": "tuple"
1726
+ }
1727
+ ],
1728
+ "internalType": "struct ILayerZeroEndpoint.MessagingReceipt",
1729
+ "name": "",
1730
+ "type": "tuple"
1731
+ }
1732
+ ],
1733
+ "stateMutability": "nonpayable",
1734
+ "type": "function"
1735
+ },
1736
+ {
1737
+ "inputs": [
1738
+ {
1739
+ "internalType": "address",
1740
+ "name": "_lib",
1741
+ "type": "address"
1742
+ },
1743
+ {
1744
+ "internalType": "uint32",
1745
+ "name": "_eid",
1746
+ "type": "uint32"
1747
+ },
1748
+ {
1749
+ "components": [
1750
+ {
1751
+ "internalType": "uint32",
1752
+ "name": "configType",
1753
+ "type": "uint32"
1754
+ },
1755
+ {
1756
+ "internalType": "bytes",
1757
+ "name": "config",
1758
+ "type": "bytes"
1759
+ }
1760
+ ],
1761
+ "internalType": "struct IMessageLibManager.ConfigParam[]",
1762
+ "name": "_params",
1763
+ "type": "tuple[]"
1764
+ }
1765
+ ],
1766
+ "name": "setConfig",
1767
+ "outputs": [],
1768
+ "stateMutability": "nonpayable",
1769
+ "type": "function"
1770
+ },
1771
+ {
1772
+ "inputs": [
1773
+ {
1774
+ "internalType": "uint32",
1775
+ "name": "_eid",
1776
+ "type": "uint32"
1777
+ },
1778
+ {
1779
+ "internalType": "address",
1780
+ "name": "_newLib",
1781
+ "type": "address"
1782
+ },
1783
+ {
1784
+ "internalType": "uint256",
1785
+ "name": "_gracePeriod",
1786
+ "type": "uint256"
1787
+ }
1788
+ ],
1789
+ "name": "setDefaultReceiveLibrary",
1790
+ "outputs": [],
1791
+ "stateMutability": "nonpayable",
1792
+ "type": "function"
1793
+ },
1794
+ {
1795
+ "inputs": [
1796
+ {
1797
+ "internalType": "uint32",
1798
+ "name": "_eid",
1799
+ "type": "uint32"
1800
+ },
1801
+ {
1802
+ "internalType": "address",
1803
+ "name": "_lib",
1804
+ "type": "address"
1805
+ },
1806
+ {
1807
+ "internalType": "uint256",
1808
+ "name": "_expiry",
1809
+ "type": "uint256"
1810
+ }
1811
+ ],
1812
+ "name": "setDefaultReceiveLibraryTimeout",
1813
+ "outputs": [],
1814
+ "stateMutability": "nonpayable",
1815
+ "type": "function"
1816
+ },
1817
+ {
1818
+ "inputs": [
1819
+ {
1820
+ "internalType": "uint32",
1821
+ "name": "_eid",
1822
+ "type": "uint32"
1823
+ },
1824
+ {
1825
+ "internalType": "address",
1826
+ "name": "_newLib",
1827
+ "type": "address"
1828
+ }
1829
+ ],
1830
+ "name": "setDefaultSendLibrary",
1831
+ "outputs": [],
1832
+ "stateMutability": "nonpayable",
1833
+ "type": "function"
1834
+ },
1835
+ {
1836
+ "inputs": [
1837
+ {
1838
+ "internalType": "address",
1839
+ "name": "_layerZeroToken",
1840
+ "type": "address"
1841
+ }
1842
+ ],
1843
+ "name": "setLayerZeroToken",
1844
+ "outputs": [],
1845
+ "stateMutability": "nonpayable",
1846
+ "type": "function"
1847
+ },
1848
+ {
1849
+ "inputs": [
1850
+ {
1851
+ "internalType": "uint32",
1852
+ "name": "_eid",
1853
+ "type": "uint32"
1854
+ },
1855
+ {
1856
+ "internalType": "address",
1857
+ "name": "_newLib",
1858
+ "type": "address"
1859
+ },
1860
+ {
1861
+ "internalType": "uint256",
1862
+ "name": "_gracePeriod",
1863
+ "type": "uint256"
1864
+ }
1865
+ ],
1866
+ "name": "setReceiveLibrary",
1867
+ "outputs": [],
1868
+ "stateMutability": "nonpayable",
1869
+ "type": "function"
1870
+ },
1871
+ {
1872
+ "inputs": [
1873
+ {
1874
+ "internalType": "uint32",
1875
+ "name": "_eid",
1876
+ "type": "uint32"
1877
+ },
1878
+ {
1879
+ "internalType": "address",
1880
+ "name": "_lib",
1881
+ "type": "address"
1882
+ },
1883
+ {
1884
+ "internalType": "uint256",
1885
+ "name": "_expiry",
1886
+ "type": "uint256"
1887
+ }
1888
+ ],
1889
+ "name": "setReceiveLibraryTimeout",
1890
+ "outputs": [],
1891
+ "stateMutability": "nonpayable",
1892
+ "type": "function"
1893
+ },
1894
+ {
1895
+ "inputs": [
1896
+ {
1897
+ "internalType": "uint32",
1898
+ "name": "_eid",
1899
+ "type": "uint32"
1900
+ },
1901
+ {
1902
+ "internalType": "address",
1903
+ "name": "_newLib",
1904
+ "type": "address"
1905
+ }
1906
+ ],
1907
+ "name": "setSendLibrary",
1908
+ "outputs": [],
1909
+ "stateMutability": "nonpayable",
1910
+ "type": "function"
1911
+ },
1912
+ {
1913
+ "inputs": [
1914
+ {
1915
+ "internalType": "uint32",
1916
+ "name": "_srcEid",
1917
+ "type": "uint32"
1918
+ },
1919
+ {
1920
+ "internalType": "bytes32",
1921
+ "name": "_sender",
1922
+ "type": "bytes32"
1923
+ },
1924
+ {
1925
+ "internalType": "uint64",
1926
+ "name": "_nonce",
1927
+ "type": "uint64"
1928
+ }
1929
+ ],
1930
+ "name": "skip",
1931
+ "outputs": [],
1932
+ "stateMutability": "nonpayable",
1933
+ "type": "function"
1934
+ },
1935
+ {
1936
+ "inputs": [
1937
+ {
1938
+ "internalType": "address",
1939
+ "name": "_lib",
1940
+ "type": "address"
1941
+ },
1942
+ {
1943
+ "internalType": "uint32[]",
1944
+ "name": "_eids",
1945
+ "type": "uint32[]"
1946
+ }
1947
+ ],
1948
+ "name": "snapshotConfig",
1949
+ "outputs": [],
1950
+ "stateMutability": "nonpayable",
1951
+ "type": "function"
1952
+ },
1953
+ {
1954
+ "inputs": [
1955
+ {
1956
+ "internalType": "address",
1957
+ "name": "newOwner",
1958
+ "type": "address"
1959
+ }
1960
+ ],
1961
+ "name": "transferOwnership",
1962
+ "outputs": [],
1963
+ "stateMutability": "nonpayable",
1964
+ "type": "function"
1965
+ }
1966
+ ],
1967
+ "transactionHash": "0xe6542fc8e2f2d8eed82a99ba9f7af31268fba1b28f1bf190d74c0e2d7543b90e",
1968
+ "receipt": {
1969
+ "to": null,
1970
+ "from": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
1971
+ "contractAddress": "0x1275D096B9DBf2347bD2a131Fb6BDaB0B4882487",
1972
+ "transactionIndex": 0,
1973
+ "gasUsed": "5323606",
1974
+ "logsBloom": "0x00000000000000000002000000000000000000000200000020800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000808020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000008000000000001000000000000000000000000000000",
1975
+ "blockHash": "0x36d46b2c9d50b4c78c5a80e8848a5b61944a67f330d239b2f23ce6d8a0973685",
1976
+ "transactionHash": "0xe6542fc8e2f2d8eed82a99ba9f7af31268fba1b28f1bf190d74c0e2d7543b90e",
1977
+ "logs": [
1978
+ {
1979
+ "transactionIndex": 0,
1980
+ "blockNumber": 117,
1981
+ "transactionHash": "0xe6542fc8e2f2d8eed82a99ba9f7af31268fba1b28f1bf190d74c0e2d7543b90e",
1982
+ "address": "0x1275D096B9DBf2347bD2a131Fb6BDaB0B4882487",
1983
+ "topics": [
1984
+ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
1985
+ "0x0000000000000000000000000000000000000000000000000000000000000000",
1986
+ "0x00000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c8"
1987
+ ],
1988
+ "data": "0x",
1989
+ "logIndex": 0,
1990
+ "blockHash": "0x36d46b2c9d50b4c78c5a80e8848a5b61944a67f330d239b2f23ce6d8a0973685"
1991
+ },
1992
+ {
1993
+ "transactionIndex": 0,
1994
+ "blockNumber": 117,
1995
+ "transactionHash": "0xe6542fc8e2f2d8eed82a99ba9f7af31268fba1b28f1bf190d74c0e2d7543b90e",
1996
+ "address": "0x1275D096B9DBf2347bD2a131Fb6BDaB0B4882487",
1997
+ "topics": [
1998
+ "0x6b374d56679ca9463f27c85c6311e2bb7fde69bf201d3da39d53f10bd9d78af5"
1999
+ ],
2000
+ "data": "0x000000000000000000000000c6ba8c3233ecf65b761049ef63466945c362edd2",
2001
+ "logIndex": 1,
2002
+ "blockHash": "0x36d46b2c9d50b4c78c5a80e8848a5b61944a67f330d239b2f23ce6d8a0973685"
2003
+ }
2004
+ ],
2005
+ "blockNumber": 117,
2006
+ "cumulativeGasUsed": "5323606",
2007
+ "status": 1,
2008
+ "byzantium": true
2009
+ },
2010
+ "args": [
2011
+ 50109,
2012
+ "0xC6bA8C3233eCF65B761049ef63466945c362EdD2",
2013
+ "0x0000000000000000000000000000000000000000"
2014
+ ],
2015
+ "numDeployments": 1,
2016
+ "solcInputHash": "483627349c521129e59b207c5348a8fb",
2017
+ "bytecode": "0x60e0604052600e80546001600160a01b0319166001908117909155600f8190556010553480156200002f57600080fd5b506040516200608d3803806200608d833981016040819052620000529162000309565b80826200005f3362000095565b6001600160a01b0381166080526200007781620000e5565b506001600160a01b031660a052505063ffffffff1660c05262000388565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b620000ef6200028e565b6040516301ffc9a760e01b8152635c61fbbf60e11b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa1580156200013b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016191906200035d565b6200019d5760405162461bcd60e51b81526020600482015260076024820152664c5a433030303160c81b60448201526064015b60405180910390fd5b6001600160a01b03811660009081526005602052604090205460ff1615620001f25760405162461bcd60e51b815260206004820152600760248201526604c5a38303030360cc1b604482015260640162000194565b6001600160a01b0381166000818152600560209081526040808320805460ff191660019081179091556004805491820181559093527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90920180546001600160a01b0319168417905590519182527f6b374d56679ca9463f27c85c6311e2bb7fde69bf201d3da39d53f10bd9d78af5910160405180910390a150565b6000546001600160a01b03163314620002ea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000194565b565b80516001600160a01b03811681146200030457600080fd5b919050565b6000806000606084860312156200031f57600080fd5b835163ffffffff811681146200033457600080fd5b92506200034460208501620002ec565b91506200035460408501620002ec565b90509250925092565b6000602082840312156200037057600080fd5b815180151581146200038157600080fd5b9392505050565b60805160a05160c051615cb2620003db600039600081816104f3015281816138ee0152613f8d015260008181610b7f015281816141600152818161423101526143ed015260006107050152615cb26000f3fe6080604052600436106103495760003560e01c80639132e5c3116101bb578063b96a277f116100f7578063ef57458d11610095578063f405c8591161006f578063f405c85914610b27578063f64be4c714610b3a578063f936112b14610b70578063fd894a5314610ba357600080fd5b8063ef57458d14610a99578063ef667aa114610abc578063f2fde38b14610b0757600080fd5b8063dc706a62116100d1578063dc706a6214610a09578063e16f964d14610a39578063e8964e8114610a59578063eaeacd6314610a7957600080fd5b8063b96a277f146109a9578063ce3cac0e146109c9578063d4b4ec8f146109e957600080fd5b80639e7fffcc11610164578063aafea3121161013e578063aafea31214610936578063aca1b45a14610956578063b8007ff614610969578063b8849ac91461098957600080fd5b80639e7fffcc146108d6578063a718531b146108f6578063a7229fd91461091657600080fd5b80639b86cb4d116101955780639b86cb4d1461081a5780639c9dd91d146108785780639d7f9775146108b657600080fd5b80639132e5c3146107ab578063965183d4146107cd5780639731526b146107ed57600080fd5b806351c85b6b1161028a5780636f50a80311610233578063754d3b9c1161020d578063754d3b9c1461072757806379624ca91461074757806383c47559146107605780638da5cb5b1461078d57600080fd5b80636f50a803146106a8578063715018a6146106de57806373318091146106f357600080fd5b80636750cd4c116102645780636750cd4c1461061057806369e55fb8146106305780636e83f5bb1461064957600080fd5b806351c85b6b146105a357806352d3b500146105d057806366bf43d6146105f057600080fd5b80632b3197b9116102f7578063416ecebf116102d1578063416ecebf146104e1578063418ba3511461052a578063447605761461054a57806345c6dcc41461058357600080fd5b80632b3197b91461045f5780633fa446751461048d578063402f8468146104a257600080fd5b806307b9ca7c1161032857806307b9ca7c146103d35780630c0c389e1461040557806314f651a91461042657600080fd5b80624afd471461034e57806303719a84146103815780630678327f146103b1575b600080fd5b34801561035a57600080fd5b5061036e610369366004614a2b565b610bb8565b6040519081526020015b60405180910390f35b34801561038d57600080fd5b506103a161039c366004614a81565b610c1a565b6040519015158152602001610378565b3480156103bd57600080fd5b506103d16103cc366004614afe565b610c99565b005b3480156103df57600080fd5b50600c546001600160a01b03165b6040516001600160a01b039091168152602001610378565b610418610413366004614b95565b610d89565b604051610378929190614ca1565b34801561043257600080fd5b5061043b611067565b6040805163ffffffff90931683526001600160a01b03909116602083015201610378565b34801561046b57600080fd5b5061047f61047a366004614cbc565b611096565b604051610378929190614d14565b34801561049957600080fd5b506103ed6111cc565b3480156104ae57600080fd5b506104c26104bd366004614d38565b6111fe565b604080516001600160a01b039093168352901515602083015201610378565b3480156104ed57600080fd5b506105157f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610378565b34801561053657600080fd5b506103a1610545366004614d6d565b6112ab565b34801561055657600080fd5b5061056a610565366004614a2b565b611322565b60405167ffffffffffffffff9091168152602001610378565b34801561058f57600080fd5b506103d161059e366004614db7565b61132f565b3480156105af57600080fd5b506105c36105be366004614df7565b6113df565b6040516103789190614e3c565b3480156105dc57600080fd5b506103d16105eb366004614e4f565b6115ec565b3480156105fc57600080fd5b506103d161060b366004614e6c565b611667565b34801561061c57600080fd5b506103a161062b366004614eab565b611972565b34801561063c57600080fd5b50601054600114156103a1565b34801561065557600080fd5b50610689610664366004614eab565b600b60205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b039093168352602083019190915201610378565b3480156106b457600080fd5b506103ed6106c3366004614eab565b600a602052600090815260409020546001600160a01b031681565b3480156106ea57600080fd5b506103d16119be565b3480156106ff57600080fd5b506103ed7f000000000000000000000000000000000000000000000000000000000000000081565b34801561073357600080fd5b506103d1610742366004614ec6565b6119d2565b34801561075357600080fd5b50600f54600114156103a1565b34801561076c57600080fd5b5061078061077b366004614f30565b611ad2565b6040516103789190614fb8565b34801561079957600080fd5b506000546001600160a01b03166103ed565b3480156107b757600080fd5b506107c0611c54565b6040516103789190614fcf565b3480156107d957600080fd5b5061036e6107e836600461501c565b611cb6565b3480156107f957600080fd5b5061080d610808366004615071565b611d30565b60405161037891906150bf565b34801561082657600080fd5b5061056a610835366004614a2b565b6001600160a01b038316600090815260036020908152604080832063ffffffff86168452825280832084845290915290205467ffffffffffffffff169392505050565b34801561088457600080fd5b5061036e610893366004615102565b600d60209081526000938452604080852082529284528284209052825290205481565b3480156108c257600080fd5b506103a16108d1366004615122565b611e64565b3480156108e257600080fd5b506103d16108f1366004614afe565b611f4e565b34801561090257600080fd5b506103d1610911366004614e6c565b612001565b34801561092257600080fd5b506103d1610931366004615102565b612345565b34801561094257600080fd5b506103d1610951366004615160565b6123b0565b61080d61096436600461518c565b612602565b34801561097557600080fd5b506103d16109843660046151dc565b6126be565b34801561099557600080fd5b506103d16109a4366004614e6c565b6127ac565b3480156109b557600080fd5b506104c26109c4366004614d38565b612bc6565b3480156109d557600080fd5b5061036e6109e4366004614a81565b612c68565b3480156109f557600080fd5b506103d1610a04366004614e6c565b612cf7565b348015610a1557600080fd5b506103a1610a24366004614e4f565b60056020526000908152604090205460ff1681565b348015610a4557600080fd5b506103d1610a54366004615160565b612f81565b348015610a6557600080fd5b506103d1610a74366004614e4f565b6131ef565b348015610a8557600080fd5b506103d1610a94366004615249565b613419565b348015610aa557600080fd5b506103a1600e546001600160a01b03166001141590565b348015610ac857600080fd5b50610689610ad7366004614d38565b6008602090815260009283526040808420909152908252902080546001909101546001600160a01b039091169082565b348015610b1357600080fd5b506103d1610b22366004614e4f565b61347b565b610418610b3536600461527e565b61350b565b348015610b4657600080fd5b506103ed610b55366004614eab565b6009602052600090815260409020546001600160a01b031681565b348015610b7c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103ed565b348015610baf57600080fd5b5061043b61389f565b6001600160a01b038316600090815260036020908152604080832063ffffffff8616845282528083208484529091528120548190610c019067ffffffffffffffff16600161532c565b9050610c0f818686866138c8565b9150505b9392505050565b6000610c9082610c2d6020860186614eab565b6020860135610c42606088016040890161534d565b6001600160a01b038416600090815260026020908152604080832063ffffffff871684528252808320858452825280832067ffffffffffffffff851684529091529020541515949350505050565b90505b92915050565b6001600160a01b038316600090815260056020526040902054839060ff16610d085760405162461bcd60e51b815260206004820152600760248201527f4c5a31303030310000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6040517f1c63e3b60000000000000000000000000000000000000000000000000000000081526001600160a01b03851690631c63e3b690610d519086908690339060040161536a565b600060405180830381600087803b158015610d6b57600080fd5b505af1158015610d7f573d6000803e3d6000fd5b5050505050505050565b60006060610d9a60208a018a614eab565b88600160105414610ded5760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303032000000000000000000000000000000000000000000000000006044820152606401610cff565b77ffffffff000000000000000000000000000000000000000060a083901b166001600160a01b038216176010556040516000907f13137d650000000000000000000000000000000000000000000000000000000090610e5c908e908d908d908d9033908e908e9060240161544c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050610ef35a6001600160a01b038d169034609685613985565b9095509350508315610f74576000898989604051602001610f1693929190615495565b6040516020818303038152906040529050610f328c8c83613a10565b507f9808b7d96088a8872d5a22ac23ef6914c35f2f0c2393266f8d5aed00c5f166068c8c33604051610f66939291906154af565b60405180910390a150611052565b341561101457604051600090339034908381818185875af1925050503d8060008114610fbc576040519150601f19603f3d011682016040523d82523d6000602084013e610fc1565b606091505b50509050806110125760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303030000000000000000000000000000000000000000000000000006044820152606401610cff565b505b7f5f36cc57ed48e4b998e0ae0107830e550ebfd81dff305f8ab5c1ca624464f1f28b8b338660405161104994939291906154de565b60405180910390a15b50506001601055909890975095505050505050565b600080611077600f546001141590565b6110835760008061108e565b60a0600f54901c600f545b915091509091565b6001600160a01b03831660009081526005602052604081205460609190859060ff166111045760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b6040517f9c33abf700000000000000000000000000000000000000000000000000000000815263ffffffff80871660048301526001600160a01b0389811660248401529086166044830152871690639c33abf790606401600060405180830381865afa158015611178573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526111be91908101906155ec565b925092505094509492505050565b60006111e4600e546001600160a01b03166001141590565b6111ee5750600090565b50600e546001600160a01b031690565b6001600160a01b03808316600090815260076020908152604080832063ffffffff8616845290915281205490911690816112a45763ffffffff83166000908152600a60205260409020546001600160a01b03169150816112a05760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303034000000000000000000000000000000000000000000000000006044820152606401610cff565b5060015b9250929050565b60006112c4826112be6020870187614eab565b85611e64565b6113105760405162461bcd60e51b815260206004820152600760248201527f4c5a3530303030000000000000000000000000000000000000000000000000006044820152606401610cff565b61131a8483613ca8565b949350505050565b600061131a848484613d27565b611346826113406020860186614eab565b33611e64565b6113925760405162461bcd60e51b815260206004820152600760248201527f4c5a3530303030000000000000000000000000000000000000000000000000006044820152606401610cff565b61139d838383613d8a565b7f6f3339aff819ce511cfb1094545c3db99dc7f490fe40518933c129a17c538322838383336040516113d29493929190615633565b60405180910390a1505050565b6001600160a01b038316600090815260056020526040902054606090849060ff1661144c5760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b84846001600160a01b03821615611530576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190615669565b6115305760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b6040517f690c655500000000000000000000000000000000000000000000000000000000815263ffffffff8088166004830152861660248201526001600160a01b0388169063690c655590604401600060405180830381865afa15801561159b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115e19190810190615686565b979650505050505050565b6115f4613e6e565b600c80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383161790556040516001600160a01b03821681527ff66b6c5fcba13210e695e203c62d584c85a4193f8a279598609bb6af760b17c1906020015b60405180910390a150565b6001600160a01b038216600090815260056020526040902054829060ff166116d15760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b82846001600160a01b038216156117b5576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa158015611745573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117699190615669565b6117b55760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b60006117c133886111fe565b91505080156118125760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303130000000000000000000000000000000000000000000000000006044820152606401610cff565b846000036118695733600090815260086020908152604080832063ffffffff8b168452909152812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560010155611910565b4285116118b85760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303030000000000000000000000000000000000000000000000000006044820152606401610cff565b33600090815260086020908152604080832063ffffffff8b168452909152902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0388161781556001018590555b6040805133815263ffffffff891660208201526001600160a01b03881691810191909152606081018690527f661366f82fca66289bddc34462b3ab39d252b761599537d722a632d1bb066b8e906080015b60405180910390a150505050505050565b63ffffffff81166000908152600960205260408120546001600160a01b031615801590610c9357505063ffffffff166000908152600a60205260409020546001600160a01b0316151590565b6119c6613e6e565b6119d06000613ec8565b565b336000908152600d602090815260408083206001600160a01b0388168452825280832086845290915290205415611a4b5760405162461bcd60e51b815260206004820152600760248201527f4c5a3830303030000000000000000000000000000000000000000000000000006044820152606401610cff565b8181604051611a5b9291906156bb565b60408051918290038220336000818152600d60209081528482206001600160a01b038b1683528152848220898352905292909220557f7c0503be82d6ab0d4ea200b69f9930b82aec3c92ed138ed1a28f60cd9c3626db91611ac4919087908790879087906156cb565b60405180910390a150505050565b6040805180820190915260008082526020820152831580611afd5750600c546001600160a01b031615155b611b495760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303033000000000000000000000000000000000000000000000000006044820152606401610cff565b6000611b558989612bc6565b509050600060405180606001604052808b6001600160a01b031681526020018a63ffffffff16815260200189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517f07d7b2f90000000000000000000000000000000000000000000000000000000081529091506001600160a01b038316906307d7b2f990611c069084908a908a908a906004016156fe565b6040805180830381865afa158015611c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4691906157a9565b9a9950505050505050505050565b60606004805480602002602001604051908101604052809291908181526020018280548015611cac57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611c8e575b5050505050905090565b600080848484604051602001611cce93929190615495565b6040516020818303038152906040529050611cea863383613a10565b91507f9808b7d96088a8872d5a22ac23ef6914c35f2f0c2393266f8d5aed00c5f16606863333604051611d1f939291906154af565b60405180910390a150949350505050565b611d386149b5565b611d456020850185614eab565b336001600f5414611d985760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303031000000000000000000000000000000000000000000000000006044820152606401610cff565b77ffffffff000000000000000000000000000000000000000060a083901b166001600160a01b03821617600f5533600080611dd4838a8a613f30565b91509150611dec838360400151600001518984614158565b611e00838360400151602001518a84614259565b604082810151805160209182015183516001600160a01b0388168152928301919091528183015290517ff3816d9cce3442fbfe3e4d36ad047b3362efdc9f2e283e77b0ecd768a0a01ef29181900360600190a1506001600f55979650505050505050565b6000806000611e7386866111fe565b91509150816001600160a01b0316846001600160a01b031603611e9b57600192505050610c13565b600081611ed0576001600160a01b038716600090815260086020908152604080832063ffffffff8a1684529091529020611ee6565b63ffffffff86166000908152600b602052604090205b6040805180820190915281546001600160a01b0390811680835260019093015460208301529092508616148015611f21575060008160200151115b8015611f305750428160200151115b15611f415760019350505050610c13565b5060009695505050505050565b6001600160a01b038316600090815260056020526040902054839060ff16611fb85760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b6040517fd2d287f00000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063d2d287f090610d519086908690339060040161536a565b612009613e6e565b6001600160a01b038216600090815260056020526040902054829060ff166120735760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b82846001600160a01b03821615612157576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa1580156120e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061210b9190615669565b6121575760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b63ffffffff86166000908152600a60205260409020546001600160a01b0390811690861681036121c95760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303035000000000000000000000000000000000000000000000000006044820152606401610cff565b841561227a5763ffffffff87166000908152600b6020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03831617815561221f86426157c5565b600182018190556040805163ffffffff8b1681526001600160a01b038516602082015280820192909252517f55b28633cdb29709386f555dfc54418592ad475ce7a65a78ac5928af60ffb8f89181900360600190a1506122ba565b63ffffffff87166000908152600b6020526040812080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168155600101555b63ffffffff87166000818152600a602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038b8116918217909255835194855290851691840191909152908201527f9914edfad6b7eac2e388f49bae232bd0e1954fbe92f5ed1ab975fc270f27cea590606001611961565b61234d613e6e565b6001600160a01b038316612397576040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612391573d6000803e3d6000fd5b50505050565b6123ab6001600160a01b0384168383614324565b505050565b6123b8613e6e565b6001600160a01b038116600090815260056020526040902054819060ff166124225760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b81836001600160a01b03821615612506576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa158015612496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ba9190615669565b6125065760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b63ffffffff85166000908152600960205260409020546001600160a01b0390811690851681036125785760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303035000000000000000000000000000000000000000000000000006044820152606401610cff565b63ffffffff861660008181526009602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038a169081179091558251938452908301527f16aa0f528038ab41019e95bae5b418a50ba8532c5800e3b7ea2f517d3fa625f591015b60405180910390a1505050505050565b61260a6149b5565b6126176020850185614eab565b336001600f541461266a5760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303031000000000000000000000000000000000000000000000000006044820152606401610cff565b77ffffffff000000000000000000000000000000000000000060a083901b166001600160a01b03821617600f55336000806126a6838a8a613f30565b91509150611dec82604001516000015134838a6143eb565b6001600160a01b038416600090815260056020526040902054849060ff166127285760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b6040517fb8007ff60000000000000000000000000000000000000000000000000000000081526001600160a01b0386169063b8007ff6906127739033908890889088906004016157d8565b600060405180830381600087803b15801561278d57600080fd5b505af11580156127a1573d6000803e3d6000fd5b505050505050505050565b6001600160a01b038216600090815260056020526040902054829060ff16806127dc57506001600160a01b038116155b6128285760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303032000000000000000000000000000000000000000000000000006044820152606401610cff565b82846001600160a01b0382161561290c576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa15801561289c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c09190615669565b61290c5760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b33600090815260076020908152604080832063ffffffff8a1684529091529020546001600160a01b0390811690861681036129895760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303035000000000000000000000000000000000000000000000000006044820152606401610cff565b33600081815260076020908152604080832063ffffffff8c168085529083529281902080546001600160a01b038c81167fffffffffffffffffffffffff00000000000000000000000000000000000000009092168217909255825195865292850193909352918416838301526060830152517fc0833c35bb1d0beadca36bed54c7098819e109542a6d233d33c7c2039c8ec9aa9181900360800190a18415612b72576001600160a01b03811615801590612a4b57506001600160a01b03861615155b612a975760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303130000000000000000000000000000000000000000000000000006044820152606401610cff565b60006040518060400160405280836001600160a01b031681526020018742612abf91906157c5565b905233600081815260086020908152604080832063ffffffff8e1680855290835292819020855181547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039182161782558684015160019092018290558251958652928501939093529086169083015260608201529091507f661366f82fca66289bddc34462b3ab39d252b761599537d722a632d1bb066b8e9060800160405180910390a150612bbd565b33600090815260086020908152604080832063ffffffff8b168452909152812080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168155600101555b50505050505050565b6001600160a01b03808316600090815260066020908152604080832063ffffffff8616845290915281205490911690816112a45763ffffffff83166000908152600960205260409020546001600160a01b03169150816112a05760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303034000000000000000000000000000000000000000000000000006044820152606401610cff565b6001600160a01b03811660009081526002602090815260408220908290612c9190860186614eab565b63ffffffff1663ffffffff1681526020019081526020016000206000846020013581526020019081526020016000206000846040016020810190612cd5919061534d565b67ffffffffffffffff1681526020810191909152604001600020549392505050565b6001600160a01b038216600090815260056020526040902054829060ff16612d615760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b82846001600160a01b03821615612e45576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa158015612dd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612df99190615669565b612e455760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b612e4d613e6e565b83600003612e995763ffffffff86166000908152600b6020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560010155612f35565b428411612ee85760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303030000000000000000000000000000000000000000000000000006044820152606401610cff565b63ffffffff86166000908152600b6020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0387161781556001018490555b6040805163ffffffff881681526001600160a01b03871660208201529081018590527f55b28633cdb29709386f555dfc54418592ad475ce7a65a78ac5928af60ffb8f8906060016125f2565b6001600160a01b038116600090815260056020526040902054819060ff1680612fb157506001600160a01b038116155b612ffd5760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303032000000000000000000000000000000000000000000000000006044820152606401610cff565b81836001600160a01b038216156130e1576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa158015613071573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130959190615669565b6130e15760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b33600090815260066020908152604080832063ffffffff891684529091529020546001600160a01b03908116908516810361315e5760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303035000000000000000000000000000000000000000000000000006044820152606401610cff565b33600081815260066020908152604080832063ffffffff8b168085529083529281902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038b16908117909155815194855291840192909252908201527f4cff966ebee29a156dcb34cf72c1d06231fb1777f6bdf6e8089819232f002b1c906060016125f2565b6131f7613e6e565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fb8c3f77e0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015613274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132989190615669565b6132e45760405162461bcd60e51b815260206004820152600760248201527f4c5a4330303031000000000000000000000000000000000000000000000000006044820152606401610cff565b6001600160a01b03811660009081526005602052604090205460ff161561334d5760405162461bcd60e51b815260206004820152600760248201527f4c5a3830303030000000000000000000000000000000000000000000000000006044820152606401610cff565b6001600160a01b038116600081815260056020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556004805491820181559093527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905590519182527f6b374d56679ca9463f27c85c6311e2bb7fde69bf201d3da39d53f10bd9d78af5910161165c565b6134253384848461460d565b6040805163ffffffff8516815260208101849052339181019190915267ffffffffffffffff821660608201527f28f40053783033ef755556a0c3315379141f51a33aed8334174ffbadd90bde48906080016113d2565b613483613e6e565b6001600160a01b0381166134ff5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610cff565b61350881613ec8565b50565b600e5460009060609089906001600160a01b031660011461356e5760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303033000000000000000000000000000000000000000000000000006044820152606401610cff565b600e80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03838116919091179091558a81166000908152600d60209081526040808320938d1683529281528282208b835290528190205490516135dd90899089906156bb565b604051809103902081146136335760405162461bcd60e51b815260206004820152600760248201527f4c5a3630303030000000000000000000000000000000000000000000000000006044820152606401610cff565b600063d0a1026060e01b8c8b8b8b338c8c60405160240161365a979695949392919061591e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506136f15a6001600160a01b038d169034609685613985565b9095509350508315613782576001600160a01b038b81166000818152600d60209081526040808320948f168084529482528083208e84528252918290206001905581519283528201929092529081018a9052606081018290523360808201527fe8de892dbb4fd705fc4c154fd784700f6f24789e8ffea6922947d082606887949060a00160405180910390a1613864565b341561382257604051600090339034908381818185875af1925050503d80600081146137ca576040519150601f19603f3d011682016040523d82523d6000602084013e6137cf565b606091505b50509050806138205760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303030000000000000000000000000000000000000000000000000006044820152606401610cff565b505b7f8054fc0b1a2df897569746b52a49553918b57ffcedcd0a35f0e8553d5ebba6768b8b8b84338860405161385b96959493929190615972565b60405180910390a15b5050600e80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001179055909890975095505050505050565b6000806138af6010546001141590565b6138bb5760008061108e565b505060105460a081901c91565b6040517fffffffff000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060e090811b821660208401526001600160a01b038616602484015284901b166044820152604881018290526000908190606801604051602081830303815290604052905085816040516020016139649291906159be565b60405160208183030381529060405280519060200120915050949350505050565b6000606060008060008661ffff1667ffffffffffffffff8111156139ab576139ab615521565b6040519080825280601f01601f1916602001820160405280156139d5576020820181803683370190505b5090506000808751602089018b8e8ef191503d9250868311156139f6578692505b828152826000602083013e90999098509650505050505050565b600080613a206020860186614eab565b905060208501356000613a39606088016040890161534d565b6001600160a01b038716600090815260016020908152604080832063ffffffff88168452825280832086845290915290205490915067ffffffffffffffff908116908216811015613bb4576000613a9182600161532c565b90505b8267ffffffffffffffff168167ffffffffffffffff1611613b4f576001600160a01b038816600090815260026020908152604080832063ffffffff891684528252808320878452825280832067ffffffffffffffff85168452909152902054613b3f5760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303034000000000000000000000000000000000000000000000000006044820152606401610cff565b613b4881615a09565b9050613a94565b506001600160a01b038716600090815260016020908152604080832063ffffffff881684528252808320868452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff84161790555b85516020808801919091206001600160a01b038916600090815260028352604080822063ffffffff891683528452808220878352845280822067ffffffffffffffff871683529093529190912054909550808614613c545760405162461bcd60e51b815260206004820152600760248201527f4c5a3630303030000000000000000000000000000000000000000000000000006044820152606401610cff565b50506001600160a01b03909516600090815260026020908152604080832063ffffffff909516835293815283822092825291825282812067ffffffffffffffff909616815294905283209290925550919050565b6001600160a01b03811660009081526001602090815260408220908290613cd190860186614eab565b63ffffffff16815260208082019290925260409081016000908120868401358252909252908190205467ffffffffffffffff1690613d15906060860190860161534d565b67ffffffffffffffff16119392505050565b6001600160a01b038316600090815260016020908152604080832063ffffffff86168452825280832084845290915281205467ffffffffffffffff165b613d75858585610c4285600161532c565b1561131a57613d8381615a09565b9050613d64565b613d948383613ca8565b613de05760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303034000000000000000000000000000000000000000000000000006044820152606401610cff565b6001600160a01b0382166000908152600260209081526040822083929091613e0a90870187614eab565b63ffffffff1663ffffffff1681526020019081526020016000206000856020013581526020019081526020016000206000856040016020810190613e4e919061534d565b67ffffffffffffffff168152602081019190915260400160002055505050565b6000546001600160a01b031633146119d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cff565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b613f386149b5565b600080613f5686613f4c6020880188614eab565b87602001356146f3565b90506000613f6b876109c46020890189614eab565b50905060006040518060e001604052808467ffffffffffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000000063ffffffff168152602001896001600160a01b03168152602001886000016020810190613fd99190614eab565b63ffffffff16815260200188602001358152602001614010858b8b60000160208101906140069190614eab565b8c602001356138c8565b815260200161402260408a018a615a30565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452509293508815159250905080806001600160a01b038616634389e58f8661408060608f018f615a30565b886040518563ffffffff1660e01b81526004016140a09493929190615a95565b6000604051808303816000875af11580156140bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526141059190810190615b46565b9250925092507f1ab700d4ced0c005b164c0f789fd09fcbb0156d4c2041b8a3bfbcd961cd1567f82828860405161413e93929190615c0e565b60405180910390a150909a93995092975050505050505050565b8215612391577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166141d45760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303032000000000000000000000000000000000000000000000000006044820152606401610cff565b818311156142245760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303033000000000000000000000000000000000000000000000000006044820152606401610cff565b6123916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016858386614769565b821561239157600c546001600160a01b0316806142b85760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303033000000000000000000000000000000000000000000000000006044820152606401610cff565b828411156143085760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303033000000000000000000000000000000000000000000000000006044820152606401610cff565b61431d6001600160a01b038216868487614769565b5050505050565b6040516001600160a01b0383166024820152604481018290526123ab9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526147ba565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316156144625760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303031000000000000000000000000000000000000000000000000006044820152606401610cff565b828411156144b25760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303033000000000000000000000000000000000000000000000000006044820152606401610cff565b831561455d576000826001600160a01b03168560405160006040518083038185875af1925050503d8060008114614505576040519150601f19603f3d011682016040523d82523d6000602084013e61450a565b606091505b505090508061455b5760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303030000000000000000000000000000000000000000000000000006044820152606401610cff565b505b828410156123915760006001600160a01b03821661457b8686615c4d565b604051600081818185875af1925050503d80600081146145b7576040519150601f19603f3d011682016040523d82523d6000602084013e6145bc565b606091505b505090508061431d5760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303030000000000000000000000000000000000000000000000000006044820152606401610cff565b614618848484613d27565b61462390600161532c565b67ffffffffffffffff168167ffffffffffffffff16146146855760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303034000000000000000000000000000000000000000000000000006044820152606401610cff565b6001600160a01b03909316600090815260016020908152604080832063ffffffff90951683529381528382209282529190915220805467ffffffffffffffff9092167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216919091179055565b6001600160a01b038316600090815260036020908152604080832063ffffffff86168452825280832084845290915281208054829061473b9067ffffffffffffffff16615a09565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905590509392505050565b6040516001600160a01b03808516602483015283166044820152606481018290526123919085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401614369565b600061480f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166148a29092919063ffffffff16565b90508051600014806148305750808060200190518101906148309190615669565b6123ab5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610cff565b606061131a848460008585600080866001600160a01b031685876040516148c99190615c60565b60006040518083038185875af1925050503d8060008114614906576040519150601f19603f3d011682016040523d82523d6000602084013e61490b565b606091505b50915091506115e1878383876060831561498657825160000361497f576001600160a01b0385163b61497f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610cff565b508161131a565b61131a838381511561499b5781518083602001fd5b8060405162461bcd60e51b8152600401610cff9190614e3c565b604051806060016040528060008019168152602001600067ffffffffffffffff1681526020016149f8604051806040016040528060008152602001600081525090565b905290565b6001600160a01b038116811461350857600080fd5b803563ffffffff81168114614a2657600080fd5b919050565b600080600060608486031215614a4057600080fd5b8335614a4b816149fd565b9250614a5960208501614a12565b9150604084013590509250925092565b600060608284031215614a7b57600080fd5b50919050565b60008060808385031215614a9457600080fd5b614a9e8484614a69565b91506060830135614aae816149fd565b809150509250929050565b60008083601f840112614acb57600080fd5b50813567ffffffffffffffff811115614ae357600080fd5b6020830191508360208260051b85010111156112a457600080fd5b600080600060408486031215614b1357600080fd5b8335614b1e816149fd565b9250602084013567ffffffffffffffff811115614b3a57600080fd5b614b4686828701614ab9565b9497909650939450505050565b60008083601f840112614b6557600080fd5b50813567ffffffffffffffff811115614b7d57600080fd5b6020830191508360208285010111156112a457600080fd5b600080600080600080600060e0888a031215614bb057600080fd5b614bba8989614a69565b96506060880135614bca816149fd565b95506080880135945060a088013567ffffffffffffffff80821115614bee57600080fd5b614bfa8b838c01614b53565b909650945060c08a0135915080821115614c1357600080fd5b50614c208a828b01614b53565b989b979a50959850939692959293505050565b60005b83811015614c4e578181015183820152602001614c36565b50506000910152565b60008151808452614c6f816020860160208601614c33565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b821515815260406020820152600061131a6040830184614c57565b60008060008060808587031215614cd257600080fd5b8435614cdd816149fd565b93506020850135614ced816149fd565b9250614cfb60408601614a12565b9150614d0960608601614a12565b905092959194509250565b604081526000614d276040830185614c57565b905082151560208301529392505050565b60008060408385031215614d4b57600080fd5b8235614d56816149fd565b9150614d6460208401614a12565b90509250929050565b600080600060a08486031215614d8257600080fd5b614d8c8585614a69565b92506060840135614d9c816149fd565b91506080840135614dac816149fd565b809150509250925092565b600080600060a08486031215614dcc57600080fd5b614dd68585614a69565b92506060840135614de6816149fd565b929592945050506080919091013590565b600080600060608486031215614e0c57600080fd5b8335614e17816149fd565b9250614e2560208501614a12565b9150614e3360408501614a12565b90509250925092565b602081526000610c906020830184614c57565b600060208284031215614e6157600080fd5b8135610c13816149fd565b600080600060608486031215614e8157600080fd5b614e8a84614a12565b92506020840135614e9a816149fd565b929592945050506040919091013590565b600060208284031215614ebd57600080fd5b610c9082614a12565b60008060008060608587031215614edc57600080fd5b8435614ee7816149fd565b935060208501359250604085013567ffffffffffffffff811115614f0a57600080fd5b614f1687828801614b53565b95989497509550505050565b801515811461350857600080fd5b600080600080600080600060a0888a031215614f4b57600080fd5b8735614f56816149fd565b9650614f6460208901614a12565b9550604088013567ffffffffffffffff80821115614f8157600080fd5b614f8d8b838c01614b53565b909750955060608a01359150614fa282614f22565b90935060808901359080821115614c1357600080fd5b815181526020808301519082015260408101610c93565b6020808252825182820181905260009190848201906040850190845b818110156150105783516001600160a01b031683529284019291840191600101614feb565b50909695505050505050565b60008060008060a0858703121561503257600080fd5b61503c8686614a69565b935060608501359250608085013567ffffffffffffffff811115614f0a57600080fd5b600060808284031215614a7b57600080fd5b60008060006060848603121561508657600080fd5b833567ffffffffffffffff81111561509d57600080fd5b6150a98682870161505f565b9660208601359650604090950135949350505050565b60006080820190508251825267ffffffffffffffff602084015116602083015260408301516150fb604084018280518252602090810151910152565b5092915050565b60008060006060848603121561511757600080fd5b8335614e8a816149fd565b60008060006060848603121561513757600080fd5b8335615142816149fd565b925061515060208501614a12565b91506040840135614dac816149fd565b6000806040838503121561517357600080fd5b61517c83614a12565b91506020830135614aae816149fd565b6000806000606084860312156151a157600080fd5b833567ffffffffffffffff8111156151b857600080fd5b6151c48682870161505f565b935050602084013591506040840135614dac816149fd565b600080600080606085870312156151f257600080fd5b84356151fd816149fd565b935061520b60208601614a12565b9250604085013567ffffffffffffffff81111561522757600080fd5b614f1687828801614ab9565b67ffffffffffffffff8116811461350857600080fd5b60008060006060848603121561525e57600080fd5b61526784614a12565b9250602084013591506040840135614dac81615233565b600080600080600080600060a0888a03121561529957600080fd5b87356152a4816149fd565b965060208801356152b4816149fd565b955060408801359450606088013567ffffffffffffffff808211156152d857600080fd5b6152e48b838c01614b53565b909650945060808a0135915080821115614c1357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8181168382160190808211156150fb576150fb6152fd565b60006020828403121561535f57600080fd5b8135610c1381615233565b6040808252810183905260008460608301825b868110156153a85763ffffffff61539384614a12565b1682526020928301929091019060010161537d565b5080925050506001600160a01b0383166020830152949350505050565b63ffffffff6153d382614a12565b1682526020810135602083015260408101356153ee81615233565b67ffffffffffffffff81166040840152505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b61545681896153c5565b86606082015260e06080820152600061547360e083018789615403565b6001600160a01b03861660a084015282810360c0840152611c46818587615403565b838152818360208301376000910160200190815292915050565b60a081016154bd82866153c5565b6001600160a01b038085166060840152808416608084015250949350505050565b6154e881866153c5565b60006001600160a01b03808616606084015280851660808401525060c060a083015261551760c0830184614c57565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261556157600080fd5b815167ffffffffffffffff8082111561557c5761557c615521565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156155c2576155c2615521565b816040528381528660208588010111156155db57600080fd5b615517846020830160208901614c33565b600080604083850312156155ff57600080fd5b825167ffffffffffffffff81111561561657600080fd5b61562285828601615550565b9250506020830151614aae81614f22565b60c0810161564182876153c5565b6001600160a01b03808616606084015284608084015280841660a08401525095945050505050565b60006020828403121561567b57600080fd5b8151610c1381614f22565b60006020828403121561569857600080fd5b815167ffffffffffffffff8111156156af57600080fd5b61131a84828501615550565b8183823760009101908152919050565b60006001600160a01b038088168352808716602084015250846040830152608060608301526115e1608083018486615403565b606081526001600160a01b03855116606082015263ffffffff602086015116608082015260006040860151606060a084015261573d60c0840182614c57565b9050851515602084015282810360408401526115e1818587615403565b60006040828403121561576c57600080fd5b6040516040810181811067ffffffffffffffff8211171561578f5761578f615521565b604052825181526020928301519281019290925250919050565b6000604082840312156157bb57600080fd5b610c90838361575a565b80820180821115610c9357610c936152fd565b6000606082016001600160a01b0387168352602063ffffffff8088168286015260406060818701528387855260808701905060808860051b88010194508860005b8981101561590d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8089880301835281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c360301811261587a57600080fd5b8b018561588682614a12565b168852868101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181126158bd57600080fd5b01868101903567ffffffffffffffff8111156158d857600080fd5b8036038213156158e757600080fd5b85888a01526158f9868a018284615403565b985050509185019190850190600101615819565b50949b9a5050505050505050505050565b60006001600160a01b03808a16835288602084015260a0604084015261594860a08401888a615403565b81871660608501528381036080850152615963818688615403565b9b9a5050505050505050505050565b60006001600160a01b038089168352808816602084015286604084015285606084015280851660808401525060c060a08301526159b260c0830184614c57565b98975050505050505050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008360c01b168152600082516159fb816008850160208701614c33565b919091016008019392505050565b600067ffffffffffffffff808316818103615a2657615a266152fd565b6001019392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615a6557600080fd5b83018035915067ffffffffffffffff821115615a8057600080fd5b6020019150368190038213156112a457600080fd5b6060815267ffffffffffffffff855116606082015263ffffffff60208601511660808201526001600160a01b0360408601511660a082015260006060860151615ae660c084018263ffffffff169052565b50608086015160e083015260a086015161010083015260c086015160e0610120840152615b17610140840182614c57565b90508281036020840152615b2c818688615403565b915050615b3d604083018415159052565b95945050505050565b600080600083850360c0811215615b5c57600080fd5b6080811215615b6a57600080fd5b506040516060810167ffffffffffffffff8282108183111715615b8f57615b8f615521565b816040528651835260208701519150615ba782615233565b816020840152615bba886040890161575a565b6040840152608087015192955080831115615bd457600080fd5b615be088848901615550565b945060a0870151925080831115615bf657600080fd5b5050615c0486828701615550565b9150509250925092565b606081526000615c216060830186614c57565b8281036020840152615c338186614c57565b9150506001600160a01b0383166040830152949350505050565b81810381811115610c9357610c936152fd565b60008251615c72818460208701614c33565b919091019291505056fea26469706673582212209684b845f949f6267b62dbd062bb58a67cfbeaf5b5e1a09a941e6435cffb98ba64736f6c63430008120033",
2018
+ "deployedBytecode": "0x6080604052600436106103495760003560e01c80639132e5c3116101bb578063b96a277f116100f7578063ef57458d11610095578063f405c8591161006f578063f405c85914610b27578063f64be4c714610b3a578063f936112b14610b70578063fd894a5314610ba357600080fd5b8063ef57458d14610a99578063ef667aa114610abc578063f2fde38b14610b0757600080fd5b8063dc706a62116100d1578063dc706a6214610a09578063e16f964d14610a39578063e8964e8114610a59578063eaeacd6314610a7957600080fd5b8063b96a277f146109a9578063ce3cac0e146109c9578063d4b4ec8f146109e957600080fd5b80639e7fffcc11610164578063aafea3121161013e578063aafea31214610936578063aca1b45a14610956578063b8007ff614610969578063b8849ac91461098957600080fd5b80639e7fffcc146108d6578063a718531b146108f6578063a7229fd91461091657600080fd5b80639b86cb4d116101955780639b86cb4d1461081a5780639c9dd91d146108785780639d7f9775146108b657600080fd5b80639132e5c3146107ab578063965183d4146107cd5780639731526b146107ed57600080fd5b806351c85b6b1161028a5780636f50a80311610233578063754d3b9c1161020d578063754d3b9c1461072757806379624ca91461074757806383c47559146107605780638da5cb5b1461078d57600080fd5b80636f50a803146106a8578063715018a6146106de57806373318091146106f357600080fd5b80636750cd4c116102645780636750cd4c1461061057806369e55fb8146106305780636e83f5bb1461064957600080fd5b806351c85b6b146105a357806352d3b500146105d057806366bf43d6146105f057600080fd5b80632b3197b9116102f7578063416ecebf116102d1578063416ecebf146104e1578063418ba3511461052a578063447605761461054a57806345c6dcc41461058357600080fd5b80632b3197b91461045f5780633fa446751461048d578063402f8468146104a257600080fd5b806307b9ca7c1161032857806307b9ca7c146103d35780630c0c389e1461040557806314f651a91461042657600080fd5b80624afd471461034e57806303719a84146103815780630678327f146103b1575b600080fd5b34801561035a57600080fd5b5061036e610369366004614a2b565b610bb8565b6040519081526020015b60405180910390f35b34801561038d57600080fd5b506103a161039c366004614a81565b610c1a565b6040519015158152602001610378565b3480156103bd57600080fd5b506103d16103cc366004614afe565b610c99565b005b3480156103df57600080fd5b50600c546001600160a01b03165b6040516001600160a01b039091168152602001610378565b610418610413366004614b95565b610d89565b604051610378929190614ca1565b34801561043257600080fd5b5061043b611067565b6040805163ffffffff90931683526001600160a01b03909116602083015201610378565b34801561046b57600080fd5b5061047f61047a366004614cbc565b611096565b604051610378929190614d14565b34801561049957600080fd5b506103ed6111cc565b3480156104ae57600080fd5b506104c26104bd366004614d38565b6111fe565b604080516001600160a01b039093168352901515602083015201610378565b3480156104ed57600080fd5b506105157f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610378565b34801561053657600080fd5b506103a1610545366004614d6d565b6112ab565b34801561055657600080fd5b5061056a610565366004614a2b565b611322565b60405167ffffffffffffffff9091168152602001610378565b34801561058f57600080fd5b506103d161059e366004614db7565b61132f565b3480156105af57600080fd5b506105c36105be366004614df7565b6113df565b6040516103789190614e3c565b3480156105dc57600080fd5b506103d16105eb366004614e4f565b6115ec565b3480156105fc57600080fd5b506103d161060b366004614e6c565b611667565b34801561061c57600080fd5b506103a161062b366004614eab565b611972565b34801561063c57600080fd5b50601054600114156103a1565b34801561065557600080fd5b50610689610664366004614eab565b600b60205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b039093168352602083019190915201610378565b3480156106b457600080fd5b506103ed6106c3366004614eab565b600a602052600090815260409020546001600160a01b031681565b3480156106ea57600080fd5b506103d16119be565b3480156106ff57600080fd5b506103ed7f000000000000000000000000000000000000000000000000000000000000000081565b34801561073357600080fd5b506103d1610742366004614ec6565b6119d2565b34801561075357600080fd5b50600f54600114156103a1565b34801561076c57600080fd5b5061078061077b366004614f30565b611ad2565b6040516103789190614fb8565b34801561079957600080fd5b506000546001600160a01b03166103ed565b3480156107b757600080fd5b506107c0611c54565b6040516103789190614fcf565b3480156107d957600080fd5b5061036e6107e836600461501c565b611cb6565b3480156107f957600080fd5b5061080d610808366004615071565b611d30565b60405161037891906150bf565b34801561082657600080fd5b5061056a610835366004614a2b565b6001600160a01b038316600090815260036020908152604080832063ffffffff86168452825280832084845290915290205467ffffffffffffffff169392505050565b34801561088457600080fd5b5061036e610893366004615102565b600d60209081526000938452604080852082529284528284209052825290205481565b3480156108c257600080fd5b506103a16108d1366004615122565b611e64565b3480156108e257600080fd5b506103d16108f1366004614afe565b611f4e565b34801561090257600080fd5b506103d1610911366004614e6c565b612001565b34801561092257600080fd5b506103d1610931366004615102565b612345565b34801561094257600080fd5b506103d1610951366004615160565b6123b0565b61080d61096436600461518c565b612602565b34801561097557600080fd5b506103d16109843660046151dc565b6126be565b34801561099557600080fd5b506103d16109a4366004614e6c565b6127ac565b3480156109b557600080fd5b506104c26109c4366004614d38565b612bc6565b3480156109d557600080fd5b5061036e6109e4366004614a81565b612c68565b3480156109f557600080fd5b506103d1610a04366004614e6c565b612cf7565b348015610a1557600080fd5b506103a1610a24366004614e4f565b60056020526000908152604090205460ff1681565b348015610a4557600080fd5b506103d1610a54366004615160565b612f81565b348015610a6557600080fd5b506103d1610a74366004614e4f565b6131ef565b348015610a8557600080fd5b506103d1610a94366004615249565b613419565b348015610aa557600080fd5b506103a1600e546001600160a01b03166001141590565b348015610ac857600080fd5b50610689610ad7366004614d38565b6008602090815260009283526040808420909152908252902080546001909101546001600160a01b039091169082565b348015610b1357600080fd5b506103d1610b22366004614e4f565b61347b565b610418610b3536600461527e565b61350b565b348015610b4657600080fd5b506103ed610b55366004614eab565b6009602052600090815260409020546001600160a01b031681565b348015610b7c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103ed565b348015610baf57600080fd5b5061043b61389f565b6001600160a01b038316600090815260036020908152604080832063ffffffff8616845282528083208484529091528120548190610c019067ffffffffffffffff16600161532c565b9050610c0f818686866138c8565b9150505b9392505050565b6000610c9082610c2d6020860186614eab565b6020860135610c42606088016040890161534d565b6001600160a01b038416600090815260026020908152604080832063ffffffff871684528252808320858452825280832067ffffffffffffffff851684529091529020541515949350505050565b90505b92915050565b6001600160a01b038316600090815260056020526040902054839060ff16610d085760405162461bcd60e51b815260206004820152600760248201527f4c5a31303030310000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6040517f1c63e3b60000000000000000000000000000000000000000000000000000000081526001600160a01b03851690631c63e3b690610d519086908690339060040161536a565b600060405180830381600087803b158015610d6b57600080fd5b505af1158015610d7f573d6000803e3d6000fd5b5050505050505050565b60006060610d9a60208a018a614eab565b88600160105414610ded5760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303032000000000000000000000000000000000000000000000000006044820152606401610cff565b77ffffffff000000000000000000000000000000000000000060a083901b166001600160a01b038216176010556040516000907f13137d650000000000000000000000000000000000000000000000000000000090610e5c908e908d908d908d9033908e908e9060240161544c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050610ef35a6001600160a01b038d169034609685613985565b9095509350508315610f74576000898989604051602001610f1693929190615495565b6040516020818303038152906040529050610f328c8c83613a10565b507f9808b7d96088a8872d5a22ac23ef6914c35f2f0c2393266f8d5aed00c5f166068c8c33604051610f66939291906154af565b60405180910390a150611052565b341561101457604051600090339034908381818185875af1925050503d8060008114610fbc576040519150601f19603f3d011682016040523d82523d6000602084013e610fc1565b606091505b50509050806110125760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303030000000000000000000000000000000000000000000000000006044820152606401610cff565b505b7f5f36cc57ed48e4b998e0ae0107830e550ebfd81dff305f8ab5c1ca624464f1f28b8b338660405161104994939291906154de565b60405180910390a15b50506001601055909890975095505050505050565b600080611077600f546001141590565b6110835760008061108e565b60a0600f54901c600f545b915091509091565b6001600160a01b03831660009081526005602052604081205460609190859060ff166111045760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b6040517f9c33abf700000000000000000000000000000000000000000000000000000000815263ffffffff80871660048301526001600160a01b0389811660248401529086166044830152871690639c33abf790606401600060405180830381865afa158015611178573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526111be91908101906155ec565b925092505094509492505050565b60006111e4600e546001600160a01b03166001141590565b6111ee5750600090565b50600e546001600160a01b031690565b6001600160a01b03808316600090815260076020908152604080832063ffffffff8616845290915281205490911690816112a45763ffffffff83166000908152600a60205260409020546001600160a01b03169150816112a05760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303034000000000000000000000000000000000000000000000000006044820152606401610cff565b5060015b9250929050565b60006112c4826112be6020870187614eab565b85611e64565b6113105760405162461bcd60e51b815260206004820152600760248201527f4c5a3530303030000000000000000000000000000000000000000000000000006044820152606401610cff565b61131a8483613ca8565b949350505050565b600061131a848484613d27565b611346826113406020860186614eab565b33611e64565b6113925760405162461bcd60e51b815260206004820152600760248201527f4c5a3530303030000000000000000000000000000000000000000000000000006044820152606401610cff565b61139d838383613d8a565b7f6f3339aff819ce511cfb1094545c3db99dc7f490fe40518933c129a17c538322838383336040516113d29493929190615633565b60405180910390a1505050565b6001600160a01b038316600090815260056020526040902054606090849060ff1661144c5760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b84846001600160a01b03821615611530576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190615669565b6115305760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b6040517f690c655500000000000000000000000000000000000000000000000000000000815263ffffffff8088166004830152861660248201526001600160a01b0388169063690c655590604401600060405180830381865afa15801561159b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115e19190810190615686565b979650505050505050565b6115f4613e6e565b600c80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383161790556040516001600160a01b03821681527ff66b6c5fcba13210e695e203c62d584c85a4193f8a279598609bb6af760b17c1906020015b60405180910390a150565b6001600160a01b038216600090815260056020526040902054829060ff166116d15760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b82846001600160a01b038216156117b5576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa158015611745573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117699190615669565b6117b55760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b60006117c133886111fe565b91505080156118125760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303130000000000000000000000000000000000000000000000000006044820152606401610cff565b846000036118695733600090815260086020908152604080832063ffffffff8b168452909152812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560010155611910565b4285116118b85760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303030000000000000000000000000000000000000000000000000006044820152606401610cff565b33600090815260086020908152604080832063ffffffff8b168452909152902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0388161781556001018590555b6040805133815263ffffffff891660208201526001600160a01b03881691810191909152606081018690527f661366f82fca66289bddc34462b3ab39d252b761599537d722a632d1bb066b8e906080015b60405180910390a150505050505050565b63ffffffff81166000908152600960205260408120546001600160a01b031615801590610c9357505063ffffffff166000908152600a60205260409020546001600160a01b0316151590565b6119c6613e6e565b6119d06000613ec8565b565b336000908152600d602090815260408083206001600160a01b0388168452825280832086845290915290205415611a4b5760405162461bcd60e51b815260206004820152600760248201527f4c5a3830303030000000000000000000000000000000000000000000000000006044820152606401610cff565b8181604051611a5b9291906156bb565b60408051918290038220336000818152600d60209081528482206001600160a01b038b1683528152848220898352905292909220557f7c0503be82d6ab0d4ea200b69f9930b82aec3c92ed138ed1a28f60cd9c3626db91611ac4919087908790879087906156cb565b60405180910390a150505050565b6040805180820190915260008082526020820152831580611afd5750600c546001600160a01b031615155b611b495760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303033000000000000000000000000000000000000000000000000006044820152606401610cff565b6000611b558989612bc6565b509050600060405180606001604052808b6001600160a01b031681526020018a63ffffffff16815260200189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517f07d7b2f90000000000000000000000000000000000000000000000000000000081529091506001600160a01b038316906307d7b2f990611c069084908a908a908a906004016156fe565b6040805180830381865afa158015611c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4691906157a9565b9a9950505050505050505050565b60606004805480602002602001604051908101604052809291908181526020018280548015611cac57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611c8e575b5050505050905090565b600080848484604051602001611cce93929190615495565b6040516020818303038152906040529050611cea863383613a10565b91507f9808b7d96088a8872d5a22ac23ef6914c35f2f0c2393266f8d5aed00c5f16606863333604051611d1f939291906154af565b60405180910390a150949350505050565b611d386149b5565b611d456020850185614eab565b336001600f5414611d985760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303031000000000000000000000000000000000000000000000000006044820152606401610cff565b77ffffffff000000000000000000000000000000000000000060a083901b166001600160a01b03821617600f5533600080611dd4838a8a613f30565b91509150611dec838360400151600001518984614158565b611e00838360400151602001518a84614259565b604082810151805160209182015183516001600160a01b0388168152928301919091528183015290517ff3816d9cce3442fbfe3e4d36ad047b3362efdc9f2e283e77b0ecd768a0a01ef29181900360600190a1506001600f55979650505050505050565b6000806000611e7386866111fe565b91509150816001600160a01b0316846001600160a01b031603611e9b57600192505050610c13565b600081611ed0576001600160a01b038716600090815260086020908152604080832063ffffffff8a1684529091529020611ee6565b63ffffffff86166000908152600b602052604090205b6040805180820190915281546001600160a01b0390811680835260019093015460208301529092508616148015611f21575060008160200151115b8015611f305750428160200151115b15611f415760019350505050610c13565b5060009695505050505050565b6001600160a01b038316600090815260056020526040902054839060ff16611fb85760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b6040517fd2d287f00000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063d2d287f090610d519086908690339060040161536a565b612009613e6e565b6001600160a01b038216600090815260056020526040902054829060ff166120735760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b82846001600160a01b03821615612157576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa1580156120e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061210b9190615669565b6121575760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b63ffffffff86166000908152600a60205260409020546001600160a01b0390811690861681036121c95760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303035000000000000000000000000000000000000000000000000006044820152606401610cff565b841561227a5763ffffffff87166000908152600b6020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03831617815561221f86426157c5565b600182018190556040805163ffffffff8b1681526001600160a01b038516602082015280820192909252517f55b28633cdb29709386f555dfc54418592ad475ce7a65a78ac5928af60ffb8f89181900360600190a1506122ba565b63ffffffff87166000908152600b6020526040812080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168155600101555b63ffffffff87166000818152600a602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038b8116918217909255835194855290851691840191909152908201527f9914edfad6b7eac2e388f49bae232bd0e1954fbe92f5ed1ab975fc270f27cea590606001611961565b61234d613e6e565b6001600160a01b038316612397576040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612391573d6000803e3d6000fd5b50505050565b6123ab6001600160a01b0384168383614324565b505050565b6123b8613e6e565b6001600160a01b038116600090815260056020526040902054819060ff166124225760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b81836001600160a01b03821615612506576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa158015612496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ba9190615669565b6125065760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b63ffffffff85166000908152600960205260409020546001600160a01b0390811690851681036125785760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303035000000000000000000000000000000000000000000000000006044820152606401610cff565b63ffffffff861660008181526009602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038a169081179091558251938452908301527f16aa0f528038ab41019e95bae5b418a50ba8532c5800e3b7ea2f517d3fa625f591015b60405180910390a1505050505050565b61260a6149b5565b6126176020850185614eab565b336001600f541461266a5760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303031000000000000000000000000000000000000000000000000006044820152606401610cff565b77ffffffff000000000000000000000000000000000000000060a083901b166001600160a01b03821617600f55336000806126a6838a8a613f30565b91509150611dec82604001516000015134838a6143eb565b6001600160a01b038416600090815260056020526040902054849060ff166127285760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b6040517fb8007ff60000000000000000000000000000000000000000000000000000000081526001600160a01b0386169063b8007ff6906127739033908890889088906004016157d8565b600060405180830381600087803b15801561278d57600080fd5b505af11580156127a1573d6000803e3d6000fd5b505050505050505050565b6001600160a01b038216600090815260056020526040902054829060ff16806127dc57506001600160a01b038116155b6128285760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303032000000000000000000000000000000000000000000000000006044820152606401610cff565b82846001600160a01b0382161561290c576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa15801561289c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c09190615669565b61290c5760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b33600090815260076020908152604080832063ffffffff8a1684529091529020546001600160a01b0390811690861681036129895760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303035000000000000000000000000000000000000000000000000006044820152606401610cff565b33600081815260076020908152604080832063ffffffff8c168085529083529281902080546001600160a01b038c81167fffffffffffffffffffffffff00000000000000000000000000000000000000009092168217909255825195865292850193909352918416838301526060830152517fc0833c35bb1d0beadca36bed54c7098819e109542a6d233d33c7c2039c8ec9aa9181900360800190a18415612b72576001600160a01b03811615801590612a4b57506001600160a01b03861615155b612a975760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303130000000000000000000000000000000000000000000000000006044820152606401610cff565b60006040518060400160405280836001600160a01b031681526020018742612abf91906157c5565b905233600081815260086020908152604080832063ffffffff8e1680855290835292819020855181547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039182161782558684015160019092018290558251958652928501939093529086169083015260608201529091507f661366f82fca66289bddc34462b3ab39d252b761599537d722a632d1bb066b8e9060800160405180910390a150612bbd565b33600090815260086020908152604080832063ffffffff8b168452909152812080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168155600101555b50505050505050565b6001600160a01b03808316600090815260066020908152604080832063ffffffff8616845290915281205490911690816112a45763ffffffff83166000908152600960205260409020546001600160a01b03169150816112a05760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303034000000000000000000000000000000000000000000000000006044820152606401610cff565b6001600160a01b03811660009081526002602090815260408220908290612c9190860186614eab565b63ffffffff1663ffffffff1681526020019081526020016000206000846020013581526020019081526020016000206000846040016020810190612cd5919061534d565b67ffffffffffffffff1681526020810191909152604001600020549392505050565b6001600160a01b038216600090815260056020526040902054829060ff16612d615760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303031000000000000000000000000000000000000000000000000006044820152606401610cff565b82846001600160a01b03821615612e45576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa158015612dd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612df99190615669565b612e455760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b612e4d613e6e565b83600003612e995763ffffffff86166000908152600b6020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560010155612f35565b428411612ee85760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303030000000000000000000000000000000000000000000000000006044820152606401610cff565b63ffffffff86166000908152600b6020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0387161781556001018490555b6040805163ffffffff881681526001600160a01b03871660208201529081018590527f55b28633cdb29709386f555dfc54418592ad475ce7a65a78ac5928af60ffb8f8906060016125f2565b6001600160a01b038116600090815260056020526040902054819060ff1680612fb157506001600160a01b038116155b612ffd5760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303032000000000000000000000000000000000000000000000000006044820152606401610cff565b81836001600160a01b038216156130e1576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa158015613071573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130959190615669565b6130e15760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303038000000000000000000000000000000000000000000000000006044820152606401610cff565b33600090815260066020908152604080832063ffffffff891684529091529020546001600160a01b03908116908516810361315e5760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303035000000000000000000000000000000000000000000000000006044820152606401610cff565b33600081815260066020908152604080832063ffffffff8b168085529083529281902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038b16908117909155815194855291840192909252908201527f4cff966ebee29a156dcb34cf72c1d06231fb1777f6bdf6e8089819232f002b1c906060016125f2565b6131f7613e6e565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fb8c3f77e0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015613274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132989190615669565b6132e45760405162461bcd60e51b815260206004820152600760248201527f4c5a4330303031000000000000000000000000000000000000000000000000006044820152606401610cff565b6001600160a01b03811660009081526005602052604090205460ff161561334d5760405162461bcd60e51b815260206004820152600760248201527f4c5a3830303030000000000000000000000000000000000000000000000000006044820152606401610cff565b6001600160a01b038116600081815260056020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556004805491820181559093527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905590519182527f6b374d56679ca9463f27c85c6311e2bb7fde69bf201d3da39d53f10bd9d78af5910161165c565b6134253384848461460d565b6040805163ffffffff8516815260208101849052339181019190915267ffffffffffffffff821660608201527f28f40053783033ef755556a0c3315379141f51a33aed8334174ffbadd90bde48906080016113d2565b613483613e6e565b6001600160a01b0381166134ff5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610cff565b61350881613ec8565b50565b600e5460009060609089906001600160a01b031660011461356e5760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303033000000000000000000000000000000000000000000000000006044820152606401610cff565b600e80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03838116919091179091558a81166000908152600d60209081526040808320938d1683529281528282208b835290528190205490516135dd90899089906156bb565b604051809103902081146136335760405162461bcd60e51b815260206004820152600760248201527f4c5a3630303030000000000000000000000000000000000000000000000000006044820152606401610cff565b600063d0a1026060e01b8c8b8b8b338c8c60405160240161365a979695949392919061591e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506136f15a6001600160a01b038d169034609685613985565b9095509350508315613782576001600160a01b038b81166000818152600d60209081526040808320948f168084529482528083208e84528252918290206001905581519283528201929092529081018a9052606081018290523360808201527fe8de892dbb4fd705fc4c154fd784700f6f24789e8ffea6922947d082606887949060a00160405180910390a1613864565b341561382257604051600090339034908381818185875af1925050503d80600081146137ca576040519150601f19603f3d011682016040523d82523d6000602084013e6137cf565b606091505b50509050806138205760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303030000000000000000000000000000000000000000000000000006044820152606401610cff565b505b7f8054fc0b1a2df897569746b52a49553918b57ffcedcd0a35f0e8553d5ebba6768b8b8b84338860405161385b96959493929190615972565b60405180910390a15b5050600e80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001179055909890975095505050505050565b6000806138af6010546001141590565b6138bb5760008061108e565b505060105460a081901c91565b6040517fffffffff000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060e090811b821660208401526001600160a01b038616602484015284901b166044820152604881018290526000908190606801604051602081830303815290604052905085816040516020016139649291906159be565b60405160208183030381529060405280519060200120915050949350505050565b6000606060008060008661ffff1667ffffffffffffffff8111156139ab576139ab615521565b6040519080825280601f01601f1916602001820160405280156139d5576020820181803683370190505b5090506000808751602089018b8e8ef191503d9250868311156139f6578692505b828152826000602083013e90999098509650505050505050565b600080613a206020860186614eab565b905060208501356000613a39606088016040890161534d565b6001600160a01b038716600090815260016020908152604080832063ffffffff88168452825280832086845290915290205490915067ffffffffffffffff908116908216811015613bb4576000613a9182600161532c565b90505b8267ffffffffffffffff168167ffffffffffffffff1611613b4f576001600160a01b038816600090815260026020908152604080832063ffffffff891684528252808320878452825280832067ffffffffffffffff85168452909152902054613b3f5760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303034000000000000000000000000000000000000000000000000006044820152606401610cff565b613b4881615a09565b9050613a94565b506001600160a01b038716600090815260016020908152604080832063ffffffff881684528252808320868452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff84161790555b85516020808801919091206001600160a01b038916600090815260028352604080822063ffffffff891683528452808220878352845280822067ffffffffffffffff871683529093529190912054909550808614613c545760405162461bcd60e51b815260206004820152600760248201527f4c5a3630303030000000000000000000000000000000000000000000000000006044820152606401610cff565b50506001600160a01b03909516600090815260026020908152604080832063ffffffff909516835293815283822092825291825282812067ffffffffffffffff909616815294905283209290925550919050565b6001600160a01b03811660009081526001602090815260408220908290613cd190860186614eab565b63ffffffff16815260208082019290925260409081016000908120868401358252909252908190205467ffffffffffffffff1690613d15906060860190860161534d565b67ffffffffffffffff16119392505050565b6001600160a01b038316600090815260016020908152604080832063ffffffff86168452825280832084845290915281205467ffffffffffffffff165b613d75858585610c4285600161532c565b1561131a57613d8381615a09565b9050613d64565b613d948383613ca8565b613de05760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303034000000000000000000000000000000000000000000000000006044820152606401610cff565b6001600160a01b0382166000908152600260209081526040822083929091613e0a90870187614eab565b63ffffffff1663ffffffff1681526020019081526020016000206000856020013581526020019081526020016000206000856040016020810190613e4e919061534d565b67ffffffffffffffff168152602081019190915260400160002055505050565b6000546001600160a01b031633146119d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cff565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b613f386149b5565b600080613f5686613f4c6020880188614eab565b87602001356146f3565b90506000613f6b876109c46020890189614eab565b50905060006040518060e001604052808467ffffffffffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000000063ffffffff168152602001896001600160a01b03168152602001886000016020810190613fd99190614eab565b63ffffffff16815260200188602001358152602001614010858b8b60000160208101906140069190614eab565b8c602001356138c8565b815260200161402260408a018a615a30565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452509293508815159250905080806001600160a01b038616634389e58f8661408060608f018f615a30565b886040518563ffffffff1660e01b81526004016140a09493929190615a95565b6000604051808303816000875af11580156140bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526141059190810190615b46565b9250925092507f1ab700d4ced0c005b164c0f789fd09fcbb0156d4c2041b8a3bfbcd961cd1567f82828860405161413e93929190615c0e565b60405180910390a150909a93995092975050505050505050565b8215612391577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166141d45760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303032000000000000000000000000000000000000000000000000006044820152606401610cff565b818311156142245760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303033000000000000000000000000000000000000000000000000006044820152606401610cff565b6123916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016858386614769565b821561239157600c546001600160a01b0316806142b85760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303033000000000000000000000000000000000000000000000000006044820152606401610cff565b828411156143085760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303033000000000000000000000000000000000000000000000000006044820152606401610cff565b61431d6001600160a01b038216868487614769565b5050505050565b6040516001600160a01b0383166024820152604481018290526123ab9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526147ba565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316156144625760405162461bcd60e51b815260206004820152600760248201527f4c5a4430303031000000000000000000000000000000000000000000000000006044820152606401610cff565b828411156144b25760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303033000000000000000000000000000000000000000000000000006044820152606401610cff565b831561455d576000826001600160a01b03168560405160006040518083038185875af1925050503d8060008114614505576040519150601f19603f3d011682016040523d82523d6000602084013e61450a565b606091505b505090508061455b5760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303030000000000000000000000000000000000000000000000000006044820152606401610cff565b505b828410156123915760006001600160a01b03821661457b8686615c4d565b604051600081818185875af1925050503d80600081146145b7576040519150601f19603f3d011682016040523d82523d6000602084013e6145bc565b606091505b505090508061431d5760405162461bcd60e51b815260206004820152600760248201527f4c5a3330303030000000000000000000000000000000000000000000000000006044820152606401610cff565b614618848484613d27565b61462390600161532c565b67ffffffffffffffff168167ffffffffffffffff16146146855760405162461bcd60e51b815260206004820152600760248201527f4c5a3130303034000000000000000000000000000000000000000000000000006044820152606401610cff565b6001600160a01b03909316600090815260016020908152604080832063ffffffff90951683529381528382209282529190915220805467ffffffffffffffff9092167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216919091179055565b6001600160a01b038316600090815260036020908152604080832063ffffffff86168452825280832084845290915281208054829061473b9067ffffffffffffffff16615a09565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905590509392505050565b6040516001600160a01b03808516602483015283166044820152606481018290526123919085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401614369565b600061480f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166148a29092919063ffffffff16565b90508051600014806148305750808060200190518101906148309190615669565b6123ab5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610cff565b606061131a848460008585600080866001600160a01b031685876040516148c99190615c60565b60006040518083038185875af1925050503d8060008114614906576040519150601f19603f3d011682016040523d82523d6000602084013e61490b565b606091505b50915091506115e1878383876060831561498657825160000361497f576001600160a01b0385163b61497f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610cff565b508161131a565b61131a838381511561499b5781518083602001fd5b8060405162461bcd60e51b8152600401610cff9190614e3c565b604051806060016040528060008019168152602001600067ffffffffffffffff1681526020016149f8604051806040016040528060008152602001600081525090565b905290565b6001600160a01b038116811461350857600080fd5b803563ffffffff81168114614a2657600080fd5b919050565b600080600060608486031215614a4057600080fd5b8335614a4b816149fd565b9250614a5960208501614a12565b9150604084013590509250925092565b600060608284031215614a7b57600080fd5b50919050565b60008060808385031215614a9457600080fd5b614a9e8484614a69565b91506060830135614aae816149fd565b809150509250929050565b60008083601f840112614acb57600080fd5b50813567ffffffffffffffff811115614ae357600080fd5b6020830191508360208260051b85010111156112a457600080fd5b600080600060408486031215614b1357600080fd5b8335614b1e816149fd565b9250602084013567ffffffffffffffff811115614b3a57600080fd5b614b4686828701614ab9565b9497909650939450505050565b60008083601f840112614b6557600080fd5b50813567ffffffffffffffff811115614b7d57600080fd5b6020830191508360208285010111156112a457600080fd5b600080600080600080600060e0888a031215614bb057600080fd5b614bba8989614a69565b96506060880135614bca816149fd565b95506080880135945060a088013567ffffffffffffffff80821115614bee57600080fd5b614bfa8b838c01614b53565b909650945060c08a0135915080821115614c1357600080fd5b50614c208a828b01614b53565b989b979a50959850939692959293505050565b60005b83811015614c4e578181015183820152602001614c36565b50506000910152565b60008151808452614c6f816020860160208601614c33565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b821515815260406020820152600061131a6040830184614c57565b60008060008060808587031215614cd257600080fd5b8435614cdd816149fd565b93506020850135614ced816149fd565b9250614cfb60408601614a12565b9150614d0960608601614a12565b905092959194509250565b604081526000614d276040830185614c57565b905082151560208301529392505050565b60008060408385031215614d4b57600080fd5b8235614d56816149fd565b9150614d6460208401614a12565b90509250929050565b600080600060a08486031215614d8257600080fd5b614d8c8585614a69565b92506060840135614d9c816149fd565b91506080840135614dac816149fd565b809150509250925092565b600080600060a08486031215614dcc57600080fd5b614dd68585614a69565b92506060840135614de6816149fd565b929592945050506080919091013590565b600080600060608486031215614e0c57600080fd5b8335614e17816149fd565b9250614e2560208501614a12565b9150614e3360408501614a12565b90509250925092565b602081526000610c906020830184614c57565b600060208284031215614e6157600080fd5b8135610c13816149fd565b600080600060608486031215614e8157600080fd5b614e8a84614a12565b92506020840135614e9a816149fd565b929592945050506040919091013590565b600060208284031215614ebd57600080fd5b610c9082614a12565b60008060008060608587031215614edc57600080fd5b8435614ee7816149fd565b935060208501359250604085013567ffffffffffffffff811115614f0a57600080fd5b614f1687828801614b53565b95989497509550505050565b801515811461350857600080fd5b600080600080600080600060a0888a031215614f4b57600080fd5b8735614f56816149fd565b9650614f6460208901614a12565b9550604088013567ffffffffffffffff80821115614f8157600080fd5b614f8d8b838c01614b53565b909750955060608a01359150614fa282614f22565b90935060808901359080821115614c1357600080fd5b815181526020808301519082015260408101610c93565b6020808252825182820181905260009190848201906040850190845b818110156150105783516001600160a01b031683529284019291840191600101614feb565b50909695505050505050565b60008060008060a0858703121561503257600080fd5b61503c8686614a69565b935060608501359250608085013567ffffffffffffffff811115614f0a57600080fd5b600060808284031215614a7b57600080fd5b60008060006060848603121561508657600080fd5b833567ffffffffffffffff81111561509d57600080fd5b6150a98682870161505f565b9660208601359650604090950135949350505050565b60006080820190508251825267ffffffffffffffff602084015116602083015260408301516150fb604084018280518252602090810151910152565b5092915050565b60008060006060848603121561511757600080fd5b8335614e8a816149fd565b60008060006060848603121561513757600080fd5b8335615142816149fd565b925061515060208501614a12565b91506040840135614dac816149fd565b6000806040838503121561517357600080fd5b61517c83614a12565b91506020830135614aae816149fd565b6000806000606084860312156151a157600080fd5b833567ffffffffffffffff8111156151b857600080fd5b6151c48682870161505f565b935050602084013591506040840135614dac816149fd565b600080600080606085870312156151f257600080fd5b84356151fd816149fd565b935061520b60208601614a12565b9250604085013567ffffffffffffffff81111561522757600080fd5b614f1687828801614ab9565b67ffffffffffffffff8116811461350857600080fd5b60008060006060848603121561525e57600080fd5b61526784614a12565b9250602084013591506040840135614dac81615233565b600080600080600080600060a0888a03121561529957600080fd5b87356152a4816149fd565b965060208801356152b4816149fd565b955060408801359450606088013567ffffffffffffffff808211156152d857600080fd5b6152e48b838c01614b53565b909650945060808a0135915080821115614c1357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8181168382160190808211156150fb576150fb6152fd565b60006020828403121561535f57600080fd5b8135610c1381615233565b6040808252810183905260008460608301825b868110156153a85763ffffffff61539384614a12565b1682526020928301929091019060010161537d565b5080925050506001600160a01b0383166020830152949350505050565b63ffffffff6153d382614a12565b1682526020810135602083015260408101356153ee81615233565b67ffffffffffffffff81166040840152505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b61545681896153c5565b86606082015260e06080820152600061547360e083018789615403565b6001600160a01b03861660a084015282810360c0840152611c46818587615403565b838152818360208301376000910160200190815292915050565b60a081016154bd82866153c5565b6001600160a01b038085166060840152808416608084015250949350505050565b6154e881866153c5565b60006001600160a01b03808616606084015280851660808401525060c060a083015261551760c0830184614c57565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261556157600080fd5b815167ffffffffffffffff8082111561557c5761557c615521565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156155c2576155c2615521565b816040528381528660208588010111156155db57600080fd5b615517846020830160208901614c33565b600080604083850312156155ff57600080fd5b825167ffffffffffffffff81111561561657600080fd5b61562285828601615550565b9250506020830151614aae81614f22565b60c0810161564182876153c5565b6001600160a01b03808616606084015284608084015280841660a08401525095945050505050565b60006020828403121561567b57600080fd5b8151610c1381614f22565b60006020828403121561569857600080fd5b815167ffffffffffffffff8111156156af57600080fd5b61131a84828501615550565b8183823760009101908152919050565b60006001600160a01b038088168352808716602084015250846040830152608060608301526115e1608083018486615403565b606081526001600160a01b03855116606082015263ffffffff602086015116608082015260006040860151606060a084015261573d60c0840182614c57565b9050851515602084015282810360408401526115e1818587615403565b60006040828403121561576c57600080fd5b6040516040810181811067ffffffffffffffff8211171561578f5761578f615521565b604052825181526020928301519281019290925250919050565b6000604082840312156157bb57600080fd5b610c90838361575a565b80820180821115610c9357610c936152fd565b6000606082016001600160a01b0387168352602063ffffffff8088168286015260406060818701528387855260808701905060808860051b88010194508860005b8981101561590d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8089880301835281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c360301811261587a57600080fd5b8b018561588682614a12565b168852868101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181126158bd57600080fd5b01868101903567ffffffffffffffff8111156158d857600080fd5b8036038213156158e757600080fd5b85888a01526158f9868a018284615403565b985050509185019190850190600101615819565b50949b9a5050505050505050505050565b60006001600160a01b03808a16835288602084015260a0604084015261594860a08401888a615403565b81871660608501528381036080850152615963818688615403565b9b9a5050505050505050505050565b60006001600160a01b038089168352808816602084015286604084015285606084015280851660808401525060c060a08301526159b260c0830184614c57565b98975050505050505050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008360c01b168152600082516159fb816008850160208701614c33565b919091016008019392505050565b600067ffffffffffffffff808316818103615a2657615a266152fd565b6001019392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615a6557600080fd5b83018035915067ffffffffffffffff821115615a8057600080fd5b6020019150368190038213156112a457600080fd5b6060815267ffffffffffffffff855116606082015263ffffffff60208601511660808201526001600160a01b0360408601511660a082015260006060860151615ae660c084018263ffffffff169052565b50608086015160e083015260a086015161010083015260c086015160e0610120840152615b17610140840182614c57565b90508281036020840152615b2c818688615403565b915050615b3d604083018415159052565b95945050505050565b600080600083850360c0811215615b5c57600080fd5b6080811215615b6a57600080fd5b506040516060810167ffffffffffffffff8282108183111715615b8f57615b8f615521565b816040528651835260208701519150615ba782615233565b816020840152615bba886040890161575a565b6040840152608087015192955080831115615bd457600080fd5b615be088848901615550565b945060a0870151925080831115615bf657600080fd5b5050615c0486828701615550565b9150509250925092565b606081526000615c216060830186614c57565b8281036020840152615c338186614c57565b9150506001600160a01b0383166040830152949350505050565b81810381811115610c9357610c936152fd565b60008251615c72818460208701614c33565b919091019291505056fea26469706673582212209684b845f949f6267b62dbd062bb58a67cfbeaf5b5e1a09a941e6435cffb98ba64736f6c63430008120033",
2019
+ "devdoc": {
2020
+ "kind": "dev",
2021
+ "methods": {
2022
+ "owner()": {
2023
+ "details": "Returns the address of the current owner."
2024
+ },
2025
+ "renounceOwnership()": {
2026
+ "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
2027
+ },
2028
+ "transferOwnership(address)": {
2029
+ "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
2030
+ }
2031
+ },
2032
+ "version": 1
2033
+ },
2034
+ "userdoc": {
2035
+ "kind": "user",
2036
+ "methods": {
2037
+ "deliverable((uint32,bytes32,uint64),address,address)": {
2038
+ "notice": "check if a message is deliverable. if false, the message is delivered. otherwise, it is deliverable."
2039
+ },
2040
+ "recoverToken(address,address,uint256)": {
2041
+ "notice": "recover the token sent to this contract by mistake"
2042
+ },
2043
+ "setSendLibrary(uint32,address)": {
2044
+ "notice": "------------------- OApp interfaces -------------------"
2045
+ }
2046
+ },
2047
+ "version": 1
2048
+ },
2049
+ "storageLayout": {
2050
+ "storage": [
2051
+ {
2052
+ "astId": 7,
2053
+ "contract": "contracts/Endpoint.sol:Endpoint",
2054
+ "label": "_owner",
2055
+ "offset": 0,
2056
+ "slot": "0",
2057
+ "type": "t_address"
2058
+ },
2059
+ {
2060
+ "astId": 2875,
2061
+ "contract": "contracts/Endpoint.sol:Endpoint",
2062
+ "label": "lazyInboundNonce",
2063
+ "offset": 0,
2064
+ "slot": "1",
2065
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_mapping(t_bytes32,t_uint64)))"
2066
+ },
2067
+ {
2068
+ "astId": 2885,
2069
+ "contract": "contracts/Endpoint.sol:Endpoint",
2070
+ "label": "inboundPayloadHash",
2071
+ "offset": 0,
2072
+ "slot": "2",
2073
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_mapping(t_bytes32,t_mapping(t_uint64,t_bytes32))))"
2074
+ },
2075
+ {
2076
+ "astId": 2893,
2077
+ "contract": "contracts/Endpoint.sol:Endpoint",
2078
+ "label": "outboundNonce",
2079
+ "offset": 0,
2080
+ "slot": "3",
2081
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_mapping(t_bytes32,t_uint64)))"
2082
+ },
2083
+ {
2084
+ "astId": 1981,
2085
+ "contract": "contracts/Endpoint.sol:Endpoint",
2086
+ "label": "registeredLibraries",
2087
+ "offset": 0,
2088
+ "slot": "4",
2089
+ "type": "t_array(t_address)dyn_storage"
2090
+ },
2091
+ {
2092
+ "astId": 1985,
2093
+ "contract": "contracts/Endpoint.sol:Endpoint",
2094
+ "label": "isRegisteredLibrary",
2095
+ "offset": 0,
2096
+ "slot": "5",
2097
+ "type": "t_mapping(t_address,t_bool)"
2098
+ },
2099
+ {
2100
+ "astId": 1991,
2101
+ "contract": "contracts/Endpoint.sol:Endpoint",
2102
+ "label": "sendLibrary",
2103
+ "offset": 0,
2104
+ "slot": "6",
2105
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_address))"
2106
+ },
2107
+ {
2108
+ "astId": 1997,
2109
+ "contract": "contracts/Endpoint.sol:Endpoint",
2110
+ "label": "receiveLibrary",
2111
+ "offset": 0,
2112
+ "slot": "7",
2113
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_address))"
2114
+ },
2115
+ {
2116
+ "astId": 2004,
2117
+ "contract": "contracts/Endpoint.sol:Endpoint",
2118
+ "label": "receiveLibraryTimeout",
2119
+ "offset": 0,
2120
+ "slot": "8",
2121
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_struct(Timeout)4126_storage))"
2122
+ },
2123
+ {
2124
+ "astId": 2008,
2125
+ "contract": "contracts/Endpoint.sol:Endpoint",
2126
+ "label": "defaultSendLibrary",
2127
+ "offset": 0,
2128
+ "slot": "9",
2129
+ "type": "t_mapping(t_uint32,t_address)"
2130
+ },
2131
+ {
2132
+ "astId": 2012,
2133
+ "contract": "contracts/Endpoint.sol:Endpoint",
2134
+ "label": "defaultReceiveLibrary",
2135
+ "offset": 0,
2136
+ "slot": "10",
2137
+ "type": "t_mapping(t_uint32,t_address)"
2138
+ },
2139
+ {
2140
+ "astId": 2017,
2141
+ "contract": "contracts/Endpoint.sol:Endpoint",
2142
+ "label": "defaultReceiveLibraryTimeout",
2143
+ "offset": 0,
2144
+ "slot": "11",
2145
+ "type": "t_mapping(t_uint32,t_struct(Timeout)4126_storage)"
2146
+ },
2147
+ {
2148
+ "astId": 3463,
2149
+ "contract": "contracts/Endpoint.sol:Endpoint",
2150
+ "label": "lzToken",
2151
+ "offset": 0,
2152
+ "slot": "12",
2153
+ "type": "t_address"
2154
+ },
2155
+ {
2156
+ "astId": 3229,
2157
+ "contract": "contracts/Endpoint.sol:Endpoint",
2158
+ "label": "composedMessages",
2159
+ "offset": 0,
2160
+ "slot": "13",
2161
+ "type": "t_mapping(t_address,t_mapping(t_address,t_mapping(t_bytes32,t_bytes32)))"
2162
+ },
2163
+ {
2164
+ "astId": 3232,
2165
+ "contract": "contracts/Endpoint.sol:Endpoint",
2166
+ "label": "_composeContext",
2167
+ "offset": 0,
2168
+ "slot": "14",
2169
+ "type": "t_address"
2170
+ },
2171
+ {
2172
+ "astId": 1024,
2173
+ "contract": "contracts/Endpoint.sol:Endpoint",
2174
+ "label": "_sendContext",
2175
+ "offset": 0,
2176
+ "slot": "15",
2177
+ "type": "t_uint256"
2178
+ },
2179
+ {
2180
+ "astId": 1027,
2181
+ "contract": "contracts/Endpoint.sol:Endpoint",
2182
+ "label": "_receiveContext",
2183
+ "offset": 0,
2184
+ "slot": "16",
2185
+ "type": "t_uint256"
2186
+ }
2187
+ ],
2188
+ "types": {
2189
+ "t_address": {
2190
+ "encoding": "inplace",
2191
+ "label": "address",
2192
+ "numberOfBytes": "20"
2193
+ },
2194
+ "t_array(t_address)dyn_storage": {
2195
+ "base": "t_address",
2196
+ "encoding": "dynamic_array",
2197
+ "label": "address[]",
2198
+ "numberOfBytes": "32"
2199
+ },
2200
+ "t_bool": {
2201
+ "encoding": "inplace",
2202
+ "label": "bool",
2203
+ "numberOfBytes": "1"
2204
+ },
2205
+ "t_bytes32": {
2206
+ "encoding": "inplace",
2207
+ "label": "bytes32",
2208
+ "numberOfBytes": "32"
2209
+ },
2210
+ "t_mapping(t_address,t_bool)": {
2211
+ "encoding": "mapping",
2212
+ "key": "t_address",
2213
+ "label": "mapping(address => bool)",
2214
+ "numberOfBytes": "32",
2215
+ "value": "t_bool"
2216
+ },
2217
+ "t_mapping(t_address,t_mapping(t_address,t_mapping(t_bytes32,t_bytes32)))": {
2218
+ "encoding": "mapping",
2219
+ "key": "t_address",
2220
+ "label": "mapping(address => mapping(address => mapping(bytes32 => bytes32)))",
2221
+ "numberOfBytes": "32",
2222
+ "value": "t_mapping(t_address,t_mapping(t_bytes32,t_bytes32))"
2223
+ },
2224
+ "t_mapping(t_address,t_mapping(t_bytes32,t_bytes32))": {
2225
+ "encoding": "mapping",
2226
+ "key": "t_address",
2227
+ "label": "mapping(address => mapping(bytes32 => bytes32))",
2228
+ "numberOfBytes": "32",
2229
+ "value": "t_mapping(t_bytes32,t_bytes32)"
2230
+ },
2231
+ "t_mapping(t_address,t_mapping(t_uint32,t_address))": {
2232
+ "encoding": "mapping",
2233
+ "key": "t_address",
2234
+ "label": "mapping(address => mapping(uint32 => address))",
2235
+ "numberOfBytes": "32",
2236
+ "value": "t_mapping(t_uint32,t_address)"
2237
+ },
2238
+ "t_mapping(t_address,t_mapping(t_uint32,t_mapping(t_bytes32,t_mapping(t_uint64,t_bytes32))))": {
2239
+ "encoding": "mapping",
2240
+ "key": "t_address",
2241
+ "label": "mapping(address => mapping(uint32 => mapping(bytes32 => mapping(uint64 => bytes32))))",
2242
+ "numberOfBytes": "32",
2243
+ "value": "t_mapping(t_uint32,t_mapping(t_bytes32,t_mapping(t_uint64,t_bytes32)))"
2244
+ },
2245
+ "t_mapping(t_address,t_mapping(t_uint32,t_mapping(t_bytes32,t_uint64)))": {
2246
+ "encoding": "mapping",
2247
+ "key": "t_address",
2248
+ "label": "mapping(address => mapping(uint32 => mapping(bytes32 => uint64)))",
2249
+ "numberOfBytes": "32",
2250
+ "value": "t_mapping(t_uint32,t_mapping(t_bytes32,t_uint64))"
2251
+ },
2252
+ "t_mapping(t_address,t_mapping(t_uint32,t_struct(Timeout)4126_storage))": {
2253
+ "encoding": "mapping",
2254
+ "key": "t_address",
2255
+ "label": "mapping(address => mapping(uint32 => struct IMessageLibManager.Timeout))",
2256
+ "numberOfBytes": "32",
2257
+ "value": "t_mapping(t_uint32,t_struct(Timeout)4126_storage)"
2258
+ },
2259
+ "t_mapping(t_bytes32,t_bytes32)": {
2260
+ "encoding": "mapping",
2261
+ "key": "t_bytes32",
2262
+ "label": "mapping(bytes32 => bytes32)",
2263
+ "numberOfBytes": "32",
2264
+ "value": "t_bytes32"
2265
+ },
2266
+ "t_mapping(t_bytes32,t_mapping(t_uint64,t_bytes32))": {
2267
+ "encoding": "mapping",
2268
+ "key": "t_bytes32",
2269
+ "label": "mapping(bytes32 => mapping(uint64 => bytes32))",
2270
+ "numberOfBytes": "32",
2271
+ "value": "t_mapping(t_uint64,t_bytes32)"
2272
+ },
2273
+ "t_mapping(t_bytes32,t_uint64)": {
2274
+ "encoding": "mapping",
2275
+ "key": "t_bytes32",
2276
+ "label": "mapping(bytes32 => uint64)",
2277
+ "numberOfBytes": "32",
2278
+ "value": "t_uint64"
2279
+ },
2280
+ "t_mapping(t_uint32,t_address)": {
2281
+ "encoding": "mapping",
2282
+ "key": "t_uint32",
2283
+ "label": "mapping(uint32 => address)",
2284
+ "numberOfBytes": "32",
2285
+ "value": "t_address"
2286
+ },
2287
+ "t_mapping(t_uint32,t_mapping(t_bytes32,t_mapping(t_uint64,t_bytes32)))": {
2288
+ "encoding": "mapping",
2289
+ "key": "t_uint32",
2290
+ "label": "mapping(uint32 => mapping(bytes32 => mapping(uint64 => bytes32)))",
2291
+ "numberOfBytes": "32",
2292
+ "value": "t_mapping(t_bytes32,t_mapping(t_uint64,t_bytes32))"
2293
+ },
2294
+ "t_mapping(t_uint32,t_mapping(t_bytes32,t_uint64))": {
2295
+ "encoding": "mapping",
2296
+ "key": "t_uint32",
2297
+ "label": "mapping(uint32 => mapping(bytes32 => uint64))",
2298
+ "numberOfBytes": "32",
2299
+ "value": "t_mapping(t_bytes32,t_uint64)"
2300
+ },
2301
+ "t_mapping(t_uint32,t_struct(Timeout)4126_storage)": {
2302
+ "encoding": "mapping",
2303
+ "key": "t_uint32",
2304
+ "label": "mapping(uint32 => struct IMessageLibManager.Timeout)",
2305
+ "numberOfBytes": "32",
2306
+ "value": "t_struct(Timeout)4126_storage"
2307
+ },
2308
+ "t_mapping(t_uint64,t_bytes32)": {
2309
+ "encoding": "mapping",
2310
+ "key": "t_uint64",
2311
+ "label": "mapping(uint64 => bytes32)",
2312
+ "numberOfBytes": "32",
2313
+ "value": "t_bytes32"
2314
+ },
2315
+ "t_struct(Timeout)4126_storage": {
2316
+ "encoding": "inplace",
2317
+ "label": "struct IMessageLibManager.Timeout",
2318
+ "members": [
2319
+ {
2320
+ "astId": 4123,
2321
+ "contract": "contracts/Endpoint.sol:Endpoint",
2322
+ "label": "lib",
2323
+ "offset": 0,
2324
+ "slot": "0",
2325
+ "type": "t_address"
2326
+ },
2327
+ {
2328
+ "astId": 4125,
2329
+ "contract": "contracts/Endpoint.sol:Endpoint",
2330
+ "label": "expiry",
2331
+ "offset": 0,
2332
+ "slot": "1",
2333
+ "type": "t_uint256"
2334
+ }
2335
+ ],
2336
+ "numberOfBytes": "64"
2337
+ },
2338
+ "t_uint256": {
2339
+ "encoding": "inplace",
2340
+ "label": "uint256",
2341
+ "numberOfBytes": "32"
2342
+ },
2343
+ "t_uint32": {
2344
+ "encoding": "inplace",
2345
+ "label": "uint32",
2346
+ "numberOfBytes": "4"
2347
+ },
2348
+ "t_uint64": {
2349
+ "encoding": "inplace",
2350
+ "label": "uint64",
2351
+ "numberOfBytes": "8"
2352
+ }
2353
+ }
2354
+ }
2355
+ }