@layerzerolabs/lz-evm-oapp-v2 2.1.22 → 2.1.24

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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,22 @@
1
+ # @layerzerolabs/lz-evm-oapp-v2
2
+
3
+ ## 2.1.24
4
+
5
+ ### Patch Changes
6
+
7
+ - c663d78: remove duplicate `sleep` func
8
+ - Updated dependencies [c663d78]
9
+ - @layerzerolabs/lz-evm-v1-0.7@2.1.24
10
+ - @layerzerolabs/lz-evm-messagelib-v2@2.1.24
11
+ - @layerzerolabs/lz-evm-protocol-v2@2.1.24
12
+
13
+ ## 2.1.23
14
+
15
+ ### Patch Changes
16
+
17
+ - c2fc9fe: - update dvn config on blast chain for some dvn partners
18
+ - update OApp, OFT contracts
19
+ - Updated dependencies [c2fc9fe]
20
+ - @layerzerolabs/lz-evm-v1-0.7@2.1.23
21
+ - @layerzerolabs/lz-evm-messagelib-v2@2.1.23
22
+ - @layerzerolabs/lz-evm-protocol-v2@2.1.23
@@ -143,11 +143,11 @@
143
143
  },
144
144
  {
145
145
  "inputs": [],
146
- "name": "composeMsgSender",
146
+ "name": "endpoint",
147
147
  "outputs": [
148
148
  {
149
- "internalType": "address",
150
- "name": "sender",
149
+ "internalType": "contract ILayerZeroEndpointV2",
150
+ "name": "",
151
151
  "type": "address"
152
152
  }
153
153
  ],
@@ -155,15 +155,48 @@
155
155
  "type": "function"
156
156
  },
157
157
  {
158
- "inputs": [],
159
- "name": "endpoint",
160
- "outputs": [
158
+ "inputs": [
161
159
  {
162
- "internalType": "contract ILayerZeroEndpointV2",
160
+ "components": [
161
+ {
162
+ "internalType": "uint32",
163
+ "name": "srcEid",
164
+ "type": "uint32"
165
+ },
166
+ {
167
+ "internalType": "bytes32",
168
+ "name": "sender",
169
+ "type": "bytes32"
170
+ },
171
+ {
172
+ "internalType": "uint64",
173
+ "name": "nonce",
174
+ "type": "uint64"
175
+ }
176
+ ],
177
+ "internalType": "struct Origin",
178
+ "name": "",
179
+ "type": "tuple"
180
+ },
181
+ {
182
+ "internalType": "bytes",
163
183
  "name": "",
184
+ "type": "bytes"
185
+ },
186
+ {
187
+ "internalType": "address",
188
+ "name": "_sender",
164
189
  "type": "address"
165
190
  }
166
191
  ],
192
+ "name": "isComposeMsgSender",
193
+ "outputs": [
194
+ {
195
+ "internalType": "bool",
196
+ "name": "",
197
+ "type": "bool"
198
+ }
199
+ ],
167
200
  "stateMutability": "view",
168
201
  "type": "function"
169
202
  },
@@ -127,11 +127,11 @@
127
127
  },
128
128
  {
129
129
  "inputs": [],
130
- "name": "composeMsgSender",
130
+ "name": "endpoint",
131
131
  "outputs": [
132
132
  {
133
- "internalType": "address",
134
- "name": "sender",
133
+ "internalType": "contract ILayerZeroEndpointV2",
134
+ "name": "",
135
135
  "type": "address"
136
136
  }
137
137
  ],
@@ -139,15 +139,48 @@
139
139
  "type": "function"
140
140
  },
141
141
  {
142
- "inputs": [],
143
- "name": "endpoint",
144
- "outputs": [
142
+ "inputs": [
145
143
  {
146
- "internalType": "contract ILayerZeroEndpointV2",
144
+ "components": [
145
+ {
146
+ "internalType": "uint32",
147
+ "name": "srcEid",
148
+ "type": "uint32"
149
+ },
150
+ {
151
+ "internalType": "bytes32",
152
+ "name": "sender",
153
+ "type": "bytes32"
154
+ },
155
+ {
156
+ "internalType": "uint64",
157
+ "name": "nonce",
158
+ "type": "uint64"
159
+ }
160
+ ],
161
+ "internalType": "struct Origin",
162
+ "name": "",
163
+ "type": "tuple"
164
+ },
165
+ {
166
+ "internalType": "bytes",
147
167
  "name": "",
168
+ "type": "bytes"
169
+ },
170
+ {
171
+ "internalType": "address",
172
+ "name": "_sender",
148
173
  "type": "address"
149
174
  }
150
175
  ],
176
+ "name": "isComposeMsgSender",
177
+ "outputs": [
178
+ {
179
+ "internalType": "bool",
180
+ "name": "",
181
+ "type": "bool"
182
+ }
183
+ ],
151
184
  "stateMutability": "view",
152
185
  "type": "function"
153
186
  },
@@ -260,19 +260,6 @@
260
260
  "stateMutability": "payable",
261
261
  "type": "function"
262
262
  },
263
- {
264
- "inputs": [],
265
- "name": "composeMsgSender",
266
- "outputs": [
267
- {
268
- "internalType": "address",
269
- "name": "sender",
270
- "type": "address"
271
- }
272
- ],
273
- "stateMutability": "view",
274
- "type": "function"
275
- },
276
263
  {
277
264
  "inputs": [],
278
265
  "name": "composedCount",
@@ -367,6 +354,52 @@
367
354
  "stateMutability": "payable",
368
355
  "type": "function"
369
356
  },
