{
    "_format": "hh-sol-artifact-1",
    "contractName": "Treasury",
    "sourceName": "contracts/Treasury.sol",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "_collateral",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "owner",
                    "type": "address"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "previousOwner",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipTransferred",
            "type": "event"
        },
        {
            "inputs": [],
            "name": "allWriters",
            "outputs": [
                {
                    "internalType": "address[]",
                    "name": "",
                    "type": "address[]"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "authorize",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "balanceOf",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "collateral",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "deposit",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "getBtcAddress",
            "outputs": [
                {
                    "internalType": "bytes20",
                    "name": "btcHash",
                    "type": "bytes20"
                },
                {
                    "internalType": "enum Bitcoin.Script",
                    "name": "format",
                    "type": "uint8"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "lock",
            "outputs": [
                {
                    "internalType": "bytes20",
                    "name": "btcHash",
                    "type": "bytes20"
                },
                {
                    "internalType": "enum Bitcoin.Script",
                    "name": "format",
                    "type": "uint8"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "market",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "lockedIn",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "minStrike",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "maxStrike",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "expiryTime",
                    "type": "uint256"
                },
                {
                    "internalType": "bytes20",
                    "name": "btcHash",
                    "type": "bytes20"
                },
                {
                    "internalType": "enum Bitcoin.Script",
                    "name": "format",
                    "type": "uint8"
                }
            ],
            "name": "position",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "from",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "to",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "release",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "renounceOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes20",
                    "name": "btcHash",
                    "type": "bytes20"
                },
                {
                    "internalType": "enum Bitcoin.Script",
                    "name": "format",
                    "type": "uint8"
                }
            ],
            "name": "setBtcAddress",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "market",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "unlock",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "withdraw",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "bytecode": "0x60806040523480156200001157600080fd5b50604051620019fe380380620019fe833981810160405260408110156200003757600080fd5b508051602090910151600160009081556200005a6001600160e01b03620000c516565b600180546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020620019de833981519152908290a350600480546001600160a01b0319166001600160a01b038416179055620000bd81620000c9565b5050620001d1565b3390565b620000dc6001600160e01b03620000c516565b6001546001600160a01b039081169116146200013f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116620001865760405162461bcd60e51b8152600401808060200182810382526026815260200180620019b86026913960400191505060405180910390fd5b6001546040516001600160a01b03808416921690600080516020620019de83398151915290600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6117d780620001e16000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638870aab411610097578063d52131dc11610066578063d52131dc14610373578063d8dfeb4514610399578063f2fde38b146103a1578063f340fa01146103c757610100565b80638870aab4146102c35780638bfb07c9146102f35780638da5cb5b14610329578063b6a5d7de1461034d57610100565b80635f4bd383116100d35780635f4bd3831461021357806370a0823114610253578063715018a61461027957806376a51a461461028157610100565b80630178f1b914610105578063282d3fdf1461015d5780632e1a7d4d146101be57806359508f8f146101dd575b600080fd5b61010d6103ed565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610149578181015183820152602001610131565b505050509050019250505060405180910390f35b6101896004803603604081101561017357600080fd5b506001600160a01b03813516906020013561044f565b6040516001600160601b031983168152602081018260028111156101a957fe5b60ff1681526020019250505060405180910390f35b6101db600480360360208110156101d457600080fd5b503561085f565b005b6101db600480360360608110156101f357600080fd5b506001600160a01b03813581169160208101359091169060400135610a37565b6102416004803603604081101561022957600080fd5b506001600160a01b0381358116916020013516610be3565b60408051918252519081900360200190f35b6102416004803603602081101561026957600080fd5b50356001600160a01b0316610c0e565b6101db610c29565b6101db600480360360a081101561029757600080fd5b5080359060208101359060408101359060608101356001600160601b031916906080013560ff16610cdd565b6101db600480360360408110156102d957600080fd5b5080356001600160601b031916906020013560ff16610e8a565b6101db6004803603606081101561030957600080fd5b506001600160a01b03813581169160208101359091169060400135610e99565b6103316110c2565b604080516001600160a01b039092168252519081900360200190f35b6101db6004803603602081101561036357600080fd5b50356001600160a01b03166110d1565b6101896004803603602081101561038957600080fd5b50356001600160a01b031661115f565b610331611174565b6101db600480360360208110156103b757600080fd5b50356001600160a01b0316611183565b6101db600480360360208110156103dd57600080fd5b50356001600160a01b031661128e565b6060600280548060200260200160405190810160405280929190818152602001828054801561044557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610427575b5050505050905090565b600080600260005414156104aa576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260009081553380825260096020908152604092839020548351808501909452601584527f43616c6c6572206e6f7420617574686f72697a656400000000000000000000009184019190915290919060ff166105855760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561054a578181015183820152602001610532565b50505050905090810190601f1680156105775780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000806000836001600160a01b031663fbbf93a06040518163ffffffff1660e01b815260040160c06040518083038186803b1580156105c457600080fd5b505afa1580156105d8573d6000803e3d6000fd5b505050506040513d60c08110156105ee57600080fd5b5080516020808301516040938401516001600160a01b038d166000908152600a90935293909120600201549195509350909150610631848463ffffffff61153f16565b11156040518060400160405280601581526020017f4d61726b65742065787069727920696e76616c69640000000000000000000000815250906106b55760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b506001600160a01b0388166000908152600a602052604090205481108015906106f957506001600160a01b0388166000908152600a60205260409020600101548111155b6040518060400160405280601581526020017f4d61726b657420737472696b6520696e76616c696400000000000000000000008152509061077b5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b5060408051808201825260208082527f496e73756666696369656e7420636f6c6c61746572616c20756e6c6f636b6564818301526001600160a01b038b166000908152600790915291909120546107d991899063ffffffff6115a016565b6001600160a01b03808a166000818152600760209081526040808320959095559288168152600683528381209181529152205461081c908863ffffffff61153f16565b6001600160a01b038086166000908152600660209081526040808320938d168352929052205561084b886115fa565b600160005590999098509650505050505050565b336000818152600a6020908152604091829020600201548251808401909352601483527f506f736974696f6e206e6f7420657870697265640000000000000000000000009183019190915242116108f75760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b506001600160a01b038116600090815260086020526040902054610921908363ffffffff61162616565b6001600160a01b0380831660008181526008602090815260408083209590955560048054865163a9059cbb60e01b815291820194909452602481018890529451929093169363a9059cbb93604480830194919391928390030190829087803b15801561098c57600080fd5b505af11580156109a0573d6000803e3d6000fd5b505050506040513d60208110156109b657600080fd5b505060048054604080516370a0823160e01b81523093810193909352516001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610a0457600080fd5b505afa158015610a18573d6000803e3d6000fd5b505050506040513d6020811015610a2e57600080fd5b50516005555050565b826001600160a01b03166341ffb72e6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a7257600080fd5b505af1158015610a86573d6000803e3d6000fd5b505050506040513d6020811015610a9c57600080fd5b505160408051808201909152601281527113585c9ad95d081b9bdd08195e1c1a5c995960721b602082015290610b135760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b50604080518082018252601e81527f496e73756666696369656e7420636f6c6c61746572616c206c6f636b656400006020808301919091526001600160a01b03808716600090815260068352848120918716815291529190912054610b7f91839063ffffffff6115a016565b6001600160a01b0380851660009081526006602090815260408083209387168352928152828220939093556007909252902054610bc2908263ffffffff61153f16565b6001600160a01b039092166000908152600760205260409020919091555050565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6001600160a01b031660009081526008602052604090205490565b610c31611668565b6001546001600160a01b03908116911614610c93576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b604080518082019091526017815276496e76616c696420706f736974696f6e2065787069727960481b602082015242841015610d5a5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b50336000908152600a60209081526040918290206002015482518084019093526017835276496e76616c696420706f736974696f6e2065787069727960481b91830191909152841015610dee5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b50838511156040518060600160405280603281526020016117706032913990610e585760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b50336000818152600a6020526040902086815560018101869055600201849055610e8390838361166c565b5050505050565b610e9533838361166c565b5050565b60026000541415610ef1576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000908155604080518082018252601e81527f496e73756666696369656e7420636f6c6c61746572616c206c6f636b6564000060208083019190915233808552600682528385206001600160a01b038916865290915291909220549091610f629190849063ffffffff6115a016565b6001600160a01b0380831660009081526006602090815260408083209389168352928152828220939093556008909252902054610fa5908363ffffffff61162616565b6001600160a01b0380861660009081526008602090815260408083209490945560048054855163a9059cbb60e01b815289861692810192909252602482018890529451949093169363a9059cbb93604480820194918390030190829087803b15801561101057600080fd5b505af1158015611024573d6000803e3d6000fd5b505050506040513d602081101561103a57600080fd5b505060048054604080516370a0823160e01b81523093810193909352516001600160a01b03909116916370a08231916024808301926020929190829003018186803b15801561108857600080fd5b505afa15801561109c573d6000803e3d6000fd5b505050506040513d60208110156110b257600080fd5b5051600555505060016000555050565b6001546001600160a01b031690565b6110d9611668565b6001546001600160a01b0390811691161461113b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b60008061116b836115fa565b91509150915091565b6004546001600160a01b031681565b61118b611668565b6001546001600160a01b039081169116146111ed576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166112325760405162461bcd60e51b815260040180806020018281038252602681526020018061174a6026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600260005414156112e6576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260008181556001600160a01b0383168152600a6020908152604091829020909201548151808301909252601082526f141bdcda5d1a5bdb881b9bdd081cd95d60821b928201929092529061137d5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b5060048054604080516370a0823160e01b81523093810193909352516000926001600160a01b03909216916370a08231916024808301926020929190829003018186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d60208110156113f757600080fd5b505160055490915060009061141390839063ffffffff61162616565b6001600160a01b03841660009081526008602052604090205490915061143f908263ffffffff61153f16565b60086000856001600160a01b03166001600160a01b0316815260200190815260200160002081905550600081116040518060400160405280601b81526020017f496e73756666696369656e74206465706f73697420616d6f756e740000000000815250906114ee5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b506001600160a01b038316600090815260076020526040902054611518908263ffffffff61153f16565b6001600160a01b039093166000908152600760205260408120939093555060055560019055565b600082820183811015611599576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600081848411156115f25760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b505050900390565b6001600160a01b0316600090815260036020526040902054606081901b91600160a01b90910460ff1690565b600061159983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115a0565b3390565b60408051808201909152601c81527f43616e6e6f742073657420656d7074792042544320616464726573730000000060208201526001600160601b031983166116f65760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b506001600160a01b038316600090815260036020526040902080546001600160a01b031916606084901c1780825582919060ff60a01b1916600160a01b83600281111561173f57fe5b021790555050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496e76616c696420737472696b652072616e67653a206d696e696d756d2067726561746572207468616e206d6178696d756da2646970667358221220a54d42d220d056baedf8c3666c4034f441d2ba6119fc72495139749c846378a464736f6c634300060600334f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573738be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
    "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638870aab411610097578063d52131dc11610066578063d52131dc14610373578063d8dfeb4514610399578063f2fde38b146103a1578063f340fa01146103c757610100565b80638870aab4146102c35780638bfb07c9146102f35780638da5cb5b14610329578063b6a5d7de1461034d57610100565b80635f4bd383116100d35780635f4bd3831461021357806370a0823114610253578063715018a61461027957806376a51a461461028157610100565b80630178f1b914610105578063282d3fdf1461015d5780632e1a7d4d146101be57806359508f8f146101dd575b600080fd5b61010d6103ed565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610149578181015183820152602001610131565b505050509050019250505060405180910390f35b6101896004803603604081101561017357600080fd5b506001600160a01b03813516906020013561044f565b6040516001600160601b031983168152602081018260028111156101a957fe5b60ff1681526020019250505060405180910390f35b6101db600480360360208110156101d457600080fd5b503561085f565b005b6101db600480360360608110156101f357600080fd5b506001600160a01b03813581169160208101359091169060400135610a37565b6102416004803603604081101561022957600080fd5b506001600160a01b0381358116916020013516610be3565b60408051918252519081900360200190f35b6102416004803603602081101561026957600080fd5b50356001600160a01b0316610c0e565b6101db610c29565b6101db600480360360a081101561029757600080fd5b5080359060208101359060408101359060608101356001600160601b031916906080013560ff16610cdd565b6101db600480360360408110156102d957600080fd5b5080356001600160601b031916906020013560ff16610e8a565b6101db6004803603606081101561030957600080fd5b506001600160a01b03813581169160208101359091169060400135610e99565b6103316110c2565b604080516001600160a01b039092168252519081900360200190f35b6101db6004803603602081101561036357600080fd5b50356001600160a01b03166110d1565b6101896004803603602081101561038957600080fd5b50356001600160a01b031661115f565b610331611174565b6101db600480360360208110156103b757600080fd5b50356001600160a01b0316611183565b6101db600480360360208110156103dd57600080fd5b50356001600160a01b031661128e565b6060600280548060200260200160405190810160405280929190818152602001828054801561044557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610427575b5050505050905090565b600080600260005414156104aa576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260009081553380825260096020908152604092839020548351808501909452601584527f43616c6c6572206e6f7420617574686f72697a656400000000000000000000009184019190915290919060ff166105855760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561054a578181015183820152602001610532565b50505050905090810190601f1680156105775780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000806000836001600160a01b031663fbbf93a06040518163ffffffff1660e01b815260040160c06040518083038186803b1580156105c457600080fd5b505afa1580156105d8573d6000803e3d6000fd5b505050506040513d60c08110156105ee57600080fd5b5080516020808301516040938401516001600160a01b038d166000908152600a90935293909120600201549195509350909150610631848463ffffffff61153f16565b11156040518060400160405280601581526020017f4d61726b65742065787069727920696e76616c69640000000000000000000000815250906106b55760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b506001600160a01b0388166000908152600a602052604090205481108015906106f957506001600160a01b0388166000908152600a60205260409020600101548111155b6040518060400160405280601581526020017f4d61726b657420737472696b6520696e76616c696400000000000000000000008152509061077b5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b5060408051808201825260208082527f496e73756666696369656e7420636f6c6c61746572616c20756e6c6f636b6564818301526001600160a01b038b166000908152600790915291909120546107d991899063ffffffff6115a016565b6001600160a01b03808a166000818152600760209081526040808320959095559288168152600683528381209181529152205461081c908863ffffffff61153f16565b6001600160a01b038086166000908152600660209081526040808320938d168352929052205561084b886115fa565b600160005590999098509650505050505050565b336000818152600a6020908152604091829020600201548251808401909352601483527f506f736974696f6e206e6f7420657870697265640000000000000000000000009183019190915242116108f75760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b506001600160a01b038116600090815260086020526040902054610921908363ffffffff61162616565b6001600160a01b0380831660008181526008602090815260408083209590955560048054865163a9059cbb60e01b815291820194909452602481018890529451929093169363a9059cbb93604480830194919391928390030190829087803b15801561098c57600080fd5b505af11580156109a0573d6000803e3d6000fd5b505050506040513d60208110156109b657600080fd5b505060048054604080516370a0823160e01b81523093810193909352516001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610a0457600080fd5b505afa158015610a18573d6000803e3d6000fd5b505050506040513d6020811015610a2e57600080fd5b50516005555050565b826001600160a01b03166341ffb72e6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a7257600080fd5b505af1158015610a86573d6000803e3d6000fd5b505050506040513d6020811015610a9c57600080fd5b505160408051808201909152601281527113585c9ad95d081b9bdd08195e1c1a5c995960721b602082015290610b135760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b50604080518082018252601e81527f496e73756666696369656e7420636f6c6c61746572616c206c6f636b656400006020808301919091526001600160a01b03808716600090815260068352848120918716815291529190912054610b7f91839063ffffffff6115a016565b6001600160a01b0380851660009081526006602090815260408083209387168352928152828220939093556007909252902054610bc2908263ffffffff61153f16565b6001600160a01b039092166000908152600760205260409020919091555050565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6001600160a01b031660009081526008602052604090205490565b610c31611668565b6001546001600160a01b03908116911614610c93576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b604080518082019091526017815276496e76616c696420706f736974696f6e2065787069727960481b602082015242841015610d5a5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b50336000908152600a60209081526040918290206002015482518084019093526017835276496e76616c696420706f736974696f6e2065787069727960481b91830191909152841015610dee5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b50838511156040518060600160405280603281526020016117706032913990610e585760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b50336000818152600a6020526040902086815560018101869055600201849055610e8390838361166c565b5050505050565b610e9533838361166c565b5050565b60026000541415610ef1576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000908155604080518082018252601e81527f496e73756666696369656e7420636f6c6c61746572616c206c6f636b6564000060208083019190915233808552600682528385206001600160a01b038916865290915291909220549091610f629190849063ffffffff6115a016565b6001600160a01b0380831660009081526006602090815260408083209389168352928152828220939093556008909252902054610fa5908363ffffffff61162616565b6001600160a01b0380861660009081526008602090815260408083209490945560048054855163a9059cbb60e01b815289861692810192909252602482018890529451949093169363a9059cbb93604480820194918390030190829087803b15801561101057600080fd5b505af1158015611024573d6000803e3d6000fd5b505050506040513d602081101561103a57600080fd5b505060048054604080516370a0823160e01b81523093810193909352516001600160a01b03909116916370a08231916024808301926020929190829003018186803b15801561108857600080fd5b505afa15801561109c573d6000803e3d6000fd5b505050506040513d60208110156110b257600080fd5b5051600555505060016000555050565b6001546001600160a01b031690565b6110d9611668565b6001546001600160a01b0390811691161461113b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b60008061116b836115fa565b91509150915091565b6004546001600160a01b031681565b61118b611668565b6001546001600160a01b039081169116146111ed576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166112325760405162461bcd60e51b815260040180806020018281038252602681526020018061174a6026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600260005414156112e6576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260008181556001600160a01b0383168152600a6020908152604091829020909201548151808301909252601082526f141bdcda5d1a5bdb881b9bdd081cd95d60821b928201929092529061137d5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b5060048054604080516370a0823160e01b81523093810193909352516000926001600160a01b03909216916370a08231916024808301926020929190829003018186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d60208110156113f757600080fd5b505160055490915060009061141390839063ffffffff61162616565b6001600160a01b03841660009081526008602052604090205490915061143f908263ffffffff61153f16565b60086000856001600160a01b03166001600160a01b0316815260200190815260200160002081905550600081116040518060400160405280601b81526020017f496e73756666696369656e74206465706f73697420616d6f756e740000000000815250906114ee5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b506001600160a01b038316600090815260076020526040902054611518908263ffffffff61153f16565b6001600160a01b039093166000908152600760205260408120939093555060055560019055565b600082820183811015611599576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600081848411156115f25760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b505050900390565b6001600160a01b0316600090815260036020526040902054606081901b91600160a01b90910460ff1690565b600061159983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115a0565b3390565b60408051808201909152601c81527f43616e6e6f742073657420656d7074792042544320616464726573730000000060208201526001600160601b031983166116f65760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561054a578181015183820152602001610532565b506001600160a01b038316600090815260036020526040902080546001600160a01b031916606084901c1780825582919060ff60a01b1916600160a01b83600281111561173f57fe5b021790555050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496e76616c696420737472696b652072616e67653a206d696e696d756d2067726561746572207468616e206d6178696d756da2646970667358221220a54d42d220d056baedf8c3666c4034f441d2ba6119fc72495139749c846378a464736f6c63430006060033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
