[ { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AlreadyExists", "type": "error" }, { "inputs": [], "name": "InvalidOwner", "type": "error" }, { "inputs": [], "name": "InvalidRecipient", "type": "error" }, { "inputs": [], "name": "InvalidSender", "type": "error" }, { "inputs": [], "name": "NotFound", "type": "error" }, { "inputs": [], "name": "Unauthorized", "type": "error" }, { "inputs": [], "name": "UnsafeRecipient", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "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": "amount", "type": "uint256" } ], "name": "ERC20Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ERC721Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "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": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amountOrId", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "availableIds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseTokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" } ], "name": "contractNFTBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" } ], "name": "contractTokenBalance", "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": "_contract", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "enoughTokenBalance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minted", "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": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "revokeOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_baseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_paused", "type": "bool" } ], "name": "setPaused", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_whaleLimiter", "type": "bool" } ], "name": "setWhaleLimiter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bool", "name": "state", "type": "bool" } ], "name": "setWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAvailableIds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "totalNFTsOwned", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalNativeSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "_owner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "whaleLimiter", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
60e060405234801562000010575f80fd5b5060405162004d7638038062004d76833981810160405281019062000036919062000379565b6040518060400160405280600481526020017f57494e45000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f57494e450000000000000000000000000000000000000000000000000000000081525060126107d084805f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200010f576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508460019081620001ba91906200060d565b508360029081620001cc91906200060d565b508260ff1660808160ff16815250508160c08181525050608051600a620001f491906200087a565b82620002019190620008ca565b60a081815250505050505050686c6b935b8bbd40000060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600f5f6101000a81548160ff0219169083151502179055506001600f60016101000a81548160ff02191690831515021790555060405180608001604052806043815260200162004d3360439139600e90816200030c91906200060d565b505062000914565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620003438262000318565b9050919050565b620003558162000337565b811462000360575f80fd5b50565b5f8151905062000373816200034a565b92915050565b5f6020828403121562000391576200039062000314565b5b5f620003a08482850162000363565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200042557607f821691505b6020821081036200043b576200043a620003e0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200049f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000462565b620004ab868362000462565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004f5620004ef620004e984620004c3565b620004cc565b620004c3565b9050919050565b5f819050919050565b6200051083620004d5565b620005286200051f82620004fc565b8484546200046e565b825550505050565b5f90565b6200053e62000530565b6200054b81848462000505565b505050565b5b818110156200057257620005665f8262000534565b60018101905062000551565b5050565b601f821115620005c1576200058b8162000441565b620005968462000453565b81016020851015620005a6578190505b620005be620005b58562000453565b83018262000550565b50505b505050565b5f82821c905092915050565b5f620005e35f1984600802620005c6565b1980831691505092915050565b5f620005fd8383620005d2565b9150826002028217905092915050565b6200061882620003a9565b67ffffffffffffffff811115620006345762000633620003b3565b5b6200064082546200040d565b6200064d82828562000576565b5f60209050601f83116001811462000683575f84156200066e578287015190505b6200067a8582620005f0565b865550620006e9565b601f198416620006938662000441565b5f5b82811015620006bc5784890151825560018201915060208501945060208101905062000695565b86831015620006dc5784890151620006d8601f891682620005d2565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200077b57808604811115620007535762000752620006f1565b5b6001851615620007635780820291505b808102905062000773856200071e565b945062000733565b94509492505050565b5f8262000795576001905062000867565b81620007a4575f905062000867565b8160018114620007bd5760028114620007c857620007fe565b600191505062000867565b60ff841115620007dd57620007dc620006f1565b5b8360020a915084821115620007f757620007f6620006f1565b5b5062000867565b5060208310610133831016604e8410600b8410161715620008385782820a905083811115620008325762000831620006f1565b5b62000867565b6200084784848460016200072a565b92509050818404811115620008615762000860620006f1565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200088682620004c3565b915062000893836200086e565b9250620008c27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000784565b905092915050565b5f620008d682620004c3565b9150620008e383620004c3565b9250828202620008f381620004c3565b915082820484148315176200090d576200090c620006f1565b5b5092915050565b60805160a05160c0516143df620009545f395f818161143201526129b401525f8181610c85015261259901525f8181610ffc0152611bc101526143df5ff3fe608060405234801561000f575f80fd5b506004361061021a575f3560e01c806370a0823111610123578063c87b56dd116100ab578063dd62ed3e1161007a578063dd62ed3e1461068a578063e985e9c5146106ba578063ef1f3ebb146106ea578063f2fde38b1461071a578063f34779cb146107365761021a565b8063c87b56dd146105dc578063d528d1181461060c578063d547cfb71461063c578063d9adc1911461065a5761021a565b806395d89b41116100f257806395d89b41146105265780639b19251a14610544578063a22cb46514610574578063a9059cbb14610590578063b88d4fde146105c05761021a565b806370a082311461049c57806381456f48146104cc5780638c983bfb146104ea5780638da5cb5b146105085761021a565b80632b968958116101a657806353d6fd591161017557806353d6fd59146103e657806355f804b3146104025780635c975abb1461041e5780636352211e1461043c57806366e3e5e41461046c5761021a565b80632b96895814610384578063313ce5671461038e57806342842e0e146103ac5780634f02c420146103c85761021a565b8063095ea7b3116101ed578063095ea7b3146102ba57806316c38b3c146102ea57806318160ddd146103065780631ae243661461032457806323b872dd146103545761021a565b806301ffc9a71461021e57806304bdc76b1461024e57806306fdde031461026c578063081812fc1461028a575b5f80fd5b61023860048036038101906102339190613278565b610752565b60405161024591906132bd565b60405180910390f35b610256610833565b60405161026391906132ee565b60405180910390f35b61027461083f565b6040516102819190613391565b60405180910390f35b6102a4600480360381019061029f91906133db565b6108cb565b6040516102b19190613445565b60405180910390f35b6102d460048036038101906102cf9190613488565b6108fb565b6040516102e191906132bd565b60405180910390f35b61030460048036038101906102ff91906134f0565b610be2565b005b61030e610c83565b60405161031b91906132ee565b60405180910390f35b61033e60048036038101906103399190613488565b610ca7565b60405161034b91906132bd565b60405180910390f35b61036e6004803603810190610369919061351b565b610d53565b60405161037b91906132bd565b60405180910390f35b61038c610edb565b005b610396610ffa565b6040516103a39190613586565b60405180910390f35b6103c660048036038101906103c1919061351b565b61101e565b005b6103d061114e565b6040516103dd91906132ee565b60405180910390f35b61040060048036038101906103fb919061359f565b611154565b005b61041c60048036038101906104179190613709565b611230565b005b6104266112c7565b60405161043391906132bd565b60405180910390f35b610456600480360381019061045191906133db565b6112da565b6040516104639190613445565b60405180910390f35b61048660048036038101906104819190613750565b611378565b60405161049391906132ee565b60405180910390f35b6104b660048036038101906104b19190613750565b61141b565b6040516104c391906132ee565b60405180910390f35b6104d4611430565b6040516104e191906132ee565b60405180910390f35b6104f2611454565b6040516104ff91906132bd565b60405180910390f35b610510611466565b60405161051d9190613445565b60405180910390f35b61052e611489565b60405161053b9190613391565b60405180910390f35b61055e60048036038101906105599190613750565b611515565b60405161056b91906132bd565b60405180910390f35b61058e6004803603810190610589919061359f565b611532565b005b6105aa60048036038101906105a59190613488565b61162a565b6040516105b791906132bd565b60405180910390f35b6105da60048036038101906105d591906137d8565b61163e565b005b6105f660048036038101906105f191906133db565b611774565b6040516106039190613391565b60405180910390f35b610626600480360381019061062191906133db565b6117a8565b60405161063391906132ee565b60405180910390f35b6106446117c8565b6040516106519190613391565b60405180910390f35b610674600480360381019061066f9190613750565b611854565b60405161068191906132ee565b60405180910390f35b6106a4600480360381019061069f919061385c565b61189d565b6040516106b191906132ee565b60405180910390f35b6106d460048036038101906106cf919061385c565b6118bd565b6040516106e191906132bd565b60405180910390f35b61070460048036038101906106ff9190613750565b6118e7565b60405161071191906132ee565b60405180910390f35b610734600480360381019061072f9190613750565b611930565b005b610750600480360381019061074b91906134f0565b611ab5565b005b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061081c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061082c575061082b82611b55565b5b9050919050565b5f600d80549050905090565b6001805461084c906138c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906138c7565b80156108c35780601f1061089a576101008083540402835291602001916108c3565b820191905f5260205f20905b8154815290600101906020018083116108a657829003601f168201915b505050505081565b6006602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600354821115801561090d57505f82115b15610af5575f60085f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610a04575060075f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15610a3b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8360065f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051610ae791906132ee565b60405180910390a350610bd8565b8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bcf91906132ee565b60405180910390a35b6001905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600f60016101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f80610cb1611bbe565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050610cfc9190613924565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d449190613965565b90508281101591505092915050565b5f8060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0a906139e2565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ec3578281610e469190613965565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b610ece858585611bf1565b5060019150509392505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f5f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3565b7f000000000000000000000000000000000000000000000000000000000000000081565b61102a33848484611fb7565b5f8273ffffffffffffffffffffffffffffffffffffffff163b14158015611112575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168273ffffffffffffffffffffffffffffffffffffffff1663150b7a023386856040518463ffffffff1660e01b81526004016110b093929190613a33565b6020604051808303815f875af11580156110cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f09190613a8f565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614155b15611149576040517f3da6393100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60035481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111d8576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112b4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600e90816112c39190613c57565b5050565b600f60019054906101000a900460ff1681565b5f60085f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611373576040517fc5723b5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b5f611381611bbe565b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490506113cc9190613924565b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114149190613965565b9050919050565b6004602052805f5260405f205f915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600f5f9054906101000a900460ff1681565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054611496906138c7565b80601f01602080910402602001604051908101604052809291908181526020018280546114c2906138c7565b801561150d5780601f106114e45761010080835404028352916020019161150d565b820191905f5260205f20905b8154815290600101906020018083116114f057829003601f168201915b505050505081565b600c602052805f5260405f205f915054906101000a900460ff1681565b8060075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161161e91906132bd565b60405180910390a35050565b5f611636338484611bf1565b905092915050565b61164a33868686611fb7565b5f8473ffffffffffffffffffffffffffffffffffffffff163b14158015611736575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663150b7a0233888787876040518663ffffffff1660e01b81526004016116d4959493929190613d52565b6020604051808303815f875af11580156116f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117149190613a8f565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614155b1561176d576040517f3da6393100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b6060600e611781836123af565b604051602001611792929190613e58565b6040516020818303038152906040529050919050565b600d81815481106117b7575f80fd5b905f5260205f20015f915090505481565b600e80546117d5906138c7565b80601f0160208091040260200160405190810160405280929190818152602001828054611801906138c7565b801561184c5780601f106118235761010080835404028352916020019161184c565b820191905f5260205f20905b81548152906001019060200180831161182f57829003601f168201915b505050505081565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490509050919050565b6005602052815f5260405f20602052805f5260405f205f91509150505481565b6007602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490509050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119b4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a19576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b39576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600f5f6101000a81548160ff02191690831515021790555050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f7f0000000000000000000000000000000000000000000000000000000000000000600a611bec9190613faa565b905090565b5f611bfd848484612479565b5f611c06611bbe565b90505f60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050611c9387612658565b15611d37575f83600a5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050611ce59190613924565b83611cf09190613965565b905085811015611d35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2c9061403e565b60405180910390fd5b505b8460045f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d839190613965565b925050819055508460045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282540192505081905550611ddd87612662565b1580611e2857505f60095f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050115b15611eb2575f8360045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e779190614089565b8484611e839190614089565b611e8d9190613965565b90505f5b81811015611eaf57611ea2896126c4565b8080600101915050611e91565b50505b611ebb86612662565b611f44575f8382611ecc9190614089565b8460045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f159190614089565b611f1f9190613965565b90505f5b81811015611f4157611f348861292f565b8080600101915050611f23565b50505b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e03148787604051611fa191906132ee565b60405180910390a3600193505050509392505050565b60085f8281526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204c90614103565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ba9061416b565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061217e575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806121e4575060065f8281526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b612223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221a906141d3565b60405180910390fd5b61222b611bbe565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546122769190613965565b92505081905550612285611bbe565b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055506122d88382612b75565b6122e28282612ecf565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487612394611bbe565b6040516123a191906132ee565b60405180910390a350505050565b60605f60016123bd846130bc565b0190505f8167ffffffffffffffff8111156123db576123da6135e5565b5b6040519080825280601f01601f19166020018201604052801561240d5781602001600182028036833780820191505090505b5090505f82602001820190505b60011561246e578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816124635761246261405c565b5b0494505f850361241a575b819350505050919050565b61248483838361320d565b600f60019054906101000a900460ff1615612580575f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061253c57505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61257b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125729061423b565b60405180910390fd5b612653565b600f5f9054906101000a900460ff1615612652576103e87f000000000000000000000000000000000000000000000000000000000000000060056125c49190613924565b6125ce9190614089565b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054111561264d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612644906142a3565b60405180910390fd5b612653565b5b505050565b5f813b9050919050565b5f600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806126bd57506126bc82612658565b5b9050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612729576040517fddb5de5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600160095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490506127b49190613965565b815481106127c5576127c46142c1565b5b905f5260205f200154905060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080548061281d5761281c6142ee565b5b600190038181905f5260205f20015f90559055600b5f8281526020019081526020015f205f905560085f8281526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560065f8281526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600d81908060018154018082558091505060019003905f5260205f20015f9091909190915055805f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612994576040517f9c8d2cd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80600d8054905003612a215760035f81548092919060010191905055507f00000000000000000000000000000000000000000000000000000000000000006003541115612a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0e9061438b565b60405180910390fd5b6003549050612a77565b600d6001600d80549050612a359190613965565b81548110612a4657612a456142c1565b5b905f5260205f2001549050600d805480612a6357612a626142ee565b5b600190038181905f5260205f20015f905590555b5f73ffffffffffffffffffffffffffffffffffffffff1660085f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b0c576040517f23369fa600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b168282612ecf565b808273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b5f612b7f83612658565b15612cfc57600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050612c0e9190613965565b81548110612c1f57612c1e6142c1565b5b905f5260205f200154905080600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600b5f8581526020019081526020015f205481548110612c8b57612c8a6142c1565b5b905f5260205f200181905550600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480612ce457612ce36142ee565b5b600190038181905f5260205f20015f90559055612e70565b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050612d869190613965565b81548110612d9757612d966142c1565b5b905f5260205f20015490508060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600b5f8581526020019081526020015f205481548110612e0357612e026142c1565b5b905f5260205f20018190555060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480612e5c57612e5b6142ee565b5b600190038181905f5260205f20015f905590555b600b5f8381526020019081526020015f2054600b5f8381526020019081526020015f208190555060065f8381526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055505050565b8160085f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612f2782612658565b15612ff457600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f90919091909150556001600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050612fda9190613965565b600b5f8381526020019081526020015f20819055506130b8565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f9091909190915055600160095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490506130a29190613965565b600b5f8381526020019081526020015f20819055505b5050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613118577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161310e5761310d61405c565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310613155576d04ee2d6d415b85acef8100000000838161314b5761314a61405c565b5b0492506020810190505b662386f26fc10000831061318457662386f26fc10000838161317a5761317961405c565b5b0492506010810190505b6305f5e10083106131ad576305f5e10083816131a3576131a261405c565b5b0492506008810190505b61271083106131d25761271083816131c8576131c761405c565b5b0492506004810190505b606483106131f557606483816131eb576131ea61405c565b5b0492506002810190505b600a8310613204576001810190505b80915050919050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61325781613223565b8114613261575f80fd5b50565b5f813590506132728161324e565b92915050565b5f6020828403121561328d5761328c61321b565b5b5f61329a84828501613264565b91505092915050565b5f8115159050919050565b6132b7816132a3565b82525050565b5f6020820190506132d05f8301846132ae565b92915050565b5f819050919050565b6132e8816132d6565b82525050565b5f6020820190506133015f8301846132df565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561333e578082015181840152602081019050613323565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61336382613307565b61336d8185613311565b935061337d818560208601613321565b61338681613349565b840191505092915050565b5f6020820190508181035f8301526133a98184613359565b905092915050565b6133ba816132d6565b81146133c4575f80fd5b50565b5f813590506133d5816133b1565b92915050565b5f602082840312156133f0576133ef61321b565b5b5f6133fd848285016133c7565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61342f82613406565b9050919050565b61343f81613425565b82525050565b5f6020820190506134585f830184613436565b92915050565b61346781613425565b8114613471575f80fd5b50565b5f813590506134828161345e565b92915050565b5f806040838503121561349e5761349d61321b565b5b5f6134ab85828601613474565b92505060206134bc858286016133c7565b9150509250929050565b6134cf816132a3565b81146134d9575f80fd5b50565b5f813590506134ea816134c6565b92915050565b5f602082840312156135055761350461321b565b5b5f613512848285016134dc565b91505092915050565b5f805f606084860312156135325761353161321b565b5b5f61353f86828701613474565b935050602061355086828701613474565b9250506040613561868287016133c7565b9150509250925092565b5f60ff82169050919050565b6135808161356b565b82525050565b5f6020820190506135995f830184613577565b92915050565b5f80604083850312156135b5576135b461321b565b5b5f6135c285828601613474565b92505060206135d3858286016134dc565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61361b82613349565b810181811067ffffffffffffffff8211171561363a576136396135e5565b5b80604052505050565b5f61364c613212565b90506136588282613612565b919050565b5f67ffffffffffffffff821115613677576136766135e5565b5b61368082613349565b9050602081019050919050565b828183375f83830152505050565b5f6136ad6136a88461365d565b613643565b9050828152602081018484840111156136c9576136c86135e1565b5b6136d484828561368d565b509392505050565b5f82601f8301126136f0576136ef6135dd565b5b813561370084826020860161369b565b91505092915050565b5f6020828403121561371e5761371d61321b565b5b5f82013567ffffffffffffffff81111561373b5761373a61321f565b5b613747848285016136dc565b91505092915050565b5f602082840312156137655761376461321b565b5b5f61377284828501613474565b91505092915050565b5f80fd5b5f80fd5b5f8083601f840112613798576137976135dd565b5b8235905067ffffffffffffffff8111156137b5576137b461377b565b5b6020830191508360018202830111156137d1576137d061377f565b5b9250929050565b5f805f805f608086880312156137f1576137f061321b565b5b5f6137fe88828901613474565b955050602061380f88828901613474565b9450506040613820888289016133c7565b935050606086013567ffffffffffffffff8111156138415761384061321f565b5b61384d88828901613783565b92509250509295509295909350565b5f80604083850312156138725761387161321b565b5b5f61387f85828601613474565b925050602061389085828601613474565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806138de57607f821691505b6020821081036138f1576138f061389a565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61392e826132d6565b9150613939836132d6565b9250828202613947816132d6565b9150828204841483151761395e5761395d6138f7565b5b5092915050565b5f61396f826132d6565b915061397a836132d6565b9250828203905081811115613992576139916138f7565b5b92915050565b7f4e6f7420656e6f75676820616c6c6f77616e63652e00000000000000000000005f82015250565b5f6139cc601583613311565b91506139d782613998565b602082019050919050565b5f6020820190508181035f8301526139f9816139c0565b9050919050565b5f82825260208201905092915050565b50565b5f613a1e5f83613a00565b9150613a2982613a10565b5f82019050919050565b5f608082019050613a465f830186613436565b613a536020830185613436565b613a6060408301846132df565b8181036060830152613a7181613a13565b9050949350505050565b5f81519050613a898161324e565b92915050565b5f60208284031215613aa457613aa361321b565b5b5f613ab184828501613a7b565b91505092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302613b167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613adb565b613b208683613adb565b95508019841693508086168417925050509392505050565b5f819050919050565b5f613b5b613b56613b51846132d6565b613b38565b6132d6565b9050919050565b5f819050919050565b613b7483613b41565b613b88613b8082613b62565b848454613ae7565b825550505050565b5f90565b613b9c613b90565b613ba7818484613b6b565b505050565b5b81811015613bca57613bbf5f82613b94565b600181019050613bad565b5050565b601f821115613c0f57613be081613aba565b613be984613acc565b81016020851015613bf8578190505b613c0c613c0485613acc565b830182613bac565b50505b505050565b5f82821c905092915050565b5f613c2f5f1984600802613c14565b1980831691505092915050565b5f613c478383613c20565b9150826002028217905092915050565b613c6082613307565b67ffffffffffffffff811115613c7957613c786135e5565b5b613c8382546138c7565b613c8e828285613bce565b5f60209050601f831160018114613cbf575f8415613cad578287015190505b613cb78582613c3c565b865550613d1e565b601f198416613ccd86613aba565b5f5b82811015613cf457848901518255600182019150602085019450602081019050613ccf565b86831015613d115784890151613d0d601f891682613c20565b8355505b6001600288020188555050505b505050505050565b5f613d318385613a00565b9350613d3e83858461368d565b613d4783613349565b840190509392505050565b5f608082019050613d655f830188613436565b613d726020830187613436565b613d7f60408301866132df565b8181036060830152613d92818486613d26565b90509695505050505050565b5f81905092915050565b5f8154613db4816138c7565b613dbe8186613d9e565b9450600182165f8114613dd85760018114613ded57613e1f565b60ff1983168652811515820286019350613e1f565b613df685613aba565b5f5b83811015613e1757815481890152600182019150602081019050613df8565b838801955050505b50505092915050565b5f613e3282613307565b613e3c8185613d9e565b9350613e4c818560208601613321565b80840191505092915050565b5f613e638285613da8565b9150613e6f8284613e28565b91508190509392505050565b5f8160011c9050919050565b5f808291508390505b6001851115613ed057808604811115613eac57613eab6138f7565b5b6001851615613ebb5780820291505b8081029050613ec985613e7b565b9450613e90565b94509492505050565b5f82613ee85760019050613fa3565b81613ef5575f9050613fa3565b8160018114613f0b5760028114613f1557613f44565b6001915050613fa3565b60ff841115613f2757613f266138f7565b5b8360020a915084821115613f3e57613f3d6138f7565b5b50613fa3565b5060208310610133831016604e8410600b8410161715613f795782820a905083811115613f7457613f736138f7565b5b613fa3565b613f868484846001613e87565b92509050818404811115613f9d57613f9c6138f7565b5b81810290505b9392505050565b5f613fb4826132d6565b9150613fbf8361356b565b9250613fec7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613ed9565b905092915050565b7f4e6f7420656e6f75676820746f6b656e2062616c616e63652e000000000000005f82015250565b5f614028601983613311565b915061403382613ff4565b602082019050919050565b5f6020820190508181035f8301526140558161401c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614093826132d6565b915061409e836132d6565b9250826140ae576140ad61405c565b5b828204905092915050565b7f53656e646572206973206e6f74206f776e6572206f66204e46542e00000000005f82015250565b5f6140ed601b83613311565b91506140f8826140b9565b602082019050919050565b5f6020820190508181035f83015261411a816140e1565b9050919050565b7f43616e6e6f742073656e6420746f206e756c6c20616464726573732e000000005f82015250565b5f614155601c83613311565b915061416082614121565b602082019050919050565b5f6020820190508181035f83015261418281614149565b9050919050565b7f4f70657261746f72206973206e6f7420617070726f7665642e000000000000005f82015250565b5f6141bd601983613311565b91506141c882614189565b602082019050919050565b5f6020820190508181035f8301526141ea816141b1565b9050919050565b7f43616e6e6f74207472616e7366657220756e74696c20756e70617573656400005f82015250565b5f614225601e83613311565b9150614230826141f1565b602082019050919050565b5f6020820190508181035f83015261425281614219565b9050919050565b7f4e6f206d6f7265207468616e20302e352520617420746869732073746167652e5f82015250565b5f61428d602083613311565b915061429882614259565b602082019050919050565b5f6020820190508181035f8301526142ba81614281565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f43616e6e6f74206d696e74206d6f7265207468616e20676976656e20737570705f8201527f6c792e0000000000000000000000000000000000000000000000000000000000602082015250565b5f614375602383613311565b91506143808261431b565b604082019050919050565b5f6020820190508181035f8301526143a281614369565b905091905056fea264697066735822122070791da38f30cd57f7aaada5b8a3fa4c6edd19e8834200c337b976b6f5d76e0b64736f6c63430008180033697066733a2f2f62616679626569646d693776356337713362753261616b796d6437747a747973633537726a6f327536646e6c6f326f32793533656e6464706a6a6d2f00000000000000000000000051f8dbc645637f524742ec97162c768ea77cd87d