357
+ {
358
+ "inputs": [
359
+ {
360
+ "components": [
361
+ {
362
+ "internalType": "uint32",
363
+ "name": "srcEid",
364
+ "type": "uint32"
365
+ },
366
+ {
367
+ "internalType": "bytes32",
368
+ "name": "sender",
369
+ "type": "bytes32"
370
+ },
371
+ {
372
+ "internalType": "uint64",
373
+ "name": "nonce",
374
+ "type": "uint64"
375
+ }
376
+ ],
377
+ "internalType": "struct Origin",
378
+ "name": "",
379
+ "type": "tuple"
380
+ },
381
+ {
382
+ "internalType": "bytes",
383
+ "name": "",
384
+ "type": "bytes"
385
+ },
386
+ {
387
+ "internalType": "address",
388
+ "name": "_sender",
389
+ "type": "address"
390
+ }
391
+ ],
392
+ "name": "isComposeMsgSender",
393
+ "outputs": [
394
+ {
395
+ "internalType": "bool",
396
+ "name": "",
397
+ "type": "bool"
398
+ }
399
+ ],
400
+ "stateMutability": "view",
401
+ "type": "function"
402
+ },
370
403
  {
371
404
  "inputs": [
372
405
  {
@@ -885,8 +918,8 @@
885
918
  "type": "receive"
886
919
  }
887
920
  ],
888
- "bytecode": "0x60a06040523480156200001157600080fd5b50604051620035a4380380620035a48339810160408190526200003491620001ed565b818181818181620000453362000180565b6001600160a01b0380831660805281166200007357604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000bb57600080fd5b505af1158015620000d0573d6000803e3d6000fd5b5050600580546001600160a01b0319163317905550506040805163416ecebf60e01b815290516001600160a01b038816955063416ecebf9450600480830194506020935090918290030181865afa15801562000130573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000156919062000225565b600560146101000a81548163ffffffff021916908363ffffffff1602179055505050505062000254565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620001e857600080fd5b919050565b600080604083850312156200020157600080fd5b6200020c83620001d0565b91506200021c60208401620001d0565b90509250929050565b6000602082840312156200023857600080fd5b815163ffffffff811681146200024d57600080fd5b9392505050565b6080516132f5620002af600039600081816103a30152818161066801528181610b0201528181610f79015281816110b0015281816117f401528181611af101528181611d5001528181611fe601526120df01526132f56000f3fe6080604052600436106101e75760003560e01c80637d25a05e1161010e578063ca5eb5e1116100a7578063d424388511610079578063f3fef3a311610061578063f3fef3a3146105f9578063f851a44014610619578063ff7bd03d1461064657005b8063d4243885146105b9578063f2fde38b146105d957005b8063ca5eb5e11461053e578063d045a0dc1461055e578063d0a1026014610571578063d22446ce1461058457005b8063b92d0eff116100e0578063b92d0eff146102cd578063bb0b6a53146104eb578063bd815db014610518578063c95c55be1461052b57005b80637d25a05e146104475780638da5cb5b14610480578063b731ea0a146104ab578063b7abbb5d146104d857005b806356a4728911610180578063622f17f611610152578063622f17f6146103c5578063704b6c02146103f25780637112f86f14610412578063715018a61461043257005b806356a47289146103145780635a0dfe4d146103415780635b849af6146103715780635e280f111461039157005b80633400288b116101b95780633400288b14610263578063416ecebf1461028357806352ae2879146102cd578063542e7b561461030157005b806306661abd146101f057806313137d651461021957806317442b701461022c578063257f4e051461024d57005b366101ee57005b005b3480156101fc57600080fd5b5061020660035481565b6040519081526020015b60405180910390f35b6101ee6102273660046126f7565b610666565b34801561023857600080fd5b50604080516001808252602082015201610210565b34801561025957600080fd5b5061020660045481565b34801561026f57600080fd5b506101ee61027e3660046127b0565b610765565b34801561028f57600080fd5b506005546102b89074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610210565b3480156102d957600080fd5b50305b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610210565b6101ee61030f36600461281f565b6107c2565b34801561032057600080fd5b5061020661032f3660046128b9565b60086020526000908152604090205481565b34801561034d57600080fd5b5061036161035c3660046127b0565b610989565b6040519015158152602001610210565b34801561037d57600080fd5b506101ee61038c3660046128e2565b6109a8565b34801561039d57600080fd5b506102dc7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d157600080fd5b506102066103e03660046128b9565b60096020526000908152604090205481565b3480156103fe57600080fd5b506101ee61040d3660046128ff565b6109e1565b34801561041e57600080fd5b506101ee61042d366004612932565b610aa9565b34801561043e57600080fd5b506101ee610be3565b34801561045357600080fd5b506104676104623660046127b0565b610bf7565b60405167ffffffffffffffff9091168152602001610210565b34801561048c57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166102dc565b3480156104b757600080fd5b506002546102dc9073ffffffffffffffffffffffffffffffffffffffff1681565b6101ee6104e6366004612983565b610c4a565b3480156104f757600080fd5b506102066105063660046128b9565b60016020526000908152604090205481565b6101ee6105263660046129e4565b610ccd565b6101ee610539366004612983565b610e84565b34801561054a57600080fd5b506101ee6105593660046128ff565b610f2c565b6101ee61056c3660046126f7565b610fd1565b6101ee61057f366004612a26565b611019565b34801561059057600080fd5b506105a461059f366004612983565b6112ee565b60408051928352602083019190915201610210565b3480156105c557600080fd5b506101ee6105d43660046128ff565b611365565b3480156105e557600080fd5b506101ee6105f43660046128ff565b6113e6565b34801561060557600080fd5b506101ee610614366004612aa7565b61149d565b34801561062557600080fd5b506005546102dc9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561065257600080fd5b50610361610661366004612ac5565b6115e8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1633146106dc576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b602087018035906106f6906106f1908a6128b9565b61161e565b1461074d5761070860208801886128b9565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602088013560248201526044016106d3565b61075c87878787878787611673565b50505050505050565b61076d6119c4565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b84811480156107d057508483145b610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a206c656e677468206d69736d617463680000000060448201526064016106d3565b61083e61262c565b3460005b8781101561097e57600061085760018a612b10565b82146108635730610865565b335b905060008a8a8481811061087b5761087b612b23565b905060200201602081019061089091906128b9565b905060008989858181106108a6576108a6612b23565b90506020020160208101906108bb9190612b52565b9050610952826108dd83600560149054906101000a900463ffffffff16611a45565b8a8a888181106108ef576108ef612b23565b90506020028101906109019190612b6d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091528d815260208101919091529250899150611abe9050565b955061095d82611bd6565b60408601515161096d9086612b10565b945050600190920191506108429050565b505050505050505050565b63ffffffff821660009081526001602052604090205481145b92915050565b6109b06119c4565b600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff163314610a62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106d3565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ab16119c4565b6040517fd70b890200000000000000000000000000000000000000000000000000000000815230600482015263ffffffff841660248201526044810183905267ffffffffffffffff821660648201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d70b890290608401600060405180830381600087803b158015610b5b57600080fd5b505af1158015610b6f573d6000803e3d6000fd5b505060075460ff16159150610bde90505763ffffffff831660009081526006602090815260408083208584529091528120805467ffffffffffffffff1691610bb683612bd2565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b505050565b610beb6119c4565b610bf56000611bff565b565b60075460009060ff1615610c425763ffffffff83166000908152600660209081526040808320858452909152902054610c3b9067ffffffffffffffff166001612bf9565b90506109a2565b5060006109a2565b610cbd84610c6a85600560149054906101000a900463ffffffff16611a45565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805180820190915234815260208101919091529250339150611abe9050565b50610cc784611bd6565b50505050565b60005b81811015610dbf5736838383818110610ceb57610ceb612b23565b9050602002810190610cfd9190612c21565b9050610d19610d0f60208301836128b9565b6020830135610989565b610d235750610db7565b3063d045a0dc60c08301358360a0810135610d42610100830183612b6d565b610d53610100890160e08a016128ff565b610d616101208a018a612b6d565b6040518963ffffffff1660e01b8152600401610d839796959493929190612ca8565b6000604051808303818588803b158015610d9c57600080fd5b505af1158015610db0573d6000803e3d6000fd5b5050505050505b600101610cd0565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e0b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610e519190810190612d8f565b6040517f8351eea70000000000000000000000000000000000000000000000000000000081526004016106d39190612e99565b60055473ffffffffffffffffffffffffffffffffffffffff163314610f05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106d3565b610f2584610c6a85600560149054906101000a900463ffffffff16611a45565b5050505050565b610f346119c4565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b158015610fbd57600080fd5b505af1158015610f25573d6000803e3d6000fd5b33301461100a576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61075c8787878787878761074d565b73ffffffffffffffffffffffffffffffffffffffff87163014611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f216f41707000000000000000000000000000000000000000000000000000000060448201526064016106d3565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21656e64706f696e74000000000000000000000000000000000000000000000060448201526064016106d3565b60006111438686611c74565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff82160161118d576001600460008282546111829190612eac565b909155506112e49050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60ff821601611282576001600460008282546111ca9190612eac565b90915550600090506111dc8787611c96565b90506111e781611bd6565b600061123a62030d406000611233604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9190611cb9565b905061127a8261125d6001600560149054906101000a900463ffffffff16611a45565b836040518060400160405280348152602001600081525030611abe565b5050506112e4565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f696e76616c6964206d657373616765207479706500000000000000000000000060448201526064016106d3565b5050505050505050565b600080600061134f8761131388600560149054906101000a900463ffffffff16611a45565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250611d3a915050565b8051602090910151909890975095505050505050565b61136d6119c4565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609060200160405180910390a150565b6113ee6119c4565b73ffffffffffffffffffffffffffffffffffffffff8116611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d3565b61149a81611bff565b50565b60055473ffffffffffffffffffffffffffffffffffffffff16331461151e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106d3565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611578576040519150601f19603f3d011682016040523d82523d6000602084013e61157d565b606091505b5050905080610bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a207769746864726177206661696c65640000000060448201526064016106d3565b600060208201803590600190839061160090866128b9565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff8116600090815260016020526040812054806109a2576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff841660048201526024016106d3565b61169d61168360208901896128b9565b602089013561169860608b0160408c01612ebf565b611e2a565b60006116a98686611c74565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff82160161177757600380549060006116e583612edc565b91905055506116f48686611f60565b34101561175d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4f6d6e69436f756e7465723a20696e73756666696369656e742076616c75650060448201526064016106d3565b61177261176d60208a018a6128b9565b611f7f565b6112e4565b60ff81166002148061178c575060ff81166004145b1561186957600380549060006117a183612edc565b909155506117b7905061176d60208a018a6128b9565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906118329030908b906000908c908c90600401612f14565b600060405180830381600087803b15801561184c57600080fd5b505af1158015611860573d6000803e3d6000fd5b505050506112e4565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff82160161128257600380549060006118a383612edc565b909155506118b9905061176d60208a018a6128b9565b6118ce6118c960208a018a6128b9565b611bd6565b600061191a62030d40600a611233604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b90506119bd61192c60208b018b6128b9565b600554604080517f010000000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090920460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166021830152600a602580840191909152815180840390910181526045909201905261125d565b50506112e4565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d3565b6040517fff0000000000000000000000000000000000000000000000000000000000000060f884901b1660208201527fffffffff0000000000000000000000000000000000000000000000000000000060e083901b1660218201526060906025015b604051602081830303815290604052905092915050565b611ac661262c565b6000611ad58460000151611fa0565b602085015190915015611aef57611aef8460200151611fe2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff168152602001611b4c8c61161e565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611b88929190612f54565b60806040518083038185885af1158015611ba6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611bcb9190613047565b979650505050505050565b63ffffffff81166000908152600960205260408120805491611bf783612edc565b919050555050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611c8360018284866130af565b611c8c916130d9565b60f81c9392505050565b6000611ca66005600184866130af565b611caf91613121565b60e01c9392505050565b6060836003611cc9826000612108565b61ffff1614611d1657611cdd816000612108565b6040517f3a51740d00000000000000000000000000000000000000000000000000000000815261ffff90911660048201526024016106d3565b6000611d228585612188565b9050611d3086600183612228565b9695505050505050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff168152602001611daa8961161e565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611ddf929190612f54565b6040805180830381865afa158015611dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1f9190613167565b90505b949350505050565b63ffffffff8316600090815260066020908152604080832085845290915290205460075467ffffffffffffffff9091169060ff1615611eea57611e6e816001612bf9565b67ffffffffffffffff168267ffffffffffffffff1614611eea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4170703a20696e76616c6964206e6f6e63650000000000000000000000000060448201526064016106d3565b8067ffffffffffffffff168267ffffffffffffffff161115610cc75763ffffffff841660009081526006602090815260408083208684529091529020805467ffffffffffffffff84167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911617905550505050565b6000611f6f82600581866130af565b611f7891613183565b9392505050565b63ffffffff81166000908152600860205260408120805491611bf783612edc565b600081341015611fde576040517f9f7041200000000000000000000000000000000000000000000000000000000081523460048201526024016106d3565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061207391906131bf565b905073ffffffffffffffffffffffffffffffffffffffff81166120c2576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61210473ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085612293565b5050565b6000612115826002612eac565b8351101561217f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e647300000000000000000000000060448201526064016106d3565b50016002015190565b60606fffffffffffffffffffffffffffffffff8216156121f157604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608086811b8216602084015285901b16603082015201604051602081830303815290604052611f78565b6040517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085901b166020820152603001611aa7565b6060836003612238826000612108565b61ffff161461224c57611cdd816000612108565b8460016122598551612328565b6122649060016131dc565b868660405160200161227a9594939291906131f7565b6040516020818303038152906040529150509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610cc79085906123bc565b600061ffff821115611fde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f362062697473000000000000000000000000000000000000000000000000000060648201526084016106d3565b600061241e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166124cb9092919063ffffffff16565b905080516000148061243f57508080602001905181019061243f9190613290565b610bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106d3565b6060611e228484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516124ff91906132ad565b60006040518083038185875af1925050503d806000811461253c576040519150601f19603f3d011682016040523d82523d6000602084013e612541565b606091505b5091509150611bcb87838387606083156125e35782516000036125dc5773ffffffffffffffffffffffffffffffffffffffff85163b6125dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d3565b5081611e22565b611e2283838151156125f85781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d39190612e99565b604051806060016040528060008019168152602001600067ffffffffffffffff16815260200161266f604051806040016040528060008152602001600081525090565b905290565b60006060828403121561268657600080fd5b50919050565b60008083601f84011261269e57600080fd5b50813567ffffffffffffffff8111156126b657600080fd5b6020830191508360208285010111156126ce57600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461149a57600080fd5b600080600080600080600060e0888a03121561271257600080fd5b61271c8989612674565b965060608801359550608088013567ffffffffffffffff8082111561274057600080fd5b61274c8b838c0161268c565b909750955060a08a01359150612761826126d5565b90935060c0890135908082111561277757600080fd5b506127848a828b0161268c565b989b979a50959850939692959293505050565b803563ffffffff811681146127ab57600080fd5b919050565b600080604083850312156127c357600080fd5b6127cc83612797565b946020939093013593505050565b60008083601f8401126127ec57600080fd5b50813567ffffffffffffffff81111561280457600080fd5b6020830191508360208260051b85010111156126ce57600080fd5b6000806000806000806060878903121561283857600080fd5b863567ffffffffffffffff8082111561285057600080fd5b61285c8a838b016127da565b9098509650602089013591508082111561287557600080fd5b6128818a838b016127da565b9096509450604089013591508082111561289a57600080fd5b506128a789828a016127da565b979a9699509497509295939492505050565b6000602082840312156128cb57600080fd5b611f7882612797565b801515811461149a57600080fd5b6000602082840312156128f457600080fd5b8135611f78816128d4565b60006020828403121561291157600080fd5b8135611f78816126d5565b67ffffffffffffffff8116811461149a57600080fd5b60008060006060848603121561294757600080fd5b61295084612797565b92506020840135915060408401356129678161291c565b809150509250925092565b803560ff811681146127ab57600080fd5b6000806000806060858703121561299957600080fd5b6129a285612797565b93506129b060208601612972565b9250604085013567ffffffffffffffff8111156129cc57600080fd5b6129d88782880161268c565b95989497509550505050565b600080602083850312156129f757600080fd5b823567ffffffffffffffff811115612a0e57600080fd5b612a1a858286016127da565b90969095509350505050565b600080600080600080600060a0888a031215612a4157600080fd5b8735612a4c816126d5565b965060208801359550604088013567ffffffffffffffff80821115612a7057600080fd5b612a7c8b838c0161268c565b909750955060608a01359150612a91826126d5565b9093506080890135908082111561277757600080fd5b60008060408385031215612aba57600080fd5b82356127cc816126d5565b600060608284031215612ad757600080fd5b611f788383612674565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156109a2576109a2612ae1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612b6457600080fd5b611f7882612972565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612ba257600080fd5b83018035915067ffffffffffffffff821115612bbd57600080fd5b6020019150368190038213156126ce57600080fd5b600067ffffffffffffffff808316818103612bef57612bef612ae1565b6001019392505050565b67ffffffffffffffff818116838216019080821115612c1a57612c1a612ae1565b5092915050565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112612c5557600080fd5b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff612cb689612797565b1681526020880135602082015260006040890135612cd38161291c565b67ffffffffffffffff811660408401525087606083015260e06080830152612cff60e083018789612c5f565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152612d2e818587612c5f565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015612d86578181015183820152602001612d6e565b50506000910152565b600060208284031215612da157600080fd5b815167ffffffffffffffff80821115612db957600080fd5b818401915084601f830112612dcd57600080fd5b815181811115612ddf57612ddf612d3c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612e2557612e25612d3c565b81604052828152876020848701011115612e3e57600080fd5b611bcb836020830160208801612d6b565b60008151808452612e67816020860160208601612d6b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f786020830184612e4f565b808201808211156109a2576109a2612ae1565b600060208284031215612ed157600080fd5b8135611f788161291c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f0d57612f0d612ae1565b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015261ffff84166040820152608060608201526000611bcb608083018486612c5f565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a06080840152612f8a60e0840182612e4f565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a0850152612fc58282612e4f565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561300a57600080fd5b6040516040810181811067ffffffffffffffff8211171561302d5761302d612d3c565b604052825181526020928301519281019290925250919050565b60006080828403121561305957600080fd5b6040516060810181811067ffffffffffffffff8211171561307c5761307c612d3c565b6040528251815260208301516130918161291c565b60208201526130a38460408501612ff8565b60408201529392505050565b600080858511156130bf57600080fd5b838611156130cc57600080fd5b5050820193919092039150565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156131195780818660010360031b1b83161692505b505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156131195760049490940360031b84901b1690921692915050565b60006040828403121561317957600080fd5b611f788383612ff8565b803560208310156109a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b6000602082840312156131d157600080fd5b8151611f78816126d5565b61ffff818116838216019080821115612c1a57612c1a612ae1565b60008651613209818460208b01612d6b565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008760f01b166001830152808660f81b166003830152508351613281816004840160208801612d6b565b01600401979650505050505050565b6000602082840312156132a257600080fd5b8151611f78816128d4565b60008251612c55818460208701612d6b56fea2646970667358221220386ecc20a72f34df9464650469b4ee9d6064b2ef35d588751565015f25bf0abd64736f6c63430008160033",
889
- "deployedBytecode": "0x6080604052600436106101e75760003560e01c80637d25a05e1161010e578063ca5eb5e1116100a7578063d424388511610079578063f3fef3a311610061578063f3fef3a3146105f9578063f851a44014610619578063ff7bd03d1461064657005b8063d4243885146105b9578063f2fde38b146105d957005b8063ca5eb5e11461053e578063d045a0dc1461055e578063d0a1026014610571578063d22446ce1461058457005b8063b92d0eff116100e0578063b92d0eff146102cd578063bb0b6a53146104eb578063bd815db014610518578063c95c55be1461052b57005b80637d25a05e146104475780638da5cb5b14610480578063b731ea0a146104ab578063b7abbb5d146104d857005b806356a4728911610180578063622f17f611610152578063622f17f6146103c5578063704b6c02146103f25780637112f86f14610412578063715018a61461043257005b806356a47289146103145780635a0dfe4d146103415780635b849af6146103715780635e280f111461039157005b80633400288b116101b95780633400288b14610263578063416ecebf1461028357806352ae2879146102cd578063542e7b561461030157005b806306661abd146101f057806313137d651461021957806317442b701461022c578063257f4e051461024d57005b366101ee57005b005b3480156101fc57600080fd5b5061020660035481565b6040519081526020015b60405180910390f35b6101ee6102273660046126f7565b610666565b34801561023857600080fd5b50604080516001808252602082015201610210565b34801561025957600080fd5b5061020660045481565b34801561026f57600080fd5b506101ee61027e3660046127b0565b610765565b34801561028f57600080fd5b506005546102b89074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610210565b3480156102d957600080fd5b50305b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610210565b6101ee61030f36600461281f565b6107c2565b34801561032057600080fd5b5061020661032f3660046128b9565b60086020526000908152604090205481565b34801561034d57600080fd5b5061036161035c3660046127b0565b610989565b6040519015158152602001610210565b34801561037d57600080fd5b506101ee61038c3660046128e2565b6109a8565b34801561039d57600080fd5b506102dc7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d157600080fd5b506102066103e03660046128b9565b60096020526000908152604090205481565b3480156103fe57600080fd5b506101ee61040d3660046128ff565b6109e1565b34801561041e57600080fd5b506101ee61042d366004612932565b610aa9565b34801561043e57600080fd5b506101ee610be3565b34801561045357600080fd5b506104676104623660046127b0565b610bf7565b60405167ffffffffffffffff9091168152602001610210565b34801561048c57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166102dc565b3480156104b757600080fd5b506002546102dc9073ffffffffffffffffffffffffffffffffffffffff1681565b6101ee6104e6366004612983565b610c4a565b3480156104f757600080fd5b506102066105063660046128b9565b60016020526000908152604090205481565b6101ee6105263660046129e4565b610ccd565b6101ee610539366004612983565b610e84565b34801561054a57600080fd5b506101ee6105593660046128ff565b610f2c565b6101ee61056c3660046126f7565b610fd1565b6101ee61057f366004612a26565b611019565b34801561059057600080fd5b506105a461059f366004612983565b6112ee565b60408051928352602083019190915201610210565b3480156105c557600080fd5b506101ee6105d43660046128ff565b611365565b3480156105e557600080fd5b506101ee6105f43660046128ff565b6113e6565b34801561060557600080fd5b506101ee610614366004612aa7565b61149d565b34801561062557600080fd5b506005546102dc9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561065257600080fd5b50610361610661366004612ac5565b6115e8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1633146106dc576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b602087018035906106f6906106f1908a6128b9565b61161e565b1461074d5761070860208801886128b9565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602088013560248201526044016106d3565b61075c87878787878787611673565b50505050505050565b61076d6119c4565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b84811480156107d057508483145b610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a206c656e677468206d69736d617463680000000060448201526064016106d3565b61083e61262c565b3460005b8781101561097e57600061085760018a612b10565b82146108635730610865565b335b905060008a8a8481811061087b5761087b612b23565b905060200201602081019061089091906128b9565b905060008989858181106108a6576108a6612b23565b90506020020160208101906108bb9190612b52565b9050610952826108dd83600560149054906101000a900463ffffffff16611a45565b8a8a888181106108ef576108ef612b23565b90506020028101906109019190612b6d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091528d815260208101919091529250899150611abe9050565b955061095d82611bd6565b60408601515161096d9086612b10565b945050600190920191506108429050565b505050505050505050565b63ffffffff821660009081526001602052604090205481145b92915050565b6109b06119c4565b600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff163314610a62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106d3565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ab16119c4565b6040517fd70b890200000000000000000000000000000000000000000000000000000000815230600482015263ffffffff841660248201526044810183905267ffffffffffffffff821660648201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d70b890290608401600060405180830381600087803b158015610b5b57600080fd5b505af1158015610b6f573d6000803e3d6000fd5b505060075460ff16159150610bde90505763ffffffff831660009081526006602090815260408083208584529091528120805467ffffffffffffffff1691610bb683612bd2565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b505050565b610beb6119c4565b610bf56000611bff565b565b60075460009060ff1615610c425763ffffffff83166000908152600660209081526040808320858452909152902054610c3b9067ffffffffffffffff166001612bf9565b90506109a2565b5060006109a2565b610cbd84610c6a85600560149054906101000a900463ffffffff16611a45565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805180820190915234815260208101919091529250339150611abe9050565b50610cc784611bd6565b50505050565b60005b81811015610dbf5736838383818110610ceb57610ceb612b23565b9050602002810190610cfd9190612c21565b9050610d19610d0f60208301836128b9565b6020830135610989565b610d235750610db7565b3063d045a0dc60c08301358360a0810135610d42610100830183612b6d565b610d53610100890160e08a016128ff565b610d616101208a018a612b6d565b6040518963ffffffff1660e01b8152600401610d839796959493929190612ca8565b6000604051808303818588803b158015610d9c57600080fd5b505af1158015610db0573d6000803e3d6000fd5b5050505050505b600101610cd0565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e0b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610e519190810190612d8f565b6040517f8351eea70000000000000000000000000000000000000000000000000000000081526004016106d39190612e99565b60055473ffffffffffffffffffffffffffffffffffffffff163314610f05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106d3565b610f2584610c6a85600560149054906101000a900463ffffffff16611a45565b5050505050565b610f346119c4565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b158015610fbd57600080fd5b505af1158015610f25573d6000803e3d6000fd5b33301461100a576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61075c8787878787878761074d565b73ffffffffffffffffffffffffffffffffffffffff87163014611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f216f41707000000000000000000000000000000000000000000000000000000060448201526064016106d3565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21656e64706f696e74000000000000000000000000000000000000000000000060448201526064016106d3565b60006111438686611c74565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff82160161118d576001600460008282546111829190612eac565b909155506112e49050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60ff821601611282576001600460008282546111ca9190612eac565b90915550600090506111dc8787611c96565b90506111e781611bd6565b600061123a62030d406000611233604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9190611cb9565b905061127a8261125d6001600560149054906101000a900463ffffffff16611a45565b836040518060400160405280348152602001600081525030611abe565b5050506112e4565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f696e76616c6964206d657373616765207479706500000000000000000000000060448201526064016106d3565b5050505050505050565b600080600061134f8761131388600560149054906101000a900463ffffffff16611a45565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250611d3a915050565b8051602090910151909890975095505050505050565b61136d6119c4565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609060200160405180910390a150565b6113ee6119c4565b73ffffffffffffffffffffffffffffffffffffffff8116611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d3565b61149a81611bff565b50565b60055473ffffffffffffffffffffffffffffffffffffffff16331461151e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106d3565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611578576040519150601f19603f3d011682016040523d82523d6000602084013e61157d565b606091505b5050905080610bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a207769746864726177206661696c65640000000060448201526064016106d3565b600060208201803590600190839061160090866128b9565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff8116600090815260016020526040812054806109a2576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff841660048201526024016106d3565b61169d61168360208901896128b9565b602089013561169860608b0160408c01612ebf565b611e2a565b60006116a98686611c74565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff82160161177757600380549060006116e583612edc565b91905055506116f48686611f60565b34101561175d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4f6d6e69436f756e7465723a20696e73756666696369656e742076616c75650060448201526064016106d3565b61177261176d60208a018a6128b9565b611f7f565b6112e4565b60ff81166002148061178c575060ff81166004145b1561186957600380549060006117a183612edc565b909155506117b7905061176d60208a018a6128b9565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906118329030908b906000908c908c90600401612f14565b600060405180830381600087803b15801561184c57600080fd5b505af1158015611860573d6000803e3d6000fd5b505050506112e4565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff82160161128257600380549060006118a383612edc565b909155506118b9905061176d60208a018a6128b9565b6118ce6118c960208a018a6128b9565b611bd6565b600061191a62030d40600a611233604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b90506119bd61192c60208b018b6128b9565b600554604080517f010000000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090920460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166021830152600a602580840191909152815180840390910181526045909201905261125d565b50506112e4565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d3565b6040517fff0000000000000000000000000000000000000000000000000000000000000060f884901b1660208201527fffffffff0000000000000000000000000000000000000000000000000000000060e083901b1660218201526060906025015b604051602081830303815290604052905092915050565b611ac661262c565b6000611ad58460000151611fa0565b602085015190915015611aef57611aef8460200151611fe2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff168152602001611b4c8c61161e565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611b88929190612f54565b60806040518083038185885af1158015611ba6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611bcb9190613047565b979650505050505050565b63ffffffff81166000908152600960205260408120805491611bf783612edc565b919050555050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611c8360018284866130af565b611c8c916130d9565b60f81c9392505050565b6000611ca66005600184866130af565b611caf91613121565b60e01c9392505050565b6060836003611cc9826000612108565b61ffff1614611d1657611cdd816000612108565b6040517f3a51740d00000000000000000000000000000000000000000000000000000000815261ffff90911660048201526024016106d3565b6000611d228585612188565b9050611d3086600183612228565b9695505050505050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff168152602001611daa8961161e565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611ddf929190612f54565b6040805180830381865afa158015611dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1f9190613167565b90505b949350505050565b63ffffffff8316600090815260066020908152604080832085845290915290205460075467ffffffffffffffff9091169060ff1615611eea57611e6e816001612bf9565b67ffffffffffffffff168267ffffffffffffffff1614611eea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4170703a20696e76616c6964206e6f6e63650000000000000000000000000060448201526064016106d3565b8067ffffffffffffffff168267ffffffffffffffff161115610cc75763ffffffff841660009081526006602090815260408083208684529091529020805467ffffffffffffffff84167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911617905550505050565b6000611f6f82600581866130af565b611f7891613183565b9392505050565b63ffffffff81166000908152600860205260408120805491611bf783612edc565b600081341015611fde576040517f9f7041200000000000000000000000000000000000000000000000000000000081523460048201526024016106d3565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061207391906131bf565b905073ffffffffffffffffffffffffffffffffffffffff81166120c2576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61210473ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085612293565b5050565b6000612115826002612eac565b8351101561217f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e647300000000000000000000000060448201526064016106d3565b50016002015190565b60606fffffffffffffffffffffffffffffffff8216156121f157604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608086811b8216602084015285901b16603082015201604051602081830303815290604052611f78565b6040517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085901b166020820152603001611aa7565b6060836003612238826000612108565b61ffff161461224c57611cdd816000612108565b8460016122598551612328565b6122649060016131dc565b868660405160200161227a9594939291906131f7565b6040516020818303038152906040529150509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610cc79085906123bc565b600061ffff821115611fde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f362062697473000000000000000000000000000000000000000000000000000060648201526084016106d3565b600061241e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166124cb9092919063ffffffff16565b905080516000148061243f57508080602001905181019061243f9190613290565b610bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106d3565b6060611e228484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516124ff91906132ad565b60006040518083038185875af1925050503d806000811461253c576040519150601f19603f3d011682016040523d82523d6000602084013e612541565b606091505b5091509150611bcb87838387606083156125e35782516000036125dc5773ffffffffffffffffffffffffffffffffffffffff85163b6125dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d3565b5081611e22565b611e2283838151156125f85781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d39190612e99565b604051806060016040528060008019168152602001600067ffffffffffffffff16815260200161266f604051806040016040528060008152602001600081525090565b905290565b60006060828403121561268657600080fd5b50919050565b60008083601f84011261269e57600080fd5b50813567ffffffffffffffff8111156126b657600080fd5b6020830191508360208285010111156126ce57600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461149a57600080fd5b600080600080600080600060e0888a03121561271257600080fd5b61271c8989612674565b965060608801359550608088013567ffffffffffffffff8082111561274057600080fd5b61274c8b838c0161268c565b909750955060a08a01359150612761826126d5565b90935060c0890135908082111561277757600080fd5b506127848a828b0161268c565b989b979a50959850939692959293505050565b803563ffffffff811681146127ab57600080fd5b919050565b600080604083850312156127c357600080fd5b6127cc83612797565b946020939093013593505050565b60008083601f8401126127ec57600080fd5b50813567ffffffffffffffff81111561280457600080fd5b6020830191508360208260051b85010111156126ce57600080fd5b6000806000806000806060878903121561283857600080fd5b863567ffffffffffffffff8082111561285057600080fd5b61285c8a838b016127da565b9098509650602089013591508082111561287557600080fd5b6128818a838b016127da565b9096509450604089013591508082111561289a57600080fd5b506128a789828a016127da565b979a9699509497509295939492505050565b6000602082840312156128cb57600080fd5b611f7882612797565b801515811461149a57600080fd5b6000602082840312156128f457600080fd5b8135611f78816128d4565b60006020828403121561291157600080fd5b8135611f78816126d5565b67ffffffffffffffff8116811461149a57600080fd5b60008060006060848603121561294757600080fd5b61295084612797565b92506020840135915060408401356129678161291c565b809150509250925092565b803560ff811681146127ab57600080fd5b6000806000806060858703121561299957600080fd5b6129a285612797565b93506129b060208601612972565b9250604085013567ffffffffffffffff8111156129cc57600080fd5b6129d88782880161268c565b95989497509550505050565b600080602083850312156129f757600080fd5b823567ffffffffffffffff811115612a0e57600080fd5b612a1a858286016127da565b90969095509350505050565b600080600080600080600060a0888a031215612a4157600080fd5b8735612a4c816126d5565b965060208801359550604088013567ffffffffffffffff80821115612a7057600080fd5b612a7c8b838c0161268c565b909750955060608a01359150612a91826126d5565b9093506080890135908082111561277757600080fd5b60008060408385031215612aba57600080fd5b82356127cc816126d5565b600060608284031215612ad757600080fd5b611f788383612674565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156109a2576109a2612ae1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612b6457600080fd5b611f7882612972565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612ba257600080fd5b83018035915067ffffffffffffffff821115612bbd57600080fd5b6020019150368190038213156126ce57600080fd5b600067ffffffffffffffff808316818103612bef57612bef612ae1565b6001019392505050565b67ffffffffffffffff818116838216019080821115612c1a57612c1a612ae1565b5092915050565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112612c5557600080fd5b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff612cb689612797565b1681526020880135602082015260006040890135612cd38161291c565b67ffffffffffffffff811660408401525087606083015260e06080830152612cff60e083018789612c5f565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152612d2e818587612c5f565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015612d86578181015183820152602001612d6e565b50506000910152565b600060208284031215612da157600080fd5b815167ffffffffffffffff80821115612db957600080fd5b818401915084601f830112612dcd57600080fd5b815181811115612ddf57612ddf612d3c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612e2557612e25612d3c565b81604052828152876020848701011115612e3e57600080fd5b611bcb836020830160208801612d6b565b60008151808452612e67816020860160208601612d6b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f786020830184612e4f565b808201808211156109a2576109a2612ae1565b600060208284031215612ed157600080fd5b8135611f788161291c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f0d57612f0d612ae1565b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015261ffff84166040820152608060608201526000611bcb608083018486612c5f565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a06080840152612f8a60e0840182612e4f565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a0850152612fc58282612e4f565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561300a57600080fd5b6040516040810181811067ffffffffffffffff8211171561302d5761302d612d3c565b604052825181526020928301519281019290925250919050565b60006080828403121561305957600080fd5b6040516060810181811067ffffffffffffffff8211171561307c5761307c612d3c565b6040528251815260208301516130918161291c565b60208201526130a38460408501612ff8565b60408201529392505050565b600080858511156130bf57600080fd5b838611156130cc57600080fd5b5050820193919092039150565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156131195780818660010360031b1b83161692505b505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156131195760049490940360031b84901b1690921692915050565b60006040828403121561317957600080fd5b611f788383612ff8565b803560208310156109a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b6000602082840312156131d157600080fd5b8151611f78816126d5565b61ffff818116838216019080821115612c1a57612c1a612ae1565b60008651613209818460208b01612d6b565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008760f01b166001830152808660f81b166003830152508351613281816004840160208801612d6b565b01600401979650505050505050565b6000602082840312156132a257600080fd5b8151611f78816128d4565b60008251612c55818460208701612d6b56fea2646970667358221220386ecc20a72f34df9464650469b4ee9d6064b2ef35d588751565015f25bf0abd64736f6c63430008160033",
921
+ "bytecode": "0x60a06040523480156200001157600080fd5b506040516200364c3803806200364c8339810160408190526200003491620001ed565b818181818181620000453362000180565b6001600160a01b0380831660805281166200007357604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000bb57600080fd5b505af1158015620000d0573d6000803e3d6000fd5b5050600580546001600160a01b0319163317905550506040805163416ecebf60e01b815290516001600160a01b038816955063416ecebf9450600480830194506020935090918290030181865afa15801562000130573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000156919062000225565b600560146101000a81548163ffffffff021916908363ffffffff1602179055505050505062000254565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620001e857600080fd5b919050565b600080604083850312156200020157600080fd5b6200020c83620001d0565b91506200021c60208401620001d0565b90509250929050565b6000602082840312156200023857600080fd5b815163ffffffff811681146200024d57600080fd5b9392505050565b60805161339d620002af600039600081816103a40152818161068901528181610b2301528181610fbc015281816110f30152818161183701528181611b3401528181611d93015281816120270152612120015261339d6000f3fe6080604052600436106101e75760003560e01c80637d25a05e1161010e578063ca5eb5e1116100a7578063d424388511610079578063f3fef3a311610061578063f3fef3a31461061a578063f851a4401461063a578063ff7bd03d1461066757005b8063d4243885146105da578063f2fde38b146105fa57005b8063ca5eb5e11461055f578063d045a0dc1461057f578063d0a1026014610592578063d22446ce146105a557005b8063b7abbb5d116100e0578063b7abbb5d146104f9578063bb0b6a531461050c578063bd815db014610539578063c95c55be1461054c57005b80637d25a05e1461044857806382413eac146104815780638da5cb5b146104a1578063b731ea0a146104cc57005b806356a4728911610180578063622f17f611610152578063622f17f6146103c6578063704b6c02146103f35780637112f86f14610413578063715018a61461043357005b806356a47289146103155780635a0dfe4d146103425780635b849af6146103725780635e280f111461039257005b80633400288b116101b95780633400288b14610264578063416ecebf1461028457806352ae2879146102ce578063542e7b561461030257005b806306661abd146101f057806313137d651461021957806317442b701461022c578063257f4e051461024e57005b366101ee57005b005b3480156101fc57600080fd5b5061020660035481565b6040519081526020015b60405180910390f35b6101ee610227366004612738565b610687565b34801561023857600080fd5b5060408051600181526002602082015201610210565b34801561025a57600080fd5b5061020660045481565b34801561027057600080fd5b506101ee61027f3660046127f1565b610786565b34801561029057600080fd5b506005546102b99074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610210565b3480156102da57600080fd5b50305b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610210565b6101ee610310366004612860565b6107e3565b34801561032157600080fd5b506102066103303660046128fa565b60086020526000908152604090205481565b34801561034e57600080fd5b5061036261035d3660046127f1565b6109aa565b6040519015158152602001610210565b34801561037e57600080fd5b506101ee61038d366004612923565b6109c9565b34801561039e57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d257600080fd5b506102066103e13660046128fa565b60096020526000908152604090205481565b3480156103ff57600080fd5b506101ee61040e366004612940565b610a02565b34801561041f57600080fd5b506101ee61042e366004612973565b610aca565b34801561043f57600080fd5b506101ee610c04565b34801561045457600080fd5b506104686104633660046127f1565b610c18565b60405167ffffffffffffffff9091168152602001610210565b34801561048d57600080fd5b5061036261049c3660046129b3565b610c6b565b3480156104ad57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166102dd565b3480156104d857600080fd5b506002546102dd9073ffffffffffffffffffffffffffffffffffffffff1681565b6101ee610507366004612a2b565b610c8d565b34801561051857600080fd5b506102066105273660046128fa565b60016020526000908152604090205481565b6101ee610547366004612a8c565b610d10565b6101ee61055a366004612a2b565b610ec7565b34801561056b57600080fd5b506101ee61057a366004612940565b610f6f565b6101ee61058d366004612738565b611014565b6101ee6105a0366004612ace565b61105c565b3480156105b157600080fd5b506105c56105c0366004612a2b565b611331565b60408051928352602083019190915201610210565b3480156105e657600080fd5b506101ee6105f5366004612940565b6113a8565b34801561060657600080fd5b506101ee610615366004612940565b611429565b34801561062657600080fd5b506101ee610635366004612b4f565b6114e0565b34801561064657600080fd5b506005546102dd9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561067357600080fd5b50610362610682366004612b6d565b61162b565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1633146106fd576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6020870180359061071790610712908a6128fa565b611661565b1461076e5761072960208801886128fa565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602088013560248201526044016106f4565b61077d878787878787876116b6565b50505050505050565b61078e611a07565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b84811480156107f157508483145b610857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a206c656e677468206d69736d617463680000000060448201526064016106f4565b61085f61266d565b3460005b8781101561099f57600061087860018a612bb8565b82146108845730610886565b335b905060008a8a8481811061089c5761089c612bcb565b90506020020160208101906108b191906128fa565b905060008989858181106108c7576108c7612bcb565b90506020020160208101906108dc9190612bfa565b9050610973826108fe83600560149054906101000a900463ffffffff16611a88565b8a8a8881811061091057610910612bcb565b90506020028101906109229190612c15565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091528d815260208101919091529250899150611b019050565b955061097e82611c19565b60408601515161098e9086612bb8565b945050600190920191506108639050565b505050505050505050565b63ffffffff821660009081526001602052604090205481145b92915050565b6109d1611a07565b600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff163314610a83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ad2611a07565b6040517fd70b890200000000000000000000000000000000000000000000000000000000815230600482015263ffffffff841660248201526044810183905267ffffffffffffffff821660648201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d70b890290608401600060405180830381600087803b158015610b7c57600080fd5b505af1158015610b90573d6000803e3d6000fd5b505060075460ff16159150610bff90505763ffffffff831660009081526006602090815260408083208584529091528120805467ffffffffffffffff1691610bd783612c7a565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b505050565b610c0c611a07565b610c166000611c42565b565b60075460009060ff1615610c635763ffffffff83166000908152600660209081526040808320858452909152902054610c5c9067ffffffffffffffff166001612ca1565b90506109c3565b5060006109c3565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b610d0084610cad85600560149054906101000a900463ffffffff16611a88565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805180820190915234815260208101919091529250339150611b019050565b50610d0a84611c19565b50505050565b60005b81811015610e025736838383818110610d2e57610d2e612bcb565b9050602002810190610d409190612cc9565b9050610d5c610d5260208301836128fa565b60208301356109aa565b610d665750610dfa565b3063d045a0dc60c08301358360a0810135610d85610100830183612c15565b610d96610100890160e08a01612940565b610da46101208a018a612c15565b6040518963ffffffff1660e01b8152600401610dc69796959493929190612d50565b6000604051808303818588803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b5050505050505b600101610d13565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e4e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610e949190810190612e37565b6040517f8351eea70000000000000000000000000000000000000000000000000000000081526004016106f49190612f41565b60055473ffffffffffffffffffffffffffffffffffffffff163314610f48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b610f6884610cad85600560149054906101000a900463ffffffff16611a88565b5050505050565b610f77611a07565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b15801561100057600080fd5b505af1158015610f68573d6000803e3d6000fd5b33301461104d576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61077d8787878787878761076e565b73ffffffffffffffffffffffffffffffffffffffff871630146110db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f216f41707000000000000000000000000000000000000000000000000000000060448201526064016106f4565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461117a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21656e64706f696e74000000000000000000000000000000000000000000000060448201526064016106f4565b60006111868686611cb7565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8216016111d0576001600460008282546111c59190612f54565b909155506113279050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60ff8216016112c55760016004600082825461120d9190612f54565b909155506000905061121f8787611cd9565b905061122a81611c19565b600061127d62030d406000611276604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9190611cfc565b90506112bd826112a06001600560149054906101000a900463ffffffff16611a88565b836040518060400160405280348152602001600081525030611b01565b505050611327565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f696e76616c6964206d657373616765207479706500000000000000000000000060448201526064016106f4565b5050505050505050565b60008060006113928761135688600560149054906101000a900463ffffffff16611a88565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250611d7d915050565b8051602090910151909890975095505050505050565b6113b0611a07565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609060200160405180910390a150565b611431611a07565b73ffffffffffffffffffffffffffffffffffffffff81166114d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106f4565b6114dd81611c42565b50565b60055473ffffffffffffffffffffffffffffffffffffffff163314611561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146115bb576040519150601f19603f3d011682016040523d82523d6000602084013e6115c0565b606091505b5050905080610bff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a207769746864726177206661696c65640000000060448201526064016106f4565b600060208201803590600190839061164390866128fa565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff8116600090815260016020526040812054806109c3576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff841660048201526024016106f4565b6116e06116c660208901896128fa565b60208901356116db60608b0160408c01612f67565b611e6b565b60006116ec8686611cb7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8216016117ba576003805490600061172883612f84565b91905055506117378686611fa1565b3410156117a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4f6d6e69436f756e7465723a20696e73756666696369656e742076616c75650060448201526064016106f4565b6117b56117b060208a018a6128fa565b611fc0565b611327565b60ff8116600214806117cf575060ff81166004145b156118ac57600380549060006117e483612f84565b909155506117fa90506117b060208a018a6128fa565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906118759030908b906000908c908c90600401612fbc565b600060405180830381600087803b15801561188f57600080fd5b505af11580156118a3573d6000803e3d6000fd5b50505050611327565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff8216016112c557600380549060006118e683612f84565b909155506118fc90506117b060208a018a6128fa565b61191161190c60208a018a6128fa565b611c19565b600061195d62030d40600a611276604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9050611a0061196f60208b018b6128fa565b600554604080517f010000000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090920460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166021830152600a60258084019190915281518084039091018152604590920190526112a0565b5050611327565b60005473ffffffffffffffffffffffffffffffffffffffff163314610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106f4565b6040517fff0000000000000000000000000000000000000000000000000000000000000060f884901b1660208201527fffffffff0000000000000000000000000000000000000000000000000000000060e083901b1660218201526060906025015b604051602081830303815290604052905092915050565b611b0961266d565b6000611b188460000151611fe1565b602085015190915015611b3257611b328460200151612023565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff168152602001611b8f8c611661565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611bcb929190612ffc565b60806040518083038185885af1158015611be9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c0e91906130ef565b979650505050505050565b63ffffffff81166000908152600960205260408120805491611c3a83612f84565b919050555050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611cc66001828486613157565b611ccf91613181565b60f81c9392505050565b6000611ce9600560018486613157565b611cf2916131c9565b60e01c9392505050565b6060836003611d0c826000612149565b61ffff1614611d5957611d20816000612149565b6040517f3a51740d00000000000000000000000000000000000000000000000000000000815261ffff90911660048201526024016106f4565b6000611d6585856121c9565b9050611d7386600183612269565b9695505050505050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff168152602001611ded89611661565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611e22929190612ffc565b6040805180830381865afa158015611e3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e62919061320f565b95945050505050565b63ffffffff8316600090815260066020908152604080832085845290915290205460075467ffffffffffffffff9091169060ff1615611f2b57611eaf816001612ca1565b67ffffffffffffffff168267ffffffffffffffff1614611f2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4170703a20696e76616c6964206e6f6e63650000000000000000000000000060448201526064016106f4565b8067ffffffffffffffff168267ffffffffffffffff161115610d0a5763ffffffff841660009081526006602090815260408083208684529091529020805467ffffffffffffffff84167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911617905550505050565b6000611fb08260058186613157565b611fb99161322b565b9392505050565b63ffffffff81166000908152600860205260408120805491611c3a83612f84565b60008134101561201f576040517f9f7041200000000000000000000000000000000000000000000000000000000081523460048201526024016106f4565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015612090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b49190613267565b905073ffffffffffffffffffffffffffffffffffffffff8116612103576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61214573ffffffffffffffffffffffffffffffffffffffff8216337f0000000000000000000000000000000000000000000000000000000000000000856122d4565b5050565b6000612156826002612f54565b835110156121c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e647300000000000000000000000060448201526064016106f4565b50016002015190565b60606fffffffffffffffffffffffffffffffff82161561223257604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608086811b8216602084015285901b16603082015201604051602081830303815290604052611fb9565b6040517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085901b166020820152603001611aea565b6060836003612279826000612149565b61ffff161461228d57611d20816000612149565b84600161229a8551612369565b6122a5906001613284565b86866040516020016122bb95949392919061329f565b6040516020818303038152906040529150509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610d0a9085906123fd565b600061ffff82111561201f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f362062697473000000000000000000000000000000000000000000000000000060648201526084016106f4565b600061245f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661250c9092919063ffffffff16565b90508051600014806124805750808060200190518101906124809190613338565b610bff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106f4565b6060610c858484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516125409190613355565b60006040518083038185875af1925050503d806000811461257d576040519150601f19603f3d011682016040523d82523d6000602084013e612582565b606091505b5091509150611c0e878383876060831561262457825160000361261d5773ffffffffffffffffffffffffffffffffffffffff85163b61261d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106f4565b5081610c85565b610c8583838151156126395781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f49190612f41565b604051806060016040528060008019168152602001600067ffffffffffffffff1681526020016126b0604051806040016040528060008152602001600081525090565b905290565b6000606082840312156126c757600080fd5b50919050565b60008083601f8401126126df57600080fd5b50813567ffffffffffffffff8111156126f757600080fd5b60208301915083602082850101111561270f57600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff811681146114dd57600080fd5b600080600080600080600060e0888a03121561275357600080fd5b61275d89896126b5565b965060608801359550608088013567ffffffffffffffff8082111561278157600080fd5b61278d8b838c016126cd565b909750955060a08a013591506127a282612716565b90935060c089013590808211156127b857600080fd5b506127c58a828b016126cd565b989b979a50959850939692959293505050565b803563ffffffff811681146127ec57600080fd5b919050565b6000806040838503121561280457600080fd5b61280d836127d8565b946020939093013593505050565b60008083601f84011261282d57600080fd5b50813567ffffffffffffffff81111561284557600080fd5b6020830191508360208260051b850101111561270f57600080fd5b6000806000806000806060878903121561287957600080fd5b863567ffffffffffffffff8082111561289157600080fd5b61289d8a838b0161281b565b909850965060208901359150808211156128b657600080fd5b6128c28a838b0161281b565b909650945060408901359150808211156128db57600080fd5b506128e889828a0161281b565b979a9699509497509295939492505050565b60006020828403121561290c57600080fd5b611fb9826127d8565b80151581146114dd57600080fd5b60006020828403121561293557600080fd5b8135611fb981612915565b60006020828403121561295257600080fd5b8135611fb981612716565b67ffffffffffffffff811681146114dd57600080fd5b60008060006060848603121561298857600080fd5b612991846127d8565b92506020840135915060408401356129a88161295d565b809150509250925092565b60008060008060a085870312156129c957600080fd5b6129d386866126b5565b9350606085013567ffffffffffffffff8111156129ef57600080fd5b6129fb878288016126cd565b9094509250506080850135612a0f81612716565b939692955090935050565b803560ff811681146127ec57600080fd5b60008060008060608587031215612a4157600080fd5b612a4a856127d8565b9350612a5860208601612a1a565b9250604085013567ffffffffffffffff811115612a7457600080fd5b612a80878288016126cd565b95989497509550505050565b60008060208385031215612a9f57600080fd5b823567ffffffffffffffff811115612ab657600080fd5b612ac28582860161281b565b90969095509350505050565b600080600080600080600060a0888a031215612ae957600080fd5b8735612af481612716565b965060208801359550604088013567ffffffffffffffff80821115612b1857600080fd5b612b248b838c016126cd565b909750955060608a01359150612b3982612716565b909350608089013590808211156127b857600080fd5b60008060408385031215612b6257600080fd5b823561280d81612716565b600060608284031215612b7f57600080fd5b611fb983836126b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156109c3576109c3612b89565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612c0c57600080fd5b611fb982612a1a565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c4a57600080fd5b83018035915067ffffffffffffffff821115612c6557600080fd5b60200191503681900382131561270f57600080fd5b600067ffffffffffffffff808316818103612c9757612c97612b89565b6001019392505050565b67ffffffffffffffff818116838216019080821115612cc257612cc2612b89565b5092915050565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112612cfd57600080fd5b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff612d5e896127d8565b1681526020880135602082015260006040890135612d7b8161295d565b67ffffffffffffffff811660408401525087606083015260e06080830152612da760e083018789612d07565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152612dd6818587612d07565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015612e2e578181015183820152602001612e16565b50506000910152565b600060208284031215612e4957600080fd5b815167ffffffffffffffff80821115612e6157600080fd5b818401915084601f830112612e7557600080fd5b815181811115612e8757612e87612de4565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ecd57612ecd612de4565b81604052828152876020848701011115612ee657600080fd5b611c0e836020830160208801612e13565b60008151808452612f0f816020860160208601612e13565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611fb96020830184612ef7565b808201808211156109c3576109c3612b89565b600060208284031215612f7957600080fd5b8135611fb98161295d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fb557612fb5612b89565b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015261ffff84166040820152608060608201526000611c0e608083018486612d07565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261303260e0840182612ef7565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a085015261306d8282612ef7565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b6000604082840312156130b257600080fd5b6040516040810181811067ffffffffffffffff821117156130d5576130d5612de4565b604052825181526020928301519281019290925250919050565b60006080828403121561310157600080fd5b6040516060810181811067ffffffffffffffff8211171561312457613124612de4565b6040528251815260208301516131398161295d565b602082015261314b84604085016130a0565b60408201529392505050565b6000808585111561316757600080fd5b8386111561317457600080fd5b5050820193919092039150565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156131c15780818660010360031b1b83161692505b505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156131c15760049490940360031b84901b1690921692915050565b60006040828403121561322157600080fd5b611fb983836130a0565b803560208310156109c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60006020828403121561327957600080fd5b8151611fb981612716565b61ffff818116838216019080821115612cc257612cc2612b89565b600086516132b1818460208b01612e13565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008760f01b166001830152808660f81b166003830152508351613329816004840160208801612e13565b01600401979650505050505050565b60006020828403121561334a57600080fd5b8151611fb981612915565b60008251612cfd818460208701612e1356fea2646970667358221220008078b83845f573d4d9e4e54da2c690666bfe7ad7774deca105c1fa00bcfc9e64736f6c63430008160033",
922
+ "deployedBytecode": "0x6080604052600436106101e75760003560e01c80637d25a05e1161010e578063ca5eb5e1116100a7578063d424388511610079578063f3fef3a311610061578063f3fef3a31461061a578063f851a4401461063a578063ff7bd03d1461066757005b8063d4243885146105da578063f2fde38b146105fa57005b8063ca5eb5e11461055f578063d045a0dc1461057f578063d0a1026014610592578063d22446ce146105a557005b8063b7abbb5d116100e0578063b7abbb5d146104f9578063bb0b6a531461050c578063bd815db014610539578063c95c55be1461054c57005b80637d25a05e1461044857806382413eac146104815780638da5cb5b146104a1578063b731ea0a146104cc57005b806356a4728911610180578063622f17f611610152578063622f17f6146103c6578063704b6c02146103f35780637112f86f14610413578063715018a61461043357005b806356a47289146103155780635a0dfe4d146103425780635b849af6146103725780635e280f111461039257005b80633400288b116101b95780633400288b14610264578063416ecebf1461028457806352ae2879146102ce578063542e7b561461030257005b806306661abd146101f057806313137d651461021957806317442b701461022c578063257f4e051461024e57005b366101ee57005b005b3480156101fc57600080fd5b5061020660035481565b6040519081526020015b60405180910390f35b6101ee610227366004612738565b610687565b34801561023857600080fd5b5060408051600181526002602082015201610210565b34801561025a57600080fd5b5061020660045481565b34801561027057600080fd5b506101ee61027f3660046127f1565b610786565b34801561029057600080fd5b506005546102b99074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610210565b3480156102da57600080fd5b50305b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610210565b6101ee610310366004612860565b6107e3565b34801561032157600080fd5b506102066103303660046128fa565b60086020526000908152604090205481565b34801561034e57600080fd5b5061036261035d3660046127f1565b6109aa565b6040519015158152602001610210565b34801561037e57600080fd5b506101ee61038d366004612923565b6109c9565b34801561039e57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103d257600080fd5b506102066103e13660046128fa565b60096020526000908152604090205481565b3480156103ff57600080fd5b506101ee61040e366004612940565b610a02565b34801561041f57600080fd5b506101ee61042e366004612973565b610aca565b34801561043f57600080fd5b506101ee610c04565b34801561045457600080fd5b506104686104633660046127f1565b610c18565b60405167ffffffffffffffff9091168152602001610210565b34801561048d57600080fd5b5061036261049c3660046129b3565b610c6b565b3480156104ad57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166102dd565b3480156104d857600080fd5b506002546102dd9073ffffffffffffffffffffffffffffffffffffffff1681565b6101ee610507366004612a2b565b610c8d565b34801561051857600080fd5b506102066105273660046128fa565b60016020526000908152604090205481565b6101ee610547366004612a8c565b610d10565b6101ee61055a366004612a2b565b610ec7565b34801561056b57600080fd5b506101ee61057a366004612940565b610f6f565b6101ee61058d366004612738565b611014565b6101ee6105a0366004612ace565b61105c565b3480156105b157600080fd5b506105c56105c0366004612a2b565b611331565b60408051928352602083019190915201610210565b3480156105e657600080fd5b506101ee6105f5366004612940565b6113a8565b34801561060657600080fd5b506101ee610615366004612940565b611429565b34801561062657600080fd5b506101ee610635366004612b4f565b6114e0565b34801561064657600080fd5b506005546102dd9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561067357600080fd5b50610362610682366004612b6d565b61162b565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1633146106fd576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6020870180359061071790610712908a6128fa565b611661565b1461076e5761072960208801886128fa565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602088013560248201526044016106f4565b61077d878787878787876116b6565b50505050505050565b61078e611a07565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b84811480156107f157508483145b610857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a206c656e677468206d69736d617463680000000060448201526064016106f4565b61085f61266d565b3460005b8781101561099f57600061087860018a612bb8565b82146108845730610886565b335b905060008a8a8481811061089c5761089c612bcb565b90506020020160208101906108b191906128fa565b905060008989858181106108c7576108c7612bcb565b90506020020160208101906108dc9190612bfa565b9050610973826108fe83600560149054906101000a900463ffffffff16611a88565b8a8a8881811061091057610910612bcb565b90506020028101906109229190612c15565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091528d815260208101919091529250899150611b019050565b955061097e82611c19565b60408601515161098e9086612bb8565b945050600190920191506108639050565b505050505050505050565b63ffffffff821660009081526001602052604090205481145b92915050565b6109d1611a07565b600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff163314610a83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ad2611a07565b6040517fd70b890200000000000000000000000000000000000000000000000000000000815230600482015263ffffffff841660248201526044810183905267ffffffffffffffff821660648201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d70b890290608401600060405180830381600087803b158015610b7c57600080fd5b505af1158015610b90573d6000803e3d6000fd5b505060075460ff16159150610bff90505763ffffffff831660009081526006602090815260408083208584529091528120805467ffffffffffffffff1691610bd783612c7a565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b505050565b610c0c611a07565b610c166000611c42565b565b60075460009060ff1615610c635763ffffffff83166000908152600660209081526040808320858452909152902054610c5c9067ffffffffffffffff166001612ca1565b90506109c3565b5060006109c3565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b610d0084610cad85600560149054906101000a900463ffffffff16611a88565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805180820190915234815260208101919091529250339150611b019050565b50610d0a84611c19565b50505050565b60005b81811015610e025736838383818110610d2e57610d2e612bcb565b9050602002810190610d409190612cc9565b9050610d5c610d5260208301836128fa565b60208301356109aa565b610d665750610dfa565b3063d045a0dc60c08301358360a0810135610d85610100830183612c15565b610d96610100890160e08a01612940565b610da46101208a018a612c15565b6040518963ffffffff1660e01b8152600401610dc69796959493929190612d50565b6000604051808303818588803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b5050505050505b600101610d13565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e4e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610e949190810190612e37565b6040517f8351eea70000000000000000000000000000000000000000000000000000000081526004016106f49190612f41565b60055473ffffffffffffffffffffffffffffffffffffffff163314610f48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b610f6884610cad85600560149054906101000a900463ffffffff16611a88565b5050505050565b610f77611a07565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b15801561100057600080fd5b505af1158015610f68573d6000803e3d6000fd5b33301461104d576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61077d8787878787878761076e565b73ffffffffffffffffffffffffffffffffffffffff871630146110db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f216f41707000000000000000000000000000000000000000000000000000000060448201526064016106f4565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461117a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21656e64706f696e74000000000000000000000000000000000000000000000060448201526064016106f4565b60006111868686611cb7565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8216016111d0576001600460008282546111c59190612f54565b909155506113279050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60ff8216016112c55760016004600082825461120d9190612f54565b909155506000905061121f8787611cd9565b905061122a81611c19565b600061127d62030d406000611276604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9190611cfc565b90506112bd826112a06001600560149054906101000a900463ffffffff16611a88565b836040518060400160405280348152602001600081525030611b01565b505050611327565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f696e76616c6964206d657373616765207479706500000000000000000000000060448201526064016106f4565b5050505050505050565b60008060006113928761135688600560149054906101000a900463ffffffff16611a88565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250611d7d915050565b8051602090910151909890975095505050505050565b6113b0611a07565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609060200160405180910390a150565b611431611a07565b73ffffffffffffffffffffffffffffffffffffffff81166114d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106f4565b6114dd81611c42565b50565b60055473ffffffffffffffffffffffffffffffffffffffff163314611561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e0000000000000000000000000000000000000000000060448201526064016106f4565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146115bb576040519150601f19603f3d011682016040523d82523d6000602084013e6115c0565b606091505b5050905080610bff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a207769746864726177206661696c65640000000060448201526064016106f4565b600060208201803590600190839061164390866128fa565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff8116600090815260016020526040812054806109c3576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff841660048201526024016106f4565b6116e06116c660208901896128fa565b60208901356116db60608b0160408c01612f67565b611e6b565b60006116ec8686611cb7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8216016117ba576003805490600061172883612f84565b91905055506117378686611fa1565b3410156117a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4f6d6e69436f756e7465723a20696e73756666696369656e742076616c75650060448201526064016106f4565b6117b56117b060208a018a6128fa565b611fc0565b611327565b60ff8116600214806117cf575060ff81166004145b156118ac57600380549060006117e483612f84565b909155506117fa90506117b060208a018a6128fa565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906118759030908b906000908c908c90600401612fbc565b600060405180830381600087803b15801561188f57600080fd5b505af11580156118a3573d6000803e3d6000fd5b50505050611327565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff8216016112c557600380549060006118e683612f84565b909155506118fc90506117b060208a018a6128fa565b61191161190c60208a018a6128fa565b611c19565b600061195d62030d40600a611276604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9050611a0061196f60208b018b6128fa565b600554604080517f010000000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090920460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166021830152600a60258084019190915281518084039091018152604590920190526112a0565b5050611327565b60005473ffffffffffffffffffffffffffffffffffffffff163314610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106f4565b6040517fff0000000000000000000000000000000000000000000000000000000000000060f884901b1660208201527fffffffff0000000000000000000000000000000000000000000000000000000060e083901b1660218201526060906025015b604051602081830303815290604052905092915050565b611b0961266d565b6000611b188460000151611fe1565b602085015190915015611b3257611b328460200151612023565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff168152602001611b8f8c611661565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611bcb929190612ffc565b60806040518083038185885af1158015611be9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c0e91906130ef565b979650505050505050565b63ffffffff81166000908152600960205260408120805491611c3a83612f84565b919050555050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611cc66001828486613157565b611ccf91613181565b60f81c9392505050565b6000611ce9600560018486613157565b611cf2916131c9565b60e01c9392505050565b6060836003611d0c826000612149565b61ffff1614611d5957611d20816000612149565b6040517f3a51740d00000000000000000000000000000000000000000000000000000000815261ffff90911660048201526024016106f4565b6000611d6585856121c9565b9050611d7386600183612269565b9695505050505050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff168152602001611ded89611661565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611e22929190612ffc565b6040805180830381865afa158015611e3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e62919061320f565b95945050505050565b63ffffffff8316600090815260066020908152604080832085845290915290205460075467ffffffffffffffff9091169060ff1615611f2b57611eaf816001612ca1565b67ffffffffffffffff168267ffffffffffffffff1614611f2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4170703a20696e76616c6964206e6f6e63650000000000000000000000000060448201526064016106f4565b8067ffffffffffffffff168267ffffffffffffffff161115610d0a5763ffffffff841660009081526006602090815260408083208684529091529020805467ffffffffffffffff84167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911617905550505050565b6000611fb08260058186613157565b611fb99161322b565b9392505050565b63ffffffff81166000908152600860205260408120805491611c3a83612f84565b60008134101561201f576040517f9f7041200000000000000000000000000000000000000000000000000000000081523460048201526024016106f4565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015612090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b49190613267565b905073ffffffffffffffffffffffffffffffffffffffff8116612103576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61214573ffffffffffffffffffffffffffffffffffffffff8216337f0000000000000000000000000000000000000000000000000000000000000000856122d4565b5050565b6000612156826002612f54565b835110156121c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e647300000000000000000000000060448201526064016106f4565b50016002015190565b60606fffffffffffffffffffffffffffffffff82161561223257604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608086811b8216602084015285901b16603082015201604051602081830303815290604052611fb9565b6040517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085901b166020820152603001611aea565b6060836003612279826000612149565b61ffff161461228d57611d20816000612149565b84600161229a8551612369565b6122a5906001613284565b86866040516020016122bb95949392919061329f565b6040516020818303038152906040529150509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610d0a9085906123fd565b600061ffff82111561201f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f362062697473000000000000000000000000000000000000000000000000000060648201526084016106f4565b600061245f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661250c9092919063ffffffff16565b90508051600014806124805750808060200190518101906124809190613338565b610bff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106f4565b6060610c858484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516125409190613355565b60006040518083038185875af1925050503d806000811461257d576040519150601f19603f3d011682016040523d82523d6000602084013e612582565b606091505b5091509150611c0e878383876060831561262457825160000361261d5773ffffffffffffffffffffffffffffffffffffffff85163b61261d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106f4565b5081610c85565b610c8583838151156126395781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f49190612f41565b604051806060016040528060008019168152602001600067ffffffffffffffff1681526020016126b0604051806040016040528060008152602001600081525090565b905290565b6000606082840312156126c757600080fd5b50919050565b60008083601f8401126126df57600080fd5b50813567ffffffffffffffff8111156126f757600080fd5b60208301915083602082850101111561270f57600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff811681146114dd57600080fd5b600080600080600080600060e0888a03121561275357600080fd5b61275d89896126b5565b965060608801359550608088013567ffffffffffffffff8082111561278157600080fd5b61278d8b838c016126cd565b909750955060a08a013591506127a282612716565b90935060c089013590808211156127b857600080fd5b506127c58a828b016126cd565b989b979a50959850939692959293505050565b803563ffffffff811681146127ec57600080fd5b919050565b6000806040838503121561280457600080fd5b61280d836127d8565b946020939093013593505050565b60008083601f84011261282d57600080fd5b50813567ffffffffffffffff81111561284557600080fd5b6020830191508360208260051b850101111561270f57600080fd5b6000806000806000806060878903121561287957600080fd5b863567ffffffffffffffff8082111561289157600080fd5b61289d8a838b0161281b565b909850965060208901359150808211156128b657600080fd5b6128c28a838b0161281b565b909650945060408901359150808211156128db57600080fd5b506128e889828a0161281b565b979a9699509497509295939492505050565b60006020828403121561290c57600080fd5b611fb9826127d8565b80151581146114dd57600080fd5b60006020828403121561293557600080fd5b8135611fb981612915565b60006020828403121561295257600080fd5b8135611fb981612716565b67ffffffffffffffff811681146114dd57600080fd5b60008060006060848603121561298857600080fd5b612991846127d8565b92506020840135915060408401356129a88161295d565b809150509250925092565b60008060008060a085870312156129c957600080fd5b6129d386866126b5565b9350606085013567ffffffffffffffff8111156129ef57600080fd5b6129fb878288016126cd565b9094509250506080850135612a0f81612716565b939692955090935050565b803560ff811681146127ec57600080fd5b60008060008060608587031215612a4157600080fd5b612a4a856127d8565b9350612a5860208601612a1a565b9250604085013567ffffffffffffffff811115612a7457600080fd5b612a80878288016126cd565b95989497509550505050565b60008060208385031215612a9f57600080fd5b823567ffffffffffffffff811115612ab657600080fd5b612ac28582860161281b565b90969095509350505050565b600080600080600080600060a0888a031215612ae957600080fd5b8735612af481612716565b965060208801359550604088013567ffffffffffffffff80821115612b1857600080fd5b612b248b838c016126cd565b909750955060608a01359150612b3982612716565b909350608089013590808211156127b857600080fd5b60008060408385031215612b6257600080fd5b823561280d81612716565b600060608284031215612b7f57600080fd5b611fb983836126b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156109c3576109c3612b89565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612c0c57600080fd5b611fb982612a1a565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c4a57600080fd5b83018035915067ffffffffffffffff821115612c6557600080fd5b60200191503681900382131561270f57600080fd5b600067ffffffffffffffff808316818103612c9757612c97612b89565b6001019392505050565b67ffffffffffffffff818116838216019080821115612cc257612cc2612b89565b5092915050565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112612cfd57600080fd5b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff612d5e896127d8565b1681526020880135602082015260006040890135612d7b8161295d565b67ffffffffffffffff811660408401525087606083015260e06080830152612da760e083018789612d07565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152612dd6818587612d07565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015612e2e578181015183820152602001612e16565b50506000910152565b600060208284031215612e4957600080fd5b815167ffffffffffffffff80821115612e6157600080fd5b818401915084601f830112612e7557600080fd5b815181811115612e8757612e87612de4565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612ecd57612ecd612de4565b81604052828152876020848701011115612ee657600080fd5b611c0e836020830160208801612e13565b60008151808452612f0f816020860160208601612e13565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611fb96020830184612ef7565b808201808211156109c3576109c3612b89565b600060208284031215612f7957600080fd5b8135611fb98161295d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fb557612fb5612b89565b5060010190565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015261ffff84166040820152608060608201526000611c0e608083018486612d07565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261303260e0840182612ef7565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a085015261306d8282612ef7565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b6000604082840312156130b257600080fd5b6040516040810181811067ffffffffffffffff821117156130d5576130d5612de4565b604052825181526020928301519281019290925250919050565b60006080828403121561310157600080fd5b6040516060810181811067ffffffffffffffff8211171561312457613124612de4565b6040528251815260208301516131398161295d565b602082015261314b84604085016130a0565b60408201529392505050565b6000808585111561316757600080fd5b8386111561317457600080fd5b5050820193919092039150565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156131c15780818660010360031b1b83161692505b505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156131c15760049490940360031b84901b1690921692915050565b60006040828403121561322157600080fd5b611fb983836130a0565b803560208310156109c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60006020828403121561327957600080fd5b8151611fb981612716565b61ffff818116838216019080821115612cc257612cc2612b89565b600086516132b1818460208b01612e13565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008760f01b166001830152808660f81b166003830152508351613329816004840160208801612e13565b01600401979650505050505050565b60006020828403121561334a57600080fd5b8151611fb981612915565b60008251612cfd818460208701612e1356fea2646970667358221220008078b83845f573d4d9e4e54da2c690666bfe7ad7774deca105c1fa00bcfc9e64736f6c63430008160033",
890
923
  "linkReferences": {},
891
924
  "deployedLinkReferences": {}
892
925
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MsgCodec",
4
4
  "sourceName": "contracts/oapp/examples/OmniCounterAbstract.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202ea29c4d6ddeb7c7da1dbe7639efeb1c0f0834c2d9dd0cd791ac50bdd663e9f364736f6c63430008160033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202ea29c4d6ddeb7c7da1dbe7639efeb1c0f0834c2d9dd0cd791ac50bdd663e9f364736f6c63430008160033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209d12d27a2023490d9e69caf31b448dd4a3cc142c340abe04efbd884a27161d8e64736f6c63430008160033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209d12d27a2023490d9e69caf31b448dd4a3cc142c340abe04efbd884a27161d8e64736f6c63430008160033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -244,19 +244,6 @@
244
244
  "stateMutability": "payable",
245
245
  "type": "function"
246
246
  },
