Overview ERC20
PRICE
$0.043190

ON-CHAIN MARKET CAP n/a

Total Supply:
1,000,000,000.00 FRENCH

Holders:
2,390
Profile Summary
Blockchain:
Base (8453)


Decimals:
18
Contract Source Code Verified (Partial Match)
Contract Name:
FRENCH

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No

Created At:
Wed, 26 Jun 2024 20:42:53 GMT
FRENCH.sol
FRENCH.sol
FRENCH.sol


Contract ABI
[
  {
    "inputs": [],
    "stateMutability": "payable",
    "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": true,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "FeeSwap",
    "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": [
      {
        "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": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "subtractedValue",
        "type": "uint256"
      }
    ],
    "name": "decreaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "disableHoldingLimit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "enableSwap",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "feeAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "feeThresholdAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "addedValue",
        "type": "uint256"
      }
    ],
    "name": "increaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxHoldings",
    "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": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "recoverStuckEther",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract IERC20",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "recoverStuckTokens",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newBuyFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "newSellFee",
        "type": "uint256"
      }
    ],
    "name": "setTokenFees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapBackFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "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": "amount",
        "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": "amount",
        "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": [],
    "name": "uniV2PairAddr",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newThreshold",
        "type": "uint256"
      }
    ],
    "name": "updateFeeThreshold",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
