UNPKG

@aztec/contract-artifacts

Version:

Smart contract compilation artifacts for the latest version of AZTEC.

239 lines 38.5 kB
{ "abi": [ { "inputs": [ { "internalType": "address", "name": "_aceAddress", "type": "address" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "behaviourContract", "type": "address" } ], "name": "NoteRegistryDeployed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "constant": true, "inputs": [], "name": "BURN_PROOF", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "DIVIDEND_PROOF", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "JOIN_SPLIT_PROOF", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MINT_PROOF", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "PRIVATE_RANGE_PROOF", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "PUBLIC_RANGE_PROOF", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "_proxy", "type": "address" }, { "internalType": "address", "name": "_newImplementation", "type": "address" }, { "internalType": "address", "name": "_newProxyAdmin", "type": "address" } ], "name": "handoverBehaviour", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "deployNewBehaviourInstance", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5060405161205a38038061205a8339818101604052602081101561003357600080fd5b50518060006100496001600160e01b0361009a16565b600080546001600160a01b0319166001600160a01b03831690811782556040519293509160008051602061203a833981519152908290a350610093816001600160e01b0361009e16565b5050610204565b3390565b6100af6001600160e01b0361012f16565b61011a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61012c816001600160e01b0361015c16565b50565b600080546001600160a01b031661014d6001600160e01b0361009a16565b6001600160a01b031614905090565b6001600160a01b0381166101bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806120146026913960400191505060405180910390fd5b600080546040516001600160a01b038085169392169160008051602061203a83398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b611e01806102136000396000f3fe608060405234801561001057600080fd5b50600436106100b35760003560e01c80638da5cb5b116100715780638da5cb5b1461011e5780638e526d9b146101265780638f32d59b1461012e578063b5ee31f01461014a578063df92462514610182578063f2fde38b1461018a576100b3565b80625bf732146100b857806308ae900a146100d85780630f5d1a39146100e057806349518b2814610104578063715018a61461010c5780638500e1f814610116575b600080fd5b6100c06101b0565b6040805162ffffff9092168252519081900360200190f35b6100c06101b7565b6100e86101be565b604080516001600160a01b039092168252519081900360200190f35b6100c0610277565b61011461027e565b005b6100c061030f565b6100e8610316565b6100c0610325565b61013661032c565b604080519115158252519081900360200190f35b6101146004803603606081101561016057600080fd5b506001600160a01b038135811691602081013582169160409091013516610350565b6100c0610532565b610114600480360360208110156101a057600080fd5b50356001600160a01b0316610539565b6201010181565b6201040381565b60006101c861032c565b610207576040805162461bcd60e51b81526020600482018190526024820152600080516020611d8b833981519152604482015290519081900360640190fd5b600060405161021590610630565b604051809103906000f080158015610231573d6000803e3d6000fd5b50604080516001600160a01b038316815290519192507ff0b9411f46edcf614ae2f9fe981a238b88f643e02271a06f46cae1674dfad295919081900360200190a1905090565b6201040281565b61028661032c565b6102c5576040805162461bcd60e51b81526020600482018190526024820152600080516020611d8b833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6201040181565b6000546001600160a01b031690565b6201020181565b600080546001600160a01b031661034161058c565b6001600160a01b031614905090565b61035861032c565b610397576040805162461bcd60e51b81526020600482018190526024820152600080516020611d8b833981519152604482015290519081900360640190fd5b306001600160a01b0316836001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156103dc57600080fd5b505af11580156103f0573d6000803e3d6000fd5b505050506040513d602081101561040657600080fd5b50516001600160a01b03161461044d5760405162461bcd60e51b8152600401808060200182810382526022815260200180611dab6022913960400191505060405180910390fd5b826001600160a01b0316633659cfe6836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b1580156104a557600080fd5b505af11580156104b9573d6000803e3d6000fd5b50505050826001600160a01b0316638f283970826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b50505050505050565b6201030181565b61054161032c565b610580576040805162461bcd60e51b81526020600482018190526024820152600080516020611d8b833981519152604482015290519081900360640190fd5b61058981610590565b50565b3390565b6001600160a01b0381166105d55760405162461bcd60e51b8152600401808060200182810382526026815260200180611d656026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6117278061063e8339019056fe60806040526008805460ff1916905534801561001a57600080fd5b50600061002e6001600160e01b036100a116565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000805460ff60a01b1916740100000000000000000000000000000000000000001790556100a5565b3390565b611673806100b46000396000f3fe608060405234801561001057600080fd5b50600436106101575760003560e01c80637ba0e2e7116100c357806398df3d001161007c57806398df3d00146104be578063ad32f92514610517578063ce8843431461051f578063d82d577e1461055b578063df92462514610563578063f2fde38b1461056b57610157565b80637ba0e2e7146103f05780638500e1f81461049657806385c418f31461049e5780638da5cb5b146104a65780638e526d9b146104ae5780638f32d59b146104b657610157565b80632a07b6c7116101155780632a07b6c7146101e6578063386612381461028e57806349518b28146103685780635ab1bd5314610370578063715018a6146103a75780637b103999146103af57610157565b80625bf7321461015c57806303e012e31461017c57806307003bb4146101a057806307616051146101bc57806308ae900a146101d65780631d14cca6146101de575b600080fd5b610164610591565b6040805162ffffff9092168252519081900360200190f35b610184610598565b604080516001600160a01b039092168252519081900360200190f35b6101a86105a7565b604080519115158252519081900360200190f35b6101c46105b7565b60408051918252519081900360200190f35b6101646105db565b6101a86105e2565b61028c600480360360208110156101fc57600080fd5b81019060208101813564010000000081111561021757600080fd5b82018360208201111561022957600080fd5b8035906020019184600183028401116401000000008311171561024b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105eb945050505050565b005b610340600480360360408110156102a457600080fd5b62ffffff82351691908101906040810160208201356401000000008111156102cb57600080fd5b8201836020820111156102dd57600080fd5b803590602001918460018302840111640100000000831117156102ff57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061063e945050505050565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6101646106a2565b6103786106a9565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b61028c610738565b6103b76107c9565b604080519615158752602087019590955285850193909352606085019190915215156080840152151560a0830152519081900360c00190f35b61028c6004803603602081101561040657600080fd5b81019060208101813564010000000081111561042157600080fd5b82018360208201111561043357600080fd5b8035906020019184600183028401116401000000008311171561045557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107eb945050505050565b61016461083b565b6101a8610842565b610184610852565b610164610861565b6101a8610868565b6104db600480360360208110156104d457600080fd5b503561088c565b6040805160ff909516855264ffffffffff938416602086015291909216838201526001600160a01b039091166060830152519081900360800190f35b61028c610930565b61028c6004803603608081101561053557600080fd5b506001600160a01b03813516906020810135906040810135151590606001351515610979565b6101c4610aa1565b610164610aa9565b61028c6004803603602081101561058157600080fd5b50356001600160a01b0316610ab0565b6201010181565b6001546001600160a01b031681565b600054600160a81b900460ff1681565b7f26d21f105b054b61e8d9680855c3af0633bd7c140b87de95f0ac218046fc71db81565b6201040381565b60085460ff1681565b6105f3610868565b610632576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b61063b81610b00565b50565b600080600061064b610868565b61068a576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b6106948585610b50565b919790965090945092505050565b6201040281565b600254600090819081908190819060ff161515600114610710576040805162461bcd60e51b815260206004820152601f60248201527f657870656374656420726567697374727920746f206265206372656174656400604482015290519081900360640190fd5b50506003546004546005546006549296919550935060ff808316935061010090920490911690565b610740610868565b61077f576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60025460035460045460055460065460ff948516948181169161010090041686565b6107f3610868565b610832576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b61063b81610ba6565b6201040181565b600054600160a01b900460ff1681565b6000546001600160a01b031690565b6201020181565b600080546001600160a01b031661087d610bf6565b6001600160a01b031614905090565b60008181526007602052604081205481908190819060ff166108ee576040805162461bcd60e51b8152602060048201526016602482015275195e1c1958dd1959081b9bdd19481d1bc8195e1a5cdd60521b604482015290519081900360640190fd5b5050506000918252506007602052604090205460ff811691600882901c64ffffffffff90811692603081901c9091169160589190911c6001600160a01b031690565b610938610868565b610977576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b565b600054600160a81b900460ff161515600114156109dd576040805162461bcd60e51b815260206004820152601c60248201527f726567697374727920616c726561647920696e697469616c6973656400000000604482015290519081900360640190fd5b6109e684610bfa565b60018054336001600160a01b03199091161781556040805160c081018252828152602081018690527f26d21f105b054b61e8d9680855c3af0633bd7c140b87de95f0ac218046fc71db918101829052606081018290529215156080840181905293151560a09093018390526002805460ff19908116909317905560039490945560048490556005939093556006805490931690911761ff0019166101009091021790555060008054600160a81b60ff60a81b19909116179055565b635e83d97f81565b6201030181565b610ab8610868565b610af7576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b61063b81610bfa565b610b08610868565b610b47576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b61063b81610c9a565b6000806000610b5d610868565b610b9c576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b6106948585610e1b565b610bae610868565b610bed576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b61063b81610f69565b3390565b6001600160a01b038116610c3f5760405162461bcd60e51b81526004018080602001828103825260268152602001806114de6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610ca2610868565b610ce1576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b60065460ff610100909104161515600114610d43576040805162461bcd60e51b815260206004820152601a60248201527f74686973206173736574206973206e6f74206275726e61626c65000000000000604482015290519081900360640190fd5b606080610d5f610d5a84600063ffffffff6110d716565b61112e565b50919350915060609050610d7d610d5a85600163ffffffff6110d716565b50509150506000610da0610d9b6000866110d790919063ffffffff16565b611158565b509150506002600301548114610de75760405162461bcd60e51b81526004018080602001828103825260298152602001806115046029913960400191505060405180910390fd5b6000610dfc610d9b858363ffffffff6110d716565b50915050610e0981611176565b50610e13836111c8565b505050505050565b6000806000610e28610868565b610e67576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b60025460ff161515600114610ead5760405162461bcd60e51b81526004018080602001828103825260328152602001806115826032913960400191505060405180910390fd5b606080610eb98661112e565b90975094509092509050610ecc826111c8565b610ed581611214565b8215610f605760065460ff161515600114610f215760405162461bcd60e51b815260040180806020018281038252602c815260200180611556602c913960400191505060405180910390fd5b6000831215610f4957600354610f429060008590039063ffffffff6112a116565b9350610f60565b600354610f5d90849063ffffffff6112a116565b93505b50509250925092565b610f71610868565b610fb0576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b60065460ff610100909104161515600114611012576040805162461bcd60e51b815260206004820152601a60248201527f74686973206173736574206973206e6f74206d696e7461626c65000000000000604482015290519081900360640190fd5b606080611029610d5a84600063ffffffff6110d716565b50919350915060609050611047610d5a85600163ffffffff6110d716565b50509150506000611065610d9b6000866110d790919063ffffffff16565b50915050600280015481146110ab5760405162461bcd60e51b815260040180806020018281038252602981526020018061152d6029913960400191505060405180910390fd5b60006110c0610d9b858363ffffffff6110d716565b509150506110cd81611303565b50610e1383611214565b6020828101519082028301604001518301908210806111275760405162461bcd60e51b815260040180806020018281038252602281526020018061161d6022913960400191505060405180910390fd5b5092915050565b60208101516040820151606083015160808401519284019491909301926001600160a01b03169190565b604081015160608201516001600160a01b0390911692909160800190565b6000611180610868565b6111bf576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b50600581905590565b60006111d382611355565b905060005b8181101561120f576000806111f6610d9b868563ffffffff6110d716565b5091509150611205818361135c565b50506001016111d8565b505050565b600061121f82611355565b905060005b8181101561120f57600080611242610d9b868563ffffffff6110d716565b5090925090506001600160a01b03821661128d5760405162461bcd60e51b81526004018080602001828103825260288152602001806115d56028913960400191505060405180910390fd5b6112978183611462565b5050600101611224565b6000826112b0575060006112fd565b828202828482816112bd57fe5b04146112fa5760405162461bcd60e51b81526004018080602001828103825260218152602001806115b46021913960400191505060405180910390fd5b90505b92915050565b600061130d610868565b61134c576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b50600481905590565b6020015190565b600082815260076020526040902080546affffffffff0000000000ff1981166affffffffff0000000000004260301b1617600290811783559160ff82169160581c6001600160a01b031690600183146113fc576040805162461bcd60e51b815260206004820181905260248201527f696e707574206e6f746520737461747573206973206e6f7420554e5350454e54604482015290519081900360640190fd5b846001600160a01b0316826001600160a01b031614610e13576040805162461bcd60e51b815260206004820152601f60248201527f696e707574206e6f7465206f776e657220646f6573206e6f74206d6174636800604482015290519081900360640190fd5b600082815260076020526040902080546001919060ff16156114c0576040805162461bcd60e51b81526020600482015260126024820152716f7574707574206e6f74652065786973747360701b604482015290519081900360640190fd5b8260581b64ffffffffff421660081b60ff8416171781555050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737370726f766964656420746f74616c206275726e6564206e6f746520646f6573206e6f74206d6174636870726f766964656420746f74616c206d696e746564206e6f746520646f6573206e6f74206d6174636861737365742063616e6e6f7420626520636f6e76657274656420696e746f207075626c696320746f6b656e736e6f746520726567697374727920646f6573206e6f7420657869737420666f722074686520676976656e2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f7574707574206e6f7465206f776e65722063616e6e6f74206265206164647265737328307830294f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572415a54454320617272617920696e646578206973206f7574206f6620626f756e6473a265627a7a72315820032d257ef54c3ee067ec1d5f4661895e42b962597674e17b137cf533185c559c64736f6c634300051100324f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657274686973206973206e6f74207468652061646d696e206f66207468652070726f7879a265627a7a723158205ab0590e1e6203bf751b2a0ff0e752dc74be1932e7c420c7a8c0c513c53d9fd164736f6c634300051100324f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573738be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "compiler": { "name": "solc", "version": "0.5.17+commit.d19bba13.Emscripten.clang" }, "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b35760003560e01c80638da5cb5b116100715780638da5cb5b1461011e5780638e526d9b146101265780638f32d59b1461012e578063b5ee31f01461014a578063df92462514610182578063f2fde38b1461018a576100b3565b80625bf732146100b857806308ae900a146100d85780630f5d1a39146100e057806349518b2814610104578063715018a61461010c5780638500e1f814610116575b600080fd5b6100c06101b0565b6040805162ffffff9092168252519081900360200190f35b6100c06101b7565b6100e86101be565b604080516001600160a01b039092168252519081900360200190f35b6100c0610277565b61011461027e565b005b6100c061030f565b6100e8610316565b6100c0610325565b61013661032c565b604080519115158252519081900360200190f35b6101146004803603606081101561016057600080fd5b506001600160a01b038135811691602081013582169160409091013516610350565b6100c0610532565b610114600480360360208110156101a057600080fd5b50356001600160a01b0316610539565b6201010181565b6201040381565b60006101c861032c565b610207576040805162461bcd60e51b81526020600482018190526024820152600080516020611d8b833981519152604482015290519081900360640190fd5b600060405161021590610630565b604051809103906000f080158015610231573d6000803e3d6000fd5b50604080516001600160a01b038316815290519192507ff0b9411f46edcf614ae2f9fe981a238b88f643e02271a06f46cae1674dfad295919081900360200190a1905090565b6201040281565b61028661032c565b6102c5576040805162461bcd60e51b81526020600482018190526024820152600080516020611d8b833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6201040181565b6000546001600160a01b031690565b6201020181565b600080546001600160a01b031661034161058c565b6001600160a01b031614905090565b61035861032c565b610397576040805162461bcd60e51b81526020600482018190526024820152600080516020611d8b833981519152604482015290519081900360640190fd5b306001600160a01b0316836001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156103dc57600080fd5b505af11580156103f0573d6000803e3d6000fd5b505050506040513d602081101561040657600080fd5b50516001600160a01b03161461044d5760405162461bcd60e51b8152600401808060200182810382526022815260200180611dab6022913960400191505060405180910390fd5b826001600160a01b0316633659cfe6836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b1580156104a557600080fd5b505af11580156104b9573d6000803e3d6000fd5b50505050826001600160a01b0316638f283970826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b50505050505050565b6201030181565b61054161032c565b610580576040805162461bcd60e51b81526020600482018190526024820152600080516020611d8b833981519152604482015290519081900360640190fd5b61058981610590565b50565b3390565b6001600160a01b0381166105d55760405162461bcd60e51b8152600401808060200182810382526026815260200180611d656026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6117278061063e8339019056fe60806040526008805460ff1916905534801561001a57600080fd5b50600061002e6001600160e01b036100a116565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000805460ff60a01b1916740100000000000000000000000000000000000000001790556100a5565b3390565b611673806100b46000396000f3fe608060405234801561001057600080fd5b50600436106101575760003560e01c80637ba0e2e7116100c357806398df3d001161007c57806398df3d00146104be578063ad32f92514610517578063ce8843431461051f578063d82d577e1461055b578063df92462514610563578063f2fde38b1461056b57610157565b80637ba0e2e7146103f05780638500e1f81461049657806385c418f31461049e5780638da5cb5b146104a65780638e526d9b146104ae5780638f32d59b146104b657610157565b80632a07b6c7116101155780632a07b6c7146101e6578063386612381461028e57806349518b28146103685780635ab1bd5314610370578063715018a6146103a75780637b103999146103af57610157565b80625bf7321461015c57806303e012e31461017c57806307003bb4146101a057806307616051146101bc57806308ae900a146101d65780631d14cca6146101de575b600080fd5b610164610591565b6040805162ffffff9092168252519081900360200190f35b610184610598565b604080516001600160a01b039092168252519081900360200190f35b6101a86105a7565b604080519115158252519081900360200190f35b6101c46105b7565b60408051918252519081900360200190f35b6101646105db565b6101a86105e2565b61028c600480360360208110156101fc57600080fd5b81019060208101813564010000000081111561021757600080fd5b82018360208201111561022957600080fd5b8035906020019184600183028401116401000000008311171561024b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105eb945050505050565b005b610340600480360360408110156102a457600080fd5b62ffffff82351691908101906040810160208201356401000000008111156102cb57600080fd5b8201836020820111156102dd57600080fd5b803590602001918460018302840111640100000000831117156102ff57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061063e945050505050565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6101646106a2565b6103786106a9565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b61028c610738565b6103b76107c9565b604080519615158752602087019590955285850193909352606085019190915215156080840152151560a0830152519081900360c00190f35b61028c6004803603602081101561040657600080fd5b81019060208101813564010000000081111561042157600080fd5b82018360208201111561043357600080fd5b8035906020019184600183028401116401000000008311171561045557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107eb945050505050565b61016461083b565b6101a8610842565b610184610852565b610164610861565b6101a8610868565b6104db600480360360208110156104d457600080fd5b503561088c565b6040805160ff909516855264ffffffffff938416602086015291909216838201526001600160a01b039091166060830152519081900360800190f35b61028c610930565b61028c6004803603608081101561053557600080fd5b506001600160a01b03813516906020810135906040810135151590606001351515610979565b6101c4610aa1565b610164610aa9565b61028c6004803603602081101561058157600080fd5b50356001600160a01b0316610ab0565b6201010181565b6001546001600160a01b031681565b600054600160a81b900460ff1681565b7f26d21f105b054b61e8d9680855c3af0633bd7c140b87de95f0ac218046fc71db81565b6201040381565b60085460ff1681565b6105f3610868565b610632576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b61063b81610b00565b50565b600080600061064b610868565b61068a576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b6106948585610b50565b919790965090945092505050565b6201040281565b600254600090819081908190819060ff161515600114610710576040805162461bcd60e51b815260206004820152601f60248201527f657870656374656420726567697374727920746f206265206372656174656400604482015290519081900360640190fd5b50506003546004546005546006549296919550935060ff808316935061010090920490911690565b610740610868565b61077f576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60025460035460045460055460065460ff948516948181169161010090041686565b6107f3610868565b610832576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b61063b81610ba6565b6201040181565b600054600160a01b900460ff1681565b6000546001600160a01b031690565b6201020181565b600080546001600160a01b031661087d610bf6565b6001600160a01b031614905090565b60008181526007602052604081205481908190819060ff166108ee576040805162461bcd60e51b8152602060048201526016602482015275195e1c1958dd1959081b9bdd19481d1bc8195e1a5cdd60521b604482015290519081900360640190fd5b5050506000918252506007602052604090205460ff811691600882901c64ffffffffff90811692603081901c9091169160589190911c6001600160a01b031690565b610938610868565b610977576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b565b600054600160a81b900460ff161515600114156109dd576040805162461bcd60e51b815260206004820152601c60248201527f726567697374727920616c726561647920696e697469616c6973656400000000604482015290519081900360640190fd5b6109e684610bfa565b60018054336001600160a01b03199091161781556040805160c081018252828152602081018690527f26d21f105b054b61e8d9680855c3af0633bd7c140b87de95f0ac218046fc71db918101829052606081018290529215156080840181905293151560a09093018390526002805460ff19908116909317905560039490945560048490556005939093556006805490931690911761ff0019166101009091021790555060008054600160a81b60ff60a81b19909116179055565b635e83d97f81565b6201030181565b610ab8610868565b610af7576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b61063b81610bfa565b610b08610868565b610b47576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b61063b81610c9a565b6000806000610b5d610868565b610b9c576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b6106948585610e1b565b610bae610868565b610bed576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b61063b81610f69565b3390565b6001600160a01b038116610c3f5760405162461bcd60e51b81526004018080602001828103825260268152602001806114de6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610ca2610868565b610ce1576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b60065460ff610100909104161515600114610d43576040805162461bcd60e51b815260206004820152601a60248201527f74686973206173736574206973206e6f74206275726e61626c65000000000000604482015290519081900360640190fd5b606080610d5f610d5a84600063ffffffff6110d716565b61112e565b50919350915060609050610d7d610d5a85600163ffffffff6110d716565b50509150506000610da0610d9b6000866110d790919063ffffffff16565b611158565b509150506002600301548114610de75760405162461bcd60e51b81526004018080602001828103825260298152602001806115046029913960400191505060405180910390fd5b6000610dfc610d9b858363ffffffff6110d716565b50915050610e0981611176565b50610e13836111c8565b505050505050565b6000806000610e28610868565b610e67576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b60025460ff161515600114610ead5760405162461bcd60e51b81526004018080602001828103825260328152602001806115826032913960400191505060405180910390fd5b606080610eb98661112e565b90975094509092509050610ecc826111c8565b610ed581611214565b8215610f605760065460ff161515600114610f215760405162461bcd60e51b815260040180806020018281038252602c815260200180611556602c913960400191505060405180910390fd5b6000831215610f4957600354610f429060008590039063ffffffff6112a116565b9350610f60565b600354610f5d90849063ffffffff6112a116565b93505b50509250925092565b610f71610868565b610fb0576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b60065460ff610100909104161515600114611012576040805162461bcd60e51b815260206004820152601a60248201527f74686973206173736574206973206e6f74206d696e7461626c65000000000000604482015290519081900360640190fd5b606080611029610d5a84600063ffffffff6110d716565b50919350915060609050611047610d5a85600163ffffffff6110d716565b50509150506000611065610d9b6000866110d790919063ffffffff16565b50915050600280015481146110ab5760405162461bcd60e51b815260040180806020018281038252602981526020018061152d6029913960400191505060405180910390fd5b60006110c0610d9b858363ffffffff6110d716565b509150506110cd81611303565b50610e1383611214565b6020828101519082028301604001518301908210806111275760405162461bcd60e51b815260040180806020018281038252602281526020018061161d6022913960400191505060405180910390fd5b5092915050565b60208101516040820151606083015160808401519284019491909301926001600160a01b03169190565b604081015160608201516001600160a01b0390911692909160800190565b6000611180610868565b6111bf576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b50600581905590565b60006111d382611355565b905060005b8181101561120f576000806111f6610d9b868563ffffffff6110d716565b5091509150611205818361135c565b50506001016111d8565b505050565b600061121f82611355565b905060005b8181101561120f57600080611242610d9b868563ffffffff6110d716565b5090925090506001600160a01b03821661128d5760405162461bcd60e51b81526004018080602001828103825260288152602001806115d56028913960400191505060405180910390fd5b6112978183611462565b5050600101611224565b6000826112b0575060006112fd565b828202828482816112bd57fe5b04146112fa5760405162461bcd60e51b81526004018080602001828103825260218152602001806115b46021913960400191505060405180910390fd5b90505b92915050565b600061130d610868565b61134c576040805162461bcd60e51b815260206004820181905260248201526000805160206115fd833981519152604482015290519081900360640190fd5b50600481905590565b6020015190565b600082815260076020526040902080546affffffffff0000000000ff1981166affffffffff0000000000004260301b1617600290811783559160ff82169160581c6001600160a01b031690600183146113fc576040805162461bcd60e51b815260206004820181905260248201527f696e707574206e6f746520737461747573206973206e6f7420554e5350454e54604482015290519081900360640190fd5b846001600160a01b0316826001600160a01b031614610e13576040805162461bcd60e51b815260206004820152601f60248201527f696e707574206e6f7465206f776e657220646f6573206e6f74206d6174636800604482015290519081900360640190fd5b600082815260076020526040902080546001919060ff16156114c0576040805162461bcd60e51b81526020600482015260126024820152716f7574707574206e6f74652065786973747360701b604482015290519081900360640190fd5b8260581b64ffffffffff421660081b60ff8416171781555050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737370726f766964656420746f74616c206275726e6564206e6f746520646f6573206e6f74206d6174636870726f766964656420746f74616c206d696e746564206e6f746520646f6573206e6f74206d6174636861737365742063616e6e6f7420626520636f6e76657274656420696e746f207075626c696320746f6b656e736e6f746520726567697374727920646f6573206e6f7420657869737420666f722074686520676976656e2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776f7574707574206e6f7465206f776e65722063616e6e6f74206265206164647265737328307830294f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572415a54454320617272617920696e646578206973206f7574206f6620626f756e6473a265627a7a72315820032d257ef54c3ee067ec1d5f4661895e42b962597674e17b137cf533185c559c64736f6c634300051100324f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657274686973206973206e6f74207468652061646d696e206f66207468652070726f7879a265627a7a723158205ab0590e1e6203bf751b2a0ff0e752dc74be1932e7c420c7a8c0c513c53d9fd164736f6c63430005110032", "schemaVersion": "3.0.19" }