@oceanprotocol/lib 0.19.3 → 1.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/README.md +1 -1
  3. package/artifacts/ERC721Factory.sol/ERC721Factory.json +1164 -0
  4. package/artifacts/addresses/address.json +21 -0
  5. package/artifacts/communityFee/OPFCommunityFeeCollector.sol/OPFCommunityFeeCollector.json +116 -0
  6. package/artifacts/pools/FactoryRouter.sol/FactoryRouter.json +1086 -0
  7. package/artifacts/pools/balancer/BPool.sol/BPool.json +1744 -0
  8. package/artifacts/pools/dispenser/Dispenser.sol/Dispenser.json +358 -0
  9. package/artifacts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json +917 -0
  10. package/artifacts/pools/ssContracts/SideStaking.sol/SideStaking.json +428 -0
  11. package/artifacts/templates/ERC20Template.sol/ERC20Template.json +1382 -0
  12. package/artifacts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json +1530 -0
  13. package/artifacts/templates/ERC721Template.sol/ERC721Template.json +1534 -0
  14. package/artifacts/utils/mock/MockERC20.sol/MockERC20.json +302 -0
  15. package/artifacts/utils/mock/MockERC20Decimals.sol/MockERC20Decimals.json +302 -0
  16. package/dist/node/lib.js +1 -1
  17. package/dist/node/lib.js.map +1 -1
  18. package/dist/node/lib.module.js +1 -1
  19. package/dist/node/lib.module.js.map +1 -1
  20. package/dist/node/lib.umd.js +1 -1
  21. package/dist/node/lib.umd.js.map +1 -1
  22. package/dist/node/src/@types/Asset.d.ts +36 -0
  23. package/dist/node/{ocean/interfaces → src/@types}/Compute.d.ts +21 -12
  24. package/dist/node/src/@types/DDO/Credentials.d.ts +8 -0
  25. package/dist/node/src/@types/DDO/DDO.d.ts +15 -0
  26. package/dist/node/src/@types/DDO/Event.d.ts +7 -0
  27. package/dist/node/src/@types/DDO/Metadata.d.ts +38 -0
  28. package/dist/node/src/@types/DDO/Service.d.ts +28 -0
  29. package/dist/node/src/@types/FileMetadata.d.ts +8 -0
  30. package/dist/node/src/@types/Provider.d.ts +15 -0
  31. package/dist/node/src/@types/index.d.ts +8 -0
  32. package/dist/node/src/aquarius/Aquarius.d.ts +10 -0
  33. package/dist/node/src/aquarius/index.d.ts +1 -0
  34. package/dist/node/src/factories/NFTFactory.d.ts +70 -0
  35. package/dist/node/src/factories/index.d.ts +1 -0
  36. package/dist/node/src/index.d.ts +8 -0
  37. package/dist/node/src/interfaces/DispenserInterface.d.ts +7 -0
  38. package/dist/node/src/interfaces/Erc20Interface.d.ts +11 -0
  39. package/dist/node/src/interfaces/FixedRateInterface.d.ts +19 -0
  40. package/dist/node/src/interfaces/PoolInterface.d.ts +36 -0
  41. package/dist/node/src/interfaces/RouterInterface.d.ts +12 -0
  42. package/dist/node/src/interfaces/index.d.ts +5 -0
  43. package/dist/node/{models → src/models}/Config.d.ts +10 -6
  44. package/dist/node/src/models/index.d.ts +1 -0
  45. package/dist/node/src/pools/Router.d.ts +46 -0
  46. package/dist/node/src/pools/balancer/Pool.d.ts +73 -0
  47. package/dist/node/src/pools/balancer/index.d.ts +1 -0
  48. package/dist/node/src/pools/dispenser/Dispenser.d.ts +37 -0
  49. package/dist/node/src/pools/dispenser/index.d.ts +1 -0
  50. package/dist/node/src/pools/fixedRate/FixedRateExchange.d.ts +95 -0
  51. package/dist/node/src/pools/fixedRate/index.d.ts +1 -0
  52. package/dist/node/src/pools/index.d.ts +3 -0
  53. package/dist/node/src/pools/ssContracts/SideStaking.d.ts +28 -0
  54. package/dist/node/src/pools/ssContracts/index.d.ts +1 -0
  55. package/dist/node/src/provider/Provider.d.ts +31 -0
  56. package/dist/node/src/provider/index.d.ts +1 -0
  57. package/dist/node/src/tokens/Datatoken.d.ts +77 -0
  58. package/dist/node/src/tokens/NFT.d.ts +57 -0
  59. package/dist/node/src/tokens/index.d.ts +2 -0
  60. package/dist/node/src/utils/ConfigHelper.d.ts +6 -0
  61. package/dist/node/src/utils/Constants.d.ts +1 -0
  62. package/dist/node/src/utils/ContractParams.d.ts +4 -0
  63. package/dist/node/src/utils/ConversionTypeHelper.d.ts +3 -0
  64. package/dist/node/{utils/Datatokens.d.ts → src/utils/DatatokenName.d.ts} +1 -1
  65. package/dist/node/src/utils/DdoHelpers.d.ts +2 -0
  66. package/dist/node/src/utils/FetchHelper.d.ts +5 -0
  67. package/dist/node/{utils → src/utils}/GasUtils.d.ts +0 -0
  68. package/dist/node/{utils → src/utils}/Logger.d.ts +0 -0
  69. package/dist/node/src/utils/SignatureUtils.d.ts +8 -0
  70. package/dist/node/src/utils/index.d.ts +9 -0
  71. package/package.json +23 -19
  72. package/dist/node/Instantiable.abstract.d.ts +0 -25
  73. package/dist/node/balancer/OceanPool.d.ts +0 -94
  74. package/dist/node/balancer/Pool.d.ts +0 -55
  75. package/dist/node/balancer/PoolFactory.d.ts +0 -13
  76. package/dist/node/datatokens/ContractEvent.d.ts +0 -19
  77. package/dist/node/datatokens/ContractHandler.d.ts +0 -12
  78. package/dist/node/datatokens/Datatokens.d.ts +0 -42
  79. package/dist/node/datatokens/EventHandler.d.ts +0 -19
  80. package/dist/node/datatokens/Network.d.ts +0 -5
  81. package/dist/node/datatokens/Web3Provider.d.ts +0 -5
  82. package/dist/node/datatokens/contracts/ContractBase.d.ts +0 -27
  83. package/dist/node/ddo/DDO.d.ts +0 -36
  84. package/dist/node/ddo/interfaces/AdditionalInformation.d.ts +0 -16
  85. package/dist/node/ddo/interfaces/Authentication.d.ts +0 -4
  86. package/dist/node/ddo/interfaces/BestPrice.d.ts +0 -10
  87. package/dist/node/ddo/interfaces/Consumable.d.ts +0 -5
  88. package/dist/node/ddo/interfaces/Credentials.d.ts +0 -9
  89. package/dist/node/ddo/interfaces/Curation.d.ts +0 -6
  90. package/dist/node/ddo/interfaces/DataTokenInfo.d.ts +0 -10
  91. package/dist/node/ddo/interfaces/EditableMetadata.d.ts +0 -9
  92. package/dist/node/ddo/interfaces/EditableMetadataLinks.d.ts +0 -5
  93. package/dist/node/ddo/interfaces/Event.d.ts +0 -7
  94. package/dist/node/ddo/interfaces/File.d.ts +0 -13
  95. package/dist/node/ddo/interfaces/Metadata.d.ts +0 -15
  96. package/dist/node/ddo/interfaces/MetadataAlgorithm.d.ts +0 -12
  97. package/dist/node/ddo/interfaces/MetadataMain.d.ts +0 -12
  98. package/dist/node/ddo/interfaces/Proof.d.ts +0 -6
  99. package/dist/node/ddo/interfaces/PublicKey.d.ts +0 -8
  100. package/dist/node/ddo/interfaces/PurgatoryData.d.ts +0 -4
  101. package/dist/node/ddo/interfaces/Service.d.ts +0 -99
  102. package/dist/node/ddo/interfaces/ServicePrices.d.ts +0 -4
  103. package/dist/node/ddo/interfaces/Status.d.ts +0 -5
  104. package/dist/node/ddo/interfaces/index.d.ts +0 -17
  105. package/dist/node/dispenser/Dispenser.d.ts +0 -42
  106. package/dist/node/exchange/FixedRateExchange.d.ts +0 -57
  107. package/dist/node/index.d.ts +0 -1
  108. package/dist/node/lib.d.ts +0 -15
  109. package/dist/node/metadatacache/MetadataCache.d.ts +0 -41
  110. package/dist/node/metadatacache/OnChainMetaData.d.ts +0 -29
  111. package/dist/node/ocean/Account.d.ts +0 -16
  112. package/dist/node/ocean/Accounts.d.ts +0 -9
  113. package/dist/node/ocean/Assets.d.ts +0 -56
  114. package/dist/node/ocean/AssetsCredential.d.ts +0 -6
  115. package/dist/node/ocean/Compute.d.ts +0 -75
  116. package/dist/node/ocean/DID.d.ts +0 -8
  117. package/dist/node/ocean/EventAccessControl.d.ts +0 -9
  118. package/dist/node/ocean/Ocean.d.ts +0 -34
  119. package/dist/node/ocean/OceanAuth.d.ts +0 -15
  120. package/dist/node/ocean/Versions.d.ts +0 -25
  121. package/dist/node/ocean/utils/SignatureUtils.d.ts +0 -13
  122. package/dist/node/ocean/utils/Utils.d.ts +0 -8
  123. package/dist/node/ocean/utils/WebServiceConnector.d.ts +0 -15
  124. package/dist/node/provider/Provider.d.ts +0 -49
  125. package/dist/node/utils/AssetResolverHelper.d.ts +0 -8
  126. package/dist/node/utils/ConfigHelper.d.ts +0 -13
  127. package/dist/node/utils/ConversionTypeHelpers.d.ts +0 -8
  128. package/dist/node/utils/GeneratorHelpers.d.ts +0 -1
  129. package/dist/node/utils/PromiseResolver.d.ts +0 -3
  130. package/dist/node/utils/SubscribableObserver.d.ts +0 -12
  131. package/dist/node/utils/SubscribablePromise.d.ts +0 -14
  132. package/dist/node/utils/Timeout.d.ts +0 -1
  133. package/dist/node/utils/index.d.ts +0 -9