60a06040526040518060400160405280600e81526020017f4672656e6368204f6e20426173650000000000000000000000000000000000008152506040518060400160405280600681526020017f4652454e43480000000000000000000000000000000000000000000000000000815250816003908161007f91906107fb565b50806004908161008f91906107fb565b5050506100ae6100a361036060201b60201c565b61036760201b60201c565b5f6b033b2e3c9fd0803ce800000090505f6100e660646100d860648561042a60201b90919060201c565b61043f60201b90919060201c565b90506101106103e8610102600b8561042a60201b90919060201c565b61043f60201b90919060201c565b60078190555061013e6103e861013060028561042a60201b90919060201c565b61043f60201b90919060201c565b6008819055507383935c77256b17c8c5e8ad54ff973033f39fa89273ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050600a600981905550601e600a819055506001600c5f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550610359338261045460201b60201c565b5050610a68565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f818361043791906108f7565b905092915050565b5f818361044c9190610965565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036104c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b9906109ef565b60405180910390fd5b6104d35f83836105b760201b60201c565b8060025f8282546104e49190610a0d565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105369190610a0d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161059a9190610a4f565b60405180910390a36105b35f83836105bc60201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061063c57607f821691505b60208210810361064f5761064e6105f8565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106b17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610676565b6106bb8683610676565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6106ff6106fa6106f5846106d3565b6106dc565b6106d3565b9050919050565b5f819050919050565b610718836106e5565b61072c61072482610706565b848454610682565b825550505050565b5f90565b610740610734565b61074b81848461070f565b505050565b5b8181101561076e576107635f82610738565b600181019050610751565b5050565b601f8211156107b35761078481610655565b61078d84610667565b8101602085101561079c578190505b6107b06107a885610667565b830182610750565b50505b505050565b5f82821c905092915050565b5f6107d35f19846008026107b8565b1980831691505092915050565b5f6107eb83836107c4565b9150826002028217905092915050565b610804826105c1565b67ffffffffffffffff81111561081d5761081c6105cb565b5b6108278254610625565b610832828285610772565b5f60209050601f831160018114610863575f8415610851578287015190505b61085b85826107e0565b8655506108c2565b601f19841661087186610655565b5f5b8281101561089857848901518255600182019150602085019450602081019050610873565b868310156108b557848901516108b1601f8916826107c4565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610901826106d3565b915061090c836106d3565b925082820261091a816106d3565b91508282048414831517610931576109306108ca565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61096f826106d3565b915061097a836106d3565b92508261098a57610989610938565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6109d9601f83610995565b91506109e4826109a5565b602082019050919050565b5f6020820190508181035f830152610a06816109cd565b9050919050565b5f610a17826106d3565b9150610a22836106d3565b9250828201905080821115610a3a57610a396108ca565b5b92915050565b610a49816106d3565b82525050565b5f602082019050610a625f830184610a40565b92915050565b6080516132b5610a9c5f395f81816109ed01528181610a1101528181610c2c01528181610f7f0152611de201526132b55ff3fe608060405260043610610184575f3560e01c8063578878b4116100d057806395d89b4111610089578063ac3c457311610063578063ac3c457314610541578063dd62ed3e1461056b578063e54f4faa146105a7578063f2fde38b146105d15761018b565b806395d89b411461049f578063a457c2d7146104c9578063a9059cbb146105055761018b565b8063578878b4146103bd57806370a08231146103e5578063715018a61461042157806372fbf58a146104375780638da5cb5b1461045f57806394e53d36146104895761018b565b8063313ce5671161013d5780634be55d1f116101175780634be55d1f1461032b57806354c35c281461035357806354cf2aeb1461037d5780635564ad71146103a75761018b565b8063313ce5671461029b57806339509351146102c557806341275358146103015761018b565b806306fdde031461018f578063095ea7b3146101b957806318160ddd146101f557806323b872dd1461021f578063296914481461025b5780632c08b75a146102715761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a36105f9565b6040516101b091906121d5565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190612286565b610689565b6040516101ec91906122de565b60405180910390f35b348015610200575f80fd5b506102096106ab565b6040516102169190612306565b60405180910390f35b34801561022a575f80fd5b506102456004803603810190610240919061231f565b6106b4565b60405161025291906122de565b60405180910390f35b348015610266575f80fd5b5061026f6106e2565b005b34801561027c575f80fd5b50610285610919565b604051610292919061237e565b60405180910390f35b3480156102a6575f80fd5b506102af61093e565b6040516102bc91906123b2565b60405180910390f35b3480156102d0575f80fd5b506102eb60048036038101906102e69190612286565b610946565b6040516102f891906122de565b60405180910390f35b34801561030c575f80fd5b506103156109eb565b604051610322919061237e565b60405180910390f35b348015610336575f80fd5b50610351600480360381019061034c9190612406565b610a0f565b005b34801561035e575f80fd5b50610367610b99565b6040516103749190612306565b60405180910390f35b348015610388575f80fd5b50610391610b9f565b60405161039e9190612306565b60405180910390f35b3480156103b2575f80fd5b506103bb610ba5565b005b3480156103c8575f80fd5b506103e360048036038101906103de9190612431565b610c2a565b005b3480156103f0575f80fd5b5061040b6004803603810190610406919061245c565b610daa565b6040516104189190612306565b60405180910390f35b34801561042c575f80fd5b50610435610def565b005b348015610442575f80fd5b5061045d60048036038101906104589190612487565b610e76565b005b34801561046a575f80fd5b50610473610f55565b604051610480919061237e565b60405180910390f35b348015610494575f80fd5b5061049d610f7d565b005b3480156104aa575f80fd5b506104b3611057565b6040516104c091906121d5565b60405180910390f35b3480156104d4575f80fd5b506104ef60048036038101906104ea9190612286565b6110e7565b6040516104fc91906122de565b60405180910390f35b348015610510575f80fd5b5061052b60048036038101906105269190612286565b6111cb565b60405161053891906122de565b60405180910390f35b34801561054c575f80fd5b506105556111ed565b6040516105629190612306565b60405180910390f35b348015610576575f80fd5b50610591600480360381019061058c91906124c5565b6111f3565b60405161059e9190612306565b60405180910390f35b3480156105b2575f80fd5b506105bb611275565b6040516105c89190612306565b60405180910390f35b3480156105dc575f80fd5b506105f760048036038101906105f2919061245c565b61127b565b005b60606003805461060890612530565b80601f016020809104026020016040519081016040528092919081815260200182805461063490612530565b801561067f5780601f106106565761010080835404028352916020019161067f565b820191905f5260205f20905b81548152906001019060200180831161066257829003601f168201915b5050505050905090565b5f80610693611371565b90506106a0818585611378565b600191505092915050565b5f600254905090565b5f806106be611371565b90506106cb85828561153b565b6106d68585856115c6565b60019150509392505050565b6106ea611371565b73ffffffffffffffffffffffffffffffffffffffff16610708610f55565b73ffffffffffffffffffffffffffffffffffffffff161461075e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610755906125aa565b60405180910390fd5b734752ba5dbc23f44d87826276bf6fd6b1c372ad2473ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107df91906125dc565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530734752ba5dbc23f44d87826276bf6fd6b1c372ad2473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610858573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087c91906125dc565b6040518363ffffffff1660e01b8152600401610899929190612607565b602060405180830381865afa1580156108b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d891906125dc565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012905090565b5f80610950611371565b90506109e081858560015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109db919061265b565b611378565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a9b5750610a6c610f55565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610aa3575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610af9919061237e565b602060405180830381865afa158015610b14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3891906126a2565b6040518363ffffffff1660e01b8152600401610b559291906126cd565b6020604051808303815f875af1158015610b71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b95919061271e565b5050565b600a5481565b60095481565b610bad611371565b73ffffffffffffffffffffffffffffffffffffffff16610bcb610f55565b73ffffffffffffffffffffffffffffffffffffffff1614610c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c18906125aa565b60405180910390fd5b5f600781905550565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610cb65750610c87610f55565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610cbe575f80fd5b610cee620186a0610ce06001610cd26106ab565b611a6690919063ffffffff16565b611a7b90919063ffffffff16565b811015610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d27906127b9565b60405180910390fd5b610d5e6064610d506002610d426106ab565b611a6690919063ffffffff16565b611a7b90919063ffffffff16565b811115610da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9790612847565b60405180910390fd5b8060088190555050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610df7611371565b73ffffffffffffffffffffffffffffffffffffffff16610e15610f55565b73ffffffffffffffffffffffffffffffffffffffff1614610e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e62906125aa565b60405180910390fd5b610e745f611a90565b565b610e7e611371565b73ffffffffffffffffffffffffffffffffffffffff16610e9c610f55565b73ffffffffffffffffffffffffffffffffffffffff1614610ef2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee9906125aa565b60405180910390fd5b600a8211158015610f045750601e8111155b610f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3a906128d5565b60405180910390fd5b8160098190555080600a819055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110095750610fda610f55565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611011575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611054573d5f803e3d5ffd5b50565b60606004805461106690612530565b80601f016020809104026020016040519081016040528092919081815260200182805461109290612530565b80156110dd5780601f106110b4576101008083540402835291602001916110dd565b820191905f5260205f20905b8154815290600101906020018083116110c057829003601f168201915b5050505050905090565b5f806110f1611371565b90505f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050838110156111b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a990612963565b60405180910390fd5b6111bf8286868403611378565b60019250505092915050565b5f806111d5611371565b90506111e28185856115c6565b600191505092915050565b60085481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60075481565b611283611371565b73ffffffffffffffffffffffffffffffffffffffff166112a1610f55565b73ffffffffffffffffffffffffffffffffffffffff16146112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee906125aa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135c906129f1565b60405180910390fd5b61136e81611a90565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dd90612a7f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144b90612b0d565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161152e9190612306565b60405180910390a3505050565b5f61154684846111f3565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146115c057818110156115b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a990612b75565b60405180910390fd5b6115bf8484848403611378565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162b90612c03565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169990612c91565b60405180910390fd5b5f81116116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116db90612d1f565b60405180910390fd5b5f600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806117805750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415806117db5750805b61181a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181190612d87565b60405180910390fd5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16149050811580156118cf57505f600754115b80156118d9575082155b1561193757600754846118eb87610daa565b6118f5919061265b565b1115611936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192d90612e3b565b60405180910390fd5b5b60085461194330610daa565b1015801561195d5750600b5f9054906101000a900460ff16155b80156119665750815b8015611970575082155b156119b1576001600b5f6101000a81548160ff021916908315150217905550611997611b53565b5f600b5f6101000a81548160ff0219169083151502179055505b5f816119bf57600a546119c3565b6009545b90505f811115611a5257831580156119e75750600b5f9054906101000a900460ff16155b80156119f8575081806119f75750825b5b15611a51575f611a246064611a168489611a6690919063ffffffff16565b611a7b90919063ffffffff16565b90505f811115611a3a57611a39883083611ed1565b5b611a4d818761214690919063ffffffff16565b9550505b5b611a5d878787611ed1565b50505050505050565b5f8183611a739190612e59565b905092915050565b5f8183611a889190612ec7565b905092915050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f611b5d30610daa565b90505f8103611b6c5750611ecf565b600854811115611b7c5760085490505b5f4790505f600267ffffffffffffffff811115611b9c57611b9b612ef7565b5b604051908082528060200260200182016040528015611bca5781602001602082028036833780820191505090505b50905030815f81518110611be157611be0612f24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050734752ba5dbc23f44d87826276bf6fd6b1c372ad2473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c9c91906125dc565b81600181518110611cb057611caf612f24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d0930734752ba5dbc23f44d87826276bf6fd6b1c372ad2485611378565b734752ba5dbc23f44d87826276bf6fd6b1c372ad2473ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8430426040518663ffffffff1660e01b8152600401611d5e95949392919061304a565b5f604051808303815f87803b158015611d75575f80fd5b505af1158015611d87573d5f803e3d5ffd5b505050505f611d9f834761214690919063ffffffff16565b90505f611dc96064611dbb600185611a6690919063ffffffff16565b611a7b90919063ffffffff16565b9050611dde818361214690919063ffffffff16565b91507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015611e43573d5f803e3d5ffd5b5073beeb5671c9cc8502d38b12beed41cb16375b867a73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e9b573d5f803e3d5ffd5b50807f1cfca31204cc745553128283c3bd97acb07e803bd611f352db637c644eb59b8760405160405180910390a250505050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3690613112565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa4906131a0565b60405180910390fd5b611fb883838361215b565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561203b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120329061322e565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546120c9919061265b565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161212d9190612306565b60405180910390a3612140848484612160565b50505050565b5f8183612153919061324c565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6121a782612165565b6121b1818561216f565b93506121c181856020860161217f565b6121ca8161218d565b840191505092915050565b5f6020820190508181035f8301526121ed818461219d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612222826121f9565b9050919050565b61223281612218565b811461223c575f80fd5b50565b5f8135905061224d81612229565b92915050565b5f819050919050565b61226581612253565b811461226f575f80fd5b50565b5f813590506122808161225c565b92915050565b5f806040838503121561229c5761229b6121f5565b5b5f6122a98582860161223f565b92505060206122ba85828601612272565b9150509250929050565b5f8115159050919050565b6122d8816122c4565b82525050565b5f6020820190506122f15f8301846122cf565b92915050565b61230081612253565b82525050565b5f6020820190506123195f8301846122f7565b92915050565b5f805f60608486031215612336576123356121f5565b5b5f6123438682870161223f565b93505060206123548682870161223f565b925050604061236586828701612272565b9150509250925092565b61237881612218565b82525050565b5f6020820190506123915f83018461236f565b92915050565b5f60ff82169050919050565b6123ac81612397565b82525050565b5f6020820190506123c55f8301846123a3565b92915050565b5f6123d582612218565b9050919050565b6123e5816123cb565b81146123ef575f80fd5b50565b5f81359050612400816123dc565b92915050565b5f6020828403121561241b5761241a6121f5565b5b5f612428848285016123f2565b91505092915050565b5f60208284031215612446576124456121f5565b5b5f61245384828501612272565b91505092915050565b5f60208284031215612471576124706121f5565b5b5f61247e8482850161223f565b91505092915050565b5f806040838503121561249d5761249c6121f5565b5b5f6124aa85828601612272565b92505060206124bb85828601612272565b9150509250929050565b5f80604083850312156124db576124da6121f5565b5b5f6124e88582860161223f565b92505060206124f98582860161223f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061254757607f821691505b60208210810361255a57612559612503565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61259460208361216f565b915061259f82612560565b602082019050919050565b5f6020820190508181035f8301526125c181612588565b9050919050565b5f815190506125d681612229565b92915050565b5f602082840312156125f1576125f06121f5565b5b5f6125fe848285016125c8565b91505092915050565b5f60408201905061261a5f83018561236f565b612627602083018461236f565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61266582612253565b915061267083612253565b92508282019050808211156126885761268761262e565b5b92915050565b5f8151905061269c8161225c565b92915050565b5f602082840312156126b7576126b66121f5565b5b5f6126c48482850161268e565b91505092915050565b5f6040820190506126e05f83018561236f565b6126ed60208301846122f7565b9392505050565b6126fd816122c4565b8114612707575f80fd5b50565b5f81519050612718816126f4565b92915050565b5f60208284031215612733576127326121f5565b5b5f6127408482850161270a565b91505092915050565b7f53776170207468726573686f6c642063616e6e6f74206265206c6f77657220745f8201527f68616e20302e3030312520746f74616c20737570706c792e0000000000000000602082015250565b5f6127a360388361216f565b91506127ae82612749565b604082019050919050565b5f6020820190508181035f8301526127d081612797565b9050919050565b7f53776170207468726573686f6c642063616e6e6f7420626520686967686572205f8201527f7468616e20322520746f74616c20737570706c792e0000000000000000000000602082015250565b5f61283160358361216f565b915061283c826127d7565b604082019050919050565b5f6020820190508181035f83015261285e81612825565b9050919050565b7f417474656d7074696e6720746f207365742066656520686967686572207468615f8201527f6e20696e697469616c206665652e000000000000000000000000000000000000602082015250565b5f6128bf602e8361216f565b91506128ca82612865565b604082019050919050565b5f6020820190508181035f8301526128ec816128b3565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61294d60258361216f565b9150612958826128f3565b604082019050919050565b5f6020820190508181035f83015261297a81612941565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6129db60268361216f565b91506129e682612981565b604082019050919050565b5f6020820190508181035f830152612a08816129cf565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a6960248361216f565b9150612a7482612a0f565b604082019050919050565b5f6020820190508181035f830152612a9681612a5d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612af760228361216f565b9150612b0282612a9d565b604082019050919050565b5f6020820190508181035f830152612b2481612aeb565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612b5f601d8361216f565b9150612b6a82612b2b565b602082019050919050565b5f6020820190508181035f830152612b8c81612b53565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f2061646472657373206e5f8201527f6f7420616c6c6f7765642e000000000000000000000000000000000000000000602082015250565b5f612bed602b8361216f565b9150612bf882612b93565b604082019050919050565b5f6020820190508181035f830152612c1a81612be1565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373206e6f745f8201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000602082015250565b5f612c7b60298361216f565b9150612c8682612c21565b604082019050919050565b5f6020820190508181035f830152612ca881612c6f565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f2e00000000000000000000000000000000000000000000602082015250565b5f612d09602a8361216f565b9150612d1482612caf565b604082019050919050565b5f6020820190508181035f830152612d3681612cfd565b9050919050565b7f4c69717569646974792070616972206e6f742079657420637265617465642e005f82015250565b5f612d71601f8361216f565b9150612d7c82612d3d565b602082019050919050565b5f6020820190508181035f830152612d9e81612d65565b9050919050565b7f42616c616e63652065786365656473206d617820686f6c64696e677320616d6f5f8201527f756e742c20636f6e7369646572207573696e672061207365636f6e642077616c60208201527f6c65742e00000000000000000000000000000000000000000000000000000000604082015250565b5f612e2560448361216f565b9150612e3082612da5565b606082019050919050565b5f6020820190508181035f830152612e5281612e19565b9050919050565b5f612e6382612253565b9150612e6e83612253565b9250828202612e7c81612253565b91508282048414831517612e9357612e9261262e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ed182612253565b9150612edc83612253565b925082612eec57612eeb612e9a565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f612f7d612f78612f7384612f51565b612f5a565b612253565b9050919050565b612f8d81612f63565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612fc581612218565b82525050565b5f612fd68383612fbc565b60208301905092915050565b5f602082019050919050565b5f612ff882612f93565b6130028185612f9d565b935061300d83612fad565b805f5b8381101561303d5781516130248882612fcb565b975061302f83612fe2565b925050600181019050613010565b5085935050505092915050565b5f60a08201905061305d5f8301886122f7565b61306a6020830187612f84565b818103604083015261307c8186612fee565b905061308b606083018561236f565b61309860808301846122f7565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6130fc60258361216f565b9150613107826130a2565b604082019050919050565b5f6020820190508181035f830152613129816130f0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61318a60238361216f565b915061319582613130565b604082019050919050565b5f6020820190508181035f8301526131b78161317e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61321860268361216f565b9150613223826131be565b604082019050919050565b5f6020820190508181035f8301526132458161320c565b9050919050565b5f61325682612253565b915061326183612253565b92508282039050818111156132795761327861262e565b5b9291505056fea2646970667358221220401a2886f566e26961d59512f66ced0299ea5482693a51eef0bdf03a5ec2e56a64736f6c634300081a0033