Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@b0dhidharma/yswaps

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@b0dhidharma/yswaps - npm Package Compare versions

Comparing version 0.0.1 to 0.0.2

typechained/AccessControl.ts

9

package.json
{
"name": "@b0dhidharma/yswaps",
"version": "0.0.1",
"version": "0.0.2",
"description": "Yearn strategy swappers",

@@ -14,5 +14,7 @@ "keywords": [

],
"homepage": "https://github.com/b0dhidharma/monorepo/packages/yswaps#readme",
"repository": {
"type": "git",
"url": "git+https://github.com/yearn/yswaps.git"
"url": "git+https://github.com/b0dhidharma/monorepo",
"directory": "packages/yswaps"
},

@@ -49,2 +51,3 @@ "files": [

"dependencies": {
"@b0dhidharma/contract-utils": "^0.1.1",
"@openzeppelin/contracts": "4.3.2",

@@ -68,3 +71,3 @@ "@uniswap/v2-periphery": "1.1.0-beta.0",

],
"gitHead": "0af6720d30e6c815c78fa43f6312c670db646b4c"
"gitHead": "2c080d4134aa4e52977abf0f909967cea3569ae3"
}

@@ -366,12 +366,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x60a060405234801561001057600080fd5b50604051610fd5380380610fd583398101604081905261002f91610115565b818180826001600160a01b0381166100a45760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b0392831617905581166100df5760405163d92e233d60e01b815260040160405180910390fd5b60601b6001600160601b0319166080525061014792505050565b80516001600160a01b038116811461011057600080fd5b919050565b60008060408385031215610127578182fd5b610130836100f9565b915061013e602084016100f9565b90509250929050565b60805160601c610e6961016c6000396000818161010b01526102550152610e696000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063a734f06e11610071578063a734f06e1461014e578063cd985af014610169578063e3056a341461017e578063e43581b814610191578063e58bb639146101c3578063f235757f146101cb57600080fd5b80630c340a24146100ae5780632db8c129146100de5780633e9cc88d146100f35780637556fae614610106578063a5d4096b1461012d575b600080fd5b6000546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f16100ec366004610c19565b6101de565b005b6100f1610101366004610c74565b600455565b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b61014061013b366004610b66565b610248565b6040519081526020016100d5565b6100c173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b610171600081565b6040516100d59190610d85565b6001546100c1906001600160a01b031681565b6101b361019f366004610b4c565b6000546001600160a01b0391821691161490565b60405190151581526020016100d5565b6100f1610428565b6100f16101d9366004610b4c565b61048c565b6000546001600160a01b031633146102385760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b6102438383836104ed565b505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102935760405163ea8e4eb560e01b815260040160405180910390fd5b6102a0888888888861068f565b6040516370a0823160e01b81526001600160a01b038981166004830152600091908816906370a082319060240160206040518083038186803b1580156102e557600080fd5b505afa1580156102f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031d9190610c8c565b905061032d89898989888861071f565b6040516370a0823160e01b81526001600160a01b038b8116600483015291935086918391908a16906370a082319060240160206040518083038186803b15801561037657600080fd5b505afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae9190610c8c565b6103b89190610de0565b10156103d7576040516309d2d38b60e31b815260040160405180910390fd5b7f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c98878989898989878a8a604051610414989796959493929190610d31565b60405180910390a150979650505050505050565b6001546001600160a01b031633146104825760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f72604482015260640161022f565b61048a61076e565b565b6000546001600160a01b031633146104e15760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b604482015260640161022f565b6104ea816107be565b50565b6001600160a01b03831661055b5760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b606482015260840161022f565b610566600283610886565b156105ca5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b606482015260840161022f565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561062b576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610625573d6000803e3d6000fd5b5061063f565b61063f6001600160a01b03831684836108ab565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b03851615806106ac57506001600160a01b038416155b806106be57506001600160a01b038316155b156106dc5760405163d92e233d60e01b815260040160405180910390fd5b816106fa57604051631f2a200560e01b815260040160405180910390fd5b8061071857604051631f2a200560e01b815260040160405180910390fd5b5050505050565b6004546040517f7a6e60fa34ac064c5b674886381f693b664629111c48d6e7a5cef7258f6e3ec49061075c90899089908990899089908990610ce9565b60405180910390a19695505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b0381166108325760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b606482015260840161022f565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526102439286929160009161093b9185169084906109b8565b80519091501561024357808060200190518101906109599190610c54565b6102435760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161022f565b60606109c784846000856109cf565b949350505050565b606082471015610a305760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161022f565b843b610a7e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161022f565b600080866001600160a01b03168587604051610a9a9190610ccd565b60006040518083038185875af1925050503d8060008114610ad7576040519150601f19603f3d011682016040523d82523d6000602084013e610adc565b606091505b5091509150610aec828286610af7565b979650505050505050565b60608315610b065750816108a4565b825115610b165782518084602001fd5b8160405162461bcd60e51b815260040161022f9190610dad565b80356001600160a01b0381168114610b4757600080fd5b919050565b600060208284031215610b5d578081fd5b6108a482610b30565b600080600080600080600060c0888a031215610b80578283fd5b610b8988610b30565b9650610b9760208901610b30565b9550610ba560408901610b30565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610bcf578384fd5b818a0191508a601f830112610be2578384fd5b813581811115610bf0578485fd5b8b6020828501011115610c01578485fd5b60208301945080935050505092959891949750929550565b600080600060608486031215610c2d578283fd5b610c3684610b30565b9250610c4460208501610b30565b9150604084013590509250925092565b600060208284031215610c65578081fd5b815180151581146108a4578182fd5b600060208284031215610c85578081fd5b5035919050565b600060208284031215610c9d578081fd5b5051919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60008251610cdf818460208701610e03565b9190910192915050565b6001600160a01b0387811682528681166020830152851660408201526060810184905260a060808201819052600090610d259083018486610ca4565b98975050505050505050565b600060018060a01b03808b168352808a1660208401528089166040840152508660608301528560808301528460a083015260e060c0830152610d7760e083018486610ca4565b9a9950505050505050505050565b6020810160028310610da757634e487b7160e01b600052602160045260246000fd5b91905290565b6020815260008251806020840152610dcc816040850160208701610e03565b601f01601f19169190910160400192915050565b600082821015610dfe57634e487b7160e01b81526011600452602481fd5b500390565b60005b83811015610e1e578181015183820152602001610e06565b83811115610e2d576000848401525b5050505056fea26469706673582212209cf198db014cfdbb1dbdb771bd657d141e27e1e8a5d5e621b17ece395f3bdc1b64736f6c63430008040033";
"0x60a060405234801561001057600080fd5b50604051610fdc380380610fdc83398101604081905261002f91610111565b818180826001600160a01b0381166100a45760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b0392831617905581166100df5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166080525061014492505050565b80516001600160a01b038116811461010c57600080fd5b919050565b6000806040838503121561012457600080fd5b61012d836100f5565b915061013b602084016100f5565b90509250929050565b608051610e766101666000396000818161010b01526102550152610e766000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063a734f06e11610071578063a734f06e1461014e578063cd985af014610169578063e3056a341461017e578063e43581b814610191578063e58bb639146101c3578063f235757f146101cb57600080fd5b80630c340a24146100ae5780632db8c129146100de5780633e9cc88d146100f35780637556fae614610106578063a5d4096b1461012d575b600080fd5b6000546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f16100ec366004610b4c565b6101de565b005b6100f1610101366004610b88565b600455565b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b61014061013b366004610ba1565b610248565b6040519081526020016100d5565b6100c173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b610171600081565b6040516100d59190610c59565b6001546100c1906001600160a01b031681565b6101b361019f366004610c81565b6000546001600160a01b0391821691161490565b60405190151581526020016100d5565b6100f1610428565b6100f16101d9366004610c81565b61048c565b6000546001600160a01b031633146102385760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b6102438383836104ed565b505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102935760405163ea8e4eb560e01b815260040160405180910390fd5b6102a0888888888861068f565b6040516370a0823160e01b81526001600160a01b038981166004830152600091908816906370a082319060240160206040518083038186803b1580156102e557600080fd5b505afa1580156102f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031d9190610c9c565b905061032d89898989888861071f565b6040516370a0823160e01b81526001600160a01b038b8116600483015291935086918391908a16906370a082319060240160206040518083038186803b15801561037657600080fd5b505afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae9190610c9c565b6103b89190610cb5565b10156103d7576040516309d2d38b60e31b815260040160405180910390fd5b7f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c98878989898989878a8a604051610414989796959493929190610d03565b60405180910390a150979650505050505050565b6001546001600160a01b031633146104825760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f72604482015260640161022f565b61048a61076e565b565b6000546001600160a01b031633146104e15760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b604482015260640161022f565b6104ea816107be565b50565b6001600160a01b03831661055b5760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b606482015260840161022f565b610566600283610886565b156105ca5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b606482015260840161022f565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561062b576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610625573d6000803e3d6000fd5b5061063f565b61063f6001600160a01b03831684836108ab565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b03851615806106ac57506001600160a01b038416155b806106be57506001600160a01b038316155b156106dc5760405163d92e233d60e01b815260040160405180910390fd5b816106fa57604051631f2a200560e01b815260040160405180910390fd5b8061071857604051631f2a200560e01b815260040160405180910390fd5b5050505050565b6004546040517f7a6e60fa34ac064c5b674886381f693b664629111c48d6e7a5cef7258f6e3ec49061075c90899089908990899089908990610d57565b60405180910390a19695505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b0381166108325760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b606482015260840161022f565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526102439286929160009161093b9185169084906109b8565b80519091501561024357808060200190518101906109599190610d9f565b6102435760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161022f565b60606109c784846000856109cf565b949350505050565b606082471015610a305760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161022f565b843b610a7e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161022f565b600080866001600160a01b03168587604051610a9a9190610df1565b60006040518083038185875af1925050503d8060008114610ad7576040519150601f19603f3d011682016040523d82523d6000602084013e610adc565b606091505b5091509150610aec828286610af7565b979650505050505050565b60608315610b065750816108a4565b825115610b165782518084602001fd5b8160405162461bcd60e51b815260040161022f9190610e0d565b80356001600160a01b0381168114610b4757600080fd5b919050565b600080600060608486031215610b6157600080fd5b610b6a84610b30565b9250610b7860208501610b30565b9150604084013590509250925092565b600060208284031215610b9a57600080fd5b5035919050565b600080600080600080600060c0888a031215610bbc57600080fd5b610bc588610b30565b9650610bd360208901610b30565b9550610be160408901610b30565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610c0c57600080fd5b818a0191508a601f830112610c2057600080fd5b813581811115610c2f57600080fd5b8b6020828501011115610c4157600080fd5b60208301945080935050505092959891949750929550565b6020810160028310610c7b57634e487b7160e01b600052602160045260246000fd5b91905290565b600060208284031215610c9357600080fd5b6108a482610b30565b600060208284031215610cae57600080fd5b5051919050565b600082821015610cd557634e487b7160e01b600052601160045260246000fd5b500390565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808b168352808a1660208401528089166040840152508660608301528560808301528460a083015260e060c0830152610d4960e083018486610cda565b9a9950505050505050505050565b6001600160a01b0387811682528681166020830152851660408201526060810184905260a060808201819052600090610d939083018486610cda565b98975050505050505050565b600060208284031215610db157600080fd5b815180151581146108a457600080fd5b60005b83811015610ddc578181015183820152602001610dc4565b83811115610deb576000848401525b50505050565b60008251610e03818460208701610dc1565b9190910192915050565b6020815260008251806020840152610e2c816040850160208701610dc1565b601f01601f1916919091016040019291505056fea2646970667358221220a4caf753d23d431bd7cfdbf98fa77dfce1986f1c535f2b9862d5ac0a33c8370e64736f6c63430008090033";
type AsyncSwapperMockConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: AsyncSwapperMockConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class AsyncSwapperMock__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: AsyncSwapperMockConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -378,0 +384,0 @@ }

@@ -144,12 +144,20 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x608060405234801561001057600080fd5b506107d1806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632db8c1291461005157806373f9257a146100665780637ceef4a0146100a1578063d050b7a3146100b4575b600080fd5b61006461005f36600461063b565b6100c7565b005b61008f610074366004610621565b6001600160a01b031660009081526020819052604090205490565b60405190815260200160405180910390f35b6100646100af366004610676565b6100d7565b6100646100c2366004610676565b6100e5565b6100d28383836100ef565b505050565b6100e1828261022d565b5050565b6100e18282610297565b6001600160a01b0383166101165760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216600081815260208190526040908190205490516370a0823160e01b81523060048201529091906370a082319060240160206040518083038186803b15801561016757600080fd5b505afa15801561017b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019f91906106bf565b6101a9919061073e565b8111156101c957604051637e2724c760e11b815260040160405180910390fd5b6101dd6001600160a01b0383168483610379565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b03821660009081526020819052604090205481111561026657604051635783b56b60e11b815260040160405180910390fd5b6001600160a01b0382166000908152602081905260408120805483929061028e90849061073e565b90915550505050565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a082319060240160206040518083038186803b1580156102d657600080fd5b505afa1580156102ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030e91906106bf565b6001600160a01b038316600090815260208190526040902054610332908390610726565b111561035157604051632332f9e760e01b815260040160405180910390fd5b6001600160a01b0382166000908152602081905260408120805483929061028e908490610726565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526100d29286929160009161040991851690849061048b565b8051909150156100d25780806020019051810190610427919061069f565b6100d25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084015b60405180910390fd5b606061049a84846000856104a4565b90505b9392505050565b6060824710156105055760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610482565b843b6105535760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610482565b600080866001600160a01b0316858760405161056f91906106d7565b60006040518083038185875af1925050503d80600081146105ac576040519150601f19603f3d011682016040523d82523d6000602084013e6105b1565b606091505b50915091506105c18282866105cc565b979650505050505050565b606083156105db57508161049d565b8251156105eb5782518084602001fd5b8160405162461bcd60e51b815260040161048291906106f3565b80356001600160a01b038116811461061c57600080fd5b919050565b600060208284031215610632578081fd5b61049d82610605565b60008060006060848603121561064f578182fd5b61065884610605565b925061066660208501610605565b9150604084013590509250925092565b60008060408385031215610688578182fd5b61069183610605565b946020939093013593505050565b6000602082840312156106b0578081fd5b8151801515811461049d578182fd5b6000602082840312156106d0578081fd5b5051919050565b600082516106e9818460208701610755565b9190910192915050565b6020815260008251806020840152610712816040850160208701610755565b601f01601f19169190910160400192915050565b6000821982111561073957610739610785565b500190565b60008282101561075057610750610785565b500390565b60005b83811015610770578181015183820152602001610758565b8381111561077f576000848401525b50505050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220494d63b9788fadd3a75e874631a84e685c2c99e66c10b67809a40e47659c268164736f6c63430008040033";
"0x608060405234801561001057600080fd5b506107d7806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632db8c1291461005157806373f9257a146100665780637ceef4a0146100a1578063d050b7a3146100b4575b600080fd5b61006461005f366004610621565b6100c7565b005b61008f61007436600461065d565b6001600160a01b031660009081526020819052604090205490565b60405190815260200160405180910390f35b6100646100af366004610678565b6100d7565b6100646100c2366004610678565b6100e5565b6100d28383836100ef565b505050565b6100e1828261022d565b5050565b6100e18282610297565b6001600160a01b0383166101165760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216600081815260208190526040908190205490516370a0823160e01b81523060048201529091906370a082319060240160206040518083038186803b15801561016757600080fd5b505afa15801561017b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019f91906106a2565b6101a991906106d1565b8111156101c957604051637e2724c760e11b815260040160405180910390fd5b6101dd6001600160a01b0383168483610379565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b03821660009081526020819052604090205481111561026657604051635783b56b60e11b815260040160405180910390fd5b6001600160a01b0382166000908152602081905260408120805483929061028e9084906106d1565b90915550505050565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a082319060240160206040518083038186803b1580156102d657600080fd5b505afa1580156102ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030e91906106a2565b6001600160a01b0383166000908152602081905260409020546103329083906106e8565b111561035157604051632332f9e760e01b815260040160405180910390fd5b6001600160a01b0382166000908152602081905260408120805483929061028e9084906106e8565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526100d29286929160009161040991851690849061048b565b8051909150156100d257808060200190518101906104279190610700565b6100d25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084015b60405180910390fd5b606061049a84846000856104a4565b90505b9392505050565b6060824710156105055760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610482565b843b6105535760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610482565b600080866001600160a01b0316858760405161056f9190610752565b60006040518083038185875af1925050503d80600081146105ac576040519150601f19603f3d011682016040523d82523d6000602084013e6105b1565b606091505b50915091506105c18282866105cc565b979650505050505050565b606083156105db57508161049d565b8251156105eb5782518084602001fd5b8160405162461bcd60e51b8152600401610482919061076e565b80356001600160a01b038116811461061c57600080fd5b919050565b60008060006060848603121561063657600080fd5b61063f84610605565b925061064d60208501610605565b9150604084013590509250925092565b60006020828403121561066f57600080fd5b61049d82610605565b6000806040838503121561068b57600080fd5b61069483610605565b946020939093013593505050565b6000602082840312156106b457600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156106e3576106e36106bb565b500390565b600082198211156106fb576106fb6106bb565b500190565b60006020828403121561071257600080fd5b8151801515811461049d57600080fd5b60005b8381101561073d578181015183820152602001610725565b8381111561074c576000848401525b50505050565b60008251610764818460208701610722565b9190910192915050565b602081526000825180602084015261078d816040850160208701610722565b601f01601f1916919091016040019291505056fea2646970667358221220e5ae682c40aba82afe23e4ee60d71bc9e8ae0d60ae8e4e9687293c09d08d74d664736f6c63430008090033";
type CollectableDustWithTokensManagementMockConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: CollectableDustWithTokensManagementMockConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class CollectableDustWithTokensManagementMock__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
...args: CollectableDustWithTokensManagementMockConstructorParams
) {
if (args.length === 1) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -156,0 +164,0 @@ }

@@ -40,10 +40,16 @@ /* Autogenerated file. Do not edit manually. */

type CommonErrorsConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: CommonErrorsConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class CommonErrors__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: CommonErrorsConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -50,0 +56,0 @@ }

@@ -301,10 +301,16 @@ /* Autogenerated file. Do not edit manually. */

type ERC20ConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: ERC20ConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class ERC20__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: ERC20ConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -311,0 +317,0 @@ }

@@ -405,10 +405,16 @@ /* Autogenerated file. Do not edit manually. */

type ERC20MockConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: ERC20MockConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class ERC20Mock__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: ERC20MockConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -415,0 +421,0 @@ }

@@ -108,12 +108,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x608060405234801561001057600080fd5b5060405161043b38038061043b83398101604081905261002f916100c5565b6001600160a01b0381166100a05760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100f3565b6000602082840312156100d6578081fd5b81516001600160a01b03811681146100ec578182fd5b9392505050565b610339806101026000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630c340a241461005c578063e3056a341461008c578063e43581b81461009f578063e58bb639146100d1578063f235757f146100db575b600080fd5b60005461006f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b60015461006f906001600160a01b031681565b6100c16100ad3660046102d5565b6000546001600160a01b0391821691161490565b6040519015158152602001610083565b6100d96100ee565b005b6100d96100e93660046102d5565b610157565b6001546001600160a01b0316331461014d5760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f7260448201526064015b60405180910390fd5b6101556101bd565b565b6000546001600160a01b031633146101b15760405162461bcd60e51b815260206004820152601860248201527f676f7665726e61626c652f6f6e6c792d676f7665726e6f7200000000000000006044820152606401610144565b6101ba8161020d565b50565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b0381166102815760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610144565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6000602082840312156102e6578081fd5b81356001600160a01b03811681146102fc578182fd5b939250505056fea2646970667358221220e89fae98ce6350b0f0237db519b8a2b1dac25c240c6505675bdeb4711cc2766464736f6c63430008040033";
"0x608060405234801561001057600080fd5b5060405161043f38038061043f83398101604081905261002f916100c5565b6001600160a01b0381166100a05760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100f5565b6000602082840312156100d757600080fd5b81516001600160a01b03811681146100ee57600080fd5b9392505050565b61033b806101046000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630c340a241461005c578063e3056a341461008c578063e43581b81461009f578063e58bb639146100d1578063f235757f146100db575b600080fd5b60005461006f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b60015461006f906001600160a01b031681565b6100c16100ad3660046102d5565b6000546001600160a01b0391821691161490565b6040519015158152602001610083565b6100d96100ee565b005b6100d96100e93660046102d5565b610157565b6001546001600160a01b0316331461014d5760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f7260448201526064015b60405180910390fd5b6101556101bd565b565b6000546001600160a01b031633146101b15760405162461bcd60e51b815260206004820152601860248201527f676f7665726e61626c652f6f6e6c792d676f7665726e6f7200000000000000006044820152606401610144565b6101ba8161020d565b50565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b0381166102815760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610144565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6000602082840312156102e757600080fd5b81356001600160a01b03811681146102fe57600080fd5b939250505056fea2646970667358221220f7c3b05148fa681ff1aadd171d0f1b2a4ca8770f758a5f0b1fe4606dc699e6fa64736f6c63430008090033";
type GovernableConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: GovernableConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class Governable__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: GovernableConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -120,0 +126,0 @@ }

@@ -69,12 +69,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x608060405234801561001057600080fd5b5060405161024c38038061024c83398101604081905261002f91610050565b600080546001600160a01b0319166001600160a01b0383161790555061007e565b600060208284031215610061578081fd5b81516001600160a01b0381168114610077578182fd5b9392505050565b6101bf8061008d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631078f3881461004657806365834acc14610066578063ef47da6d14610089575b600080fd5b6000546040516001600160a01b0390911681526020015b60405180910390f35b61007961007436600461013b565b6100b7565b604051901515815260200161005d565b6100b561009736600461013b565b600080546001600160a01b0319166001600160a01b03831617905550565b005b60008054604051631960d2b360e21b81526001600160a01b038481166004830152909116906365834acc9060240160206040518083038186803b1580156100fd57600080fd5b505afa158015610111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101359190610169565b92915050565b60006020828403121561014c578081fd5b81356001600160a01b0381168114610162578182fd5b9392505050565b60006020828403121561017a578081fd5b81518015158114610162578182fdfea26469706673582212205c074b667be2f7e0586e1fbd1db47c5ca3c61a828fe717758482a0fd32ecc42964736f6c63430008040033";
"0x608060405234801561001057600080fd5b5060405161025238038061025283398101604081905261002f91610050565b600080546001600160a01b0319166001600160a01b03831617905550610080565b60006020828403121561006257600080fd5b81516001600160a01b038116811461007957600080fd5b9392505050565b6101c38061008f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631078f3881461004657806365834acc14610066578063ef47da6d14610089575b600080fd5b6000546040516001600160a01b0390911681526020015b60405180910390f35b61007961007436600461013b565b6100b7565b604051901515815260200161005d565b6100b561009736600461013b565b600080546001600160a01b0319166001600160a01b03831617905550565b005b60008054604051631960d2b360e21b81526001600160a01b038481166004830152909116906365834acc9060240160206040518083038186803b1580156100fd57600080fd5b505afa158015610111573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610135919061016b565b92915050565b60006020828403121561014d57600080fd5b81356001600160a01b038116811461016457600080fd5b9392505050565b60006020828403121561017d57600080fd5b8151801515811461016457600080fdfea2646970667358221220943098f54deb7f2fc42d362225dee2fc2c787c49946c84b911516c320cd9b2cf64736f6c63430008090033";
type MachineryConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: MachineryConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class Machinery__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: MachineryConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -81,0 +87,0 @@ }

@@ -339,12 +339,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x60c06040523480156200001157600080fd5b50604051620015203803806200152083398101604081905262000034916200012a565b828280826001600160a01b038116620000aa5760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b039283161790558116620000e65760405163d92e233d60e01b815260040160405180910390fd5b6001600160601b0319606091821b811660805293901b90921660a052506200017392505050565b80516001600160a01b03811681146200012557600080fd5b919050565b6000806000606084860312156200013f578283fd5b6200014a846200010d565b92506200015a602085016200010d565b91506200016a604085016200010d565b90509250925092565b60805160601c60a05160601c611366620001ba6000396000818160e301528181610808015281816108ab015261094d01526000818161011f015261026901526113666000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063a734f06e11610071578063a734f06e14610162578063cd985af01461017d578063e3056a3414610192578063e43581b8146101a5578063e58bb639146101d7578063f235757f146101df57600080fd5b80630c340a24146100ae57806316fa7bbf146100de5780632db8c129146101055780637556fae61461011a578063a5d4096b14610141575b600080fd5b6000546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b610118610113366004610f14565b6101f2565b005b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b61015461014f366004610e5b565b61025c565b6040519081526020016100d5565b6100c173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b610185600081565b6040516100d59190611225565b6001546100c1906001600160a01b031681565b6101c76101b3366004610e3f565b6000546001600160a01b0391821691161490565b60405190151581526020016100d5565b61011861043c565b6101186101ed366004610e3f565b6104a0565b6000546001600160a01b0316331461024c5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b610257838383610501565b505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102a75760405163ea8e4eb560e01b815260040160405180910390fd5b6102b488888888886106a3565b6040516370a0823160e01b81526001600160a01b038981166004830152600091908816906370a082319060240160206040518083038186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611076565b9050610341898989898888610733565b6040516370a0823160e01b81526001600160a01b038b8116600483015291935086918391908a16906370a082319060240160206040518083038186803b15801561038a57600080fd5b505afa15801561039e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c29190611076565b6103cc91906112b2565b10156103eb576040516309d2d38b60e31b815260040160405180910390fd5b7f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c98878989898989878a8a6040516104289897969594939291906110f9565b60405180910390a150979650505050505050565b6001546001600160a01b031633146104965760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f726044820152606401610243565b61049e6109e6565b565b6000546001600160a01b031633146104f55760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b6044820152606401610243565b6104fe81610a36565b50565b6001600160a01b03831661056f5760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b6064820152608401610243565b61057a600283610afe565b156105de5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b6064820152608401610243565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561063f576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610639573d6000803e3d6000fd5b50610653565b6106536001600160a01b0383168483610b23565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b03851615806106c057506001600160a01b038416155b806106d257506001600160a01b038316155b156106f05760405163d92e233d60e01b815260040160405180910390fd5b8161070e57604051631f2a200560e01b815260040160405180910390fd5b8061072c57604051631f2a200560e01b815260040160405180910390fd5b5050505050565b6000808080610745856004818961128a565b8101906107529190610f74565b925092509250896001600160a01b031682606001516001600160a01b03161415806107935750886001600160a01b031682600001516001600160a01b031614155b806107b45750876001600160a01b031682602001516001600160a01b031614155b806107c3575086826080015114155b806107d3575060048260c0015114155b156107f15760405163e625f81360e01b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600060248301528a169063095ea7b390604401602060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108939190610f54565b5060405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018990528a169063095ea7b390604401602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109369190610f54565b50604051623e012960e91b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637c0252009061098690869086908690600401611162565b6040805180830381600087803b15801561099f57600080fd5b505af11580156109b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d7919061108e565b509a9950505050505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b038116610aaa5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610243565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261025792869291600091610bb3918516908490610c30565b8051909150156102575780806020019051810190610bd19190610f54565b6102575760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610243565b6060610c3f8484600085610c47565b949350505050565b606082471015610ca85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610243565b843b610cf65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610243565b600080866001600160a01b03168587604051610d1291906110dd565b60006040518083038185875af1925050503d8060008114610d4f576040519150601f19603f3d011682016040523d82523d6000602084013e610d54565b606091505b5091509150610d64828286610d6f565b979650505050505050565b60608315610d7e575081610b1c565b825115610d8e5782518084602001fd5b8160405162461bcd60e51b8152600401610243919061124d565b8035610db38161131b565b919050565b600082601f830112610dc8578081fd5b813567ffffffffffffffff80821115610de357610de3611305565b604051601f8301601f19908116603f01168101908282118183101715610e0b57610e0b611305565b81604052838152866020858801011115610e23578485fd5b8360208701602083013792830160200193909352509392505050565b600060208284031215610e50578081fd5b8135610b1c8161131b565b600080600080600080600060c0888a031215610e75578283fd5b8735610e808161131b565b96506020880135610e908161131b565b95506040880135610ea08161131b565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610eca578384fd5b818a0191508a601f830112610edd578384fd5b813581811115610eeb578485fd5b8b6020828501011115610efc578485fd5b60208301945080935050505092959891949750929550565b600080600060608486031215610f28578283fd5b8335610f338161131b565b92506020840135610f438161131b565b929592945050506040919091013590565b600060208284031215610f65578081fd5b81518015158114610b1c578182fd5b600080600060608486031215610f88578283fd5b8335610f938161131b565b9250602084013567ffffffffffffffff80821115610faf578384fd5b908501906101008288031215610fc3578384fd5b610fcb611260565b610fd483610da8565b8152610fe260208401610da8565b6020820152610ff360408401610da8565b604082015261100460608401610da8565b60608201526080830135608082015260a083013560a082015260c083013560c082015260e083013582811115611038578586fd5b61104489828601610db8565b60e0830152509350604086013591508082111561105f578283fd5b5061106c86828701610db8565b9150509250925092565b600060208284031215611087578081fd5b5051919050565b600080604083850312156110a0578182fd5b505080516020909101519092909150565b600081518084526110c98160208601602086016112d5565b601f01601f19169290920160200192915050565b600082516110ef8184602087016112d5565b9190910192915050565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905260e060c0820181905281018290526000610100838582850137828401810191909152601f909201601f19160101979650505050505050565b6001600160a01b0384811682526060602080840182905285519092169083015283015160009061119d60808401826001600160a01b03169052565b5060408401516001600160a01b03811660a08401525060608401516001600160a01b03811660c084015250608084015160e083015260a0840151610100818185015260c086015161012085015260e0860151915080610140850152506112076101608401826110b1565b9050828103604084015261121b81856110b1565b9695505050505050565b602081016002831061124757634e487b7160e01b600052602160045260246000fd5b91905290565b602081526000610b1c60208301846110b1565b604051610100810167ffffffffffffffff8111828210171561128457611284611305565b60405290565b60008085851115611299578182fd5b838611156112a5578182fd5b5050820193919092039150565b6000828210156112d057634e487b7160e01b81526011600452602481fd5b500390565b60005b838110156112f05781810151838201526020016112d8565b838111156112ff576000848401525b50505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104fe57600080fdfea2646970667358221220e345fea64094571c2e0b2f65082cd5554b12f2287168aec613de277ae2e33a0b64736f6c63430008040033";
"0x60c06040523480156200001157600080fd5b506040516200153238038062001532833981016040819052620000349162000123565b828280826001600160a01b038116620000aa5760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b039283161790558116620000e65760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080529290921660a052506200016d92505050565b80516001600160a01b03811681146200011e57600080fd5b919050565b6000806000606084860312156200013957600080fd5b620001448462000106565b9250620001546020850162000106565b9150620001646040850162000106565b90509250925092565b60805160a051611384620001ae6000396000818160e301528181610808015281816108ab015261094d01526000818161011f015261026901526113846000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063a734f06e11610071578063a734f06e14610162578063cd985af01461017d578063e3056a3414610192578063e43581b8146101a5578063e58bb639146101d7578063f235757f146101df57600080fd5b80630c340a24146100ae57806316fa7bbf146100de5780632db8c129146101055780637556fae61461011a578063a5d4096b14610141575b600080fd5b6000546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b610118610113366004610dcd565b6101f2565b005b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b61015461014f366004610e0e565b61025c565b6040519081526020016100d5565b6100c173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b610185600081565b6040516100d59190610ecc565b6001546100c1906001600160a01b031681565b6101c76101b3366004610ef4565b6000546001600160a01b0391821691161490565b60405190151581526020016100d5565b61011861043c565b6101186101ed366004610ef4565b6104a0565b6000546001600160a01b0316331461024c5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b610257838383610501565b505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102a75760405163ea8e4eb560e01b815260040160405180910390fd5b6102b488888888886106a3565b6040516370a0823160e01b81526001600160a01b038981166004830152600091908816906370a082319060240160206040518083038186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190610f11565b9050610341898989898888610733565b6040516370a0823160e01b81526001600160a01b038b8116600483015291935086918391908a16906370a082319060240160206040518083038186803b15801561038a57600080fd5b505afa15801561039e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c29190610f11565b6103cc9190610f2a565b10156103eb576040516309d2d38b60e31b815260040160405180910390fd5b7f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c98878989898989878a8a604051610428989796959493929190610f4f565b60405180910390a150979650505050505050565b6001546001600160a01b031633146104965760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f726044820152606401610243565b61049e6109e6565b565b6000546001600160a01b031633146104f55760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b6044820152606401610243565b6104fe81610a36565b50565b6001600160a01b03831661056f5760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b6064820152608401610243565b61057a600283610afe565b156105de5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b6064820152608401610243565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561063f576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610639573d6000803e3d6000fd5b50610653565b6106536001600160a01b0383168483610b23565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b03851615806106c057506001600160a01b038416155b806106d257506001600160a01b038316155b156106f05760405163d92e233d60e01b815260040160405180910390fd5b8161070e57604051631f2a200560e01b815260040160405180910390fd5b8061072c57604051631f2a200560e01b815260040160405180910390fd5b5050505050565b60008080806107458560048189610fbc565b81019061075291906110b3565b925092509250896001600160a01b031682606001516001600160a01b03161415806107935750886001600160a01b031682600001516001600160a01b031614155b806107b45750876001600160a01b031682602001516001600160a01b031614155b806107c3575086826080015114155b806107d3575060048260c0015114155b156107f15760405163e625f81360e01b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600060248301528a169063095ea7b390604401602060405180830381600087803b15801561085b57600080fd5b505af115801561086f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089391906111ba565b5060405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018990528a169063095ea7b390604401602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093691906111ba565b50604051623e012960e91b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637c0252009061098690869086908690600401611238565b6040805180830381600087803b15801561099f57600080fd5b505af11580156109b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d791906112fb565b509a9950505050505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b038116610aaa5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610243565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261025792869291600091610bb3918516908490610c30565b8051909150156102575780806020019051810190610bd191906111ba565b6102575760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610243565b6060610c3f8484600085610c47565b949350505050565b606082471015610ca85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610243565b843b610cf65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610243565b600080866001600160a01b03168587604051610d12919061131f565b60006040518083038185875af1925050503d8060008114610d4f576040519150601f19603f3d011682016040523d82523d6000602084013e610d54565b606091505b5091509150610d64828286610d6f565b979650505050505050565b60608315610d7e575081610b1c565b825115610d8e5782518084602001fd5b8160405162461bcd60e51b8152600401610243919061133b565b6001600160a01b03811681146104fe57600080fd5b8035610dc881610da8565b919050565b600080600060608486031215610de257600080fd5b8335610ded81610da8565b92506020840135610dfd81610da8565b929592945050506040919091013590565b600080600080600080600060c0888a031215610e2957600080fd5b8735610e3481610da8565b96506020880135610e4481610da8565b95506040880135610e5481610da8565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610e7f57600080fd5b818a0191508a601f830112610e9357600080fd5b813581811115610ea257600080fd5b8b6020828501011115610eb457600080fd5b60208301945080935050505092959891949750929550565b6020810160028310610eee57634e487b7160e01b600052602160045260246000fd5b91905290565b600060208284031215610f0657600080fd5b8135610b1c81610da8565b600060208284031215610f2357600080fd5b5051919050565b600082821015610f4a57634e487b7160e01b600052601160045260246000fd5b500390565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905260e060c08201819052810182905260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60008085851115610fcc57600080fd5b83861115610fd957600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b604051610100810167ffffffffffffffff8111828210171561102057611020610fe6565b60405290565b600082601f83011261103757600080fd5b813567ffffffffffffffff8082111561105257611052610fe6565b604051601f8301601f19908116603f0116810190828211818310171561107a5761107a610fe6565b8160405283815286602085880101111561109357600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156110c857600080fd5b83356110d381610da8565b9250602084013567ffffffffffffffff808211156110f057600080fd5b90850190610100828803121561110557600080fd5b61110d610ffc565b61111683610dbd565b815261112460208401610dbd565b602082015261113560408401610dbd565b604082015261114660608401610dbd565b60608201526080830135608082015260a083013560a082015260c083013560c082015260e08301358281111561117b57600080fd5b61118789828601611026565b60e083015250935060408601359150808211156111a357600080fd5b506111b086828701611026565b9150509250925092565b6000602082840312156111cc57600080fd5b81518015158114610b1c57600080fd5b60005b838110156111f75781810151838201526020016111df565b83811115611206576000848401525b50505050565b600081518084526112248160208601602086016111dc565b601f01601f19169290920160200192915050565b6001600160a01b0384811682526060602080840182905285519092169083015283015160009061127360808401826001600160a01b03169052565b5060408401516001600160a01b03811660a08401525060608401516001600160a01b03811660c084015250608084015160e083015260a0840151610100818185015260c086015161012085015260e0860151915080610140850152506112dd61016084018261120c565b905082810360408401526112f1818561120c565b9695505050505050565b6000806040838503121561130e57600080fd5b505080516020909101519092909150565b600082516113318184602087016111dc565b9190910192915050565b602081526000610b1c602083018461120c56fea26469706673582212208df1bcb13cd9d5085ae159efce95b22e1fd07a54048876cdb9a160515b8339f364736f6c63430008090033";
type OneInchAggregatorSwapperConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: OneInchAggregatorSwapperConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class OneInchAggregatorSwapper__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: OneInchAggregatorSwapperConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -351,0 +357,0 @@ }

