@layerzerolabs/lz-evm-sdk-v1 2.3.8 → 2.3.10

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 (146) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/artifacts-tron/contracts/Endpoint.sol/Endpoint.json +958 -0
  3. package/artifacts-tron/contracts/NonceContract.sol/NonceContract.json +88 -0
  4. package/artifacts-tron/contracts/PriceFeed.sol/PriceFeed.json +531 -0
  5. package/artifacts-tron/contracts/RelayerV2.sol/RelayerV2.json +1170 -0
  6. package/artifacts-tron/contracts/UltraLightNode.sol/UltraLightNode.json +1475 -0
  7. package/artifacts-tron/contracts/UltraLightNodeV2.sol/UltraLightNodeV2.json +1423 -0
  8. package/artifacts-tron/contracts/interfaces/IContractOne.sol/IContractOne.json +24 -0
  9. package/artifacts-tron/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +447 -0
  10. package/artifacts-tron/contracts/interfaces/ILayerZeroMessagingLibrary.sol/ILayerZeroMessagingLibrary.json +160 -0
  11. package/artifacts-tron/contracts/interfaces/ILayerZeroMessagingLibraryV2.sol/ILayerZeroMessagingLibraryV2.json +184 -0
  12. package/artifacts-tron/contracts/interfaces/ILayerZeroOracle.sol/ILayerZeroOracle.json +77 -0
  13. package/artifacts-tron/contracts/interfaces/ILayerZeroOracleV2.sol/ILayerZeroOracleV2.json +97 -0
  14. package/artifacts-tron/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +107 -0
  15. package/artifacts-tron/contracts/interfaces/ILayerZeroPriceFeedV2.sol/ILayerZeroPriceFeedV2.json +104 -0
  16. package/artifacts-tron/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +39 -0
  17. package/artifacts-tron/contracts/interfaces/ILayerZeroRelayer.sol/ILayerZeroRelayer.json +92 -0
  18. package/artifacts-tron/contracts/interfaces/ILayerZeroRelayerV2.sol/ILayerZeroRelayerV2.json +107 -0
  19. package/artifacts-tron/contracts/interfaces/ILayerZeroRelayerV2PriceData.sol/ILayerZeroRelayerV2PriceData.json +83 -0
  20. package/artifacts-tron/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +40 -0
  21. package/artifacts-tron/contracts/interfaces/ILayerZeroUltraLightNodeV1.sol/ILayerZeroUltraLightNodeV1.json +156 -0
  22. package/artifacts-tron/contracts/interfaces/ILayerZeroUltraLightNodeV2.sol/ILayerZeroUltraLightNodeV2.json +582 -0
  23. package/artifacts-tron/contracts/interfaces/ILayerZeroUserApplicationConfig.sol/ILayerZeroUserApplicationConfig.json +83 -0
  24. package/artifacts-tron/contracts/interfaces/ILayerZeroValidationLibrary.sol/ILayerZeroValidationLibrary.json +77 -0
  25. package/artifacts-tron/contracts/interfaces/IValidationLibraryHelper.sol/IValidationLibraryHelper.json +146 -0
  26. package/artifacts-tron/contracts/interfaces/IValidationLibraryHelperV2.sol/IValidationLibraryHelperV2.json +154 -0
  27. package/artifacts-tron/contracts/precrime/PreCrime.sol/PreCrime.json +353 -0
  28. package/artifacts-tron/contracts/precrime/PreCrimeBase.sol/PreCrimeBase.json +259 -0
  29. package/artifacts-tron/contracts/precrime/PreCrimeView.sol/PreCrimeView.json +318 -0
  30. package/artifacts-tron/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +162 -0
  31. package/artifacts-tron/contracts/precrime/interfaces/IPreCrimeBase.sol/IPreCrimeBase.json +116 -0
  32. package/artifacts-tron/contracts/precrime/interfaces/IPreCrimeView.sol/IPreCrimeView.json +162 -0
  33. package/artifacts-tron/contracts/proof/FPValidator.sol/FPValidator.json +326 -0
  34. package/artifacts-tron/contracts/proof/FPValidator.sol/IStargate.json +10 -0
  35. package/artifacts-tron/contracts/proof/MPTValidator.sol/MPTValidator.json +146 -0
  36. package/artifacts-tron/contracts/proof/MPTValidator01.sol/IStargate.json +10 -0
  37. package/artifacts-tron/contracts/proof/MPTValidator01.sol/MPTValidator01.json +339 -0
  38. package/artifacts-tron/contracts/proof/MPTValidatorStgV3.sol/MPTValidatorStgV3.json +310 -0
  39. package/artifacts-tron/contracts/proof/MPTValidatorV2.sol/MPTValidatorV2.json +212 -0
  40. package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/IStargate.json +10 -0
  41. package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/IUltraLightNode.json +108 -0
  42. package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/MPTValidatorV4.json +414 -0
  43. package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/IStargate.json +10 -0
  44. package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/IUltraLightNode.json +108 -0
  45. package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/MPTValidatorV5.json +432 -0
  46. package/artifacts-tron/contracts/proof/utility/Buffer.sol/Buffer.json +10 -0
  47. package/artifacts-tron/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +10 -0
  48. package/artifacts-tron/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +10 -0
  49. package/artifacts-tron/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +10 -0
  50. package/artifacts-zk/contracts/Endpoint.sol/Endpoint.json +959 -0
  51. package/artifacts-zk/contracts/NonceContract.sol/NonceContract.json +89 -0
  52. package/artifacts-zk/contracts/PriceFeed.sol/PriceFeed.json +545 -0
  53. package/artifacts-zk/contracts/RelayerV2.sol/RelayerV2.json +1020 -0
  54. package/artifacts-zk/contracts/TreasuryV2.sol/TreasuryV2.json +309 -0
  55. package/artifacts-zk/contracts/UltraLightNodeV2.sol/UltraLightNodeV2.json +1424 -0
  56. package/artifacts-zk/contracts/interfaces/IContractOne.sol/IContractOne.json +25 -0
  57. package/artifacts-zk/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +448 -0
  58. package/artifacts-zk/contracts/interfaces/ILayerZeroMessagingLibrary.sol/ILayerZeroMessagingLibrary.json +161 -0
  59. package/artifacts-zk/contracts/interfaces/ILayerZeroMessagingLibraryV2.sol/ILayerZeroMessagingLibraryV2.json +185 -0
  60. package/artifacts-zk/contracts/interfaces/ILayerZeroOracleV2.sol/ILayerZeroOracleV2.json +98 -0
  61. package/artifacts-zk/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +108 -0
  62. package/artifacts-zk/contracts/interfaces/ILayerZeroPriceFeedV2.sol/ILayerZeroPriceFeedV2.json +105 -0
  63. package/artifacts-zk/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +40 -0
  64. package/artifacts-zk/contracts/interfaces/ILayerZeroRelayerV2.sol/ILayerZeroRelayerV2.json +108 -0
  65. package/artifacts-zk/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +41 -0
  66. package/artifacts-zk/contracts/interfaces/ILayerZeroUltraLightNodeV2.sol/ILayerZeroUltraLightNodeV2.json +583 -0
  67. package/artifacts-zk/contracts/interfaces/ILayerZeroUserApplicationConfig.sol/ILayerZeroUserApplicationConfig.json +84 -0
  68. package/artifacts-zk/contracts/interfaces/ILayerZeroValidationLibrary.sol/ILayerZeroValidationLibrary.json +78 -0
  69. package/artifacts-zk/contracts/interfaces/IValidationLibraryHelper.sol/IValidationLibraryHelper.json +147 -0
  70. package/artifacts-zk/contracts/interfaces/IValidationLibraryHelperV2.sol/IValidationLibraryHelperV2.json +155 -0
  71. package/artifacts-zk/contracts/oracle/OracleV2.sol/OracleV2.json +1527 -0
  72. package/artifacts-zk/contracts/precrime/PreCrime.sol/PreCrime.json +354 -0
  73. package/artifacts-zk/contracts/precrime/PreCrimeBase.sol/PreCrimeBase.json +260 -0
  74. package/artifacts-zk/contracts/precrime/PreCrimeView.sol/PreCrimeView.json +319 -0
  75. package/artifacts-zk/contracts/precrime/example/inherit/CounterI.sol/CounterI.json +624 -0
  76. package/artifacts-zk/contracts/precrime/example/inherit/CounterPrecrime.sol/CounterPrecrime.json +458 -0
  77. package/artifacts-zk/contracts/precrime/example/view/CounterPrecrimeView.sol/CounterPrecrimeView.json +417 -0
  78. package/artifacts-zk/contracts/precrime/example/view/CounterV.sol/CounterV.json +178 -0
  79. package/artifacts-zk/contracts/precrime/example/view/CounterView.sol/CounterView.json +166 -0
  80. package/artifacts-zk/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +163 -0
  81. package/artifacts-zk/contracts/precrime/interfaces/IPreCrimeBase.sol/IPreCrimeBase.json +117 -0
  82. package/artifacts-zk/contracts/precrime/interfaces/IPreCrimeView.sol/IPreCrimeView.json +163 -0
  83. package/artifacts-zk/contracts/proof/FPValidator.sol/FPValidator.json +327 -0
  84. package/artifacts-zk/contracts/proof/FPValidator.sol/IStargate.json +11 -0
  85. package/artifacts-zk/contracts/proof/utility/Buffer.sol/Buffer.json +11 -0
  86. package/artifacts-zk/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +11 -0
  87. package/artifacts-zk/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +11 -0
  88. package/artifacts-zk/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +11 -0
  89. package/artifacts-zk/contracts/proxy/ProxyAdmin.sol/ProxyAdmin.json +172 -0
  90. package/artifacts-zk/contracts/proxy/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +156 -0
  91. package/deployments/arbitrum-sandbox-local/DefaultProxyAdmin.json +10 -10
  92. package/deployments/arbitrum-sandbox-local/Endpoint.json +7 -7
  93. package/deployments/arbitrum-sandbox-local/FPValidator.json +4 -4
  94. package/deployments/arbitrum-sandbox-local/MPTValidator01.json +4 -4
  95. package/deployments/arbitrum-sandbox-local/NonceContract.json +4 -4
  96. package/deployments/arbitrum-sandbox-local/RelayerV2.json +16 -16
  97. package/deployments/arbitrum-sandbox-local/RelayerV2_Implementation.json +4 -4
  98. package/deployments/arbitrum-sandbox-local/RelayerV2_Proxy.json +16 -16
  99. package/deployments/arbitrum-sandbox-local/TreasuryV2.json +7 -7
  100. package/deployments/arbitrum-sandbox-local/UltraLightNode.json +7 -7
  101. package/deployments/arbitrum-sandbox-local/UltraLightNodeV2.json +7 -7
  102. package/deployments/bsc-sandbox-local/DefaultProxyAdmin.json +10 -10
  103. package/deployments/bsc-sandbox-local/Endpoint.json +7 -7
  104. package/deployments/bsc-sandbox-local/FPValidator.json +4 -4
  105. package/deployments/bsc-sandbox-local/MPTValidator01.json +4 -4
  106. package/deployments/bsc-sandbox-local/NonceContract.json +4 -4
  107. package/deployments/bsc-sandbox-local/RelayerV2.json +16 -16
  108. package/deployments/bsc-sandbox-local/RelayerV2_Implementation.json +4 -4
  109. package/deployments/bsc-sandbox-local/RelayerV2_Proxy.json +16 -16
  110. package/deployments/bsc-sandbox-local/TreasuryV2.json +7 -7
  111. package/deployments/bsc-sandbox-local/UltraLightNode.json +7 -7
  112. package/deployments/bsc-sandbox-local/UltraLightNodeV2.json +7 -7
  113. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +10 -10
  114. package/deployments/ethereum-sandbox-local/Endpoint.json +7 -7
  115. package/deployments/ethereum-sandbox-local/FPValidator.json +4 -4
  116. package/deployments/ethereum-sandbox-local/MPTValidator01.json +4 -4
  117. package/deployments/ethereum-sandbox-local/NonceContract.json +4 -4
  118. package/deployments/ethereum-sandbox-local/RelayerV2.json +16 -16
  119. package/deployments/ethereum-sandbox-local/RelayerV2_Implementation.json +4 -4
  120. package/deployments/ethereum-sandbox-local/RelayerV2_Proxy.json +16 -16
  121. package/deployments/ethereum-sandbox-local/TreasuryV2.json +7 -7
  122. package/deployments/ethereum-sandbox-local/UltraLightNode.json +7 -7
  123. package/deployments/ethereum-sandbox-local/UltraLightNodeV2.json +7 -7
  124. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +10 -10
  125. package/deployments/polygon-sandbox-local/Endpoint.json +7 -7
  126. package/deployments/polygon-sandbox-local/FPValidator.json +4 -4
  127. package/deployments/polygon-sandbox-local/MPTValidator01.json +4 -4
  128. package/deployments/polygon-sandbox-local/NonceContract.json +4 -4
  129. package/deployments/polygon-sandbox-local/RelayerV2.json +16 -16
  130. package/deployments/polygon-sandbox-local/RelayerV2_Implementation.json +4 -4
  131. package/deployments/polygon-sandbox-local/RelayerV2_Proxy.json +16 -16
  132. package/deployments/polygon-sandbox-local/TreasuryV2.json +7 -7
  133. package/deployments/polygon-sandbox-local/UltraLightNode.json +7 -7
  134. package/deployments/polygon-sandbox-local/UltraLightNodeV2.json +7 -7
  135. package/deployments/tron-sandbox-local/DefaultProxyAdmin.json +14 -14
  136. package/deployments/tron-sandbox-local/Endpoint.json +10 -10
  137. package/deployments/tron-sandbox-local/FPValidator.json +6 -6
  138. package/deployments/tron-sandbox-local/MPTValidator01.json +6 -6
  139. package/deployments/tron-sandbox-local/NonceContract.json +7 -7
  140. package/deployments/tron-sandbox-local/RelayerV2.json +31 -31
  141. package/deployments/tron-sandbox-local/RelayerV2_Implementation.json +6 -6
  142. package/deployments/tron-sandbox-local/RelayerV2_Proxy.json +28 -28
  143. package/deployments/tron-sandbox-local/TreasuryV2.json +11 -11
  144. package/deployments/tron-sandbox-local/UltraLightNode.json +11 -11
  145. package/deployments/tron-sandbox-local/UltraLightNodeV2.json +12 -12
  146. package/package.json +23 -7