@@ -0,0 +1,1164 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ERC721Factory",
4
+ "sourceName": "contracts/ERC721Factory.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_template721",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_template",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_collector",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "_router",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "stateMutability": "nonpayable",
30
+ "type": "constructor"
31
+ },
32
+ {
33
+ "anonymous": false,
34
+ "inputs": [
35
+ {
36
+ "indexed": true,
37
+ "internalType": "address",
38
+ "name": "datatokenAddress",
39
+ "type": "address"
40
+ },
41
+ {
42
+ "indexed": true,
43
+ "internalType": "address",
44
+ "name": "owner",
45
+ "type": "address"
46
+ },
47
+ {
48
+ "indexed": false,
49
+ "internalType": "uint256",
50
+ "name": "maxTokens",
51
+ "type": "uint256"
52
+ },
53
+ {
54
+ "indexed": false,
55
+ "internalType": "uint256",
56
+ "name": "maxBalance",
57
+ "type": "uint256"
58
+ },
59
+ {
60
+ "indexed": false,
61
+ "internalType": "address",
62
+ "name": "allowedSwapper",
63
+ "type": "address"
64
+ }
65
+ ],
66
+ "name": "DispenserCreated",
67
+ "type": "event"
68
+ },
69
+ {
70
+ "anonymous": false,
71
+ "inputs": [
72
+ {
73
+ "indexed": false,
74
+ "internalType": "address",
75
+ "name": "instance",
76
+ "type": "address"
77
+ }
78
+ ],
79
+ "name": "InstanceDeployed",
80
+ "type": "event"
81
+ },
82
+ {
83
+ "anonymous": false,
84
+ "inputs": [
85
+ {
86
+ "indexed": true,
87
+ "internalType": "address",
88
+ "name": "newTokenAddress",
89
+ "type": "address"
90
+ },
91
+ {
92
+ "indexed": true,
93
+ "internalType": "address",
94
+ "name": "templateAddress",
95
+ "type": "address"
96
+ },
97
+ {
98
+ "indexed": false,
99
+ "internalType": "string",
100
+ "name": "tokenName",
101
+ "type": "string"
102
+ },
103
+ {
104
+ "indexed": false,
105
+ "internalType": "address",
106
+ "name": "admin",
107
+ "type": "address"
108
+ },
109
+ {
110
+ "indexed": false,
111
+ "internalType": "string",
112
+ "name": "symbol",
113
+ "type": "string"
114
+ },
115
+ {
116
+ "indexed": false,
117
+ "internalType": "string",
118
+ "name": "tokenURI",
119
+ "type": "string"
120
+ }
121
+ ],
122
+ "name": "NFTCreated",
123
+ "type": "event"
124
+ },
125
+ {
126
+ "anonymous": false,
127
+ "inputs": [
128
+ {
129
+ "indexed": false,
130
+ "internalType": "bytes32",
131
+ "name": "exchangeId",
132
+ "type": "bytes32"
133
+ },
134
+ {
135
+ "indexed": false,
136
+ "internalType": "address",
137
+ "name": "owner",
138
+ "type": "address"
139
+ }
140
+ ],
141
+ "name": "NewFixedRate",
142
+ "type": "event"
143
+ },
144
+ {
145
+ "anonymous": false,
146
+ "inputs": [
147
+ {
148
+ "indexed": false,
149
+ "internalType": "address",
150
+ "name": "poolAddress",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "indexed": false,
155
+ "internalType": "address",
156
+ "name": "ssContract",
157
+ "type": "address"
158
+ },
159
+ {
160
+ "indexed": false,
161
+ "internalType": "address",
162
+ "name": "basetokenAddress",
163
+ "type": "address"
164
+ }
165
+ ],
166
+ "name": "NewPool",
167
+ "type": "event"
168
+ },
169
+ {
170
+ "anonymous": false,
171
+ "inputs": [
172
+ {
173
+ "indexed": true,
174
+ "internalType": "address",
175
+ "name": "previousOwner",
176
+ "type": "address"
177
+ },
178
+ {
179
+ "indexed": true,
180
+ "internalType": "address",
181
+ "name": "newOwner",
182
+ "type": "address"
183
+ }
184
+ ],
185
+ "name": "OwnershipTransferred",
186
+ "type": "event"
187
+ },
188
+ {
189
+ "anonymous": false,
190
+ "inputs": [
191
+ {
192
+ "indexed": true,
193
+ "internalType": "address",
194
+ "name": "_templateAddress",
195
+ "type": "address"
196
+ },
197
+ {
198
+ "indexed": true,
199
+ "internalType": "uint256",
200
+ "name": "nftTemplateCount",
201
+ "type": "uint256"
202
+ }
203
+ ],
204
+ "name": "Template20Added",
205
+ "type": "event"
206
+ },
207
+ {
208
+ "anonymous": false,
209
+ "inputs": [
210
+ {
211
+ "indexed": true,
212
+ "internalType": "address",
213
+ "name": "_templateAddress",
214
+ "type": "address"
215
+ },
216
+ {
217
+ "indexed": true,
218
+ "internalType": "uint256",
219
+ "name": "nftTemplateCount",
220
+ "type": "uint256"
221
+ }
222
+ ],
223
+ "name": "Template721Added",
224
+ "type": "event"
225
+ },
226
+ {
227
+ "anonymous": false,
228
+ "inputs": [
229
+ {
230
+ "indexed": true,
231
+ "internalType": "address",
232
+ "name": "newTokenAddress",
233
+ "type": "address"
234
+ },
235
+ {
236
+ "indexed": true,
237
+ "internalType": "address",
238
+ "name": "templateAddress",
239
+ "type": "address"
240
+ },
241
+ {
242
+ "indexed": false,
243
+ "internalType": "string",
244
+ "name": "name",
245
+ "type": "string"
246
+ },
247
+ {
248
+ "indexed": false,
249
+ "internalType": "string",
250
+ "name": "symbol",
251
+ "type": "string"
252
+ },
253
+ {
254
+ "indexed": false,
255
+ "internalType": "uint256",
256
+ "name": "cap",
257
+ "type": "uint256"
258
+ },
259
+ {
260
+ "indexed": false,
261
+ "internalType": "address",
262
+ "name": "creator",
263
+ "type": "address"
264
+ }
265
+ ],
266
+ "name": "TokenCreated",
267
+ "type": "event"
268
+ },
269
+ {
270
+ "inputs": [
271
+ {
272
+ "internalType": "address",
273
+ "name": "_templateAddress",
274
+ "type": "address"
275
+ }
276
+ ],
277
+ "name": "add721TokenTemplate",
278
+ "outputs": [
279
+ {
280
+ "internalType": "uint256",
281
+ "name": "",
282
+ "type": "uint256"
283
+ }
284
+ ],
285
+ "stateMutability": "nonpayable",
286
+ "type": "function"
287
+ },
288
+ {
289
+ "inputs": [
290
+ {
291
+ "internalType": "address",
292
+ "name": "_templateAddress",
293
+ "type": "address"
294
+ }
295
+ ],
296
+ "name": "addTokenTemplate",
297
+ "outputs": [
298
+ {
299
+ "internalType": "uint256",
300
+ "name": "",
301
+ "type": "uint256"
302
+ }
303
+ ],
304
+ "stateMutability": "nonpayable",
305
+ "type": "function"
306
+ },
307
+ {
308
+ "inputs": [
309
+ {
310
+ "components": [
311
+ {
312
+ "internalType": "string",
313
+ "name": "name",
314
+ "type": "string"
315
+ },
316
+ {
317
+ "internalType": "string",
318
+ "name": "symbol",
319
+ "type": "string"
320
+ },
321
+ {
322
+ "internalType": "uint256",
323
+ "name": "templateIndex",
324
+ "type": "uint256"
325
+ },
326
+ {
327
+ "internalType": "string",
328
+ "name": "tokenURI",
329
+ "type": "string"
330
+ }
331
+ ],
332
+ "internalType": "struct ERC721Factory.NftCreateData",
333
+ "name": "_NftCreateData",
334
+ "type": "tuple"
335
+ },
336
+ {
337
+ "components": [
338
+ {
339
+ "internalType": "uint256",
340
+ "name": "templateIndex",
341
+ "type": "uint256"
342
+ },
343
+ {
344
+ "internalType": "string[]",
345
+ "name": "strings",
346
+ "type": "string[]"
347
+ },
348
+ {
349
+ "internalType": "address[]",
350
+ "name": "addresses",
351
+ "type": "address[]"
352
+ },
353
+ {
354
+ "internalType": "uint256[]",
355
+ "name": "uints",
356
+ "type": "uint256[]"
357
+ },
358
+ {
359
+ "internalType": "bytes[]",
360
+ "name": "bytess",
361
+ "type": "bytes[]"
362
+ }
363
+ ],
364
+ "internalType": "struct ERC721Factory.ErcCreateData",
365
+ "name": "_ErcCreateData",
366
+ "type": "tuple"
367
+ },
368
+ {
369
+ "components": [
370
+ {
371
+ "internalType": "address",
372
+ "name": "dispenserAddress",
373
+ "type": "address"
374
+ },
375
+ {
376
+ "internalType": "uint256",
377
+ "name": "maxTokens",
378
+ "type": "uint256"
379
+ },
380
+ {
381
+ "internalType": "uint256",
382
+ "name": "maxBalance",
383
+ "type": "uint256"
384
+ },
385
+ {
386
+ "internalType": "bool",
387
+ "name": "withMint",
388
+ "type": "bool"
389
+ },
390
+ {
391
+ "internalType": "address",
392
+ "name": "allowedSwapper",
393
+ "type": "address"
394
+ }
395
+ ],
396
+ "internalType": "struct ERC721Factory.DispenserData",
397
+ "name": "_DispenserData",
398
+ "type": "tuple"
399
+ }
400
+ ],
401
+ "name": "createNftErcWithDispenser",
402
+ "outputs": [
403
+ {
404
+ "internalType": "address",
405
+ "name": "erc721Address",
406
+ "type": "address"
407
+ },
408
+ {
409
+ "internalType": "address",
410
+ "name": "erc20Address",
411
+ "type": "address"
412
+ }
413
+ ],
414
+ "stateMutability": "nonpayable",
415
+ "type": "function"
416
+ },
417
+ {
418
+ "inputs": [
419
+ {
420
+ "components": [
421
+ {
422
+ "internalType": "string",
423
+ "name": "name",
424
+ "type": "string"
425
+ },
426
+ {
427
+ "internalType": "string",
428
+ "name": "symbol",
429
+ "type": "string"
430
+ },
431
+ {
432
+ "internalType": "uint256",
433
+ "name": "templateIndex",
434
+ "type": "uint256"
435
+ },
436
+ {
437
+ "internalType": "string",
438
+ "name": "tokenURI",
439
+ "type": "string"
440
+ }
441
+ ],
442
+ "internalType": "struct ERC721Factory.NftCreateData",
443
+ "name": "_NftCreateData",
444
+ "type": "tuple"
445
+ },
446
+ {
447
+ "components": [
448
+ {
449
+ "internalType": "uint256",
450
+ "name": "templateIndex",
451
+ "type": "uint256"
452
+ },
453
+ {
454
+ "internalType": "string[]",
455
+ "name": "strings",
456
+ "type": "string[]"
457
+ },
458
+ {
459
+ "internalType": "address[]",
460
+ "name": "addresses",
461
+ "type": "address[]"
462
+ },
463
+ {
464
+ "internalType": "uint256[]",
465
+ "name": "uints",
466
+ "type": "uint256[]"
467
+ },
468
+ {
469
+ "internalType": "bytes[]",
470
+ "name": "bytess",
471
+ "type": "bytes[]"
472
+ }
473
+ ],
474
+ "internalType": "struct ERC721Factory.ErcCreateData",
475
+ "name": "_ErcCreateData",
476
+ "type": "tuple"
477
+ },
478
+ {
479
+ "components": [
480
+ {
481
+ "internalType": "address",
482
+ "name": "fixedPriceAddress",
483
+ "type": "address"
484
+ },
485
+ {
486
+ "internalType": "address[]",
487
+ "name": "addresses",
488
+ "type": "address[]"
489
+ },
490
+ {
491
+ "internalType": "uint256[]",
492
+ "name": "uints",
493
+ "type": "uint256[]"
494
+ }
495
+ ],
496
+ "internalType": "struct ERC721Factory.FixedData",
497
+ "name": "_FixedData",
498
+ "type": "tuple"
499
+ }
500
+ ],
501
+ "name": "createNftErcWithFixedRate",
502
+ "outputs": [
503
+ {
504
+ "internalType": "address",
505
+ "name": "erc721Address",
506
+ "type": "address"
507
+ },
508
+ {
509
+ "internalType": "address",
510
+ "name": "erc20Address",
511
+ "type": "address"
512
+ },
513
+ {
514
+ "internalType": "bytes32",
515
+ "name": "exchangeId",
516
+ "type": "bytes32"
517
+ }
518
+ ],
519
+ "stateMutability": "nonpayable",
520
+ "type": "function"
521
+ },
522
+ {
523
+ "inputs": [
524
+ {
525
+ "components": [
526
+ {
527
+ "internalType": "string",
528
+ "name": "name",
529
+ "type": "string"
530
+ },
531
+ {
532
+ "internalType": "string",
533
+ "name": "symbol",
534
+ "type": "string"
535
+ },
536
+ {
537
+ "internalType": "uint256",
538
+ "name": "templateIndex",
539
+ "type": "uint256"
540
+ },
541
+ {
542
+ "internalType": "string",
543
+ "name": "tokenURI",
544
+ "type": "string"
545
+ }
546
+ ],
547
+ "internalType": "struct ERC721Factory.NftCreateData",
548
+ "name": "_NftCreateData",
549
+ "type": "tuple"
550
+ },
551
+ {
552
+ "components": [
553
+ {
554
+ "internalType": "uint256",
555
+ "name": "templateIndex",
556
+ "type": "uint256"
557
+ },
558
+ {
559
+ "internalType": "string[]",
560
+ "name": "strings",
561
+ "type": "string[]"
562
+ },
563
+ {
564
+ "internalType": "address[]",
565
+ "name": "addresses",
566
+ "type": "address[]"
567
+ },
568
+ {
569
+ "internalType": "uint256[]",
570
+ "name": "uints",
571
+ "type": "uint256[]"
572
+ },
573
+ {
574
+ "internalType": "bytes[]",
575
+ "name": "bytess",
576
+ "type": "bytes[]"
577
+ }
578
+ ],
579
+ "internalType": "struct ERC721Factory.ErcCreateData",
580
+ "name": "_ErcCreateData",
581
+ "type": "tuple"
582
+ },
583
+ {
584
+ "components": [
585
+ {
586
+ "internalType": "address[]",
587
+ "name": "addresses",
588
+ "type": "address[]"
589
+ },
590
+ {
591
+ "internalType": "uint256[]",
592
+ "name": "ssParams",
593
+ "type": "uint256[]"
594
+ },
595
+ {
596
+ "internalType": "uint256[]",
597
+ "name": "swapFees",
598
+ "type": "uint256[]"
599
+ }
600
+ ],
601
+ "internalType": "struct ERC721Factory.PoolData",
602
+ "name": "_PoolData",
603
+ "type": "tuple"
604
+ }
605
+ ],
606
+ "name": "createNftErcWithPool",
607
+ "outputs": [
608
+ {
609
+ "internalType": "address",
610
+ "name": "erc721Address",
611
+ "type": "address"
612
+ },
613
+ {
614
+ "internalType": "address",
615
+ "name": "erc20Address",
616
+ "type": "address"
617
+ },
618
+ {
619
+ "internalType": "address",
620
+ "name": "poolAddress",
621
+ "type": "address"
622
+ }
623
+ ],
624
+ "stateMutability": "nonpayable",
625
+ "type": "function"
626
+ },
627
+ {
628
+ "inputs": [
629
+ {
630
+ "components": [
631
+ {
632
+ "internalType": "string",
633
+ "name": "name",
634
+ "type": "string"
635
+ },
636
+ {
637
+ "internalType": "string",
638
+ "name": "symbol",
639
+ "type": "string"
640
+ },
641
+ {
642
+ "internalType": "uint256",
643
+ "name": "templateIndex",
644
+ "type": "uint256"
645
+ },
646
+ {
647
+ "internalType": "string",
648
+ "name": "tokenURI",
649
+ "type": "string"
650
+ }
651
+ ],
652
+ "internalType": "struct ERC721Factory.NftCreateData",
653
+ "name": "_NftCreateData",
654
+ "type": "tuple"
655
+ },
656
+ {
657
+ "components": [
658
+ {
659
+ "internalType": "uint256",
660
+ "name": "templateIndex",
661
+ "type": "uint256"
662
+ },
663
+ {
664
+ "internalType": "string[]",
665
+ "name": "strings",
666
+ "type": "string[]"
667
+ },
668
+ {
669
+ "internalType": "address[]",
670
+ "name": "addresses",
671
+ "type": "address[]"
672
+ },
673
+ {
674
+ "internalType": "uint256[]",
675
+ "name": "uints",
676
+ "type": "uint256[]"
677
+ },
678
+ {
679
+ "internalType": "bytes[]",
680
+ "name": "bytess",
681
+ "type": "bytes[]"
682
+ }
683
+ ],
684
+ "internalType": "struct ERC721Factory.ErcCreateData",
685
+ "name": "_ErcCreateData",
686
+ "type": "tuple"
687
+ }
688
+ ],
689
+ "name": "createNftWithErc",
690
+ "outputs": [
691
+ {
692
+ "internalType": "address",
693
+ "name": "erc721Address",
694
+ "type": "address"
695
+ },
696
+ {
697
+ "internalType": "address",
698
+ "name": "erc20Address",
699
+ "type": "address"
700
+ }
701
+ ],
702
+ "stateMutability": "nonpayable",
703
+ "type": "function"
704
+ },
705
+ {
706
+ "inputs": [
707
+ {
708
+ "internalType": "uint256",
709
+ "name": "_templateIndex",
710
+ "type": "uint256"
711
+ },
712
+ {
713
+ "internalType": "string[]",
714
+ "name": "strings",
715
+ "type": "string[]"
716
+ },
717
+ {
718
+ "internalType": "address[]",
719
+ "name": "addresses",
720
+ "type": "address[]"
721
+ },
722
+ {
723
+ "internalType": "uint256[]",
724
+ "name": "uints",
725
+ "type": "uint256[]"
726
+ },
727
+ {
728
+ "internalType": "bytes[]",
729
+ "name": "bytess",
730
+ "type": "bytes[]"
731
+ }
732
+ ],
733
+ "name": "createToken",
734
+ "outputs": [
735
+ {
736
+ "internalType": "address",
737
+ "name": "token",
738
+ "type": "address"
739
+ }
740
+ ],
741
+ "stateMutability": "nonpayable",
742
+ "type": "function"
743
+ },
744
+ {
745
+ "inputs": [
746
+ {
747
+ "internalType": "string",
748
+ "name": "name",
749
+ "type": "string"
750
+ },
751
+ {
752
+ "internalType": "string",
753
+ "name": "symbol",
754
+ "type": "string"
755
+ },
756
+ {
757
+ "internalType": "uint256",
758
+ "name": "_templateIndex",
759
+ "type": "uint256"
760
+ },
761
+ {
762
+ "internalType": "address",
763
+ "name": "additionalERC20Deployer",
764
+ "type": "address"
765
+ },
766
+ {
767
+ "internalType": "string",
768
+ "name": "tokenURI",
769
+ "type": "string"
770
+ }
771
+ ],
772
+ "name": "deployERC721Contract",
773
+ "outputs": [
774
+ {
775
+ "internalType": "address",
776
+ "name": "token",
777
+ "type": "address"
778
+ }
779
+ ],
780
+ "stateMutability": "nonpayable",
781
+ "type": "function"
782
+ },
783
+ {
784
+ "inputs": [
785
+ {
786
+ "internalType": "uint256",
787
+ "name": "_index",
788
+ "type": "uint256"
789
+ }
790
+ ],
791
+ "name": "disable721TokenTemplate",
792
+ "outputs": [],
793
+ "stateMutability": "nonpayable",
794
+ "type": "function"
795
+ },
796
+ {
797
+ "inputs": [
798
+ {
799
+ "internalType": "uint256",
800
+ "name": "_index",
801
+ "type": "uint256"
802
+ }
803
+ ],
804
+ "name": "disableTokenTemplate",
805
+ "outputs": [],
806
+ "stateMutability": "nonpayable",
807
+ "type": "function"
808
+ },
809
+ {
810
+ "inputs": [
811
+ {
812
+ "internalType": "address",
813
+ "name": "",
814
+ "type": "address"
815
+ }
816
+ ],
817
+ "name": "erc20List",
818
+ "outputs": [
819
+ {
820
+ "internalType": "bool",
821
+ "name": "",
822
+ "type": "bool"
823
+ }
824
+ ],
825
+ "stateMutability": "view",
826
+ "type": "function"
827
+ },
828
+ {
829
+ "inputs": [
830
+ {
831
+ "internalType": "address",
832
+ "name": "",
833
+ "type": "address"
834
+ }
835
+ ],
836
+ "name": "erc721List",
837
+ "outputs": [
838
+ {
839
+ "internalType": "address",
840
+ "name": "",
841
+ "type": "address"
842
+ }
843
+ ],
844
+ "stateMutability": "view",
845
+ "type": "function"
846
+ },
847
+ {
848
+ "inputs": [],
849
+ "name": "getCurrentNFTCount",
850
+ "outputs": [
851
+ {
852
+ "internalType": "uint256",
853
+ "name": "",
854
+ "type": "uint256"
855
+ }
856
+ ],
857
+ "stateMutability": "view",
858
+ "type": "function"
859
+ },
860
+ {
861
+ "inputs": [],
862
+ "name": "getCurrentNFTTemplateCount",
863
+ "outputs": [
864
+ {
865
+ "internalType": "uint256",
866
+ "name": "",
867
+ "type": "uint256"
868
+ }
869
+ ],
870
+ "stateMutability": "view",
871
+ "type": "function"
872
+ },
873
+ {
874
+ "inputs": [],
875
+ "name": "getCurrentTemplateCount",
876
+ "outputs": [
877
+ {
878
+ "internalType": "uint256",
879
+ "name": "",
880
+ "type": "uint256"
881
+ }
882
+ ],
883
+ "stateMutability": "view",
884
+ "type": "function"
885
+ },
886
+ {
887
+ "inputs": [],
888
+ "name": "getCurrentTokenCount",
889
+ "outputs": [
890
+ {
891
+ "internalType": "uint256",
892
+ "name": "",
893
+ "type": "uint256"
894
+ }
895
+ ],
896
+ "stateMutability": "view",
897
+ "type": "function"
898
+ },
899
+ {
900
+ "inputs": [
901
+ {
902
+ "internalType": "uint256",
903
+ "name": "_index",
904
+ "type": "uint256"
905
+ }
906
+ ],
907
+ "name": "getNFTTemplate",
908
+ "outputs": [
909
+ {
910
+ "components": [
911
+ {
912
+ "internalType": "address",
913
+ "name": "templateAddress",
914
+ "type": "address"
915
+ },
916
+ {
917
+ "internalType": "bool",
918
+ "name": "isActive",
919
+ "type": "bool"
920
+ }
921
+ ],
922
+ "internalType": "struct ERC721Factory.Template",
923
+ "name": "",
924
+ "type": "tuple"
925
+ }
926
+ ],
927
+ "stateMutability": "view",
928
+ "type": "function"
929
+ },
930
+ {
931
+ "inputs": [
932
+ {
933
+ "internalType": "uint256",
934
+ "name": "_index",
935
+ "type": "uint256"
936
+ }
937
+ ],
938
+ "name": "getTokenTemplate",
939
+ "outputs": [
940
+ {
941
+ "components": [
942
+ {
943
+ "internalType": "address",
944
+ "name": "templateAddress",
945
+ "type": "address"
946
+ },
947
+ {
948
+ "internalType": "bool",
949
+ "name": "isActive",
950
+ "type": "bool"
951
+ }
952
+ ],
953
+ "internalType": "struct ERC721Factory.Template",
954
+ "name": "",
955
+ "type": "tuple"
956
+ }
957
+ ],
958
+ "stateMutability": "view",
959
+ "type": "function"
960
+ },
961
+ {
962
+ "inputs": [
963
+ {
964
+ "internalType": "uint256",
965
+ "name": "",
966
+ "type": "uint256"
967
+ }
968
+ ],
969
+ "name": "nftTemplateList",
970
+ "outputs": [
971
+ {
972
+ "internalType": "address",
973
+ "name": "templateAddress",
974
+ "type": "address"
975
+ },
976
+ {
977
+ "internalType": "bool",
978
+ "name": "isActive",
979
+ "type": "bool"
980
+ }
981
+ ],
982
+ "stateMutability": "view",
983
+ "type": "function"
984
+ },
985
+ {
986
+ "inputs": [],
987
+ "name": "owner",
988
+ "outputs": [
989
+ {
990
+ "internalType": "address",
991
+ "name": "",
992
+ "type": "address"
993
+ }
994
+ ],
995
+ "stateMutability": "view",
996
+ "type": "function"
997
+ },
998
+ {
999
+ "inputs": [
1000
+ {
1001
+ "internalType": "uint256",
1002
+ "name": "_index",
1003
+ "type": "uint256"
1004
+ }
1005
+ ],
1006
+ "name": "reactivate721TokenTemplate",
1007
+ "outputs": [],
1008
+ "stateMutability": "nonpayable",
1009
+ "type": "function"
1010
+ },
1011
+ {
1012
+ "inputs": [
1013
+ {
1014
+ "internalType": "uint256",
1015
+ "name": "_index",
1016
+ "type": "uint256"
1017
+ }
1018
+ ],
1019
+ "name": "reactivateTokenTemplate",
1020
+ "outputs": [],
1021
+ "stateMutability": "nonpayable",
1022
+ "type": "function"
1023
+ },
1024
+ {
1025
+ "inputs": [],
1026
+ "name": "renounceOwnership",
1027
+ "outputs": [],
1028
+ "stateMutability": "nonpayable",
1029
+ "type": "function"
1030
+ },
1031
+ {
1032
+ "inputs": [],
1033
+ "name": "router",
1034
+ "outputs": [
1035
+ {
1036
+ "internalType": "address",
1037
+ "name": "",
1038
+ "type": "address"
1039
+ }
1040
+ ],
1041
+ "stateMutability": "view",
1042
+ "type": "function"
1043
+ },
1044
+ {
1045
+ "inputs": [
1046
+ {
1047
+ "components": [
1048
+ {
1049
+ "internalType": "address",
1050
+ "name": "tokenAddress",
1051
+ "type": "address"
1052
+ },
1053
+ {
1054
+ "internalType": "address",
1055
+ "name": "consumer",
1056
+ "type": "address"
1057
+ },
1058
+ {
1059
+ "internalType": "uint256",
1060
+ "name": "serviceIndex",
1061
+ "type": "uint256"
1062
+ },
1063
+ {
1064
+ "internalType": "address",
1065
+ "name": "providerFeeAddress",
1066
+ "type": "address"
1067
+ },
1068
+ {
1069
+ "internalType": "address",
1070
+ "name": "providerFeeToken",
1071
+ "type": "address"
1072
+ },
1073
+ {
1074
+ "internalType": "uint256",
1075
+ "name": "providerFeeAmount",
1076
+ "type": "uint256"
1077
+ },
1078
+ {
1079
+ "internalType": "uint8",
1080
+ "name": "v",
1081
+ "type": "uint8"
1082
+ },
1083
+ {
1084
+ "internalType": "bytes32",
1085
+ "name": "r",
1086
+ "type": "bytes32"
1087
+ },
1088
+ {
1089
+ "internalType": "bytes32",
1090
+ "name": "s",
1091
+ "type": "bytes32"
1092
+ },
1093
+ {
1094
+ "internalType": "bytes",
1095
+ "name": "providerData",
1096
+ "type": "bytes"
1097
+ }
1098
+ ],
1099
+ "internalType": "struct ERC721Factory.tokenOrder[]",
1100
+ "name": "orders",
1101
+ "type": "tuple[]"
1102
+ }
1103
+ ],
1104
+ "name": "startMultipleTokenOrder",
1105
+ "outputs": [],
1106
+ "stateMutability": "nonpayable",
1107
+ "type": "function"
1108
+ },
1109
+ {
1110
+ "inputs": [],
1111
+ "name": "templateCount",
1112
+ "outputs": [
1113
+ {
1114
+ "internalType": "uint256",
1115
+ "name": "",
1116
+ "type": "uint256"
1117
+ }
1118
+ ],
1119
+ "stateMutability": "view",
1120
+ "type": "function"
1121
+ },
1122
+ {
1123
+ "inputs": [
1124
+ {
1125
+ "internalType": "uint256",
1126
+ "name": "",
1127
+ "type": "uint256"
1128
+ }
1129
+ ],
1130
+ "name": "templateList",
1131
+ "outputs": [
1132
+ {
1133
+ "internalType": "address",
1134
+ "name": "templateAddress",
1135
+ "type": "address"
1136
+ },
1137
+ {
1138
+ "internalType": "bool",
1139
+ "name": "isActive",
1140
+ "type": "bool"
1141
+ }
1142
+ ],
1143
+ "stateMutability": "view",
1144
+ "type": "function"
1145
+ },
1146
+ {
1147
+ "inputs": [
1148
+ {
1149
+ "internalType": "address",
1150
+ "name": "newOwner",
1151
+ "type": "address"
1152
+ }
1153
+ ],
1154
+ "name": "transferOwnership",
1155
+ "outputs": [],
1156
+ "stateMutability": "nonpayable",
1157
+ "type": "function"
1158
+ }
1159
+ ],
1160
+ "bytecode": "0x60806040526000600a553480156200001657600080fd5b50604051620039c8380380620039c88339810160408190526200003991620005ab565b6200004433620001be565b600180556001600160a01b038316158015906200006957506001600160a01b03821615155b80156200007e57506001600160a01b03841615155b620001065760405162461bcd60e51b815260206004820152604760248201527f4552433732314454466163746f72793a20496e76616c69642074656d706c617460448201527f6520746f6b656e2f636f6d6d756e6974792066656520636f6c6c6563746f72206064820152666164647265737360c81b608482015260a4015b60405180910390fd5b6001600160a01b0381166200016e5760405162461bcd60e51b815260206004820152602760248201527f4552433732314454466163746f72793a20496e76616c696420726f75746572206044820152666164647265737360c81b6064820152608401620000fd565b62000179846200020e565b506200018583620003d1565b50600c80546001600160a01b039283166001600160a01b03199182161790915560028054939092169216919091179055506200062f9050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080546001600160a01b031633146200025a5760405162461bcd60e51b81526020600482018190526024820152600080516020620039a88339815191526044820152606401620000fd565b6001600160a01b038216620002d85760405162461bcd60e51b815260206004820152603760248201527f4552433732314454466163746f72793a204552433732312074656d706c61746560448201527f2061646472657373283029204e4f5420414c4c4f5745440000000000000000006064820152608401620000fd565b813b620003285760405162461bcd60e51b815260206004820152601b60248201527f455243373231466163746f72793a204e4f5420434f4e545241435400000000006044820152606401620000fd565b6001600560008282546200033d919062000608565b90915550506040805180820182526001600160a01b038085168083526001602080850191825260058054600090815260069092528682208651815494511515600160a01b026001600160a81b03199095169616959095179290921790935554935192939290917fc0167b92c8eb4a2bad2c05e0134f076fba5d3cd54671a3e8edf13d2e61443bd991a350506005545b919050565b600080546001600160a01b031633146200041d5760405162461bcd60e51b81526020600482018190526024820152600080516020620039a88339815191526044820152606401620000fd565b6001600160a01b0382166200049b5760405162461bcd60e51b815260206004820152603460248201527f4552433230466163746f72793a204552433732312074656d706c61746520616460448201527f6472657373283029204e4f5420414c4c4f5745440000000000000000000000006064820152608401620000fd565b813b620004eb5760405162461bcd60e51b815260206004820152601a60248201527f4552433230466163746f72793a204e4f5420434f4e54524143540000000000006044820152606401620000fd565b6001600b600082825462000500919062000608565b90915550506040805180820182526001600160a01b0380851680835260016020808501918252600b8054600090815260079092528682208651815494511515600160a01b026001600160a81b03199095169616959095179290921790935554935192939290917fdcd16da87b60cea6dbd55a83f73b8a4bf9a54655db58ae0f35b82a2373fc150d91a35050600b54919050565b80516001600160a01b0381168114620003cc57600080fd5b60008060008060808587031215620005c257600080fd5b620005cd8562000593565b9350620005dd6020860162000593565b9250620005ed6040860162000593565b9150620005fd6060860162000593565b905092959194509250565b600082198211156200062a57634e487b7160e01b600052601160045260246000fd5b500190565b613369806200063f6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638da5cb5b116100f9578063c6cf868a11610097578063e5fc01f011610071578063e5fc01f0146104ff578063f2fde38b14610507578063f887ea401461051a578063fd024d6a1461052d57600080fd5b8063c6cf868a14610487578063ca4abc691461048f578063e3491099146104cc57600080fd5b806395c60305116100d357806395c6030514610420578063a33ef2a614610428578063b9cd22641461043b578063bbf8d71f1461047457600080fd5b80638da5cb5b146103c75780638f6051af146103d857806394051699146103eb57600080fd5b80635de329fd116101665780637b20bccf116101405780637b20bccf1461033a578063809d81051461034d57806382c442041461036057806389898869146103b457600080fd5b80635de329fd146102f6578063715018a61461030957806372f670f01461031157600080fd5b806326705c3c116101a257806326705c3c1461024f5780633315efd114610266578063557fcfb0146102c35780635c705982146102ee57600080fd5b8063042ab9b3146101c95780630ffda88714610207578063226e76151461021c575b600080fd5b6101dc6101d73660046124e0565b610540565b6040805182516001600160a01b03168152602092830151151592810192909252015b60405180910390f35b61021a6102153660046124e0565b6105c7565b005b61023f61022a366004612519565b60096020526000908152604090205460ff1681565b60405190151581526020016101fe565b610258600b5481565b6040519081526020016101fe565b6101dc6102743660046124e0565b6040805180820190915260008082526020820152506000908152600660209081526040918290208251808401909352546001600160a01b0381168352600160a01b900460ff1615159082015290565b6102d66102d1366004612799565b61060c565b6040516001600160a01b0390911681526020016101fe565b600354610258565b61021a610304366004612877565b6106ad565b61021a610b97565b6102d661031f366004612519565b6008602052600090815260409020546001600160a01b031681565b610258610348366004612519565b610bcd565b61021a61035b3660046124e0565b610d60565b61039561036e3660046124e0565b6006602052600090815260409020546001600160a01b03811690600160a01b900460ff1682565b604080516001600160a01b0390931683529015156020830152016101fe565b6102d66103c23660046129e7565b610dd2565b6000546001600160a01b03166102d6565b6102586103e6366004612519565b6110a3565b6103956103f93660046124e0565b6007602052600090815260409020546001600160a01b03811690600160a01b900460ff1682565b600b54610258565b61021a6104363660046124e0565b61123e565b61044e610449366004612abc565b6112b6565b604080516001600160a01b039485168152939092166020840152908201526060016101fe565b61021a6104823660046124e0565b611516565b600a54610258565b6104a261049d366004612abc565b6115d2565b604080516001600160a01b03948516815292841660208401529216918101919091526060016101fe565b6104df6104da366004612b43565b6117a0565b604080516001600160a01b039384168152929091166020830152016101fe565b600554610258565b61021a610515366004612519565b611928565b600c546102d6906001600160a01b031681565b6104df61053b366004612ba6565b6119c3565b60408051808201909152600080825260208201526000828152600760209081526040918290208251808401909352546001600160a01b0381168352600160a01b900460ff16151590820152600b54831180159061059c57508215155b6105c15760405162461bcd60e51b81526004016105b890612c1a565b60405180910390fd5b92915050565b6000546001600160a01b031633146105f15760405162461bcd60e51b81526004016105b890612c63565b6000908152600760205260409020805460ff60a01b19169055565b3360008181526008602052604081205490916001600160a01b03909116146106955760405162461bcd60e51b815260206004820152603660248201527f455243373231466163746f72793a204f4e4c592045524337323120494e5354416044820152754e43452046524f4d20455243373231464143544f525960501b60648201526084016105b8565b6106a3868686868633611bfa565b9695505050505050565b600260015414156106d05760405162461bcd60e51b81526004016105b890612c98565b60026001558051603210156107275760405162461bcd60e51b815260206004820152601e60248201527f455243373231466163746f72793a20546f6f204d616e79204f7264657273000060448201526064016105b8565b60005b8151811015610b8f57600080600084848151811061074a5761074a612ccf565b6020026020010151600001516001600160a01b031663397b37436040518163ffffffff1660e01b8152600401606060405180830381865afa158015610793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b79190612ce5565b9250925092506000811180156107d557506001600160a01b03821615155b80156107e957506001600160a01b03831615155b15610835576108036001600160a01b038316333084611edf565b61083585858151811061081857610818612ccf565b6020908102919091010151516001600160a01b0384169083611f50565b600085858151811061084957610849612ccf565b602002602001015160a00151118015610892575060006001600160a01b031685858151811061087a5761087a612ccf565b6020026020010151608001516001600160a01b031614155b80156108ce575060006001600160a01b03168585815181106108b6576108b6612ccf565b6020026020010151606001516001600160a01b031614155b156109a25761092d33308787815181106108ea576108ea612ccf565b602002602001015160a0015188888151811061090857610908612ccf565b6020026020010151608001516001600160a01b0316611edf909392919063ffffffff16565b6109a285858151811061094257610942612ccf565b60200260200101516000015186868151811061096057610960612ccf565b602002602001015160a0015187878151811061097e5761097e612ccf565b6020026020010151608001516001600160a01b0316611f509092919063ffffffff16565b6109e73330670de0b6b3a76400008888815181106109c2576109c2612ccf565b6020026020010151600001516001600160a01b0316611edf909392919063ffffffff16565b8484815181106109f9576109f9612ccf565b6020026020010151600001516001600160a01b0316639b4f44b6868681518110610a2557610a25612ccf565b602002602001015160200151878781518110610a4357610a43612ccf565b602002602001015160400151888881518110610a6157610a61612ccf565b602002602001015160600151898981518110610a7f57610a7f612ccf565b6020026020010151608001518a8a81518110610a9d57610a9d612ccf565b602002602001015160a001518b8b81518110610abb57610abb612ccf565b602002602001015160c001518c8c81518110610ad957610ad9612ccf565b602002602001015160e001518d8d81518110610af757610af7612ccf565b602002602001015161010001518e8e81518110610b1657610b16612ccf565b602002602001015161012001516040518a63ffffffff1660e01b8152600401610b4799989796959493929190612d80565b600060405180830381600087803b158015610b6157600080fd5b505af1158015610b75573d6000803e3d6000fd5b505050505050508080610b8790612dfc565b91505061072a565b505060018055565b6000546001600160a01b03163314610bc15760405162461bcd60e51b81526004016105b890612c63565b610bcb6000612002565b565b600080546001600160a01b03163314610bf85760405162461bcd60e51b81526004016105b890612c63565b6001600160a01b038216610c6b5760405162461bcd60e51b815260206004820152603460248201527f4552433230466163746f72793a204552433732312074656d706c617465206164604482015273191c995cdcca0c0a481393d50810531313d5d15160621b60648201526084016105b8565b813b610cb95760405162461bcd60e51b815260206004820152601a60248201527f4552433230466163746f72793a204e4f5420434f4e545241435400000000000060448201526064016105b8565b6001600b6000828254610ccc9190612e17565b90915550506040805180820182526001600160a01b0380851680835260016020808501918252600b8054600090815260079092528682208651815494511515600160a01b026001600160a81b03199095169616959095179290921790935554935192939290917fdcd16da87b60cea6dbd55a83f73b8a4bf9a54655db58ae0f35b82a2373fc150d91a35050600b545b919050565b6000546001600160a01b03163314610d8a5760405162461bcd60e51b81526004016105b890612c63565b6005548111158015610d9b57508015155b610db75760405162461bcd60e51b81526004016105b890612e2f565b6000908152600660205260409020805460ff60a01b19169055565b60006005548411158015610de557508315155b610e015760405162461bcd60e51b81526004016105b890612e2f565b6000848152600660209081526040918290208251808401909352546001600160a01b0381168352600160a01b900460ff161515908201819052610e9d5760405162461bcd60e51b815260206004820152602e60248201527f4552433732314454466163746f72793a20455243373231546f6b656e2054656d60448201526d1c1b185d1948191a5cd8589b195960921b60648201526084016105b8565b8051610ea890612052565b91506001600160a01b038216610f28576040805162461bcd60e51b81526020600482015260248101919091527f4552433732314454466163746f72793a204661696c656420746f20706572666f60448201527f726d206d696e696d616c206465706c6f79206f662061206e657720746f6b656e60648201526084016105b8565b6001600160a01b0382166000818152600860205260409081902080546001600160a01b03191683179055516370c166d760e01b81528391906370c166d790610f7e9033908c908c9030908c908c90600401612e7b565b6020604051808303816000875af1158015610f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc19190612eef565b61102a5760405162461bcd60e51b815260206004820152603460248201527f4552433732314454466163746f72793a20556e61626c6520746f20696e697469604482015273616c697a6520746f6b656e20696e7374616e636560601b60648201526084016105b8565b81600001516001600160a01b0316836001600160a01b03167f46f5e3cee761854fc3892024ae7aa2c832007dff583603ce093f177ebd9c4c968a338b896040516110779493929190612f0c565b60405180910390a36001600360008282546110929190612e17565b909155509298975050505050505050565b600080546001600160a01b031633146110ce5760405162461bcd60e51b81526004016105b890612c63565b6001600160a01b03821661114a5760405162461bcd60e51b815260206004820152603760248201527f4552433732314454466163746f72793a204552433732312074656d706c61746560448201527f2061646472657373283029204e4f5420414c4c4f57454400000000000000000060648201526084016105b8565b813b6111985760405162461bcd60e51b815260206004820152601b60248201527f455243373231466163746f72793a204e4f5420434f4e5452414354000000000060448201526064016105b8565b6001600560008282546111ab9190612e17565b90915550506040805180820182526001600160a01b038085168083526001602080850191825260058054600090815260069092528682208651815494511515600160a01b026001600160a81b03199095169616959095179290921790935554935192939290917fc0167b92c8eb4a2bad2c05e0134f076fba5d3cd54671a3e8edf13d2e61443bd991a35050600554919050565b6000546001600160a01b031633146112685760405162461bcd60e51b81526004016105b890612c63565b600554811115801561127957508015155b6112955760405162461bcd60e51b81526004016105b890612e2f565b6000908152600660205260409020805460ff60a01b1916600160a01b179055565b6000806000600260015414156112de5760405162461bcd60e51b81526004016105b890612c98565b60026001556113b36112f08780612f54565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611332925050506020890189612f54565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408901353061137960608c018c612f54565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dd292505050565b925061146a85356113c76020880188612fa1565b6113d091612fea565b6113dd6040890189612fa1565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061141c9250505060608a018a612fa1565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061145b9250505060808b018b612fa1565b61146491612fea565b88611bfa565b91506001600160a01b038216638b96412b6114886020870187612519565b6114956020880188612fa1565b6114a260408a018a612fa1565b6040518663ffffffff1660e01b81526004016114c2959493929190613076565b6020604051808303816000875af11580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150591906130ba565b600180559296919550919350915050565b6000546001600160a01b031633146115405760405162461bcd60e51b81526004016105b890612c63565b600b54811115801561155157508015155b6115b15760405162461bcd60e51b815260206004820152602b60248201527f45524332304454466163746f72793a2054656d706c61746520696e646578206460448201526a1bd95cdb9d08195e1a5cdd60aa1b60648201526084016105b8565b6000908152600760205260409020805460ff60a01b1916600160a01b179055565b6000806000600260015414156115fa5760405162461bcd60e51b81526004016105b890612c98565b600260015561166d33306116116020880188612fa1565b600481811061162257611622612ccf565b602002919091013590506116368880612fa1565b600181811061164757611647612ccf565b905060200201602081019061165c9190612519565b6001600160a01b0316929190611edf565b61167a6112f08780612f54565b925061168e85356113c76020880188612fa1565b600c54909250611709906001600160a01b03166116ae6020870187612fa1565b60048181106116bf576116bf612ccf565b602002919091013590506116d38780612fa1565b60018181106116e4576116e4612ccf565b90506020020160208101906116f99190612519565b6001600160a01b03169190611f50565b6001600160a01b038216635bfe4da06117256020870187612fa1565b6117326040890189612fa1565b61173c8a80612fa1565b6040518763ffffffff1660e01b815260040161175d969594939291906130d3565b6020604051808303816000875af115801561177c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611505919061311c565b600080600260015414156117c65760405162461bcd60e51b81526004016105b890612c98565b60026001556118626117d88580612f54565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061181a925050506020870187612f54565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408b013593509150611379905060608a018a612f54565b915061191983356118766020860186612fa1565b61187f91612fea565b61188c6040870187612fa1565b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506118cb925050506060880188612fa1565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061190a925050506080890189612fa1565b61191391612fea565b87611bfa565b60018055919491935090915050565b6000546001600160a01b031633146119525760405162461bcd60e51b81526004016105b890612c63565b6001600160a01b0381166119b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105b8565b6119c081612002565b50565b600080600260015414156119e95760405162461bcd60e51b81526004016105b890612c98565b6002600155611a846119fb8680612f54565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a3d925050506020880188612f54565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408801353061137960608b018b612f54565b9150611b2c8435611a986020870187612fa1565b611aa191612fea565b611aae6040880188612fa1565b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611aed925050506060890189612fa1565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061190a9250505060808a018a612fa1565b90506001600160a01b03811663191c918a611b4a6020860186612519565b60208601356040870135611b646080890160608a01613139565b611b7460a08a0160808b01612519565b60405160e087901b6001600160e01b03191681526001600160a01b0395861660048201526024810194909452604484019290925215156064830152909116608482015260a401600060405180830381600087803b158015611bd457600080fd5b505af1158015611be8573d6000803e3d6000fd5b50506001805550919590945092505050565b600083600081518110611c0f57611c0f612ccf565b602002602001015160001415611c755760405162461bcd60e51b815260206004820152602560248201527f4552433230466163746f72793a207a65726f20636170206973206e6f7420616c6044820152641b1bddd95960da1b60648201526084016105b8565b600b548711158015611c8657508615155b611ca25760405162461bcd60e51b81526004016105b890612c1a565b6000878152600760209081526040918290208251808401909352546001600160a01b0381168352600160a01b900460ff161515908201819052611d3b5760405162461bcd60e51b815260206004820152602b60248201527f4552433230466163746f72793a20455243373231546f6b656e2054656d706c6160448201526a1d1948191a5cd8589b195960aa1b60648201526084016105b8565b8051611d4690612052565b6001600160a01b0381166000818152600960205260409020805460ff19166001179055909250611dde5760405162461bcd60e51b815260206004820152603e60248201527f455243373231466163746f72793a204661696c656420746f20706572666f726d60448201527f206d696e696d616c206465706c6f79206f662061206e657720746f6b656e000060648201526084016105b8565b80600001516001600160a01b0316826001600160a01b03167f567699dbf7c5f63a51a42fd451f5e065bca0dfc723adf2cc498bbb7cfb780b9089600081518110611e2a57611e2a612ccf565b60200260200101518a600181518110611e4557611e45612ccf565b602002602001015189600081518110611e6057611e60612ccf565b602002602001015188604051611e799493929190613156565b60405180910390a36001600a6000828254611e949190612e17565b90915550506040805160a081018252888152602081018890529081018690526001600160a01b038416608082015260608101859052611ed383826120e2565b50509695505050505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611f4a9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261228f565b50505050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015611fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc591906130ba565b611fcf9190612e17565b6040516001600160a01b038516602482015260448101829052909150611f4a90859063095ea7b360e01b90606401611f13565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000808260601b9050604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528160148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f06040516001600160a01b03821681529093507f117c72e6c25f0a072e36e148df71468ce2f3dbe7defec5b2c257a6e3eb65278c915060200160405180910390a150919050565b604080516003808252608082019092528391600091906020820160608036833701905050905082608001518160008151811061212057612120612ccf565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061215157612151612ccf565b6001600160a01b039283166020918202929092010152600c5482519116908290600290811061218257612182612ccf565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663b3998be08460000151856020015184876040015188606001516040518663ffffffff1660e01b81526004016121e695949392919061325b565b6020604051808303816000875af1158015612205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122299190612eef565b611f4a5760405162461bcd60e51b815260206004820152603160248201527f4552433230466163746f72793a20556e61626c6520746f20696e697469616c696044820152707a6520746f6b656e20696e7374616e636560781b60648201526084016105b8565b60006122e4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123669092919063ffffffff16565b80519091501561236157808060200190518101906123029190612eef565b6123615760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105b8565b505050565b6060612375848460008561237f565b90505b9392505050565b6060824710156123e05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105b8565b843b61242e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105b8565b600080866001600160a01b0316858760405161244a9190613304565b60006040518083038185875af1925050503d8060008114612487576040519150601f19603f3d011682016040523d82523d6000602084013e61248c565b606091505b509150915061249c8282866124a7565b979650505050505050565b606083156124b6575081612378565b8251156124c65782518084602001fd5b8160405162461bcd60e51b81526004016105b89190613320565b6000602082840312156124f257600080fd5b5035919050565b6001600160a01b03811681146119c057600080fd5b8035610d5b816124f9565b60006020828403121561252b57600080fd5b8135612378816124f9565b634e487b7160e01b600052604160045260246000fd5b60405161014081016001600160401b038111828210171561256f5761256f612536565b60405290565b604051601f8201601f191681016001600160401b038111828210171561259d5761259d612536565b604052919050565b60006001600160401b038211156125be576125be612536565b5060051b60200190565b600082601f8301126125d957600080fd5b81356001600160401b038111156125f2576125f2612536565b612605601f8201601f1916602001612575565b81815284602083860101111561261a57600080fd5b816020850160208301376000918101602001919091529392505050565b600061264a612645846125a5565b612575565b8381529050602080820190600585901b84018681111561266957600080fd5b845b818110156126a45780356001600160401b0381111561268a5760008081fd5b612696898289016125c8565b85525092820192820161266b565b505050509392505050565b600082601f8301126126c057600080fd5b813560206126d0612645836125a5565b82815260059290921b840181019181810190868411156126ef57600080fd5b8286015b84811015612713578035612706816124f9565b83529183019183016126f3565b509695505050505050565b600082601f83011261272f57600080fd5b8135602061273f612645836125a5565b82815260059290921b8401810191818101908684111561275e57600080fd5b8286015b848110156127135780358352918301918301612762565b600082601f83011261278a57600080fd5b61237883833560208501612637565b600080600080600060a086880312156127b157600080fd5b8535945060208601356001600160401b03808211156127cf57600080fd5b818801915088601f8301126127e357600080fd5b6127f289833560208501612637565b9550604088013591508082111561280857600080fd5b61281489838a016126af565b9450606088013591508082111561282a57600080fd5b61283689838a0161271e565b9350608088013591508082111561284c57600080fd5b5061285988828901612779565b9150509295509295909350565b803560ff81168114610d5b57600080fd5b6000602080838503121561288a57600080fd5b82356001600160401b03808211156128a157600080fd5b818501915085601f8301126128b557600080fd5b81356128c3612645826125a5565b81815260059190911b830184019084810190888311156128e257600080fd5b8585015b838110156129da578035858111156128fe5760008081fd5b8601610140818c03601f19018113156129175760008081fd5b61291f61254c565b61292a8a840161250e565b8152604061293981850161250e565b8b830152606080850135828401526080915061295682860161250e565b9083015260a061296785820161250e565b8284015260c0915081850135818401525060e0612985818601612866565b8284015261010091508185013581840152506101208085013582840152838501359350898411156129b857600091508182fd5b6129c68f8d868801016125c8565b9083015250855250509186019186016128e6565b5098975050505050505050565b600080600080600060a086880312156129ff57600080fd5b85356001600160401b0380821115612a1657600080fd5b612a2289838a016125c8565b96506020880135915080821115612a3857600080fd5b612a4489838a016125c8565b95506040880135945060608801359150612a5d826124f9565b90925060808701359080821115612a7357600080fd5b50612859888289016125c8565b600060808284031215612a9257600080fd5b50919050565b600060a08284031215612a9257600080fd5b600060608284031215612a9257600080fd5b600080600060608486031215612ad157600080fd5b83356001600160401b0380821115612ae857600080fd5b612af487838801612a80565b94506020860135915080821115612b0a57600080fd5b612b1687838801612a98565b93506040860135915080821115612b2c57600080fd5b50612b3986828701612aaa565b9150509250925092565b60008060408385031215612b5657600080fd5b82356001600160401b0380821115612b6d57600080fd5b612b7986838701612a80565b93506020850135915080821115612b8f57600080fd5b50612b9c85828601612a98565b9150509250929050565b600080600060e08486031215612bbb57600080fd5b83356001600160401b0380821115612bd257600080fd5b612bde87838801612a80565b94506020860135915080821115612bf457600080fd5b50612c0186828701612a98565b925050612c118560408601612a98565b90509250925092565b60208082526029908201527f4552433230466163746f72793a2054656d706c61746520696e64657820646f656040820152681cdb9d08195e1a5cdd60ba1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215612cfa57600080fd5b8351612d05816124f9565b6020850151909350612d16816124f9565b80925050604084015190509250925092565b60005b83811015612d43578181015183820152602001612d2b565b83811115611f4a5750506000910152565b60008151808452612d6c816020860160208601612d28565b601f01601f19169290920160200192915050565b600061012060018060a01b03808d1684528b6020850152808b166040850152808a1660608501525087608084015260ff871660a08401528560c08401528460e084015280610100840152612dd681840185612d54565b9c9b505050505050505050505050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415612e1057612e10612de6565b5060010190565b60008219821115612e2a57612e2a612de6565b500190565b6020808252602c908201527f4552433732314454466163746f72793a2054656d706c61746520696e6465782060408201526b191bd95cdb9d08195e1a5cdd60a21b606082015260800190565b600060018060a01b03808916835260c06020840152612e9d60c0840189612d54565b8381036040850152612eaf8189612d54565b90508187166060850152818616608085015283810360a0850152612ed38186612d54565b9a9950505050505050505050565b80151581146119c057600080fd5b600060208284031215612f0157600080fd5b815161237881612ee1565b608081526000612f1f6080830187612d54565b6001600160a01b03861660208401528281036040840152612f408186612d54565b9050828103606084015261249c8185612d54565b6000808335601e19843603018112612f6b57600080fd5b8301803591506001600160401b03821115612f8557600080fd5b602001915036819003821315612f9a57600080fd5b9250929050565b6000808335601e19843603018112612fb857600080fd5b8301803591506001600160401b03821115612fd257600080fd5b6020019150600581901b3603821315612f9a57600080fd5b6000612378368484612637565b8183526000602080850194508260005b8581101561303557813561301a816124f9565b6001600160a01b031687529582019590820190600101613007565b509495945050505050565b81835260006001600160fb1b0383111561305957600080fd5b8260051b8083602087013760009401602001938452509192915050565b6001600160a01b038616815260606020820181905260009061309b9083018688612ff7565b82810360408401526130ae818587613040565b98975050505050505050565b6000602082840312156130cc57600080fd5b5051919050565b6060815260006130e760608301888a613040565b82810360208401526130fa818789613040565b9050828103604084015261310f818587612ff7565b9998505050505050505050565b60006020828403121561312e57600080fd5b8151612378816124f9565b60006020828403121561314b57600080fd5b813561237881612ee1565b6080815260006131696080830187612d54565b828103602084015261317b8187612d54565b604084019590955250506001600160a01b039190911660609091015292915050565b600081518084526020808501945080840160005b838110156130355781516001600160a01b0316875295820195908201906001016131b1565b600081518084526020808501945080840160005b83811015613035578151875295820195908201906001016131ea565b600081518084526020808501808196508360051b8101915082860160005b8581101561324e57828403895261323c848351612d54565b98850198935090840190600101613224565b5091979650505050505050565b600060a0820160a0835280885180835260c08501915060c08160051b86010192506020808b0160005b838110156132b25760bf198887030185526132a0868351612d54565b95509382019390820190600101613284565b5050858403818701525050506132c8818861319d565b905082810360408401526132dc818761319d565b905082810360608401526132f081866131d6565b905082810360808401526130ae8185613206565b60008251613316818460208701612d28565b9190910192915050565b6020815260006123786020830184612d5456fea2646970667358221220bcb5079a8dfc5ac89d9c8b15c3e22a453d4e07b4f9e047affc6d9f1866d96f7264736f6c634300080a00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572",
1161
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80638da5cb5b116100f9578063c6cf868a11610097578063e5fc01f011610071578063e5fc01f0146104ff578063f2fde38b14610507578063f887ea401461051a578063fd024d6a1461052d57600080fd5b8063c6cf868a14610487578063ca4abc691461048f578063e3491099146104cc57600080fd5b806395c60305116100d357806395c6030514610420578063a33ef2a614610428578063b9cd22641461043b578063bbf8d71f1461047457600080fd5b80638da5cb5b146103c75780638f6051af146103d857806394051699146103eb57600080fd5b80635de329fd116101665780637b20bccf116101405780637b20bccf1461033a578063809d81051461034d57806382c442041461036057806389898869146103b457600080fd5b80635de329fd146102f6578063715018a61461030957806372f670f01461031157600080fd5b806326705c3c116101a257806326705c3c1461024f5780633315efd114610266578063557fcfb0146102c35780635c705982146102ee57600080fd5b8063042ab9b3146101c95780630ffda88714610207578063226e76151461021c575b600080fd5b6101dc6101d73660046124e0565b610540565b6040805182516001600160a01b03168152602092830151151592810192909252015b60405180910390f35b61021a6102153660046124e0565b6105c7565b005b61023f61022a366004612519565b60096020526000908152604090205460ff1681565b60405190151581526020016101fe565b610258600b5481565b6040519081526020016101fe565b6101dc6102743660046124e0565b6040805180820190915260008082526020820152506000908152600660209081526040918290208251808401909352546001600160a01b0381168352600160a01b900460ff1615159082015290565b6102d66102d1366004612799565b61060c565b6040516001600160a01b0390911681526020016101fe565b600354610258565b61021a610304366004612877565b6106ad565b61021a610b97565b6102d661031f366004612519565b6008602052600090815260409020546001600160a01b031681565b610258610348366004612519565b610bcd565b61021a61035b3660046124e0565b610d60565b61039561036e3660046124e0565b6006602052600090815260409020546001600160a01b03811690600160a01b900460ff1682565b604080516001600160a01b0390931683529015156020830152016101fe565b6102d66103c23660046129e7565b610dd2565b6000546001600160a01b03166102d6565b6102586103e6366004612519565b6110a3565b6103956103f93660046124e0565b6007602052600090815260409020546001600160a01b03811690600160a01b900460ff1682565b600b54610258565b61021a6104363660046124e0565b61123e565b61044e610449366004612abc565b6112b6565b604080516001600160a01b039485168152939092166020840152908201526060016101fe565b61021a6104823660046124e0565b611516565b600a54610258565b6104a261049d366004612abc565b6115d2565b604080516001600160a01b03948516815292841660208401529216918101919091526060016101fe565b6104df6104da366004612b43565b6117a0565b604080516001600160a01b039384168152929091166020830152016101fe565b600554610258565b61021a610515366004612519565b611928565b600c546102d6906001600160a01b031681565b6104df61053b366004612ba6565b6119c3565b60408051808201909152600080825260208201526000828152600760209081526040918290208251808401909352546001600160a01b0381168352600160a01b900460ff16151590820152600b54831180159061059c57508215155b6105c15760405162461bcd60e51b81526004016105b890612c1a565b60405180910390fd5b92915050565b6000546001600160a01b031633146105f15760405162461bcd60e51b81526004016105b890612c63565b6000908152600760205260409020805460ff60a01b19169055565b3360008181526008602052604081205490916001600160a01b03909116146106955760405162461bcd60e51b815260206004820152603660248201527f455243373231466163746f72793a204f4e4c592045524337323120494e5354416044820152754e43452046524f4d20455243373231464143544f525960501b60648201526084016105b8565b6106a3868686868633611bfa565b9695505050505050565b600260015414156106d05760405162461bcd60e51b81526004016105b890612c98565b60026001558051603210156107275760405162461bcd60e51b815260206004820152601e60248201527f455243373231466163746f72793a20546f6f204d616e79204f7264657273000060448201526064016105b8565b60005b8151811015610b8f57600080600084848151811061074a5761074a612ccf565b6020026020010151600001516001600160a01b031663397b37436040518163ffffffff1660e01b8152600401606060405180830381865afa158015610793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b79190612ce5565b9250925092506000811180156107d557506001600160a01b03821615155b80156107e957506001600160a01b03831615155b15610835576108036001600160a01b038316333084611edf565b61083585858151811061081857610818612ccf565b6020908102919091010151516001600160a01b0384169083611f50565b600085858151811061084957610849612ccf565b602002602001015160a00151118015610892575060006001600160a01b031685858151811061087a5761087a612ccf565b6020026020010151608001516001600160a01b031614155b80156108ce575060006001600160a01b03168585815181106108b6576108b6612ccf565b6020026020010151606001516001600160a01b031614155b156109a25761092d33308787815181106108ea576108ea612ccf565b602002602001015160a0015188888151811061090857610908612ccf565b6020026020010151608001516001600160a01b0316611edf909392919063ffffffff16565b6109a285858151811061094257610942612ccf565b60200260200101516000015186868151811061096057610960612ccf565b602002602001015160a0015187878151811061097e5761097e612ccf565b6020026020010151608001516001600160a01b0316611f509092919063ffffffff16565b6109e73330670de0b6b3a76400008888815181106109c2576109c2612ccf565b6020026020010151600001516001600160a01b0316611edf909392919063ffffffff16565b8484815181106109f9576109f9612ccf565b6020026020010151600001516001600160a01b0316639b4f44b6868681518110610a2557610a25612ccf565b602002602001015160200151878781518110610a4357610a43612ccf565b602002602001015160400151888881518110610a6157610a61612ccf565b602002602001015160600151898981518110610a7f57610a7f612ccf565b6020026020010151608001518a8a81518110610a9d57610a9d612ccf565b602002602001015160a001518b8b81518110610abb57610abb612ccf565b602002602001015160c001518c8c81518110610ad957610ad9612ccf565b602002602001015160e001518d8d81518110610af757610af7612ccf565b602002602001015161010001518e8e81518110610b1657610b16612ccf565b602002602001015161012001516040518a63ffffffff1660e01b8152600401610b4799989796959493929190612d80565b600060405180830381600087803b158015610b6157600080fd5b505af1158015610b75573d6000803e3d6000fd5b505050505050508080610b8790612dfc565b91505061072a565b505060018055565b6000546001600160a01b03163314610bc15760405162461bcd60e51b81526004016105b890612c63565b610bcb6000612002565b565b600080546001600160a01b03163314610bf85760405162461bcd60e51b81526004016105b890612c63565b6001600160a01b038216610c6b5760405162461bcd60e51b815260206004820152603460248201527f4552433230466163746f72793a204552433732312074656d706c617465206164604482015273191c995cdcca0c0a481393d50810531313d5d15160621b60648201526084016105b8565b813b610cb95760405162461bcd60e51b815260206004820152601a60248201527f4552433230466163746f72793a204e4f5420434f4e545241435400000000000060448201526064016105b8565b6001600b6000828254610ccc9190612e17565b90915550506040805180820182526001600160a01b0380851680835260016020808501918252600b8054600090815260079092528682208651815494511515600160a01b026001600160a81b03199095169616959095179290921790935554935192939290917fdcd16da87b60cea6dbd55a83f73b8a4bf9a54655db58ae0f35b82a2373fc150d91a35050600b545b919050565b6000546001600160a01b03163314610d8a5760405162461bcd60e51b81526004016105b890612c63565b6005548111158015610d9b57508015155b610db75760405162461bcd60e51b81526004016105b890612e2f565b6000908152600660205260409020805460ff60a01b19169055565b60006005548411158015610de557508315155b610e015760405162461bcd60e51b81526004016105b890612e2f565b6000848152600660209081526040918290208251808401909352546001600160a01b0381168352600160a01b900460ff161515908201819052610e9d5760405162461bcd60e51b815260206004820152602e60248201527f4552433732314454466163746f72793a20455243373231546f6b656e2054656d60448201526d1c1b185d1948191a5cd8589b195960921b60648201526084016105b8565b8051610ea890612052565b91506001600160a01b038216610f28576040805162461bcd60e51b81526020600482015260248101919091527f4552433732314454466163746f72793a204661696c656420746f20706572666f60448201527f726d206d696e696d616c206465706c6f79206f662061206e657720746f6b656e60648201526084016105b8565b6001600160a01b0382166000818152600860205260409081902080546001600160a01b03191683179055516370c166d760e01b81528391906370c166d790610f7e9033908c908c9030908c908c90600401612e7b565b6020604051808303816000875af1158015610f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc19190612eef565b61102a5760405162461bcd60e51b815260206004820152603460248201527f4552433732314454466163746f72793a20556e61626c6520746f20696e697469604482015273616c697a6520746f6b656e20696e7374616e636560601b60648201526084016105b8565b81600001516001600160a01b0316836001600160a01b03167f46f5e3cee761854fc3892024ae7aa2c832007dff583603ce093f177ebd9c4c968a338b896040516110779493929190612f0c565b60405180910390a36001600360008282546110929190612e17565b909155509298975050505050505050565b600080546001600160a01b031633146110ce5760405162461bcd60e51b81526004016105b890612c63565b6001600160a01b03821661114a5760405162461bcd60e51b815260206004820152603760248201527f4552433732314454466163746f72793a204552433732312074656d706c61746560448201527f2061646472657373283029204e4f5420414c4c4f57454400000000000000000060648201526084016105b8565b813b6111985760405162461bcd60e51b815260206004820152601b60248201527f455243373231466163746f72793a204e4f5420434f4e5452414354000000000060448201526064016105b8565b6001600560008282546111ab9190612e17565b90915550506040805180820182526001600160a01b038085168083526001602080850191825260058054600090815260069092528682208651815494511515600160a01b026001600160a81b03199095169616959095179290921790935554935192939290917fc0167b92c8eb4a2bad2c05e0134f076fba5d3cd54671a3e8edf13d2e61443bd991a35050600554919050565b6000546001600160a01b031633146112685760405162461bcd60e51b81526004016105b890612c63565b600554811115801561127957508015155b6112955760405162461bcd60e51b81526004016105b890612e2f565b6000908152600660205260409020805460ff60a01b1916600160a01b179055565b6000806000600260015414156112de5760405162461bcd60e51b81526004016105b890612c98565b60026001556113b36112f08780612f54565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611332925050506020890189612f54565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408901353061137960608c018c612f54565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dd292505050565b925061146a85356113c76020880188612fa1565b6113d091612fea565b6113dd6040890189612fa1565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061141c9250505060608a018a612fa1565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061145b9250505060808b018b612fa1565b61146491612fea565b88611bfa565b91506001600160a01b038216638b96412b6114886020870187612519565b6114956020880188612fa1565b6114a260408a018a612fa1565b6040518663ffffffff1660e01b81526004016114c2959493929190613076565b6020604051808303816000875af11580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150591906130ba565b600180559296919550919350915050565b6000546001600160a01b031633146115405760405162461bcd60e51b81526004016105b890612c63565b600b54811115801561155157508015155b6115b15760405162461bcd60e51b815260206004820152602b60248201527f45524332304454466163746f72793a2054656d706c61746520696e646578206460448201526a1bd95cdb9d08195e1a5cdd60aa1b60648201526084016105b8565b6000908152600760205260409020805460ff60a01b1916600160a01b179055565b6000806000600260015414156115fa5760405162461bcd60e51b81526004016105b890612c98565b600260015561166d33306116116020880188612fa1565b600481811061162257611622612ccf565b602002919091013590506116368880612fa1565b600181811061164757611647612ccf565b905060200201602081019061165c9190612519565b6001600160a01b0316929190611edf565b61167a6112f08780612f54565b925061168e85356113c76020880188612fa1565b600c54909250611709906001600160a01b03166116ae6020870187612fa1565b60048181106116bf576116bf612ccf565b602002919091013590506116d38780612fa1565b60018181106116e4576116e4612ccf565b90506020020160208101906116f99190612519565b6001600160a01b03169190611f50565b6001600160a01b038216635bfe4da06117256020870187612fa1565b6117326040890189612fa1565b61173c8a80612fa1565b6040518763ffffffff1660e01b815260040161175d969594939291906130d3565b6020604051808303816000875af115801561177c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611505919061311c565b600080600260015414156117c65760405162461bcd60e51b81526004016105b890612c98565b60026001556118626117d88580612f54565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061181a925050506020870187612f54565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408b013593509150611379905060608a018a612f54565b915061191983356118766020860186612fa1565b61187f91612fea565b61188c6040870187612fa1565b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506118cb925050506060880188612fa1565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061190a925050506080890189612fa1565b61191391612fea565b87611bfa565b60018055919491935090915050565b6000546001600160a01b031633146119525760405162461bcd60e51b81526004016105b890612c63565b6001600160a01b0381166119b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105b8565b6119c081612002565b50565b600080600260015414156119e95760405162461bcd60e51b81526004016105b890612c98565b6002600155611a846119fb8680612f54565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a3d925050506020880188612f54565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408801353061137960608b018b612f54565b9150611b2c8435611a986020870187612fa1565b611aa191612fea565b611aae6040880188612fa1565b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611aed925050506060890189612fa1565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061190a9250505060808a018a612fa1565b90506001600160a01b03811663191c918a611b4a6020860186612519565b60208601356040870135611b646080890160608a01613139565b611b7460a08a0160808b01612519565b60405160e087901b6001600160e01b03191681526001600160a01b0395861660048201526024810194909452604484019290925215156064830152909116608482015260a401600060405180830381600087803b158015611bd457600080fd5b505af1158015611be8573d6000803e3d6000fd5b50506001805550919590945092505050565b600083600081518110611c0f57611c0f612ccf565b602002602001015160001415611c755760405162461bcd60e51b815260206004820152602560248201527f4552433230466163746f72793a207a65726f20636170206973206e6f7420616c6044820152641b1bddd95960da1b60648201526084016105b8565b600b548711158015611c8657508615155b611ca25760405162461bcd60e51b81526004016105b890612c1a565b6000878152600760209081526040918290208251808401909352546001600160a01b0381168352600160a01b900460ff161515908201819052611d3b5760405162461bcd60e51b815260206004820152602b60248201527f4552433230466163746f72793a20455243373231546f6b656e2054656d706c6160448201526a1d1948191a5cd8589b195960aa1b60648201526084016105b8565b8051611d4690612052565b6001600160a01b0381166000818152600960205260409020805460ff19166001179055909250611dde5760405162461bcd60e51b815260206004820152603e60248201527f455243373231466163746f72793a204661696c656420746f20706572666f726d60448201527f206d696e696d616c206465706c6f79206f662061206e657720746f6b656e000060648201526084016105b8565b80600001516001600160a01b0316826001600160a01b03167f567699dbf7c5f63a51a42fd451f5e065bca0dfc723adf2cc498bbb7cfb780b9089600081518110611e2a57611e2a612ccf565b60200260200101518a600181518110611e4557611e45612ccf565b602002602001015189600081518110611e6057611e60612ccf565b602002602001015188604051611e799493929190613156565b60405180910390a36001600a6000828254611e949190612e17565b90915550506040805160a081018252888152602081018890529081018690526001600160a01b038416608082015260608101859052611ed383826120e2565b50509695505050505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611f4a9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261228f565b50505050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015611fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc591906130ba565b611fcf9190612e17565b6040516001600160a01b038516602482015260448101829052909150611f4a90859063095ea7b360e01b90606401611f13565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000808260601b9050604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528160148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f06040516001600160a01b03821681529093507f117c72e6c25f0a072e36e148df71468ce2f3dbe7defec5b2c257a6e3eb65278c915060200160405180910390a150919050565b604080516003808252608082019092528391600091906020820160608036833701905050905082608001518160008151811061212057612120612ccf565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061215157612151612ccf565b6001600160a01b039283166020918202929092010152600c5482519116908290600290811061218257612182612ccf565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663b3998be08460000151856020015184876040015188606001516040518663ffffffff1660e01b81526004016121e695949392919061325b565b6020604051808303816000875af1158015612205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122299190612eef565b611f4a5760405162461bcd60e51b815260206004820152603160248201527f4552433230466163746f72793a20556e61626c6520746f20696e697469616c696044820152707a6520746f6b656e20696e7374616e636560781b60648201526084016105b8565b60006122e4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123669092919063ffffffff16565b80519091501561236157808060200190518101906123029190612eef565b6123615760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105b8565b505050565b6060612375848460008561237f565b90505b9392505050565b6060824710156123e05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105b8565b843b61242e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105b8565b600080866001600160a01b0316858760405161244a9190613304565b60006040518083038185875af1925050503d8060008114612487576040519150601f19603f3d011682016040523d82523d6000602084013e61248c565b606091505b509150915061249c8282866124a7565b979650505050505050565b606083156124b6575081612378565b8251156124c65782518084602001fd5b8160405162461bcd60e51b81526004016105b89190613320565b6000602082840312156124f257600080fd5b5035919050565b6001600160a01b03811681146119c057600080fd5b8035610d5b816124f9565b60006020828403121561252b57600080fd5b8135612378816124f9565b634e487b7160e01b600052604160045260246000fd5b60405161014081016001600160401b038111828210171561256f5761256f612536565b60405290565b604051601f8201601f191681016001600160401b038111828210171561259d5761259d612536565b604052919050565b60006001600160401b038211156125be576125be612536565b5060051b60200190565b600082601f8301126125d957600080fd5b81356001600160401b038111156125f2576125f2612536565b612605601f8201601f1916602001612575565b81815284602083860101111561261a57600080fd5b816020850160208301376000918101602001919091529392505050565b600061264a612645846125a5565b612575565b8381529050602080820190600585901b84018681111561266957600080fd5b845b818110156126a45780356001600160401b0381111561268a5760008081fd5b612696898289016125c8565b85525092820192820161266b565b505050509392505050565b600082601f8301126126c057600080fd5b813560206126d0612645836125a5565b82815260059290921b840181019181810190868411156126ef57600080fd5b8286015b84811015612713578035612706816124f9565b83529183019183016126f3565b509695505050505050565b600082601f83011261272f57600080fd5b8135602061273f612645836125a5565b82815260059290921b8401810191818101908684111561275e57600080fd5b8286015b848110156127135780358352918301918301612762565b600082601f83011261278a57600080fd5b61237883833560208501612637565b600080600080600060a086880312156127b157600080fd5b8535945060208601356001600160401b03808211156127cf57600080fd5b818801915088601f8301126127e357600080fd5b6127f289833560208501612637565b9550604088013591508082111561280857600080fd5b61281489838a016126af565b9450606088013591508082111561282a57600080fd5b61283689838a0161271e565b9350608088013591508082111561284c57600080fd5b5061285988828901612779565b9150509295509295909350565b803560ff81168114610d5b57600080fd5b6000602080838503121561288a57600080fd5b82356001600160401b03808211156128a157600080fd5b818501915085601f8301126128b557600080fd5b81356128c3612645826125a5565b81815260059190911b830184019084810190888311156128e257600080fd5b8585015b838110156129da578035858111156128fe5760008081fd5b8601610140818c03601f19018113156129175760008081fd5b61291f61254c565b61292a8a840161250e565b8152604061293981850161250e565b8b830152606080850135828401526080915061295682860161250e565b9083015260a061296785820161250e565b8284015260c0915081850135818401525060e0612985818601612866565b8284015261010091508185013581840152506101208085013582840152838501359350898411156129b857600091508182fd5b6129c68f8d868801016125c8565b9083015250855250509186019186016128e6565b5098975050505050505050565b600080600080600060a086880312156129ff57600080fd5b85356001600160401b0380821115612a1657600080fd5b612a2289838a016125c8565b96506020880135915080821115612a3857600080fd5b612a4489838a016125c8565b95506040880135945060608801359150612a5d826124f9565b90925060808701359080821115612a7357600080fd5b50612859888289016125c8565b600060808284031215612a9257600080fd5b50919050565b600060a08284031215612a9257600080fd5b600060608284031215612a9257600080fd5b600080600060608486031215612ad157600080fd5b83356001600160401b0380821115612ae857600080fd5b612af487838801612a80565b94506020860135915080821115612b0a57600080fd5b612b1687838801612a98565b93506040860135915080821115612b2c57600080fd5b50612b3986828701612aaa565b9150509250925092565b60008060408385031215612b5657600080fd5b82356001600160401b0380821115612b6d57600080fd5b612b7986838701612a80565b93506020850135915080821115612b8f57600080fd5b50612b9c85828601612a98565b9150509250929050565b600080600060e08486031215612bbb57600080fd5b83356001600160401b0380821115612bd257600080fd5b612bde87838801612a80565b94506020860135915080821115612bf457600080fd5b50612c0186828701612a98565b925050612c118560408601612a98565b90509250925092565b60208082526029908201527f4552433230466163746f72793a2054656d706c61746520696e64657820646f656040820152681cdb9d08195e1a5cdd60ba1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215612cfa57600080fd5b8351612d05816124f9565b6020850151909350612d16816124f9565b80925050604084015190509250925092565b60005b83811015612d43578181015183820152602001612d2b565b83811115611f4a5750506000910152565b60008151808452612d6c816020860160208601612d28565b601f01601f19169290920160200192915050565b600061012060018060a01b03808d1684528b6020850152808b166040850152808a1660608501525087608084015260ff871660a08401528560c08401528460e084015280610100840152612dd681840185612d54565b9c9b505050505050505050505050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415612e1057612e10612de6565b5060010190565b60008219821115612e2a57612e2a612de6565b500190565b6020808252602c908201527f4552433732314454466163746f72793a2054656d706c61746520696e6465782060408201526b191bd95cdb9d08195e1a5cdd60a21b606082015260800190565b600060018060a01b03808916835260c06020840152612e9d60c0840189612d54565b8381036040850152612eaf8189612d54565b90508187166060850152818616608085015283810360a0850152612ed38186612d54565b9a9950505050505050505050565b80151581146119c057600080fd5b600060208284031215612f0157600080fd5b815161237881612ee1565b608081526000612f1f6080830187612d54565b6001600160a01b03861660208401528281036040840152612f408186612d54565b9050828103606084015261249c8185612d54565b6000808335601e19843603018112612f6b57600080fd5b8301803591506001600160401b03821115612f8557600080fd5b602001915036819003821315612f9a57600080fd5b9250929050565b6000808335601e19843603018112612fb857600080fd5b8301803591506001600160401b03821115612fd257600080fd5b6020019150600581901b3603821315612f9a57600080fd5b6000612378368484612637565b8183526000602080850194508260005b8581101561303557813561301a816124f9565b6001600160a01b031687529582019590820190600101613007565b509495945050505050565b81835260006001600160fb1b0383111561305957600080fd5b8260051b8083602087013760009401602001938452509192915050565b6001600160a01b038616815260606020820181905260009061309b9083018688612ff7565b82810360408401526130ae818587613040565b98975050505050505050565b6000602082840312156130cc57600080fd5b5051919050565b6060815260006130e760608301888a613040565b82810360208401526130fa818789613040565b9050828103604084015261310f818587612ff7565b9998505050505050505050565b60006020828403121561312e57600080fd5b8151612378816124f9565b60006020828403121561314b57600080fd5b813561237881612ee1565b6080815260006131696080830187612d54565b828103602084015261317b8187612d54565b604084019590955250506001600160a01b039190911660609091015292915050565b600081518084526020808501945080840160005b838110156130355781516001600160a01b0316875295820195908201906001016131b1565b600081518084526020808501945080840160005b83811015613035578151875295820195908201906001016131ea565b600081518084526020808501808196508360051b8101915082860160005b8581101561324e57828403895261323c848351612d54565b98850198935090840190600101613224565b5091979650505050505050565b600060a0820160a0835280885180835260c08501915060c08160051b86010192506020808b0160005b838110156132b25760bf198887030185526132a0868351612d54565b95509382019390820190600101613284565b5050858403818701525050506132c8818861319d565b905082810360408401526132dc818761319d565b905082810360608401526132f081866131d6565b905082810360808401526130ae8185613206565b60008251613316818460208701612d28565b9190910192915050565b6020815260006123786020830184612d5456fea2646970667358221220bcb5079a8dfc5ac89d9c8b15c3e22a453d4e07b4f9e047affc6d9f1866d96f7264736f6c634300080a0033",
1162
+ "linkReferences": {},
1163
+ "deployedLinkReferences": {}
1164
+ }