@@ -332,12 +332,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x608060405234801561001057600080fd5b50604051610f1b380380610f1b83398101604081905261002f9161011e565b816001600160a01b0381166100a15760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600280546001600160a01b0319166001600160a01b0392831617905581166100dc5760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b039290921691909117905550610150565b80516001600160a01b038116811461011957600080fd5b919050565b60008060408385031215610130578182fd5b61013983610102565b915061014760208401610102565b90509250929050565b610dbc8061015f6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a734f06e11610071578063a734f06e14610165578063e3056a3414610180578063e43581b814610193578063e58bb639146101c5578063e5e19b4a146101cd578063f235757f146101e057600080fd5b80630c340a24146100b95780630ecaea73146100e95780632db8c129146100fe578063413bf38f14610111578063652109421461013f5780638033d68714610152575b600080fd5b6002546100cc906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100fc6100f7366004610bf3565b6101f3565b005b6100fc61010c366004610bb8565b61038c565b61013161011f366004610b9e565b60056020526000908152604090205481565b6040519081526020016100e0565b6100fc61014d366004610b9e565b6103c6565b6100fc610160366004610c1c565b610461565b6100cc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6003546100cc906001600160a01b031681565b6101b56101a1366004610b9e565b6002546001600160a01b0391821691161490565b60405190151581526020016100e0565b6100fc61051e565b6004546100cc906001600160a01b031681565b6100fc6101ee366004610b9e565b610582565b6002546001600160a01b031633146102265760405162461bcd60e51b815260040161021d90610cde565b60405180910390fd5b6001600160a01b03821661024d5760405163d92e233d60e01b815260040160405180910390fd5b8061026b57604051631f2a200560e01b815260040160405180910390fd5b6001600160a01b0382811660008181526005602052604090819020546002549151636eb1769f60e11b815291909316600482015230602482015263dd62ed3e9060440160206040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fe9190610c77565b101561031d5760405163ea8e4eb560e01b815260040160405180910390fd5b6001600160a01b03821660009081526005602052604081208054839290610345908490610d15565b90915550506040518181526001600160a01b038316907f88a4cca46d5b87fc1be704d845d846dbf1fc259afd7e181248ae825c0e7704799060200160405180910390a25050565b6002546001600160a01b031633146103b65760405162461bcd60e51b815260040161021d90610cde565b6103c18383836105b8565b505050565b6002546001600160a01b031633146103f05760405162461bcd60e51b815260040161021d90610cde565b6001600160a01b0381166104175760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fbda986fea33634f76bd215bacd0d368610edf55143c3ca42bd0f55040ad870b590600090a250565b6004546001600160a01b0316331461048c5760405163ea8e4eb560e01b815260040160405180910390fd5b6002546104a7906001600160a01b038581169116838561075a565b6001600160a01b038316600090815260056020526040812080548492906104cf908490610d2d565b9091555050604080518381526001600160a01b0383811660208301528516917f44a003af1b90a0dc62c2c94ed618bbfb9428780cae81913d37acf98a3e50c8f1910160405180910390a2505050565b6003546001600160a01b031633146105785760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f72604482015260640161021d565b6105806107cb565b565b6002546001600160a01b031633146105ac5760405162461bcd60e51b815260040161021d90610cde565b6105b58161081b565b50565b6001600160a01b0383166106265760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b606482015260840161021d565b6106316000836108e3565b156106955760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b606482015260840161021d565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156106f6576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156106f0573d6000803e3d6000fd5b5061070a565b61070a6001600160a01b0383168483610908565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6040516001600160a01b03808516602483015283166044820152606481018290526107c59085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610938565b50505050565b60038054600280546001600160a01b03199081166001600160a01b038416179091551690556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea90600090a1565b6001600160a01b03811661088f5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b606482015260840161021d565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b6040516001600160a01b0383166024820152604481018290526103c190849063a9059cbb60e01b9060640161078e565b600061098d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a0a9092919063ffffffff16565b8051909150156103c157808060200190518101906109ab9190610c57565b6103c15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161021d565b6060610a198484600085610a21565b949350505050565b606082471015610a825760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161021d565b843b610ad05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161021d565b600080866001600160a01b03168587604051610aec9190610c8f565b60006040518083038185875af1925050503d8060008114610b29576040519150601f19603f3d011682016040523d82523d6000602084013e610b2e565b606091505b5091509150610b3e828286610b49565b979650505050505050565b60608315610b58575081610901565b825115610b685782518084602001fd5b8160405162461bcd60e51b815260040161021d9190610cab565b80356001600160a01b0381168114610b9957600080fd5b919050565b600060208284031215610baf578081fd5b61090182610b82565b600080600060608486031215610bcc578182fd5b610bd584610b82565b9250610be360208501610b82565b9150604084013590509250925092565b60008060408385031215610c05578182fd5b610c0e83610b82565b946020939093013593505050565b600080600060608486031215610c30578283fd5b610c3984610b82565b925060208401359150610c4e60408501610b82565b90509250925092565b600060208284031215610c68578081fd5b81518015158114610901578182fd5b600060208284031215610c88578081fd5b5051919050565b60008251610ca1818460208701610d44565b9190910192915050565b6020815260008251806020840152610cca816040850160208701610d44565b601f01601f19169190910160400192915050565b60208082526018908201527f676f7665726e61626c652f6f6e6c792d676f7665726e6f720000000000000000604082015260600190565b60008219821115610d2857610d28610d70565b500190565b600082821015610d3f57610d3f610d70565b500390565b60005b83811015610d5f578181015183820152602001610d47565b838111156107c55750506000910152565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220e4a88d043812311a55df6fb62087dfd61e80d3e740e1659f86a765df95be58a564736f6c63430008040033";
"0x608060405234801561001057600080fd5b50604051610f23380380610f2383398101604081905261002f9161011e565b816001600160a01b0381166100a15760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600280546001600160a01b0319166001600160a01b0392831617905581166100dc5760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b039290921691909117905550610151565b80516001600160a01b038116811461011957600080fd5b919050565b6000806040838503121561013157600080fd5b61013a83610102565b915061014860208401610102565b90509250929050565b610dc3806101606000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a734f06e11610071578063a734f06e14610165578063e3056a3414610180578063e43581b814610193578063e58bb639146101c5578063e5e19b4a146101cd578063f235757f146101e057600080fd5b80630c340a24146100b95780630ecaea73146100e95780632db8c129146100fe578063413bf38f14610111578063652109421461013f5780638033d68714610152575b600080fd5b6002546100cc906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100fc6100f7366004610b9e565b6101f3565b005b6100fc61010c366004610bc8565b61038c565b61013161011f366004610c04565b60056020526000908152604090205481565b6040519081526020016100e0565b6100fc61014d366004610c04565b6103c6565b6100fc610160366004610c1f565b610461565b6100cc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6003546100cc906001600160a01b031681565b6101b56101a1366004610c04565b6002546001600160a01b0391821691161490565b60405190151581526020016100e0565b6100fc61051e565b6004546100cc906001600160a01b031681565b6100fc6101ee366004610c04565b610582565b6002546001600160a01b031633146102265760405162461bcd60e51b815260040161021d90610c5b565b60405180910390fd5b6001600160a01b03821661024d5760405163d92e233d60e01b815260040160405180910390fd5b8061026b57604051631f2a200560e01b815260040160405180910390fd5b6001600160a01b0382811660008181526005602052604090819020546002549151636eb1769f60e11b815291909316600482015230602482015263dd62ed3e9060440160206040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fe9190610c92565b101561031d5760405163ea8e4eb560e01b815260040160405180910390fd5b6001600160a01b03821660009081526005602052604081208054839290610345908490610cc1565b90915550506040518181526001600160a01b038316907f88a4cca46d5b87fc1be704d845d846dbf1fc259afd7e181248ae825c0e7704799060200160405180910390a25050565b6002546001600160a01b031633146103b65760405162461bcd60e51b815260040161021d90610c5b565b6103c18383836105b8565b505050565b6002546001600160a01b031633146103f05760405162461bcd60e51b815260040161021d90610c5b565b6001600160a01b0381166104175760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517fbda986fea33634f76bd215bacd0d368610edf55143c3ca42bd0f55040ad870b590600090a250565b6004546001600160a01b0316331461048c5760405163ea8e4eb560e01b815260040160405180910390fd5b6002546104a7906001600160a01b038581169116838561075a565b6001600160a01b038316600090815260056020526040812080548492906104cf908490610cd9565b9091555050604080518381526001600160a01b0383811660208301528516917f44a003af1b90a0dc62c2c94ed618bbfb9428780cae81913d37acf98a3e50c8f1910160405180910390a2505050565b6003546001600160a01b031633146105785760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f72604482015260640161021d565b6105806107cb565b565b6002546001600160a01b031633146105ac5760405162461bcd60e51b815260040161021d90610c5b565b6105b58161081b565b50565b6001600160a01b0383166106265760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b606482015260840161021d565b6106316000836108e3565b156106955760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b606482015260840161021d565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156106f6576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156106f0573d6000803e3d6000fd5b5061070a565b61070a6001600160a01b0383168483610908565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6040516001600160a01b03808516602483015283166044820152606481018290526107c59085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610938565b50505050565b60038054600280546001600160a01b03199081166001600160a01b038416179091551690556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea90600090a1565b6001600160a01b03811661088f5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b606482015260840161021d565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b6040516001600160a01b0383166024820152604481018290526103c190849063a9059cbb60e01b9060640161078e565b600061098d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a0a9092919063ffffffff16565b8051909150156103c157808060200190518101906109ab9190610cf0565b6103c15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161021d565b6060610a198484600085610a21565b949350505050565b606082471015610a825760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161021d565b843b610ad05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161021d565b600080866001600160a01b03168587604051610aec9190610d3e565b60006040518083038185875af1925050503d8060008114610b29576040519150601f19603f3d011682016040523d82523d6000602084013e610b2e565b606091505b5091509150610b3e828286610b49565b979650505050505050565b60608315610b58575081610901565b825115610b685782518084602001fd5b8160405162461bcd60e51b815260040161021d9190610d5a565b80356001600160a01b0381168114610b9957600080fd5b919050565b60008060408385031215610bb157600080fd5b610bba83610b82565b946020939093013593505050565b600080600060608486031215610bdd57600080fd5b610be684610b82565b9250610bf460208501610b82565b9150604084013590509250925092565b600060208284031215610c1657600080fd5b61090182610b82565b600080600060608486031215610c3457600080fd5b610c3d84610b82565b925060208401359150610c5260408501610b82565b90509250925092565b60208082526018908201527f676f7665726e61626c652f6f6e6c792d676f7665726e6f720000000000000000604082015260600190565b600060208284031215610ca457600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610cd457610cd4610cab565b500190565b600082821015610ceb57610ceb610cab565b500390565b600060208284031215610d0257600080fd5b8151801515811461090157600080fd5b60005b83811015610d2d578181015183820152602001610d15565b838111156107c55750506000910152565b60008251610d50818460208701610d12565b9190910192915050565b6020815260008251806020840152610d79816040850160208701610d12565b601f01601f1916919091016040019291505056fea26469706673582212207139a47b0888debd2ba805196348d8c887a84100516256911dd891c5cd9470e164736f6c63430008090033";
type OTCPoolConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: OTCPoolConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class OTCPool__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: OTCPoolConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -344,0 +350,0 @@ }

@@ -217,12 +217,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x60a060405234801561001057600080fd5b50604051610b52380380610b5283398101604081905261002f91610111565b80826001600160a01b0381166100a25760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b0392831617905581166100dd5760405163d92e233d60e01b815260040160405180910390fd5b60601b6001600160601b031916608052506101439050565b80516001600160a01b038116811461010c57600080fd5b919050565b60008060408385031215610123578182fd5b61012c836100f5565b915061013a602084016100f5565b90509250929050565b60805160601c6109eb6101676000396000818160f5015261021601526109eb6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063cd985af011610066578063cd985af014610132578063e3056a3414610141578063e43581b814610154578063e58bb63914610186578063f235757f1461018e57600080fd5b80630c340a24146100a35780632db8c129146100d35780635094867a146100e85780637556fae6146100f0578063a734f06e14610117575b600080fd5b6000546100b6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e66100e13660046108b3565b6101a1565b005b6100e661020b565b6100b67f000000000000000000000000000000000000000000000000000000000000000081565b6100b673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b60006040516100ca919061092a565b6001546100b6906001600160a01b031681565b610176610162366004610899565b6000546001600160a01b0391821691161490565b60405190151581526020016100ca565b6100e6610256565b6100e661019c366004610899565b6102b8565b6000546001600160a01b031633146101fb5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b610206838383610319565b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102545760405163ea8e4eb560e01b815260040160405180910390fd5b565b6001546001600160a01b031633146102b05760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f7260448201526064016101f2565b6102546104bb565b6000546001600160a01b0316331461030d5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064016101f2565b6103168161050b565b50565b6001600160a01b0383166103875760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b60648201526084016101f2565b6103926002836105d3565b156103f65760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b60648201526084016101f2565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610457576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610451573d6000803e3d6000fd5b5061046b565b61046b6001600160a01b03831684836105f8565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b03811661057f5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b60648201526084016101f2565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261020692869291600091610688918516908490610705565b80519091501561020657808060200190518101906106a691906108ee565b6102065760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101f2565b6060610714848460008561071c565b949350505050565b60608247101561077d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101f2565b843b6107cb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101f2565b600080866001600160a01b031685876040516107e7919061090e565b60006040518083038185875af1925050503d8060008114610824576040519150601f19603f3d011682016040523d82523d6000602084013e610829565b606091505b5091509150610839828286610844565b979650505050505050565b606083156108535750816105f1565b8251156108635782518084602001fd5b8160405162461bcd60e51b81526004016101f29190610952565b80356001600160a01b038116811461089457600080fd5b919050565b6000602082840312156108aa578081fd5b6105f18261087d565b6000806000606084860312156108c7578182fd5b6108d08461087d565b92506108de6020850161087d565b9150604084013590509250925092565b6000602082840312156108ff578081fd5b815180151581146105f1578182fd5b60008251610920818460208701610985565b9190910192915050565b602081016002831061094c57634e487b7160e01b600052602160045260246000fd5b91905290565b6020815260008251806020840152610971816040850160208701610985565b601f01601f19169190910160400192915050565b60005b838110156109a0578181015183820152602001610988565b838111156109af576000848401525b5050505056fea26469706673582212202b847c0752b8393800165b42b2e5a91b2f9b8cd52820dd70955c600d781c1cb964736f6c63430008040033";
"0x60a060405234801561001057600080fd5b50604051610b50380380610b5083398101604081905261002f9161010d565b80826001600160a01b0381166100a25760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b0392831617905581166100dd5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052506101409050565b80516001600160a01b038116811461010857600080fd5b919050565b6000806040838503121561012057600080fd5b610129836100f1565b9150610137602084016100f1565b90509250929050565b6080516109ef6101616000396000818160f5015261021601526109ef6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063cd985af011610066578063cd985af014610132578063e3056a3414610141578063e43581b814610154578063e58bb63914610186578063f235757f1461018e57600080fd5b80630c340a24146100a35780632db8c129146100d35780635094867a146100e85780637556fae6146100f0578063a734f06e14610117575b600080fd5b6000546100b6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e66100e1366004610899565b6101a1565b005b6100e661020b565b6100b67f000000000000000000000000000000000000000000000000000000000000000081565b6100b673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b60006040516100ca91906108d5565b6001546100b6906001600160a01b031681565b6101766101623660046108fd565b6000546001600160a01b0391821691161490565b60405190151581526020016100ca565b6100e6610256565b6100e661019c3660046108fd565b6102b8565b6000546001600160a01b031633146101fb5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b610206838383610319565b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102545760405163ea8e4eb560e01b815260040160405180910390fd5b565b6001546001600160a01b031633146102b05760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f7260448201526064016101f2565b6102546104bb565b6000546001600160a01b0316331461030d5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064016101f2565b6103168161050b565b50565b6001600160a01b0383166103875760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b60648201526084016101f2565b6103926002836105d3565b156103f65760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b60648201526084016101f2565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610457576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610451573d6000803e3d6000fd5b5061046b565b61046b6001600160a01b03831684836105f8565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b03811661057f5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b60648201526084016101f2565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261020692869291600091610688918516908490610705565b80519091501561020657808060200190518101906106a69190610918565b6102065760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101f2565b6060610714848460008561071c565b949350505050565b60608247101561077d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101f2565b843b6107cb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101f2565b600080866001600160a01b031685876040516107e7919061096a565b60006040518083038185875af1925050503d8060008114610824576040519150601f19603f3d011682016040523d82523d6000602084013e610829565b606091505b5091509150610839828286610844565b979650505050505050565b606083156108535750816105f1565b8251156108635782518084602001fd5b8160405162461bcd60e51b81526004016101f29190610986565b80356001600160a01b038116811461089457600080fd5b919050565b6000806000606084860312156108ae57600080fd5b6108b78461087d565b92506108c56020850161087d565b9150604084013590509250925092565b60208101600283106108f757634e487b7160e01b600052602160045260246000fd5b91905290565b60006020828403121561090f57600080fd5b6105f18261087d565b60006020828403121561092a57600080fd5b815180151581146105f157600080fd5b60005b8381101561095557818101518382015260200161093d565b83811115610964576000848401525b50505050565b6000825161097c81846020870161093a565b9190910192915050565b60208152600082518060208401526109a581604085016020870161093a565b601f01601f1916919091016040019291505056fea264697066735822122037c0c53396f24e33b5b79afcc79210c349243f9908d3aff5720cca8d1f213d6364736f6c63430008090033";
type SwapperMockConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: SwapperMockConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class SwapperMock__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: SwapperMockConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -229,0 +235,0 @@ }

@@ -329,12 +329,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x60c060405261271060a05234801561001657600080fd5b50604051610dc6380380610dc68339810160408190526100359161011b565b818180826001600160a01b0381166100aa5760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b0392831617905581166100e55760405163d92e233d60e01b815260040160405180910390fd5b60601b6001600160601b0319166080525061014d92505050565b80516001600160a01b038116811461011657600080fd5b919050565b6000806040838503121561012d578182fd5b610136836100ff565b9150610144602084016100ff565b90509250929050565b60805160601c60a051610c4b61017b600039600060f801526000818161012d01526102690152610c4b6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063a734f06e11610071578063a734f06e14610162578063cd985af01461017d578063e3056a3414610192578063e43581b8146101a5578063e58bb639146101d7578063f235757f146101df57600080fd5b80630c340a24146100ae5780632db8c129146100de578063453943f0146100f35780637556fae614610128578063a5d4096b1461014f575b600080fd5b6000546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f16100ec366004610aaa565b6101f2565b005b61011a7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100d5565b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b61011a61015d3660046109f7565b61025c565b6100c173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b610185600181565b6040516100d59190610b8a565b6001546100c1906001600160a01b031681565b6101c76101b33660046109dd565b6000546001600160a01b0391821691161490565b60405190151581526020016100d5565b6100f1610308565b6100f16101ed3660046109dd565b61036c565b6000546001600160a01b0316331461024c5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b6102578383836103cd565b505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102a75760405163ea8e4eb560e01b815260040160405180910390fd5b6102b4888888888861056f565b600090507f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c988788888888888689896040516102f5989796959493929190610b21565b60405180910390a1979650505050505050565b6001546001600160a01b031633146103625760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f726044820152606401610243565b61036a6105ff565b565b6000546001600160a01b031633146103c15760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b6044820152606401610243565b6103ca8161064f565b50565b6001600160a01b03831661043b5760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b6064820152608401610243565b610446600283610717565b156104aa5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b6064820152608401610243565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561050b576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610505573d6000803e3d6000fd5b5061051f565b61051f6001600160a01b038316848361073c565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b038516158061058c57506001600160a01b038416155b8061059e57506001600160a01b038316155b156105bc5760405163d92e233d60e01b815260040160405180910390fd5b816105da57604051631f2a200560e01b815260040160405180910390fd5b806105f857604051635380c59d60e01b815260040160405180910390fd5b5050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b0381166106c35760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610243565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152610257928692916000916107cc918516908490610849565b80519091501561025757808060200190518101906107ea9190610ae5565b6102575760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610243565b60606108588484600085610860565b949350505050565b6060824710156108c15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610243565b843b61090f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610243565b600080866001600160a01b0316858760405161092b9190610b05565b60006040518083038185875af1925050503d8060008114610968576040519150601f19603f3d011682016040523d82523d6000602084013e61096d565b606091505b509150915061097d828286610988565b979650505050505050565b60608315610997575081610735565b8251156109a75782518084602001fd5b8160405162461bcd60e51b81526004016102439190610bb2565b80356001600160a01b03811681146109d857600080fd5b919050565b6000602082840312156109ee578081fd5b610735826109c1565b600080600080600080600060c0888a031215610a11578283fd5b610a1a886109c1565b9650610a28602089016109c1565b9550610a36604089016109c1565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610a60578384fd5b818a0191508a601f830112610a73578384fd5b813581811115610a81578485fd5b8b6020828501011115610a92578485fd5b60208301945080935050505092959891949750929550565b600080600060608486031215610abe578283fd5b610ac7846109c1565b9250610ad5602085016109c1565b9150604084013590509250925092565b600060208284031215610af6578081fd5b81518015158114610735578182fd5b60008251610b17818460208701610be5565b9190910192915050565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905260e060c0820181905281018290526000610100838582850137828401810191909152601f909201601f19160101979650505050505050565b6020810160028310610bac57634e487b7160e01b600052602160045260246000fd5b91905290565b6020815260008251806020840152610bd1816040850160208701610be5565b601f01601f19169190910160400192915050565b60005b83811015610c00578181015183820152602001610be8565b83811115610c0f576000848401525b5050505056fea2646970667358221220faf9f8656058ef52cdc065995b42d44f2997a4bac377db0e552fe8c6795a0e6364736f6c63430008040033";
"0x60c060405261271060a05234801561001657600080fd5b50604051610dcd380380610dcd83398101604081905261003591610117565b818180826001600160a01b0381166100aa5760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b0392831617905581166100e55760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03166080525061014a92505050565b80516001600160a01b038116811461011257600080fd5b919050565b6000806040838503121561012a57600080fd5b610133836100fb565b9150610141602084016100fb565b90509250929050565b60805160a051610c58610175600039600060f801526000818161012d01526102690152610c586000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063a734f06e11610071578063a734f06e14610162578063cd985af01461017d578063e3056a3414610192578063e43581b8146101a5578063e58bb639146101d7578063f235757f146101df57600080fd5b80630c340a24146100ae5780632db8c129146100de578063453943f0146100f35780637556fae614610128578063a5d4096b1461014f575b600080fd5b6000546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f16100ec3660046109dd565b6101f2565b005b61011a7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100d5565b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b61011a61015d366004610a19565b61025c565b6100c173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b610185600181565b6040516100d59190610ad1565b6001546100c1906001600160a01b031681565b6101c76101b3366004610af9565b6000546001600160a01b0391821691161490565b60405190151581526020016100d5565b6100f1610308565b6100f16101ed366004610af9565b61036c565b6000546001600160a01b0316331461024c5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b6102578383836103cd565b505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102a75760405163ea8e4eb560e01b815260040160405180910390fd5b6102b4888888888861056f565b600090507f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c988788888888888689896040516102f5989796959493929190610b14565b60405180910390a1979650505050505050565b6001546001600160a01b031633146103625760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f726044820152606401610243565b61036a6105ff565b565b6000546001600160a01b031633146103c15760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b6044820152606401610243565b6103ca8161064f565b50565b6001600160a01b03831661043b5760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b6064820152608401610243565b610446600283610717565b156104aa5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b6064820152608401610243565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561050b576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610505573d6000803e3d6000fd5b5061051f565b61051f6001600160a01b038316848361073c565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b038516158061058c57506001600160a01b038416155b8061059e57506001600160a01b038316155b156105bc5760405163d92e233d60e01b815260040160405180910390fd5b816105da57604051631f2a200560e01b815260040160405180910390fd5b806105f857604051635380c59d60e01b815260040160405180910390fd5b5050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b0381166106c35760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610243565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152610257928692916000916107cc918516908490610849565b80519091501561025757808060200190518101906107ea9190610b81565b6102575760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610243565b60606108588484600085610860565b949350505050565b6060824710156108c15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610243565b843b61090f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610243565b600080866001600160a01b0316858760405161092b9190610bd3565b60006040518083038185875af1925050503d8060008114610968576040519150601f19603f3d011682016040523d82523d6000602084013e61096d565b606091505b509150915061097d828286610988565b979650505050505050565b60608315610997575081610735565b8251156109a75782518084602001fd5b8160405162461bcd60e51b81526004016102439190610bef565b80356001600160a01b03811681146109d857600080fd5b919050565b6000806000606084860312156109f257600080fd5b6109fb846109c1565b9250610a09602085016109c1565b9150604084013590509250925092565b600080600080600080600060c0888a031215610a3457600080fd5b610a3d886109c1565b9650610a4b602089016109c1565b9550610a59604089016109c1565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610a8457600080fd5b818a0191508a601f830112610a9857600080fd5b813581811115610aa757600080fd5b8b6020828501011115610ab957600080fd5b60208301945080935050505092959891949750929550565b6020810160028310610af357634e487b7160e01b600052602160045260246000fd5b91905290565b600060208284031215610b0b57600080fd5b610735826109c1565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905260e060c08201819052810182905260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b600060208284031215610b9357600080fd5b8151801515811461073557600080fd5b60005b83811015610bbe578181015183820152602001610ba6565b83811115610bcd576000848401525b50505050565b60008251610be5818460208701610ba3565b9190910192915050565b6020815260008251806020840152610c0e816040850160208701610ba3565b601f01601f1916919091016040019291505056fea2646970667358221220690bc7462bdb9bd5a431033995dfc4850d4dae47b95597e7c5c711702e42b96d64736f6c63430008090033";
type SyncSwapperMockConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: SyncSwapperMockConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class SyncSwapperMock__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: SyncSwapperMockConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -341,0 +347,0 @@ }

