Overview ERC20
PRICE
n/a

ON-CHAIN MARKET CAP n/a

Total Supply:
100,000,000.00 KAI

Holders:
7
Profile Summary
Blockchain:
Ethereum (1)


Decimals:
9
Contract Source Code Verified (Partial Match)
Contract Name:
Kai

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No

Created At:
Fri, 12 Apr 2024 16:35:23 GMT
Kai.sol
Kai.sol
Kai.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "taxWallet",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "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": false,
        "internalType": "uint256",
        "name": "_valueBuy",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_valueSell",
        "type": "uint256"
      }
    ],
    "name": "FinalTax",
    "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": false,
        "internalType": "bool",
        "name": "_tradingOpen",
        "type": "bool"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "_swapEnabled",
        "type": "bool"
      }
    ],
    "name": "TradingActive",
    "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"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_value",
        "type": "uint256"
      }
    ],
    "name": "maxAmount",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "_initialize",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_maxTaxSwap",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_maxTxAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_maxWalletSize",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_openTrading",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_removeLimits",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_valueBuy",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_valueSell",
        "type": "uint256"
      }
    ],
    "name": "_setFinalTax",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_taxSwapThreshold",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "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": "amount",
        "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": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "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": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
6080604052600560075560056008555f6009556009600a6100209190610567565b620f424061002e91906105b1565b600b556009600a61003f9190610567565b620f424061004d91906105b1565b600c555f600d60016101000a81548160ff0219169083151502179055505f600d60026101000a81548160ff02191690831515021790555034801561008f575f80fd5b506040516137de3803806137de83398181016040528101906100b19190610650565b5f6100c06103c860201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6101aa9190610567565b6305f5e1006101b991906105b1565b60015f6101ca6103c860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61021a6103cf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103426103c860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a61039e9190610567565b6305f5e1006103ad91906105b1565b6040516103ba919061068a565b60405180910390a3506106a3565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561047857808604811115610454576104536103f6565b5b60018516156104635780820291505b808102905061047185610423565b9450610438565b94509492505050565b5f82610490576001905061054b565b8161049d575f905061054b565b81600181146104b357600281146104bd576104ec565b600191505061054b565b60ff8411156104cf576104ce6103f6565b5b8360020a9150848211156104e6576104e56103f6565b5b5061054b565b5060208310610133831016604e8410600b84101617156105215782820a90508381111561051c5761051b6103f6565b5b61054b565b61052e848484600161042f565b92509050818404811115610545576105446103f6565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61057182610552565b915061057c8361055b565b92506105a97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610481565b905092915050565b5f6105bb82610552565b91506105c683610552565b92508282026105d481610552565b915082820484148315176105eb576105ea6103f6565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61061f826105f6565b9050919050565b61062f81610615565b8114610639575f80fd5b50565b5f8151905061064a81610626565b92915050565b5f60208284031215610665576106646105f2565b5b5f6106728482850161063c565b91505092915050565b61068481610552565b82525050565b5f60208201905061069d5f83018461067b565b92915050565b61312e806106b05f395ff3fe608060405260043610610117575f3560e01c806370a082311161009f5780638f9a55c0116100635780638f9a55c01461035257806395d89b411461037c578063a9059cbb146103a6578063bf474bed146103e2578063dd62ed3e1461040c5761011e565b806370a0823114610296578063715018a6146102d25780637d1db4a5146102e857806380ae4ebc146103125780638da5cb5b146103285761011e565b80631c1702f3116100e65780631c1702f3146101dc57806323b872dd146101f2578063313ce5671461022e5780634a30b3861461025857806361df9f981461026e5761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b50610136610448565b6040516101439190612278565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612329565b610485565b60405161017f9190612381565b60405180910390f35b348015610193575f80fd5b5061019c6104a2565b6040516101a991906123a9565b60405180910390f35b3480156101bd575f80fd5b506101c66104c1565b6040516101d391906123a9565b60405180910390f35b3480156101e7575f80fd5b506101f06104e4565b005b3480156101fd575f80fd5b50610218600480360381019061021391906123c2565b610654565b6040516102259190612381565b60405180910390f35b348015610239575f80fd5b50610242610728565b60405161024f919061242d565b60405180910390f35b348015610263575f80fd5b5061026c610730565b005b348015610279575f80fd5b50610294600480360381019061028f9190612446565b61085f565b005b3480156102a1575f80fd5b506102bc60048036038101906102b79190612484565b6109a6565b6040516102c991906123a9565b60405180910390f35b3480156102dd575f80fd5b506102e66109ec565b005b3480156102f3575f80fd5b506102fc610b3a565b60405161030991906123a9565b60405180910390f35b34801561031d575f80fd5b50610326610b40565b005b348015610333575f80fd5b5061033c611084565b60405161034991906124be565b60405180910390f35b34801561035d575f80fd5b506103666110ab565b60405161037391906123a9565b60405180910390f35b348015610387575f80fd5b506103906110b1565b60405161039d9190612278565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c79190612329565b6110ee565b6040516103d99190612381565b60405180910390f35b3480156103ed575f80fd5b506103f661110b565b60405161040391906123a9565b60405180910390f35b348015610417575f80fd5b50610432600480360381019061042d91906124d7565b61112a565b60405161043f91906123a9565b60405180910390f35b60606040518060400160405280600881526020017f4b6f6d7075746169000000000000000000000000000000000000000000000000815250905090565b5f6104986104916111ac565b84846111b3565b6001905092915050565b6009600a6104b09190612671565b620f42406104be91906126bb565b81565b5f6009600a6104d09190612671565b6305f5e1006104df91906126bb565b905090565b6104ec6111ac565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056f90612746565b60405180910390fd5b600d5f9054906101000a900460ff16156105c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105be906127ae565b60405180910390fd5b6001600d60026101000a81548160ff0219169083151502179055506001600d5f6101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600d5f9054906101000a900460ff16600d60029054906101000a900460ff1660405161064a9291906127cc565b60405180910390a1565b5f610660848484611341565b61071d8461066c6111ac565b610718856040518060600160405280602881526020016130d16028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106cf6111ac565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d0c9092919063ffffffff16565b6111b3565b600190509392505050565b5f6009905090565b6107386111ac565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bb90612746565b60405180910390fd5b6009600a6107d29190612671565b6305f5e1006107e191906126bb565b600b819055506009600a6107f59190612671565b6305f5e10061080491906126bb565b600c819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96009600a6108399190612671565b6305f5e10061084891906126bb565b60405161085591906123a9565b60405180910390a1565b6108676111ac565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ea90612746565b60405180910390fd5b601e82111580156109055750601e8111155b801561091c5750600d5f9054906101000a900460ff165b61095b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109529061283d565b60405180910390fd5b81600781905550806008819055507f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f4828260405161099a92919061285b565b60405180910390a15050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109f46111ac565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7790612746565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b5481565b610b486111ac565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcb90612746565b60405180910390fd5b600d5f9054906101000a900460ff1615610c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1a906128cc565b60405180910390fd5b5f610c81610c6a6064610c5c60196009600a610c3f9190612671565b6305f5e100610c4e91906126bb565b611d6e90919063ffffffff16565b611de590919063ffffffff16565b610c73306109a6565b611e2e90919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d1f3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d0b9190612671565b6305f5e100610d1a91906126bb565b6111b3565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dad91906128fe565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5791906128fe565b6040518363ffffffff1660e01b8152600401610e74929190612929565b6020604051808303815f875af1158015610e90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb491906128fe565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f80610f3d6111ac565b426040518863ffffffff1660e01b8152600401610f5f96959493929190612992565b60606040518083038185885af1158015610f7b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fa09190612a05565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611040929190612a55565b6020604051808303815f875af115801561105c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110809190612aa6565b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600381526020017f4b41490000000000000000000000000000000000000000000000000000000000815250905090565b5f6111016110fa6111ac565b8484611341565b6001905092915050565b6009600a6111199190612671565b62030d4061112791906126bb565b81565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561121b57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125190612b1b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161133491906123a9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113a957505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6113e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113df90612b83565b60405180910390fd5b5f811161142a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142190612c11565b60405180910390fd5b5f611433611084565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114a15750611471611084565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a5c57600d5f9054906101000a900460ff166115945760035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611554575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158a90612c79565b60405180910390fd5b5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561163d575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611690575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561174a57600b548211156116da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d190612ce1565b60405180910390fd5b600c54826116e7856109a6565b6116f19190612cff565b1115611732576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172990612d7c565b60405180910390fd5b60095f81548092919061174490612d9a565b91905055505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117d257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156118115760646118006029600954116117ed5760196117f1565b6008545b84611d6e90919063ffffffff16565b61180a9190612e0e565b90506118d5565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561189957503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118d45760646118c76023600954116118b45760196118b8565b6007545b84611d6e90919063ffffffff16565b6118d19190612e0e565b90505b5b80600a5f8282546118e69190612cff565b925050819055505f6118f7306109a6565b9050600d60019054906101000a900460ff16158015611962575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561197a5750600d60029054906101000a900460ff165b80156119a057506009600a61198f9190612671565b62030d4061199d91906126bb565b81115b80156119ae57506025600954115b80156119d657506009600a6119c39190612671565b62013c686119d191906126bb565b600a54115b15611a5a575f6009600a6119ea9190612671565b620f42406119f891906126bb565b8211611a045781611a21565b6009600a611a129190612671565b620f4240611a2091906126bb565b5b9050611a3a818511611a335784611a35565b815b611e77565b5f4790505f811115611a5057611a4f476120e2565b5b5f600a8190555050505b505b5f811115611b5b57611ab48160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461214a90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b5291906123a9565b60405180910390a35b611bab8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e2e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c4e611c028284611e2e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461214a90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611cf18486611e2e90919063ffffffff16565b604051611cfe91906123a9565b60405180910390a350505050565b5f838311158290611d53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4a9190612278565b60405180910390fd5b505f8385611d619190612e3e565b9050809150509392505050565b5f808303611d7e575f9050611ddf565b5f8284611d8b91906126bb565b9050828482611d9a9190612e0e565b14611dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd190612ee1565b60405180910390fd5b809150505b92915050565b5f611e2683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121a7565b905092915050565b5f611e6f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d0c565b905092915050565b6001600d60016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611eae57611ead612eff565b5b604051908082528060200260200182016040528015611edc5781602001602082028036833780820191505090505b50905030815f81518110611ef357611ef2612f2c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fbb91906128fe565b81600181518110611fcf57611fce612f2c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120353060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111b3565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612097959493929190613010565b5f604051808303815f87803b1580156120ae575f80fd5b505af11580156120c0573d5f803e3d5ffd5b50505050505f600d60016101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612146573d5f803e3d5ffd5b5050565b5f8082846121589190612cff565b90508381101561219d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612194906130b2565b60405180910390fd5b8091505092915050565b5f80831182906121ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e49190612278565b60405180910390fd5b505f83856121fb9190612e0e565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61224a82612208565b6122548185612212565b9350612264818560208601612222565b61226d81612230565b840191505092915050565b5f6020820190508181035f8301526122908184612240565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122c58261229c565b9050919050565b6122d5816122bb565b81146122df575f80fd5b50565b5f813590506122f0816122cc565b92915050565b5f819050919050565b612308816122f6565b8114612312575f80fd5b50565b5f81359050612323816122ff565b92915050565b5f806040838503121561233f5761233e612298565b5b5f61234c858286016122e2565b925050602061235d85828601612315565b9150509250929050565b5f8115159050919050565b61237b81612367565b82525050565b5f6020820190506123945f830184612372565b92915050565b6123a3816122f6565b82525050565b5f6020820190506123bc5f83018461239a565b92915050565b5f805f606084860312156123d9576123d8612298565b5b5f6123e6868287016122e2565b93505060206123f7868287016122e2565b925050604061240886828701612315565b9150509250925092565b5f60ff82169050919050565b61242781612412565b82525050565b5f6020820190506124405f83018461241e565b92915050565b5f806040838503121561245c5761245b612298565b5b5f61246985828601612315565b925050602061247a85828601612315565b9150509250929050565b5f6020828403121561249957612498612298565b5b5f6124a6848285016122e2565b91505092915050565b6124b8816122bb565b82525050565b5f6020820190506124d15f8301846124af565b92915050565b5f80604083850312156124ed576124ec612298565b5b5f6124fa858286016122e2565b925050602061250b858286016122e2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125975780860481111561257357612572612515565b5b60018516156125825780820291505b808102905061259085612542565b9450612557565b94509492505050565b5f826125af576001905061266a565b816125bc575f905061266a565b81600181146125d257600281146125dc5761260b565b600191505061266a565b60ff8411156125ee576125ed612515565b5b8360020a91508482111561260557612604612515565b5b5061266a565b5060208310610133831016604e8410600b84101617156126405782820a90508381111561263b5761263a612515565b5b61266a565b61264d848484600161254e565b9250905081840481111561266457612663612515565b5b81810290505b9392505050565b5f61267b826122f6565b915061268683612412565b92506126b37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125a0565b905092915050565b5f6126c5826122f6565b91506126d0836122f6565b92508282026126de816122f6565b915082820484148315176126f5576126f4612515565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612730602083612212565b915061273b826126fc565b602082019050919050565b5f6020820190508181035f83015261275d81612724565b9050919050565b7f74726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f612798601483612212565b91506127a382612764565b602082019050919050565b5f6020820190508181035f8301526127c58161278c565b9050919050565b5f6040820190506127df5f830185612372565b6127ec6020830184612372565b9392505050565b7f457863656564732076616c7565000000000000000000000000000000000000005f82015250565b5f612827600d83612212565b9150612832826127f3565b602082019050919050565b5f6020820190508181035f8301526128548161281b565b9050919050565b5f60408201905061286e5f83018561239a565b61287b602083018461239a565b9392505050565b7f696e697420616c72656164792063616c6c6564000000000000000000000000005f82015250565b5f6128b6601383612212565b91506128c182612882565b602082019050919050565b5f6020820190508181035f8301526128e3816128aa565b9050919050565b5f815190506128f8816122cc565b92915050565b5f6020828403121561291357612912612298565b5b5f612920848285016128ea565b91505092915050565b5f60408201905061293c5f8301856124af565b61294960208301846124af565b9392505050565b5f819050919050565b5f819050919050565b5f61297c61297761297284612950565b612959565b6122f6565b9050919050565b61298c81612962565b82525050565b5f60c0820190506129a55f8301896124af565b6129b2602083018861239a565b6129bf6040830187612983565b6129cc6060830186612983565b6129d960808301856124af565b6129e660a083018461239a565b979650505050505050565b5f815190506129ff816122ff565b92915050565b5f805f60608486031215612a1c57612a1b612298565b5b5f612a29868287016129f1565b9350506020612a3a868287016129f1565b9250506040612a4b868287016129f1565b9150509250925092565b5f604082019050612a685f8301856124af565b612a75602083018461239a565b9392505050565b612a8581612367565b8114612a8f575f80fd5b50565b5f81519050612aa081612a7c565b92915050565b5f60208284031215612abb57612aba612298565b5b5f612ac884828501612a92565b91505092915050565b7f45524332303a20617070726f766520746865207a65726f2061646472657373005f82015250565b5f612b05601f83612212565b9150612b1082612ad1565b602082019050919050565b5f6020820190508181035f830152612b3281612af9565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f20616464726573735f82015250565b5f612b6d602083612212565b9150612b7882612b39565b602082019050919050565b5f6020820190508181035f830152612b9a81612b61565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612bfb602983612212565b9150612c0682612ba1565b604082019050919050565b5f6020820190508181035f830152612c2881612bef565b9050919050565b7f74726164696e67206e6f7420796574206f70656e0000000000000000000000005f82015250565b5f612c63601483612212565b9150612c6e82612c2f565b602082019050919050565b5f6020820190508181035f830152612c9081612c57565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612ccb601983612212565b9150612cd682612c97565b602082019050919050565b5f6020820190508181035f830152612cf881612cbf565b9050919050565b5f612d09826122f6565b9150612d14836122f6565b9250828201905080821115612d2c57612d2b612515565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612d66601a83612212565b9150612d7182612d32565b602082019050919050565b5f6020820190508181035f830152612d9381612d5a565b9050919050565b5f612da4826122f6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dd657612dd5612515565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e18826122f6565b9150612e23836122f6565b925082612e3357612e32612de1565b5b828204905092915050565b5f612e48826122f6565b9150612e53836122f6565b9250828203905081811115612e6b57612e6a612515565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ecb602183612212565b9150612ed682612e71565b604082019050919050565b5f6020820190508181035f830152612ef881612ebf565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f8b816122bb565b82525050565b5f612f9c8383612f82565b60208301905092915050565b5f602082019050919050565b5f612fbe82612f59565b612fc88185612f63565b9350612fd383612f73565b805f5b83811015613003578151612fea8882612f91565b9750612ff583612fa8565b925050600181019050612fd6565b5085935050505092915050565b5f60a0820190506130235f83018861239a565b6130306020830187612983565b81810360408301526130428186612fb4565b905061305160608301856124af565b61305e608083018461239a565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61309c601b83612212565b91506130a782613068565b602082019050919050565b5f6020820190508181035f8301526130c981613090565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206f28b78493b56ed7647ea781313a2ea12c8498abe92db0a8a874d2d72312db4564736f6c634300081900330000000000000000000000005372b1b86d057c129a2ed0d777d06529790e8c7a