{
  "_format": "hh-sol-artifact-1",
  "contractName": "PassportDelegationLogicV4",
  "sourceName": "contracts/deprecated/V4/ve-better-passport/libraries/PassportDelegationLogicV4.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "CannotDelegateToSelf",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "CheckpointUnorderedInsertion",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ECDSAInvalidSignature",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "ECDSAInvalidSignatureLength",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "ECDSAInvalidSignatureS",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidSignature",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "NotDelegated",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OnlyOneUserAllowed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "PassportDelegationFromEntity",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "PassportDelegationToEntity",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "PassportDelegationUnauthorizedUser",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "bits",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "SafeCastOverflowedUintDowncast",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SignatureExpired",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegator",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegatee",
          "type": "address"
        }
      ],
      "name": "DelegationCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegator",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegatee",
          "type": "address"
        }
      ],
      "name": "DelegationPending",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegator",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "delegatee",
          "type": "address"
        }
      ],
      "name": "DelegationRevoked",
      "type": "event"
    }
  ],
  "bytecode": "0x6116f461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100ae5760003560e01c80631e6f4ebb146100b35780631ec9f933146100d557806320d50726146100f55780632169fab81461011d5780634b2b4e221461013d5780634da5c9cb1461015d5780634fbc36c5146101705780635ece830114610183578063b75fc768146101a3578063ce7da281146101c3578063d34ec300146101d6578063fa09cee6146101f6575b600080fd5b8180156100bf57600080fd5b506100d36100ce366004611450565b610209565b005b8180156100e157600080fd5b506100d36100f0366004611450565b610329565b61010861010336600461147c565b6103cf565b60405190151581526020015b60405180910390f35b61013061012b36600461147c565b6103e4565b60405161011491906114b1565b81801561014957600080fd5b506100d36101583660046114c5565b61041d565b61013061016b366004611450565b61048b565b61010861017e36600461147c565b6104bb565b81801561018f57600080fd5b506100d361019e3660046114f4565b6104c8565b8180156101af57600080fd5b506100d36101be3660046114c5565b610646565b6101306101d136600461147c565b6106bb565b8180156101e257600080fd5b506100d36101f1366004611450565b6106c8565b610130610204366004611450565b610789565b6001600160a01b038082166000908152602284016020526040902054168061024f5733604051636a45db5b60e11b815260040161024691906114b1565b60405180910390fd5b6001600160a01b038116331461027a573360405163f6272f8160e01b815260040161024691906114b1565b61028483336107b0565b156102b657336000908152601f8401602052604090206102b69084906102b0906102ad906107e5565b90565b3361082d565b336000908152601f8401602052604090206102d1908361086f565b6001600160a01b0382166000908152601e8401602052604090206102f5903361086f565b61030083833361088a565b60405133906001600160a01b0384169060008051602061167f83398151915290600090a3505050565b6001600160a01b03808216600090815260228401602052604090205416806103665781604051636a45db5b60e11b815260040161024691906114b1565b336001600160a01b03821614610391573360405163f6272f8160e01b815260040161024691906114b1565b61039c83838361088a565b806001600160a01b0316826001600160a01b031660008051602061169f83398151915260405160405180910390a3505050565b60006103dc848484610a21565b949350505050565b60006103dc6102ad6103f584610a6a565b6001600160a01b0386166000908152601e8801602052604090209065ffffffffffff16610aa1565b3360009081526022820160205260409020546001600160a01b0316806104585733604051636a45db5b60e11b815260040161024691906114b1565b61046382338361088a565b6040516001600160a01b03821690339060008051602061169f83398151915290600090a35050565b6001600160a01b0381166000908152601e8301602052604081206104b2906102ad906107e5565b90505b92915050565b60006103dc848484610b4a565b814211156104e957604051630819bdcd60e01b815260040160405180910390fd5b604080517ff23d508c74addf6e96f94091e91b60c84529eb2fc2b7922b8f854dd65d060dfb60208201526001600160a01b038516918101919091523360608201526080810183905260009060a001604051602081830303815290604052805190602001209050600061055a82610b80565b905060006105688285610bad565b9050856001600160a01b0316816001600160a01b03161461059c57604051638baa579f60e01b815260040160405180910390fd5b6105a7878733610bd7565b6105b187336107b0565b156105da57336000908152601f8801602052604090206105da9088906102b0906102ad906107e5565b6001600160a01b0386166000908152601e8801602052604090206105fe903361086f565b336000908152601f880160205260409020610619908761086f565b60405133906001600160a01b0388169060008051602061167f83398151915290600090a350505050505050565b336000806106548484610d43565b1561066d57829150610666848461048b565b90506106aa565b61067784846107b0565b1561068f5750816106888482610789565b91506106aa565b82604051636a45db5b60e11b815260040161024691906114b1565b6106b584838361082d565b50505050565b60006103dc848484610d66565b6106d3823383610bd7565b6001600160a01b03811660009081526021830160205260409020546106f98160016115de565b336000818152602080870181526040808320949094556001600160a01b03861680835260218801825284832080546001810182559084528284200180546001600160a01b03199081168617909155848452602289019092528483208054909216811790915592517f74e65557682bd085b776a10c4542ef8a7be38069648dce172fe713b91c9700f19190a3505050565b6001600160a01b0381166000908152601f8301602052604081206104b2906102ad906107e5565b6001600160a01b0381166000908152601f8301602052604081206107d3906107e5565b6001600160a01b031615159392505050565b805460009080156108235761080d836107ff6001846115f1565b600091825260209091200190565b54600160601b90046001600160a01b0316610826565b60005b9392505050565b6001600160a01b0382166000908152601e8401602052604081206108509161086f565b6001600160a01b0381166000908152601f84016020526040812061039c915b6106b561087a610d9f565b839065ffffffffffff1683610dae565b6001600160a01b038083166000908152602080860181526040808320549385168352602187019091529020546108c16001836115f1565b91506108ce6001826115f1565b821461099c576001600160a01b038316600090815260218601602052604081206108f96001846115f1565b8154811061090957610909611604565b60009182526020808320909101546001600160a01b03878116845260218a01909252604090922080549190921692508291908590811061094b5761094b611604565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905561097f8360016115de565b6001600160a01b0390911660009081526020808801905260409020555b6001600160a01b038316600090815260218601602052604090208054806109c5576109c561161a565b60008281526020808220830160001990810180546001600160a01b031990811690915593019093556001600160a01b03969096168652868201825260408087208790556022909701909152949093208054909416909355505050565b6000610a57610a2f83610a6a565b6001600160a01b0385166000908152601f8701602052604090209065ffffffffffff16610aa1565b6001600160a01b03161515949350505050565b600065ffffffffffff821115610a9d576040516306dfcc6560e41b81526030600482015260248101839052604401610246565b5090565b815460009081816005811115610b01576000610abc84610dc9565b610ac690856115f1565b6000888152602090209091508101546001600160601b039081169087161015610af157809150610aff565b610afc8160016115de565b92505b505b6000610b0f87878585610eb1565b90508015610b3c57610b26876107ff6001846115f1565b54600160601b90046001600160a01b0316610b3f565b60005b979650505050505050565b6000610a57610b5883610a6a565b6001600160a01b0385166000908152601e8701602052604090209065ffffffffffff16610aa1565b60006104b5610b8d610f15565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600080610bbd8686610ff3565b925092509250610bcd8282611040565b5090949350505050565b806001600160a01b0316826001600160a01b031603610c0b57816040516307bcecdf60e01b815260040161024691906114b1565b610c1583836110fd565b80610c3b57506001600160a01b038281166000908152601c850160205260409020541615155b15610c59576040516379eab24b60e01b815260040160405180910390fd5b610c6383826110fd565b80610c8957506001600160a01b038181166000908152601c850160205260409020541615155b15610ca7576040516398f6492360e01b815260040160405180910390fd5b610cb18383610d43565b15610cf257610cf28383610ced6102ad87601e016000886001600160a01b03166001600160a01b031681526020019081526020016000206107e5565b61082d565b6001600160a01b0382811660009081526022850160205260409020541615610d3e576001600160a01b038083166000908152602285016020526040902054610d3e91859185911661088a565b505050565b6001600160a01b0381166000908152601e8301602052604081206107d3906107e5565b60006103dc6102ad610d7784610a6a565b6001600160a01b0386166000908152601f8801602052604090209065ffffffffffff16610aa1565b6000610da9611120565b905090565b600080610dbc85858561112b565b915091505b935093915050565b600081600003610ddb57506000919050565b60006001610de8846112aa565b901c6001901b90506001818481610e0157610e01611630565b048201901c90506001818481610e1957610e19611630565b048201901c90506001818481610e3157610e31611630565b048201901c90506001818481610e4957610e49611630565b048201901c90506001818481610e6157610e61611630565b048201901c90506001818481610e7957610e79611630565b048201901c90506001818481610e9157610e91611630565b048201901c905061082681828581610eab57610eab611630565b0461133e565b60005b81831015610f0d576000610ec88484611354565b6000878152602090209091506001600160601b038616908201546001600160601b03161115610ef957809250610f07565b610f048160016115de565b93505b50610eb4565b509392505050565b6000610da96040805180820182526012815271159950995d1d195c94185cdcdc1bdc9d158d60721b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fa00acabd45e7aaba1d0db68eacf74431b01cc12a5da5996724b7557088d571a4818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b6000806000835160410361102d5760208401516040850151606086015160001a61101f8882858561136f565b955095509550505050611039565b50508151600091506002905b9250925092565b600082600381111561105457611054611646565b0361105d575050565b600182600381111561107157611071611646565b0361108f5760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156110a3576110a3611646565b036110c45760405163fce698f760e01b815260048101829052602401610246565b60038260038111156110d8576110d8611646565b036110f9576040516335e2f38360e21b815260048101829052602401610246565b5050565b6001600160a01b038116600090815260178301602052604081206107d3906107e5565b6000610da943610a6a565b82546000908190801561124e576000611149876107ff6001856115f1565b6040805180820190915290546001600160601b03808216808452600160601b9092046001600160a01b03166020840152919250908716101561119e57604051632520601d60e01b815260040160405180910390fd5b80516001600160601b038088169116036111ec57846111c2886107ff6001866115f1565b80546001600160a01b0392909216600160601b026001600160601b0390921691909117905561123e565b604080518082019091526001600160601b0380881682526001600160a01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160601b029216919091179101555b602001519250839150610dc19050565b5050604080518082019091526001600160601b0380851682526001600160a01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160601b029190931617920191909155905081610dc1565b600080608083901c156112bf57608092831c92015b604083901c156112d157604092831c92015b602083901c156112e357602092831c92015b601083901c156112f557601092831c92015b600883901c1561130757600892831c92015b600483901c1561131957600492831c92015b600283901c1561132b57600292831c92015b600183901c156104b55760010192915050565b600081831061134d57816104b2565b5090919050565b6000611363600284841861165c565b6104b2908484166115de565b600080806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038411156113a0575060009150600390508261142a565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156113f4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166114205750600092506001915082905061142a565b9250600091508190505b9450945094915050565b80356001600160a01b038116811461144b57600080fd5b919050565b6000806040838503121561146357600080fd5b8235915061147360208401611434565b90509250929050565b60008060006060848603121561149157600080fd5b833592506114a160208501611434565b9150604084013590509250925092565b6001600160a01b0391909116815260200190565b6000602082840312156114d757600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561150a57600080fd5b8435935061151a60208601611434565b92506040850135915060608501356001600160401b038082111561153d57600080fd5b818701915087601f83011261155157600080fd5b813581811115611563576115636114de565b604051601f8201601f19908116603f0116810190838211818310171561158b5761158b6114de565b816040528281528a60208487010111156115a457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808201808211156104b5576104b56115c8565b818103818111156104b5576104b56115c8565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60008261167957634e487b7160e01b600052601260045260246000fd5b50049056fefaf6077d874fc7f1716637c6f4ac4914ce0cfbf27767bb442ed23dd08dad40446f0412fa95f7f48ec7dc7631b382833d8eae9cf4082e5e859b94d091a4a846d4a264697066735822122062e63ba1461da744eb2feee8658c19cd7014a2ad390e924bbc3b9632fada961364736f6c63430008140033",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100ae5760003560e01c80631e6f4ebb146100b35780631ec9f933146100d557806320d50726146100f55780632169fab81461011d5780634b2b4e221461013d5780634da5c9cb1461015d5780634fbc36c5146101705780635ece830114610183578063b75fc768146101a3578063ce7da281146101c3578063d34ec300146101d6578063fa09cee6146101f6575b600080fd5b8180156100bf57600080fd5b506100d36100ce366004611450565b610209565b005b8180156100e157600080fd5b506100d36100f0366004611450565b610329565b61010861010336600461147c565b6103cf565b60405190151581526020015b60405180910390f35b61013061012b36600461147c565b6103e4565b60405161011491906114b1565b81801561014957600080fd5b506100d36101583660046114c5565b61041d565b61013061016b366004611450565b61048b565b61010861017e36600461147c565b6104bb565b81801561018f57600080fd5b506100d361019e3660046114f4565b6104c8565b8180156101af57600080fd5b506100d36101be3660046114c5565b610646565b6101306101d136600461147c565b6106bb565b8180156101e257600080fd5b506100d36101f1366004611450565b6106c8565b610130610204366004611450565b610789565b6001600160a01b038082166000908152602284016020526040902054168061024f5733604051636a45db5b60e11b815260040161024691906114b1565b60405180910390fd5b6001600160a01b038116331461027a573360405163f6272f8160e01b815260040161024691906114b1565b61028483336107b0565b156102b657336000908152601f8401602052604090206102b69084906102b0906102ad906107e5565b90565b3361082d565b336000908152601f8401602052604090206102d1908361086f565b6001600160a01b0382166000908152601e8401602052604090206102f5903361086f565b61030083833361088a565b60405133906001600160a01b0384169060008051602061167f83398151915290600090a3505050565b6001600160a01b03808216600090815260228401602052604090205416806103665781604051636a45db5b60e11b815260040161024691906114b1565b336001600160a01b03821614610391573360405163f6272f8160e01b815260040161024691906114b1565b61039c83838361088a565b806001600160a01b0316826001600160a01b031660008051602061169f83398151915260405160405180910390a3505050565b60006103dc848484610a21565b949350505050565b60006103dc6102ad6103f584610a6a565b6001600160a01b0386166000908152601e8801602052604090209065ffffffffffff16610aa1565b3360009081526022820160205260409020546001600160a01b0316806104585733604051636a45db5b60e11b815260040161024691906114b1565b61046382338361088a565b6040516001600160a01b03821690339060008051602061169f83398151915290600090a35050565b6001600160a01b0381166000908152601e8301602052604081206104b2906102ad906107e5565b90505b92915050565b60006103dc848484610b4a565b814211156104e957604051630819bdcd60e01b815260040160405180910390fd5b604080517ff23d508c74addf6e96f94091e91b60c84529eb2fc2b7922b8f854dd65d060dfb60208201526001600160a01b038516918101919091523360608201526080810183905260009060a001604051602081830303815290604052805190602001209050600061055a82610b80565b905060006105688285610bad565b9050856001600160a01b0316816001600160a01b03161461059c57604051638baa579f60e01b815260040160405180910390fd5b6105a7878733610bd7565b6105b187336107b0565b156105da57336000908152601f8801602052604090206105da9088906102b0906102ad906107e5565b6001600160a01b0386166000908152601e8801602052604090206105fe903361086f565b336000908152601f880160205260409020610619908761086f565b60405133906001600160a01b0388169060008051602061167f83398151915290600090a350505050505050565b336000806106548484610d43565b1561066d57829150610666848461048b565b90506106aa565b61067784846107b0565b1561068f5750816106888482610789565b91506106aa565b82604051636a45db5b60e11b815260040161024691906114b1565b6106b584838361082d565b50505050565b60006103dc848484610d66565b6106d3823383610bd7565b6001600160a01b03811660009081526021830160205260409020546106f98160016115de565b336000818152602080870181526040808320949094556001600160a01b03861680835260218801825284832080546001810182559084528284200180546001600160a01b03199081168617909155848452602289019092528483208054909216811790915592517f74e65557682bd085b776a10c4542ef8a7be38069648dce172fe713b91c9700f19190a3505050565b6001600160a01b0381166000908152601f8301602052604081206104b2906102ad906107e5565b6001600160a01b0381166000908152601f8301602052604081206107d3906107e5565b6001600160a01b031615159392505050565b805460009080156108235761080d836107ff6001846115f1565b600091825260209091200190565b54600160601b90046001600160a01b0316610826565b60005b9392505050565b6001600160a01b0382166000908152601e8401602052604081206108509161086f565b6001600160a01b0381166000908152601f84016020526040812061039c915b6106b561087a610d9f565b839065ffffffffffff1683610dae565b6001600160a01b038083166000908152602080860181526040808320549385168352602187019091529020546108c16001836115f1565b91506108ce6001826115f1565b821461099c576001600160a01b038316600090815260218601602052604081206108f96001846115f1565b8154811061090957610909611604565b60009182526020808320909101546001600160a01b03878116845260218a01909252604090922080549190921692508291908590811061094b5761094b611604565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905561097f8360016115de565b6001600160a01b0390911660009081526020808801905260409020555b6001600160a01b038316600090815260218601602052604090208054806109c5576109c561161a565b60008281526020808220830160001990810180546001600160a01b031990811690915593019093556001600160a01b03969096168652868201825260408087208790556022909701909152949093208054909416909355505050565b6000610a57610a2f83610a6a565b6001600160a01b0385166000908152601f8701602052604090209065ffffffffffff16610aa1565b6001600160a01b03161515949350505050565b600065ffffffffffff821115610a9d576040516306dfcc6560e41b81526030600482015260248101839052604401610246565b5090565b815460009081816005811115610b01576000610abc84610dc9565b610ac690856115f1565b6000888152602090209091508101546001600160601b039081169087161015610af157809150610aff565b610afc8160016115de565b92505b505b6000610b0f87878585610eb1565b90508015610b3c57610b26876107ff6001846115f1565b54600160601b90046001600160a01b0316610b3f565b60005b979650505050505050565b6000610a57610b5883610a6a565b6001600160a01b0385166000908152601e8701602052604090209065ffffffffffff16610aa1565b60006104b5610b8d610f15565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600080610bbd8686610ff3565b925092509250610bcd8282611040565b5090949350505050565b806001600160a01b0316826001600160a01b031603610c0b57816040516307bcecdf60e01b815260040161024691906114b1565b610c1583836110fd565b80610c3b57506001600160a01b038281166000908152601c850160205260409020541615155b15610c59576040516379eab24b60e01b815260040160405180910390fd5b610c6383826110fd565b80610c8957506001600160a01b038181166000908152601c850160205260409020541615155b15610ca7576040516398f6492360e01b815260040160405180910390fd5b610cb18383610d43565b15610cf257610cf28383610ced6102ad87601e016000886001600160a01b03166001600160a01b031681526020019081526020016000206107e5565b61082d565b6001600160a01b0382811660009081526022850160205260409020541615610d3e576001600160a01b038083166000908152602285016020526040902054610d3e91859185911661088a565b505050565b6001600160a01b0381166000908152601e8301602052604081206107d3906107e5565b60006103dc6102ad610d7784610a6a565b6001600160a01b0386166000908152601f8801602052604090209065ffffffffffff16610aa1565b6000610da9611120565b905090565b600080610dbc85858561112b565b915091505b935093915050565b600081600003610ddb57506000919050565b60006001610de8846112aa565b901c6001901b90506001818481610e0157610e01611630565b048201901c90506001818481610e1957610e19611630565b048201901c90506001818481610e3157610e31611630565b048201901c90506001818481610e4957610e49611630565b048201901c90506001818481610e6157610e61611630565b048201901c90506001818481610e7957610e79611630565b048201901c90506001818481610e9157610e91611630565b048201901c905061082681828581610eab57610eab611630565b0461133e565b60005b81831015610f0d576000610ec88484611354565b6000878152602090209091506001600160601b038616908201546001600160601b03161115610ef957809250610f07565b610f048160016115de565b93505b50610eb4565b509392505050565b6000610da96040805180820182526012815271159950995d1d195c94185cdcdc1bdc9d158d60721b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fa00acabd45e7aaba1d0db68eacf74431b01cc12a5da5996724b7557088d571a4818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b6000806000835160410361102d5760208401516040850151606086015160001a61101f8882858561136f565b955095509550505050611039565b50508151600091506002905b9250925092565b600082600381111561105457611054611646565b0361105d575050565b600182600381111561107157611071611646565b0361108f5760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156110a3576110a3611646565b036110c45760405163fce698f760e01b815260048101829052602401610246565b60038260038111156110d8576110d8611646565b036110f9576040516335e2f38360e21b815260048101829052602401610246565b5050565b6001600160a01b038116600090815260178301602052604081206107d3906107e5565b6000610da943610a6a565b82546000908190801561124e576000611149876107ff6001856115f1565b6040805180820190915290546001600160601b03808216808452600160601b9092046001600160a01b03166020840152919250908716101561119e57604051632520601d60e01b815260040160405180910390fd5b80516001600160601b038088169116036111ec57846111c2886107ff6001866115f1565b80546001600160a01b0392909216600160601b026001600160601b0390921691909117905561123e565b604080518082019091526001600160601b0380881682526001600160a01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160601b029216919091179101555b602001519250839150610dc19050565b5050604080518082019091526001600160601b0380851682526001600160a01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160601b029190931617920191909155905081610dc1565b600080608083901c156112bf57608092831c92015b604083901c156112d157604092831c92015b602083901c156112e357602092831c92015b601083901c156112f557601092831c92015b600883901c1561130757600892831c92015b600483901c1561131957600492831c92015b600283901c1561132b57600292831c92015b600183901c156104b55760010192915050565b600081831061134d57816104b2565b5090919050565b6000611363600284841861165c565b6104b2908484166115de565b600080806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038411156113a0575060009150600390508261142a565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156113f4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166114205750600092506001915082905061142a565b9250600091508190505b9450945094915050565b80356001600160a01b038116811461144b57600080fd5b919050565b6000806040838503121561146357600080fd5b8235915061147360208401611434565b90509250929050565b60008060006060848603121561149157600080fd5b833592506114a160208501611434565b9150604084013590509250925092565b6001600160a01b0391909116815260200190565b6000602082840312156114d757600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561150a57600080fd5b8435935061151a60208601611434565b92506040850135915060608501356001600160401b038082111561153d57600080fd5b818701915087601f83011261155157600080fd5b813581811115611563576115636114de565b604051601f8201601f19908116603f0116810190838211818310171561158b5761158b6114de565b816040528281528a60208487010111156115a457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808201808211156104b5576104b56115c8565b818103818111156104b5576104b56115c8565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60008261167957634e487b7160e01b600052601260045260246000fd5b50049056fefaf6077d874fc7f1716637c6f4ac4914ce0cfbf27767bb442ed23dd08dad40446f0412fa95f7f48ec7dc7631b382833d8eae9cf4082e5e859b94d091a4a846d4a264697066735822122062e63ba1461da744eb2feee8658c19cd7014a2ad390e924bbc3b9632fada961364736f6c63430008140033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
