{
  "_format": "hh-sol-artifact-1",
  "contractName": "WarperWizardV1",
  "sourceName": "contracts/wizards/v1/warper/WarperWizardV1.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "metahub",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "taxStrategyId",
          "type": "bytes4"
        },
        {
          "internalType": "uint256",
          "name": "universeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "warperAddress",
          "type": "address"
        }
      ],
      "name": "CouldNotDetectWarperTaxTerms",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "FailedToSetWarperTaxTerms",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidContractEntityInterface",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "TaxTermsAreInvalid",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "warperAddress",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "bytes4",
              "name": "strategyId",
              "type": "bytes4"
            },
            {
              "internalType": "bytes",
              "name": "strategyData",
              "type": "bytes"
            }
          ],
          "internalType": "struct ITaxTermsRegistry.TaxTerms",
          "name": "newUniverseWarperTaxTerms",
          "type": "tuple"
        }
      ],
      "name": "alterWarperTaxTerms",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "contractKey",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "warperAddress",
          "type": "address"
        }
      ],
      "name": "deregisterWarper",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes[]",
          "name": "data",
          "type": "bytes[]"
        }
      ],
      "name": "multicall",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "results",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "existingWarperAddress",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "bytes4",
              "name": "strategyId",
              "type": "bytes4"
            },
            {
              "internalType": "bytes",
              "name": "strategyData",
              "type": "bytes"
            }
          ],
          "internalType": "struct ITaxTermsRegistry.TaxTerms",
          "name": "universeWarperTaxTerms",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "string",
              "name": "name",
              "type": "string"
            },
            {
              "internalType": "uint256",
              "name": "universeId",
              "type": "uint256"
            },
            {
              "internalType": "bool",
              "name": "paused",
              "type": "bool"
            }
          ],
          "internalType": "struct IWarperManager.WarperRegistrationParams",
          "name": "warperRegistrationParams",
          "type": "tuple"
        },
        {
          "internalType": "bytes32",
          "name": "warperPresetId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "warperInitData",
          "type": "bytes"
        }
      ],
      "name": "registerWarper",
      "outputs": [
        {
          "internalType": "address",
          "name": "deployedWarperAddress",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50604051611acb380380611acb83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b611a38806100936000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806301ffc9a71461006757806347c348391461008f578063ac9650d8146100ba578063c1e58a21146100da578063ec21896d146100ef578063fd5af37b1461011d575b600080fd5b61007a610075366004611206565b610130565b60405190151581526020015b60405180910390f35b6100a261009d366004611250565b61015b565b6040516001600160a01b039091168152602001610086565b6100cd6100c836600461132f565b610298565b60405161008691906113fc565b6100ed6100e836600461145e565b61038d565b005b7fc1aba6380b01ff9f2ad17cc226f5fc83eeeb9ff01f8e0474d115be1dba72ea21604051610086919061147b565b6100ed61012b366004611490565b610487565b60006001600160e01b03198216637b7c316360e01b1480610155575061015582610584565b92915050565b6000805460405163e3dedd6b60e01b81526001600160a01b039091169063e3dedd6b906101ac907f80e923a5a548bf8cd1c0d5679e7fb52a28d9fd42e9642a412b581817718d9aa49060040161147b565b602060405180830381865afa1580156101c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ed91906114e0565b604051631f70cc3760e21b8152602087013560048201523360248201526001600160a01b039190911690637dc330dc9060440160006040518083038186803b15801561023857600080fd5b505afa15801561024c573d6000803e3d6000fd5b505060005461026d92508991508690869086906001600160a01b03166105b9565b905061028e818761027d886115d6565b6000546001600160a01b03166106db565b9695505050505050565b60608167ffffffffffffffff8111156102b3576102b36114fd565b6040519080825280602002602001820160405280156102e657816020015b60608152602001906001900390816102d15790505b50905060005b82811015610386576103563085858481811061030a5761030a611677565b905060200281019061031c919061168d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108b692505050565b82828151811061036857610368611677565b6020026020010181905250808061037e906116db565b9150506102ec565b5092915050565b60005460405163e3dedd6b60e01b81526001600160a01b039091169063e3dedd6b906103cb906000805160206119e38339815191529060040161147b565b602060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c91906114e0565b604051631f180dfd60e01b81526001600160a01b0383811660048301523360248301529190911690631f180dfd9060440160006040518083038186803b15801561045557600080fd5b505afa158015610469573d6000803e3d6000fd5b505060005461048492508391506001600160a01b03166108e2565b50565b60005460405163e3dedd6b60e01b81526001600160a01b039091169063e3dedd6b906104c5906000805160206119e38339815191529060040161147b565b602060405180830381865afa1580156104e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050691906114e0565b604051631f180dfd60e01b81526001600160a01b0384811660048301523360248301529190911690631f180dfd9060440160006040518083038186803b15801561054f57600080fd5b505afa158015610563573d6000803e3d6000fd5b5050600054610580925084915083906001600160a01b0316610a48565b5050565b60006001600160e01b0319821663ec21896d60e01b148061015557506301ffc9a760e01b6001600160e01b0319831614610155565b60006001600160a01b0386166106cf5760405163e3dedd6b60e01b81526001600160a01b0383169063e3dedd6b90610615907f480e80f368876aea8ab630b0483e6a1ad1306872c50ca044fdd952923044a1c79060040161147b565b602060405180830381865afa158015610632573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065691906114e0565b6001600160a01b0316638e0e1ddf8686866040518463ffffffff1660e01b81526004016106859392919061172b565b6020604051808303816000875af11580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c891906114e0565b90506106d2565b50845b95945050505050565b60405163e3dedd6b60e01b81526001600160a01b0382169063e3dedd6b90610715906000805160206119e38339815191529060040161147b565b602060405180830381865afa158015610732573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075691906114e0565b6001600160a01b031663e528b08185846040518363ffffffff1660e01b8152600401610783929190611745565b600060405180830381600087803b15801561079d57600080fd5b505af11580156107b1573d6000803e3d6000fd5b505050506107be83610da5565b60405163e3dedd6b60e01b81526001600160a01b0382169063e3dedd6b9061080a907f341871c11e31d340c0e8ff6b53198c8d5e4df7e8722fa19177b3bfac0ef566fd9060040161147b565b602060405180830381865afa158015610827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084b91906114e0565b6001600160a01b031663066b5732836020015186866040518463ffffffff1660e01b815260040161087e93929190611792565b600060405180830381600087803b15801561089857600080fd5b505af11580156108ac573d6000803e3d6000fd5b5050505050505050565b60606108db83836040518060600160405280602781526020016119bc60279139610de9565b9392505050565b60405163e3dedd6b60e01b81526000906001600160a01b0383169063e3dedd6b9061091f906000805160206119e38339815191529060040161147b565b602060405180830381865afa15801561093c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096091906114e0565b604051631550c40960e21b81526001600160a01b038581166004830152919250600091831690635543102490602401600060405180830381865afa1580156109ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d49190810190611882565b60a0015160405163c1e58a2160e01b81526001600160a01b0386811660048301529192509083169063c1e58a2190602401600060405180830381600087803b158015610a1f57600080fd5b505af1158015610a33573d6000803e3d6000fd5b50505050610a42818585610ec1565b50505050565b60405163e3dedd6b60e01b81526000906001600160a01b0383169063e3dedd6b90610a85906000805160206119e38339815191529060040161147b565b602060405180830381865afa158015610aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac691906114e0565b604051631550c40960e21b81526001600160a01b038681166004830152919250600091831690635543102490602401600060405180830381865afa158015610b12573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b3a9190810190611882565b60a0015190506000836001600160a01b031663e3dedd6b7f341871c11e31d340c0e8ff6b53198c8d5e4df7e8722fa19177b3bfac0ef566fd6040518263ffffffff1660e01b8152600401610b8e919061147b565b602060405180830381865afa158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf91906114e0565b9050610bda85610da5565b6000610be461108f565b905060005b8151811015610d8c576000828281518110610c0657610c06611677565b60200260200101519050836001600160a01b031663d5fb563c868b846040518463ffffffff1660e01b8152600401610c4093929190611946565b602060405180830381865afa158015610c5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c81919061196f565b8015610ca55750610c956020890189611206565b6001600160e01b03198281169116145b15610d79576040516399c4063960e01b81526001600160a01b038516906399c4063990610cda9088908d908690600401611946565b600060405180830381600087803b158015610cf457600080fd5b505af1158015610d08573d6000803e3d6000fd5b5050604051630335ab9960e11b81526001600160a01b038716925063066b57329150610d3c9088908d908d90600401611792565b600060405180830381600087803b158015610d5657600080fd5b505af1158015610d6a573d6000803e3d6000fd5b50505050505050505050505050565b5080610d84816116db565b915050610be9565b506040516288f81d60e61b815260040160405180910390fd5b610dae8161115c565b80610dcb5750610dc9610dc46020830183611206565b611181565b155b1561048457604051639ba784e160e01b815260040160405180910390fd5b60606001600160a01b0384163b610e565760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b031685604051610e71919061198c565b600060405180830381855af49150503d8060008114610eac576040519150601f19603f3d011682016040523d82523d6000602084013e610eb1565b606091505b509150915061028e8282866111b7565b6000610ecb61108f565b90506000826001600160a01b031663e3dedd6b7f341871c11e31d340c0e8ff6b53198c8d5e4df7e8722fa19177b3bfac0ef566fd6040518263ffffffff1660e01b8152600401610f1b919061147b565b602060405180830381865afa158015610f38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5c91906114e0565b905060005b825181101561108757816001600160a01b031663d5fb563c8787868581518110610f8d57610f8d611677565b60200260200101516040518463ffffffff1660e01b8152600401610fb393929190611946565b602060405180830381865afa158015610fd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff4919061196f565b1561107557816001600160a01b03166399c40639878786858151811061101c5761101c611677565b60200260200101516040518463ffffffff1660e01b815260040161104293929190611946565b600060405180830381600087803b15801561105c57600080fd5b505af1158015611070573d6000803e3d6000fd5b505050505b8061107f816116db565b915050610f61565b505050505050565b604080516002808252606080830184529260009291906020830190803683370190505090507fee19df4431adeb51b71ec0c289647382c94c93f82f24fe8e1ca657f9f045b3a1816000815181106110e8576110e8611677565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f3ddbcd09531601ddaf61ca39b7005ce8f3825ea1267f0feb9d416e868dec8eba8160018151811061113e5761113e611677565b6001600160e01b031990921660209283029190910190910152919050565b600061116b6020830183611206565b50611179602083018361168d565b159392505050565b60006001600160e01b03198216633b8677d160e21b148061015557506001600160e01b03198216633ddbcd0960e01b1492915050565b606083156111c65750816108db565b8251156111d65782518084602001fd5b8160405162461bcd60e51b8152600401610e4d91906119a8565b6001600160e01b03198116811461048457600080fd5b60006020828403121561121857600080fd5b81356108db816111f0565b6001600160a01b038116811461048457600080fd5b60006040828403121561124a57600080fd5b50919050565b60008060008060008060a0878903121561126957600080fd5b863561127481611223565b9550602087013567ffffffffffffffff8082111561129157600080fd5b61129d8a838b01611238565b965060408901359150808211156112b357600080fd5b908801906060828b0312156112c757600080fd5b90945060608801359350608088013590808211156112e457600080fd5b818901915089601f8301126112f857600080fd5b81358181111561130757600080fd5b8a602082850101111561131957600080fd5b6020830194508093505050509295509295509295565b6000806020838503121561134257600080fd5b823567ffffffffffffffff8082111561135a57600080fd5b818501915085601f83011261136e57600080fd5b81358181111561137d57600080fd5b8660208260051b850101111561139257600080fd5b60209290920196919550909350505050565b60005b838110156113bf5781810151838201526020016113a7565b83811115610a425750506000910152565b600081518084526113e88160208601602086016113a4565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561145157603f1988860301845261143f8583516113d0565b94509285019290850190600101611423565b5092979650505050505050565b60006020828403121561147057600080fd5b81356108db81611223565b6001600160e01b031991909116815260200190565b600080604083850312156114a357600080fd5b82356114ae81611223565b9150602083013567ffffffffffffffff8111156114ca57600080fd5b6114d685828601611238565b9150509250929050565b6000602082840312156114f257600080fd5b81516108db81611223565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715611536576115366114fd565b60405290565b60405160c0810167ffffffffffffffff81118282101715611536576115366114fd565b604051601f8201601f1916810167ffffffffffffffff81118282101715611588576115886114fd565b604052919050565b600067ffffffffffffffff8211156115aa576115aa6114fd565b50601f01601f191660200190565b801515811461048457600080fd5b80356115d1816115b8565b919050565b6000606082360312156115e857600080fd5b6115f0611513565b823567ffffffffffffffff81111561160757600080fd5b830136601f82011261161857600080fd5b8035602061162d61162883611590565b61155f565b828152368284860101111561164157600080fd5b8282850183830137600082848301015280855250808601358185015250505061166c604084016115c6565b604082015292915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126116a457600080fd5b83018035915067ffffffffffffffff8211156116bf57600080fd5b6020019150368190038213156116d457600080fd5b9250929050565b6000600182016116fb57634e487b7160e01b600052601160045260246000fd5b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8381526040602082015260006106d2604083018486611702565b60018060a01b038316815260406020820152600082516060604084015261176f60a08401826113d0565b905060208401516060840152604084015115156080840152809150509392505050565b8381526001600160a01b038316602082015260606040820152600082356117b8816111f0565b6001600160e01b0319166060830152602083013536849003601e190181126117df57600080fd5b8301803567ffffffffffffffff8111156117f857600080fd5b80360385131561180757600080fd5b6040608085015261181f60a085018260208501611702565b979650505050505050565b80516115d181611223565b600082601f83011261184657600080fd5b815161185461162882611590565b81815284602083860101111561186957600080fd5b61187a8260208301602087016113a4565b949350505050565b60006020828403121561189457600080fd5b815167ffffffffffffffff808211156118ac57600080fd5b9083019060c082860312156118c057600080fd5b6118c861153c565b82516118d3816111f0565b815260208301516118e381611223565b602082015260408301516118f6816115b8565b60408201526119076060840161182a565b606082015260808301518281111561191e57600080fd5b61192a87828601611835565b60808301525060a083015160a082015280935050505092915050565b9283526001600160a01b039190911660208301526001600160e01b031916604082015260600190565b60006020828403121561198157600080fd5b81516108db816115b8565b6000825161199e8184602087016113a4565b9190910192915050565b6020815260006108db60208301846113d056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a9bb56dd0bf7501666e4d616edd892185cdc45d735a001a809bd3db50c9004b8a26469706673582212206cf3bc33b0bde95ff4be2def0cf93250dcd8c6394a21dee889bf473ffeb060b364736f6c634300080d0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806301ffc9a71461006757806347c348391461008f578063ac9650d8146100ba578063c1e58a21146100da578063ec21896d146100ef578063fd5af37b1461011d575b600080fd5b61007a610075366004611206565b610130565b60405190151581526020015b60405180910390f35b6100a261009d366004611250565b61015b565b6040516001600160a01b039091168152602001610086565b6100cd6100c836600461132f565b610298565b60405161008691906113fc565b6100ed6100e836600461145e565b61038d565b005b7fc1aba6380b01ff9f2ad17cc226f5fc83eeeb9ff01f8e0474d115be1dba72ea21604051610086919061147b565b6100ed61012b366004611490565b610487565b60006001600160e01b03198216637b7c316360e01b1480610155575061015582610584565b92915050565b6000805460405163e3dedd6b60e01b81526001600160a01b039091169063e3dedd6b906101ac907f80e923a5a548bf8cd1c0d5679e7fb52a28d9fd42e9642a412b581817718d9aa49060040161147b565b602060405180830381865afa1580156101c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ed91906114e0565b604051631f70cc3760e21b8152602087013560048201523360248201526001600160a01b039190911690637dc330dc9060440160006040518083038186803b15801561023857600080fd5b505afa15801561024c573d6000803e3d6000fd5b505060005461026d92508991508690869086906001600160a01b03166105b9565b905061028e818761027d886115d6565b6000546001600160a01b03166106db565b9695505050505050565b60608167ffffffffffffffff8111156102b3576102b36114fd565b6040519080825280602002602001820160405280156102e657816020015b60608152602001906001900390816102d15790505b50905060005b82811015610386576103563085858481811061030a5761030a611677565b905060200281019061031c919061168d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108b692505050565b82828151811061036857610368611677565b6020026020010181905250808061037e906116db565b9150506102ec565b5092915050565b60005460405163e3dedd6b60e01b81526001600160a01b039091169063e3dedd6b906103cb906000805160206119e38339815191529060040161147b565b602060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c91906114e0565b604051631f180dfd60e01b81526001600160a01b0383811660048301523360248301529190911690631f180dfd9060440160006040518083038186803b15801561045557600080fd5b505afa158015610469573d6000803e3d6000fd5b505060005461048492508391506001600160a01b03166108e2565b50565b60005460405163e3dedd6b60e01b81526001600160a01b039091169063e3dedd6b906104c5906000805160206119e38339815191529060040161147b565b602060405180830381865afa1580156104e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050691906114e0565b604051631f180dfd60e01b81526001600160a01b0384811660048301523360248301529190911690631f180dfd9060440160006040518083038186803b15801561054f57600080fd5b505afa158015610563573d6000803e3d6000fd5b5050600054610580925084915083906001600160a01b0316610a48565b5050565b60006001600160e01b0319821663ec21896d60e01b148061015557506301ffc9a760e01b6001600160e01b0319831614610155565b60006001600160a01b0386166106cf5760405163e3dedd6b60e01b81526001600160a01b0383169063e3dedd6b90610615907f480e80f368876aea8ab630b0483e6a1ad1306872c50ca044fdd952923044a1c79060040161147b565b602060405180830381865afa158015610632573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065691906114e0565b6001600160a01b0316638e0e1ddf8686866040518463ffffffff1660e01b81526004016106859392919061172b565b6020604051808303816000875af11580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c891906114e0565b90506106d2565b50845b95945050505050565b60405163e3dedd6b60e01b81526001600160a01b0382169063e3dedd6b90610715906000805160206119e38339815191529060040161147b565b602060405180830381865afa158015610732573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075691906114e0565b6001600160a01b031663e528b08185846040518363ffffffff1660e01b8152600401610783929190611745565b600060405180830381600087803b15801561079d57600080fd5b505af11580156107b1573d6000803e3d6000fd5b505050506107be83610da5565b60405163e3dedd6b60e01b81526001600160a01b0382169063e3dedd6b9061080a907f341871c11e31d340c0e8ff6b53198c8d5e4df7e8722fa19177b3bfac0ef566fd9060040161147b565b602060405180830381865afa158015610827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084b91906114e0565b6001600160a01b031663066b5732836020015186866040518463ffffffff1660e01b815260040161087e93929190611792565b600060405180830381600087803b15801561089857600080fd5b505af11580156108ac573d6000803e3d6000fd5b5050505050505050565b60606108db83836040518060600160405280602781526020016119bc60279139610de9565b9392505050565b60405163e3dedd6b60e01b81526000906001600160a01b0383169063e3dedd6b9061091f906000805160206119e38339815191529060040161147b565b602060405180830381865afa15801561093c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096091906114e0565b604051631550c40960e21b81526001600160a01b038581166004830152919250600091831690635543102490602401600060405180830381865afa1580156109ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109d49190810190611882565b60a0015160405163c1e58a2160e01b81526001600160a01b0386811660048301529192509083169063c1e58a2190602401600060405180830381600087803b158015610a1f57600080fd5b505af1158015610a33573d6000803e3d6000fd5b50505050610a42818585610ec1565b50505050565b60405163e3dedd6b60e01b81526000906001600160a01b0383169063e3dedd6b90610a85906000805160206119e38339815191529060040161147b565b602060405180830381865afa158015610aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac691906114e0565b604051631550c40960e21b81526001600160a01b038681166004830152919250600091831690635543102490602401600060405180830381865afa158015610b12573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b3a9190810190611882565b60a0015190506000836001600160a01b031663e3dedd6b7f341871c11e31d340c0e8ff6b53198c8d5e4df7e8722fa19177b3bfac0ef566fd6040518263ffffffff1660e01b8152600401610b8e919061147b565b602060405180830381865afa158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf91906114e0565b9050610bda85610da5565b6000610be461108f565b905060005b8151811015610d8c576000828281518110610c0657610c06611677565b60200260200101519050836001600160a01b031663d5fb563c868b846040518463ffffffff1660e01b8152600401610c4093929190611946565b602060405180830381865afa158015610c5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c81919061196f565b8015610ca55750610c956020890189611206565b6001600160e01b03198281169116145b15610d79576040516399c4063960e01b81526001600160a01b038516906399c4063990610cda9088908d908690600401611946565b600060405180830381600087803b158015610cf457600080fd5b505af1158015610d08573d6000803e3d6000fd5b5050604051630335ab9960e11b81526001600160a01b038716925063066b57329150610d3c9088908d908d90600401611792565b600060405180830381600087803b158015610d5657600080fd5b505af1158015610d6a573d6000803e3d6000fd5b50505050505050505050505050565b5080610d84816116db565b915050610be9565b506040516288f81d60e61b815260040160405180910390fd5b610dae8161115c565b80610dcb5750610dc9610dc46020830183611206565b611181565b155b1561048457604051639ba784e160e01b815260040160405180910390fd5b60606001600160a01b0384163b610e565760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b031685604051610e71919061198c565b600060405180830381855af49150503d8060008114610eac576040519150601f19603f3d011682016040523d82523d6000602084013e610eb1565b606091505b509150915061028e8282866111b7565b6000610ecb61108f565b90506000826001600160a01b031663e3dedd6b7f341871c11e31d340c0e8ff6b53198c8d5e4df7e8722fa19177b3bfac0ef566fd6040518263ffffffff1660e01b8152600401610f1b919061147b565b602060405180830381865afa158015610f38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5c91906114e0565b905060005b825181101561108757816001600160a01b031663d5fb563c8787868581518110610f8d57610f8d611677565b60200260200101516040518463ffffffff1660e01b8152600401610fb393929190611946565b602060405180830381865afa158015610fd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff4919061196f565b1561107557816001600160a01b03166399c40639878786858151811061101c5761101c611677565b60200260200101516040518463ffffffff1660e01b815260040161104293929190611946565b600060405180830381600087803b15801561105c57600080fd5b505af1158015611070573d6000803e3d6000fd5b505050505b8061107f816116db565b915050610f61565b505050505050565b604080516002808252606080830184529260009291906020830190803683370190505090507fee19df4431adeb51b71ec0c289647382c94c93f82f24fe8e1ca657f9f045b3a1816000815181106110e8576110e8611677565b60200260200101906001600160e01b03191690816001600160e01b031916815250507f3ddbcd09531601ddaf61ca39b7005ce8f3825ea1267f0feb9d416e868dec8eba8160018151811061113e5761113e611677565b6001600160e01b031990921660209283029190910190910152919050565b600061116b6020830183611206565b50611179602083018361168d565b159392505050565b60006001600160e01b03198216633b8677d160e21b148061015557506001600160e01b03198216633ddbcd0960e01b1492915050565b606083156111c65750816108db565b8251156111d65782518084602001fd5b8160405162461bcd60e51b8152600401610e4d91906119a8565b6001600160e01b03198116811461048457600080fd5b60006020828403121561121857600080fd5b81356108db816111f0565b6001600160a01b038116811461048457600080fd5b60006040828403121561124a57600080fd5b50919050565b60008060008060008060a0878903121561126957600080fd5b863561127481611223565b9550602087013567ffffffffffffffff8082111561129157600080fd5b61129d8a838b01611238565b965060408901359150808211156112b357600080fd5b908801906060828b0312156112c757600080fd5b90945060608801359350608088013590808211156112e457600080fd5b818901915089601f8301126112f857600080fd5b81358181111561130757600080fd5b8a602082850101111561131957600080fd5b6020830194508093505050509295509295509295565b6000806020838503121561134257600080fd5b823567ffffffffffffffff8082111561135a57600080fd5b818501915085601f83011261136e57600080fd5b81358181111561137d57600080fd5b8660208260051b850101111561139257600080fd5b60209290920196919550909350505050565b60005b838110156113bf5781810151838201526020016113a7565b83811115610a425750506000910152565b600081518084526113e88160208601602086016113a4565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561145157603f1988860301845261143f8583516113d0565b94509285019290850190600101611423565b5092979650505050505050565b60006020828403121561147057600080fd5b81356108db81611223565b6001600160e01b031991909116815260200190565b600080604083850312156114a357600080fd5b82356114ae81611223565b9150602083013567ffffffffffffffff8111156114ca57600080fd5b6114d685828601611238565b9150509250929050565b6000602082840312156114f257600080fd5b81516108db81611223565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715611536576115366114fd565b60405290565b60405160c0810167ffffffffffffffff81118282101715611536576115366114fd565b604051601f8201601f1916810167ffffffffffffffff81118282101715611588576115886114fd565b604052919050565b600067ffffffffffffffff8211156115aa576115aa6114fd565b50601f01601f191660200190565b801515811461048457600080fd5b80356115d1816115b8565b919050565b6000606082360312156115e857600080fd5b6115f0611513565b823567ffffffffffffffff81111561160757600080fd5b830136601f82011261161857600080fd5b8035602061162d61162883611590565b61155f565b828152368284860101111561164157600080fd5b8282850183830137600082848301015280855250808601358185015250505061166c604084016115c6565b604082015292915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126116a457600080fd5b83018035915067ffffffffffffffff8211156116bf57600080fd5b6020019150368190038213156116d457600080fd5b9250929050565b6000600182016116fb57634e487b7160e01b600052601160045260246000fd5b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8381526040602082015260006106d2604083018486611702565b60018060a01b038316815260406020820152600082516060604084015261176f60a08401826113d0565b905060208401516060840152604084015115156080840152809150509392505050565b8381526001600160a01b038316602082015260606040820152600082356117b8816111f0565b6001600160e01b0319166060830152602083013536849003601e190181126117df57600080fd5b8301803567ffffffffffffffff8111156117f857600080fd5b80360385131561180757600080fd5b6040608085015261181f60a085018260208501611702565b979650505050505050565b80516115d181611223565b600082601f83011261184657600080fd5b815161185461162882611590565b81815284602083860101111561186957600080fd5b61187a8260208301602087016113a4565b949350505050565b60006020828403121561189457600080fd5b815167ffffffffffffffff808211156118ac57600080fd5b9083019060c082860312156118c057600080fd5b6118c861153c565b82516118d3816111f0565b815260208301516118e381611223565b602082015260408301516118f6816115b8565b60408201526119076060840161182a565b606082015260808301518281111561191e57600080fd5b61192a87828601611835565b60808301525060a083015160a082015280935050505092915050565b9283526001600160a01b039190911660208301526001600160e01b031916604082015260600190565b60006020828403121561198157600080fd5b81516108db816115b8565b6000825161199e8184602087016113a4565b9190910192915050565b6020815260006108db60208301846113d056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a9bb56dd0bf7501666e4d616edd892185cdc45d735a001a809bd3db50c9004b8a26469706673582212206cf3bc33b0bde95ff4be2def0cf93250dcd8c6394a21dee889bf473ffeb060b364736f6c634300080d0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