@@ -1333,12 +1333,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x608060405260016007553480156200001657600080fd5b5060405162003ab938038062003ab9833981016040819052620000399162000417565b81818086868a8a8d6001600160a01b038116620000695760405163d92e233d60e01b815260040160405180910390fd5b6200008460008051602062003a9983398151915280620002ff565b6200009f60008051602062003a99833981519152826200034a565b506001600160a01b0382161580620000be57506001600160a01b038116155b15620000dd5760405163d92e233d60e01b815260040160405180910390fd5b6200010760008051602062003a1983398151915260008051602062003a99833981519152620002ff565b620001427fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91160008051602062003a99833981519152620002ff565b6200015d60008051602062003a19833981519152836200034a565b620001897fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911826200034a565b50506001600160a01b0382161580620001a957506001600160a01b038116155b15620001c85760405163d92e233d60e01b815260040160405180910390fd5b620002037f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f760008051602062003a59833981519152620002ff565b6200022d60008051602062003a5983398151915260008051602062003a99833981519152620002ff565b6200024860008051602062003a59833981519152836200034a565b6200027260008051602062003a7983398151915260008051602062003a99833981519152620002ff565b6200028d60008051602062003a79833981519152826200034a565b5050600c80546001600160a01b0319166001600160a01b03831617905550620002d560008051602062003a3983398151915260008051602062003a99833981519152620002ff565b620002f060008051602062003a39833981519152836200034a565b505050505050505050620004ab565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6200035682826200035a565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000356576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620003b63390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b03811681146200041257600080fd5b919050565b600080600080600080600060e0888a03121562000432578283fd5b6200043d88620003fa565b96506200044d60208901620003fa565b95506200045d60408901620003fa565b94506200046d60608901620003fa565b93506200047d60808901620003fa565b92506200048d60a08901620003fa565b91506200049d60c08901620003fa565b905092959891949750929550565b61355e80620004bb6000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c80639f87641d11610146578063ccf61a41116100c3578063e0b9511311610087578063e0b9511314610645578063e454a5ed14610658578063ef47da6d1461066d578063f48221a314610680578063f7bd381f14610693578063fdd619e0146106a657600080fd5b8063ccf61a41146105a7578063d547741f146105d0578063d5c44c69146105e3578063dbab687a146105f6578063e0b1bba71461063257600080fd5b8063b64230ba1161010a578063b64230ba1461053f578063bf81bf4314610552578063c0137f7a14610565578063c32e4f8d14610578578063cbf8e6c41461059f57600080fd5b80639f87641d146104ee578063a217fddf14610501578063a2c6f17414610509578063a63513d814610511578063a734f06e1461052457600080fd5b80634a2c1bab116101d457806365834acc1161019857806365834acc1461047b578063687020d81461048e5780638f9745f2146104b5578063907ab008146104c857806391d14854146104db57600080fd5b80634a2c1bab146103735780634d1dd98f1461038657806350425491146103ad5780635877e98e146103cd57806359cd24241461045b57600080fd5b8063248a9ca31161021b578063248a9ca3146103045780632db8c129146103275780632f2ff15d1461033a57806336568abe1461034d57806344c028fe1461036057600080fd5b806301ffc9a714610258578063057535b01461028057806306b70639146102b55780631078f388146102ca578063185025ef146102ef575b600080fd5b61026b610266366004612ed3565b6106cd565b60405190151581526020015b60405180910390f35b6102a77ff97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe81565b604051908152602001610277565b6102c86102c3366004612e2d565b610704565b005b600c546001600160a01b03165b6040516001600160a01b039091168152602001610277565b6102a76000805160206134e983398151915281565b6102a7610312366004612e97565b60009081526020819052604090206001015490565b6102c8610335366004612bee565b610b9c565b6102c8610348366004612eaf565b610bc6565b6102c861035b366004612eaf565b610bf1565b6102a761036e366004612f32565b610c6f565b6102c8610381366004612d26565b610eb5565b6102a77fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91181565b6103c06103bb366004612b7e565b610fd1565b60405161027791906131c3565b61041e6103db366004612e97565b60086020526000908152604090208054600182015460028301546003840154600485015460059095015493946001600160a01b0393841694928416939091169186565b604080519687526001600160a01b0395861660208801529385169386019390935292166060840152608083019190915260a082015260c001610277565b61046e610469366004612b7e565b610ff5565b6040516102779190613248565b61026b610489366004612b7e565b611019565b6102a77f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd981565b6102c86104c3366004612b7e565b611097565b6102c86104d6366004612d26565b611125565b61026b6104e9366004612eaf565b61124f565b6102c86104fc366004612f9a565b611278565b6102a7600081565b61046e61140d565b6001546102d7906001600160a01b031681565b6102d773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61026b61054d366004612b7e565b61141e565b6102a7610560366004612e97565b61142b565b6102c8610573366004612fe4565b6115b8565b6102a77f0c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e581565b6103c0611818565b6102d76105b5366004612b7e565b6005602052600090815260409020546001600160a01b031681565b6102c86105de366004612eaf565b611824565b6102a76105f1366004612c2e565b61184a565b610619610604366004612b7e565b60066020526000908152604090205460f81b81565b6040516001600160f81b03199091168152602001610277565b6102c8610640366004612ded565b611a43565b6102c8610653366004612ced565b611bb2565b6102a760008051602061350983398151915281565b6102c861067b366004612b7e565b611c65565b6102a761068e366004612c73565b611c9d565b6102c86106a1366004612bb6565b611e47565b6102a77f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c81565b60006001600160e01b03198216637965db0b60e01b14806106fe57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600c54604051631960d2b360e21b81523360048201526001600160a01b03909116906365834acc9060240160206040518083038186803b15801561074757600080fd5b505afa15801561075b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077f9190612e77565b6107a45760405162461bcd60e51b815260040161079b906132b3565b60405180910390fd5b806107c2576040516314cee7cd60e11b815260040160405180910390fd5b600060086000858560008181106107e957634e487b7160e01b600052603260045260246000fd5b602090810292909201358352508101919091526040016000908120600201546001600160a01b031691506008818686828161083457634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060030160009054906101000a90046001600160a01b031690506000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561089d57600080fd5b505afa1580156108b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d59190613015565b6108e090600a613365565b905060005b85811015610b585760006008600089898581811061091357634e487b7160e01b600052603260045260246000fd5b9050602002013581526020019081526020016000209050600082118015610964575060028101546001600160a01b038681169116141580610964575060038101546001600160a01b03858116911614155b156109825760405163d69b537960e01b815260040160405180910390fd5b80600501544211156109a75760405163011b279960e71b815260040160405180910390fd5b60018101546001600160a01b031660009081526006602052604090205460f81b600160f81b908116146109ed5760405163ea8e4eb560e01b815260040160405180910390fd5b600083878360040154610a009190613410565b610a0a9190613302565b60018381015490546040805163030d028960e21b81529051939450610ab2936001600160a01b039384169390921691630c340a2491600480820192602092909190829003018186803b158015610a5f57600080fd5b505afa158015610a73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a979190612b9a565b600485015460028601546001600160a01b0316929190612058565b60018054600384015491840154604051638033d68760e01b81526001600160a01b039384166004820152602481018590529083166044820152911690638033d68790606401600060405180830381600087803b158015610b1157600080fd5b505af1158015610b25573d6000803e3d6000fd5b5050505060018201548254610b43916001600160a01b0316906120c3565b50508080610b5090613489565b9150506108e5565b507f0210feaf40876b7bc453fe389be6733e7d450692bf07adab2d3c11980f94dcd6868686604051610b8c93929190613224565b60405180910390a1505050505050565b600080516020613509833981519152610bb5813361213b565b610bc084848461219f565b50505050565b600082815260208190526040902060010154610be2813361213b565b610bec8383612341565b505050565b6001600160a01b0381163314610c615760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161079b565b610c6b82826123c5565b5050565b600c54604051631960d2b360e21b81523360048201526000916001600160a01b0316906365834acc9060240160206040518083038186803b158015610cb357600080fd5b505afa158015610cc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ceb9190612e77565b610d075760405162461bcd60e51b815260040161079b906132b3565b610d1260098761242a565b610d2f5760405163d69b537960e01b815260040160405180910390fd5b60008681526008602052604090206005810154421115610d625760405163011b279960e71b815260040160405180910390fd5b610d6d600287612445565b610d8a576040516364a7bd4d60e11b815260040160405180910390fd5b600181015460048201546002830154610db3926001600160a01b03918216929116908990612058565b60018101546002820154600383015460048085015460405163a5d4096b60e01b81526001600160a01b038c81169663a5d4096b96610e0496918316959083169492909116928d918d918d9101613124565b602060405180830381600087803b158015610e1e57600080fd5b505af1158015610e32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e569190612f1a565b6001820154909250610e71906001600160a01b0316886120c3565b867ff3b176b50ba6ec4473f418ce17c562a616f7715b23a6bcea8e41d78621f56b3483604051610ea391815260200190565b60405180910390a25095945050505050565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd9610ee0813361213b565b60005b8251811015610f955760006001600160a01b0316838281518110610f1757634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03161415610f475760405163d92e233d60e01b815260040160405180910390fd5b610f82838281518110610f6a57634e487b7160e01b600052603260045260246000fd5b6020026020010151600261246790919063ffffffff16565b5080610f8d81613489565b915050610ee3565b507f5d1fd21744530253cbd801d1685bf9e6f5d8a13044c3a7df5628b4c60d7d9e3b82604051610fc591906131c3565b60405180910390a15050565b6001600160a01b03811660009081526004602052604090206060906106fe9061247c565b6001600160a01b0381166000908152600b602052604090206060906106fe9061247c565b600c54604051631960d2b360e21b81526001600160a01b03838116600483015260009216906365834acc9060240160206040518083038186803b15801561105f57600080fd5b505afa158015611073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190612e77565b6000805160206135098339815191526110b0813361213b565b6001600160a01b0382166110d75760405163d92e233d60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0384169081179091556040519081527fd820b9bd66f5f69e0ee876fe38d41d612586cb5dfdab23721469fc9c6dd5950d90602001610fc5565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd9611150813361213b565b60005b825181101561121f5760006111b26004600086858151811061118557634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020612489565b11156111d1576040516361c45a0f60e01b815260040160405180910390fd5b61120c8382815181106111f457634e487b7160e01b600052603260045260246000fd5b6020026020010151600261249390919063ffffffff16565b508061121781613489565b915050611153565b507f4290941fe8d89409196966ddfc719772595cef6116ed6bde0bcc72e1182b52b582604051610fc591906131c3565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b7f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c6112a3813361213b565b6000848152600860205260408120905b838110156113cb576000600860008787858181106112e157634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002090508060000154836000015414806113235750600180820154908401546001600160a01b03908116911614155b806113435750600280820154908401546001600160a01b03908116911614155b806113635750600380820154908401546001600160a01b03908116911614155b156113815760405163d69b537960e01b815260040160405180910390fd5b806004015483600401600082825461139991906132ea565b9091555050600181015481546113b8916001600160a01b0316906120c3565b50806113c381613489565b9150506112b3565b50847fbba31c5a03767b9eba75f83badce7bc719848c62b42334ab0984c13b96c66bbe85856040516113fe929190613210565b60405180910390a25050505050565b6060611419600961247c565b905090565b60006106fe600283612445565b600c54604051631960d2b360e21b81523360048201526000916001600160a01b0316906365834acc9060240160206040518083038186803b15801561146f57600080fd5b505afa158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a79190612e77565b6114c35760405162461bcd60e51b815260040161079b906132b3565b6114ce60098361242a565b6114eb5760405163d69b537960e01b815260040160405180910390fd5b6000828152600860205260409020600581015442101561151e5760405163dae7dbed60e01b815260040160405180910390fd5b600481015460018201546002830154919350611548916001600160a01b0390811691163085612058565b60018101546004820154600283015461156f926001600160a01b03918216929116906124a8565b6001810154611587906001600160a01b0316846120c3565b60405183907f9e52c476c07e14b40a7ee505cae05543e63c4c2d0c69323803c1fe0b4dd23b8a90600090a250919050565b7ff97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe6115e3813361213b565b6000858152600860205260408082208683529120600381015460028301546001600160a01b0390811691161415806116305750600281015460038301546001600160a01b03908116911614155b1561164e5760405163d69b537960e01b815260040160405180910390fd5b81600501544211806116635750806005015442115b156116815760405163011b279960e71b815260040160405180910390fd5b60018201546001600160a01b031660009081526006602052604090205460f81b600160f91b9081161415806116dc575060018101546001600160a01b031660009081526006602052604090205460f81b600160f91b90811614155b156116fa5760405163ea8e4eb560e01b815260040160405180910390fd5b600180830154908201546002840154611724926001600160a01b0391821692908216911688612058565b60018082015490830154600283015461174e926001600160a01b0391821692908216911687612058565b81600401548514611778578482600401600082825461176d919061342f565b909155506117909050565b6001820154611790906001600160a01b0316886120c3565b806004015484146117ba57838160040160008282546117af919061342f565b909155506117d29050565b60018101546117d2906001600160a01b0316876120c3565b6040805186815260208101869052879189917fe5d287a20ff8c99c44a2f83dd58978ff9b7555963447c92435c01981a84cb3b0910160405180910390a350505050505050565b6060611419600261247c565b600082815260208190526040902060010154611840813361213b565b610bec83836123c5565b60006000805160206134e9833981519152611865813361213b565b6001600160a01b038616158061188257506001600160a01b038516155b156118a05760405163d92e233d60e01b815260040160405180910390fd5b836118be57604051631f2a200560e01b815260040160405180910390fd5b4283116118de57604051631da7447960e21b815260040160405180910390fd5b6007546040805160c0810182528281523360208083018281526001600160a01b038c81168587019081528c821660608701908152608087018d815260a088018d815260008b8152600888528a81208a5180825597516001820180546001600160a01b0319908116928a169290921790559551600282018054881691891691909117905593516003850180549096169616959095179093555160048201559051600590910155928352600b9091529290209294509161199b916124d8565b5080516119aa906009906124d8565b506001600760008282546119be91906132ea565b9091555050805160208083015160408085015160608087015160808089015160a0808b015187516001600160a01b03998a16815296891699870199909952969092168486015291830152810193909352517f0a369ed6c60e8874ec811770d811145786706c5dd029e4654527e48656bb6eaa9281900390910190a25050949350505050565b6000805160206134e9833981519152611a5c813361213b565b60005b82811015611b6957611aa1848483818110611a8a57634e487b7160e01b600052603260045260246000fd5b90506020020135600961242a90919063ffffffff16565b611abe5760405163d69b537960e01b815260040160405180910390fd5b3360086000868685818110611ae357634e487b7160e01b600052603260045260246000fd5b60209081029290920135835250810191909152604001600020600101546001600160a01b031614611b275760405163ea8e4eb560e01b815260040160405180910390fd5b611b5733858584818110611b4b57634e487b7160e01b600052603260045260246000fd5b905060200201356120c3565b80611b6181613489565b915050611a5f565b50336001600160a01b03167fbc02525bfba972df6ef3d6d34e6f4773de0e098177c254a62a4926ec94fdaea68484604051611ba5929190613210565b60405180910390a2505050565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911611bdd813361213b565b6001600160a01b038316611c045760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604091829020805460ff191660f887901c17905590516001600160f81b0319851681527f3c0408280ff44f7512ae2e74ad6e1f6c56d3de609831a70405ea1b97adb768119101611ba5565b600080516020613509833981519152611c7e813361213b565b600c80546001600160a01b0319166001600160a01b0384161790555050565b60006000805160206134e9833981519152611cb8813361213b565b336000908152600560205260409020546001600160a01b039081169089161580611ce957506001600160a01b038816155b15611d075760405163d92e233d60e01b815260040160405180910390fd5b86611d2557604051631f2a200560e01b815260040160405180910390fd5b85611d4357604051635380c59d60e01b815260040160405180910390fd5b611d586001600160a01b038a1633838a612058565b60405163a5d4096b60e01b81526001600160a01b0382169063a5d4096b90611d909033908d908d908d908d908d908d90600401613124565b602060405180830381600087803b158015611daa57600080fd5b505af1158015611dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de29190612f1a565b9250806001600160a01b0316336001600160a01b03167f1d816b1b1d67ea42ff2f6dae0a85f237a27e76afccb32ba25e4175330f3703e18b8b8b8b8b8b8b604051611e339796959493929190613174565b60405180910390a350509695505050505050565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911611e72813361213b565b6001600160a01b0383161580611e8f57506001600160a01b038216155b15611ead5760405163d92e233d60e01b815260040160405180910390fd5b6001826001600160a01b031663cd985af06040518163ffffffff1660e01b815260040160206040518083038186803b158015611ee857600080fd5b505afa158015611efc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f209190612efb565b6001811115611f3f57634e487b7160e01b600052602160045260246000fd5b14611f5d57604051634b3d6f3360e11b815260040160405180910390fd5b611f68600283612445565b611f85576040516364a7bd4d60e11b815260040160405180910390fd5b6001600160a01b038381166000908152600560205260409020541615611fd8576001600160a01b0380841660009081526005602090815260408083205490931682526004905220611fd69084612493565b505b6001600160a01b03838116600090815260056020908152604080832080546001600160a01b0319169487169485179055928252600490522061201a9084612467565b506040516001600160a01b0383811682528416907f09864ed308dfc2a9cc6804e3b86d38a1aaa4f7adec68be5562b9dd8feb9c1b0590602001611ba5565b6040516001600160a01b0380851660248301528316604482015260648101829052610bc09085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526124e4565b6001600160a01b0382166000908152600b602052604090206120e590826125b6565b506120f16009826125b6565b5060009081526008602052604081208181556001810180546001600160a01b0319908116909155600282018054821690556003820180549091169055600481018290556005015550565b612145828261124f565b610c6b5761215d816001600160a01b031660146125c2565b6121688360206125c2565b6040516020016121799291906130af565b60408051601f198184030181529082905262461bcd60e51b825261079b91600401613280565b6001600160a01b03831661220d5760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b606482015260840161079b565b612218600d83612445565b1561227c5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b606482015260840161079b565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156122dd576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156122d7573d6000803e3d6000fd5b506122f1565b6122f16001600160a01b03831684836124a8565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b61234b828261124f565b610c6b576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556123813390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6123cf828261124f565b15610c6b576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600081815260018301602052604081205415155b9392505050565b6001600160a01b0381166000908152600183016020526040812054151561243e565b600061243e836001600160a01b0384166127a4565b6060600061243e836127f3565b60006106fe825490565b600061243e836001600160a01b03841661284f565b6040516001600160a01b038316602482015260448101829052610bec90849063a9059cbb60e01b9060640161208c565b600061243e83836127a4565b6000612539826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661296c9092919063ffffffff16565b805190915015610bec57808060200190518101906125579190612e77565b610bec5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161079b565b600061243e838361284f565b606060006125d1836002613410565b6125dc9060026132ea565b67ffffffffffffffff81111561260257634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561262c576020820181803683370190505b509050600360fc1b8160008151811061265557634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061269257634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006126b6846002613410565b6126c19060016132ea565b90505b6001811115612755576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061270357634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061272757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361274e81613472565b90506126c4565b50831561243e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161079b565b60008181526001830160205260408120546127eb575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106fe565b5060006106fe565b60608160000180548060200260200160405190810160405280929190818152602001828054801561284357602002820191906000526020600020905b81548152602001906001019080831161282f575b50505050509050919050565b6000818152600183016020526040812054801561296257600061287360018361342f565b85549091506000906128879060019061342f565b90508181146129085760008660000182815481106128b557634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050808760000184815481106128e657634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b855486908061292757634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106fe565b60009150506106fe565b606061297b8484600085612983565b949350505050565b6060824710156129e45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161079b565b843b612a325760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161079b565b600080866001600160a01b03168587604051612a4e9190613093565b60006040518083038185875af1925050503d8060008114612a8b576040519150601f19603f3d011682016040523d82523d6000602084013e612a90565b606091505b5091509150612aa0828286612aab565b979650505050505050565b60608315612aba57508161243e565b825115612aca5782518084602001fd5b8160405162461bcd60e51b815260040161079b9190613280565b8035612aef816134d0565b919050565b60008083601f840112612b05578182fd5b50813567ffffffffffffffff811115612b1c578182fd5b6020830191508360208260051b8501011115612b3757600080fd5b9250929050565b60008083601f840112612b4f578182fd5b50813567ffffffffffffffff811115612b66578182fd5b602083019150836020828501011115612b3757600080fd5b600060208284031215612b8f578081fd5b813561243e816134d0565b600060208284031215612bab578081fd5b815161243e816134d0565b60008060408385031215612bc8578081fd5b8235612bd3816134d0565b91506020830135612be3816134d0565b809150509250929050565b600080600060608486031215612c02578081fd5b8335612c0d816134d0565b92506020840135612c1d816134d0565b929592945050506040919091013590565b60008060008060808587031215612c43578081fd5b8435612c4e816134d0565b93506020850135612c5e816134d0565b93969395505050506040820135916060013590565b60008060008060008060a08789031215612c8b578182fd5b8635612c96816134d0565b95506020870135612ca6816134d0565b94506040870135935060608701359250608087013567ffffffffffffffff811115612ccf578283fd5b612cdb89828a01612b3e565b979a9699509497509295939492505050565b60008060408385031215612cff578182fd5b8235612d0a816134d0565b915060208301356001600160f81b031981168114612be3578182fd5b60006020808385031215612d38578182fd5b823567ffffffffffffffff80821115612d4f578384fd5b818501915085601f830112612d62578384fd5b813581811115612d7457612d746134ba565b8060051b604051601f19603f83011681018181108582111715612d9957612d996134ba565b604052828152858101935084860182860187018a1015612db7578788fd5b8795505b83861015612de057612dcc81612ae4565b855260019590950194938601938601612dbb565b5098975050505050505050565b60008060208385031215612dff578182fd5b823567ffffffffffffffff811115612e15578283fd5b612e2185828601612af4565b90969095509350505050565b600080600060408486031215612e41578283fd5b833567ffffffffffffffff811115612e57578384fd5b612e6386828701612af4565b909790965060209590950135949350505050565b600060208284031215612e88578081fd5b8151801515811461243e578182fd5b600060208284031215612ea8578081fd5b5035919050565b60008060408385031215612ec1578182fd5b823591506020830135612be3816134d0565b600060208284031215612ee4578081fd5b81356001600160e01b03198116811461243e578182fd5b600060208284031215612f0c578081fd5b81516002811061243e578182fd5b600060208284031215612f2b578081fd5b5051919050565b600080600080600060808688031215612f49578283fd5b853594506020860135612f5b816134d0565b935060408601359250606086013567ffffffffffffffff811115612f7d578182fd5b612f8988828901612b3e565b969995985093965092949392505050565b600080600060408486031215612fae578081fd5b83359250602084013567ffffffffffffffff811115612fcb578182fd5b612fd786828701612af4565b9497909650939450505050565b60008060008060808587031215612ff9578182fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215613026578081fd5b815160ff8116811461243e578182fd5b81835260006001600160fb1b0383111561304e578081fd5b8260051b80836020870137939093016020019283525090919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600082516130a5818460208701613446565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516130e7816017850160208801613446565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613118816028840160208801613446565b01602801949350505050565b6001600160a01b038881168252878116602083015286166040820152606081018590526080810184905260c060a08201819052600090613167908301848661306a565b9998505050505050505050565b6001600160a01b03888116825287166020820152604081018690526060810185905260c0608082018190526000906131af908301858761306a565b90508260a083015298975050505050505050565b6020808252825182820181905260009190848201906040850190845b818110156132045783516001600160a01b0316835292840192918401916001016131df565b50909695505050505050565b60208152600061297b602083018486613036565b604081526000613238604083018587613036565b9050826020830152949350505050565b6020808252825182820181905260009190848201906040850190845b8181101561320457835183529284019291840191600101613264565b602081526000825180602084015261329f816040850160208701613446565b601f01601f19169190910160400192915050565b60208082526017908201527f4d616368696e6572793a206e6f74206d656368616e6963000000000000000000604082015260600190565b600082198211156132fd576132fd6134a4565b500190565b60008261331d57634e487b7160e01b81526012600452602481fd5b500490565b600181815b8085111561335d578160001904821115613343576133436134a4565b8085161561335057918102915b93841c9390800290613327565b509250929050565b600061243e60ff84168360008261337e575060016106fe565b8161338b575060006106fe565b81600181146133a157600281146133ab576133c7565b60019150506106fe565b60ff8411156133bc576133bc6134a4565b50506001821b6106fe565b5060208310610133831016604e8410600b84101617156133ea575081810a6106fe565b6133f48383613322565b8060001904821115613408576134086134a4565b029392505050565b600081600019048311821515161561342a5761342a6134a4565b500290565b600082821015613441576134416134a4565b500390565b60005b83811015613461578181015183820152602001613449565b83811115610bc05750506000910152565b600081613481576134816134a4565b506000190190565b600060001982141561349d5761349d6134a4565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146134e557600080fd5b5056fe49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f70b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3a2646970667358221220313e34ce465bb8811f4f95596d37ddf8658e4eba38c371f2884f2b6da963120664736f6c63430008040033038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd9f97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe0c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e51ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3";
"0x608060405260016007553480156200001657600080fd5b5060405162003a0c38038062003a0c833981016040819052620000399162000417565b81818086868a8a8d6001600160a01b038116620000695760405163d92e233d60e01b815260040160405180910390fd5b62000084600080516020620039ec83398151915280620002ff565b6200009f600080516020620039ec833981519152826200034a565b506001600160a01b0382161580620000be57506001600160a01b038116155b15620000dd5760405163d92e233d60e01b815260040160405180910390fd5b620001076000805160206200396c833981519152600080516020620039ec833981519152620002ff565b620001427fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911600080516020620039ec833981519152620002ff565b6200015d6000805160206200396c833981519152836200034a565b620001897fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911826200034a565b50506001600160a01b0382161580620001a957506001600160a01b038116155b15620001c85760405163d92e233d60e01b815260040160405180910390fd5b620002037f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f7600080516020620039ac833981519152620002ff565b6200022d600080516020620039ac833981519152600080516020620039ec833981519152620002ff565b62000248600080516020620039ac833981519152836200034a565b62000272600080516020620039cc833981519152600080516020620039ec833981519152620002ff565b6200028d600080516020620039cc833981519152826200034a565b5050600c80546001600160a01b0319166001600160a01b03831617905550620002d56000805160206200398c833981519152600080516020620039ec833981519152620002ff565b620002f06000805160206200398c833981519152836200034a565b505050505050505050620004ac565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6200035682826200035a565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000356576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620003b63390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b03811681146200041257600080fd5b919050565b600080600080600080600060e0888a0312156200043357600080fd5b6200043e88620003fa565b96506200044e60208901620003fa565b95506200045e60408901620003fa565b94506200046e60608901620003fa565b93506200047e60808901620003fa565b92506200048e60a08901620003fa565b91506200049e60c08901620003fa565b905092959891949750929550565b6134b080620004bc6000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c80639f87641d11610146578063ccf61a41116100c3578063e0b9511311610087578063e0b9511314610645578063e454a5ed14610658578063ef47da6d1461066d578063f48221a314610680578063f7bd381f14610693578063fdd619e0146106a657600080fd5b8063ccf61a41146105a7578063d547741f146105d0578063d5c44c69146105e3578063dbab687a146105f6578063e0b1bba71461063257600080fd5b8063b64230ba1161010a578063b64230ba1461053f578063bf81bf4314610552578063c0137f7a14610565578063c32e4f8d14610578578063cbf8e6c41461059f57600080fd5b80639f87641d146104ee578063a217fddf14610501578063a2c6f17414610509578063a63513d814610511578063a734f06e1461052457600080fd5b80634a2c1bab116101d457806365834acc1161019857806365834acc1461047b578063687020d81461048e5780638f9745f2146104b5578063907ab008146104c857806391d14854146104db57600080fd5b80634a2c1bab146103735780634d1dd98f1461038657806350425491146103ad5780635877e98e146103cd57806359cd24241461045b57600080fd5b8063248a9ca31161021b578063248a9ca3146103045780632db8c129146103275780632f2ff15d1461033a57806336568abe1461034d57806344c028fe1461036057600080fd5b806301ffc9a714610258578063057535b01461028057806306b70639146102b55780631078f388146102ca578063185025ef146102ef575b600080fd5b61026b6102663660046129cc565b6106cd565b60405190151581526020015b60405180910390f35b6102a77ff97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe81565b604051908152602001610277565b6102c86102c3366004612a42565b610704565b005b600c546001600160a01b03165b6040516001600160a01b039091168152602001610277565b6102a760008051602061343b83398151915281565b6102a7610312366004612a8e565b60009081526020819052604090206001015490565b6102c8610335366004612acf565b610b72565b6102c8610348366004612b10565b610b9c565b6102c861035b366004612b10565b610bc7565b6102a761036e366004612b82565b610c45565b6102c8610381366004612c02565b610e8b565b6102a77fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91181565b6103c06103bb366004612cc7565b610f8b565b6040516102779190612ce4565b61041e6103db366004612a8e565b60086020526000908152604090208054600182015460028301546003840154600485015460059095015493946001600160a01b0393841694928416939091169186565b604080519687526001600160a01b0395861660208801529385169386019390935292166060840152608083019190915260a082015260c001610277565b61046e610469366004612cc7565b610faf565b6040516102779190612d31565b61026b610489366004612cc7565b610fd3565b6102a77f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd981565b6102c86104c3366004612cc7565b611051565b6102c86104d6366004612c02565b6110df565b61026b6104e9366004612b10565b6111ed565b6102c86104fc366004612d69565b611216565b6102a7600081565b61046e61139d565b6001546102d7906001600160a01b031681565b6102d773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61026b61054d366004612cc7565b6113ae565b6102a7610560366004612a8e565b6113bb565b6102c8610573366004612db5565b611548565b6102a77f0c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e581565b6103c06117a8565b6102d76105b5366004612cc7565b6005602052600090815260409020546001600160a01b031681565b6102c86105de366004612b10565b6117b4565b6102a76105f1366004612de7565b6117da565b610619610604366004612cc7565b60066020526000908152604090205460f81b81565b6040516001600160f81b03199091168152602001610277565b6102c8610640366004612e2d565b6119d3565b6102c8610653366004612e6f565b611b18565b6102a760008051602061345b83398151915281565b6102c861067b366004612cc7565b611bcb565b6102a761068e366004612eaa565b611c03565b6102c86106a1366004612f26565b611dad565b6102a77f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c81565b60006001600160e01b03198216637965db0b60e01b14806106fe57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600c54604051631960d2b360e21b81523360048201526001600160a01b03909116906365834acc9060240160206040518083038186803b15801561074757600080fd5b505afa15801561075b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077f9190612f54565b6107a45760405162461bcd60e51b815260040161079b90612f76565b60405180910390fd5b806107c2576040516314cee7cd60e11b815260040160405180910390fd5b600060086000858560008181106107db576107db612fad565b602090810292909201358352508101919091526040016000908120600201546001600160a01b031691506008818686828161081857610818612fad565b90506020020135815260200190815260200160002060030160009054906101000a90046001600160a01b031690506000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561088157600080fd5b505afa158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b99190612fc3565b6108c490600a6130e0565b905060005b85811015610b2e576000600860008989858181106108e9576108e9612fad565b905060200201358152602001908152602001600020905060008211801561093a575060028101546001600160a01b03868116911614158061093a575060038101546001600160a01b03858116911614155b156109585760405163d69b537960e01b815260040160405180910390fd5b806005015442111561097d5760405163011b279960e71b815260040160405180910390fd5b60018101546001600160a01b031660009081526006602052604090205460f81b600160f81b908116146109c35760405163ea8e4eb560e01b815260040160405180910390fd5b6000838783600401546109d691906130ef565b6109e0919061310e565b60018381015490546040805163030d028960e21b81529051939450610a88936001600160a01b039384169390921691630c340a2491600480820192602092909190829003018186803b158015610a3557600080fd5b505afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190613130565b600485015460028601546001600160a01b0316929190611fb0565b60018054600384015491840154604051638033d68760e01b81526001600160a01b039384166004820152602481018590529083166044820152911690638033d68790606401600060405180830381600087803b158015610ae757600080fd5b505af1158015610afb573d6000803e3d6000fd5b5050505060018201548254610b19916001600160a01b03169061201b565b50508080610b269061314d565b9150506108c9565b507f0210feaf40876b7bc453fe389be6733e7d450692bf07adab2d3c11980f94dcd6868686604051610b629392919061319e565b60405180910390a1505050505050565b60008051602061345b833981519152610b8b8133612093565b610b968484846120f7565b50505050565b600082815260208190526040902060010154610bb88133612093565b610bc28383612299565b505050565b6001600160a01b0381163314610c375760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161079b565b610c41828261231d565b5050565b600c54604051631960d2b360e21b81523360048201526000916001600160a01b0316906365834acc9060240160206040518083038186803b158015610c8957600080fd5b505afa158015610c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc19190612f54565b610cdd5760405162461bcd60e51b815260040161079b90612f76565b610ce8600987612382565b610d055760405163d69b537960e01b815260040160405180910390fd5b60008681526008602052604090206005810154421115610d385760405163011b279960e71b815260040160405180910390fd5b610d4360028761239d565b610d60576040516364a7bd4d60e11b815260040160405180910390fd5b600181015460048201546002830154610d89926001600160a01b03918216929116908990611fb0565b60018101546002820154600383015460048085015460405163a5d4096b60e01b81526001600160a01b038c81169663a5d4096b96610dda96918316959083169492909116928d918d918d91016131eb565b602060405180830381600087803b158015610df457600080fd5b505af1158015610e08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2c919061323b565b6001820154909250610e47906001600160a01b03168861201b565b867ff3b176b50ba6ec4473f418ce17c562a616f7715b23a6bcea8e41d78621f56b3483604051610e7991815260200190565b60405180910390a25095945050505050565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd9610eb68133612093565b60005b8251811015610f4f5760006001600160a01b0316838281518110610edf57610edf612fad565b60200260200101516001600160a01b03161415610f0f5760405163d92e233d60e01b815260040160405180910390fd5b610f3c838281518110610f2457610f24612fad565b602002602001015160026123bf90919063ffffffff16565b5080610f478161314d565b915050610eb9565b507f5d1fd21744530253cbd801d1685bf9e6f5d8a13044c3a7df5628b4c60d7d9e3b82604051610f7f9190612ce4565b60405180910390a15050565b6001600160a01b03811660009081526004602052604090206060906106fe906123d4565b6001600160a01b0381166000908152600b602052604090206060906106fe906123d4565b600c54604051631960d2b360e21b81526001600160a01b03838116600483015260009216906365834acc9060240160206040518083038186803b15801561101957600080fd5b505afa15801561102d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190612f54565b60008051602061345b83398151915261106a8133612093565b6001600160a01b0382166110915760405163d92e233d60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0384169081179091556040519081527fd820b9bd66f5f69e0ee876fe38d41d612586cb5dfdab23721469fc9c6dd5950d90602001610f7f565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd961110a8133612093565b60005b82518110156111bd57600061115e6004600086858151811061113157611131612fad565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206123e1565b111561117d576040516361c45a0f60e01b815260040160405180910390fd5b6111aa83828151811061119257611192612fad565b602002602001015160026123eb90919063ffffffff16565b50806111b58161314d565b91505061110d565b507f4290941fe8d89409196966ddfc719772595cef6116ed6bde0bcc72e1182b52b582604051610f7f9190612ce4565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b7f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c6112418133612093565b6000848152600860205260408120905b8381101561135b5760006008600087878581811061127157611271612fad565b90506020020135815260200190815260200160002090508060000154836000015414806112b35750600180820154908401546001600160a01b03908116911614155b806112d35750600280820154908401546001600160a01b03908116911614155b806112f35750600380820154908401546001600160a01b03908116911614155b156113115760405163d69b537960e01b815260040160405180910390fd5b80600401548360040160008282546113299190613254565b909155505060018101548154611348916001600160a01b03169061201b565b50806113538161314d565b915050611251565b50847fbba31c5a03767b9eba75f83badce7bc719848c62b42334ab0984c13b96c66bbe858560405161138e92919061326c565b60405180910390a25050505050565b60606113a960096123d4565b905090565b60006106fe60028361239d565b600c54604051631960d2b360e21b81523360048201526000916001600160a01b0316906365834acc9060240160206040518083038186803b1580156113ff57600080fd5b505afa158015611413573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114379190612f54565b6114535760405162461bcd60e51b815260040161079b90612f76565b61145e600983612382565b61147b5760405163d69b537960e01b815260040160405180910390fd5b600082815260086020526040902060058101544210156114ae5760405163dae7dbed60e01b815260040160405180910390fd5b6004810154600182015460028301549193506114d8916001600160a01b0390811691163085611fb0565b6001810154600482015460028301546114ff926001600160a01b0391821692911690612400565b6001810154611517906001600160a01b03168461201b565b60405183907f9e52c476c07e14b40a7ee505cae05543e63c4c2d0c69323803c1fe0b4dd23b8a90600090a250919050565b7ff97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe6115738133612093565b6000858152600860205260408082208683529120600381015460028301546001600160a01b0390811691161415806115c05750600281015460038301546001600160a01b03908116911614155b156115de5760405163d69b537960e01b815260040160405180910390fd5b81600501544211806115f35750806005015442115b156116115760405163011b279960e71b815260040160405180910390fd5b60018201546001600160a01b031660009081526006602052604090205460f81b600160f91b90811614158061166c575060018101546001600160a01b031660009081526006602052604090205460f81b600160f91b90811614155b1561168a5760405163ea8e4eb560e01b815260040160405180910390fd5b6001808301549082015460028401546116b4926001600160a01b0391821692908216911688611fb0565b6001808201549083015460028301546116de926001600160a01b0391821692908216911687611fb0565b8160040154851461170857848260040160008282546116fd9190613280565b909155506117209050565b6001820154611720906001600160a01b03168861201b565b8060040154841461174a578381600401600082825461173f9190613280565b909155506117629050565b6001810154611762906001600160a01b03168761201b565b6040805186815260208101869052879189917fe5d287a20ff8c99c44a2f83dd58978ff9b7555963447c92435c01981a84cb3b0910160405180910390a350505050505050565b60606113a960026123d4565b6000828152602081905260409020600101546117d08133612093565b610bc2838361231d565b600060008051602061343b8339815191526117f58133612093565b6001600160a01b038616158061181257506001600160a01b038516155b156118305760405163d92e233d60e01b815260040160405180910390fd5b8361184e57604051631f2a200560e01b815260040160405180910390fd5b42831161186e57604051631da7447960e21b815260040160405180910390fd5b6007546040805160c0810182528281523360208083018281526001600160a01b038c81168587019081528c821660608701908152608087018d815260a088018d815260008b8152600888528a81208a5180825597516001820180546001600160a01b0319908116928a169290921790559551600282018054881691891691909117905593516003850180549096169616959095179093555160048201559051600590910155928352600b9091529290209294509161192b91612430565b50805161193a90600990612430565b5060016007600082825461194e9190613254565b9091555050805160208083015160408085015160608087015160808089015160a0808b015187516001600160a01b03998a16815296891699870199909952969092168486015291830152810193909352517f0a369ed6c60e8874ec811770d811145786706c5dd029e4654527e48656bb6eaa9281900390910190a25050949350505050565b60008051602061343b8339815191526119ec8133612093565b60005b82811015611acf57611a23848483818110611a0c57611a0c612fad565b90506020020135600961238290919063ffffffff16565b611a405760405163d69b537960e01b815260040160405180910390fd5b3360086000868685818110611a5757611a57612fad565b60209081029290920135835250810191909152604001600020600101546001600160a01b031614611a9b5760405163ea8e4eb560e01b815260040160405180910390fd5b611abd33858584818110611ab157611ab1612fad565b9050602002013561201b565b80611ac78161314d565b9150506119ef565b50336001600160a01b03167fbc02525bfba972df6ef3d6d34e6f4773de0e098177c254a62a4926ec94fdaea68484604051611b0b92919061326c565b60405180910390a2505050565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911611b438133612093565b6001600160a01b038316611b6a5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604091829020805460ff191660f887901c17905590516001600160f81b0319851681527f3c0408280ff44f7512ae2e74ad6e1f6c56d3de609831a70405ea1b97adb768119101611b0b565b60008051602061345b833981519152611be48133612093565b600c80546001600160a01b0319166001600160a01b0384161790555050565b600060008051602061343b833981519152611c1e8133612093565b336000908152600560205260409020546001600160a01b039081169089161580611c4f57506001600160a01b038816155b15611c6d5760405163d92e233d60e01b815260040160405180910390fd5b86611c8b57604051631f2a200560e01b815260040160405180910390fd5b85611ca957604051635380c59d60e01b815260040160405180910390fd5b611cbe6001600160a01b038a1633838a611fb0565b60405163a5d4096b60e01b81526001600160a01b0382169063a5d4096b90611cf69033908d908d908d908d908d908d906004016131eb565b602060405180830381600087803b158015611d1057600080fd5b505af1158015611d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d48919061323b565b9250806001600160a01b0316336001600160a01b03167f1d816b1b1d67ea42ff2f6dae0a85f237a27e76afccb32ba25e4175330f3703e18b8b8b8b8b8b8b604051611d999796959493929190613297565b60405180910390a350509695505050505050565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911611dd88133612093565b6001600160a01b0383161580611df557506001600160a01b038216155b15611e135760405163d92e233d60e01b815260040160405180910390fd5b6001826001600160a01b031663cd985af06040518163ffffffff1660e01b815260040160206040518083038186803b158015611e4e57600080fd5b505afa158015611e62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e8691906132fc565b6001811115611e9757611e976132e6565b14611eb557604051634b3d6f3360e11b815260040160405180910390fd5b611ec060028361239d565b611edd576040516364a7bd4d60e11b815260040160405180910390fd5b6001600160a01b038381166000908152600560205260409020541615611f30576001600160a01b0380841660009081526005602090815260408083205490931682526004905220611f2e90846123eb565b505b6001600160a01b03838116600090815260056020908152604080832080546001600160a01b03191694871694851790559282526004905220611f7290846123bf565b506040516001600160a01b0383811682528416907f09864ed308dfc2a9cc6804e3b86d38a1aaa4f7adec68be5562b9dd8feb9c1b0590602001611b0b565b6040516001600160a01b0380851660248301528316604482015260648101829052610b969085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261243c565b6001600160a01b0382166000908152600b6020526040902061203d908261250e565b5061204960098261250e565b5060009081526008602052604081208181556001810180546001600160a01b0319908116909155600282018054821690556003820180549091169055600481018290556005015550565b61209d82826111ed565b610c41576120b5816001600160a01b0316601461251a565b6120c083602061251a565b6040516020016120d1929190613349565b60408051601f198184030181529082905262461bcd60e51b825261079b916004016133be565b6001600160a01b0383166121655760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b606482015260840161079b565b612170600d8361239d565b156121d45760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b606482015260840161079b565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415612235576040516001600160a01b0384169082156108fc029083906000818181858888f1935050505015801561222f573d6000803e3d6000fd5b50612249565b6122496001600160a01b0383168483612400565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6122a382826111ed565b610c41576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556122d93390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61232782826111ed565b15610c41576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600081815260018301602052604081205415155b9392505050565b6001600160a01b03811660009081526001830160205260408120541515612396565b6000612396836001600160a01b0384166126b6565b6060600061239683612705565b60006106fe825490565b6000612396836001600160a01b038416612761565b6040516001600160a01b038316602482015260448101829052610bc290849063a9059cbb60e01b90606401611fe4565b600061239683836126b6565b6000612491826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128549092919063ffffffff16565b805190915015610bc257808060200190518101906124af9190612f54565b610bc25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161079b565b60006123968383612761565b606060006125298360026130ef565b612534906002613254565b67ffffffffffffffff81111561254c5761254c612bec565b6040519080825280601f01601f191660200182016040528015612576576020820181803683370190505b509050600360fc1b8160008151811061259157612591612fad565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106125c0576125c0612fad565b60200101906001600160f81b031916908160001a90535060006125e48460026130ef565b6125ef906001613254565b90505b6001811115612667576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061262357612623612fad565b1a60f81b82828151811061263957612639612fad565b60200101906001600160f81b031916908160001a90535060049490941c93612660816133f1565b90506125f2565b5083156123965760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161079b565b60008181526001830160205260408120546126fd575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106fe565b5060006106fe565b60608160000180548060200260200160405190810160405280929190818152602001828054801561275557602002820191906000526020600020905b815481526020019060010190808311612741575b50505050509050919050565b6000818152600183016020526040812054801561284a576000612785600183613280565b855490915060009061279990600190613280565b90508181146127fe5760008660000182815481106127b9576127b9612fad565b90600052602060002001549050808760000184815481106127dc576127dc612fad565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061280f5761280f613408565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106fe565b60009150506106fe565b6060612863848460008561286b565b949350505050565b6060824710156128cc5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161079b565b843b61291a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161079b565b600080866001600160a01b03168587604051612936919061341e565b60006040518083038185875af1925050503d8060008114612973576040519150601f19603f3d011682016040523d82523d6000602084013e612978565b606091505b5091509150612988828286612993565b979650505050505050565b606083156129a2575081612396565b8251156129b25782518084602001fd5b8160405162461bcd60e51b815260040161079b91906133be565b6000602082840312156129de57600080fd5b81356001600160e01b03198116811461239657600080fd5b60008083601f840112612a0857600080fd5b50813567ffffffffffffffff811115612a2057600080fd5b6020830191508360208260051b8501011115612a3b57600080fd5b9250929050565b600080600060408486031215612a5757600080fd5b833567ffffffffffffffff811115612a6e57600080fd5b612a7a868287016129f6565b909790965060209590950135949350505050565b600060208284031215612aa057600080fd5b5035919050565b6001600160a01b0381168114612abc57600080fd5b50565b8035612aca81612aa7565b919050565b600080600060608486031215612ae457600080fd5b8335612aef81612aa7565b92506020840135612aff81612aa7565b929592945050506040919091013590565b60008060408385031215612b2357600080fd5b823591506020830135612b3581612aa7565b809150509250929050565b60008083601f840112612b5257600080fd5b50813567ffffffffffffffff811115612b6a57600080fd5b602083019150836020828501011115612a3b57600080fd5b600080600080600060808688031215612b9a57600080fd5b853594506020860135612bac81612aa7565b935060408601359250606086013567ffffffffffffffff811115612bcf57600080fd5b612bdb88828901612b40565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215612c1557600080fd5b823567ffffffffffffffff80821115612c2d57600080fd5b818501915085601f830112612c4157600080fd5b813581811115612c5357612c53612bec565b8060051b604051601f19603f83011681018181108582111715612c7857612c78612bec565b604052918252848201925083810185019188831115612c9657600080fd5b938501935b82851015612cbb57612cac85612abf565b84529385019392850192612c9b565b98975050505050505050565b600060208284031215612cd957600080fd5b813561239681612aa7565b6020808252825182820181905260009190848201906040850190845b81811015612d255783516001600160a01b031683529284019291840191600101612d00565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015612d2557835183529284019291840191600101612d4d565b600080600060408486031215612d7e57600080fd5b83359250602084013567ffffffffffffffff811115612d9c57600080fd5b612da8868287016129f6565b9497909650939450505050565b60008060008060808587031215612dcb57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060008060808587031215612dfd57600080fd5b8435612e0881612aa7565b93506020850135612e1881612aa7565b93969395505050506040820135916060013590565b60008060208385031215612e4057600080fd5b823567ffffffffffffffff811115612e5757600080fd5b612e63858286016129f6565b90969095509350505050565b60008060408385031215612e8257600080fd5b8235612e8d81612aa7565b915060208301356001600160f81b031981168114612b3557600080fd5b60008060008060008060a08789031215612ec357600080fd5b8635612ece81612aa7565b95506020870135612ede81612aa7565b94506040870135935060608701359250608087013567ffffffffffffffff811115612f0857600080fd5b612f1489828a01612b40565b979a9699509497509295939492505050565b60008060408385031215612f3957600080fd5b8235612f4481612aa7565b91506020830135612b3581612aa7565b600060208284031215612f6657600080fd5b8151801515811461239657600080fd5b60208082526017908201527f4d616368696e6572793a206e6f74206d656368616e6963000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612fd557600080fd5b815160ff8116811461239657600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561303757816000190482111561301d5761301d612fe6565b8085161561302a57918102915b93841c9390800290613001565b509250929050565b60008261304e575060016106fe565b8161305b575060006106fe565b8160018114613071576002811461307b57613097565b60019150506106fe565b60ff84111561308c5761308c612fe6565b50506001821b6106fe565b5060208310610133831016604e8410600b84101617156130ba575081810a6106fe565b6130c48383612ffc565b80600019048211156130d8576130d8612fe6565b029392505050565b600061239660ff84168361303f565b600081600019048311821515161561310957613109612fe6565b500290565b60008261312b57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561314257600080fd5b815161239681612aa7565b600060001982141561316157613161612fe6565b5060010190565b81835260006001600160fb1b0383111561318157600080fd5b8260051b8083602087013760009401602001938452509192915050565b6040815260006131b2604083018587613168565b9050826020830152949350505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038881168252878116602083015286166040820152606081018590526080810184905260c060a0820181905260009061322e90830184866131c2565b9998505050505050505050565b60006020828403121561324d57600080fd5b5051919050565b6000821982111561326757613267612fe6565b500190565b602081526000612863602083018486613168565b60008282101561329257613292612fe6565b500390565b6001600160a01b03888116825287166020820152604081018690526060810185905260c0608082018190526000906132d290830185876131c2565b90508260a083015298975050505050505050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561330e57600080fd5b81516002811061239657600080fd5b60005b83811015613338578181015183820152602001613320565b83811115610b965750506000910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161338181601785016020880161331d565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516133b281602884016020880161331d565b01602801949350505050565b60208152600082518060208401526133dd81604085016020870161331d565b601f01601f19169190910160400192915050565b60008161340057613400612fe6565b506000190190565b634e487b7160e01b600052603160045260246000fd5b6000825161343081846020870161331d565b919091019291505056fe49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f70b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3a2646970667358221220f08f87ef66c5efffd383312acdeb520fc0dd690a43ec0967ab2f0483a615505664736f6c63430008090033038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd9f97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe0c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e51ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3";
type TradeFactoryConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: TradeFactoryConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class TradeFactory__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: TradeFactoryConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -1345,0 +1351,0 @@ }