247
- {
248
- "inputs": [],
249
- "name": "composeMsgSender",
250
- "outputs": [
251
- {
252
- "internalType": "address",
253
- "name": "sender",
254
- "type": "address"
255
- }
256
- ],
257
- "stateMutability": "view",
258
- "type": "function"
259
- },
260
247
  {
261
248
  "inputs": [],
262
249
  "name": "composedCount",
@@ -351,6 +338,52 @@
351
338
  "stateMutability": "payable",
352
339
  "type": "function"
353
340
  },
341
+ {
342
+ "inputs": [
343
+ {
344
+ "components": [
345
+ {
346
+ "internalType": "uint32",
347
+ "name": "srcEid",
348
+ "type": "uint32"
349
+ },
350
+ {
351
+ "internalType": "bytes32",
352
+ "name": "sender",
353
+ "type": "bytes32"
354
+ },
355
+ {
356
+ "internalType": "uint64",
357
+ "name": "nonce",
358
+ "type": "uint64"
359
+ }
360
+ ],
361
+ "internalType": "struct Origin",
362
+ "name": "",
363
+ "type": "tuple"
364
+ },
365
+ {
366
+ "internalType": "bytes",
367
+ "name": "",
368
+ "type": "bytes"
369
+ },
370
+ {
371
+ "internalType": "address",
372
+ "name": "_sender",
373
+ "type": "address"
374
+ }
375
+ ],
376
+ "name": "isComposeMsgSender",
377
+ "outputs": [
378
+ {
379
+ "internalType": "bool",
380
+ "name": "",
381
+ "type": "bool"
382
+ }
383
+ ],
384
+ "stateMutability": "view",
385
+ "type": "function"
386
+ },
354
387
  {
355
388
  "inputs": [
356
389
  {