{
  "_format": "hh-sol-artifact-1",
  "contractName": "UniversalResolver",
  "sourceName": "contracts/utils/UniversalResolver.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_registry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "string[]",
          "name": "urls",
          "type": "string[]"
        },
        {
          "internalType": "bytes",
          "name": "callData",
          "type": "bytes"
        },
        {
          "internalType": "bytes4",
          "name": "callbackFunction",
          "type": "bytes4"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "OffchainLookup",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "name",
          "type": "bytes"
        }
      ],
      "name": "findResolver",
      "outputs": [
        {
          "internalType": "contract Resolver",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "registry",
      "outputs": [
        {
          "internalType": "contract ENS",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "name",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "resolve",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "response",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "resolveCallback",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "reverseName",
          "type": "bytes"
        }
      ],
      "name": "reverse",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b50604051611c0b380380611c0b83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051611b7a6100916000396000818160a40152610a3a0152611b7a6000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063a1cbcbaf11610050578063a1cbcbaf1461010c578063b4a858011461014b578063ec11c8231461016b57600080fd5b806301ffc9a7146100775780637b1039991461009f5780639061b923146100eb575b600080fd5b61008a610085366004611247565b61018e565b60405190151581526020015b60405180910390f35b6100c67f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610096565b6100fe6100f9366004611384565b610227565b60405161009692919061143d565b61011f61011a366004611475565b6103fc565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610096565b61015e6101593660046114b7565b61041d565b6040516100969190611523565b61017e610179366004611475565b6104e9565b6040516100969493929190611536565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f9061b92300000000000000000000000000000000000000000000000000000000148061022157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008061023686866103fc565b50905073ffffffffffffffffffffffffffffffffffffffff811661026e575050604080516020810190915260008082529091506103f4565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f9061b92300000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8216906301ffc9a790602401602060405180830381865afa925050508015610314575060408051601f3d908101601f191682019092526103119181019061157f565b60015b156103c45780156103c2576103b682888888604051602401610338939291906115a1565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9061b923000000000000000000000000000000000000000000000000000000001790527fb4a85801000000000000000000000000000000000000000000000000000000006107a1565b829350935050506103f4565b505b6103ef81857fb4a85801000000000000000000000000000000000000000000000000000000006107a1565b925090505b935093915050565b60008060008061040e86866000610927565b909450925050505b9250929050565b60606000808061042f85870187611601565b9250925092506104ca8289898460405160240161044e939291906115a1565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915273ffffffffffffffffffffffffffffffffffffffff851690610ae4565b8060200190518101906104dd91906116a6565b98975050505050505050565b606060008060008060003073ffffffffffffffffffffffffffffffffffffffff16639061b923898961055560008d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050610b099050565b60405160240161056791815260200190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f691f343100000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526105f8939291906004016115a1565b600060405180830381865afa158015610615573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261063d91908101906116db565b9150915060008280602001905181019061065791906116a6565b905060008061066583610be2565b915091506000803073ffffffffffffffffffffffffffffffffffffffff16639061b923858560405160240161069c91815260200190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3b3b57de00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815261072c92919060040161172d565b600060405180830381865afa158015610749573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261077191908101906116db565b9150915060008280602001905181019061078b919061175b565b959e959d50959b50995092975050505050505050565b606060006107af8585610e8f565b90503d81156107cc576107c3600082610f48565b92505050610920565b600481106109155760006107e260006004610f48565b90507f556f18300000000000000000000000000000000000000000000000000000000061080e82611778565b7fffffffff00000000000000000000000000000000000000000000000000000000160361091357600061084b600461084681866117f7565b610f48565b9050600080600080600085806020019051810190610869919061181a565b945094509450945094508c73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361090c573084848d8886866040516020016108bf9392919061194d565b60408051601f19818403018152908290527f556f183000000000000000000000000000000000000000000000000000000000825261090395949392916004016119a4565b60405180910390fd5b5050505050505b505b61091d610f9d565b50505b9392505050565b600080600085858581811061093e5761093e611a87565b919091013560f81c915050600081900361095f5750600091508190506103f4565b600061096b8286611ab6565b610976906001611ab6565b905060008787610987886001611ab6565b61099392859290611ac9565b6040516109a1929190611af3565b604051809103902090506000806109b98a8a86610927565b91509150600081846040516020016109db929190918252602082015260400190565b60408051601f198184030181529082905280516020909101207f0178b8bf00000000000000000000000000000000000000000000000000000000825260048201819052915060009073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690630178b8bf90602401602060405180830381865afa158015610a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa5919061175b565b905073ffffffffffffffffffffffffffffffffffffffff811615610ad257975095506103f4945050505050565b50919a91995090975050505050505050565b60606109208383604051806060016040528060258152602001611b2060259139610fa7565b6000806000610b1885856110ce565b909250905081610ba45760018551610b3091906117f7565b8414610b98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6e616d65686173683a204a756e6b20617420656e64206f66206e616d650000006044820152606401610903565b50600091506102219050565b610bae8582610b09565b6040805160208101929092528101839052606001604051602081830303815290604052805190602001209250505092915050565b805160609060009081908490610bf9816002611ab6565b67ffffffffffffffff811115610c1157610c116112a6565b6040519080825280601f01601f191660200182016040528015610c3b576020820181803683370190505b50945060009350808403610c9857600060f81b85600081518110610c6157610c61611a87565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350505050915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81015b828181518110610cce57610cce611a87565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f2e0000000000000000000000000000000000000000000000000000000000000003610da8578360f81b868260010181518110610d3457610d34611a87565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535084610d75846001840160ff881661119f565b60408051602081019390935282015260600160405160208183030381529060405280519060200120945060009350610e10565b600184019350828181518110610dc057610dc0611a87565b602001015160f81c60f81b868260010181518110610de057610de0611a87565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8015610e3d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610cbc565b5083610e4e83600060ff871661119f565b6040805160208101939093528201526060016040516020818303038152906040528051906020012093508260f81b85600081518110610c6157610c61611a87565b600073ffffffffffffffffffffffffffffffffffffffff83163b610f35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4c6f774c6576656c43616c6c5574696c733a207374617469632063616c6c207460448201527f6f206e6f6e2d636f6e74726163740000000000000000000000000000000000006064820152608401610903565b600080835160208501865afa9392505050565b60608167ffffffffffffffff811115610f6357610f636112a6565b6040519080825280601f01601f191660200182016040528015610f8d576020820181803683370190505b5090508183602083013e92915050565b3d6000803e3d6000fd5b606073ffffffffffffffffffffffffffffffffffffffff84163b61104c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7460448201527f72616374000000000000000000000000000000000000000000000000000000006064820152608401610903565b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516110749190611b03565b600060405180830381855afa9150503d80600081146110af576040519150601f19603f3d011682016040523d82523d6000602084013e6110b4565b606091505b50915091506110c48282866111c3565b9695505050505050565b6000808351831061113b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f726561644c6162656c3a20496e646578206f7574206f6620626f756e647300006044820152606401610903565b600084848151811061114f5761114f611a87565b016020015160f81c9050801561117b576111748561116e866001611ab6565b8361119f565b9250611180565b600092505b61118a8185611ab6565b611195906001611ab6565b9150509250929050565b82516000906111ae8385611ab6565b11156111b957600080fd5b5091016020012090565b606083156111d2575081610920565b8251156111e25782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109039190611523565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461124457600080fd5b50565b60006020828403121561125957600080fd5b813561092081611216565b60008083601f84011261127657600080fd5b50813567ffffffffffffffff81111561128e57600080fd5b60208301915083602082850101111561041657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156112fe576112fe6112a6565b604052919050565b600067ffffffffffffffff821115611320576113206112a6565b50601f01601f191660200190565b600082601f83011261133f57600080fd5b813561135261134d82611306565b6112d5565b81815284602083860101111561136757600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006040848603121561139957600080fd5b833567ffffffffffffffff808211156113b157600080fd5b6113bd87838801611264565b909550935060208601359150808211156113d657600080fd5b506113e38682870161132e565b9150509250925092565b60005b838110156114085781810151838201526020016113f0565b50506000910152565b600081518084526114298160208601602086016113ed565b601f01601f19169290920160200192915050565b6040815260006114506040830185611411565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b6000806020838503121561148857600080fd5b823567ffffffffffffffff81111561149f57600080fd5b6114ab85828601611264565b90969095509350505050565b600080600080604085870312156114cd57600080fd5b843567ffffffffffffffff808211156114e557600080fd5b6114f188838901611264565b9096509450602087013591508082111561150a57600080fd5b5061151787828801611264565b95989497509550505050565b6020815260006109206020830184611411565b6080815260006115496080830187611411565b73ffffffffffffffffffffffffffffffffffffffff95861660208401529385166040830152509216606090920191909152919050565b60006020828403121561159157600080fd5b8151801515811461092057600080fd5b60408152826040820152828460608301376000606084830101526000601f19601f850116820160608382030160208401526110c46060820185611411565b73ffffffffffffffffffffffffffffffffffffffff8116811461124457600080fd5b60008060006060848603121561161657600080fd5b8335611621816115df565b9250602084013561163181611216565b9150604084013567ffffffffffffffff81111561164d57600080fd5b6113e38682870161132e565b600082601f83011261166a57600080fd5b815161167861134d82611306565b81815284602083860101111561168d57600080fd5b61169e8260208301602087016113ed565b949350505050565b6000602082840312156116b857600080fd5b815167ffffffffffffffff8111156116cf57600080fd5b61169e84828501611659565b600080604083850312156116ee57600080fd5b825167ffffffffffffffff81111561170557600080fd5b61171185828601611659565b9250506020830151611722816115df565b809150509250929050565b6040815260006117406040830185611411565b82810360208401526117528185611411565b95945050505050565b60006020828403121561176d57600080fd5b8151610920816115df565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156117c05780818460040360031b1b83161693505b505050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610221576102216117c8565b805161181581611216565b919050565b600080600080600060a0868803121561183257600080fd5b855161183d816115df565b8095505060208087015167ffffffffffffffff8082111561185d57600080fd5b818901915089601f83011261187157600080fd5b815181811115611883576118836112a6565b8060051b6118928582016112d5565b918252838101850191858101908d8411156118ac57600080fd5b86860192505b838310156118e8578251858111156118ca5760008081fd5b6118d88f89838a0101611659565b83525091860191908601906118b2565b60408d0151909a5095505050508083111561190257600080fd5b61190e8a848b01611659565b955061191c60608a0161180a565b9450608089015192508083111561193257600080fd5b505061194088828901611659565b9150509295509295909350565b73ffffffffffffffffffffffffffffffffffffffff841681527fffffffff00000000000000000000000000000000000000000000000000000000831660208201526060604082015260006117526060830184611411565b600060a0820173ffffffffffffffffffffffffffffffffffffffff88168352602060a08185015281885180845260c08601915060c08160051b8701019350828a0160005b82811015611a34577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40888703018452611a22868351611411565b955092840192908401906001016119e8565b50505050508281036040840152611a4b8187611411565b7fffffffff0000000000000000000000000000000000000000000000000000000086166060850152905082810360808401526104dd8185611411565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610221576102216117c8565b60008085851115611ad957600080fd5b83861115611ae657600080fd5b5050820193919092039150565b8183823760009101908152919050565b60008251611b158184602087016113ed565b919091019291505056fe416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a2646970667358221220f0118c9c742460e490b8a97ba3fd9ef419d3f09fa81536be717ea48be011ed3a64736f6c63430008110033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063a1cbcbaf11610050578063a1cbcbaf1461010c578063b4a858011461014b578063ec11c8231461016b57600080fd5b806301ffc9a7146100775780637b1039991461009f5780639061b923146100eb575b600080fd5b61008a610085366004611247565b61018e565b60405190151581526020015b60405180910390f35b6100c67f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610096565b6100fe6100f9366004611384565b610227565b60405161009692919061143d565b61011f61011a366004611475565b6103fc565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610096565b61015e6101593660046114b7565b61041d565b6040516100969190611523565b61017e610179366004611475565b6104e9565b6040516100969493929190611536565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f9061b92300000000000000000000000000000000000000000000000000000000148061022157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060008061023686866103fc565b50905073ffffffffffffffffffffffffffffffffffffffff811661026e575050604080516020810190915260008082529091506103f4565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f9061b92300000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8216906301ffc9a790602401602060405180830381865afa925050508015610314575060408051601f3d908101601f191682019092526103119181019061157f565b60015b156103c45780156103c2576103b682888888604051602401610338939291906115a1565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9061b923000000000000000000000000000000000000000000000000000000001790527fb4a85801000000000000000000000000000000000000000000000000000000006107a1565b829350935050506103f4565b505b6103ef81857fb4a85801000000000000000000000000000000000000000000000000000000006107a1565b925090505b935093915050565b60008060008061040e86866000610927565b909450925050505b9250929050565b60606000808061042f85870187611601565b9250925092506104ca8289898460405160240161044e939291906115a1565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915273ffffffffffffffffffffffffffffffffffffffff851690610ae4565b8060200190518101906104dd91906116a6565b98975050505050505050565b606060008060008060003073ffffffffffffffffffffffffffffffffffffffff16639061b923898961055560008d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050610b099050565b60405160240161056791815260200190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f691f343100000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526105f8939291906004016115a1565b600060405180830381865afa158015610615573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261063d91908101906116db565b9150915060008280602001905181019061065791906116a6565b905060008061066583610be2565b915091506000803073ffffffffffffffffffffffffffffffffffffffff16639061b923858560405160240161069c91815260200190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3b3b57de00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815261072c92919060040161172d565b600060405180830381865afa158015610749573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261077191908101906116db565b9150915060008280602001905181019061078b919061175b565b959e959d50959b50995092975050505050505050565b606060006107af8585610e8f565b90503d81156107cc576107c3600082610f48565b92505050610920565b600481106109155760006107e260006004610f48565b90507f556f18300000000000000000000000000000000000000000000000000000000061080e82611778565b7fffffffff00000000000000000000000000000000000000000000000000000000160361091357600061084b600461084681866117f7565b610f48565b9050600080600080600085806020019051810190610869919061181a565b945094509450945094508c73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361090c573084848d8886866040516020016108bf9392919061194d565b60408051601f19818403018152908290527f556f183000000000000000000000000000000000000000000000000000000000825261090395949392916004016119a4565b60405180910390fd5b5050505050505b505b61091d610f9d565b50505b9392505050565b600080600085858581811061093e5761093e611a87565b919091013560f81c915050600081900361095f5750600091508190506103f4565b600061096b8286611ab6565b610976906001611ab6565b905060008787610987886001611ab6565b61099392859290611ac9565b6040516109a1929190611af3565b604051809103902090506000806109b98a8a86610927565b91509150600081846040516020016109db929190918252602082015260400190565b60408051601f198184030181529082905280516020909101207f0178b8bf00000000000000000000000000000000000000000000000000000000825260048201819052915060009073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690630178b8bf90602401602060405180830381865afa158015610a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa5919061175b565b905073ffffffffffffffffffffffffffffffffffffffff811615610ad257975095506103f4945050505050565b50919a91995090975050505050505050565b60606109208383604051806060016040528060258152602001611b2060259139610fa7565b6000806000610b1885856110ce565b909250905081610ba45760018551610b3091906117f7565b8414610b98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6e616d65686173683a204a756e6b20617420656e64206f66206e616d650000006044820152606401610903565b50600091506102219050565b610bae8582610b09565b6040805160208101929092528101839052606001604051602081830303815290604052805190602001209250505092915050565b805160609060009081908490610bf9816002611ab6565b67ffffffffffffffff811115610c1157610c116112a6565b6040519080825280601f01601f191660200182016040528015610c3b576020820181803683370190505b50945060009350808403610c9857600060f81b85600081518110610c6157610c61611a87565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350505050915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81015b828181518110610cce57610cce611a87565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f2e0000000000000000000000000000000000000000000000000000000000000003610da8578360f81b868260010181518110610d3457610d34611a87565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535084610d75846001840160ff881661119f565b60408051602081019390935282015260600160405160208183030381529060405280519060200120945060009350610e10565b600184019350828181518110610dc057610dc0611a87565b602001015160f81c60f81b868260010181518110610de057610de0611a87565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8015610e3d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610cbc565b5083610e4e83600060ff871661119f565b6040805160208101939093528201526060016040516020818303038152906040528051906020012093508260f81b85600081518110610c6157610c61611a87565b600073ffffffffffffffffffffffffffffffffffffffff83163b610f35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4c6f774c6576656c43616c6c5574696c733a207374617469632063616c6c207460448201527f6f206e6f6e2d636f6e74726163740000000000000000000000000000000000006064820152608401610903565b600080835160208501865afa9392505050565b60608167ffffffffffffffff811115610f6357610f636112a6565b6040519080825280601f01601f191660200182016040528015610f8d576020820181803683370190505b5090508183602083013e92915050565b3d6000803e3d6000fd5b606073ffffffffffffffffffffffffffffffffffffffff84163b61104c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7460448201527f72616374000000000000000000000000000000000000000000000000000000006064820152608401610903565b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516110749190611b03565b600060405180830381855afa9150503d80600081146110af576040519150601f19603f3d011682016040523d82523d6000602084013e6110b4565b606091505b50915091506110c48282866111c3565b9695505050505050565b6000808351831061113b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f726561644c6162656c3a20496e646578206f7574206f6620626f756e647300006044820152606401610903565b600084848151811061114f5761114f611a87565b016020015160f81c9050801561117b576111748561116e866001611ab6565b8361119f565b9250611180565b600092505b61118a8185611ab6565b611195906001611ab6565b9150509250929050565b82516000906111ae8385611ab6565b11156111b957600080fd5b5091016020012090565b606083156111d2575081610920565b8251156111e25782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109039190611523565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461124457600080fd5b50565b60006020828403121561125957600080fd5b813561092081611216565b60008083601f84011261127657600080fd5b50813567ffffffffffffffff81111561128e57600080fd5b60208301915083602082850101111561041657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156112fe576112fe6112a6565b604052919050565b600067ffffffffffffffff821115611320576113206112a6565b50601f01601f191660200190565b600082601f83011261133f57600080fd5b813561135261134d82611306565b6112d5565b81815284602083860101111561136757600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006040848603121561139957600080fd5b833567ffffffffffffffff808211156113b157600080fd5b6113bd87838801611264565b909550935060208601359150808211156113d657600080fd5b506113e38682870161132e565b9150509250925092565b60005b838110156114085781810151838201526020016113f0565b50506000910152565b600081518084526114298160208601602086016113ed565b601f01601f19169290920160200192915050565b6040815260006114506040830185611411565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b6000806020838503121561148857600080fd5b823567ffffffffffffffff81111561149f57600080fd5b6114ab85828601611264565b90969095509350505050565b600080600080604085870312156114cd57600080fd5b843567ffffffffffffffff808211156114e557600080fd5b6114f188838901611264565b9096509450602087013591508082111561150a57600080fd5b5061151787828801611264565b95989497509550505050565b6020815260006109206020830184611411565b6080815260006115496080830187611411565b73ffffffffffffffffffffffffffffffffffffffff95861660208401529385166040830152509216606090920191909152919050565b60006020828403121561159157600080fd5b8151801515811461092057600080fd5b60408152826040820152828460608301376000606084830101526000601f19601f850116820160608382030160208401526110c46060820185611411565b73ffffffffffffffffffffffffffffffffffffffff8116811461124457600080fd5b60008060006060848603121561161657600080fd5b8335611621816115df565b9250602084013561163181611216565b9150604084013567ffffffffffffffff81111561164d57600080fd5b6113e38682870161132e565b600082601f83011261166a57600080fd5b815161167861134d82611306565b81815284602083860101111561168d57600080fd5b61169e8260208301602087016113ed565b949350505050565b6000602082840312156116b857600080fd5b815167ffffffffffffffff8111156116cf57600080fd5b61169e84828501611659565b600080604083850312156116ee57600080fd5b825167ffffffffffffffff81111561170557600080fd5b61171185828601611659565b9250506020830151611722816115df565b809150509250929050565b6040815260006117406040830185611411565b82810360208401526117528185611411565b95945050505050565b60006020828403121561176d57600080fd5b8151610920816115df565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156117c05780818460040360031b1b83161693505b505050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610221576102216117c8565b805161181581611216565b919050565b600080600080600060a0868803121561183257600080fd5b855161183d816115df565b8095505060208087015167ffffffffffffffff8082111561185d57600080fd5b818901915089601f83011261187157600080fd5b815181811115611883576118836112a6565b8060051b6118928582016112d5565b918252838101850191858101908d8411156118ac57600080fd5b86860192505b838310156118e8578251858111156118ca5760008081fd5b6118d88f89838a0101611659565b83525091860191908601906118b2565b60408d0151909a5095505050508083111561190257600080fd5b61190e8a848b01611659565b955061191c60608a0161180a565b9450608089015192508083111561193257600080fd5b505061194088828901611659565b9150509295509295909350565b73ffffffffffffffffffffffffffffffffffffffff841681527fffffffff00000000000000000000000000000000000000000000000000000000831660208201526060604082015260006117526060830184611411565b600060a0820173ffffffffffffffffffffffffffffffffffffffff88168352602060a08185015281885180845260c08601915060c08160051b8701019350828a0160005b82811015611a34577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40888703018452611a22868351611411565b955092840192908401906001016119e8565b50505050508281036040840152611a4b8187611411565b7fffffffff0000000000000000000000000000000000000000000000000000000086166060850152905082810360808401526104dd8185611411565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610221576102216117c8565b60008085851115611ad957600080fd5b83861115611ae657600080fd5b5050820193919092039150565b8183823760009101908152919050565b60008251611b158184602087016113ed565b919091019291505056fe416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a2646970667358221220f0118c9c742460e490b8a97ba3fd9ef419d3f09fa81536be717ea48be011ed3a64736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