@@ -1355,12 +1355,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x608060405260016007553480156200001657600080fd5b50604051620039d7380380620039d7833981016040819052620000399162000440565b818180898989898981818686868181846001600160a01b038116620000715760405163d92e233d60e01b815260040160405180910390fd5b6200008c600080516020620039b78339815191528062000306565b620000a7600080516020620039b78339815191528262000351565b506001600160a01b0382161580620000c657506001600160a01b038116155b15620000e55760405163d92e233d60e01b815260040160405180910390fd5b6200010f60008051602062003937833981519152600080516020620039b783398151915262000306565b6200014a7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911600080516020620039b783398151915262000306565b62000165600080516020620039378339815191528362000351565b620001917fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b9118262000351565b505050506001600160a01b03831615905080620001b557506001600160a01b038116155b15620001d45760405163d92e233d60e01b815260040160405180910390fd5b6200020f7f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f76000805160206200397783398151915262000306565b6200023960008051602062003977833981519152600080516020620039b783398151915262000306565b62000254600080516020620039778339815191528362000351565b6200027e60008051602062003997833981519152600080516020620039b783398151915262000306565b62000299600080516020620039978339815191528262000351565b50505050505050620002b1816200036160201b60201c565b50620002dc60008051602062003957833981519152600080516020620039b783398151915262000306565b620002f7600080516020620039578339815191528362000351565b505050505050505050620004d4565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6200035d828262000383565b5050565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200035d576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620003df3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b03811681146200043b57600080fd5b919050565b600080600080600080600060e0888a0312156200045b578283fd5b620004668862000423565b9650620004766020890162000423565b9550620004866040890162000423565b9450620004966060890162000423565b9350620004a66080890162000423565b9250620004b660a0890162000423565b9150620004c660c0890162000423565b905092959891949750929550565b61345380620004e46000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c80639f87641d11610151578063d547741f116100c3578063e454a5ed11610087578063e454a5ed14610697578063ef47da6d146106be578063f1071c81146106d1578063f48221a3146106e4578063f7bd381f146106f7578063fdd619e01461070a57600080fd5b8063d547741f1461060f578063d5c44c6914610622578063dbab687a14610635578063e0b1bba714610671578063e0b951131461068457600080fd5b8063bc90fa0311610115578063bc90fa031461057e578063bf81bf4314610591578063c0137f7a146105a4578063c32e4f8d146105b7578063cbf8e6c4146105de578063ccf61a41146105e657600080fd5b80639f87641d14610535578063a217fddf14610548578063a2c6f17414610550578063a63513d814610558578063b64230ba1461056b57600080fd5b80634d1dd98f116101ea57806365834acc116101ae57806365834acc146104af578063687020d8146104c2578063851b3288146104e95780638f9745f2146104fc578063907ab0081461050f57806391d148541461052257600080fd5b80634d1dd98f146103a757806350425491146103ce57806355a0f5ba146103ee5780635877e98e1461040157806359cd24241461048f57600080fd5b8063248a9ca31161023c578063248a9ca3146103255780632f2ff15d1461034857806336568abe1461035b5780633c8888fa1461036e57806344c028fe146103815780634a2c1bab1461039457600080fd5b806301ffc9a714610279578063057535b0146102a157806306b70639146102d65780631078f388146102eb578063185025ef14610310575b600080fd5b61028c610287366004612de8565b610731565b60405190151581526020015b60405180910390f35b6102c87ff97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe81565b604051908152602001610298565b6102e96102e4366004612d42565b610768565b005b600c546001600160a01b03165b6040516001600160a01b039091168152602001610298565b6102c86000805160206133fe83398151915281565b6102c8610333366004612dac565b60009081526020819052604090206001015490565b6102e9610356366004612dc4565b610c00565b6102e9610369366004612dc4565b610c2b565b6102e961037c366004612ae0565b610ca9565b6102c861038f366004612e47565b610ccb565b6102e96103a2366004612c3b565b610f11565b6102c87fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91181565b6103e16103dc366004612aa8565b61102d565b60405161029891906130d8565b6102e96103fc366004612c10565b611051565b61045261040f366004612dac565b60086020526000908152604090208054600182015460028301546003840154600485015460059095015493946001600160a01b0393841694928416939091169186565b604080519687526001600160a01b0395861660208801529385169386019390935292166060840152608083019190915260a082015260c001610298565b6104a261049d366004612aa8565b61105b565b604051610298919061315d565b61028c6104bd366004612aa8565b61107f565b6102c87f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd981565b6102e96104f7366004612aa8565b6110fd565b6102e961050a366004612aa8565b611108565b6102e961051d366004612c3b565b6111a8565b61028c610530366004612dc4565b6112d2565b6102e9610543366004612eaf565b6112fb565b6102c8600081565b6104a2611490565b6001546102f8906001600160a01b031681565b61028c610579366004612aa8565b6114a1565b6102e961058c366004612ae0565b6114ae565b6102c861059f366004612dac565b6114d0565b6102e96105b2366004612ef9565b61165d565b6102c87f0c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e581565b6103e16118bd565b6102f86105f4366004612aa8565b6005602052600090815260409020546001600160a01b031681565b6102e961061d366004612dc4565b6118c9565b6102c8610630366004612b18565b6118ef565b610658610643366004612aa8565b60066020526000908152604090205460f81b81565b6040516001600160f81b03199091168152602001610298565b6102e961067f366004612d02565b611ae8565b6102e9610692366004612bd7565b611c57565b6102c87f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d381565b6102e96106cc366004612aa8565b611d0a565b6102e96106df366004612aa8565b611d54565b6102c86106f2366004612b5d565b611d5f565b6102e9610705366004612ae0565b611f09565b6102c87f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c81565b60006001600160e01b03198216637965db0b60e01b148061076257506301ffc9a760e01b6001600160e01b03198316145b92915050565b600c54604051631960d2b360e21b81523360048201526001600160a01b03909116906365834acc9060240160206040518083038186803b1580156107ab57600080fd5b505afa1580156107bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e39190612d8c565b6108085760405162461bcd60e51b81526004016107ff906131c8565b60405180910390fd5b80610826576040516314cee7cd60e11b815260040160405180910390fd5b6000600860008585600081811061084d57634e487b7160e01b600052603260045260246000fd5b602090810292909201358352508101919091526040016000908120600201546001600160a01b031691506008818686828161089857634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060030160009054906101000a90046001600160a01b031690506000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561090157600080fd5b505afa158015610915573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109399190612f2a565b61094490600a61327a565b905060005b85811015610bbc5760006008600089898581811061097757634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002090506000821180156109c8575060028101546001600160a01b0386811691161415806109c8575060038101546001600160a01b03858116911614155b156109e65760405163d69b537960e01b815260040160405180910390fd5b8060050154421115610a0b5760405163011b279960e71b815260040160405180910390fd5b60018101546001600160a01b031660009081526006602052604090205460f81b600160f81b90811614610a515760405163ea8e4eb560e01b815260040160405180910390fd5b600083878360040154610a649190613325565b610a6e9190613217565b60018381015490546040805163030d028960e21b81529051939450610b16936001600160a01b039384169390921691630c340a2491600480820192602092909190829003018186803b158015610ac357600080fd5b505afa158015610ad7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afb9190612ac4565b600485015460028601546001600160a01b031692919061211a565b60018054600384015491840154604051638033d68760e01b81526001600160a01b039384166004820152602481018590529083166044820152911690638033d68790606401600060405180830381600087803b158015610b7557600080fd5b505af1158015610b89573d6000803e3d6000fd5b5050505060018201548254610ba7916001600160a01b03169061218b565b50508080610bb49061339e565b915050610949565b507f0210feaf40876b7bc453fe389be6733e7d450692bf07adab2d3c11980f94dcd6868686604051610bf093929190613139565b60405180910390a1505050505050565b600082815260208190526040902060010154610c1c8133612203565b610c268383612267565b505050565b6001600160a01b0381163314610c9b5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016107ff565b610ca582826122eb565b5050565b6001600160a01b0382166000908152600460205260409020610c269082612350565b600c54604051631960d2b360e21b81523360048201526000916001600160a01b0316906365834acc9060240160206040518083038186803b158015610d0f57600080fd5b505afa158015610d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d479190612d8c565b610d635760405162461bcd60e51b81526004016107ff906131c8565b610d6e60098761236c565b610d8b5760405163d69b537960e01b815260040160405180910390fd5b60008681526008602052604090206005810154421115610dbe5760405163011b279960e71b815260040160405180910390fd5b610dc9600287612384565b610de6576040516364a7bd4d60e11b815260040160405180910390fd5b600181015460048201546002830154610e0f926001600160a01b0391821692911690899061211a565b60018101546002820154600383015460048085015460405163a5d4096b60e01b81526001600160a01b038c81169663a5d4096b96610e6096918316959083169492909116928d918d918d9101613039565b602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb29190612e2f565b6001820154909250610ecd906001600160a01b03168861218b565b867ff3b176b50ba6ec4473f418ce17c562a616f7715b23a6bcea8e41d78621f56b3483604051610eff91815260200190565b60405180910390a25095945050505050565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd9610f3c8133612203565b60005b8251811015610ff15760006001600160a01b0316838281518110610f7357634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03161415610fa35760405163d92e233d60e01b815260040160405180910390fd5b610fde838281518110610fc657634e487b7160e01b600052603260045260246000fd5b6020026020010151600261235090919063ffffffff16565b5080610fe98161339e565b915050610f3f565b507f5d1fd21744530253cbd801d1685bf9e6f5d8a13044c3a7df5628b4c60d7d9e3b8260405161102191906130d8565b60405180910390a15050565b6001600160a01b0381166000908152600460205260409020606090610762906123a6565b610ca5828261218b565b6001600160a01b0381166000908152600b60205260409020606090610762906123a6565b600c54604051631960d2b360e21b81526001600160a01b03838116600483015260009216906365834acc9060240160206040518083038186803b1580156110c557600080fd5b505afa1580156110d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107629190612d8c565b610ca56002826123b3565b7f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d36111338133612203565b6001600160a01b03821661115a5760405163d92e233d60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0384169081179091556040519081527fd820b9bd66f5f69e0ee876fe38d41d612586cb5dfdab23721469fc9c6dd5950d90602001611021565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd96111d38133612203565b60005b82518110156112a25760006112356004600086858151811061120857634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206123c8565b1115611254576040516361c45a0f60e01b815260040160405180910390fd5b61128f83828151811061127757634e487b7160e01b600052603260045260246000fd5b602002602001015160026123b390919063ffffffff16565b508061129a8161339e565b9150506111d6565b507f4290941fe8d89409196966ddfc719772595cef6116ed6bde0bcc72e1182b52b58260405161102191906130d8565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b7f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c6113268133612203565b6000848152600860205260408120905b8381101561144e5760006008600087878581811061136457634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002090508060000154836000015414806113a65750600180820154908401546001600160a01b03908116911614155b806113c65750600280820154908401546001600160a01b03908116911614155b806113e65750600380820154908401546001600160a01b03908116911614155b156114045760405163d69b537960e01b815260040160405180910390fd5b806004015483600401600082825461141c91906131ff565b90915550506001810154815461143b916001600160a01b03169061218b565b50806114468161339e565b915050611336565b50847fbba31c5a03767b9eba75f83badce7bc719848c62b42334ab0984c13b96c66bbe8585604051611481929190613125565b60405180910390a25050505050565b606061149c60096123a6565b905090565b6000610762600283612384565b6001600160a01b0382166000908152600460205260409020610c2690826123b3565b600c54604051631960d2b360e21b81523360048201526000916001600160a01b0316906365834acc9060240160206040518083038186803b15801561151457600080fd5b505afa158015611528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154c9190612d8c565b6115685760405162461bcd60e51b81526004016107ff906131c8565b61157360098361236c565b6115905760405163d69b537960e01b815260040160405180910390fd5b600082815260086020526040902060058101544210156115c35760405163dae7dbed60e01b815260040160405180910390fd5b6004810154600182015460028301549193506115ed916001600160a01b039081169116308561211a565b600181015460048201546002830154611614926001600160a01b03918216929116906123d2565b600181015461162c906001600160a01b03168461218b565b60405183907f9e52c476c07e14b40a7ee505cae05543e63c4c2d0c69323803c1fe0b4dd23b8a90600090a250919050565b7ff97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe6116888133612203565b6000858152600860205260408082208683529120600381015460028301546001600160a01b0390811691161415806116d55750600281015460038301546001600160a01b03908116911614155b156116f35760405163d69b537960e01b815260040160405180910390fd5b81600501544211806117085750806005015442115b156117265760405163011b279960e71b815260040160405180910390fd5b60018201546001600160a01b031660009081526006602052604090205460f81b600160f91b908116141580611781575060018101546001600160a01b031660009081526006602052604090205460f81b600160f91b90811614155b1561179f5760405163ea8e4eb560e01b815260040160405180910390fd5b6001808301549082015460028401546117c9926001600160a01b039182169290821691168861211a565b6001808201549083015460028301546117f3926001600160a01b039182169290821691168761211a565b8160040154851461181d57848260040160008282546118129190613344565b909155506118359050565b6001820154611835906001600160a01b03168861218b565b8060040154841461185f57838160040160008282546118549190613344565b909155506118779050565b6001810154611877906001600160a01b03168761218b565b6040805186815260208101869052879189917fe5d287a20ff8c99c44a2f83dd58978ff9b7555963447c92435c01981a84cb3b0910160405180910390a350505050505050565b606061149c60026123a6565b6000828152602081905260409020600101546118e58133612203565b610c2683836122eb565b60006000805160206133fe83398151915261190a8133612203565b6001600160a01b038616158061192757506001600160a01b038516155b156119455760405163d92e233d60e01b815260040160405180910390fd5b8361196357604051631f2a200560e01b815260040160405180910390fd5b42831161198357604051631da7447960e21b815260040160405180910390fd5b6007546040805160c0810182528281523360208083018281526001600160a01b038c81168587019081528c821660608701908152608087018d815260a088018d815260008b8152600888528a81208a5180825597516001820180546001600160a01b0319908116928a169290921790559551600282018054881691891691909117905593516003850180549096169616959095179093555160048201559051600590910155928352600b90915292902092945091611a4091612402565b508051611a4f90600990612402565b50600160076000828254611a6391906131ff565b9091555050805160208083015160408085015160608087015160808089015160a0808b015187516001600160a01b03998a16815296891699870199909952969092168486015291830152810193909352517f0a369ed6c60e8874ec811770d811145786706c5dd029e4654527e48656bb6eaa9281900390910190a25050949350505050565b6000805160206133fe833981519152611b018133612203565b60005b82811015611c0e57611b46848483818110611b2f57634e487b7160e01b600052603260045260246000fd5b90506020020135600961236c90919063ffffffff16565b611b635760405163d69b537960e01b815260040160405180910390fd5b3360086000868685818110611b8857634e487b7160e01b600052603260045260246000fd5b60209081029290920135835250810191909152604001600020600101546001600160a01b031614611bcc5760405163ea8e4eb560e01b815260040160405180910390fd5b611bfc33858584818110611bf057634e487b7160e01b600052603260045260246000fd5b9050602002013561218b565b80611c068161339e565b915050611b04565b50336001600160a01b03167fbc02525bfba972df6ef3d6d34e6f4773de0e098177c254a62a4926ec94fdaea68484604051611c4a929190613125565b60405180910390a2505050565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911611c828133612203565b6001600160a01b038316611ca95760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604091829020805460ff191660f887901c17905590516001600160f81b0319851681527f3c0408280ff44f7512ae2e74ad6e1f6c56d3de609831a70405ea1b97adb768119101611c4a565b7f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3611d358133612203565b600c80546001600160a01b0319166001600160a01b0384161790555050565b610ca5600282612350565b60006000805160206133fe833981519152611d7a8133612203565b336000908152600560205260409020546001600160a01b039081169089161580611dab57506001600160a01b038816155b15611dc95760405163d92e233d60e01b815260040160405180910390fd5b86611de757604051631f2a200560e01b815260040160405180910390fd5b85611e0557604051635380c59d60e01b815260040160405180910390fd5b611e1a6001600160a01b038a1633838a61211a565b60405163a5d4096b60e01b81526001600160a01b0382169063a5d4096b90611e529033908d908d908d908d908d908d90600401613039565b602060405180830381600087803b158015611e6c57600080fd5b505af1158015611e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea49190612e2f565b9250806001600160a01b0316336001600160a01b03167f1d816b1b1d67ea42ff2f6dae0a85f237a27e76afccb32ba25e4175330f3703e18b8b8b8b8b8b8b604051611ef59796959493929190613089565b60405180910390a350509695505050505050565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911611f348133612203565b6001600160a01b0383161580611f5157506001600160a01b038216155b15611f6f5760405163d92e233d60e01b815260040160405180910390fd5b6001826001600160a01b031663cd985af06040518163ffffffff1660e01b815260040160206040518083038186803b158015611faa57600080fd5b505afa158015611fbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe29190612e10565b600181111561200157634e487b7160e01b600052602160045260246000fd5b1461201f57604051634b3d6f3360e11b815260040160405180910390fd5b61202a600283612384565b612047576040516364a7bd4d60e11b815260040160405180910390fd5b6001600160a01b03838116600090815260056020526040902054161561209a576001600160a01b038084166000908152600560209081526040808320549093168252600490522061209890846123b3565b505b6001600160a01b03838116600090815260056020908152604080832080546001600160a01b031916948716948517905592825260049052206120dc9084612350565b506040516001600160a01b0383811682528416907f09864ed308dfc2a9cc6804e3b86d38a1aaa4f7adec68be5562b9dd8feb9c1b0590602001611c4a565b6040516001600160a01b03808516602483015283166044820152606481018290526121859085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261240e565b50505050565b6001600160a01b0382166000908152600b602052604090206121ad90826124e0565b506121b96009826124e0565b5060009081526008602052604081208181556001810180546001600160a01b0319908116909155600282018054821690556003820180549091169055600481018290556005015550565b61220d82826112d2565b610ca557612225816001600160a01b031660146124ec565b6122308360206124ec565b604051602001612241929190612fc4565b60408051601f198184030181529082905262461bcd60e51b82526107ff91600401613195565b61227182826112d2565b610ca5576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556122a73390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6122f582826112d2565b15610ca5576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000612365836001600160a01b0384166126ce565b9392505050565b60008181526001830160205260408120541515612365565b6001600160a01b03811660009081526001830160205260408120541515612365565b606060006123658361271d565b6000612365836001600160a01b038416612779565b6000610762825490565b6040516001600160a01b038316602482015260448101829052610c2690849063a9059cbb60e01b9060640161214e565b600061236583836126ce565b6000612463826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128969092919063ffffffff16565b805190915015610c2657808060200190518101906124819190612d8c565b610c265760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107ff565b60006123658383612779565b606060006124fb836002613325565b6125069060026131ff565b67ffffffffffffffff81111561252c57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612556576020820181803683370190505b509050600360fc1b8160008151811061257f57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106125bc57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006125e0846002613325565b6125eb9060016131ff565b90505b600181111561267f576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061262d57634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061265157634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361267881613387565b90506125ee565b5083156123655760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107ff565b600081815260018301602052604081205461271557508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610762565b506000610762565b60608160000180548060200260200160405190810160405280929190818152602001828054801561276d57602002820191906000526020600020905b815481526020019060010190808311612759575b50505050509050919050565b6000818152600183016020526040812054801561288c57600061279d600183613344565b85549091506000906127b190600190613344565b90508181146128325760008660000182815481106127df57634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061281057634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b855486908061285157634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610762565b6000915050610762565b60606128a584846000856128ad565b949350505050565b60608247101561290e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016107ff565b843b61295c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107ff565b600080866001600160a01b031685876040516129789190612fa8565b60006040518083038185875af1925050503d80600081146129b5576040519150601f19603f3d011682016040523d82523d6000602084013e6129ba565b606091505b50915091506129ca8282866129d5565b979650505050505050565b606083156129e4575081612365565b8251156129f45782518084602001fd5b8160405162461bcd60e51b81526004016107ff9190613195565b8035612a19816133e5565b919050565b60008083601f840112612a2f578182fd5b50813567ffffffffffffffff811115612a46578182fd5b6020830191508360208260051b8501011115612a6157600080fd5b9250929050565b60008083601f840112612a79578182fd5b50813567ffffffffffffffff811115612a90578182fd5b602083019150836020828501011115612a6157600080fd5b600060208284031215612ab9578081fd5b8135612365816133e5565b600060208284031215612ad5578081fd5b8151612365816133e5565b60008060408385031215612af2578081fd5b8235612afd816133e5565b91506020830135612b0d816133e5565b809150509250929050565b60008060008060808587031215612b2d578182fd5b8435612b38816133e5565b93506020850135612b48816133e5565b93969395505050506040820135916060013590565b60008060008060008060a08789031215612b75578182fd5b8635612b80816133e5565b95506020870135612b90816133e5565b94506040870135935060608701359250608087013567ffffffffffffffff811115612bb9578283fd5b612bc589828a01612a68565b979a9699509497509295939492505050565b60008060408385031215612be9578182fd5b8235612bf4816133e5565b915060208301356001600160f81b031981168114612b0d578182fd5b60008060408385031215612c22578182fd5b8235612c2d816133e5565b946020939093013593505050565b60006020808385031215612c4d578182fd5b823567ffffffffffffffff80821115612c64578384fd5b818501915085601f830112612c77578384fd5b813581811115612c8957612c896133cf565b8060051b604051601f19603f83011681018181108582111715612cae57612cae6133cf565b604052828152858101935084860182860187018a1015612ccc578788fd5b8795505b83861015612cf557612ce181612a0e565b855260019590950194938601938601612cd0565b5098975050505050505050565b60008060208385031215612d14578182fd5b823567ffffffffffffffff811115612d2a578283fd5b612d3685828601612a1e565b90969095509350505050565b600080600060408486031215612d56578283fd5b833567ffffffffffffffff811115612d6c578384fd5b612d7886828701612a1e565b909790965060209590950135949350505050565b600060208284031215612d9d578081fd5b81518015158114612365578182fd5b600060208284031215612dbd578081fd5b5035919050565b60008060408385031215612dd6578182fd5b823591506020830135612b0d816133e5565b600060208284031215612df9578081fd5b81356001600160e01b031981168114612365578182fd5b600060208284031215612e21578081fd5b815160028110612365578182fd5b600060208284031215612e40578081fd5b5051919050565b600080600080600060808688031215612e5e578283fd5b853594506020860135612e70816133e5565b935060408601359250606086013567ffffffffffffffff811115612e92578182fd5b612e9e88828901612a68565b969995985093965092949392505050565b600080600060408486031215612ec3578081fd5b83359250602084013567ffffffffffffffff811115612ee0578182fd5b612eec86828701612a1e565b9497909650939450505050565b60008060008060808587031215612f0e578182fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215612f3b578081fd5b815160ff81168114612365578182fd5b81835260006001600160fb1b03831115612f63578081fd5b8260051b80836020870137939093016020019283525090919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60008251612fba81846020870161335b565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612ffc81601785016020880161335b565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161302d81602884016020880161335b565b01602801949350505050565b6001600160a01b038881168252878116602083015286166040820152606081018590526080810184905260c060a0820181905260009061307c9083018486612f7f565b9998505050505050505050565b6001600160a01b03888116825287166020820152604081018690526060810185905260c0608082018190526000906130c49083018587612f7f565b90508260a083015298975050505050505050565b6020808252825182820181905260009190848201906040850190845b818110156131195783516001600160a01b0316835292840192918401916001016130f4565b50909695505050505050565b6020815260006128a5602083018486612f4b565b60408152600061314d604083018587612f4b565b9050826020830152949350505050565b6020808252825182820181905260009190848201906040850190845b8181101561311957835183529284019291840191600101613179565b60208152600082518060208401526131b481604085016020870161335b565b601f01601f19169190910160400192915050565b60208082526017908201527f4d616368696e6572793a206e6f74206d656368616e6963000000000000000000604082015260600190565b60008219821115613212576132126133b9565b500190565b60008261323257634e487b7160e01b81526012600452602481fd5b500490565b600181815b80851115613272578160001904821115613258576132586133b9565b8085161561326557918102915b93841c939080029061323c565b509250929050565b600061236560ff84168360008261329357506001610762565b816132a057506000610762565b81600181146132b657600281146132c0576132dc565b6001915050610762565b60ff8411156132d1576132d16133b9565b50506001821b610762565b5060208310610133831016604e8410600b84101617156132ff575081810a610762565b6133098383613237565b806000190482111561331d5761331d6133b9565b029392505050565b600081600019048311821515161561333f5761333f6133b9565b500290565b600082821015613356576133566133b9565b500390565b60005b8381101561337657818101518382015260200161335e565b838111156121855750506000910152565b600081613396576133966133b9565b506000190190565b60006000198214156133b2576133b26133b9565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146133fa57600080fd5b5056fe49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f7a26469706673582212200009abd9a7de500d898d7bfc27ec3064d5f0cc1eb3e510dd049730acae79abd064736f6c63430008040033038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd9f97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe0c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e51ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3";
"0x608060405260016007553480156200001657600080fd5b506040516200392a3803806200392a833981016040819052620000399162000440565b818180898989898981818686868181846001600160a01b038116620000715760405163d92e233d60e01b815260040160405180910390fd5b6200008c6000805160206200390a8339815191528062000306565b620000a76000805160206200390a8339815191528262000351565b506001600160a01b0382161580620000c657506001600160a01b038116155b15620000e55760405163d92e233d60e01b815260040160405180910390fd5b6200010f6000805160206200388a8339815191526000805160206200390a83398151915262000306565b6200014a7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b9116000805160206200390a83398151915262000306565b620001656000805160206200388a8339815191528362000351565b620001917fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b9118262000351565b505050506001600160a01b03831615905080620001b557506001600160a01b038116155b15620001d45760405163d92e233d60e01b815260040160405180910390fd5b6200020f7f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f7600080516020620038ca83398151915262000306565b62000239600080516020620038ca8339815191526000805160206200390a83398151915262000306565b62000254600080516020620038ca8339815191528362000351565b6200027e600080516020620038ea8339815191526000805160206200390a83398151915262000306565b62000299600080516020620038ea8339815191528262000351565b50505050505050620002b1816200036160201b60201c565b50620002dc600080516020620038aa8339815191526000805160206200390a83398151915262000306565b620002f7600080516020620038aa8339815191528362000351565b505050505050505050620004d5565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6200035d828262000383565b5050565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200035d576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620003df3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b03811681146200043b57600080fd5b919050565b600080600080600080600060e0888a0312156200045c57600080fd5b620004678862000423565b9650620004776020890162000423565b9550620004876040890162000423565b9450620004976060890162000423565b9350620004a76080890162000423565b9250620004b760a0890162000423565b9150620004c760c0890162000423565b905092959891949750929550565b6133a580620004e56000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c80639f87641d11610151578063d547741f116100c3578063e454a5ed11610087578063e454a5ed14610697578063ef47da6d146106be578063f1071c81146106d1578063f48221a3146106e4578063f7bd381f146106f7578063fdd619e01461070a57600080fd5b8063d547741f1461060f578063d5c44c6914610622578063dbab687a14610635578063e0b1bba714610671578063e0b951131461068457600080fd5b8063bc90fa0311610115578063bc90fa031461057e578063bf81bf4314610591578063c0137f7a146105a4578063c32e4f8d146105b7578063cbf8e6c4146105de578063ccf61a41146105e657600080fd5b80639f87641d14610535578063a217fddf14610548578063a2c6f17414610550578063a63513d814610558578063b64230ba1461056b57600080fd5b80634d1dd98f116101ea57806365834acc116101ae57806365834acc146104af578063687020d8146104c2578063851b3288146104e95780638f9745f2146104fc578063907ab0081461050f57806391d148541461052257600080fd5b80634d1dd98f146103a757806350425491146103ce57806355a0f5ba146103ee5780635877e98e1461040157806359cd24241461048f57600080fd5b8063248a9ca31161023c578063248a9ca3146103255780632f2ff15d1461034857806336568abe1461035b5780633c8888fa1461036e57806344c028fe146103815780634a2c1bab1461039457600080fd5b806301ffc9a714610279578063057535b0146102a157806306b70639146102d65780631078f388146102eb578063185025ef14610310575b600080fd5b61028c6102873660046128f6565b610731565b60405190151581526020015b60405180910390f35b6102c87ff97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe81565b604051908152602001610298565b6102e96102e436600461296c565b610768565b005b600c546001600160a01b03165b6040516001600160a01b039091168152602001610298565b6102c860008051602061335083398151915281565b6102c86103333660046129b8565b60009081526020819052604090206001015490565b6102e96103563660046129f9565b610bd6565b6102e96103693660046129f9565b610c01565b6102e961037c366004612a29565b610c7f565b6102c861038f366004612a99565b610ca1565b6102e96103a2366004612b19565b610ee7565b6102c87fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91181565b6103e16103dc366004612bde565b610fe7565b6040516102989190612bfb565b6102e96103fc366004612c48565b61100b565b61045261040f3660046129b8565b60086020526000908152604090208054600182015460028301546003840154600485015460059095015493946001600160a01b0393841694928416939091169186565b604080519687526001600160a01b0395861660208801529385169386019390935292166060840152608083019190915260a082015260c001610298565b6104a261049d366004612bde565b611015565b6040516102989190612c74565b61028c6104bd366004612bde565b611039565b6102c87f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd981565b6102e96104f7366004612bde565b6110b7565b6102e961050a366004612bde565b6110c2565b6102e961051d366004612b19565b611162565b61028c6105303660046129f9565b611270565b6102e9610543366004612cac565b611299565b6102c8600081565b6104a2611420565b6001546102f8906001600160a01b031681565b61028c610579366004612bde565b611431565b6102e961058c366004612a29565b61143e565b6102c861059f3660046129b8565b611460565b6102e96105b2366004612cf8565b6115ed565b6102c87f0c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e581565b6103e161184d565b6102f86105f4366004612bde565b6005602052600090815260409020546001600160a01b031681565b6102e961061d3660046129f9565b611859565b6102c8610630366004612d2a565b61187f565b610658610643366004612bde565b60066020526000908152604090205460f81b81565b6040516001600160f81b03199091168152602001610298565b6102e961067f366004612d70565b611a78565b6102e9610692366004612db2565b611bbd565b6102c87f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d381565b6102e96106cc366004612bde565b611c70565b6102e96106df366004612bde565b611cba565b6102c86106f2366004612ded565b611cc5565b6102e9610705366004612a29565b611e6f565b6102c87f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c81565b60006001600160e01b03198216637965db0b60e01b148061076257506301ffc9a760e01b6001600160e01b03198316145b92915050565b600c54604051631960d2b360e21b81523360048201526001600160a01b03909116906365834acc9060240160206040518083038186803b1580156107ab57600080fd5b505afa1580156107bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e39190612e69565b6108085760405162461bcd60e51b81526004016107ff90612e8b565b60405180910390fd5b80610826576040516314cee7cd60e11b815260040160405180910390fd5b6000600860008585600081811061083f5761083f612ec2565b602090810292909201358352508101919091526040016000908120600201546001600160a01b031691506008818686828161087c5761087c612ec2565b90506020020135815260200190815260200160002060030160009054906101000a90046001600160a01b031690506000826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e557600080fd5b505afa1580156108f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091d9190612ed8565b61092890600a612ff5565b905060005b85811015610b925760006008600089898581811061094d5761094d612ec2565b905060200201358152602001908152602001600020905060008211801561099e575060028101546001600160a01b03868116911614158061099e575060038101546001600160a01b03858116911614155b156109bc5760405163d69b537960e01b815260040160405180910390fd5b80600501544211156109e15760405163011b279960e71b815260040160405180910390fd5b60018101546001600160a01b031660009081526006602052604090205460f81b600160f81b90811614610a275760405163ea8e4eb560e01b815260040160405180910390fd5b600083878360040154610a3a9190613004565b610a449190613023565b60018381015490546040805163030d028960e21b81529051939450610aec936001600160a01b039384169390921691630c340a2491600480820192602092909190829003018186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad19190613045565b600485015460028601546001600160a01b0316929190612072565b60018054600384015491840154604051638033d68760e01b81526001600160a01b039384166004820152602481018590529083166044820152911690638033d68790606401600060405180830381600087803b158015610b4b57600080fd5b505af1158015610b5f573d6000803e3d6000fd5b5050505060018201548254610b7d916001600160a01b0316906120e3565b50508080610b8a90613062565b91505061092d565b507f0210feaf40876b7bc453fe389be6733e7d450692bf07adab2d3c11980f94dcd6868686604051610bc6939291906130b3565b60405180910390a1505050505050565b600082815260208190526040902060010154610bf2813361215b565b610bfc83836121bf565b505050565b6001600160a01b0381163314610c715760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016107ff565b610c7b8282612243565b5050565b6001600160a01b0382166000908152600460205260409020610bfc90826122a8565b600c54604051631960d2b360e21b81523360048201526000916001600160a01b0316906365834acc9060240160206040518083038186803b158015610ce557600080fd5b505afa158015610cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1d9190612e69565b610d395760405162461bcd60e51b81526004016107ff90612e8b565b610d446009876122c4565b610d615760405163d69b537960e01b815260040160405180910390fd5b60008681526008602052604090206005810154421115610d945760405163011b279960e71b815260040160405180910390fd5b610d9f6002876122dc565b610dbc576040516364a7bd4d60e11b815260040160405180910390fd5b600181015460048201546002830154610de5926001600160a01b03918216929116908990612072565b60018101546002820154600383015460048085015460405163a5d4096b60e01b81526001600160a01b038c81169663a5d4096b96610e3696918316959083169492909116928d918d918d9101613100565b602060405180830381600087803b158015610e5057600080fd5b505af1158015610e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e889190613150565b6001820154909250610ea3906001600160a01b0316886120e3565b867ff3b176b50ba6ec4473f418ce17c562a616f7715b23a6bcea8e41d78621f56b3483604051610ed591815260200190565b60405180910390a25095945050505050565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd9610f12813361215b565b60005b8251811015610fab5760006001600160a01b0316838281518110610f3b57610f3b612ec2565b60200260200101516001600160a01b03161415610f6b5760405163d92e233d60e01b815260040160405180910390fd5b610f98838281518110610f8057610f80612ec2565b602002602001015160026122a890919063ffffffff16565b5080610fa381613062565b915050610f15565b507f5d1fd21744530253cbd801d1685bf9e6f5d8a13044c3a7df5628b4c60d7d9e3b82604051610fdb9190612bfb565b60405180910390a15050565b6001600160a01b0381166000908152600460205260409020606090610762906122fe565b610c7b82826120e3565b6001600160a01b0381166000908152600b60205260409020606090610762906122fe565b600c54604051631960d2b360e21b81526001600160a01b03838116600483015260009216906365834acc9060240160206040518083038186803b15801561107f57600080fd5b505afa158015611093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107629190612e69565b610c7b60028261230b565b7f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d36110ed813361215b565b6001600160a01b0382166111145760405163d92e233d60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0384169081179091556040519081527fd820b9bd66f5f69e0ee876fe38d41d612586cb5dfdab23721469fc9c6dd5950d90602001610fdb565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd961118d813361215b565b60005b82518110156112405760006111e1600460008685815181106111b4576111b4612ec2565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020612320565b1115611200576040516361c45a0f60e01b815260040160405180910390fd5b61122d83828151811061121557611215612ec2565b6020026020010151600261230b90919063ffffffff16565b508061123881613062565b915050611190565b507f4290941fe8d89409196966ddfc719772595cef6116ed6bde0bcc72e1182b52b582604051610fdb9190612bfb565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b7f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c6112c4813361215b565b6000848152600860205260408120905b838110156113de576000600860008787858181106112f4576112f4612ec2565b90506020020135815260200190815260200160002090508060000154836000015414806113365750600180820154908401546001600160a01b03908116911614155b806113565750600280820154908401546001600160a01b03908116911614155b806113765750600380820154908401546001600160a01b03908116911614155b156113945760405163d69b537960e01b815260040160405180910390fd5b80600401548360040160008282546113ac9190613169565b9091555050600181015481546113cb916001600160a01b0316906120e3565b50806113d681613062565b9150506112d4565b50847fbba31c5a03767b9eba75f83badce7bc719848c62b42334ab0984c13b96c66bbe8585604051611411929190613181565b60405180910390a25050505050565b606061142c60096122fe565b905090565b60006107626002836122dc565b6001600160a01b0382166000908152600460205260409020610bfc908261230b565b600c54604051631960d2b360e21b81523360048201526000916001600160a01b0316906365834acc9060240160206040518083038186803b1580156114a457600080fd5b505afa1580156114b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dc9190612e69565b6114f85760405162461bcd60e51b81526004016107ff90612e8b565b6115036009836122c4565b6115205760405163d69b537960e01b815260040160405180910390fd5b600082815260086020526040902060058101544210156115535760405163dae7dbed60e01b815260040160405180910390fd5b60048101546001820154600283015491935061157d916001600160a01b0390811691163085612072565b6001810154600482015460028301546115a4926001600160a01b039182169291169061232a565b60018101546115bc906001600160a01b0316846120e3565b60405183907f9e52c476c07e14b40a7ee505cae05543e63c4c2d0c69323803c1fe0b4dd23b8a90600090a250919050565b7ff97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe611618813361215b565b6000858152600860205260408082208683529120600381015460028301546001600160a01b0390811691161415806116655750600281015460038301546001600160a01b03908116911614155b156116835760405163d69b537960e01b815260040160405180910390fd5b81600501544211806116985750806005015442115b156116b65760405163011b279960e71b815260040160405180910390fd5b60018201546001600160a01b031660009081526006602052604090205460f81b600160f91b908116141580611711575060018101546001600160a01b031660009081526006602052604090205460f81b600160f91b90811614155b1561172f5760405163ea8e4eb560e01b815260040160405180910390fd5b600180830154908201546002840154611759926001600160a01b0391821692908216911688612072565b600180820154908301546002830154611783926001600160a01b0391821692908216911687612072565b816004015485146117ad57848260040160008282546117a29190613195565b909155506117c59050565b60018201546117c5906001600160a01b0316886120e3565b806004015484146117ef57838160040160008282546117e49190613195565b909155506118079050565b6001810154611807906001600160a01b0316876120e3565b6040805186815260208101869052879189917fe5d287a20ff8c99c44a2f83dd58978ff9b7555963447c92435c01981a84cb3b0910160405180910390a350505050505050565b606061142c60026122fe565b600082815260208190526040902060010154611875813361215b565b610bfc8383612243565b600060008051602061335083398151915261189a813361215b565b6001600160a01b03861615806118b757506001600160a01b038516155b156118d55760405163d92e233d60e01b815260040160405180910390fd5b836118f357604051631f2a200560e01b815260040160405180910390fd5b42831161191357604051631da7447960e21b815260040160405180910390fd5b6007546040805160c0810182528281523360208083018281526001600160a01b038c81168587019081528c821660608701908152608087018d815260a088018d815260008b8152600888528a81208a5180825597516001820180546001600160a01b0319908116928a169290921790559551600282018054881691891691909117905593516003850180549096169616959095179093555160048201559051600590910155928352600b909152929020929450916119d09161235a565b5080516119df9060099061235a565b506001600760008282546119f39190613169565b9091555050805160208083015160408085015160608087015160808089015160a0808b015187516001600160a01b03998a16815296891699870199909952969092168486015291830152810193909352517f0a369ed6c60e8874ec811770d811145786706c5dd029e4654527e48656bb6eaa9281900390910190a25050949350505050565b600080516020613350833981519152611a91813361215b565b60005b82811015611b7457611ac8848483818110611ab157611ab1612ec2565b9050602002013560096122c490919063ffffffff16565b611ae55760405163d69b537960e01b815260040160405180910390fd5b3360086000868685818110611afc57611afc612ec2565b60209081029290920135835250810191909152604001600020600101546001600160a01b031614611b405760405163ea8e4eb560e01b815260040160405180910390fd5b611b6233858584818110611b5657611b56612ec2565b905060200201356120e3565b80611b6c81613062565b915050611a94565b50336001600160a01b03167fbc02525bfba972df6ef3d6d34e6f4773de0e098177c254a62a4926ec94fdaea68484604051611bb0929190613181565b60405180910390a2505050565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911611be8813361215b565b6001600160a01b038316611c0f5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604091829020805460ff191660f887901c17905590516001600160f81b0319851681527f3c0408280ff44f7512ae2e74ad6e1f6c56d3de609831a70405ea1b97adb768119101611bb0565b7f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3611c9b813361215b565b600c80546001600160a01b0319166001600160a01b0384161790555050565b610c7b6002826122a8565b6000600080516020613350833981519152611ce0813361215b565b336000908152600560205260409020546001600160a01b039081169089161580611d1157506001600160a01b038816155b15611d2f5760405163d92e233d60e01b815260040160405180910390fd5b86611d4d57604051631f2a200560e01b815260040160405180910390fd5b85611d6b57604051635380c59d60e01b815260040160405180910390fd5b611d806001600160a01b038a1633838a612072565b60405163a5d4096b60e01b81526001600160a01b0382169063a5d4096b90611db89033908d908d908d908d908d908d90600401613100565b602060405180830381600087803b158015611dd257600080fd5b505af1158015611de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0a9190613150565b9250806001600160a01b0316336001600160a01b03167f1d816b1b1d67ea42ff2f6dae0a85f237a27e76afccb32ba25e4175330f3703e18b8b8b8b8b8b8b604051611e5b97969594939291906131ac565b60405180910390a350509695505050505050565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911611e9a813361215b565b6001600160a01b0383161580611eb757506001600160a01b038216155b15611ed55760405163d92e233d60e01b815260040160405180910390fd5b6001826001600160a01b031663cd985af06040518163ffffffff1660e01b815260040160206040518083038186803b158015611f1057600080fd5b505afa158015611f24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f489190613211565b6001811115611f5957611f596131fb565b14611f7757604051634b3d6f3360e11b815260040160405180910390fd5b611f826002836122dc565b611f9f576040516364a7bd4d60e11b815260040160405180910390fd5b6001600160a01b038381166000908152600560205260409020541615611ff2576001600160a01b0380841660009081526005602090815260408083205490931682526004905220611ff0908461230b565b505b6001600160a01b03838116600090815260056020908152604080832080546001600160a01b0319169487169485179055928252600490522061203490846122a8565b506040516001600160a01b0383811682528416907f09864ed308dfc2a9cc6804e3b86d38a1aaa4f7adec68be5562b9dd8feb9c1b0590602001611bb0565b6040516001600160a01b03808516602483015283166044820152606481018290526120dd9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612366565b50505050565b6001600160a01b0382166000908152600b602052604090206121059082612438565b50612111600982612438565b5060009081526008602052604081208181556001810180546001600160a01b0319908116909155600282018054821690556003820180549091169055600481018290556005015550565b6121658282611270565b610c7b5761217d816001600160a01b03166014612444565b612188836020612444565b60405160200161219992919061325e565b60408051601f198184030181529082905262461bcd60e51b82526107ff916004016132d3565b6121c98282611270565b610c7b576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556121ff3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61224d8282611270565b15610c7b576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006122bd836001600160a01b0384166125e0565b9392505050565b600081815260018301602052604081205415156122bd565b6001600160a01b038116600090815260018301602052604081205415156122bd565b606060006122bd8361262f565b60006122bd836001600160a01b03841661268b565b6000610762825490565b6040516001600160a01b038316602482015260448101829052610bfc90849063a9059cbb60e01b906064016120a6565b60006122bd83836125e0565b60006123bb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661277e9092919063ffffffff16565b805190915015610bfc57808060200190518101906123d99190612e69565b610bfc5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107ff565b60006122bd838361268b565b60606000612453836002613004565b61245e906002613169565b67ffffffffffffffff81111561247657612476612b03565b6040519080825280601f01601f1916602001820160405280156124a0576020820181803683370190505b509050600360fc1b816000815181106124bb576124bb612ec2565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106124ea576124ea612ec2565b60200101906001600160f81b031916908160001a905350600061250e846002613004565b612519906001613169565b90505b6001811115612591576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061254d5761254d612ec2565b1a60f81b82828151811061256357612563612ec2565b60200101906001600160f81b031916908160001a90535060049490941c9361258a81613306565b905061251c565b5083156122bd5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107ff565b600081815260018301602052604081205461262757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610762565b506000610762565b60608160000180548060200260200160405190810160405280929190818152602001828054801561267f57602002820191906000526020600020905b81548152602001906001019080831161266b575b50505050509050919050565b600081815260018301602052604081205480156127745760006126af600183613195565b85549091506000906126c390600190613195565b90508181146127285760008660000182815481106126e3576126e3612ec2565b906000526020600020015490508087600001848154811061270657612706612ec2565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806127395761273961331d565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610762565b6000915050610762565b606061278d8484600085612795565b949350505050565b6060824710156127f65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016107ff565b843b6128445760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107ff565b600080866001600160a01b031685876040516128609190613333565b60006040518083038185875af1925050503d806000811461289d576040519150601f19603f3d011682016040523d82523d6000602084013e6128a2565b606091505b50915091506128b28282866128bd565b979650505050505050565b606083156128cc5750816122bd565b8251156128dc5782518084602001fd5b8160405162461bcd60e51b81526004016107ff91906132d3565b60006020828403121561290857600080fd5b81356001600160e01b0319811681146122bd57600080fd5b60008083601f84011261293257600080fd5b50813567ffffffffffffffff81111561294a57600080fd5b6020830191508360208260051b850101111561296557600080fd5b9250929050565b60008060006040848603121561298157600080fd5b833567ffffffffffffffff81111561299857600080fd5b6129a486828701612920565b909790965060209590950135949350505050565b6000602082840312156129ca57600080fd5b5035919050565b6001600160a01b03811681146129e657600080fd5b50565b80356129f4816129d1565b919050565b60008060408385031215612a0c57600080fd5b823591506020830135612a1e816129d1565b809150509250929050565b60008060408385031215612a3c57600080fd5b8235612a47816129d1565b91506020830135612a1e816129d1565b60008083601f840112612a6957600080fd5b50813567ffffffffffffffff811115612a8157600080fd5b60208301915083602082850101111561296557600080fd5b600080600080600060808688031215612ab157600080fd5b853594506020860135612ac3816129d1565b935060408601359250606086013567ffffffffffffffff811115612ae657600080fd5b612af288828901612a57565b969995985093965092949392505050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215612b2c57600080fd5b823567ffffffffffffffff80821115612b4457600080fd5b818501915085601f830112612b5857600080fd5b813581811115612b6a57612b6a612b03565b8060051b604051601f19603f83011681018181108582111715612b8f57612b8f612b03565b604052918252848201925083810185019188831115612bad57600080fd5b938501935b82851015612bd257612bc3856129e9565b84529385019392850192612bb2565b98975050505050505050565b600060208284031215612bf057600080fd5b81356122bd816129d1565b6020808252825182820181905260009190848201906040850190845b81811015612c3c5783516001600160a01b031683529284019291840191600101612c17565b50909695505050505050565b60008060408385031215612c5b57600080fd5b8235612c66816129d1565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b81811015612c3c57835183529284019291840191600101612c90565b600080600060408486031215612cc157600080fd5b83359250602084013567ffffffffffffffff811115612cdf57600080fd5b612ceb86828701612920565b9497909650939450505050565b60008060008060808587031215612d0e57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060008060808587031215612d4057600080fd5b8435612d4b816129d1565b93506020850135612d5b816129d1565b93969395505050506040820135916060013590565b60008060208385031215612d8357600080fd5b823567ffffffffffffffff811115612d9a57600080fd5b612da685828601612920565b90969095509350505050565b60008060408385031215612dc557600080fd5b8235612dd0816129d1565b915060208301356001600160f81b031981168114612a1e57600080fd5b60008060008060008060a08789031215612e0657600080fd5b8635612e11816129d1565b95506020870135612e21816129d1565b94506040870135935060608701359250608087013567ffffffffffffffff811115612e4b57600080fd5b612e5789828a01612a57565b979a9699509497509295939492505050565b600060208284031215612e7b57600080fd5b815180151581146122bd57600080fd5b60208082526017908201527f4d616368696e6572793a206e6f74206d656368616e6963000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612eea57600080fd5b815160ff811681146122bd57600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b80851115612f4c578160001904821115612f3257612f32612efb565b80851615612f3f57918102915b93841c9390800290612f16565b509250929050565b600082612f6357506001610762565b81612f7057506000610762565b8160018114612f865760028114612f9057612fac565b6001915050610762565b60ff841115612fa157612fa1612efb565b50506001821b610762565b5060208310610133831016604e8410600b8410161715612fcf575081810a610762565b612fd98383612f11565b8060001904821115612fed57612fed612efb565b029392505050565b60006122bd60ff841683612f54565b600081600019048311821515161561301e5761301e612efb565b500290565b60008261304057634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561305757600080fd5b81516122bd816129d1565b600060001982141561307657613076612efb565b5060010190565b81835260006001600160fb1b0383111561309657600080fd5b8260051b8083602087013760009401602001938452509192915050565b6040815260006130c760408301858761307d565b9050826020830152949350505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038881168252878116602083015286166040820152606081018590526080810184905260c060a0820181905260009061314390830184866130d7565b9998505050505050505050565b60006020828403121561316257600080fd5b5051919050565b6000821982111561317c5761317c612efb565b500190565b60208152600061278d60208301848661307d565b6000828210156131a7576131a7612efb565b500390565b6001600160a01b03888116825287166020820152604081018690526060810185905260c0608082018190526000906131e790830185876130d7565b90508260a083015298975050505050505050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561322357600080fd5b8151600281106122bd57600080fd5b60005b8381101561324d578181015183820152602001613235565b838111156120dd5750506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613296816017850160208801613232565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516132c7816028840160208801613232565b01602801949350505050565b60208152600082518060208401526132f2816040850160208701613232565b601f01601f19169190910160400192915050565b60008161331557613315612efb565b506000190190565b634e487b7160e01b600052603160045260246000fd5b60008251613345818460208701613232565b919091019291505056fe49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f7a2646970667358221220eef1948f616f3a8a680e107b4e924ce1f27981c3252e8a845468d737139ff03a64736f6c63430008090033038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd9f97fb9ac61687d33e6f167fb66bd0dbc2240a42d8369c39aadb26ea8ce05b5fe0c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e51ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3";
type TradeFactoryExecutorMockConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: TradeFactoryExecutorMockConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class TradeFactoryExecutorMock__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: TradeFactoryExecutorMockConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -1367,0 +1373,0 @@ }