@@ -0,0 +1,1423 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "UltraLightNodeV2",
4
+ "sourceName": "contracts/UltraLightNodeV2.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_endpoint",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_nonceContract",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "uint16",
20
+ "name": "_localChainId",
21
+ "type": "uint16"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "anonymous": false,
29
+ "inputs": [
30
+ {
31
+ "indexed": true,
32
+ "internalType": "uint16",
33
+ "name": "chainId",
34
+ "type": "uint16"
35
+ },
36
+ {
37
+ "indexed": false,
38
+ "internalType": "address",
39
+ "name": "lib",
40
+ "type": "address"
41
+ }
42
+ ],
43
+ "name": "AddInboundProofLibraryForChain",
44
+ "type": "event"
45
+ },
46
+ {
47
+ "anonymous": false,
48
+ "inputs": [
49
+ {
50
+ "indexed": true,
51
+ "internalType": "address",
52
+ "name": "userApplication",
53
+ "type": "address"
54
+ },
55
+ {
56
+ "indexed": true,
57
+ "internalType": "uint256",
58
+ "name": "configType",
59
+ "type": "uint256"
60
+ },
61
+ {
62
+ "indexed": false,
63
+ "internalType": "bytes",
64
+ "name": "newConfig",
65
+ "type": "bytes"
66
+ }
67
+ ],
68
+ "name": "AppConfigUpdated",
69
+ "type": "event"
70
+ },
71
+ {
72
+ "anonymous": false,
73
+ "inputs": [
74
+ {
75
+ "indexed": true,
76
+ "internalType": "uint16",
77
+ "name": "chainId",
78
+ "type": "uint16"
79
+ },
80
+ {
81
+ "indexed": false,
82
+ "internalType": "uint16",
83
+ "name": "proofType",
84
+ "type": "uint16"
85
+ }
86
+ ],
87
+ "name": "EnableSupportedOutboundProof",
88
+ "type": "event"
89
+ },
90
+ {
91
+ "anonymous": false,
92
+ "inputs": [
93
+ {
94
+ "indexed": true,
95
+ "internalType": "uint16",
96
+ "name": "srcChainId",
97
+ "type": "uint16"
98
+ },
99
+ {
100
+ "indexed": true,
101
+ "internalType": "address",
102
+ "name": "oracle",
103
+ "type": "address"
104
+ },
105
+ {
106
+ "indexed": false,
107
+ "internalType": "bytes32",
108
+ "name": "lookupHash",
109
+ "type": "bytes32"
110
+ },
111
+ {
112
+ "indexed": false,
113
+ "internalType": "bytes32",
114
+ "name": "blockData",
115
+ "type": "bytes32"
116
+ },
117
+ {
118
+ "indexed": false,
119
+ "internalType": "uint256",
120
+ "name": "confirmations",
121
+ "type": "uint256"
122
+ }
123
+ ],
124
+ "name": "HashReceived",
125
+ "type": "event"
126
+ },
127
+ {
128
+ "anonymous": false,
129
+ "inputs": [
130
+ {
131
+ "indexed": true,
132
+ "internalType": "uint16",
133
+ "name": "srcChainId",
134
+ "type": "uint16"
135
+ },
136
+ {
137
+ "indexed": false,
138
+ "internalType": "bytes",
139
+ "name": "srcAddress",
140
+ "type": "bytes"
141
+ },
142
+ {
143
+ "indexed": true,
144
+ "internalType": "address",
145
+ "name": "dstAddress",
146
+ "type": "address"
147
+ },
148
+ {
149
+ "indexed": false,
150
+ "internalType": "uint64",
151
+ "name": "nonce",
152
+ "type": "uint64"
153
+ },
154
+ {
155
+ "indexed": false,
156
+ "internalType": "bytes32",
157
+ "name": "payloadHash",
158
+ "type": "bytes32"
159
+ }
160
+ ],
161
+ "name": "InvalidDst",
162
+ "type": "event"
163
+ },
164
+ {
165
+ "anonymous": false,
166
+ "inputs": [
167
+ {
168
+ "indexed": true,
169
+ "internalType": "address",
170
+ "name": "previousOwner",
171
+ "type": "address"
172
+ },
173
+ {
174
+ "indexed": true,
175
+ "internalType": "address",
176
+ "name": "newOwner",
177
+ "type": "address"
178
+ }
179
+ ],
180
+ "name": "OwnershipTransferred",
181
+ "type": "event"
182
+ },
183
+ {
184
+ "anonymous": false,
185
+ "inputs": [
186
+ {
187
+ "indexed": false,
188
+ "internalType": "bytes",
189
+ "name": "payload",
190
+ "type": "bytes"
191
+ }
192
+ ],
193
+ "name": "Packet",
194
+ "type": "event"
195
+ },
196
+ {
197
+ "anonymous": false,
198
+ "inputs": [
199
+ {
200
+ "indexed": true,
201
+ "internalType": "uint16",
202
+ "name": "srcChainId",
203
+ "type": "uint16"
204
+ },
205
+ {
206
+ "indexed": false,
207
+ "internalType": "bytes",
208
+ "name": "srcAddress",
209
+ "type": "bytes"
210
+ },
211
+ {
212
+ "indexed": true,
213
+ "internalType": "address",
214
+ "name": "dstAddress",
215
+ "type": "address"
216
+ },
217
+ {
218
+ "indexed": false,
219
+ "internalType": "uint64",
220
+ "name": "nonce",
221
+ "type": "uint64"
222
+ },
223
+ {
224
+ "indexed": false,
225
+ "internalType": "bytes32",
226
+ "name": "payloadHash",
227
+ "type": "bytes32"
228
+ }
229
+ ],
230
+ "name": "PacketReceived",
231
+ "type": "event"
232
+ },
233
+ {
234
+ "anonymous": false,
235
+ "inputs": [
236
+ {
237
+ "indexed": false,
238
+ "internalType": "bytes",
239
+ "name": "adapterParams",
240
+ "type": "bytes"
241
+ },
242
+ {
243
+ "indexed": false,
244
+ "internalType": "uint16",
245
+ "name": "outboundProofType",
246
+ "type": "uint16"
247
+ }
248
+ ],
249
+ "name": "RelayerParams",
250
+ "type": "event"
251
+ },
252
+ {
253
+ "anonymous": false,
254
+ "inputs": [
255
+ {
256
+ "indexed": true,
257
+ "internalType": "uint16",
258
+ "name": "chainId",
259
+ "type": "uint16"
260
+ },
261
+ {
262
+ "indexed": false,
263
+ "internalType": "uint256",
264
+ "name": "size",
265
+ "type": "uint256"
266
+ }
267
+ ],
268
+ "name": "SetChainAddressSize",
269
+ "type": "event"
270
+ },
271
+ {
272
+ "anonymous": false,
273
+ "inputs": [
274
+ {
275
+ "indexed": true,
276
+ "internalType": "uint16",
277
+ "name": "chainId",
278
+ "type": "uint16"
279
+ },
280
+ {
281
+ "indexed": true,
282
+ "internalType": "uint16",
283
+ "name": "proofType",
284
+ "type": "uint16"
285
+ },
286
+ {
287
+ "indexed": false,
288
+ "internalType": "bytes",
289
+ "name": "adapterParams",
290
+ "type": "bytes"
291
+ }
292
+ ],
293
+ "name": "SetDefaultAdapterParamsForChainId",
294
+ "type": "event"
295
+ },
296
+ {
297
+ "anonymous": false,
298
+ "inputs": [
299
+ {
300
+ "indexed": true,
301
+ "internalType": "uint16",
302
+ "name": "chainId",
303
+ "type": "uint16"
304
+ },
305
+ {
306
+ "indexed": false,
307
+ "internalType": "uint16",
308
+ "name": "inboundProofLib",
309
+ "type": "uint16"
310
+ },
311
+ {
312
+ "indexed": false,
313
+ "internalType": "uint64",
314
+ "name": "inboundBlockConfirm",
315
+ "type": "uint64"
316
+ },
317
+ {
318
+ "indexed": false,
319
+ "internalType": "address",
320
+ "name": "relayer",
321
+ "type": "address"
322
+ },
323
+ {
324
+ "indexed": false,
325
+ "internalType": "uint16",
326
+ "name": "outboundProofType",
327
+ "type": "uint16"
328
+ },
329
+ {
330
+ "indexed": false,
331
+ "internalType": "uint64",
332
+ "name": "outboundBlockConfirm",
333
+ "type": "uint64"
334
+ },
335
+ {
336
+ "indexed": false,
337
+ "internalType": "address",
338
+ "name": "oracle",
339
+ "type": "address"
340
+ }
341
+ ],
342
+ "name": "SetDefaultConfigForChainId",
343
+ "type": "event"
344
+ },
345
+ {
346
+ "anonymous": false,
347
+ "inputs": [
348
+ {
349
+ "indexed": true,
350
+ "internalType": "address",
351
+ "name": "tokenAddress",
352
+ "type": "address"
353
+ }
354
+ ],
355
+ "name": "SetLayerZeroToken",
356
+ "type": "event"
357
+ },
358
+ {
359
+ "anonymous": false,
360
+ "inputs": [
361
+ {
362
+ "indexed": true,
363
+ "internalType": "uint16",
364
+ "name": "chainId",
365
+ "type": "uint16"
366
+ },
367
+ {
368
+ "indexed": false,
369
+ "internalType": "bytes32",
370
+ "name": "uln",
371
+ "type": "bytes32"
372
+ }
373
+ ],
374
+ "name": "SetRemoteUln",
375
+ "type": "event"
376
+ },
377
+ {
378
+ "anonymous": false,
379
+ "inputs": [
380
+ {
381
+ "indexed": true,
382
+ "internalType": "address",
383
+ "name": "treasuryAddress",
384
+ "type": "address"
385
+ }
386
+ ],
387
+ "name": "SetTreasury",
388
+ "type": "event"
389
+ },
390
+ {
391
+ "anonymous": false,
392
+ "inputs": [
393
+ {
394
+ "indexed": true,
395
+ "internalType": "address",
396
+ "name": "msgSender",
397
+ "type": "address"
398
+ },
399
+ {
400
+ "indexed": true,
401
+ "internalType": "address",
402
+ "name": "to",
403
+ "type": "address"
404
+ },
405
+ {
406
+ "indexed": false,
407
+ "internalType": "uint256",
408
+ "name": "amount",
409
+ "type": "uint256"
410
+ }
411
+ ],
412
+ "name": "WithdrawNative",
413
+ "type": "event"
414
+ },
415
+ {
416
+ "anonymous": false,
417
+ "inputs": [
418
+ {
419
+ "indexed": true,
420
+ "internalType": "address",
421
+ "name": "msgSender",
422
+ "type": "address"
423
+ },
424
+ {
425
+ "indexed": true,
426
+ "internalType": "address",
427
+ "name": "to",
428
+ "type": "address"
429
+ },
430
+ {
431
+ "indexed": false,
432
+ "internalType": "uint256",
433
+ "name": "amount",
434
+ "type": "uint256"
435
+ }
436
+ ],
437
+ "name": "WithdrawZRO",
438
+ "type": "event"
439
+ },
440
+ {
441
+ "inputs": [],
442
+ "name": "CONFIG_TYPE_INBOUND_BLOCK_CONFIRMATIONS",
443
+ "outputs": [
444
+ {
445
+ "internalType": "uint256",
446
+ "name": "",
447
+ "type": "uint256"
448
+ }
449
+ ],
450
+ "stateMutability": "view",
451
+ "type": "function"
452
+ },
453
+ {
454
+ "inputs": [],
455
+ "name": "CONFIG_TYPE_INBOUND_PROOF_LIBRARY_VERSION",
456
+ "outputs": [
457
+ {
458
+ "internalType": "uint256",
459
+ "name": "",
460
+ "type": "uint256"
461
+ }
462
+ ],
463
+ "stateMutability": "view",
464
+ "type": "function"
465
+ },
466
+ {
467
+ "inputs": [],
468
+ "name": "CONFIG_TYPE_ORACLE",
469
+ "outputs": [
470
+ {
471
+ "internalType": "uint256",
472
+ "name": "",
473
+ "type": "uint256"
474
+ }
475
+ ],
476
+ "stateMutability": "view",
477
+ "type": "function"
478
+ },
479
+ {
480
+ "inputs": [],
481
+ "name": "CONFIG_TYPE_OUTBOUND_BLOCK_CONFIRMATIONS",
482
+ "outputs": [
483
+ {
484
+ "internalType": "uint256",
485
+ "name": "",
486
+ "type": "uint256"
487
+ }
488
+ ],
489
+ "stateMutability": "view",
490
+ "type": "function"
491
+ },
492
+ {
493
+ "inputs": [],
494
+ "name": "CONFIG_TYPE_OUTBOUND_PROOF_TYPE",
495
+ "outputs": [
496
+ {
497
+ "internalType": "uint256",
498
+ "name": "",
499
+ "type": "uint256"
500
+ }
501
+ ],
502
+ "stateMutability": "view",
503
+ "type": "function"
504
+ },
505
+ {
506
+ "inputs": [],
507
+ "name": "CONFIG_TYPE_RELAYER",
508
+ "outputs": [
509
+ {
510
+ "internalType": "uint256",
511
+ "name": "",
512
+ "type": "uint256"
513
+ }
514
+ ],
515
+ "stateMutability": "view",
516
+ "type": "function"
517
+ },
518
+ {
519
+ "inputs": [
520
+ {
521
+ "internalType": "address",
522
+ "name": "_address",
523
+ "type": "address"
524
+ }
525
+ ],
526
+ "name": "accruedNativeFee",
527
+ "outputs": [
528
+ {
529
+ "internalType": "uint256",
530
+ "name": "",
531
+ "type": "uint256"
532
+ }
533
+ ],
534
+ "stateMutability": "view",
535
+ "type": "function"
536
+ },
537
+ {
538
+ "inputs": [
539
+ {
540
+ "internalType": "uint16",
541
+ "name": "_chainId",
542
+ "type": "uint16"
543
+ },
544
+ {
545
+ "internalType": "address",
546
+ "name": "_library",
547
+ "type": "address"
548
+ }
549
+ ],
550
+ "name": "addInboundProofLibraryForChain",
551
+ "outputs": [],
552
+ "stateMutability": "nonpayable",
553
+ "type": "function"
554
+ },
555
+ {
556
+ "inputs": [
557
+ {
558
+ "internalType": "address",
559
+ "name": "",
560
+ "type": "address"
561
+ },
562
+ {
563
+ "internalType": "uint16",
564
+ "name": "",
565
+ "type": "uint16"
566
+ }
567
+ ],
568
+ "name": "appConfig",
569
+ "outputs": [
570
+ {
571
+ "internalType": "uint16",
572
+ "name": "inboundProofLibraryVersion",
573
+ "type": "uint16"
574
+ },
575
+ {
576
+ "internalType": "uint64",
577
+ "name": "inboundBlockConfirmations",
578
+ "type": "uint64"
579
+ },
580
+ {
581
+ "internalType": "address",
582
+ "name": "relayer",
583
+ "type": "address"
584
+ },
585
+ {
586
+ "internalType": "uint16",
587
+ "name": "outboundProofType",
588
+ "type": "uint16"
589
+ },
590
+ {
591
+ "internalType": "uint64",
592
+ "name": "outboundBlockConfirmations",
593
+ "type": "uint64"
594
+ },
595
+ {
596
+ "internalType": "address",
597
+ "name": "oracle",
598
+ "type": "address"
599
+ }
600
+ ],
601
+ "stateMutability": "view",
602
+ "type": "function"
603
+ },
604
+ {
605
+ "inputs": [
606
+ {
607
+ "internalType": "uint16",
608
+ "name": "",
609
+ "type": "uint16"
610
+ }
611
+ ],
612
+ "name": "chainAddressSizeMap",
613
+ "outputs": [
614
+ {
615
+ "internalType": "uint256",
616
+ "name": "",
617
+ "type": "uint256"
618
+ }
619
+ ],
620
+ "stateMutability": "view",
621
+ "type": "function"
622
+ },
623
+ {
624
+ "inputs": [
625
+ {
626
+ "internalType": "uint16",
627
+ "name": "",
628
+ "type": "uint16"
629
+ },
630
+ {
631
+ "internalType": "uint16",
632
+ "name": "",
633
+ "type": "uint16"
634
+ }
635
+ ],
636
+ "name": "defaultAdapterParams",
637
+ "outputs": [
638
+ {
639
+ "internalType": "bytes",
640
+ "name": "",
641
+ "type": "bytes"
642
+ }
643
+ ],
644
+ "stateMutability": "view",
645
+ "type": "function"
646
+ },
647
+ {
648
+ "inputs": [
649
+ {
650
+ "internalType": "uint16",
651
+ "name": "",
652
+ "type": "uint16"
653
+ }
654
+ ],
655
+ "name": "defaultAppConfig",
656
+ "outputs": [
657
+ {
658
+ "internalType": "uint16",
659
+ "name": "inboundProofLibraryVersion",
660
+ "type": "uint16"
661
+ },
662
+ {
663
+ "internalType": "uint64",
664
+ "name": "inboundBlockConfirmations",
665
+ "type": "uint64"
666
+ },
667
+ {
668
+ "internalType": "address",
669
+ "name": "relayer",
670
+ "type": "address"
671
+ },
672
+ {
673
+ "internalType": "uint16",
674
+ "name": "outboundProofType",
675
+ "type": "uint16"
676
+ },
677
+ {
678
+ "internalType": "uint64",
679
+ "name": "outboundBlockConfirmations",
680
+ "type": "uint64"
681
+ },
682
+ {
683
+ "internalType": "address",
684
+ "name": "oracle",
685
+ "type": "address"
686
+ }
687
+ ],
688
+ "stateMutability": "view",
689
+ "type": "function"
690
+ },
691
+ {
692
+ "inputs": [
693
+ {
694
+ "internalType": "uint16",
695
+ "name": "_chainId",
696
+ "type": "uint16"
697
+ },
698
+ {
699
+ "internalType": "uint16",
700
+ "name": "_proofType",
701
+ "type": "uint16"
702
+ }
703
+ ],
704
+ "name": "enableSupportedOutboundProof",
705
+ "outputs": [],
706
+ "stateMutability": "nonpayable",
707
+ "type": "function"
708
+ },
709
+ {
710
+ "inputs": [],
711
+ "name": "endpoint",
712
+ "outputs": [
713
+ {
714
+ "internalType": "contract ILayerZeroEndpoint",
715
+ "name": "",
716
+ "type": "address"
717
+ }
718
+ ],
719
+ "stateMutability": "view",
720
+ "type": "function"
721
+ },
722
+ {
723
+ "inputs": [
724
+ {
725
+ "internalType": "uint16",
726
+ "name": "_dstChainId",
727
+ "type": "uint16"
728
+ },
729
+ {
730
+ "internalType": "address",
731
+ "name": "_ua",
732
+ "type": "address"
733
+ },
734
+ {
735
+ "internalType": "bytes",
736
+ "name": "_payload",
737
+ "type": "bytes"
738
+ },
739
+ {
740
+ "internalType": "bool",
741
+ "name": "_payInZRO",
742
+ "type": "bool"
743
+ },
744
+ {
745
+ "internalType": "bytes",
746
+ "name": "_adapterParams",
747
+ "type": "bytes"
748
+ }
749
+ ],
750
+ "name": "estimateFees",
751
+ "outputs": [
752
+ {
753
+ "internalType": "uint256",
754
+ "name": "nativeFee",
755
+ "type": "uint256"
756
+ },
757
+ {
758
+ "internalType": "uint256",
759
+ "name": "zroFee",
760
+ "type": "uint256"
761
+ }
762
+ ],
763
+ "stateMutability": "view",
764
+ "type": "function"
765
+ },
766
+ {
767
+ "inputs": [
768
+ {
769
+ "internalType": "uint16",
770
+ "name": "_remoteChainId",
771
+ "type": "uint16"
772
+ },
773
+ {
774
+ "internalType": "address",
775
+ "name": "_ua",
776
+ "type": "address"
777
+ }
778
+ ],
779
+ "name": "getAppConfig",
780
+ "outputs": [
781
+ {
782
+ "components": [
783
+ {
784
+ "internalType": "uint16",
785
+ "name": "inboundProofLibraryVersion",
786
+ "type": "uint16"
787
+ },
788
+ {
789
+ "internalType": "uint64",
790
+ "name": "inboundBlockConfirmations",
791
+ "type": "uint64"
792
+ },
793
+ {
794
+ "internalType": "address",
795
+ "name": "relayer",
796
+ "type": "address"
797
+ },
798
+ {
799
+ "internalType": "uint16",
800
+ "name": "outboundProofType",
801
+ "type": "uint16"
802
+ },
803
+ {
804
+ "internalType": "uint64",
805
+ "name": "outboundBlockConfirmations",
806
+ "type": "uint64"
807
+ },
808
+ {
809
+ "internalType": "address",
810
+ "name": "oracle",
811
+ "type": "address"
812
+ }
813
+ ],
814
+ "internalType": "struct ILayerZeroUltraLightNodeV2.ApplicationConfiguration",
815
+ "name": "",
816
+ "type": "tuple"
817
+ }
818
+ ],
819
+ "stateMutability": "view",
820
+ "type": "function"
821
+ },
822
+ {
823
+ "inputs": [
824
+ {
825
+ "internalType": "uint16",
826
+ "name": "_remoteChainId",
827
+ "type": "uint16"
828
+ },
829
+ {
830
+ "internalType": "address",
831
+ "name": "_ua",
832
+ "type": "address"
833
+ },
834
+ {
835
+ "internalType": "uint256",
836
+ "name": "_configType",
837
+ "type": "uint256"
838
+ }
839
+ ],
840
+ "name": "getConfig",
841
+ "outputs": [
842
+ {
843
+ "internalType": "bytes",
844
+ "name": "",
845
+ "type": "bytes"
846
+ }
847
+ ],
848
+ "stateMutability": "view",
849
+ "type": "function"
850
+ },
851
+ {
852
+ "inputs": [
853
+ {
854
+ "internalType": "uint16",
855
+ "name": "_chainId",
856
+ "type": "uint16"
857
+ },
858
+ {
859
+ "internalType": "bytes",
860
+ "name": "_path",
861
+ "type": "bytes"
862
+ }
863
+ ],
864
+ "name": "getOutboundNonce",
865
+ "outputs": [
866
+ {
867
+ "internalType": "uint64",
868
+ "name": "",
869
+ "type": "uint64"
870
+ }
871
+ ],
872
+ "stateMutability": "view",
873
+ "type": "function"
874
+ },
875
+ {
876
+ "inputs": [
877
+ {
878
+ "internalType": "address",
879
+ "name": "",
880
+ "type": "address"
881
+ },
882
+ {
883
+ "internalType": "uint16",
884
+ "name": "",
885
+ "type": "uint16"
886
+ },
887
+ {
888
+ "internalType": "bytes32",
889
+ "name": "",
890
+ "type": "bytes32"
891
+ },
892
+ {
893
+ "internalType": "bytes32",
894
+ "name": "",
895
+ "type": "bytes32"
896
+ }
897
+ ],
898
+ "name": "hashLookup",
899
+ "outputs": [
900
+ {
901
+ "internalType": "uint256",
902
+ "name": "",
903
+ "type": "uint256"
904
+ }
905
+ ],
906
+ "stateMutability": "view",
907
+ "type": "function"
908
+ },
909
+ {
910
+ "inputs": [
911
+ {
912
+ "internalType": "uint16",
913
+ "name": "",
914
+ "type": "uint16"
915
+ },
916
+ {
917
+ "internalType": "uint16",
918
+ "name": "",
919
+ "type": "uint16"
920
+ }
921
+ ],
922
+ "name": "inboundProofLibrary",
923
+ "outputs": [
924
+ {
925
+ "internalType": "address",
926
+ "name": "",
927
+ "type": "address"
928
+ }
929
+ ],
930
+ "stateMutability": "view",
931
+ "type": "function"
932
+ },
933
+ {
934
+ "inputs": [],
935
+ "name": "layerZeroToken",
936
+ "outputs": [
937
+ {
938
+ "internalType": "contract IERC20",
939
+ "name": "",
940
+ "type": "address"
941
+ }
942
+ ],
943
+ "stateMutability": "view",
944
+ "type": "function"
945
+ },
946
+ {
947
+ "inputs": [],
948
+ "name": "localChainId",
949
+ "outputs": [
950
+ {
951
+ "internalType": "uint16",
952
+ "name": "",
953
+ "type": "uint16"
954
+ }
955
+ ],
956
+ "stateMutability": "view",
957
+ "type": "function"
958
+ },
959
+ {
960
+ "inputs": [
961
+ {
962
+ "internalType": "uint16",
963
+ "name": "",
964
+ "type": "uint16"
965
+ }
966
+ ],
967
+ "name": "maxInboundProofLibrary",
968
+ "outputs": [
969
+ {
970
+ "internalType": "uint16",
971
+ "name": "",
972
+ "type": "uint16"
973
+ }
974
+ ],
975
+ "stateMutability": "view",
976
+ "type": "function"
977
+ },
978
+ {
979
+ "inputs": [
980
+ {
981
+ "internalType": "address",
982
+ "name": "",
983
+ "type": "address"
984
+ }
985
+ ],
986
+ "name": "nativeFees",
987
+ "outputs": [
988
+ {
989
+ "internalType": "uint256",
990
+ "name": "",
991
+ "type": "uint256"
992
+ }
993
+ ],
994
+ "stateMutability": "view",
995
+ "type": "function"
996
+ },
997
+ {
998
+ "inputs": [],
999
+ "name": "nonceContract",
1000
+ "outputs": [
1001
+ {
1002
+ "internalType": "contract NonceContract",
1003
+ "name": "",
1004
+ "type": "address"
1005
+ }
1006
+ ],
1007
+ "stateMutability": "view",
1008
+ "type": "function"
1009
+ },
1010
+ {
1011
+ "inputs": [],
1012
+ "name": "owner",
1013
+ "outputs": [
1014
+ {
1015
+ "internalType": "address",
1016
+ "name": "",
1017
+ "type": "address"
1018
+ }
1019
+ ],
1020
+ "stateMutability": "view",
1021
+ "type": "function"
1022
+ },
1023
+ {
1024
+ "inputs": [],
1025
+ "name": "renounceOwnership",
1026
+ "outputs": [],
1027
+ "stateMutability": "nonpayable",
1028
+ "type": "function"
1029
+ },
1030
+ {
1031
+ "inputs": [
1032
+ {
1033
+ "internalType": "address",
1034
+ "name": "_ua",
1035
+ "type": "address"
1036
+ },
1037
+ {
1038
+ "internalType": "uint64",
1039
+ "name": "",
1040
+ "type": "uint64"
1041
+ },
1042
+ {
1043
+ "internalType": "uint16",
1044
+ "name": "_dstChainId",
1045
+ "type": "uint16"
1046
+ },
1047
+ {
1048
+ "internalType": "bytes",
1049
+ "name": "_path",
1050
+ "type": "bytes"
1051
+ },
1052
+ {
1053
+ "internalType": "bytes",
1054
+ "name": "_payload",
1055
+ "type": "bytes"
1056
+ },
1057
+ {
1058
+ "internalType": "address payable",
1059
+ "name": "_refundAddress",
1060
+ "type": "address"
1061
+ },
1062
+ {
1063
+ "internalType": "address",
1064
+ "name": "_zroPaymentAddress",
1065
+ "type": "address"
1066
+ },
1067
+ {
1068
+ "internalType": "bytes",
1069
+ "name": "_adapterParams",
1070
+ "type": "bytes"
1071
+ }
1072
+ ],
1073
+ "name": "send",
1074
+ "outputs": [],
1075
+ "stateMutability": "payable",
1076
+ "type": "function"
1077
+ },
1078
+ {
1079
+ "inputs": [
1080
+ {
1081
+ "internalType": "uint16",
1082
+ "name": "_chainId",
1083
+ "type": "uint16"
1084
+ },
1085
+ {
1086
+ "internalType": "uint256",
1087
+ "name": "_size",
1088
+ "type": "uint256"
1089
+ }
1090
+ ],
1091
+ "name": "setChainAddressSize",
1092
+ "outputs": [],
1093
+ "stateMutability": "nonpayable",
1094
+ "type": "function"
1095
+ },
1096
+ {
1097
+ "inputs": [
1098
+ {
1099
+ "internalType": "uint16",
1100
+ "name": "_remoteChainId",
1101
+ "type": "uint16"
1102
+ },
1103
+ {
1104
+ "internalType": "address",
1105
+ "name": "_ua",
1106
+ "type": "address"
1107
+ },
1108
+ {
1109
+ "internalType": "uint256",
1110
+ "name": "_configType",
1111
+ "type": "uint256"
1112
+ },
1113
+ {
1114
+ "internalType": "bytes",
1115
+ "name": "_config",
1116
+ "type": "bytes"
1117
+ }
1118
+ ],
1119
+ "name": "setConfig",
1120
+ "outputs": [],
1121
+ "stateMutability": "nonpayable",
1122
+ "type": "function"
1123
+ },
1124
+ {
1125
+ "inputs": [
1126
+ {
1127
+ "internalType": "uint16",
1128
+ "name": "_chainId",
1129
+ "type": "uint16"
1130
+ },
1131
+ {
1132
+ "internalType": "uint16",
1133
+ "name": "_proofType",
1134
+ "type": "uint16"
1135
+ },
1136
+ {
1137
+ "internalType": "bytes",
1138
+ "name": "_adapterParams",
1139
+ "type": "bytes"
1140
+ }
1141
+ ],
1142
+ "name": "setDefaultAdapterParamsForChainId",
1143
+ "outputs": [],
1144
+ "stateMutability": "nonpayable",
1145
+ "type": "function"
1146
+ },
1147
+ {
1148
+ "inputs": [
1149
+ {
1150
+ "internalType": "uint16",
1151
+ "name": "_chainId",
1152
+ "type": "uint16"
1153
+ },
1154
+ {
1155
+ "internalType": "uint16",
1156
+ "name": "_inboundProofLibraryVersion",
1157
+ "type": "uint16"
1158
+ },
1159
+ {
1160
+ "internalType": "uint64",
1161
+ "name": "_inboundBlockConfirmations",
1162
+ "type": "uint64"
1163
+ },
1164
+ {
1165
+ "internalType": "address",
1166
+ "name": "_relayer",
1167
+ "type": "address"
1168
+ },
1169
+ {
1170
+ "internalType": "uint16",
1171
+ "name": "_outboundProofType",
1172
+ "type": "uint16"
1173
+ },
1174
+ {
1175
+ "internalType": "uint64",
1176
+ "name": "_outboundBlockConfirmations",
1177
+ "type": "uint64"
1178
+ },
1179
+ {
1180
+ "internalType": "address",
1181
+ "name": "_oracle",
1182
+ "type": "address"
1183
+ }
1184
+ ],
1185
+ "name": "setDefaultConfigForChainId",
1186
+ "outputs": [],
1187
+ "stateMutability": "nonpayable",
1188
+ "type": "function"
1189
+ },
1190
+ {
1191
+ "inputs": [
1192
+ {
1193
+ "internalType": "address",
1194
+ "name": "_layerZeroToken",
1195
+ "type": "address"
1196
+ }
1197
+ ],
1198
+ "name": "setLayerZeroToken",
1199
+ "outputs": [],
1200
+ "stateMutability": "nonpayable",
1201
+ "type": "function"
1202
+ },
1203
+ {
1204
+ "inputs": [
1205
+ {
1206
+ "internalType": "uint16",
1207
+ "name": "_remoteChainId",
1208
+ "type": "uint16"
1209
+ },
1210
+ {
1211
+ "internalType": "bytes32",
1212
+ "name": "_remoteUln",
1213
+ "type": "bytes32"
1214
+ }
1215
+ ],
1216
+ "name": "setRemoteUln",
1217
+ "outputs": [],
1218
+ "stateMutability": "nonpayable",
1219
+ "type": "function"
1220
+ },
1221
+ {
1222
+ "inputs": [
1223
+ {
1224
+ "internalType": "address",
1225
+ "name": "_treasury",
1226
+ "type": "address"
1227
+ }
1228
+ ],
1229
+ "name": "setTreasury",
1230
+ "outputs": [],
1231
+ "stateMutability": "nonpayable",
1232
+ "type": "function"
1233
+ },
1234
+ {
1235
+ "inputs": [
1236
+ {
1237
+ "internalType": "uint16",
1238
+ "name": "",
1239
+ "type": "uint16"
1240
+ },
1241
+ {
1242
+ "internalType": "uint16",
1243
+ "name": "",
1244
+ "type": "uint16"
1245
+ }
1246
+ ],
1247
+ "name": "supportedOutboundProof",
1248
+ "outputs": [
1249
+ {
1250
+ "internalType": "bool",
1251
+ "name": "",
1252
+ "type": "bool"
1253
+ }
1254
+ ],
1255
+ "stateMutability": "view",
1256
+ "type": "function"
1257
+ },
1258
+ {
1259
+ "inputs": [
1260
+ {
1261
+ "internalType": "address",
1262
+ "name": "newOwner",
1263
+ "type": "address"
1264
+ }
1265
+ ],
1266
+ "name": "transferOwnership",
1267
+ "outputs": [],
1268
+ "stateMutability": "nonpayable",
1269
+ "type": "function"
1270
+ },
1271
+ {
1272
+ "inputs": [],
1273
+ "name": "treasuryContract",
1274
+ "outputs": [
1275
+ {
1276
+ "internalType": "contract ILayerZeroTreasury",
1277
+ "name": "",
1278
+ "type": "address"
1279
+ }
1280
+ ],
1281
+ "stateMutability": "view",
1282
+ "type": "function"
1283
+ },
1284
+ {
1285
+ "inputs": [],
1286
+ "name": "treasuryZROFees",
1287
+ "outputs": [
1288
+ {
1289
+ "internalType": "uint256",
1290
+ "name": "",
1291
+ "type": "uint256"
1292
+ }
1293
+ ],
1294
+ "stateMutability": "view",
1295
+ "type": "function"
1296
+ },
1297
+ {
1298
+ "inputs": [
1299
+ {
1300
+ "internalType": "uint16",
1301
+ "name": "",
1302
+ "type": "uint16"
1303
+ }
1304
+ ],
1305
+ "name": "ulnLookup",
1306
+ "outputs": [
1307
+ {
1308
+ "internalType": "bytes32",
1309
+ "name": "",
1310
+ "type": "bytes32"
1311
+ }
1312
+ ],
1313
+ "stateMutability": "view",
1314
+ "type": "function"
1315
+ },
1316
+ {
1317
+ "inputs": [
1318
+ {
1319
+ "internalType": "uint16",
1320
+ "name": "_srcChainId",
1321
+ "type": "uint16"
1322
+ },
1323
+ {
1324
+ "internalType": "bytes32",
1325
+ "name": "_lookupHash",
1326
+ "type": "bytes32"
1327
+ },
1328
+ {
1329
+ "internalType": "uint256",
1330
+ "name": "_confirmations",
1331
+ "type": "uint256"
1332
+ },
1333
+ {
1334
+ "internalType": "bytes32",
1335
+ "name": "_blockData",
1336
+ "type": "bytes32"
1337
+ }
1338
+ ],
1339
+ "name": "updateHash",
1340
+ "outputs": [],
1341
+ "stateMutability": "nonpayable",
1342
+ "type": "function"
1343
+ },
1344
+ {
1345
+ "inputs": [
1346
+ {
1347
+ "internalType": "uint16",
1348
+ "name": "_srcChainId",
1349
+ "type": "uint16"
1350
+ },
1351
+ {
1352
+ "internalType": "address",
1353
+ "name": "_dstAddress",
1354
+ "type": "address"
1355
+ },
1356
+ {
1357
+ "internalType": "uint256",
1358
+ "name": "_gasLimit",
1359
+ "type": "uint256"
1360
+ },
1361
+ {
1362
+ "internalType": "bytes32",
1363
+ "name": "_lookupHash",
1364
+ "type": "bytes32"
1365
+ },
1366
+ {
1367
+ "internalType": "bytes32",
1368
+ "name": "_blockData",
1369
+ "type": "bytes32"
1370
+ },
1371
+ {
1372
+ "internalType": "bytes",
1373
+ "name": "_transactionProof",
1374
+ "type": "bytes"
1375
+ }
1376
+ ],
1377
+ "name": "validateTransactionProof",
1378
+ "outputs": [],
1379
+ "stateMutability": "nonpayable",
1380
+ "type": "function"
1381
+ },
1382
+ {
1383
+ "inputs": [
1384
+ {
1385
+ "internalType": "address payable",
1386
+ "name": "_to",
1387
+ "type": "address"
1388
+ },
1389
+ {
1390
+ "internalType": "uint256",
1391
+ "name": "_amount",
1392
+ "type": "uint256"
1393
+ }
1394
+ ],
1395
+ "name": "withdrawNative",
1396
+ "outputs": [],
1397
+ "stateMutability": "nonpayable",
1398
+ "type": "function"
1399
+ },
1400
+ {
1401
+ "inputs": [
1402
+ {
1403
+ "internalType": "address",
1404
+ "name": "_to",
1405
+ "type": "address"
1406
+ },
1407
+ {
1408
+ "internalType": "uint256",
1409
+ "name": "_amount",
1410
+ "type": "uint256"
1411
+ }
1412
+ ],
1413
+ "name": "withdrawZRO",
1414
+ "outputs": [],
1415
+ "stateMutability": "nonpayable",
1416
+ "type": "function"
1417
+ }
1418
+ ],
1419
+ "bytecode": "0x60e06040523480156200001157600080fd5b50d380156200001f57600080fd5b50d280156200002d57600080fd5b5060405162005a7e38038062005a7e833981016040819052620000509162000167565b60016000908155620000616200013a565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b038316620000e15760405162461bcd60e51b8152600401620000d890620001b9565b60405180910390fd5b6001600160a01b0382166200010a5760405162461bcd60e51b8152600401620000d89062000203565b60f01b6001600160f01b03191660a052606091821b6001600160601b0319908116608052911b1660c05262000252565b3390565b80516000906001600160a81b038116811462000158578182fd5b6001600160a01b031692915050565b6000806000606084860312156200017c578283fd5b62000187846200013e565b925062000197602085016200013e565b9150604084015161ffff81168114620001ae578182fd5b809150509250925092565b6020808252602a908201527f4c617965725a65726f3a20656e64706f696e742063616e6e6f74206265207a65604082015269726f206164647265737360b01b606082015260800190565b6020808252602f908201527f4c617965725a65726f3a206e6f6e6365436f6e74726163742063616e6e6f742060408201526e6265207a65726f206164647265737360881b606082015260800190565b60805160601c60a05160f01c60c05160601c6157d3620002ab60003980610cab52806114a35280612ad65250806116ad5280611bae528061284d5250806112fc5280611bd252806129da528061306a52506157d36000f3fe6080604052600436106102e75760003560e01c80638317814a11610184578063d543c774116100d6578063ed28580a1161008a578063f47a5feb11610064578063f47a5feb14610c06578063f58589a214610c35578063f8e1734c14610c6f576102e7565b8063ed28580a14610b58578063f0f4426014610b92578063f2fde38b14610bcc576102e7565b8063ddfdef5a116100bb578063ddfdef5a14610aaa578063ea216c2114610ae4578063eb0d4c3114610b1e576102e7565b8063d543c77414610a29578063db00719b14610a70576102e7565b8063959f594311610138578063b77d22ad11610112578063b77d22ad14610979578063b8e7e3e0146109a8578063b9a99bed146109e2576102e7565b8063959f5943146108be578063987fa2d5146108f8578063a466222214610932576102e7565b806387078f9f1161016957806387078f9f146108265780638da5cb5b14610860578063904d3b8d1461088f576102e7565b80638317814a146107b25780638525b711146107ec576102e7565b806352d2871f1161023d5780636a14ac82116101f1578063759c5b3b116101cb578063759c5b3b1461070f5780638140666e146107495780638207f79d14610778576102e7565b80636a14ac821461066c578063704316e5146106a6578063715018a6146106e0576102e7565b80635b056da5116102225780635b056da5146105c75780635e280f111461060357806369412bfa14610632576102e7565b806352d2871f1461055357806352d3b5001461058d576102e7565b80632cfacb061161029f57806340a7bb101161027957806340a7bb10146104c957806349148c37146105115780634d3a0f7c14610540576102e7565b80632cfacb06146104125780632f8134641461044e57806331bd24301461049a576102e7565b806307b9ca7c116102d057806307b9ca7c1461036d57806318da00111461039c5780632a819bbf146103cb576102e7565b806302bd9743146102ec57806307b18bde14610331575b600080fd5b3480156102f857600080fd5b50d3801561030557600080fd5b50d2801561031257600080fd5b5061031b610ca9565b6040516103289190614992565b60405180910390f35b34801561033d57600080fd5b50d3801561034a57600080fd5b50d2801561035757600080fd5b5061036b6103663660046140bb565b610ccd565b005b34801561037957600080fd5b50d3801561038657600080fd5b50d2801561039357600080fd5b5061031b610e57565b3480156103a857600080fd5b50d380156103b557600080fd5b50d280156103c257600080fd5b5061031b610e66565b3480156103d757600080fd5b50d380156103e457600080fd5b50d280156103f157600080fd5b50610405610400366004614663565b610e75565b6040516103289190614a27565b34801561041e57600080fd5b50d3801561042b57600080fd5b50d2801561043857600080fd5b50610441610f37565b60405161032891906149c9565b34801561045a57600080fd5b50d3801561046757600080fd5b50d2801561047457600080fd5b5061048861048336600461435c565b610f3c565b6040516103289695949392919061561d565b3480156104a657600080fd5b50d380156104b357600080fd5b50d280156104c057600080fd5b50610441610fc0565b3480156104d557600080fd5b50d380156104e257600080fd5b50d280156104ef57600080fd5b506105036104fe3660046143b9565b610fc5565b604051610328929190615666565b34801561051d57600080fd5b50d3801561052a57600080fd5b50d2801561053757600080fd5b506104416112f5565b61036b61054e366004614190565b6112fa565b34801561055f57600080fd5b50d3801561056c57600080fd5b50d2801561057957600080fd5b5061040561058836600461446d565b611746565b34801561059957600080fd5b50d380156105a657600080fd5b50d280156105b357600080fd5b5061036b6105c236600461408f565b611ab0565b3480156105d357600080fd5b50d380156105e057600080fd5b50d280156105ed57600080fd5b506105f6611bac565b60405161032891906154e8565b34801561060f57600080fd5b50d3801561061c57600080fd5b50d2801561062957600080fd5b5061031b611bd0565b34801561063e57600080fd5b50d3801561064b57600080fd5b50d2801561065857600080fd5b5061044161066736600461408f565b611bf4565b34801561067857600080fd5b50d3801561068557600080fd5b50d2801561069257600080fd5b5061036b6106a13660046146f3565b611c13565b3480156106b257600080fd5b50d380156106bf57600080fd5b50d280156106cc57600080fd5b5061036b6106db3660046145d6565b611f75565b3480156106ec57600080fd5b50d380156106f957600080fd5b50d2801561070657600080fd5b5061036b61203a565b34801561071b57600080fd5b50d3801561072857600080fd5b50d2801561073557600080fd5b50610441610744366004614130565b612110565b34801561075557600080fd5b50d3801561076257600080fd5b50d2801561076f57600080fd5b5061044161213c565b34801561078457600080fd5b50d3801561079157600080fd5b50d2801561079e57600080fd5b5061036b6107ad366004614378565b612141565b3480156107be57600080fd5b50d380156107cb57600080fd5b50d280156107d857600080fd5b5061036b6107e7366004614690565b6122da565b3480156107f857600080fd5b50d3801561080557600080fd5b50d2801561081257600080fd5b5061036b61082136600461417e565b6123c3565b34801561083257600080fd5b50d3801561083f57600080fd5b50d2801561084c57600080fd5b5061036b61085b3660046145ab565b6124c5565b34801561086c57600080fd5b50d3801561087957600080fd5b50d2801561088657600080fd5b5061031b6125bc565b34801561089b57600080fd5b50d380156108a857600080fd5b50d280156108b557600080fd5b506104416125cb565b3480156108ca57600080fd5b50d380156108d757600080fd5b50d280156108e457600080fd5b506104416108f336600461435c565b6125d0565b34801561090457600080fd5b50d3801561091157600080fd5b50d2801561091e57600080fd5b5061036b61092d3660046144b7565b6125e2565b34801561093e57600080fd5b50d3801561094b57600080fd5b50d2801561095857600080fd5b5061096c610967366004614378565b612a76565b604051610328919061547c565b34801561098557600080fd5b50d3801561099257600080fd5b50d2801561099f57600080fd5b50610441612a88565b3480156109b457600080fd5b50d380156109c157600080fd5b50d280156109ce57600080fd5b506105f66109dd36600461435c565b612a8d565b3480156109ee57600080fd5b50d380156109fb57600080fd5b50d28015610a0857600080fd5b50610a1c610a17366004614610565b612aa3565b6040516103289190615674565b348015610a3557600080fd5b50d38015610a4257600080fd5b50d28015610a4f57600080fd5b50610a63610a5e366004614663565b612b67565b60405161032891906149a6565b348015610a7c57600080fd5b50d38015610a8957600080fd5b50d28015610a9657600080fd5b5061031b610aa5366004614663565b612b87565b348015610ab657600080fd5b50d38015610ac357600080fd5b50d28015610ad057600080fd5b50610488610adf3660046140ef565b612bad565b348015610af057600080fd5b50d38015610afd57600080fd5b50d28015610b0a57600080fd5b50610441610b1936600461435c565b612c3c565b348015610b2a57600080fd5b50d38015610b3757600080fd5b50d28015610b4457600080fd5b5061036b610b53366004614663565b612c4e565b348015610b6457600080fd5b50d38015610b7157600080fd5b50d28015610b7e57600080fd5b5061036b610b8d3660046145ab565b612d3c565b348015610b9e57600080fd5b50d38015610bab57600080fd5b50d28015610bb857600080fd5b5061036b610bc736600461408f565b612e27565b348015610bd857600080fd5b50d38015610be557600080fd5b50d28015610bf257600080fd5b5061036b610c0136600461408f565b612f23565b348015610c1257600080fd5b50d38015610c1f57600080fd5b50d28015610c2c57600080fd5b50610441613050565b348015610c4157600080fd5b50d38015610c4e57600080fd5b50d28015610c5b57600080fd5b50610441610c6a36600461408f565b613056565b348015610c7b57600080fd5b50d38015610c8857600080fd5b50d28015610c9557600080fd5b5061036b610ca4366004614531565b613068565b7f000000000000000000000000000000000000000000000000000000000000000081565b60026000541415610d25576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556001600160a01b038216610d595760405162461bcd60e51b8152600401610d5090614c4b565b60405180910390fd5b33600090815260046020526040902054610d7390826133cf565b336000908152600460205260408082209290925590516001600160a01b038416908390610d9f906148c7565b60006040518083038185875af1925050503d8060008114610ddc576040519150601f19603f3d011682016040523d82523d6000602084013e610de1565b606091505b5050905080610e025760405162461bcd60e51b8152600401610d5090614bb7565b826001600160a01b0316336001600160a01b03167f3bfd26201736b5cb14a562ab3cfc2bef76901726e3a78483d6288af47131e1d984604051610e4591906149c9565b60405180910390a35050600160005550565b6002546001600160a01b031681565b6003546001600160a01b031681565b60086020908152600092835260408084208252918352918190208054825160026001831615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190921691909104601f810185900485028201850190935282815292909190830182828015610f2f5780601f10610f0457610100808354040283529160200191610f2f565b820191906000526020600020905b815481529060010190602001808311610f1257829003601f168201915b505050505081565b600381565b6007602052600090815260409020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600681565b6000806000610fd48a8a61342c565b90506060841561101d5785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506110ec92505050565b61ffff808c166000908152600860209081526040808320606087015190941683529281529082902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600186161502019093169290920491820184900484028101840190945280845290918301828280156110e45780601f106110b9576101008083540402835291602001916110e4565b820191906000526020600020905b8154815290600101906020018083116110c757829003601f168201915b505050505090505b600082604001516001600160a01b031663c03f15298d85606001518e8e8e9050876040518663ffffffff1660e01b815260040161112d9594939291906155ab565b60206040518083038186803b15801561114557600080fd5b505afa158015611159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117d919061479b565b905060008b905060008460a001516001600160a01b0316635553fb8e8f87606001518860800151866040518563ffffffff1660e01b81526004016111c494939291906155e7565b60206040518083038186803b1580156111dc57600080fd5b505afa1580156111f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611214919061479b565b6003546040517f5cbbbd750000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b0390911690635cbbbd7590611267908e90889087906004016149b1565b60206040518083038186803b15801561127f57600080fd5b505afa158015611293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b7919061479b565b90508a6112c757809750876112cc565b809650865b506112e1826112db8a876135f7565b906135f7565b975050505050505097509795505050505050565b600281565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146113425760405162461bcd60e51b8152600401610d5090615274565b61ffff89166000908152600e60205260409020548b908a906113765760405162461bcd60e51b8152600401610d5090614aec565b61ffff81166000908152600c602052604081205460609190801580159061139f5750601481018c145b6113bb5760405162461bcd60e51b8152600401610d5090615308565b6000808e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505083810160140151925090506001600160a01b038781169083161461142a5760405162461bcd60e51b8152600401610d5090614f55565b8e8e600090859261143d939291906156ad565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040517f6fe7b673000000000000000000000000000000000000000000000000000000008152929750506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691636fe7b67391506114dd9089908b9086906004016154f7565b602060405180830381600087803b1580156114f757600080fd5b505af115801561150b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152f91906147cf565b935050505060008a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061157b925087915088905061342c565b905060006115c386838986518d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061365192505050565b905060006115d287848a61382b565b905060006115e283838b8f6138e5565b905060006115f4826112db86866135f7565b9050348111156116165760405162461bcd60e51b8152600401610d5090614bee565b600061162234836133cf565b905080156116a85760008f6001600160a01b031682604051611643906148c7565b60006040518083038185875af1925050503d8060008114611680576040519150601f19603f3d011682016040523d82523d6000602084013e611685565b606091505b50509050806116a65760405162461bcd60e51b8152600401610d5090614d62565b505b6000887f00000000000000000000000000000000000000000000000000000000000000008d8d8d8c6040516020016116e5969594939291906148ca565b60405160208183030381529060405290507fe9bded5f24a4168e4f3bf44e00298c993b22376aad8c58c7dda9718a54cbea82816040516117259190614a27565b60405180910390a15050505050505050505050505050505050505050505050565b6001600160a01b038216600090815260066020908152604080832061ffff87168452909152902060609060018314156117da57805461ffff166117c45761ffff8086166000908152600760209081526040918290205491516117ad939290921691016154e8565b604051602081830303815290604052915050611aa9565b80546040516117ad9161ffff16906020016154e8565b600283141561185057805462010000900467ffffffffffffffff1661182e5761ffff85166000908152600760209081526040918290205491516117ad9262010000900467ffffffffffffffff169101615674565b80546040516117ad9162010000900467ffffffffffffffff1690602001615674565b60038314156118db5780546a010000000000000000000090046001600160a01b03166118b25761ffff85166000908152600760209081526040918290205491516117ad926a010000000000000000000090046001600160a01b03169101614992565b80546040516117ad916a010000000000000000000090046001600160a01b031690602001614992565b60048314156119945780547e01000000000000000000000000000000000000000000000000000000000000900461ffff1661195c5761ffff8086166000908152600760209081526040918290205491516117ad937e0100000000000000000000000000000000000000000000000000000000000090930490921691016154e8565b80546040516117ad917e01000000000000000000000000000000000000000000000000000000000000900461ffff16906020016154e8565b6005831415611a0157600181015467ffffffffffffffff166119e25761ffff85166000908152600760209081526040918290206001015491516117ad9267ffffffffffffffff169101615674565b60018101546040516117ad9167ffffffffffffffff1690602001615674565b6006831415611a8f5760018101546801000000000000000090046001600160a01b0316611a655761ffff85166000908152600760209081526040918290206001015491516117ad926801000000000000000090046001600160a01b03169101614992565b60018101546040516117ad916801000000000000000090046001600160a01b031690602001614992565b60405162461bcd60e51b8152600401610d5090614b80565b505b9392505050565b611ab8613a4f565b6001600160a01b0316611ac96125bc565b6001600160a01b031614611b24576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116611b4a5760405162461bcd60e51b8152600401610d5090614ca8565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f33d644987381deff4408951d55afa136f124e22a7810b163b2aaa3ebef770f6490600090a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166000908152600460205260409020545b919050565b611c1b613a4f565b6001600160a01b0316611c2c6125bc565b6001600160a01b031614611c87576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8088166000908152600a6020526040902054811690871611801590611cb3575060008661ffff16115b611ccf5760405162461bcd60e51b8152600401610d50906150a3565b60008567ffffffffffffffff1611611cf95760405162461bcd60e51b8152600401610d50906153c2565b6001600160a01b038416611d1f5760405162461bcd60e51b8152600401610d5090614d05565b61ffff8088166000908152600b602090815260408083209387168352929052205460ff16611d5f5760405162461bcd60e51b8152600401610d5090614a8f565b60008267ffffffffffffffff1611611d895760405162461bcd60e51b8152600401610d50906152ab565b6001600160a01b038116611daf5760405162461bcd60e51b8152600401610d5090614e2d565b6040518060c001604052808761ffff1681526020018667ffffffffffffffff168152602001856001600160a01b031681526020018461ffff1681526020018367ffffffffffffffff168152602001826001600160a01b0316815250600760008961ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548161ffff021916908361ffff16021790555060208201518160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550604082015181600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600001601e6101000a81548161ffff021916908361ffff16021790555060808201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a08201518160010160086101000a8154816001600160a01b0302191690836001600160a01b031602179055509050508661ffff167f5a76432853a0871c4e780def7f3ffc7912339b53f022ac31127fe5ff84a36fa1878787878787604051611f649695949392919061561d565b60405180910390a250505050505050565b336000908152600d6020908152604080832061ffff8816845282528083208684528252808320848452909152902054828110611fc35760405162461bcd60e51b8152600401610d5090614fe9565b336000818152600d6020908152604080832061ffff8a1680855290835281842089855283528184208785529092529182902086905590517f74bbc026808dcba59692d6a8bb20596849ca718e10e2432c6cdf48af865bc5d99061202b908890879089906149d2565b60405180910390a35050505050565b612042613a4f565b6001600160a01b03166120536125bc565b6001600160a01b0316146120ae576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600d60209081526000948552604080862082529385528385208152918452828420909152825290205481565b600481565b612149613a4f565b6001600160a01b031661215a6125bc565b6001600160a01b0316146121b5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166121db5760405162461bcd60e51b8152600401610d5090614f8c565b61ffff8083166000908152600a602052604090205481169081106122115760405162461bcd60e51b8152600401610d5090615217565b61ffff8381166000818152600a6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660019790970195861696871790556009825280832095835294905283902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03861617905591519091907f802d55279d51813cb7a9a98e8fd2d7bec5346cb830901c11b85d1650cb857e9a906122cd908590614992565b60405180910390a2505050565b6122e2613a4f565b6001600160a01b03166122f36125bc565b6001600160a01b03161461234e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8085166000908152600860209081526040808320938716835292905220612379908383613e47565b508261ffff168461ffff167f4a5695eee2a74d548d5f5c485a3de99ace99e3b664c8e30a90f49be6ebb5493284846040516123b5929190614a13565b60405180910390a350505050565b6002600054141561241b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556003546001600160a01b0316331461244a5760405162461bcd60e51b8152600401610d5090614b49565b60055461245790826133cf565b600555600254612471906001600160a01b03168383613a53565b816001600160a01b0316336001600160a01b03167f3a20c8c3cd1848485ae8261a52398bb9b26f195b717306b3cf7f058e62c095d5836040516124b491906149c9565b60405180910390a350506001600055565b6124cd613a4f565b6001600160a01b03166124de6125bc565b6001600160a01b031614612539576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600c60205260409020541561256a5760405162461bcd60e51b8152600401610d5090615365565b61ffff82166000818152600c602052604090819020839055517f0611bb2107e385b79ec826fff8ecc1c1248a7aae3c875c96668f8cfbf1734220906125b09084906149c9565b60405180910390a25050565b6001546001600160a01b031690565b600581565b600c6020526000908152604090205481565b60006125ee888861342c565b60408101519091506001600160a01b0316331461261d5760405162461bcd60e51b8152600401610d5090614f1e565b612625613ef1565b61ffff89166000908152600c6020526040902054806126565760405162461bcd60e51b8152600401610d5090615308565b60a08301516001600160a01b03166000908152600d6020908152604080832061ffff8e16845282528083208a8452825280832089845290915290205480158015906126af5750836020015167ffffffffffffffff168110155b6126cb5760405162461bcd60e51b8152600401610d509061541f565b61ffff808c166000908152600960209081526040808320885190941683529290528190205490517fb71e0f710000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690819063b71e0f719061273d908b908b908b9089906004016149e8565b600060405180830381600087803b15801561275757600080fd5b505af115801561276b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526127b19190810190614280565b60a081015161ffff8e166000908152600e60205260409020549195501491505080156127e0575060a082015115155b6127fc5760405162461bcd60e51b8152600401610d5090614e8a565b8961ffff16826000015161ffff16146128275760405162461bcd60e51b8152600401610d5090614ee7565b808260800151511461284b5760405162461bcd60e51b8152600401610d5090615100565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16826020015161ffff16146128965760405162461bcd60e51b8152600401610d509061506c565b886001600160a01b031682606001516001600160a01b0316146128cb5760405162461bcd60e51b8152600401610d5090614df6565b6128d489613ad8565b6129455781606001516001600160a01b0316826000015161ffff167fa2786598bd84ae4a299103996359e6cb4333404583256079dfc279386baf5832846080015185604001518660c001518051906020012060405161293593929190614a60565b60405180910390a3505050612a6d565b60008260800151836060015160405160200161296292919061487d565b604051602081830303815290604052905082606001516001600160a01b0316836000015161ffff167f2bd2d8a84b748439fd50d79a49502b4eb5faa25b864da6a9ab5c150704be9a4d856080015186604001518760c00151805190602001206040516129d093929190614a60565b60405180910390a37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c2fa48138c838d87604001518e8960c001516040518763ffffffff1660e01b8152600401612a369695949392919061554a565b600060405180830381600087803b158015612a5057600080fd5b505af1158015612a64573d6000803e3d6000fd5b50505050505050505b50505050505050565b612a7e613f2f565b611aa9838361342c565b600181565b600a6020526000908152604090205461ffff1681565b6040517fc533338f0000000000000000000000000000000000000000000000000000000081526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c533338f90612b0f9087908790879060040161552c565b60206040518083038186803b158015612b2757600080fd5b505afa158015612b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5f91906147cf565b949350505050565b600b60209081526000928352604080842090915290825290205460ff1681565b60096020908152600092835260408084209091529082529020546001600160a01b031681565b60066020908152600092835260408084209091529082529020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600e6020526000908152604090205481565b612c56613a4f565b6001600160a01b0316612c676125bc565b6001600160a01b031614612cc2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8083166000818152600b60209081526040808320948616835293905282902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517fec23bee6f88cfecebb09d6aaaed66f0ce110debc1f61117c8270a7116597df9a906125b09084906154e8565b612d44613a4f565b6001600160a01b0316612d556125bc565b6001600160a01b031614612db0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600e602052604090205415612de15760405162461bcd60e51b8152600401610d50906151ba565b61ffff82166000818152600e602052604090819020839055517f0dad975e1d2fbe771c95cdcc7be9a1e61181de7173abe0a32b8f8f83140873e5906125b09084906149c9565b612e2f613a4f565b6001600160a01b0316612e406125bc565b6001600160a01b031614612e9b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612ec15760405162461bcd60e51b8152600401610d509061515d565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390600090a250565b612f2b613a4f565b6001600160a01b0316612f3c6125bc565b6001600160a01b031614612f97576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612fdc5760405162461bcd60e51b815260040180806020018281038252602681526020018061574e6026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60055481565b60046020526000908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146130b05760405162461bcd60e51b8152600401610d5090615274565b6001600160a01b038416600090815260066020908152604080832061ffff891684529091529020600184141561315d5760006130ee8385018561435c565b61ffff8089166000908152600a6020526040902054919250908116908216111561312a5760405162461bcd60e51b8152600401610d50906150a3565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff91909116178155613383565b60028414156131b4576000613174838501856147b3565b825467ffffffffffffffff90911662010000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff90911617825550613383565b60038414156132125760006131cb8385018561408f565b82546001600160a01b039091166a0100000000000000000000027fffff0000000000000000000000000000000000000000ffffffffffffffffffff90911617825550613383565b60048414156132cc5760006132298385018561435c565b61ffff8089166000908152600b602090815260408083209385168352929052205490915060ff168061325d575061ffff8116155b6132795760405162461bcd60e51b8152600401610d5090614a8f565b815461ffff9091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909116178155613383565b60058414156133245760006132e3838501856147b3565b6001830180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905550613383565b6006841415611a8f57600061333b8385018561408f565b6001830180546001600160a01b0390921668010000000000000000027fffffffff0000000000000000000000000000000000000000ffffffffffffffff909216919091179055505b83856001600160a01b03167ffc01bf86212a14151d51d1be5c2ac64d67d5ec823dfc6f53298d7ce3f3d3d25285856040516133bf929190614a13565b60405180910390a3505050505050565b600082821115613426576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b613434613f2f565b6001600160a01b03808316600090815260066020908152604080832061ffff808916808652918452828520835160c0810185528154808416825267ffffffffffffffff6201000082048116838901526a010000000000000000000082048a16838801527e010000000000000000000000000000000000000000000000000000000000009091048416606083015260019092015491821660808201526801000000000000000090910490961660a08701529084526007909252909120825190911661350157805461ffff1682525b602082015167ffffffffffffffff1661352c57805462010000900467ffffffffffffffff1660208301525b60408201516001600160a01b031661355d5780546a010000000000000000000090046001600160a01b031660408301525b606082015161ffff166135985780547e01000000000000000000000000000000000000000000000000000000000000900461ffff1660608301525b608082015167ffffffffffffffff166135c057600181015467ffffffffffffffff1660808301525b60a08201516001600160a01b0316611aa757600101546801000000000000000090046001600160a01b031660a08201529392505050565b600082820183811015611aa9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081516000141561372c5761ffff808716600090815260086020908152604080832060608a015190941683529281529082902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600186161502019093169290920491820184900484028101840190945280845290918301828280156137245780601f106136f957610100808354040283529160200191613724565b820191906000526020600020905b81548152906001019060200180831161370757829003601f168201915b505050505091505b604080860151606087015191517f5886ea65000000000000000000000000000000000000000000000000000000008152909182916001600160a01b03831691635886ea6591613785918c918b908b908b906004016155ab565b602060405180830381600087803b15801561379f57600080fd5b505af11580156137b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d7919061479b565b92506137e38284613ade565b7fb0c632f55f1e1b3b2c3d82f41ee4716bb4c00f0f5d84cdafc141581bb8757a4f848860600151604051613818929190614a3a565b60405180910390a1505095945050505050565b60a0820151606083015160808401516040517fc5e193cd000000000000000000000000000000000000000000000000000000008152600093926001600160a01b0384169263c5e193cd92613887928a92909189906004016155e7565b602060405180830381600087803b1580156138a157600080fd5b505af11580156138b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138d9919061479b565b9150611aa78183613ade565b6000806001600160a01b038316158061390757506002546001600160a01b0316155b6003546040517f5cbbbd750000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b0390911690635cbbbd759061395b908515908b908b906004016149b1565b60206040518083038186803b15801561397357600080fd5b505afa158015613987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ab919061479b565b90508015613a455781156139d8576003546001600160a01b03166139cf8183613ade565b81935050613a45565b846001600160a01b0316846001600160a01b03161480613a0057506001600160a01b03841632145b613a1c5760405162461bcd60e51b8152600401610d5090614d99565b600254613a34906001600160a01b0316853084613b21565b600554613a4190826135f7565b6005555b5050949350505050565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613ad3908490613baf565b505050565b3b151590565b6001600160a01b038216600090815260046020526040902054613b0190826135f7565b6001600160a01b0390921660009081526004602052604090209190915550565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052613ba9908590613baf565b50505050565b6000613c04826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613c609092919063ffffffff16565b805190915015613ad357808060200190516020811015613c2357600080fd5b5051613ad35760405162461bcd60e51b815260040180806020018281038252602a815260200180615774602a913960400191505060405180910390fd5b6060612b5f848460008585613c7485613ad8565b613cc5576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310613d2157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613ce4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613d83576040519150601f19603f3d011682016040523d82523d6000602084013e613d88565b606091505b5091509150613d98828286613da3565b979650505050505050565b60608315613db2575081611aa9565b825115613dc25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e0c578181015183820152602001613df4565b50505050905090810190601f168015613e395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282613e7d5760008555613ee1565b82601f10613eb4578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555613ee1565b82800160010185558215613ee1579182015b82811115613ee1578235825591602001919060010190613ec6565b50613eed929150613f64565b5090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b5b80821115613eed5760008155600101613f65565b60008135613f8681615701565b6001600160a01b031692915050565b60008151613f8681615701565b60008083601f840112613fb3578182fd5b50813567ffffffffffffffff811115613fca578182fd5b602083019150836020828501011115613fe257600080fd5b9250929050565b600082601f830112613ff9578081fd5b815167ffffffffffffffff81111561400d57fe5b61403e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615689565b818152846020838601011115614052578283fd5b612b5f8260208301602087016156d5565b8035611c0e81615727565b8051611c0e81615727565b8035611c0e81615737565b8051611c0e81615737565b6000602082840312156140a0578081fd5b81356140ab81615701565b6001600160a01b03169392505050565b600080604083850312156140cd578081fd5b82356140d881615701565b6001600160a01b0316946020939093013593505050565b60008060408385031215614101578182fd5b823561410c81615701565b6001600160a01b03169150602083013561412581615727565b809150509250929050565b60008060008060808587031215614145578182fd5b843561415081615701565b6001600160a01b03169350602085013561416981615727565b93969395505050506040820135916060013590565b600080604083850312156140cd578182fd5b60008060008060008060008060008060006101008c8e0312156141b1578687fd5b6141ba8c613f79565b9a506141c860208d01614079565b99506141d660408d01614063565b985067ffffffffffffffff8060608e013511156141f1578788fd5b6142018e60608f01358f01613fa2565b909950975060808d0135811015614216578687fd5b6142268e60808f01358f01613fa2565b909750955061423760a08e01613f79565b945061424560c08e01613f79565b93508060e08e01351115614257578283fd5b506142688d60e08e01358e01613fa2565b81935080925050509295989b509295989b9093969950565b600060208284031215614291578081fd5b815167ffffffffffffffff808211156142a8578283fd5b9083019060e082860312156142bb578283fd5b6142c560e0615689565b6142ce8361406e565b81526142dc6020840161406e565b60208201526142ed60408401614084565b60408201526142fe60608401613f95565b6060820152608083015182811115614314578485fd5b61432087828601613fe9565b60808301525060a083015160a082015260c083015182811115614341578485fd5b61434d87828601613fe9565b60c08301525095945050505050565b60006020828403121561436d578081fd5b8135611aa981615727565b6000806040838503121561438a578182fd5b823561439581615727565b915060208301356143a581615701565b6001600160a01b0381169150509250929050565b600080600080600080600060a0888a0312156143d3578081fd5b87356143de81615727565b965060208801356143ee81615701565b6001600160a01b03169550604088013567ffffffffffffffff80821115614413578283fd5b61441f8b838c01613fa2565b909750955060608a013591508115158214614438578283fd5b9093506080890135908082111561444d578283fd5b5061445a8a828b01613fa2565b989b979a50959850939692959293505050565b600080600060608486031215614481578081fd5b833561448c81615727565b9250602084013561449c81615701565b6001600160a01b038116925050604084013590509250925092565b600080600080600080600060c0888a0312156144d1578081fd5b87356144dc81615727565b965060208801356144ec81615701565b6001600160a01b0316955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115614525578182fd5b61445a8a828b01613fa2565b600080600080600060808688031215614548578283fd5b853561455381615727565b9450602086013561456381615701565b6001600160a01b0316935060408601359250606086013567ffffffffffffffff81111561458e578182fd5b61459a88828901613fa2565b969995985093965092949392505050565b600080604083850312156145bd578182fd5b82356145c881615727565b946020939093013593505050565b600080600080608085870312156145eb578182fd5b84356145f681615727565b966020860135965060408601359560600135945092505050565b600080600060408486031215614624578081fd5b833561462f81615727565b9250602084013567ffffffffffffffff81111561464a578182fd5b61465686828701613fa2565b9497909650939450505050565b60008060408385031215614675578182fd5b823561468081615727565b9150602083013561412581615727565b600080600080606085870312156146a5578182fd5b84356146b081615727565b935060208501356146c081615727565b9250604085013567ffffffffffffffff8111156146db578283fd5b6146e787828801613fa2565b95989497509550505050565b600080600080600080600060e0888a03121561470d578081fd5b873561471881615727565b9650602088013561472881615727565b9550604088013561473881615737565b9450606088013561474881615701565b6001600160a01b03908116945060808901359061476482615727565b90935060a08901359061477682615737565b90925060c08901359061478882615701565b8082169250505092959891949750929550565b6000602082840312156147ac578081fd5b5051919050565b6000602082840312156147c4578081fd5b8135611aa981615737565b6000602082840312156147e0578081fd5b8151611aa981615737565b600082845282826020860137806020848601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011685010190509392505050565b6000815180845261484b8160208601602086016156d5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000835161488f8184602088016156d5565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b90565b60007fffffffffffffffff0000000000000000000000000000000000000000000000008860c01b1682527fffff000000000000000000000000000000000000000000000000000000000000808860f01b1660088401527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008760601b16600a840152808660f01b16601e84015250835161496a8160208501602088016156d5565b808301905083516149828160208401602088016156d5565b0160200198975050505050505050565b6001600160a01b0391909116815260200190565b901515815260200190565b92151583526020830191909152604082015260600190565b90815260200190565b9283526020830191909152604082015260600190565b600085825260606020830152614a026060830185876147eb565b905082604083015295945050505050565b600060208252612b5f6020830184866147eb565b600060208252611aa96020830184614833565b600060408252614a4d6040830185614833565b905061ffff831660208301529392505050565b600060608252614a736060830186614833565b67ffffffffffffffff9490941660208301525060400152919050565b60208082526026908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e642070726f6f60408201527f6620747970650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f4c617965725a65726f3a20647374436861696e496420646f6573206e6f74206560408201527f7869737400000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c792074726561737572790000000000000000604082015260600190565b6020808252601e908201527f4c617965725a65726f3a20496e76616c696420636f6e66696720747970650000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a207769746864726177206661696c6564000000000000604082015260600190565b60208082526025908201527f4c617965725a65726f3a206e6f7420656e6f756768206e617469766520666f7260408201527f2066656573000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f4c617965725a65726f3a205f746f2063616e6e6f74206265207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f4c617965725a65726f3a205f6c617965725a65726f546f6b656e2063616e6e6f60408201527f74206265207a65726f2061646472657373000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c69642072656c6179657220616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f4c617965725a65726f3a206661696c656420746f20726566756e640000000000604082015260600190565b6020808252602b908201527f4c617965725a65726f3a206d75737420626520706169642062792073656e646560408201527f72206f72206f726967696e000000000000000000000000000000000000000000606082015260800190565b6020808252601d908201527f4c617965725a65726f3a20696e76616c69642064737441646472657373000000604082015260600190565b60208082526021908201527f4c617965725a65726f3a20696e76616c6964206f7261636c652061646472657360408201527f7300000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f4c617965725a65726f3a20696e76616c6964205f7061636b65742e756c6e416460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c696420737263436861696e2049640000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a20696e76616c69642072656c61796572000000000000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a2077726f6e6720706174682064617461000000000000604082015260600190565b60208082526029908201527f4c617965725a65726f3a206c6962726172792063616e6e6f74206265207a657260408201527f6f20616464726573730000000000000000000000000000000000000000000000606082015260800190565b60208082526043908201527f4c617965725a65726f3a206f7261636c6520646174612063616e206f6e6c792060408201527f75706461746520696620697420686173206d6f726520636f6e6669726d61746960608201527f6f6e730000000000000000000000000000000000000000000000000000000000608082015260a00190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c696420647374436861696e2049640000604082015260600190565b60208082526030908201527f4c617965725a65726f3a20696e76616c696420696e626f756e642070726f6f6660408201527f206c6962726172792076657273696f6e00000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c6964207372634164647265737320736960408201527f7a65000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602a908201527f4c617965725a65726f3a2074726561737572792063616e6e6f74206265207a6560408201527f726f206164647265737300000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4c617965725a65726f3a2072656d6f746520756c6e20616c726561647920736560408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a2063616e206e6f7420616464206e6577206c6962726160408201527f7279000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c7920656e64706f696e740000000000000000604082015260600190565b6020808252602e908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e6420626c6f6360408201527f6b20636f6e6669726d6174696f6e000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4c617965725a65726f3a20696e636f72726563742072656d6f7465206164647260408201527f6573732073697a65000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f4c617965725a65726f3a2072656d6f746520636861696e20616464726573732060408201527f73697a6520616c72656164792073657400000000000000000000000000000000606082015260800190565b6020808252602d908201527f4c617965725a65726f3a20696e76616c696420696e626f756e6420626c6f636b60408201527f20636f6e6669726d6174696f6e00000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4c617965725a65726f3a206e6f7420656e6f75676820626c6f636b20636f6e6660408201527f69726d6174696f6e730000000000000000000000000000000000000000000000606082015260800190565b600060c08201905061ffff808451168352602084015167ffffffffffffffff8082166020860152604086015191506001600160a01b0380831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505092915050565b61ffff91909116815260200190565b600061ffff851682526001600160a01b0384166020830152606060408301526155236060830184614833565b95945050505050565b600061ffff85168252604060208301526155236040830184866147eb565b600061ffff8816825260c0602083015261556760c0830188614833565b6001600160a01b038716604084015267ffffffffffffffff8616606084015284608084015282810360a084015261559e8185614833565b9998505050505050505050565b600061ffff80881683528087166020840152506001600160a01b038516604083015283606083015260a06080830152613d9860a0830184614833565b61ffff948516815292909316602083015267ffffffffffffffff1660408201526001600160a01b03909116606082015260800190565b61ffff968716815267ffffffffffffffff95861660208201526001600160a01b03948516604082015292909516606083015290921660808301529190911660a082015260c00190565b918252602082015260400190565b67ffffffffffffffff91909116815260200190565b60405181810167ffffffffffffffff811182821017156156a557fe5b604052919050565b600080858511156156bc578182fd5b838611156156c8578182fd5b5050820193919092039150565b60005b838110156156f05781810151838201526020016156d8565b83811115613ba95750506000910152565b74ffffffffffffffffffffffffffffffffffffffffff8116811461572457600080fd5b50565b61ffff8116811461572457600080fd5b67ffffffffffffffff8116811461572457600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122054aec73c99973aee9894297c3c705deb10ab19e90e99ce66c6114175d7862f2a64736f6c63430007060033",
1420
+ "deployedBytecode": "0x6080604052600436106102e75760003560e01c80638317814a11610184578063d543c774116100d6578063ed28580a1161008a578063f47a5feb11610064578063f47a5feb14610c06578063f58589a214610c35578063f8e1734c14610c6f576102e7565b8063ed28580a14610b58578063f0f4426014610b92578063f2fde38b14610bcc576102e7565b8063ddfdef5a116100bb578063ddfdef5a14610aaa578063ea216c2114610ae4578063eb0d4c3114610b1e576102e7565b8063d543c77414610a29578063db00719b14610a70576102e7565b8063959f594311610138578063b77d22ad11610112578063b77d22ad14610979578063b8e7e3e0146109a8578063b9a99bed146109e2576102e7565b8063959f5943146108be578063987fa2d5146108f8578063a466222214610932576102e7565b806387078f9f1161016957806387078f9f146108265780638da5cb5b14610860578063904d3b8d1461088f576102e7565b80638317814a146107b25780638525b711146107ec576102e7565b806352d2871f1161023d5780636a14ac82116101f1578063759c5b3b116101cb578063759c5b3b1461070f5780638140666e146107495780638207f79d14610778576102e7565b80636a14ac821461066c578063704316e5146106a6578063715018a6146106e0576102e7565b80635b056da5116102225780635b056da5146105c75780635e280f111461060357806369412bfa14610632576102e7565b806352d2871f1461055357806352d3b5001461058d576102e7565b80632cfacb061161029f57806340a7bb101161027957806340a7bb10146104c957806349148c37146105115780634d3a0f7c14610540576102e7565b80632cfacb06146104125780632f8134641461044e57806331bd24301461049a576102e7565b806307b9ca7c116102d057806307b9ca7c1461036d57806318da00111461039c5780632a819bbf146103cb576102e7565b806302bd9743146102ec57806307b18bde14610331575b600080fd5b3480156102f857600080fd5b50d3801561030557600080fd5b50d2801561031257600080fd5b5061031b610ca9565b6040516103289190614992565b60405180910390f35b34801561033d57600080fd5b50d3801561034a57600080fd5b50d2801561035757600080fd5b5061036b6103663660046140bb565b610ccd565b005b34801561037957600080fd5b50d3801561038657600080fd5b50d2801561039357600080fd5b5061031b610e57565b3480156103a857600080fd5b50d380156103b557600080fd5b50d280156103c257600080fd5b5061031b610e66565b3480156103d757600080fd5b50d380156103e457600080fd5b50d280156103f157600080fd5b50610405610400366004614663565b610e75565b6040516103289190614a27565b34801561041e57600080fd5b50d3801561042b57600080fd5b50d2801561043857600080fd5b50610441610f37565b60405161032891906149c9565b34801561045a57600080fd5b50d3801561046757600080fd5b50d2801561047457600080fd5b5061048861048336600461435c565b610f3c565b6040516103289695949392919061561d565b3480156104a657600080fd5b50d380156104b357600080fd5b50d280156104c057600080fd5b50610441610fc0565b3480156104d557600080fd5b50d380156104e257600080fd5b50d280156104ef57600080fd5b506105036104fe3660046143b9565b610fc5565b604051610328929190615666565b34801561051d57600080fd5b50d3801561052a57600080fd5b50d2801561053757600080fd5b506104416112f5565b61036b61054e366004614190565b6112fa565b34801561055f57600080fd5b50d3801561056c57600080fd5b50d2801561057957600080fd5b5061040561058836600461446d565b611746565b34801561059957600080fd5b50d380156105a657600080fd5b50d280156105b357600080fd5b5061036b6105c236600461408f565b611ab0565b3480156105d357600080fd5b50d380156105e057600080fd5b50d280156105ed57600080fd5b506105f6611bac565b60405161032891906154e8565b34801561060f57600080fd5b50d3801561061c57600080fd5b50d2801561062957600080fd5b5061031b611bd0565b34801561063e57600080fd5b50d3801561064b57600080fd5b50d2801561065857600080fd5b5061044161066736600461408f565b611bf4565b34801561067857600080fd5b50d3801561068557600080fd5b50d2801561069257600080fd5b5061036b6106a13660046146f3565b611c13565b3480156106b257600080fd5b50d380156106bf57600080fd5b50d280156106cc57600080fd5b5061036b6106db3660046145d6565b611f75565b3480156106ec57600080fd5b50d380156106f957600080fd5b50d2801561070657600080fd5b5061036b61203a565b34801561071b57600080fd5b50d3801561072857600080fd5b50d2801561073557600080fd5b50610441610744366004614130565b612110565b34801561075557600080fd5b50d3801561076257600080fd5b50d2801561076f57600080fd5b5061044161213c565b34801561078457600080fd5b50d3801561079157600080fd5b50d2801561079e57600080fd5b5061036b6107ad366004614378565b612141565b3480156107be57600080fd5b50d380156107cb57600080fd5b50d280156107d857600080fd5b5061036b6107e7366004614690565b6122da565b3480156107f857600080fd5b50d3801561080557600080fd5b50d2801561081257600080fd5b5061036b61082136600461417e565b6123c3565b34801561083257600080fd5b50d3801561083f57600080fd5b50d2801561084c57600080fd5b5061036b61085b3660046145ab565b6124c5565b34801561086c57600080fd5b50d3801561087957600080fd5b50d2801561088657600080fd5b5061031b6125bc565b34801561089b57600080fd5b50d380156108a857600080fd5b50d280156108b557600080fd5b506104416125cb565b3480156108ca57600080fd5b50d380156108d757600080fd5b50d280156108e457600080fd5b506104416108f336600461435c565b6125d0565b34801561090457600080fd5b50d3801561091157600080fd5b50d2801561091e57600080fd5b5061036b61092d3660046144b7565b6125e2565b34801561093e57600080fd5b50d3801561094b57600080fd5b50d2801561095857600080fd5b5061096c610967366004614378565b612a76565b604051610328919061547c565b34801561098557600080fd5b50d3801561099257600080fd5b50d2801561099f57600080fd5b50610441612a88565b3480156109b457600080fd5b50d380156109c157600080fd5b50d280156109ce57600080fd5b506105f66109dd36600461435c565b612a8d565b3480156109ee57600080fd5b50d380156109fb57600080fd5b50d28015610a0857600080fd5b50610a1c610a17366004614610565b612aa3565b6040516103289190615674565b348015610a3557600080fd5b50d38015610a4257600080fd5b50d28015610a4f57600080fd5b50610a63610a5e366004614663565b612b67565b60405161032891906149a6565b348015610a7c57600080fd5b50d38015610a8957600080fd5b50d28015610a9657600080fd5b5061031b610aa5366004614663565b612b87565b348015610ab657600080fd5b50d38015610ac357600080fd5b50d28015610ad057600080fd5b50610488610adf3660046140ef565b612bad565b348015610af057600080fd5b50d38015610afd57600080fd5b50d28015610b0a57600080fd5b50610441610b1936600461435c565b612c3c565b348015610b2a57600080fd5b50d38015610b3757600080fd5b50d28015610b4457600080fd5b5061036b610b53366004614663565b612c4e565b348015610b6457600080fd5b50d38015610b7157600080fd5b50d28015610b7e57600080fd5b5061036b610b8d3660046145ab565b612d3c565b348015610b9e57600080fd5b50d38015610bab57600080fd5b50d28015610bb857600080fd5b5061036b610bc736600461408f565b612e27565b348015610bd857600080fd5b50d38015610be557600080fd5b50d28015610bf257600080fd5b5061036b610c0136600461408f565b612f23565b348015610c1257600080fd5b50d38015610c1f57600080fd5b50d28015610c2c57600080fd5b50610441613050565b348015610c4157600080fd5b50d38015610c4e57600080fd5b50d28015610c5b57600080fd5b50610441610c6a36600461408f565b613056565b348015610c7b57600080fd5b50d38015610c8857600080fd5b50d28015610c9557600080fd5b5061036b610ca4366004614531565b613068565b7f000000000000000000000000000000000000000000000000000000000000000081565b60026000541415610d25576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556001600160a01b038216610d595760405162461bcd60e51b8152600401610d5090614c4b565b60405180910390fd5b33600090815260046020526040902054610d7390826133cf565b336000908152600460205260408082209290925590516001600160a01b038416908390610d9f906148c7565b60006040518083038185875af1925050503d8060008114610ddc576040519150601f19603f3d011682016040523d82523d6000602084013e610de1565b606091505b5050905080610e025760405162461bcd60e51b8152600401610d5090614bb7565b826001600160a01b0316336001600160a01b03167f3bfd26201736b5cb14a562ab3cfc2bef76901726e3a78483d6288af47131e1d984604051610e4591906149c9565b60405180910390a35050600160005550565b6002546001600160a01b031681565b6003546001600160a01b031681565b60086020908152600092835260408084208252918352918190208054825160026001831615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190921691909104601f810185900485028201850190935282815292909190830182828015610f2f5780601f10610f0457610100808354040283529160200191610f2f565b820191906000526020600020905b815481529060010190602001808311610f1257829003601f168201915b505050505081565b600381565b6007602052600090815260409020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600681565b6000806000610fd48a8a61342c565b90506060841561101d5785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506110ec92505050565b61ffff808c166000908152600860209081526040808320606087015190941683529281529082902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600186161502019093169290920491820184900484028101840190945280845290918301828280156110e45780601f106110b9576101008083540402835291602001916110e4565b820191906000526020600020905b8154815290600101906020018083116110c757829003601f168201915b505050505090505b600082604001516001600160a01b031663c03f15298d85606001518e8e8e9050876040518663ffffffff1660e01b815260040161112d9594939291906155ab565b60206040518083038186803b15801561114557600080fd5b505afa158015611159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117d919061479b565b905060008b905060008460a001516001600160a01b0316635553fb8e8f87606001518860800151866040518563ffffffff1660e01b81526004016111c494939291906155e7565b60206040518083038186803b1580156111dc57600080fd5b505afa1580156111f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611214919061479b565b6003546040517f5cbbbd750000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b0390911690635cbbbd7590611267908e90889087906004016149b1565b60206040518083038186803b15801561127f57600080fd5b505afa158015611293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b7919061479b565b90508a6112c757809750876112cc565b809650865b506112e1826112db8a876135f7565b906135f7565b975050505050505097509795505050505050565b600281565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146113425760405162461bcd60e51b8152600401610d5090615274565b61ffff89166000908152600e60205260409020548b908a906113765760405162461bcd60e51b8152600401610d5090614aec565b61ffff81166000908152600c602052604081205460609190801580159061139f5750601481018c145b6113bb5760405162461bcd60e51b8152600401610d5090615308565b6000808e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505083810160140151925090506001600160a01b038781169083161461142a5760405162461bcd60e51b8152600401610d5090614f55565b8e8e600090859261143d939291906156ad565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040517f6fe7b673000000000000000000000000000000000000000000000000000000008152929750506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691636fe7b67391506114dd9089908b9086906004016154f7565b602060405180830381600087803b1580156114f757600080fd5b505af115801561150b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152f91906147cf565b935050505060008a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061157b925087915088905061342c565b905060006115c386838986518d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061365192505050565b905060006115d287848a61382b565b905060006115e283838b8f6138e5565b905060006115f4826112db86866135f7565b9050348111156116165760405162461bcd60e51b8152600401610d5090614bee565b600061162234836133cf565b905080156116a85760008f6001600160a01b031682604051611643906148c7565b60006040518083038185875af1925050503d8060008114611680576040519150601f19603f3d011682016040523d82523d6000602084013e611685565b606091505b50509050806116a65760405162461bcd60e51b8152600401610d5090614d62565b505b6000887f00000000000000000000000000000000000000000000000000000000000000008d8d8d8c6040516020016116e5969594939291906148ca565b60405160208183030381529060405290507fe9bded5f24a4168e4f3bf44e00298c993b22376aad8c58c7dda9718a54cbea82816040516117259190614a27565b60405180910390a15050505050505050505050505050505050505050505050565b6001600160a01b038216600090815260066020908152604080832061ffff87168452909152902060609060018314156117da57805461ffff166117c45761ffff8086166000908152600760209081526040918290205491516117ad939290921691016154e8565b604051602081830303815290604052915050611aa9565b80546040516117ad9161ffff16906020016154e8565b600283141561185057805462010000900467ffffffffffffffff1661182e5761ffff85166000908152600760209081526040918290205491516117ad9262010000900467ffffffffffffffff169101615674565b80546040516117ad9162010000900467ffffffffffffffff1690602001615674565b60038314156118db5780546a010000000000000000000090046001600160a01b03166118b25761ffff85166000908152600760209081526040918290205491516117ad926a010000000000000000000090046001600160a01b03169101614992565b80546040516117ad916a010000000000000000000090046001600160a01b031690602001614992565b60048314156119945780547e01000000000000000000000000000000000000000000000000000000000000900461ffff1661195c5761ffff8086166000908152600760209081526040918290205491516117ad937e0100000000000000000000000000000000000000000000000000000000000090930490921691016154e8565b80546040516117ad917e01000000000000000000000000000000000000000000000000000000000000900461ffff16906020016154e8565b6005831415611a0157600181015467ffffffffffffffff166119e25761ffff85166000908152600760209081526040918290206001015491516117ad9267ffffffffffffffff169101615674565b60018101546040516117ad9167ffffffffffffffff1690602001615674565b6006831415611a8f5760018101546801000000000000000090046001600160a01b0316611a655761ffff85166000908152600760209081526040918290206001015491516117ad926801000000000000000090046001600160a01b03169101614992565b60018101546040516117ad916801000000000000000090046001600160a01b031690602001614992565b60405162461bcd60e51b8152600401610d5090614b80565b505b9392505050565b611ab8613a4f565b6001600160a01b0316611ac96125bc565b6001600160a01b031614611b24576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116611b4a5760405162461bcd60e51b8152600401610d5090614ca8565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f33d644987381deff4408951d55afa136f124e22a7810b163b2aaa3ebef770f6490600090a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166000908152600460205260409020545b919050565b611c1b613a4f565b6001600160a01b0316611c2c6125bc565b6001600160a01b031614611c87576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8088166000908152600a6020526040902054811690871611801590611cb3575060008661ffff16115b611ccf5760405162461bcd60e51b8152600401610d50906150a3565b60008567ffffffffffffffff1611611cf95760405162461bcd60e51b8152600401610d50906153c2565b6001600160a01b038416611d1f5760405162461bcd60e51b8152600401610d5090614d05565b61ffff8088166000908152600b602090815260408083209387168352929052205460ff16611d5f5760405162461bcd60e51b8152600401610d5090614a8f565b60008267ffffffffffffffff1611611d895760405162461bcd60e51b8152600401610d50906152ab565b6001600160a01b038116611daf5760405162461bcd60e51b8152600401610d5090614e2d565b6040518060c001604052808761ffff1681526020018667ffffffffffffffff168152602001856001600160a01b031681526020018461ffff1681526020018367ffffffffffffffff168152602001826001600160a01b0316815250600760008961ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548161ffff021916908361ffff16021790555060208201518160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550604082015181600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600001601e6101000a81548161ffff021916908361ffff16021790555060808201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a08201518160010160086101000a8154816001600160a01b0302191690836001600160a01b031602179055509050508661ffff167f5a76432853a0871c4e780def7f3ffc7912339b53f022ac31127fe5ff84a36fa1878787878787604051611f649695949392919061561d565b60405180910390a250505050505050565b336000908152600d6020908152604080832061ffff8816845282528083208684528252808320848452909152902054828110611fc35760405162461bcd60e51b8152600401610d5090614fe9565b336000818152600d6020908152604080832061ffff8a1680855290835281842089855283528184208785529092529182902086905590517f74bbc026808dcba59692d6a8bb20596849ca718e10e2432c6cdf48af865bc5d99061202b908890879089906149d2565b60405180910390a35050505050565b612042613a4f565b6001600160a01b03166120536125bc565b6001600160a01b0316146120ae576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600d60209081526000948552604080862082529385528385208152918452828420909152825290205481565b600481565b612149613a4f565b6001600160a01b031661215a6125bc565b6001600160a01b0316146121b5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166121db5760405162461bcd60e51b8152600401610d5090614f8c565b61ffff8083166000908152600a602052604090205481169081106122115760405162461bcd60e51b8152600401610d5090615217565b61ffff8381166000818152600a6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660019790970195861696871790556009825280832095835294905283902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03861617905591519091907f802d55279d51813cb7a9a98e8fd2d7bec5346cb830901c11b85d1650cb857e9a906122cd908590614992565b60405180910390a2505050565b6122e2613a4f565b6001600160a01b03166122f36125bc565b6001600160a01b03161461234e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8085166000908152600860209081526040808320938716835292905220612379908383613e47565b508261ffff168461ffff167f4a5695eee2a74d548d5f5c485a3de99ace99e3b664c8e30a90f49be6ebb5493284846040516123b5929190614a13565b60405180910390a350505050565b6002600054141561241b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556003546001600160a01b0316331461244a5760405162461bcd60e51b8152600401610d5090614b49565b60055461245790826133cf565b600555600254612471906001600160a01b03168383613a53565b816001600160a01b0316336001600160a01b03167f3a20c8c3cd1848485ae8261a52398bb9b26f195b717306b3cf7f058e62c095d5836040516124b491906149c9565b60405180910390a350506001600055565b6124cd613a4f565b6001600160a01b03166124de6125bc565b6001600160a01b031614612539576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600c60205260409020541561256a5760405162461bcd60e51b8152600401610d5090615365565b61ffff82166000818152600c602052604090819020839055517f0611bb2107e385b79ec826fff8ecc1c1248a7aae3c875c96668f8cfbf1734220906125b09084906149c9565b60405180910390a25050565b6001546001600160a01b031690565b600581565b600c6020526000908152604090205481565b60006125ee888861342c565b60408101519091506001600160a01b0316331461261d5760405162461bcd60e51b8152600401610d5090614f1e565b612625613ef1565b61ffff89166000908152600c6020526040902054806126565760405162461bcd60e51b8152600401610d5090615308565b60a08301516001600160a01b03166000908152600d6020908152604080832061ffff8e16845282528083208a8452825280832089845290915290205480158015906126af5750836020015167ffffffffffffffff168110155b6126cb5760405162461bcd60e51b8152600401610d509061541f565b61ffff808c166000908152600960209081526040808320885190941683529290528190205490517fb71e0f710000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690819063b71e0f719061273d908b908b908b9089906004016149e8565b600060405180830381600087803b15801561275757600080fd5b505af115801561276b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526127b19190810190614280565b60a081015161ffff8e166000908152600e60205260409020549195501491505080156127e0575060a082015115155b6127fc5760405162461bcd60e51b8152600401610d5090614e8a565b8961ffff16826000015161ffff16146128275760405162461bcd60e51b8152600401610d5090614ee7565b808260800151511461284b5760405162461bcd60e51b8152600401610d5090615100565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16826020015161ffff16146128965760405162461bcd60e51b8152600401610d509061506c565b886001600160a01b031682606001516001600160a01b0316146128cb5760405162461bcd60e51b8152600401610d5090614df6565b6128d489613ad8565b6129455781606001516001600160a01b0316826000015161ffff167fa2786598bd84ae4a299103996359e6cb4333404583256079dfc279386baf5832846080015185604001518660c001518051906020012060405161293593929190614a60565b60405180910390a3505050612a6d565b60008260800151836060015160405160200161296292919061487d565b604051602081830303815290604052905082606001516001600160a01b0316836000015161ffff167f2bd2d8a84b748439fd50d79a49502b4eb5faa25b864da6a9ab5c150704be9a4d856080015186604001518760c00151805190602001206040516129d093929190614a60565b60405180910390a37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c2fa48138c838d87604001518e8960c001516040518763ffffffff1660e01b8152600401612a369695949392919061554a565b600060405180830381600087803b158015612a5057600080fd5b505af1158015612a64573d6000803e3d6000fd5b50505050505050505b50505050505050565b612a7e613f2f565b611aa9838361342c565b600181565b600a6020526000908152604090205461ffff1681565b6040517fc533338f0000000000000000000000000000000000000000000000000000000081526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c533338f90612b0f9087908790879060040161552c565b60206040518083038186803b158015612b2757600080fd5b505afa158015612b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5f91906147cf565b949350505050565b600b60209081526000928352604080842090915290825290205460ff1681565b60096020908152600092835260408084209091529082529020546001600160a01b031681565b60066020908152600092835260408084209091529082529020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600e6020526000908152604090205481565b612c56613a4f565b6001600160a01b0316612c676125bc565b6001600160a01b031614612cc2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8083166000818152600b60209081526040808320948616835293905282902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517fec23bee6f88cfecebb09d6aaaed66f0ce110debc1f61117c8270a7116597df9a906125b09084906154e8565b612d44613a4f565b6001600160a01b0316612d556125bc565b6001600160a01b031614612db0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600e602052604090205415612de15760405162461bcd60e51b8152600401610d50906151ba565b61ffff82166000818152600e602052604090819020839055517f0dad975e1d2fbe771c95cdcc7be9a1e61181de7173abe0a32b8f8f83140873e5906125b09084906149c9565b612e2f613a4f565b6001600160a01b0316612e406125bc565b6001600160a01b031614612e9b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612ec15760405162461bcd60e51b8152600401610d509061515d565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390600090a250565b612f2b613a4f565b6001600160a01b0316612f3c6125bc565b6001600160a01b031614612f97576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612fdc5760405162461bcd60e51b815260040180806020018281038252602681526020018061574e6026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60055481565b60046020526000908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146130b05760405162461bcd60e51b8152600401610d5090615274565b6001600160a01b038416600090815260066020908152604080832061ffff891684529091529020600184141561315d5760006130ee8385018561435c565b61ffff8089166000908152600a6020526040902054919250908116908216111561312a5760405162461bcd60e51b8152600401610d50906150a3565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff91909116178155613383565b60028414156131b4576000613174838501856147b3565b825467ffffffffffffffff90911662010000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff90911617825550613383565b60038414156132125760006131cb8385018561408f565b82546001600160a01b039091166a0100000000000000000000027fffff0000000000000000000000000000000000000000ffffffffffffffffffff90911617825550613383565b60048414156132cc5760006132298385018561435c565b61ffff8089166000908152600b602090815260408083209385168352929052205490915060ff168061325d575061ffff8116155b6132795760405162461bcd60e51b8152600401610d5090614a8f565b815461ffff9091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909116178155613383565b60058414156133245760006132e3838501856147b3565b6001830180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905550613383565b6006841415611a8f57600061333b8385018561408f565b6001830180546001600160a01b0390921668010000000000000000027fffffffff0000000000000000000000000000000000000000ffffffffffffffff909216919091179055505b83856001600160a01b03167ffc01bf86212a14151d51d1be5c2ac64d67d5ec823dfc6f53298d7ce3f3d3d25285856040516133bf929190614a13565b60405180910390a3505050505050565b600082821115613426576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b613434613f2f565b6001600160a01b03808316600090815260066020908152604080832061ffff808916808652918452828520835160c0810185528154808416825267ffffffffffffffff6201000082048116838901526a010000000000000000000082048a16838801527e010000000000000000000000000000000000000000000000000000000000009091048416606083015260019092015491821660808201526801000000000000000090910490961660a08701529084526007909252909120825190911661350157805461ffff1682525b602082015167ffffffffffffffff1661352c57805462010000900467ffffffffffffffff1660208301525b60408201516001600160a01b031661355d5780546a010000000000000000000090046001600160a01b031660408301525b606082015161ffff166135985780547e01000000000000000000000000000000000000000000000000000000000000900461ffff1660608301525b608082015167ffffffffffffffff166135c057600181015467ffffffffffffffff1660808301525b60a08201516001600160a01b0316611aa757600101546801000000000000000090046001600160a01b031660a08201529392505050565b600082820183811015611aa9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081516000141561372c5761ffff808716600090815260086020908152604080832060608a015190941683529281529082902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600186161502019093169290920491820184900484028101840190945280845290918301828280156137245780601f106136f957610100808354040283529160200191613724565b820191906000526020600020905b81548152906001019060200180831161370757829003601f168201915b505050505091505b604080860151606087015191517f5886ea65000000000000000000000000000000000000000000000000000000008152909182916001600160a01b03831691635886ea6591613785918c918b908b908b906004016155ab565b602060405180830381600087803b15801561379f57600080fd5b505af11580156137b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d7919061479b565b92506137e38284613ade565b7fb0c632f55f1e1b3b2c3d82f41ee4716bb4c00f0f5d84cdafc141581bb8757a4f848860600151604051613818929190614a3a565b60405180910390a1505095945050505050565b60a0820151606083015160808401516040517fc5e193cd000000000000000000000000000000000000000000000000000000008152600093926001600160a01b0384169263c5e193cd92613887928a92909189906004016155e7565b602060405180830381600087803b1580156138a157600080fd5b505af11580156138b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138d9919061479b565b9150611aa78183613ade565b6000806001600160a01b038316158061390757506002546001600160a01b0316155b6003546040517f5cbbbd750000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b0390911690635cbbbd759061395b908515908b908b906004016149b1565b60206040518083038186803b15801561397357600080fd5b505afa158015613987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ab919061479b565b90508015613a455781156139d8576003546001600160a01b03166139cf8183613ade565b81935050613a45565b846001600160a01b0316846001600160a01b03161480613a0057506001600160a01b03841632145b613a1c5760405162461bcd60e51b8152600401610d5090614d99565b600254613a34906001600160a01b0316853084613b21565b600554613a4190826135f7565b6005555b5050949350505050565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613ad3908490613baf565b505050565b3b151590565b6001600160a01b038216600090815260046020526040902054613b0190826135f7565b6001600160a01b0390921660009081526004602052604090209190915550565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052613ba9908590613baf565b50505050565b6000613c04826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613c609092919063ffffffff16565b805190915015613ad357808060200190516020811015613c2357600080fd5b5051613ad35760405162461bcd60e51b815260040180806020018281038252602a815260200180615774602a913960400191505060405180910390fd5b6060612b5f848460008585613c7485613ad8565b613cc5576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310613d2157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613ce4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613d83576040519150601f19603f3d011682016040523d82523d6000602084013e613d88565b606091505b5091509150613d98828286613da3565b979650505050505050565b60608315613db2575081611aa9565b825115613dc25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e0c578181015183820152602001613df4565b50505050905090810190601f168015613e395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282613e7d5760008555613ee1565b82601f10613eb4578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555613ee1565b82800160010185558215613ee1579182015b82811115613ee1578235825591602001919060010190613ec6565b50613eed929150613f64565b5090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b5b80821115613eed5760008155600101613f65565b60008135613f8681615701565b6001600160a01b031692915050565b60008151613f8681615701565b60008083601f840112613fb3578182fd5b50813567ffffffffffffffff811115613fca578182fd5b602083019150836020828501011115613fe257600080fd5b9250929050565b600082601f830112613ff9578081fd5b815167ffffffffffffffff81111561400d57fe5b61403e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615689565b818152846020838601011115614052578283fd5b612b5f8260208301602087016156d5565b8035611c0e81615727565b8051611c0e81615727565b8035611c0e81615737565b8051611c0e81615737565b6000602082840312156140a0578081fd5b81356140ab81615701565b6001600160a01b03169392505050565b600080604083850312156140cd578081fd5b82356140d881615701565b6001600160a01b0316946020939093013593505050565b60008060408385031215614101578182fd5b823561410c81615701565b6001600160a01b03169150602083013561412581615727565b809150509250929050565b60008060008060808587031215614145578182fd5b843561415081615701565b6001600160a01b03169350602085013561416981615727565b93969395505050506040820135916060013590565b600080604083850312156140cd578182fd5b60008060008060008060008060008060006101008c8e0312156141b1578687fd5b6141ba8c613f79565b9a506141c860208d01614079565b99506141d660408d01614063565b985067ffffffffffffffff8060608e013511156141f1578788fd5b6142018e60608f01358f01613fa2565b909950975060808d0135811015614216578687fd5b6142268e60808f01358f01613fa2565b909750955061423760a08e01613f79565b945061424560c08e01613f79565b93508060e08e01351115614257578283fd5b506142688d60e08e01358e01613fa2565b81935080925050509295989b509295989b9093969950565b600060208284031215614291578081fd5b815167ffffffffffffffff808211156142a8578283fd5b9083019060e082860312156142bb578283fd5b6142c560e0615689565b6142ce8361406e565b81526142dc6020840161406e565b60208201526142ed60408401614084565b60408201526142fe60608401613f95565b6060820152608083015182811115614314578485fd5b61432087828601613fe9565b60808301525060a083015160a082015260c083015182811115614341578485fd5b61434d87828601613fe9565b60c08301525095945050505050565b60006020828403121561436d578081fd5b8135611aa981615727565b6000806040838503121561438a578182fd5b823561439581615727565b915060208301356143a581615701565b6001600160a01b0381169150509250929050565b600080600080600080600060a0888a0312156143d3578081fd5b87356143de81615727565b965060208801356143ee81615701565b6001600160a01b03169550604088013567ffffffffffffffff80821115614413578283fd5b61441f8b838c01613fa2565b909750955060608a013591508115158214614438578283fd5b9093506080890135908082111561444d578283fd5b5061445a8a828b01613fa2565b989b979a50959850939692959293505050565b600080600060608486031215614481578081fd5b833561448c81615727565b9250602084013561449c81615701565b6001600160a01b038116925050604084013590509250925092565b600080600080600080600060c0888a0312156144d1578081fd5b87356144dc81615727565b965060208801356144ec81615701565b6001600160a01b0316955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115614525578182fd5b61445a8a828b01613fa2565b600080600080600060808688031215614548578283fd5b853561455381615727565b9450602086013561456381615701565b6001600160a01b0316935060408601359250606086013567ffffffffffffffff81111561458e578182fd5b61459a88828901613fa2565b969995985093965092949392505050565b600080604083850312156145bd578182fd5b82356145c881615727565b946020939093013593505050565b600080600080608085870312156145eb578182fd5b84356145f681615727565b966020860135965060408601359560600135945092505050565b600080600060408486031215614624578081fd5b833561462f81615727565b9250602084013567ffffffffffffffff81111561464a578182fd5b61465686828701613fa2565b9497909650939450505050565b60008060408385031215614675578182fd5b823561468081615727565b9150602083013561412581615727565b600080600080606085870312156146a5578182fd5b84356146b081615727565b935060208501356146c081615727565b9250604085013567ffffffffffffffff8111156146db578283fd5b6146e787828801613fa2565b95989497509550505050565b600080600080600080600060e0888a03121561470d578081fd5b873561471881615727565b9650602088013561472881615727565b9550604088013561473881615737565b9450606088013561474881615701565b6001600160a01b03908116945060808901359061476482615727565b90935060a08901359061477682615737565b90925060c08901359061478882615701565b8082169250505092959891949750929550565b6000602082840312156147ac578081fd5b5051919050565b6000602082840312156147c4578081fd5b8135611aa981615737565b6000602082840312156147e0578081fd5b8151611aa981615737565b600082845282826020860137806020848601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011685010190509392505050565b6000815180845261484b8160208601602086016156d5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000835161488f8184602088016156d5565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b90565b60007fffffffffffffffff0000000000000000000000000000000000000000000000008860c01b1682527fffff000000000000000000000000000000000000000000000000000000000000808860f01b1660088401527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008760601b16600a840152808660f01b16601e84015250835161496a8160208501602088016156d5565b808301905083516149828160208401602088016156d5565b0160200198975050505050505050565b6001600160a01b0391909116815260200190565b901515815260200190565b92151583526020830191909152604082015260600190565b90815260200190565b9283526020830191909152604082015260600190565b600085825260606020830152614a026060830185876147eb565b905082604083015295945050505050565b600060208252612b5f6020830184866147eb565b600060208252611aa96020830184614833565b600060408252614a4d6040830185614833565b905061ffff831660208301529392505050565b600060608252614a736060830186614833565b67ffffffffffffffff9490941660208301525060400152919050565b60208082526026908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e642070726f6f60408201527f6620747970650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f4c617965725a65726f3a20647374436861696e496420646f6573206e6f74206560408201527f7869737400000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c792074726561737572790000000000000000604082015260600190565b6020808252601e908201527f4c617965725a65726f3a20496e76616c696420636f6e66696720747970650000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a207769746864726177206661696c6564000000000000604082015260600190565b60208082526025908201527f4c617965725a65726f3a206e6f7420656e6f756768206e617469766520666f7260408201527f2066656573000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f4c617965725a65726f3a205f746f2063616e6e6f74206265207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f4c617965725a65726f3a205f6c617965725a65726f546f6b656e2063616e6e6f60408201527f74206265207a65726f2061646472657373000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c69642072656c6179657220616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f4c617965725a65726f3a206661696c656420746f20726566756e640000000000604082015260600190565b6020808252602b908201527f4c617965725a65726f3a206d75737420626520706169642062792073656e646560408201527f72206f72206f726967696e000000000000000000000000000000000000000000606082015260800190565b6020808252601d908201527f4c617965725a65726f3a20696e76616c69642064737441646472657373000000604082015260600190565b60208082526021908201527f4c617965725a65726f3a20696e76616c6964206f7261636c652061646472657360408201527f7300000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f4c617965725a65726f3a20696e76616c6964205f7061636b65742e756c6e416460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c696420737263436861696e2049640000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a20696e76616c69642072656c61796572000000000000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a2077726f6e6720706174682064617461000000000000604082015260600190565b60208082526029908201527f4c617965725a65726f3a206c6962726172792063616e6e6f74206265207a657260408201527f6f20616464726573730000000000000000000000000000000000000000000000606082015260800190565b60208082526043908201527f4c617965725a65726f3a206f7261636c6520646174612063616e206f6e6c792060408201527f75706461746520696620697420686173206d6f726520636f6e6669726d61746960608201527f6f6e730000000000000000000000000000000000000000000000000000000000608082015260a00190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c696420647374436861696e2049640000604082015260600190565b60208082526030908201527f4c617965725a65726f3a20696e76616c696420696e626f756e642070726f6f6660408201527f206c6962726172792076657273696f6e00000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c6964207372634164647265737320736960408201527f7a65000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602a908201527f4c617965725a65726f3a2074726561737572792063616e6e6f74206265207a6560408201527f726f206164647265737300000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4c617965725a65726f3a2072656d6f746520756c6e20616c726561647920736560408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a2063616e206e6f7420616464206e6577206c6962726160408201527f7279000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c7920656e64706f696e740000000000000000604082015260600190565b6020808252602e908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e6420626c6f6360408201527f6b20636f6e6669726d6174696f6e000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4c617965725a65726f3a20696e636f72726563742072656d6f7465206164647260408201527f6573732073697a65000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f4c617965725a65726f3a2072656d6f746520636861696e20616464726573732060408201527f73697a6520616c72656164792073657400000000000000000000000000000000606082015260800190565b6020808252602d908201527f4c617965725a65726f3a20696e76616c696420696e626f756e6420626c6f636b60408201527f20636f6e6669726d6174696f6e00000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4c617965725a65726f3a206e6f7420656e6f75676820626c6f636b20636f6e6660408201527f69726d6174696f6e730000000000000000000000000000000000000000000000606082015260800190565b600060c08201905061ffff808451168352602084015167ffffffffffffffff8082166020860152604086015191506001600160a01b0380831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505092915050565b61ffff91909116815260200190565b600061ffff851682526001600160a01b0384166020830152606060408301526155236060830184614833565b95945050505050565b600061ffff85168252604060208301526155236040830184866147eb565b600061ffff8816825260c0602083015261556760c0830188614833565b6001600160a01b038716604084015267ffffffffffffffff8616606084015284608084015282810360a084015261559e8185614833565b9998505050505050505050565b600061ffff80881683528087166020840152506001600160a01b038516604083015283606083015260a06080830152613d9860a0830184614833565b61ffff948516815292909316602083015267ffffffffffffffff1660408201526001600160a01b03909116606082015260800190565b61ffff968716815267ffffffffffffffff95861660208201526001600160a01b03948516604082015292909516606083015290921660808301529190911660a082015260c00190565b918252602082015260400190565b67ffffffffffffffff91909116815260200190565b60405181810167ffffffffffffffff811182821017156156a557fe5b604052919050565b600080858511156156bc578182fd5b838611156156c8578182fd5b5050820193919092039150565b60005b838110156156f05781810151838201526020016156d8565b83811115613ba95750506000910152565b74ffffffffffffffffffffffffffffffffffffffffff8116811461572457600080fd5b50565b61ffff8116811461572457600080fd5b67ffffffffffffffff8116811461572457600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122054aec73c99973aee9894297c3c705deb10ab19e90e99ce66c6114175d7862f2a64736f6c63430007060033",
1421
+ "linkReferences": {},
1422
+ "deployedLinkReferences": {}
1423
+ }