{
  "compiler": "0.8.30+commit.73712a01.Emscripten.clang",
  "sourceSha256": "95f495bf0e420549a9ba4b9338b2dc8d101940eeefb322032c91290a9e281fc9",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "treasury",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "administrator",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "firstDataYear",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "baselinePopulation",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "allowance",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "needed",
          "type": "uint256"
        }
      ],
      "name": "ERC20InsufficientAllowance",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "balance",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "needed",
          "type": "uint256"
        }
      ],
      "name": "ERC20InsufficientBalance",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "approver",
          "type": "address"
        }
      ],
      "name": "ERC20InvalidApprover",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "receiver",
          "type": "address"
        }
      ],
      "name": "ERC20InvalidReceiver",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "ERC20InvalidSender",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "ERC20InvalidSpender",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidAnnualRecord",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "OwnableInvalidOwner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "OwnableUnauthorizedAccount",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "dataYear",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "previousPopulation",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "population",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "evidenceHash",
          "type": "bytes32"
        }
      ],
      "name": "AnnualBurn",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferStarted",
      "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"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "INITIAL_SUPPLY",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentYear",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "year",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "dataYear",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "population",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "evidenceHash",
          "type": "bytes32"
        }
      ],
      "name": "finalizeAnnualBurn",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lastPopulation",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "nextDataYear",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "yearFinalized",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506040516112c43803806112c483398101604081905261002f916103cb565b60408051808201825260048082526354494d4560e01b60208084018290528451808601909552918452908301528491600361006a83826104ad565b50600461007782826104ad565b5050506001600160a01b0381166100a957604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6100b28161014f565b506001600160a01b03841615806100d157506001600160a01b03841630145b806100dd57506107e982105b806100ee57506100eb61016b565b82115b806100f7575080155b8061010857506001600160401b0381115b15610126576040516310214cd760e01b815260040160405180910390fd5b60088290556009819055610146846b04860d8812f0b388780000006101f9565b50505050610604565b600680546001600160a01b031916905561016881610233565b50565b60008061017b6201518042610597565b90506107b291505b60006101906004846105ab565b1580156101b957506101a36064846105ab565b1515806101b957506101b7610190846105ab565b155b6101c55761016d6101c9565b61016e5b61ffff169050808210156101dc57505090565b6101e681836105bf565b91506101f1836105d8565b925050610183565b6001600160a01b0382166102235760405163ec442f0560e01b8152600060048201526024016100a0565b61022f60008383610285565b5050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166102b05780600260008282546102a591906105f1565b909155506103229050565b6001600160a01b038316600090815260208190526040902054818110156103035760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016100a0565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661033e5760028054829003905561035d565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516103a291815260200190565b60405180910390a3505050565b80516001600160a01b03811681146103c657600080fd5b919050565b600080600080608085870312156103e157600080fd5b6103ea856103af565b93506103f8602086016103af565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061043857607f821691505b60208210810361045857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156104a857806000526020600020601f840160051c810160208510156104855750805b601f840160051c820191505b818110156104a55760008155600101610491565b50505b505050565b81516001600160401b038111156104c6576104c661040e565b6104da816104d48454610424565b8461045e565b6020601f82116001811461050e57600083156104f65750848201515b600019600385901b1c1916600184901b1784556104a5565b600084815260208120601f198516915b8281101561053e578785015182556020948501946001909201910161051e565b508482101561055c5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826105a6576105a661056b565b500490565b6000826105ba576105ba61056b565b500690565b818103818111156105d2576105d2610581565b92915050565b6000600182016105ea576105ea610581565b5060010190565b808201808211156105d2576105d2610581565b610cb1806106136000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad57806395d89b411161007157806395d89b411461026d578063a9059cbb14610275578063dd62ed3e14610288578063e30c3978146102c1578063f2fde38b146102d257600080fd5b806370a0823114610206578063715018a61461022f57806379ba5097146102375780638da5cb5b1461023f578063930592321461026457600080fd5b806323b872dd116100f457806323b872dd146101a55780632b94744d146101b85780632ff2e9dc146101c1578063313ce567146101d4578063615fd4ea146101e357600080fd5b8063012f8d4f1461013157806306fdde0314610146578063095ea7b3146101645780630b5a006b1461018757806318160ddd1461019d575b600080fd5b61014461013f366004610a2c565b6102e5565b005b61014e610422565b60405161015b9190610a58565b60405180910390f35b610177610172366004610ac2565b6104b4565b604051901515815260200161015b565b61018f6104ce565b60405190815260200161015b565b60025461018f565b6101776101b3366004610aec565b61055c565b61018f60085481565b61018f6b04860d8812f0b3887800000081565b6040516012815260200161015b565b6101776101f1366004610b29565b60076020526000908152604090205460ff1681565b61018f610214366004610b42565b6001600160a01b031660009081526020819052604090205490565b610144610580565b610144610594565b6005546001600160a01b03165b6040516001600160a01b03909116815260200161015b565b61018f60095481565b61014e6105dd565b610177610283366004610ac2565b6105ec565b61018f610296366004610b64565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6006546001600160a01b031661024c565b6101446102e0366004610b42565b6105fa565b6102ed61066b565b6008548314158061030557506103016104ce565b8310155b8061031e575060008381526007602052604090205460ff165b80610327575081155b80610339575067ffffffffffffffff82115b80610342575080155b15610360576040516310214cd760e01b815260040160405180910390fd5b600954600081841061037357600061038f565b61037d8483610bad565b61038f90670de0b6b3a7640000610bc0565b6000868152600760205260409020805460ff1916600190811790915560098690559091506103be908690610bd7565b60085580156103d1576103d13082610698565b60408051838152602081018690529081018290526060810184905285907f548cf3deeafd9482f3b3f3d058793a221a4d7a4f24369b3b9910ae4054c3ee919060800160405180910390a25050505050565b60606003805461043190610bea565b80601f016020809104026020016040519081016040528092919081815260200182805461045d90610bea565b80156104aa5780601f1061047f576101008083540402835291602001916104aa565b820191906000526020600020905b81548152906001019060200180831161048d57829003601f168201915b5050505050905090565b6000336104c28185856106d2565b60019150505b92915050565b6000806104de6201518042610c3a565b90506107b291505b60006104f3600484610c4e565b15801561051c5750610506606484610c4e565b15158061051c575061051a61019084610c4e565b155b6105285761016d61052c565b61016e5b61ffff1690508082101561053f57505090565b6105498183610bad565b915061055483610c62565b9250506104e6565b60003361056a8582856106e4565b610575858585610763565b506001949350505050565b61058861066b565b61059260006107c2565b565b60065433906001600160a01b031681146105d15760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b6105da816107c2565b50565b60606004805461043190610bea565b6000336104c2818585610763565b61060261066b565b600680546001600160a01b0383166001600160a01b031990911681179091556106336005546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6005546001600160a01b031633146105925760405163118cdaa760e01b81523360048201526024016105c8565b6001600160a01b0382166106c257604051634b637e8f60e11b8152600060048201526024016105c8565b6106ce826000836107db565b5050565b6106df8383836001610905565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981101561075d578181101561074e57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016105c8565b61075d84848484036000610905565b50505050565b6001600160a01b03831661078d57604051634b637e8f60e11b8152600060048201526024016105c8565b6001600160a01b0382166107b75760405163ec442f0560e01b8152600060048201526024016105c8565b6106df8383836107db565b600680546001600160a01b03191690556105da816109da565b6001600160a01b0383166108065780600260008282546107fb9190610bd7565b909155506108789050565b6001600160a01b038316600090815260208190526040902054818110156108595760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016105c8565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610894576002805482900390556108b3565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108f891815260200190565b60405180910390a3505050565b6001600160a01b03841661092f5760405163e602df0560e01b8152600060048201526024016105c8565b6001600160a01b03831661095957604051634a1406b160e11b8152600060048201526024016105c8565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561075d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109cc91815260200190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080600060608486031215610a4157600080fd5b505081359360208301359350604090920135919050565b602081526000825180602084015260005b81811015610a865760208186018101516040868401015201610a69565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610abd57600080fd5b919050565b60008060408385031215610ad557600080fd5b610ade83610aa6565b946020939093013593505050565b600080600060608486031215610b0157600080fd5b610b0a84610aa6565b9250610b1860208501610aa6565b929592945050506040919091013590565b600060208284031215610b3b57600080fd5b5035919050565b600060208284031215610b5457600080fd5b610b5d82610aa6565b9392505050565b60008060408385031215610b7757600080fd5b610b8083610aa6565b9150610b8e60208401610aa6565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104c8576104c8610b97565b80820281158282048414176104c8576104c8610b97565b808201808211156104c8576104c8610b97565b600181811c90821680610bfe57607f821691505b602082108103610c1e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b600082610c4957610c49610c24565b500490565b600082610c5d57610c5d610c24565b500690565b600060018201610c7457610c74610b97565b506001019056fea26469706673582212205f10d87b9aee47ae997e56e11f9337bf2fc5bdfc81c53520b6c33b817edfcc4764736f6c634300081e0033",
  "runtimeTemplate": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad57806395d89b411161007157806395d89b411461026d578063a9059cbb14610275578063dd62ed3e14610288578063e30c3978146102c1578063f2fde38b146102d257600080fd5b806370a0823114610206578063715018a61461022f57806379ba5097146102375780638da5cb5b1461023f578063930592321461026457600080fd5b806323b872dd116100f457806323b872dd146101a55780632b94744d146101b85780632ff2e9dc146101c1578063313ce567146101d4578063615fd4ea146101e357600080fd5b8063012f8d4f1461013157806306fdde0314610146578063095ea7b3146101645780630b5a006b1461018757806318160ddd1461019d575b600080fd5b61014461013f366004610a2c565b6102e5565b005b61014e610422565b60405161015b9190610a58565b60405180910390f35b610177610172366004610ac2565b6104b4565b604051901515815260200161015b565b61018f6104ce565b60405190815260200161015b565b60025461018f565b6101776101b3366004610aec565b61055c565b61018f60085481565b61018f6b04860d8812f0b3887800000081565b6040516012815260200161015b565b6101776101f1366004610b29565b60076020526000908152604090205460ff1681565b61018f610214366004610b42565b6001600160a01b031660009081526020819052604090205490565b610144610580565b610144610594565b6005546001600160a01b03165b6040516001600160a01b03909116815260200161015b565b61018f60095481565b61014e6105dd565b610177610283366004610ac2565b6105ec565b61018f610296366004610b64565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6006546001600160a01b031661024c565b6101446102e0366004610b42565b6105fa565b6102ed61066b565b6008548314158061030557506103016104ce565b8310155b8061031e575060008381526007602052604090205460ff165b80610327575081155b80610339575067ffffffffffffffff82115b80610342575080155b15610360576040516310214cd760e01b815260040160405180910390fd5b600954600081841061037357600061038f565b61037d8483610bad565b61038f90670de0b6b3a7640000610bc0565b6000868152600760205260409020805460ff1916600190811790915560098690559091506103be908690610bd7565b60085580156103d1576103d13082610698565b60408051838152602081018690529081018290526060810184905285907f548cf3deeafd9482f3b3f3d058793a221a4d7a4f24369b3b9910ae4054c3ee919060800160405180910390a25050505050565b60606003805461043190610bea565b80601f016020809104026020016040519081016040528092919081815260200182805461045d90610bea565b80156104aa5780601f1061047f576101008083540402835291602001916104aa565b820191906000526020600020905b81548152906001019060200180831161048d57829003601f168201915b5050505050905090565b6000336104c28185856106d2565b60019150505b92915050565b6000806104de6201518042610c3a565b90506107b291505b60006104f3600484610c4e565b15801561051c5750610506606484610c4e565b15158061051c575061051a61019084610c4e565b155b6105285761016d61052c565b61016e5b61ffff1690508082101561053f57505090565b6105498183610bad565b915061055483610c62565b9250506104e6565b60003361056a8582856106e4565b610575858585610763565b506001949350505050565b61058861066b565b61059260006107c2565b565b60065433906001600160a01b031681146105d15760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b6105da816107c2565b50565b60606004805461043190610bea565b6000336104c2818585610763565b61060261066b565b600680546001600160a01b0383166001600160a01b031990911681179091556106336005546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6005546001600160a01b031633146105925760405163118cdaa760e01b81523360048201526024016105c8565b6001600160a01b0382166106c257604051634b637e8f60e11b8152600060048201526024016105c8565b6106ce826000836107db565b5050565b6106df8383836001610905565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981101561075d578181101561074e57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016105c8565b61075d84848484036000610905565b50505050565b6001600160a01b03831661078d57604051634b637e8f60e11b8152600060048201526024016105c8565b6001600160a01b0382166107b75760405163ec442f0560e01b8152600060048201526024016105c8565b6106df8383836107db565b600680546001600160a01b03191690556105da816109da565b6001600160a01b0383166108065780600260008282546107fb9190610bd7565b909155506108789050565b6001600160a01b038316600090815260208190526040902054818110156108595760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016105c8565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610894576002805482900390556108b3565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108f891815260200190565b60405180910390a3505050565b6001600160a01b03841661092f5760405163e602df0560e01b8152600060048201526024016105c8565b6001600160a01b03831661095957604051634a1406b160e11b8152600060048201526024016105c8565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561075d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109cc91815260200190565b60405180910390a350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080600060608486031215610a4157600080fd5b505081359360208301359350604090920135919050565b602081526000825180602084015260005b81811015610a865760208186018101516040868401015201610a69565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610abd57600080fd5b919050565b60008060408385031215610ad557600080fd5b610ade83610aa6565b946020939093013593505050565b600080600060608486031215610b0157600080fd5b610b0a84610aa6565b9250610b1860208501610aa6565b929592945050506040919091013590565b600060208284031215610b3b57600080fd5b5035919050565b600060208284031215610b5457600080fd5b610b5d82610aa6565b9392505050565b60008060408385031215610b7757600080fd5b610b8083610aa6565b9150610b8e60208401610aa6565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104c8576104c8610b97565b80820281158282048414176104c8576104c8610b97565b808201808211156104c8576104c8610b97565b600181811c90821680610bfe57607f821691505b602082108103610c1e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b600082610c4957610c49610c24565b500490565b600082610c5d57610c5d610c24565b500690565b600060018201610c7457610c74610b97565b506001019056fea26469706673582212205f10d87b9aee47ae997e56e11f9337bf2fc5bdfc81c53520b6c33b817edfcc4764736f6c634300081e0033"
}