@@ -973,12 +973,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x608060405260016007553480156200001657600080fd5b506040516200235f3803806200235f8339810160408190526200003991620003b6565b81818686868181846001600160a01b038116620000695760405163d92e233d60e01b815260040160405180910390fd5b620000846000805160206200233f833981519152806200029e565b6200009f6000805160206200233f83398151915282620002e9565b506001600160a01b0382161580620000be57506001600160a01b038116155b15620000dd5760405163d92e233d60e01b815260040160405180910390fd5b62000107600080516020620022df8339815191526000805160206200233f8339815191526200029e565b620001427fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b9116000805160206200233f8339815191526200029e565b6200015d600080516020620022df83398151915283620002e9565b620001897fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91182620002e9565b505050506001600160a01b03831615905080620001ad57506001600160a01b038116155b15620001cc5760405163d92e233d60e01b815260040160405180910390fd5b620002077f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f7600080516020620022ff8339815191526200029e565b62000231600080516020620022ff8339815191526000805160206200233f8339815191526200029e565b6200024c600080516020620022ff83398151915283620002e9565b620002766000805160206200231f8339815191526000805160206200233f8339815191526200029e565b620002916000805160206200231f83398151915282620002e9565b5050505050505062000425565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b620002f58282620002f9565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620002f5576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620003553390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b0381168114620003b157600080fd5b919050565b600080600080600060a08688031215620003ce578081fd5b620003d98662000399565b9450620003e96020870162000399565b9350620003f96040870162000399565b9250620004096060870162000399565b9150620004196080870162000399565b90509295509295909350565b611eaa80620004356000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80639f87641d11610125578063d547741f116100ad578063e0b951131161007c578063e0b95113146105a0578063e454a5ed146105b3578063f1071c81146105da578063f7bd381f146105ed578063fdd619e01461060057600080fd5b8063d547741f1461052b578063d5c44c691461053e578063dbab687a14610551578063e0b1bba71461058d57600080fd5b8063b64230ba116100f4578063b64230ba146104ad578063bc90fa03146104c0578063c32e4f8d146104d3578063cbf8e6c4146104fa578063ccf61a411461050257600080fd5b80639f87641d1461045f578063a217fddf14610472578063a2c6f1741461047a578063a63513d81461048257600080fd5b806350425491116101a8578063687020d811610177578063687020d8146103ec578063851b3288146104135780638f9745f214610426578063907ab0081461043957806391d148541461044c57600080fd5b8063504254911461030b57806355a0f5ba1461032b5780635877e98e1461033e57806359cd2424146103cc57600080fd5b806336568abe116101e457806336568abe146102ab5780633c8888fa146102be5780634a2c1bab146102d15780634d1dd98f146102e457600080fd5b806301ffc9a714610216578063185025ef1461023e578063248a9ca3146102735780632f2ff15d14610296575b600080fd5b610229610224366004611ba0565b610627565b60405190151581526020015b60405180910390f35b6102657f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f781565b604051908152602001610235565b610265610281366004611b66565b60009081526020819052604090206001015490565b6102a96102a4366004611b7e565b61065e565b005b6102a96102b9366004611b7e565b610689565b6102a96102cc366004611981565b61070c565b6102a96102df366004611a5f565b61072e565b6102657fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91181565b61031e610319366004611967565b61084a565b6040516102359190611ca6565b6102a9610339366004611a36565b61086e565b61038f61034c366004611b66565b60086020526000908152604090208054600182015460028301546003840154600485015460059095015493946001600160a01b0393841694928416939091169186565b604080519687526001600160a01b0395861660208801529385169386019390935292166060840152608083019190915260a082015260c001610235565b6103df6103da366004611967565b610878565b6040516102359190611d2d565b6102657f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd981565b6102a9610421366004611967565b61089c565b6102a9610434366004611967565b6108a7565b6102a9610447366004611a5f565b610947565b61022961045a366004611b7e565b610a71565b6102a961046d366004611be7565b610a9a565b610265600081565b6103df610c2f565b600154610495906001600160a01b031681565b6040516001600160a01b039091168152602001610235565b6102296104bb366004611967565b610c40565b6102a96104ce366004611981565b610c4d565b6102657f0c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e581565b61031e610c6f565b610495610510366004611967565b6005602052600090815260409020546001600160a01b031681565b6102a9610539366004611b7e565b610c7b565b61026561054c3660046119b3565b610ca1565b61057461055f366004611967565b60066020526000908152604090205460f81b81565b6040516001600160f81b03199091168152602001610235565b6102a961059b366004611b26565b610eac565b6102a96105ae3660046119f4565b61102d565b6102657f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d381565b6102a96105e8366004611967565b6110e0565b6102a96105fb366004611981565b6110eb565b6102657f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c81565b60006001600160e01b03198216637965db0b60e01b148061065857506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008281526020819052604090206001015461067a81336112fc565b6106848383611360565b505050565b6001600160a01b03811633146106fe5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61070882826113e4565b5050565b6001600160a01b03821660009081526004602052604090206106849082611449565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd961075981336112fc565b60005b825181101561080e5760006001600160a01b031683828151811061079057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614156107c05760405163d92e233d60e01b815260040160405180910390fd5b6107fb8382815181106107e357634e487b7160e01b600052603260045260246000fd5b6020026020010151600261144990919063ffffffff16565b508061080681611e2d565b91505061075c565b507f5d1fd21744530253cbd801d1685bf9e6f5d8a13044c3a7df5628b4c60d7d9e3b8260405161083e9190611ca6565b60405180910390a15050565b6001600160a01b038116600090815260046020526040902060609061065890611465565b6107088282611472565b6001600160a01b0381166000908152600b6020526040902060609061065890611465565b6107086002826114ea565b7f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d36108d281336112fc565b6001600160a01b0382166108f95760405163d92e233d60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0384169081179091556040519081527fd820b9bd66f5f69e0ee876fe38d41d612586cb5dfdab23721469fc9c6dd5950d9060200161083e565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd961097281336112fc565b60005b8251811015610a415760006109d4600460008685815181106109a757634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206114ff565b11156109f3576040516361c45a0f60e01b815260040160405180910390fd5b610a2e838281518110610a1657634e487b7160e01b600052603260045260246000fd5b602002602001015160026114ea90919063ffffffff16565b5080610a3981611e2d565b915050610975565b507f4290941fe8d89409196966ddfc719772595cef6116ed6bde0bcc72e1182b52b58260405161083e9190611ca6565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b7f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c610ac581336112fc565b6000848152600860205260408120905b83811015610bed57600060086000878785818110610b0357634e487b7160e01b600052603260045260246000fd5b9050602002013581526020019081526020016000209050806000015483600001541480610b455750600180820154908401546001600160a01b03908116911614155b80610b655750600280820154908401546001600160a01b03908116911614155b80610b855750600380820154908401546001600160a01b03908116911614155b15610ba35760405163d69b537960e01b815260040160405180910390fd5b8060040154836004016000828254610bbb9190611d98565b909155505060018101548154610bda916001600160a01b031690611472565b5080610be581611e2d565b915050610ad5565b50847fbba31c5a03767b9eba75f83badce7bc719848c62b42334ab0984c13b96c66bbe8585604051610c20929190611cf3565b60405180910390a25050505050565b6060610c3b6009611465565b905090565b6000610658600283611509565b6001600160a01b038216600090815260046020526040902061068490826114ea565b6060610c3b6002611465565b600082815260208190526040902060010154610c9781336112fc565b61068483836113e4565b60007f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f7610cce81336112fc565b6001600160a01b0386161580610ceb57506001600160a01b038516155b15610d095760405163d92e233d60e01b815260040160405180910390fd5b83610d2757604051631f2a200560e01b815260040160405180910390fd5b428311610d4757604051631da7447960e21b815260040160405180910390fd5b6007546040805160c0810182528281523360208083018281526001600160a01b038c81168587019081528c821660608701908152608087018d815260a088018d815260008b8152600888528a81208a5180825597516001820180546001600160a01b0319908116928a169290921790559551600282018054881691891691909117905593516003850180549096169616959095179093555160048201559051600590910155928352600b90915292902092945091610e049161152b565b508051610e139060099061152b565b50600160076000828254610e279190611d98565b9091555050805160208083015160408085015160608087015160808089015160a0808b015187516001600160a01b03998a16815296891699870199909952969092168486015291830152810193909352517f0a369ed6c60e8874ec811770d811145786706c5dd029e4654527e48656bb6eaa9281900390910190a25050949350505050565b7f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f7610ed781336112fc565b60005b82811015610fe457610f1c848483818110610f0557634e487b7160e01b600052603260045260246000fd5b90506020020135600961153790919063ffffffff16565b610f395760405163d69b537960e01b815260040160405180910390fd5b3360086000868685818110610f5e57634e487b7160e01b600052603260045260246000fd5b60209081029290920135835250810191909152604001600020600101546001600160a01b031614610fa25760405163ea8e4eb560e01b815260040160405180910390fd5b610fd233858584818110610fc657634e487b7160e01b600052603260045260246000fd5b90506020020135611472565b80610fdc81611e2d565b915050610eda565b50336001600160a01b03167fbc02525bfba972df6ef3d6d34e6f4773de0e098177c254a62a4926ec94fdaea68484604051611020929190611cf3565b60405180910390a2505050565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91161105881336112fc565b6001600160a01b03831661107f5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604091829020805460ff191660f887901c17905590516001600160f81b0319851681527f3c0408280ff44f7512ae2e74ad6e1f6c56d3de609831a70405ea1b97adb768119101611020565b610708600282611449565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91161111681336112fc565b6001600160a01b038316158061113357506001600160a01b038216155b156111515760405163d92e233d60e01b815260040160405180910390fd5b6001826001600160a01b031663cd985af06040518163ffffffff1660e01b815260040160206040518083038186803b15801561118c57600080fd5b505afa1580156111a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c49190611bc8565b60018111156111e357634e487b7160e01b600052602160045260246000fd5b1461120157604051634b3d6f3360e11b815260040160405180910390fd5b61120c600283611509565b611229576040516364a7bd4d60e11b815260040160405180910390fd5b6001600160a01b03838116600090815260056020526040902054161561127c576001600160a01b038084166000908152600560209081526040808320549093168252600490522061127a90846114ea565b505b6001600160a01b03838116600090815260056020908152604080832080546001600160a01b031916948716948517905592825260049052206112be9084611449565b506040516001600160a01b0383811682528416907f09864ed308dfc2a9cc6804e3b86d38a1aaa4f7adec68be5562b9dd8feb9c1b0590602001611020565b6113068282610a71565b6107085761131e816001600160a01b0316601461154f565b61132983602061154f565b60405160200161133a929190611c31565b60408051601f198184030181529082905262461bcd60e51b82526106f591600401611d65565b61136a8282610a71565b610708576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556113a03390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6113ee8282610a71565b15610708576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600061145e836001600160a01b038416611731565b9392505050565b6060600061145e83611780565b6001600160a01b0382166000908152600b6020526040902061149490826117dc565b506114a06009826117dc565b5060009081526008602052604081208181556001810180546001600160a01b0319908116909155600282018054821690556003820180549091169055600481018290556005015550565b600061145e836001600160a01b0384166117e4565b6000610658825490565b6001600160a01b0381166000908152600183016020526040812054151561145e565b600061145e8383611731565b6000818152600183016020526040812054151561145e565b6060600061155e836002611db0565b611569906002611d98565b67ffffffffffffffff81111561158f57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156115b9576020820181803683370190505b509050600360fc1b816000815181106115e257634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061161f57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000611643846002611db0565b61164e906001611d98565b90505b60018111156116e2576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061169057634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106116b457634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c936116db81611e16565b9050611651565b50831561145e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106f5565b600081815260018301602052604081205461177857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610658565b506000610658565b6060816000018054806020026020016040519081016040528092919081815260200182805480156117d057602002820191906000526020600020905b8154815260200190600101908083116117bc575b50505050509050919050565b600061145e83835b600081815260018301602052604081205480156118f7576000611808600183611dcf565b855490915060009061181c90600190611dcf565b905081811461189d57600086600001828154811061184a57634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061187b57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b85548690806118bc57634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610658565b6000915050610658565b80356001600160a01b038116811461191857600080fd5b919050565b60008083601f84011261192e578081fd5b50813567ffffffffffffffff811115611945578182fd5b6020830191508360208260051b850101111561196057600080fd5b9250929050565b600060208284031215611978578081fd5b61145e82611901565b60008060408385031215611993578081fd5b61199c83611901565b91506119aa60208401611901565b90509250929050565b600080600080608085870312156119c8578182fd5b6119d185611901565b93506119df60208601611901565b93969395505050506040820135916060013590565b60008060408385031215611a06578182fd5b611a0f83611901565b915060208301356001600160f81b031981168114611a2b578182fd5b809150509250929050565b60008060408385031215611a48578182fd5b611a5183611901565b946020939093013593505050565b60006020808385031215611a71578182fd5b823567ffffffffffffffff80821115611a88578384fd5b818501915085601f830112611a9b578384fd5b813581811115611aad57611aad611e5e565b8060051b604051601f19603f83011681018181108582111715611ad257611ad2611e5e565b604052828152858101935084860182860187018a1015611af0578788fd5b8795505b83861015611b1957611b0581611901565b855260019590950194938601938601611af4565b5098975050505050505050565b60008060208385031215611b38578182fd5b823567ffffffffffffffff811115611b4e578283fd5b611b5a8582860161191d565b90969095509350505050565b600060208284031215611b77578081fd5b5035919050565b60008060408385031215611b90578182fd5b823591506119aa60208401611901565b600060208284031215611bb1578081fd5b81356001600160e01b03198116811461145e578182fd5b600060208284031215611bd9578081fd5b81516002811061145e578182fd5b600080600060408486031215611bfb578283fd5b83359250602084013567ffffffffffffffff811115611c18578283fd5b611c248682870161191d565b9497909650939450505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c69816017850160208801611de6565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611c9a816028840160208801611de6565b01602801949350505050565b6020808252825182820181905260009190848201906040850190845b81811015611ce75783516001600160a01b031683529284019291840191600101611cc2565b50909695505050505050565b6020808252810182905260006001600160fb1b03831115611d12578081fd5b8260051b808560408501379190910160400190815292915050565b6020808252825182820181905260009190848201906040850190845b81811015611ce757835183529284019291840191600101611d49565b6020815260008251806020840152611d84816040850160208701611de6565b601f01601f19169190910160400192915050565b60008219821115611dab57611dab611e48565b500190565b6000816000190483118215151615611dca57611dca611e48565b500290565b600082821015611de157611de1611e48565b500390565b60005b83811015611e01578181015183820152602001611de9565b83811115611e10576000848401525b50505050565b600081611e2557611e25611e48565b506000190190565b6000600019821415611e4157611e41611e48565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220e56318e3671ef19d278858a9c677f88d05b1ff43120696064ce5950fc15d219764736f6c63430008040033038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd90c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e51ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3";
"0x608060405260016007553480156200001657600080fd5b50604051620022c6380380620022c68339810160408190526200003991620003b6565b81818686868181846001600160a01b038116620000695760405163d92e233d60e01b815260040160405180910390fd5b62000084600080516020620022a6833981519152806200029e565b6200009f600080516020620022a683398151915282620002e9565b506001600160a01b0382161580620000be57506001600160a01b038116155b15620000dd5760405163d92e233d60e01b815260040160405180910390fd5b6200010760008051602062002246833981519152600080516020620022a68339815191526200029e565b620001427fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911600080516020620022a68339815191526200029e565b6200015d6000805160206200224683398151915283620002e9565b620001897fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91182620002e9565b505050506001600160a01b03831615905080620001ad57506001600160a01b038116155b15620001cc5760405163d92e233d60e01b815260040160405180910390fd5b620002077f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f7600080516020620022668339815191526200029e565b6200023160008051602062002266833981519152600080516020620022a68339815191526200029e565b6200024c6000805160206200226683398151915283620002e9565b6200027660008051602062002286833981519152600080516020620022a68339815191526200029e565b620002916000805160206200228683398151915282620002e9565b5050505050505062000426565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b620002f58282620002f9565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620002f5576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620003553390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b0381168114620003b157600080fd5b919050565b600080600080600060a08688031215620003cf57600080fd5b620003da8662000399565b9450620003ea6020870162000399565b9350620003fa6040870162000399565b92506200040a6060870162000399565b91506200041a6080870162000399565b90509295509295909350565b611e1080620004366000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80639f87641d11610125578063d547741f116100ad578063e0b951131161007c578063e0b95113146105a0578063e454a5ed146105b3578063f1071c81146105da578063f7bd381f146105ed578063fdd619e01461060057600080fd5b8063d547741f1461052b578063d5c44c691461053e578063dbab687a14610551578063e0b1bba71461058d57600080fd5b8063b64230ba116100f4578063b64230ba146104ad578063bc90fa03146104c0578063c32e4f8d146104d3578063cbf8e6c4146104fa578063ccf61a411461050257600080fd5b80639f87641d1461045f578063a217fddf14610472578063a2c6f1741461047a578063a63513d81461048257600080fd5b806350425491116101a8578063687020d811610177578063687020d8146103ec578063851b3288146104135780638f9745f214610426578063907ab0081461043957806391d148541461044c57600080fd5b8063504254911461030b57806355a0f5ba1461032b5780635877e98e1461033e57806359cd2424146103cc57600080fd5b806336568abe116101e457806336568abe146102ab5780633c8888fa146102be5780634a2c1bab146102d15780634d1dd98f146102e457600080fd5b806301ffc9a714610216578063185025ef1461023e578063248a9ca3146102735780632f2ff15d14610296575b600080fd5b610229610224366004611813565b610627565b60405190151581526020015b60405180910390f35b6102657f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f781565b604051908152602001610235565b61026561028136600461183d565b60009081526020819052604090206001015490565b6102a96102a4366004611872565b61065e565b005b6102a96102b9366004611872565b610689565b6102a96102cc36600461189e565b61070c565b6102a96102df3660046118de565b61072e565b6102657fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91181565b61031e6103193660046119a3565b61082e565b60405161023591906119be565b6102a9610339366004611a0b565b610852565b61038f61034c36600461183d565b60086020526000908152604090208054600182015460028301546003840154600485015460059095015493946001600160a01b0393841694928416939091169186565b604080519687526001600160a01b0395861660208801529385169386019390935292166060840152608083019190915260a082015260c001610235565b6103df6103da3660046119a3565b61085c565b6040516102359190611a35565b6102657f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd981565b6102a96104213660046119a3565b610880565b6102a96104343660046119a3565b61088b565b6102a96104473660046118de565b61092b565b61022961045a366004611872565b610a39565b6102a961046d366004611ab9565b610a62565b610265600081565b6103df610be9565b600154610495906001600160a01b031681565b6040516001600160a01b039091168152602001610235565b6102296104bb3660046119a3565b610bfa565b6102a96104ce36600461189e565b610c07565b6102657f0c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e581565b61031e610c29565b6104956105103660046119a3565b6005602052600090815260409020546001600160a01b031681565b6102a9610539366004611872565b610c35565b61026561054c366004611b05565b610c5b565b61057461055f3660046119a3565b60066020526000908152604090205460f81b81565b6040516001600160f81b03199091168152602001610235565b6102a961059b366004611b47565b610e66565b6102a96105ae366004611b89565b610fbd565b6102657f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d381565b6102a96105e83660046119a3565b611070565b6102a96105fb36600461189e565b61107b565b6102657f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c81565b60006001600160e01b03198216637965db0b60e01b148061065857506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008281526020819052604090206001015461067a813361127e565b61068483836112e2565b505050565b6001600160a01b03811633146106fe5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6107088282611366565b5050565b6001600160a01b038216600090815260046020526040902061068490826113cb565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd9610759813361127e565b60005b82518110156107f25760006001600160a01b031683828151811061078257610782611bcd565b60200260200101516001600160a01b031614156107b25760405163d92e233d60e01b815260040160405180910390fd5b6107df8382815181106107c7576107c7611bcd565b602002602001015160026113cb90919063ffffffff16565b50806107ea81611bf9565b91505061075c565b507f5d1fd21744530253cbd801d1685bf9e6f5d8a13044c3a7df5628b4c60d7d9e3b8260405161082291906119be565b60405180910390a15050565b6001600160a01b0381166000908152600460205260409020606090610658906113e7565b61070882826113f4565b6001600160a01b0381166000908152600b60205260409020606090610658906113e7565b61070860028261146c565b7f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d36108b6813361127e565b6001600160a01b0382166108dd5760405163d92e233d60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0384169081179091556040519081527fd820b9bd66f5f69e0ee876fe38d41d612586cb5dfdab23721469fc9c6dd5950d90602001610822565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd9610956813361127e565b60005b8251811015610a095760006109aa6004600086858151811061097d5761097d611bcd565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020611481565b11156109c9576040516361c45a0f60e01b815260040160405180910390fd5b6109f68382815181106109de576109de611bcd565b6020026020010151600261146c90919063ffffffff16565b5080610a0181611bf9565b915050610959565b507f4290941fe8d89409196966ddfc719772595cef6116ed6bde0bcc72e1182b52b58260405161082291906119be565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b7f1ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c610a8d813361127e565b6000848152600860205260408120905b83811015610ba757600060086000878785818110610abd57610abd611bcd565b9050602002013581526020019081526020016000209050806000015483600001541480610aff5750600180820154908401546001600160a01b03908116911614155b80610b1f5750600280820154908401546001600160a01b03908116911614155b80610b3f5750600380820154908401546001600160a01b03908116911614155b15610b5d5760405163d69b537960e01b815260040160405180910390fd5b8060040154836004016000828254610b759190611c14565b909155505060018101548154610b94916001600160a01b0316906113f4565b5080610b9f81611bf9565b915050610a9d565b50847fbba31c5a03767b9eba75f83badce7bc719848c62b42334ab0984c13b96c66bbe8585604051610bda929190611c2c565b60405180910390a25050505050565b6060610bf560096113e7565b905090565b600061065860028361148b565b6001600160a01b0382166000908152600460205260409020610684908261146c565b6060610bf560026113e7565b600082815260208190526040902060010154610c51813361127e565b6106848383611366565b60007f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f7610c88813361127e565b6001600160a01b0386161580610ca557506001600160a01b038516155b15610cc35760405163d92e233d60e01b815260040160405180910390fd5b83610ce157604051631f2a200560e01b815260040160405180910390fd5b428311610d0157604051631da7447960e21b815260040160405180910390fd5b6007546040805160c0810182528281523360208083018281526001600160a01b038c81168587019081528c821660608701908152608087018d815260a088018d815260008b8152600888528a81208a5180825597516001820180546001600160a01b0319908116928a169290921790559551600282018054881691891691909117905593516003850180549096169616959095179093555160048201559051600590910155928352600b90915292902092945091610dbe916114ad565b508051610dcd906009906114ad565b50600160076000828254610de19190611c14565b9091555050805160208083015160408085015160608087015160808089015160a0808b015187516001600160a01b03998a16815296891699870199909952969092168486015291830152810193909352517f0a369ed6c60e8874ec811770d811145786706c5dd029e4654527e48656bb6eaa9281900390910190a25050949350505050565b7f49e347583a7b9e7f325e8963ee1f94127eba81e401796874b5a22f7c8f9d45f7610e91813361127e565b60005b82811015610f7457610ec8848483818110610eb157610eb1611bcd565b9050602002013560096114b990919063ffffffff16565b610ee55760405163d69b537960e01b815260040160405180910390fd5b3360086000868685818110610efc57610efc611bcd565b60209081029290920135835250810191909152604001600020600101546001600160a01b031614610f405760405163ea8e4eb560e01b815260040160405180910390fd5b610f6233858584818110610f5657610f56611bcd565b905060200201356113f4565b80610f6c81611bf9565b915050610e94565b50336001600160a01b03167fbc02525bfba972df6ef3d6d34e6f4773de0e098177c254a62a4926ec94fdaea68484604051610fb0929190611c2c565b60405180910390a2505050565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b911610fe8813361127e565b6001600160a01b03831661100f5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604091829020805460ff191660f887901c17905590516001600160f81b0319851681527f3c0408280ff44f7512ae2e74ad6e1f6c56d3de609831a70405ea1b97adb768119101610fb0565b6107086002826113cb565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b9116110a6813361127e565b6001600160a01b03831615806110c357506001600160a01b038216155b156110e15760405163d92e233d60e01b815260040160405180910390fd5b6001826001600160a01b031663cd985af06040518163ffffffff1660e01b815260040160206040518083038186803b15801561111c57600080fd5b505afa158015611130573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111549190611c7e565b600181111561116557611165611c68565b1461118357604051634b3d6f3360e11b815260040160405180910390fd5b61118e60028361148b565b6111ab576040516364a7bd4d60e11b815260040160405180910390fd5b6001600160a01b0383811660009081526005602052604090205416156111fe576001600160a01b03808416600090815260056020908152604080832054909316825260049052206111fc908461146c565b505b6001600160a01b03838116600090815260056020908152604080832080546001600160a01b0319169487169485179055928252600490522061124090846113cb565b506040516001600160a01b0383811682528416907f09864ed308dfc2a9cc6804e3b86d38a1aaa4f7adec68be5562b9dd8feb9c1b0590602001610fb0565b6112888282610a39565b610708576112a0816001600160a01b031660146114d1565b6112ab8360206114d1565b6040516020016112bc929190611ccf565b60408051601f198184030181529082905262461bcd60e51b82526106f591600401611d44565b6112ec8282610a39565b610708576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556113223390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6113708282610a39565b15610708576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006113e0836001600160a01b03841661166d565b9392505050565b606060006113e0836116bc565b6001600160a01b0382166000908152600b602052604090206114169082611718565b50611422600982611718565b5060009081526008602052604081208181556001810180546001600160a01b0319908116909155600282018054821690556003820180549091169055600481018290556005015550565b60006113e0836001600160a01b038416611720565b6000610658825490565b6001600160a01b038116600090815260018301602052604081205415156113e0565b60006113e0838361166d565b600081815260018301602052604081205415156113e0565b606060006114e0836002611d77565b6114eb906002611c14565b67ffffffffffffffff811115611503576115036118c8565b6040519080825280601f01601f19166020018201604052801561152d576020820181803683370190505b509050600360fc1b8160008151811061154857611548611bcd565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061157757611577611bcd565b60200101906001600160f81b031916908160001a905350600061159b846002611d77565b6115a6906001611c14565b90505b600181111561161e576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106115da576115da611bcd565b1a60f81b8282815181106115f0576115f0611bcd565b60200101906001600160f81b031916908160001a90535060049490941c9361161781611d96565b90506115a9565b5083156113e05760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106f5565b60008181526001830160205260408120546116b457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610658565b506000610658565b60608160000180548060200260200160405190810160405280929190818152602001828054801561170c57602002820191906000526020600020905b8154815260200190600101908083116116f8575b50505050509050919050565b60006113e083835b60008181526001830160205260408120548015611809576000611744600183611dad565b855490915060009061175890600190611dad565b90508181146117bd57600086600001828154811061177857611778611bcd565b906000526020600020015490508087600001848154811061179b5761179b611bcd565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806117ce576117ce611dc4565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610658565b6000915050610658565b60006020828403121561182557600080fd5b81356001600160e01b0319811681146113e057600080fd5b60006020828403121561184f57600080fd5b5035919050565b80356001600160a01b038116811461186d57600080fd5b919050565b6000806040838503121561188557600080fd5b8235915061189560208401611856565b90509250929050565b600080604083850312156118b157600080fd5b6118ba83611856565b915061189560208401611856565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156118f157600080fd5b823567ffffffffffffffff8082111561190957600080fd5b818501915085601f83011261191d57600080fd5b81358181111561192f5761192f6118c8565b8060051b604051601f19603f83011681018181108582111715611954576119546118c8565b60405291825284820192508381018501918883111561197257600080fd5b938501935b828510156119975761198885611856565b84529385019392850192611977565b98975050505050505050565b6000602082840312156119b557600080fd5b6113e082611856565b6020808252825182820181905260009190848201906040850190845b818110156119ff5783516001600160a01b0316835292840192918401916001016119da565b50909695505050505050565b60008060408385031215611a1e57600080fd5b611a2783611856565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156119ff57835183529284019291840191600101611a51565b60008083601f840112611a7f57600080fd5b50813567ffffffffffffffff811115611a9757600080fd5b6020830191508360208260051b8501011115611ab257600080fd5b9250929050565b600080600060408486031215611ace57600080fd5b83359250602084013567ffffffffffffffff811115611aec57600080fd5b611af886828701611a6d565b9497909650939450505050565b60008060008060808587031215611b1b57600080fd5b611b2485611856565b9350611b3260208601611856565b93969395505050506040820135916060013590565b60008060208385031215611b5a57600080fd5b823567ffffffffffffffff811115611b7157600080fd5b611b7d85828601611a6d565b90969095509350505050565b60008060408385031215611b9c57600080fd5b611ba583611856565b915060208301356001600160f81b031981168114611bc257600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611c0d57611c0d611be3565b5060010190565b60008219821115611c2757611c27611be3565b500190565b6020808252810182905260006001600160fb1b03831115611c4c57600080fd5b8260051b80856040850137600092016040019182525092915050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215611c9057600080fd5b8151600281106113e057600080fd5b60005b83811015611cba578181015183820152602001611ca2565b83811115611cc9576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611d07816017850160208801611c9f565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611d38816028840160208801611c9f565b01602801949350505050565b6020815260008251806020840152611d63816040850160208701611c9f565b601f01601f19169190910160400192915050565b6000816000190483118215151615611d9157611d91611be3565b500290565b600081611da557611da5611be3565b506000190190565b600082821015611dbf57611dbf611be3565b500390565b634e487b7160e01b600052603160045260246000fdfea26469706673582212200070eeb2dd66d6933367453a8fa0a4d3cb8547f9dbad2f4b7bb46bfab45dcad564736f6c63430008090033038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd90c98cf5b298d76683bff7ac7eb2544a1c5413c08c055cad5077796993f1b71e51ed19b7d0b1c0348ffe4846e5ac48d95c752b9576e5f8791436d013fb3e84b5c0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3";
type TradeFactoryPositionsHandlerMockConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: TradeFactoryPositionsHandlerMockConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class TradeFactoryPositionsHandlerMock__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: TradeFactoryPositionsHandlerMockConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -985,0 +991,0 @@ }

@@ -645,12 +645,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x60806040523480156200001157600080fd5b506040516200182a3803806200182a8339810160408190526200003491620002a2565b8181846001600160a01b0381166200005f5760405163d92e233d60e01b815260040160405180910390fd5b6200007a6000805160206200180a833981519152806200018a565b620000956000805160206200180a83398151915282620001d5565b506001600160a01b0382161580620000b457506001600160a01b038116155b15620000d35760405163d92e233d60e01b815260040160405180910390fd5b620000fd600080516020620017ea8339815191526000805160206200180a8339815191526200018a565b620001387fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b9116000805160206200180a8339815191526200018a565b62000153600080516020620017ea83398151915283620001d5565b6200017f7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91182620001d5565b5050505050620002eb565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b620001e18282620001e5565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620001e1576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002413390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b03811681146200029d57600080fd5b919050565b600080600060608486031215620002b7578283fd5b620002c28462000285565b9250620002d26020850162000285565b9150620002e26040850162000285565b90509250925092565b6114ef80620002fb6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806391d14854116100de578063ccf61a4111610097578063e0b9511311610071578063e0b95113146103b2578063e454a5ed146103c5578063f1071c81146103ec578063f7bd381f146103ff57600080fd5b8063ccf61a411461033a578063d547741f14610363578063dbab687a1461037657600080fd5b806391d14854146102c6578063a217fddf146102d9578063a63513d8146102e1578063b64230ba1461030c578063bc90fa031461031f578063cbf8e6c41461033257600080fd5b80634d1dd98f116101305780634d1dd98f1461021f5780635042549114610246578063687020d814610266578063851b32881461028d5780638f9745f2146102a0578063907ab008146102b357600080fd5b806301ffc9a714610178578063248a9ca3146101a05780632f2ff15d146101d157806336568abe146101e65780633c8888fa146101f95780634a2c1bab1461020c575b600080fd5b61018b6101863660046112a1565b610412565b60405190151581526020015b60405180910390f35b6101c36101ae366004611267565b60009081526020819052604090206001015490565b604051908152602001610197565b6101e46101df36600461127f565b610449565b005b6101e46101f436600461127f565b610474565b6101e461020736600461112c565b6104f7565b6101e461021a3660046111a0565b610519565b6101c37fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91181565b610259610254366004611112565b610635565b604051610197919061135d565b6101c37f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd981565b6101e461029b366004611112565b610659565b6101e46102ae366004611112565b610664565b6101e46102c13660046111a0565b610704565b61018b6102d436600461127f565b61082e565b6101c3600081565b6001546102f4906001600160a01b031681565b6040516001600160a01b039091168152602001610197565b61018b61031a366004611112565b610857565b6101e461032d36600461112c565b610864565b610259610886565b6102f4610348366004611112565b6005602052600090815260409020546001600160a01b031681565b6101e461037136600461127f565b610897565b610399610384366004611112565b60066020526000908152604090205460f81b81565b6040516001600160f81b03199091168152602001610197565b6101e46103c036600461115e565b6108bd565b6101c37f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d381565b6101e46103fa366004611112565b610979565b6101e461040d36600461112c565b610984565b60006001600160e01b03198216637965db0b60e01b148061044357506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000828152602081905260409020600101546104658133610b95565b61046f8383610bf9565b505050565b6001600160a01b03811633146104e95760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6104f38282610c7d565b5050565b6001600160a01b038216600090815260046020526040902061046f9082610ce2565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd96105448133610b95565b60005b82518110156105f95760006001600160a01b031683828151811061057b57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614156105ab5760405163d92e233d60e01b815260040160405180910390fd5b6105e68382815181106105ce57634e487b7160e01b600052603260045260246000fd5b60200260200101516002610ce290919063ffffffff16565b50806105f181611472565b915050610547565b507f5d1fd21744530253cbd801d1685bf9e6f5d8a13044c3a7df5628b4c60d7d9e3b82604051610629919061135d565b60405180910390a15050565b6001600160a01b038116600090815260046020526040902060609061044390610cfe565b6104f3600282610d0b565b7f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d361068f8133610b95565b6001600160a01b0382166106b65760405163d92e233d60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0384169081179091556040519081527fd820b9bd66f5f69e0ee876fe38d41d612586cb5dfdab23721469fc9c6dd5950d90602001610629565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd961072f8133610b95565b60005b82518110156107fe5760006107916004600086858151811061076457634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020610d20565b11156107b0576040516361c45a0f60e01b815260040160405180910390fd5b6107eb8382815181106107d357634e487b7160e01b600052603260045260246000fd5b60200260200101516002610d0b90919063ffffffff16565b50806107f681611472565b915050610732565b507f4290941fe8d89409196966ddfc719772595cef6116ed6bde0bcc72e1182b52b582604051610629919061135d565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610443600283610d2a565b6001600160a01b038216600090815260046020526040902061046f9082610d0b565b60606108926002610cfe565b905090565b6000828152602081905260409020600101546108b38133610b95565b61046f8383610c7d565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b9116108e88133610b95565b6001600160a01b03831661090f5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604091829020805460ff191660f887901c17905590516001600160f81b0319851681527f3c0408280ff44f7512ae2e74ad6e1f6c56d3de609831a70405ea1b97adb7681191015b60405180910390a2505050565b6104f3600282610ce2565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b9116109af8133610b95565b6001600160a01b03831615806109cc57506001600160a01b038216155b156109ea5760405163d92e233d60e01b815260040160405180910390fd5b6001826001600160a01b031663cd985af06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2557600080fd5b505afa158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d91906112c9565b6001811115610a7c57634e487b7160e01b600052602160045260246000fd5b14610a9a57604051634b3d6f3360e11b815260040160405180910390fd5b610aa5600283610d2a565b610ac2576040516364a7bd4d60e11b815260040160405180910390fd5b6001600160a01b038381166000908152600560205260409020541615610b15576001600160a01b0380841660009081526005602090815260408083205490931682526004905220610b139084610d0b565b505b6001600160a01b03838116600090815260056020908152604080832080546001600160a01b03191694871694851790559282526004905220610b579084610ce2565b506040516001600160a01b0383811682528416907f09864ed308dfc2a9cc6804e3b86d38a1aaa4f7adec68be5562b9dd8feb9c1b059060200161096c565b610b9f828261082e565b6104f357610bb7816001600160a01b03166014610d4c565b610bc2836020610d4c565b604051602001610bd39291906112e8565b60408051601f198184030181529082905262461bcd60e51b82526104e0916004016113aa565b610c03828261082e565b6104f3576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610c393390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610c87828261082e565b156104f3576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610cf7836001600160a01b038416610f2e565b9392505050565b60606000610cf783610f7d565b6000610cf7836001600160a01b038416610fd9565b6000610443825490565b6001600160a01b03811660009081526001830160205260408120541515610cf7565b60606000610d5b8360026113f5565b610d669060026113dd565b67ffffffffffffffff811115610d8c57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015610db6576020820181803683370190505b509050600360fc1b81600081518110610ddf57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610e1c57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000610e408460026113f5565b610e4b9060016113dd565b90505b6001811115610edf576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610e8d57634e487b7160e01b600052603260045260246000fd5b1a60f81b828281518110610eb157634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c93610ed88161145b565b9050610e4e565b508315610cf75760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104e0565b6000818152600183016020526040812054610f7557508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610443565b506000610443565b606081600001805480602002602001604051908101604052809291908181526020018280548015610fcd57602002820191906000526020600020905b815481526020019060010190808311610fb9575b50505050509050919050565b600081815260018301602052604081205480156110ec576000610ffd600183611414565b855490915060009061101190600190611414565b905081811461109257600086600001828154811061103f57634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061107057634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b85548690806110b157634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610443565b6000915050610443565b80356001600160a01b038116811461110d57600080fd5b919050565b600060208284031215611123578081fd5b610cf7826110f6565b6000806040838503121561113e578081fd5b611147836110f6565b9150611155602084016110f6565b90509250929050565b60008060408385031215611170578182fd5b611179836110f6565b915060208301356001600160f81b031981168114611195578182fd5b809150509250929050565b600060208083850312156111b2578182fd5b823567ffffffffffffffff808211156111c9578384fd5b818501915085601f8301126111dc578384fd5b8135818111156111ee576111ee6114a3565b8060051b604051601f19603f83011681018181108582111715611213576112136114a3565b604052828152858101935084860182860187018a1015611231578788fd5b8795505b8386101561125a57611246816110f6565b855260019590950194938601938601611235565b5098975050505050505050565b600060208284031215611278578081fd5b5035919050565b60008060408385031215611291578182fd5b82359150611155602084016110f6565b6000602082840312156112b2578081fd5b81356001600160e01b031981168114610cf7578182fd5b6000602082840312156112da578081fd5b815160028110610cf7578182fd5b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161132081601785016020880161142b565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161135181602884016020880161142b565b01602801949350505050565b6020808252825182820181905260009190848201906040850190845b8181101561139e5783516001600160a01b031683529284019291840191600101611379565b50909695505050505050565b60208152600082518060208401526113c981604085016020870161142b565b601f01601f19169190910160400192915050565b600082198211156113f0576113f061148d565b500190565b600081600019048311821515161561140f5761140f61148d565b500290565b6000828210156114265761142661148d565b500390565b60005b8381101561144657818101518382015260200161142e565b83811115611455576000848401525b50505050565b60008161146a5761146a61148d565b506000190190565b60006000198214156114865761148661148d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea264697066735822122058a20a00c052cc2f64ab0eca7b7d2af75c283d5d7654b06f818f810a5399269064736f6c63430008040033038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd90b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3";
"0x60806040523480156200001157600080fd5b50604051620017bf380380620017bf8339810160408190526200003491620002a2565b8181846001600160a01b0381166200005f5760405163d92e233d60e01b815260040160405180910390fd5b6200007a6000805160206200179f833981519152806200018a565b620000956000805160206200179f83398151915282620001d5565b506001600160a01b0382161580620000b457506001600160a01b038116155b15620000d35760405163d92e233d60e01b815260040160405180910390fd5b620000fd6000805160206200177f8339815191526000805160206200179f8339815191526200018a565b620001387fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b9116000805160206200179f8339815191526200018a565b620001536000805160206200177f83398151915283620001d5565b6200017f7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91182620001d5565b5050505050620002ec565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b620001e18282620001e5565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620001e1576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002413390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b03811681146200029d57600080fd5b919050565b600080600060608486031215620002b857600080fd5b620002c38462000285565b9250620002d36020850162000285565b9150620002e36040850162000285565b90509250925092565b61148380620002fc6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806391d14854116100de578063ccf61a4111610097578063e0b9511311610071578063e0b95113146103b2578063e454a5ed146103c5578063f1071c81146103ec578063f7bd381f146103ff57600080fd5b8063ccf61a411461033a578063d547741f14610363578063dbab687a1461037657600080fd5b806391d14854146102c6578063a217fddf146102d9578063a63513d8146102e1578063b64230ba1461030c578063bc90fa031461031f578063cbf8e6c41461033257600080fd5b80634d1dd98f116101305780634d1dd98f1461021f5780635042549114610246578063687020d814610266578063851b32881461028d5780638f9745f2146102a0578063907ab008146102b357600080fd5b806301ffc9a714610178578063248a9ca3146101a05780632f2ff15d146101d157806336568abe146101e65780633c8888fa146101f95780634a2c1bab1461020c575b600080fd5b61018b610186366004611040565b610412565b60405190151581526020015b60405180910390f35b6101c36101ae36600461106a565b60009081526020819052604090206001015490565b604051908152602001610197565b6101e46101df36600461109f565b610449565b005b6101e46101f436600461109f565b610474565b6101e46102073660046110cb565b6104f7565b6101e461021a36600461110b565b610519565b6101c37fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b91181565b6102596102543660046111d0565b610619565b60405161019791906111eb565b6101c37f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd981565b6101e461029b3660046111d0565b61063d565b6101e46102ae3660046111d0565b610648565b6101e46102c136600461110b565b6106e8565b61018b6102d436600461109f565b6107f6565b6101c3600081565b6001546102f4906001600160a01b031681565b6040516001600160a01b039091168152602001610197565b61018b61031a3660046111d0565b61081f565b6101e461032d3660046110cb565b61082c565b61025961084e565b6102f46103483660046111d0565b6005602052600090815260409020546001600160a01b031681565b6101e461037136600461109f565b61085f565b6103996103843660046111d0565b60066020526000908152604090205460f81b81565b6040516001600160f81b03199091168152602001610197565b6101e46103c0366004611238565b610885565b6101c37f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d381565b6101e46103fa3660046111d0565b610941565b6101e461040d3660046110cb565b61094c565b60006001600160e01b03198216637965db0b60e01b148061044357506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000828152602081905260409020600101546104658133610b4f565b61046f8383610bb3565b505050565b6001600160a01b03811633146104e95760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6104f38282610c37565b5050565b6001600160a01b038216600090815260046020526040902061046f9082610c9c565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd96105448133610b4f565b60005b82518110156105dd5760006001600160a01b031683828151811061056d5761056d61127c565b60200260200101516001600160a01b0316141561059d5760405163d92e233d60e01b815260040160405180910390fd5b6105ca8382815181106105b2576105b261127c565b60200260200101516002610c9c90919063ffffffff16565b50806105d5816112a8565b915050610547565b507f5d1fd21744530253cbd801d1685bf9e6f5d8a13044c3a7df5628b4c60d7d9e3b8260405161060d91906111eb565b60405180910390a15050565b6001600160a01b038116600090815260046020526040902060609061044390610cb8565b6104f3600282610cc5565b7f0b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d36106738133610b4f565b6001600160a01b03821661069a5760405163d92e233d60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0384169081179091556040519081527fd820b9bd66f5f69e0ee876fe38d41d612586cb5dfdab23721469fc9c6dd5950d9060200161060d565b7f038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd96107138133610b4f565b60005b82518110156107c65760006107676004600086858151811061073a5761073a61127c565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020610cda565b1115610786576040516361c45a0f60e01b815260040160405180910390fd5b6107b383828151811061079b5761079b61127c565b60200260200101516002610cc590919063ffffffff16565b50806107be816112a8565b915050610716565b507f4290941fe8d89409196966ddfc719772595cef6116ed6bde0bcc72e1182b52b58260405161060d91906111eb565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610443600283610ce4565b6001600160a01b038216600090815260046020526040902061046f9082610cc5565b606061085a6002610cb8565b905090565b60008281526020819052604090206001015461087b8133610b4f565b61046f8383610c37565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b9116108b08133610b4f565b6001600160a01b0383166108d75760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604091829020805460ff191660f887901c17905590516001600160f81b0319851681527f3c0408280ff44f7512ae2e74ad6e1f6c56d3de609831a70405ea1b97adb7681191015b60405180910390a2505050565b6104f3600282610c9c565b7fe39dc63caee7a15eb0ffb77a826d10c23d40b5f7182b000737ab5c078838b9116109778133610b4f565b6001600160a01b038316158061099457506001600160a01b038216155b156109b25760405163d92e233d60e01b815260040160405180910390fd5b6001826001600160a01b031663cd985af06040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ed57600080fd5b505afa158015610a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2591906112d9565b6001811115610a3657610a366112c3565b14610a5457604051634b3d6f3360e11b815260040160405180910390fd5b610a5f600283610ce4565b610a7c576040516364a7bd4d60e11b815260040160405180910390fd5b6001600160a01b038381166000908152600560205260409020541615610acf576001600160a01b0380841660009081526005602090815260408083205490931682526004905220610acd9084610cc5565b505b6001600160a01b03838116600090815260056020908152604080832080546001600160a01b03191694871694851790559282526004905220610b119084610c9c565b506040516001600160a01b0383811682528416907f09864ed308dfc2a9cc6804e3b86d38a1aaa4f7adec68be5562b9dd8feb9c1b0590602001610934565b610b5982826107f6565b6104f357610b71816001600160a01b03166014610d06565b610b7c836020610d06565b604051602001610b8d92919061132a565b60408051601f198184030181529082905262461bcd60e51b82526104e09160040161139f565b610bbd82826107f6565b6104f3576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610bf33390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610c4182826107f6565b156104f3576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610cb1836001600160a01b038416610ea2565b9392505050565b60606000610cb183610ef1565b6000610cb1836001600160a01b038416610f4d565b6000610443825490565b6001600160a01b03811660009081526001830160205260408120541515610cb1565b60606000610d158360026113d2565b610d209060026113f1565b67ffffffffffffffff811115610d3857610d386110f5565b6040519080825280601f01601f191660200182016040528015610d62576020820181803683370190505b509050600360fc1b81600081518110610d7d57610d7d61127c565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610dac57610dac61127c565b60200101906001600160f81b031916908160001a9053506000610dd08460026113d2565b610ddb9060016113f1565b90505b6001811115610e53576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610e0f57610e0f61127c565b1a60f81b828281518110610e2557610e2561127c565b60200101906001600160f81b031916908160001a90535060049490941c93610e4c81611409565b9050610dde565b508315610cb15760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104e0565b6000818152600183016020526040812054610ee957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610443565b506000610443565b606081600001805480602002602001604051908101604052809291908181526020018280548015610f4157602002820191906000526020600020905b815481526020019060010190808311610f2d575b50505050509050919050565b60008181526001830160205260408120548015611036576000610f71600183611420565b8554909150600090610f8590600190611420565b9050818114610fea576000866000018281548110610fa557610fa561127c565b9060005260206000200154905080876000018481548110610fc857610fc861127c565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610ffb57610ffb611437565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610443565b6000915050610443565b60006020828403121561105257600080fd5b81356001600160e01b031981168114610cb157600080fd5b60006020828403121561107c57600080fd5b5035919050565b80356001600160a01b038116811461109a57600080fd5b919050565b600080604083850312156110b257600080fd5b823591506110c260208401611083565b90509250929050565b600080604083850312156110de57600080fd5b6110e783611083565b91506110c260208401611083565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561111e57600080fd5b823567ffffffffffffffff8082111561113657600080fd5b818501915085601f83011261114a57600080fd5b81358181111561115c5761115c6110f5565b8060051b604051601f19603f83011681018181108582111715611181576111816110f5565b60405291825284820192508381018501918883111561119f57600080fd5b938501935b828510156111c4576111b585611083565b845293850193928501926111a4565b98975050505050505050565b6000602082840312156111e257600080fd5b610cb182611083565b6020808252825182820181905260009190848201906040850190845b8181101561122c5783516001600160a01b031683529284019291840191600101611207565b50909695505050505050565b6000806040838503121561124b57600080fd5b61125483611083565b915060208301356001600160f81b03198116811461127157600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156112bc576112bc611292565b5060010190565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156112eb57600080fd5b815160028110610cb157600080fd5b60005b838110156113155781810151838201526020016112fd565b83811115611324576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516113628160178501602088016112fa565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516113938160288401602088016112fa565b01602801949350505050565b60208152600082518060208401526113be8160408501602087016112fa565b601f01601f19169190910160400192915050565b60008160001904831182151516156113ec576113ec611292565b500290565b6000821982111561140457611404611292565b500190565b60008161141857611418611292565b506000190190565b60008282101561143257611432611292565b500390565b634e487b7160e01b600052603160045260246000fdfea264697066735822122081106536a9c5812479cfd97970fba1d5b11d83f8bf209209770f475ef821d65164736f6c63430008090033038c8d5a0695aa8e4bf7e2d14cb85443db816cf8bdf8985d9f1a65519aeb6cd90b43cb2c88b4e8fc5d4ac1352ba889b22584df0c58c4b5b589731a1c9f6f29d3";
type TradeFactorySwapperHandlerMockConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: TradeFactorySwapperHandlerMockConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class TradeFactorySwapperHandlerMock__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: TradeFactorySwapperHandlerMockConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -657,0 +663,0 @@ }

@@ -401,12 +401,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x61014060405261271060a0523480156200001857600080fd5b506040516200204f3803806200204f8339810160408190526200003b9162000148565b858580826001600160a01b038116620000b15760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b039283161790558116620000ed5760405163d92e233d60e01b815260040160405180910390fd5b6001600160601b0319606091821b811660805296811b871660c05294851b861660e052505090821b831661010052901b166101205250620001c89050565b80516001600160a01b03811681146200014357600080fd5b919050565b60008060008060008060c0878903121562000161578182fd5b6200016c876200012b565b95506200017c602088016200012b565b94506200018c604088016200012b565b93506200019c606088016200012b565b9250620001ac608088016200012b565b9150620001bc60a088016200012b565b90509295509295509295565b60805160601c60a05160c05160601c60e05160601c6101005160601c6101205160601c611d9c620002b36000396000818161016b015281816107250152818161083f0152818161090f015281816109a601528181610dd30152818161114b01526114c301526000818161014401528181610ca001528181610eda01528181610fb201528181611252015261132a01526000818161024301528181611222015281816112f7015261141c01526000818161021c01528181610eaa01528181610f7f01526110a401526000818161019201526109d00152600081816101c701526103510152611d9c6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a734f06e11610097578063e3056a3411610066578063e3056a341461027a578063e43581b81461028d578063e58bb639146102bf578063f235757f146102c757600080fd5b8063a734f06e146101fc578063ad5c464814610217578063ae3ac1691461023e578063cd985af01461026557600080fd5b806332fe7b26116100d357806332fe7b2614610166578063453943f01461018d5780637556fae6146101c2578063a5d4096b146101e957600080fd5b80630c340a24146100fa5780632db8c1291461012a5780632dd310001461013f575b600080fd5b60005461010d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61013d610138366004611932565b6102da565b005b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610121565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b6101b46101f7366004611879565b610344565b61010d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b61026d600181565b6040516101219190611b82565b60015461010d906001600160a01b031681565b6102af61029b366004611841565b6000546001600160a01b0391821691161490565b6040519015158152602001610121565b61013d6103fd565b61013d6102d5366004611841565b610461565b6000546001600160a01b031633146103345760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b61033f8383836104c2565b505050565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461038f5760405163ea8e4eb560e01b815260040160405180910390fd5b61039c8888888888610664565b6103ab888888888888886106f4565b90507f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c988788888888888689896040516103ea989796959493929190611b19565b60405180910390a1979650505050505050565b6001546001600160a01b031633146104575760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f72604482015260640161032b565b61045f610ade565b565b6000546001600160a01b031633146104b65760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b604482015260640161032b565b6104bf81610b2e565b50565b6001600160a01b0383166105305760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b606482015260840161032b565b61053b600283610bf6565b1561059f5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b606482015260840161032b565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610600576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156105fa573d6000803e3d6000fd5b50610614565b6106146001600160a01b0383168483610c1b565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b038516158061068157506001600160a01b038416155b8061069357506001600160a01b038316155b156106b15760405163d92e233d60e01b815260040160405180910390fd5b816106cf57604051631f2a200560e01b815260040160405180910390fd5b806106ed57604051635380c59d60e01b815260040160405180910390fd5b5050505050565b600060608183156107eb5761070b84860186611972565b60405163d06ca61f60e01b81529092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d06ca61f9061075c908a908690600401611bdd565b60006040518083038186803b15801561077457600080fd5b505afa158015610788573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b09190810190611a13565b600183516107be9190611cde565b815181106107dc57634e487b7160e01b600052603260045260246000fd5b602002602001015190506107fc565b6107f6898989610c6d565b90925090505b8160008151811061081d57634e487b7160e01b600052603260045260246000fd5b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600060248301529091169063095ea7b390604401602060405180830381600087803b15801561089357600080fd5b505af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611a9a565b50816000815181106108ed57634e487b7160e01b600052603260045260246000fd5b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018a90529091169063095ea7b390604401602060405180830381600087803b15801561096357600080fd5b505af1158015610977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099b9190611a9a565b506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166338ed17398860647f00000000000000000000000000000000000000000000000000000000000000006109f98b87611cbf565b610a039190611c9f565b610a0d9190611c9f565b610a179085611cde565b858e610a2542610708611c87565b6040518663ffffffff1660e01b8152600401610a45959493929190611bf6565b600060405180830381600087803b158015610a5f57600080fd5b505af1158015610a73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a9b9190810190611a13565b60018351610aa99190611cde565b81518110610ac757634e487b7160e01b600052603260045260246000fd5b602002602001015192505050979650505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b038116610ba25760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b606482015260840161032b565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261033f9084906115e0565b60405163e6a4390560e01b81526001600160a01b03848116600483015283811660248301526060916000918291849183917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610ce457600080fd5b505afa158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1c919061185d565b6001600160a01b031614610e8b5760408051600280825260608201835290916020830190803683370190505090508681600081518110610d6c57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250508581600181518110610dae57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f90610e0c9088908590600401611bdd565b60006040518083038186803b158015610e2457600080fd5b505afa158015610e38573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e609190810190611a13565b600181518110610e8057634e487b7160e01b600052603260045260246000fd5b602002602001015191505b60405163e6a4390560e01b81526001600160a01b0388811660048301527f00000000000000000000000000000000000000000000000000000000000000008116602483015260009160609183917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610f1e57600080fd5b505afa158015610f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f56919061185d565b6001600160a01b03161415801561103a575060405163e6a4390560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015289811660248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610ff657600080fd5b505afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e919061185d565b6001600160a01b031614155b1561120357604080516003808252608082019092529060208201606080368337019050509050888160008151811061108257634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106110e457634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050878160028151811061112657634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f90611184908a908590600401611bdd565b60006040518083038186803b15801561119c57600080fd5b505afa1580156111b0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d89190810190611a13565b6002815181106111f857634e487b7160e01b600052603260045260246000fd5b602002602001015191505b60405163e6a4390560e01b81526001600160a01b038a811660048301527f00000000000000000000000000000000000000000000000000000000000000008116602483015260009160609183917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b15801561129657600080fd5b505afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ce919061185d565b6001600160a01b0316141580156113b2575060405163e6a4390560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301528b811660248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b15801561136e57600080fd5b505afa158015611382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a6919061185d565b6001600160a01b031614155b1561157b576040805160038082526080820190925290602082016060803683370190505090508a816000815181106113fa57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061145c57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050898160028151811061149e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f906114fc908c908590600401611bdd565b60006040518083038186803b15801561151457600080fd5b505afa158015611528573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115509190810190611a13565b60028151811061157057634e487b7160e01b600052603260045260246000fd5b602002602001015191505b8561159861158988876116b2565b61159389866116b2565b6116b2565b14156115ae57509295509293506115d892505050565b836115b985846116b2565b14156115cf57509095509093506115d892505050565b96509450505050505b935093915050565b6000611635826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116c99092919063ffffffff16565b80519091501561033f57808060200190518101906116539190611a9a565b61033f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161032b565b6000818310156116c25781610c14565b5090919050565b60606116d884846000856116e0565b949350505050565b6060824710156117415760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161032b565b843b61178f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161032b565b600080866001600160a01b031685876040516117ab9190611afd565b60006040518083038185875af1925050503d80600081146117e8576040519150601f19603f3d011682016040523d82523d6000602084013e6117ed565b606091505b50915091506117fd828286611808565b979650505050505050565b60608315611817575081610c14565b8251156118275782518084602001fd5b8160405162461bcd60e51b815260040161032b9190611baa565b600060208284031215611852578081fd5b8135610c1481611d51565b60006020828403121561186e578081fd5b8151610c1481611d51565b600080600080600080600060c0888a031215611893578283fd5b873561189e81611d51565b965060208801356118ae81611d51565b955060408801356118be81611d51565b9450606088013593506080880135925060a088013567ffffffffffffffff808211156118e8578384fd5b818a0191508a601f8301126118fb578384fd5b813581811115611909578485fd5b8b602082850101111561191a578485fd5b60208301945080935050505092959891949750929550565b600080600060608486031215611946578283fd5b833561195181611d51565b9250602084013561196181611d51565b929592945050506040919091013590565b60006020808385031215611984578182fd5b823567ffffffffffffffff81111561199a578283fd5b8301601f810185136119aa578283fd5b80356119bd6119b882611c63565b611c32565b80828252848201915084840188868560051b87010111156119dc578687fd5b8694505b83851015611a075780356119f381611d51565b8352600194909401939185019185016119e0565b50979650505050505050565b60006020808385031215611a25578182fd5b825167ffffffffffffffff811115611a3b578283fd5b8301601f81018513611a4b578283fd5b8051611a596119b882611c63565b80828252848201915084840188868560051b8701011115611a78578687fd5b8694505b83851015611a07578051835260019490940193918501918501611a7c565b600060208284031215611aab578081fd5b81518015158114610c14578182fd5b6000815180845260208085019450808401835b83811015611af25781516001600160a01b031687529582019590820190600101611acd565b509495945050505050565b60008251611b0f818460208701611cf5565b9190910192915050565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905260e060c0820181905281018290526000610100838582850137828401810191909152601f909201601f19160101979650505050505050565b6020810160028310611ba457634e487b7160e01b600052602160045260246000fd5b91905290565b6020815260008251806020840152611bc9816040850160208701611cf5565b601f01601f19169190910160400192915050565b8281526040602082015260006116d86040830184611aba565b85815284602082015260a060408201526000611c1560a0830186611aba565b6001600160a01b0394909416606083015250608001529392505050565b604051601f8201601f1916810167ffffffffffffffff81118282101715611c5b57611c5b611d3b565b604052919050565b600067ffffffffffffffff821115611c7d57611c7d611d3b565b5060051b60200190565b60008219821115611c9a57611c9a611d25565b500190565b600082611cba57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611cd957611cd9611d25565b500290565b600082821015611cf057611cf0611d25565b500390565b60005b83811015611d10578181015183820152602001611cf8565b83811115611d1f576000848401525b50505050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104bf57600080fdfea26469706673582212206ceb1320873fefb3f5e6dfc9bf6ba63b9531533def329ecda078497cb7d448e564736f6c63430008040033";
"0x61014060405261271060a0523480156200001857600080fd5b5060405162001f7a38038062001f7a8339810160408190526200003b916200013a565b858580826001600160a01b038116620000b15760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b039283161790558116620000ed5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0390811660805295861660c052505091831660e052821661010052166101205250620001bb9050565b80516001600160a01b03811681146200013557600080fd5b919050565b60008060008060008060c087890312156200015457600080fd5b6200015f876200011d565b95506200016f602088016200011d565b94506200017f604088016200011d565b93506200018f606088016200011d565b92506200019f608088016200011d565b9150620001af60a088016200011d565b90509295509295509295565b60805160a05160c05160e0516101005161012051611ce3620002976000396000818161016b0152818161072501528181610823015281816108e50152818161097c01528181610d7f015281816110bf01526113ff01526000818161014401528181610c6801528181610e7801528181610f50015281816111b80152611290015260008181610243015281816111880152818161125d015261137401526000818161021c01528181610e4801528181610f1d015261103401526000818161019201526109a60152600081816101c701526103510152611ce36000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a734f06e11610097578063e3056a3411610066578063e3056a341461027a578063e43581b81461028d578063e58bb639146102bf578063f235757f146102c757600080fd5b8063a734f06e146101fc578063ad5c464814610217578063ae3ac1691461023e578063cd985af01461026557600080fd5b806332fe7b26116100d357806332fe7b2614610166578063453943f01461018d5780637556fae6146101c2578063a5d4096b146101e957600080fd5b80630c340a24146100fa5780632db8c1291461012a5780632dd310001461013f575b600080fd5b60005461010d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61013d610138366004611784565b6102da565b005b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610121565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b6101b46101f73660046117c5565b610344565b61010d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b61026d600181565b6040516101219190611883565b60015461010d906001600160a01b031681565b6102af61029b3660046118ab565b6000546001600160a01b0391821691161490565b6040519015158152602001610121565b61013d6103fd565b61013d6102d53660046118ab565b610461565b6000546001600160a01b031633146103345760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b61033f8383836104c2565b505050565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461038f5760405163ea8e4eb560e01b815260040160405180910390fd5b61039c8888888888610664565b6103ab888888888888886106f4565b90507f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c988788888888888689896040516103ea9897969594939291906118c8565b60405180910390a1979650505050505050565b6001546001600160a01b031633146104575760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f72604482015260640161032b565b61045f610aa6565b565b6000546001600160a01b031633146104b65760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b604482015260640161032b565b6104bf81610af6565b50565b6001600160a01b0383166105305760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b606482015260840161032b565b61053b600283610bbe565b1561059f5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b606482015260840161032b565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610600576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156105fa573d6000803e3d6000fd5b50610614565b6106146001600160a01b0383168483610be3565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b038516158061068157506001600160a01b038416155b8061069357506001600160a01b038316155b156106b15760405163d92e233d60e01b815260040160405180910390fd5b816106cf57604051631f2a200560e01b815260040160405180910390fd5b806106ed57604051635380c59d60e01b815260040160405180910390fd5b5050505050565b600060608183156107dd5761070b848601866119a0565b60405163d06ca61f60e01b81529092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d06ca61f9061075c908a908690600401611a78565b60006040518083038186803b15801561077457600080fd5b505afa158015610788573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b09190810190611a91565b600183516107be9190611b2d565b815181106107ce576107ce611b44565b602002602001015190506107ee565b6107e8898989610c35565b90925090505b8160008151811061080157610801611b44565b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600060248301529091169063095ea7b390604401602060405180830381600087803b15801561087757600080fd5b505af115801561088b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108af9190611b5a565b50816000815181106108c3576108c3611b44565b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018a90529091169063095ea7b390604401602060405180830381600087803b15801561093957600080fd5b505af115801561094d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109719190611b5a565b506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166338ed17398860647f00000000000000000000000000000000000000000000000000000000000000006109cf8b87611b7c565b6109d99190611b9b565b6109e39190611b9b565b6109ed9085611b2d565b858e6109fb42610708611bbd565b6040518663ffffffff1660e01b8152600401610a1b959493929190611bd5565b600060405180830381600087803b158015610a3557600080fd5b505af1158015610a49573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a719190810190611a91565b60018351610a7f9190611b2d565b81518110610a8f57610a8f611b44565b602002602001015192505050979650505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b038116610b6a5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b606482015260840161032b565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261033f90849061150e565b60405163e6a4390560e01b81526001600160a01b03848116600483015283811660248301526060916000918291849183917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610cac57600080fd5b505afa158015610cc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce49190611c11565b6001600160a01b031614610e295760408051600280825260608201835290916020830190803683370190505090508681600081518110610d2657610d26611b44565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600181518110610d5a57610d5a611b44565b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f90610db89088908590600401611a78565b60006040518083038186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0c9190810190611a91565b600181518110610e1e57610e1e611b44565b602002602001015191505b60405163e6a4390560e01b81526001600160a01b0388811660048301527f00000000000000000000000000000000000000000000000000000000000000008116602483015260009160609183917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610ebc57600080fd5b505afa158015610ed0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef49190611c11565b6001600160a01b031614158015610fd8575060405163e6a4390560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015289811660248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610f9457600080fd5b505afa158015610fa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcc9190611c11565b6001600160a01b031614155b1561116957604080516003808252608082019092529060208201606080368337019050509050888160008151811061101257611012611b44565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061106657611066611b44565b60200260200101906001600160a01b031690816001600160a01b031681525050878160028151811061109a5761109a611b44565b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f906110f8908a908590600401611a78565b60006040518083038186803b15801561111057600080fd5b505afa158015611124573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261114c9190810190611a91565b60028151811061115e5761115e611b44565b602002602001015191505b60405163e6a4390560e01b81526001600160a01b038a811660048301527f00000000000000000000000000000000000000000000000000000000000000008116602483015260009160609183917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b1580156111fc57600080fd5b505afa158015611210573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112349190611c11565b6001600160a01b031614158015611318575060405163e6a4390560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301528b811660248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b1580156112d457600080fd5b505afa1580156112e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130c9190611c11565b6001600160a01b031614155b156114a9576040805160038082526080820190925290602082016060803683370190505090508a8160008151811061135257611352611b44565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106113a6576113a6611b44565b60200260200101906001600160a01b031690816001600160a01b03168152505089816002815181106113da576113da611b44565b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f90611438908c908590600401611a78565b60006040518083038186803b15801561145057600080fd5b505afa158015611464573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261148c9190810190611a91565b60028151811061149e5761149e611b44565b602002602001015191505b856114c66114b788876115e0565b6114c189866115e0565b6115e0565b14156114dc575092955092935061150692505050565b836114e785846115e0565b14156114fd575090955090935061150692505050565b96509450505050505b935093915050565b6000611563826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115f79092919063ffffffff16565b80519091501561033f57808060200190518101906115819190611b5a565b61033f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161032b565b6000818310156115f05781610bdc565b5090919050565b6060611606848460008561160e565b949350505050565b60608247101561166f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161032b565b843b6116bd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161032b565b600080866001600160a01b031685876040516116d99190611c5e565b60006040518083038185875af1925050503d8060008114611716576040519150601f19603f3d011682016040523d82523d6000602084013e61171b565b606091505b509150915061172b828286611736565b979650505050505050565b60608315611745575081610bdc565b8251156117555782518084602001fd5b8160405162461bcd60e51b815260040161032b9190611c7a565b6001600160a01b03811681146104bf57600080fd5b60008060006060848603121561179957600080fd5b83356117a48161176f565b925060208401356117b48161176f565b929592945050506040919091013590565b600080600080600080600060c0888a0312156117e057600080fd5b87356117eb8161176f565b965060208801356117fb8161176f565b9550604088013561180b8161176f565b9450606088013593506080880135925060a088013567ffffffffffffffff8082111561183657600080fd5b818a0191508a601f83011261184a57600080fd5b81358181111561185957600080fd5b8b602082850101111561186b57600080fd5b60208301945080935050505092959891949750929550565b60208101600283106118a557634e487b7160e01b600052602160045260246000fd5b91905290565b6000602082840312156118bd57600080fd5b8135610bdc8161176f565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905260e060c08201819052810182905260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561197457611974611935565b604052919050565b600067ffffffffffffffff82111561199657611996611935565b5060051b60200190565b600060208083850312156119b357600080fd5b823567ffffffffffffffff8111156119ca57600080fd5b8301601f810185136119db57600080fd5b80356119ee6119e98261197c565b61194b565b81815260059190911b82018301908381019087831115611a0d57600080fd5b928401925b8284101561172b578335611a258161176f565b82529284019290840190611a12565b600081518084526020808501945080840160005b83811015611a6d5781516001600160a01b031687529582019590820190600101611a48565b509495945050505050565b8281526040602082015260006116066040830184611a34565b60006020808385031215611aa457600080fd5b825167ffffffffffffffff811115611abb57600080fd5b8301601f81018513611acc57600080fd5b8051611ada6119e98261197c565b81815260059190911b82018301908381019087831115611af957600080fd5b928401925b8284101561172b57835182529284019290840190611afe565b634e487b7160e01b600052601160045260246000fd5b600082821015611b3f57611b3f611b17565b500390565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b6c57600080fd5b81518015158114610bdc57600080fd5b6000816000190483118215151615611b9657611b96611b17565b500290565b600082611bb857634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611bd057611bd0611b17565b500190565b85815284602082015260a060408201526000611bf460a0830186611a34565b6001600160a01b0394909416606083015250608001529392505050565b600060208284031215611c2357600080fd5b8151610bdc8161176f565b60005b83811015611c49578181015183820152602001611c31565b83811115611c58576000848401525b50505050565b60008251611c70818460208701611c2e565b9190910192915050565b6020815260008251806020840152611c99816040850160208701611c2e565b601f01601f1916919091016040019291505056fea2646970667358221220f3f89d5b8aaa48caf5520cf2836e57f01672fc98d002747a9fdd5c47762607f164736f6c63430008090033";
type UniswapV2AnchorSwapperConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: UniswapV2AnchorSwapperConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class UniswapV2AnchorSwapper__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: UniswapV2AnchorSwapperConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -413,0 +419,0 @@ }

@@ -357,12 +357,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x60e06040523480156200001157600080fd5b506040516200151b3803806200151b833981016040819052620000349162000133565b838380826001600160a01b038116620000aa5760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b039283161790558116620000e65760405163d92e233d60e01b815260040160405180910390fd5b6001600160601b0319606091821b811660805294811b851660a0529290921b90921660c052506200018f92505050565b80516001600160a01b03811681146200012e57600080fd5b919050565b6000806000806080858703121562000149578384fd5b620001548562000116565b9350620001646020860162000116565b9250620001746040860162000116565b9150620001846060860162000116565b905092959194509250565b60805160601c60a05160601c60c05160601c611337620001e46000396000818161012a015281816108660152818161093601526109da01526000610103015260008181610151015261029b01526113376000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a734f06e11610071578063a734f06e14610194578063cd985af0146101af578063e3056a34146101c4578063e43581b8146101d7578063e58bb63914610209578063f235757f1461021157600080fd5b80630c340a24146100b95780632db8c129146100e95780632dd31000146100fe57806332fe7b26146101255780637556fae61461014c578063a5d4096b14610173575b600080fd5b6000546100cc906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100fc6100f7366004610f5a565b610224565b005b6100cc7f000000000000000000000000000000000000000000000000000000000000000081565b6100cc7f000000000000000000000000000000000000000000000000000000000000000081565b6100cc7f000000000000000000000000000000000000000000000000000000000000000081565b610186610181366004610ea7565b61028e565b6040519081526020016100e0565b6100cc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6101b7600081565b6040516100e09190611178565b6001546100cc906001600160a01b031681565b6101f96101e5366004610e8d565b6000546001600160a01b0391821691161490565b60405190151581526020016100e0565b6100fc61046e565b6100fc61021f366004610e8d565b6104d2565b6000546001600160a01b0316331461027e5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b610289838383610533565b505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102d95760405163ea8e4eb560e01b815260040160405180910390fd5b6102e688888888886106d5565b6040516370a0823160e01b81526001600160a01b038981166004830152600091908816906370a082319060240160206040518083038186803b15801561032b57600080fd5b505afa15801561033f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036391906110db565b9050610373898989898888610765565b6040516370a0823160e01b81526001600160a01b038b8116600483015291935086918391908a16906370a082319060240160206040518083038186803b1580156103bc57600080fd5b505afa1580156103d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f491906110db565b6103fe9190611298565b101561041d576040516309d2d38b60e31b815260040160405180910390fd5b7f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c98878989898989878a8a60405161045a98979695949392919061110f565b60405180910390a150979650505050505050565b6001546001600160a01b031633146104c85760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f726044820152606401610275565b6104d0610aaf565b565b6000546001600160a01b031633146105275760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b6044820152606401610275565b61053081610aff565b50565b6001600160a01b0383166105a15760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b6064820152608401610275565b6105ac600283610bc7565b156106105760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b6064820152608401610275565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610671576040516001600160a01b0384169082156108fc029083906000818181858888f1935050505015801561066b573d6000803e3d6000fd5b50610685565b6106856001600160a01b0383168483610bec565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b03851615806106f257506001600160a01b038416155b8061070457506001600160a01b038316155b156107225760405163d92e233d60e01b815260040160405180910390fd5b8161074057604051631f2a200560e01b815260040160405180910390fd5b8061075e57604051631f2a200560e01b815260040160405180910390fd5b5050505050565b60008061077483850185610f95565b90508060008151811061079757634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316876001600160a01b0316141580610805575080600182516107c99190611298565b815181106107e757634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316866001600160a01b031614155b156108235760405163e625f81360e01b815260040160405180910390fd5b8060008151811061084457634e487b7160e01b600052603260045260246000fd5b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600060248301529091169063095ea7b390604401602060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f291906110bb565b508060008151811061091457634e487b7160e01b600052603260045260246000fd5b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018890529091169063095ea7b390604401602060405180830381600087803b15801561098a57600080fd5b505af115801561099e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c291906110bb565b506040516338ed173960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906338ed173990610a1890889060009086908e9042906004016111d3565b600060405180830381600087803b158015610a3257600080fd5b505af1158015610a46573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a6e9190810190611034565b60018251610a7c9190611298565b81518110610a9a57634e487b7160e01b600052603260045260246000fd5b60200260200101519150509695505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b038116610b735760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610275565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261028992869291600091610c7c918516908490610cf9565b8051909150156102895780806020019051810190610c9a91906110bb565b6102895760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610275565b6060610d088484600085610d10565b949350505050565b606082471015610d715760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610275565b843b610dbf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610275565b600080866001600160a01b03168587604051610ddb91906110f3565b60006040518083038185875af1925050503d8060008114610e18576040519150601f19603f3d011682016040523d82523d6000602084013e610e1d565b606091505b5091509150610e2d828286610e38565b979650505050505050565b60608315610e47575081610be5565b825115610e575782518084602001fd5b8160405162461bcd60e51b815260040161027591906111a0565b80356001600160a01b0381168114610e8857600080fd5b919050565b600060208284031215610e9e578081fd5b610be582610e71565b600080600080600080600060c0888a031215610ec1578283fd5b610eca88610e71565b9650610ed860208901610e71565b9550610ee660408901610e71565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610f10578384fd5b818a0191508a601f830112610f23578384fd5b813581811115610f31578485fd5b8b6020828501011115610f42578485fd5b60208301945080935050505092959891949750929550565b600080600060608486031215610f6e578283fd5b610f7784610e71565b9250610f8560208501610e71565b9150604084013590509250925092565b60006020808385031215610fa7578182fd5b823567ffffffffffffffff811115610fbd578283fd5b8301601f81018513610fcd578283fd5b8035610fe0610fdb82611274565b611243565b80828252848201915084840188868560051b8701011115610fff578687fd5b8694505b838510156110285761101481610e71565b835260019490940193918501918501611003565b50979650505050505050565b60006020808385031215611046578182fd5b825167ffffffffffffffff81111561105c578283fd5b8301601f8101851361106c578283fd5b805161107a610fdb82611274565b80828252848201915084840188868560051b8701011115611099578687fd5b8694505b8385101561102857805183526001949094019391850191850161109d565b6000602082840312156110cc578081fd5b81518015158114610be5578182fd5b6000602082840312156110ec578081fd5b5051919050565b600082516111058184602087016112bb565b9190910192915050565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905260e060c0820181905281018290526000610100838582850137828401810191909152601f909201601f19160101979650505050505050565b602081016002831061119a57634e487b7160e01b600052602160045260246000fd5b91905290565b60208152600082518060208401526111bf8160408501602087016112bb565b601f01601f19169190910160400192915050565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156112225784516001600160a01b0316835293830193918301916001016111fd565b50506001600160a01b03969096166060850152505050608001529392505050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561126c5761126c6112eb565b604052919050565b600067ffffffffffffffff82111561128e5761128e6112eb565b5060051b60200190565b6000828210156112b657634e487b7160e01b81526011600452602481fd5b500390565b60005b838110156112d65781810151838201526020016112be565b838111156112e5576000848401525b50505050565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220f938c15de5bd7ac01cb54a5f3782e1d587cce49bb1174b846964038231ddad4964736f6c63430008040033";
"0x60e06040523480156200001157600080fd5b50604051620014d9380380620014d9833981016040819052620000349162000126565b838380826001600160a01b038116620000aa5760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b039283161790558116620000e65760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0390811660805293841660a05250501660c05250620001839050565b80516001600160a01b03811681146200012157600080fd5b919050565b600080600080608085870312156200013d57600080fd5b620001488562000109565b9350620001586020860162000109565b9250620001686040860162000109565b9150620001786060860162000109565b905092959194509250565b60805160a05160c05161130a620001cf6000396000818161012a0152818161083c015281816108fe01526109a201526000610103015260008181610151015261029b015261130a6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a734f06e11610071578063a734f06e14610194578063cd985af0146101af578063e3056a34146101c4578063e43581b8146101d7578063e58bb63914610209578063f235757f1461021157600080fd5b80630c340a24146100b95780632db8c129146100e95780632dd31000146100fe57806332fe7b26146101255780637556fae61461014c578063a5d4096b14610173575b600080fd5b6000546100cc906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100fc6100f7366004610e47565b610224565b005b6100cc7f000000000000000000000000000000000000000000000000000000000000000081565b6100cc7f000000000000000000000000000000000000000000000000000000000000000081565b6100cc7f000000000000000000000000000000000000000000000000000000000000000081565b610186610181366004610e83565b61028e565b6040519081526020016100e0565b6100cc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6101b7600081565b6040516100e09190610f3b565b6001546100cc906001600160a01b031681565b6101f96101e5366004610f63565b6000546001600160a01b0391821691161490565b60405190151581526020016100e0565b6100fc61046e565b6100fc61021f366004610f63565b6104d2565b6000546001600160a01b0316331461027e5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b610289838383610533565b505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102d95760405163ea8e4eb560e01b815260040160405180910390fd5b6102e688888888886106d5565b6040516370a0823160e01b81526001600160a01b038981166004830152600091908816906370a082319060240160206040518083038186803b15801561032b57600080fd5b505afa15801561033f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103639190610f7e565b9050610373898989898888610765565b6040516370a0823160e01b81526001600160a01b038b8116600483015291935086918391908a16906370a082319060240160206040518083038186803b1580156103bc57600080fd5b505afa1580156103d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f49190610f7e565b6103fe9190610f97565b101561041d576040516309d2d38b60e31b815260040160405180910390fd5b7f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c98878989898989878a8a60405161045a989796959493929190610fbc565b60405180910390a150979650505050505050565b6001546001600160a01b031633146104c85760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f726044820152606401610275565b6104d0610a69565b565b6000546001600160a01b031633146105275760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b6044820152606401610275565b61053081610ab9565b50565b6001600160a01b0383166105a15760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b6064820152608401610275565b6105ac600283610b81565b156106105760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b6064820152608401610275565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610671576040516001600160a01b0384169082156108fc029083906000818181858888f1935050505015801561066b573d6000803e3d6000fd5b50610685565b6106856001600160a01b0383168483610ba6565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b03851615806106f257506001600160a01b038416155b8061070457506001600160a01b038316155b156107225760405163d92e233d60e01b815260040160405180910390fd5b8161074057604051631f2a200560e01b815260040160405180910390fd5b8061075e57604051631f2a200560e01b815260040160405180910390fd5b5050505050565b60008061077483850185611094565b90508060008151811061078957610789611126565b60200260200101516001600160a01b0316876001600160a01b03161415806107e9575080600182516107bb9190610f97565b815181106107cb576107cb611126565b60200260200101516001600160a01b0316866001600160a01b031614155b156108075760405163e625f81360e01b815260040160405180910390fd5b8060008151811061081a5761081a611126565b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600060248301529091169063095ea7b390604401602060405180830381600087803b15801561089057600080fd5b505af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c8919061113c565b50806000815181106108dc576108dc611126565b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018890529091169063095ea7b390604401602060405180830381600087803b15801561095257600080fd5b505af1158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a919061113c565b506040516338ed173960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906338ed1739906109e090889060009086908e90429060040161115e565b600060405180830381600087803b1580156109fa57600080fd5b505af1158015610a0e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a3691908101906111cf565b60018251610a449190610f97565b81518110610a5457610a54611126565b60200260200101519150509695505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b038116610b2d5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610275565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261028992869291600091610c36918516908490610cb3565b8051909150156102895780806020019051810190610c54919061113c565b6102895760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610275565b6060610cc28484600085610cca565b949350505050565b606082471015610d2b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610275565b843b610d795760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610275565b600080866001600160a01b03168587604051610d959190611285565b60006040518083038185875af1925050503d8060008114610dd2576040519150601f19603f3d011682016040523d82523d6000602084013e610dd7565b606091505b5091509150610de7828286610df2565b979650505050505050565b60608315610e01575081610b9f565b825115610e115782518084602001fd5b8160405162461bcd60e51b815260040161027591906112a1565b80356001600160a01b0381168114610e4257600080fd5b919050565b600080600060608486031215610e5c57600080fd5b610e6584610e2b565b9250610e7360208501610e2b565b9150604084013590509250925092565b600080600080600080600060c0888a031215610e9e57600080fd5b610ea788610e2b565b9650610eb560208901610e2b565b9550610ec360408901610e2b565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610eee57600080fd5b818a0191508a601f830112610f0257600080fd5b813581811115610f1157600080fd5b8b6020828501011115610f2357600080fd5b60208301945080935050505092959891949750929550565b6020810160028310610f5d57634e487b7160e01b600052602160045260246000fd5b91905290565b600060208284031215610f7557600080fd5b610b9f82610e2b565b600060208284031215610f9057600080fd5b5051919050565b600082821015610fb757634e487b7160e01b600052601160045260246000fd5b500390565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905260e060c08201819052810182905260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561106857611068611029565b604052919050565b600067ffffffffffffffff82111561108a5761108a611029565b5060051b60200190565b600060208083850312156110a757600080fd5b823567ffffffffffffffff8111156110be57600080fd5b8301601f810185136110cf57600080fd5b80356110e26110dd82611070565b61103f565b81815260059190911b8201830190838101908783111561110157600080fd5b928401925b82841015610de75761111784610e2b565b82529284019290840190611106565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561114e57600080fd5b81518015158114610b9f57600080fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111ae5784516001600160a01b031683529383019391830191600101611189565b50506001600160a01b03969096166060850152505050608001529392505050565b600060208083850312156111e257600080fd5b825167ffffffffffffffff8111156111f957600080fd5b8301601f8101851361120a57600080fd5b80516112186110dd82611070565b81815260059190911b8201830190838101908783111561123757600080fd5b928401925b82841015610de75783518252928401929084019061123c565b60005b83811015611270578181015183820152602001611258565b8381111561127f576000848401525b50505050565b60008251611297818460208701611255565b9190910192915050565b60208152600082518060208401526112c0816040850160208701611255565b601f01601f1916919091016040019291505056fea2646970667358221220f4ae65d11d8dbee443c75e2f2f4b59478ce7605336b1cbca0faf0c54cc14949964736f6c63430008090033";
type UniswapV2SwapperConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: UniswapV2SwapperConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class UniswapV2Swapper__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: UniswapV2SwapperConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -369,0 +375,0 @@ }

@@ -341,12 +341,18 @@ /* Autogenerated file. Do not edit manually. */

const _bytecode =
"0x60c06040523480156200001157600080fd5b50604051620013d3380380620013d383398101604081905262000034916200012a565b828280826001600160a01b038116620000aa5760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b039283161790558116620000e65760405163d92e233d60e01b815260040160405180910390fd5b6001600160601b0319606091821b811660805293901b90921660a052506200017392505050565b80516001600160a01b03811681146200012557600080fd5b919050565b6000806000606084860312156200013f578283fd5b6200014a846200010d565b92506200015a602085016200010d565b91506200016a604085016200010d565b90509250925092565b60805160601c60a05160601c611219620001ba6000396000818161017001528181610843015281816108ea015261097a01526000818160f8015261026901526112196000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063cd985af011610071578063cd985af014610156578063d40fa8bf1461016b578063e3056a3414610192578063e43581b8146101a5578063e58bb639146101d7578063f235757f146101df57600080fd5b80630c340a24146100ae5780632db8c129146100de5780637556fae6146100f3578063a5d4096b1461011a578063a734f06e1461013b575b600080fd5b6000546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f16100ec36600461102d565b6101f2565b005b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b61012d610128366004610f7a565b61025c565b6040519081526020016100d5565b6100c173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61015e600081565b6040516100d59190611135565b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b6001546100c1906001600160a01b031681565b6101c76101b3366004610f60565b6000546001600160a01b0391821691161490565b60405190151581526020016100d5565b6100f161043c565b6100f16101ed366004610f60565b6104a0565b6000546001600160a01b0316331461024c5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b610257838383610501565b505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102a75760405163ea8e4eb560e01b815260040160405180910390fd5b6102b488888888886106a3565b6040516370a0823160e01b81526001600160a01b038981166004830152600091908816906370a082319060240160206040518083038186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611088565b9050610341898989898888610733565b6040516370a0823160e01b81526001600160a01b038b8116600483015291935086918391908a16906370a082319060240160206040518083038186803b15801561038a57600080fd5b505afa15801561039e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c29190611088565b6103cc9190611190565b10156103eb576040516309d2d38b60e31b815260040160405180910390fd5b7f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c98878989898989878a8a6040516104289897969594939291906110cc565b60405180910390a150979650505050505050565b6001546001600160a01b031633146104965760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f726044820152606401610243565b61049e610b82565b565b6000546001600160a01b031633146104f55760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b6044820152606401610243565b6104fe81610bd2565b50565b6001600160a01b03831661056f5760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b6064820152608401610243565b61057a600283610c9a565b156105de5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b6064820152608401610243565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561063f576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610639573d6000803e3d6000fd5b50610653565b6106536001600160a01b0383168483610cbf565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b03851615806106c057506001600160a01b038416155b806106d257506001600160a01b038316155b156106f05760405163d92e233d60e01b815260040160405180910390fd5b8161070e57604051631f2a200560e01b815260040160405180910390fd5b8061072c57604051631f2a200560e01b815260040160405180910390fd5b5050505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038816906370a082319060240160206040518083038186803b15801561077757600080fd5b505afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af9190611088565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038816906370a082319060240160206040518083038186803b1580156107f457600080fd5b505afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611088565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600060248301529192509089169063095ea7b390604401602060405180830381600087803b15801561089a57600080fd5b505af11580156108ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d29190611068565b5060405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820188905289169063095ea7b390604401602060405180830381600087803b15801561093d57600080fd5b505af1158015610951573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109759190611068565b5060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600087876040516109b49291906110a0565b60006040518083038185875af1925050503d80600081146109f1576040519150601f19603f3d011682016040523d82523d6000602084013e6109f6565b606091505b5050905080610a18576040516332e004e360e11b815260040160405180910390fd5b6040516370a0823160e01b815230600482015287906001600160a01b038b16906370a082319060240160206040518083038186803b158015610a5957600080fd5b505afa158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a919190611088565b610a9b9085611190565b1015610aba5760405163e625f81360e01b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038a16906370a082319060240160206040518083038186803b158015610afc57600080fd5b505afa158015610b10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b349190611088565b9050610b408382611190565b945084610b605760405163e625f81360e01b815260040160405180910390fd5b610b746001600160a01b038a168c87610cbf565b505050509695505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b038116610c465760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610243565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261025792869291600091610d4f918516908490610dcc565b8051909150156102575780806020019051810190610d6d9190611068565b6102575760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610243565b6060610ddb8484600085610de3565b949350505050565b606082471015610e445760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610243565b843b610e925760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610243565b600080866001600160a01b03168587604051610eae91906110b0565b60006040518083038185875af1925050503d8060008114610eeb576040519150601f19603f3d011682016040523d82523d6000602084013e610ef0565b606091505b5091509150610f00828286610f0b565b979650505050505050565b60608315610f1a575081610cb8565b825115610f2a5782518084602001fd5b8160405162461bcd60e51b8152600401610243919061115d565b80356001600160a01b0381168114610f5b57600080fd5b919050565b600060208284031215610f71578081fd5b610cb882610f44565b600080600080600080600060c0888a031215610f94578283fd5b610f9d88610f44565b9650610fab60208901610f44565b9550610fb960408901610f44565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610fe3578384fd5b818a0191508a601f830112610ff6578384fd5b813581811115611004578485fd5b8b6020828501011115611015578485fd5b60208301945080935050505092959891949750929550565b600080600060608486031215611041578283fd5b61104a84610f44565b925061105860208501610f44565b9150604084013590509250925092565b600060208284031215611079578081fd5b81518015158114610cb8578182fd5b600060208284031215611099578081fd5b5051919050565b8183823760009101908152919050565b600082516110c28184602087016111b3565b9190910192915050565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905260e060c0820181905281018290526000610100838582850137828401810191909152601f909201601f19160101979650505050505050565b602081016002831061115757634e487b7160e01b600052602160045260246000fd5b91905290565b602081526000825180602084015261117c8160408501602087016111b3565b601f01601f19169190910160400192915050565b6000828210156111ae57634e487b7160e01b81526011600452602481fd5b500390565b60005b838110156111ce5781810151838201526020016111b6565b838111156111dd576000848401525b5050505056fea2646970667358221220aac7458cf2097e1324fd424feaf144166b92a92e74023ffa7a9d976b3fa155ad64736f6c63430008040033";
"0x60c06040523480156200001157600080fd5b50604051620013d7380380620013d7833981016040819052620000349162000123565b828280826001600160a01b038116620000aa5760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b039283161790558116620000e65760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039081166080529290921660a052506200016d92505050565b80516001600160a01b03811681146200011e57600080fd5b919050565b6000806000606084860312156200013957600080fd5b620001448462000106565b9250620001546020850162000106565b9150620001646040850162000106565b90509250925092565b60805160a051611229620001ae6000396000818161017001528181610843015281816108ea015261097a01526000818160f8015261026901526112296000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063cd985af011610071578063cd985af014610156578063d40fa8bf1461016b578063e3056a3414610192578063e43581b8146101a5578063e58bb639146101d7578063f235757f146101df57600080fd5b80630c340a24146100ae5780632db8c129146100de5780637556fae6146100f3578063a5d4096b1461011a578063a734f06e1461013b575b600080fd5b6000546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f16100ec366004610f60565b6101f2565b005b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b61012d610128366004610f9c565b61025c565b6040519081526020016100d5565b6100c173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61015e600081565b6040516100d59190611054565b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b6001546100c1906001600160a01b031681565b6101c76101b336600461107c565b6000546001600160a01b0391821691161490565b60405190151581526020016100d5565b6100f161043c565b6100f16101ed36600461107c565b6104a0565b6000546001600160a01b0316331461024c5760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b60448201526064015b60405180910390fd5b610257838383610501565b505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102a75760405163ea8e4eb560e01b815260040160405180910390fd5b6102b488888888886106a3565b6040516370a0823160e01b81526001600160a01b038981166004830152600091908816906370a082319060240160206040518083038186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611097565b9050610341898989898888610733565b6040516370a0823160e01b81526001600160a01b038b8116600483015291935086918391908a16906370a082319060240160206040518083038186803b15801561038a57600080fd5b505afa15801561039e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c29190611097565b6103cc91906110b0565b10156103eb576040516309d2d38b60e31b815260040160405180910390fd5b7f40971433310985cab81e121610e21c884496299299bfdb99b10c0f75815c98878989898989878a8a6040516104289897969594939291906110d5565b60405180910390a150979650505050505050565b6001546001600160a01b031633146104965760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f726044820152606401610243565b61049e610b82565b565b6000546001600160a01b031633146104f55760405162461bcd60e51b815260206004820152601860248201527733b7bb32b93730b1363297b7b7363c96b3b7bb32b93737b960411b6044820152606401610243565b6104fe81610bd2565b50565b6001600160a01b03831661056f5760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b6064820152608401610243565b61057a600283610c9a565b156105de5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b6064820152608401610243565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561063f576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610639573d6000803e3d6000fd5b50610653565b6106536001600160a01b0383168483610cbf565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b03851615806106c057506001600160a01b038416155b806106d257506001600160a01b038316155b156106f05760405163d92e233d60e01b815260040160405180910390fd5b8161070e57604051631f2a200560e01b815260040160405180910390fd5b8061072c57604051631f2a200560e01b815260040160405180910390fd5b5050505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038816906370a082319060240160206040518083038186803b15801561077757600080fd5b505afa15801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af9190611097565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038816906370a082319060240160206040518083038186803b1580156107f457600080fd5b505afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611097565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600060248301529192509089169063095ea7b390604401602060405180830381600087803b15801561089a57600080fd5b505af11580156108ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d29190611142565b5060405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820188905289169063095ea7b390604401602060405180830381600087803b15801561093d57600080fd5b505af1158015610951573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109759190611142565b5060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600087876040516109b4929190611164565b60006040518083038185875af1925050503d80600081146109f1576040519150601f19603f3d011682016040523d82523d6000602084013e6109f6565b606091505b5050905080610a18576040516332e004e360e11b815260040160405180910390fd5b6040516370a0823160e01b815230600482015287906001600160a01b038b16906370a082319060240160206040518083038186803b158015610a5957600080fd5b505afa158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a919190611097565b610a9b90856110b0565b1015610aba5760405163e625f81360e01b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038a16906370a082319060240160206040518083038186803b158015610afc57600080fd5b505afa158015610b10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b349190611097565b9050610b4083826110b0565b945084610b605760405163e625f81360e01b815260040160405180910390fd5b610b746001600160a01b038a168c87610cbf565b505050509695505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b038116610c465760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610243565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def9060200160405180910390a150565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261025792869291600091610d4f918516908490610dcc565b8051909150156102575780806020019051810190610d6d9190611142565b6102575760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610243565b6060610ddb8484600085610de3565b949350505050565b606082471015610e445760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610243565b843b610e925760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610243565b600080866001600160a01b03168587604051610eae91906111a4565b60006040518083038185875af1925050503d8060008114610eeb576040519150601f19603f3d011682016040523d82523d6000602084013e610ef0565b606091505b5091509150610f00828286610f0b565b979650505050505050565b60608315610f1a575081610cb8565b825115610f2a5782518084602001fd5b8160405162461bcd60e51b815260040161024391906111c0565b80356001600160a01b0381168114610f5b57600080fd5b919050565b600080600060608486031215610f7557600080fd5b610f7e84610f44565b9250610f8c60208501610f44565b9150604084013590509250925092565b600080600080600080600060c0888a031215610fb757600080fd5b610fc088610f44565b9650610fce60208901610f44565b9550610fdc60408901610f44565b9450606088013593506080880135925060a088013567ffffffffffffffff8082111561100757600080fd5b818a0191508a601f83011261101b57600080fd5b81358181111561102a57600080fd5b8b602082850101111561103c57600080fd5b60208301945080935050505092959891949750929550565b602081016002831061107657634e487b7160e01b600052602160045260246000fd5b91905290565b60006020828403121561108e57600080fd5b610cb882610f44565b6000602082840312156110a957600080fd5b5051919050565b6000828210156110d057634e487b7160e01b600052601160045260246000fd5b500390565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905260e060c08201819052810182905260006101008385828501376000838501820152601f909301601f191690910190910198975050505050505050565b60006020828403121561115457600080fd5b81518015158114610cb857600080fd5b8183823760009101908152919050565b60005b8381101561118f578181015183820152602001611177565b8381111561119e576000848401525b50505050565b600082516111b6818460208701611174565b9190910192915050565b60208152600082518060208401526111df816040850160208701611174565b601f01601f1916919091016040019291505056fea26469706673582212201032fc65e3f41a68b458b1e0f263d57f4d4182ebc3b17c67f4f7053941f7f8aa64736f6c63430008090033";
type ZRXSwapperConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: ZRXSwapperConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class ZRXSwapper__factory extends ContractFactory {
constructor(
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
) {
if (args.length === 1) {
constructor(...args: ZRXSwapperConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
} else {
super(...args);
}

@@ -353,0 +359,0 @@ }

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
export type { CollectableDust } from "./CollectableDust";
export type { Governable } from "./Governable";
export type { Machinery } from "./Machinery";
export type { IMechanicsRegistry } from "./IMechanicsRegistry";

@@ -11,4 +8,5 @@ export type { ICollectableDust } from "./ICollectableDust";

export type { IMachinery } from "./IMachinery";
export type { IStealthRelayer } from "./IStealthRelayer";
export type { IStealthTx } from "./IStealthTx";
export type { CollectableDust } from "./CollectableDust";
export type { Governable } from "./Governable";
export type { Machinery } from "./Machinery";
export type { AccessControl } from "./AccessControl";

@@ -24,3 +22,2 @@ export type { IAccessControl } from "./IAccessControl";

export type { IUniswapV2Router02 } from "./IUniswapV2Router02";
export type { ASd } from "./ASd";
export type { CommonErrors } from "./CommonErrors";

@@ -67,5 +64,2 @@ export type { ERC20Mock } from "./ERC20Mock";

export { CollectableDust__factory } from "./factories/CollectableDust__factory";
export { Governable__factory } from "./factories/Governable__factory";
export { Machinery__factory } from "./factories/Machinery__factory";
export { IMechanicsRegistry__factory } from "./factories/IMechanicsRegistry__factory";

@@ -75,4 +69,5 @@ export { ICollectableDust__factory } from "./factories/ICollectableDust__factory";

export { IMachinery__factory } from "./factories/IMachinery__factory";
export { IStealthRelayer__factory } from "./factories/IStealthRelayer__factory";
export { IStealthTx__factory } from "./factories/IStealthTx__factory";
export { CollectableDust__factory } from "./factories/CollectableDust__factory";
export { Governable__factory } from "./factories/Governable__factory";
export { Machinery__factory } from "./factories/Machinery__factory";
export { AccessControl__factory } from "./factories/AccessControl__factory";

@@ -88,3 +83,2 @@ export { IAccessControl__factory } from "./factories/IAccessControl__factory";

export { IUniswapV2Router02__factory } from "./factories/IUniswapV2Router02__factory";
export { ASd__factory } from "./factories/ASd__factory";
export { CommonErrors__factory } from "./factories/CommonErrors__factory";

@@ -91,0 +85,0 @@ export { ERC20Mock__factory } from "./factories/ERC20Mock__factory";

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc