[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "string", "name": "_initBaseURI", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "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": "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": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxMintAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_mintAmount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "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": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "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": "tokenId", "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": "_newBaseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newCost", "type": "uint256" } ], "name": "setCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newmaxMintAmount", "type": "uint256" } ], "name": "setmaxMintAmount", "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": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "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": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "walletOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "payable", "type": "function" } ]
60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c90805190602001906200005192919062000f71565b506706f05b59d3b20000600d5561115c600e556019600f5560196010556000601160006101000a81548160ff0219169083151502179055503480156200009657600080fd5b5060405162005d9638038062005d968339818101604052810190620000bc9190620010d6565b82828160009080519060200190620000d692919062000f71565b508060019080519060200190620000ef92919062000f71565b50505062000112620001066200014060201b60201c565b6200014860201b60201c565b62000123816200020e60201b60201c565b6200013733601054620002b960201b60201c565b50505062001a85565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200021e6200014060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000244620004e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200029d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002949062001480565b60405180910390fd5b80600b9080519060200190620002b592919062000f71565b5050565b6000620002cb6200051060201b60201c565b9050601160009054906101000a900460ff161562000320576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200031790620014c4565b60405180910390fd5b6000821162000366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200035d90620014e6565b60405180910390fd5b600f54821115620003ae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003a590620013b4565b60405180910390fd5b600e548282620003bf919062001594565b111562000403576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003fa90620014a2565b60405180910390fd5b62000413620004e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146200049c5781600d54620004569190620015f1565b3410156200049b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000492906200143c565b60405180910390fd5b5b6000600190505b828111620004e057620004ca848284620004be919062001594565b6200051d60201b60201c565b8080620004d79062001799565b915050620004a3565b50505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600880549050905090565b6200053f8282604051806020016040528060008152506200054360201b60201c565b5050565b620005558383620005b160201b60201c565b6200056a60008484846200079760201b60201c565b620005ac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005a390620013d6565b60405180910390fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000624576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200061b906200145e565b60405180910390fd5b62000635816200095160201b60201c565b1562000678576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200066f90620013f8565b60405180910390fd5b6200068c60008383620009bd60201b60201c565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620006de919062001594565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000620007c58473ffffffffffffffffffffffffffffffffffffffff1662000b0460201b620017c91760201c565b1562000944578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02620007f76200014060201b60201c565b8786866040518563ffffffff1660e01b81526004016200081b949392919062001360565b602060405180830381600087803b1580156200083657600080fd5b505af19250505080156200086a57506040513d601f19601f82011682018060405250810190620008679190620010aa565b60015b620008f3573d80600081146200089d576040519150601f19603f3d011682016040523d82523d6000602084013e620008a2565b606091505b50600081511415620008eb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008e290620013d6565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505062000949565b600190505b949350505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b620009d583838362000b1760201b620017dc1760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141562000a225762000a1c8162000b1c60201b60201c565b62000a6a565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000a695762000a68838262000b6560201b60201c565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000ab75762000ab18162000ce260201b60201c565b62000aff565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000afe5762000afd828262000e2a60201b60201c565b5b5b505050565b600080823b905060008111915050919050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600162000b7f8462000eb660201b620012051760201c565b62000b8b919062001652565b905060006007600084815260200190815260200160002054905081811462000c71576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905062000cf8919062001652565b905060006009600084815260200190815260200160002054905060006008838154811062000d4f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050806008838154811062000d98577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548062000e0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b600062000e428362000eb660201b620012051760201c565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000f2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f21906200141a565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b82805462000f7f906200172d565b90600052602060002090601f01602090048101928262000fa3576000855562000fef565b82601f1062000fbe57805160ff191683800117855562000fef565b8280016001018555821562000fef579182015b8281111562000fee57825182559160200191906001019062000fd1565b5b50905062000ffe919062001002565b5090565b5b808211156200101d57600081600090555060010162001003565b5090565b600062001038620010328462001531565b62001508565b9050828152602081018484840111156200105157600080fd5b6200105e848285620016f7565b509392505050565b600081519050620010778162001a6b565b92915050565b600082601f8301126200108f57600080fd5b8151620010a184826020860162001021565b91505092915050565b600060208284031215620010bd57600080fd5b6000620010cd8482850162001066565b91505092915050565b600080600060608486031215620010ec57600080fd5b600084015167ffffffffffffffff8111156200110757600080fd5b62001115868287016200107d565b935050602084015167ffffffffffffffff8111156200113357600080fd5b62001141868287016200107d565b925050604084015167ffffffffffffffff8111156200115f57600080fd5b6200116d868287016200107d565b9150509250925092565b62001182816200168d565b82525050565b6000620011958262001567565b620011a1818562001572565b9350620011b3818560208601620016f7565b620011be8162001874565b840191505092915050565b6000620011d8601c8362001583565b9150620011e58262001885565b602082019050919050565b6000620011ff60328362001583565b91506200120c82620018ae565b604082019050919050565b600062001226601c8362001583565b91506200123382620018fd565b602082019050919050565b60006200124d602a8362001583565b91506200125a8262001926565b604082019050919050565b60006200127460108362001583565b9150620012818262001975565b602082019050919050565b60006200129b60208362001583565b9150620012a8826200199e565b602082019050919050565b6000620012c260208362001583565b9150620012cf82620019c7565b602082019050919050565b6000620012e960148362001583565b9150620012f682620019f0565b602082019050919050565b60006200131060118362001583565b91506200131d8262001a19565b602082019050919050565b60006200133760138362001583565b9150620013448262001a42565b602082019050919050565b6200135a81620016ed565b82525050565b600060808201905062001377600083018762001177565b62001386602083018662001177565b6200139560408301856200134f565b8181036060830152620013a9818462001188565b905095945050505050565b60006020820190508181036000830152620013cf81620011c9565b9050919050565b60006020820190508181036000830152620013f181620011f0565b9050919050565b60006020820190508181036000830152620014138162001217565b9050919050565b6000602082019050818103600083015262001435816200123e565b9050919050565b60006020820190508181036000830152620014578162001265565b9050919050565b6000602082019050818103600083015262001479816200128c565b9050919050565b600060208201905081810360008301526200149b81620012b3565b9050919050565b60006020820190508181036000830152620014bd81620012da565b9050919050565b60006020820190508181036000830152620014df8162001301565b9050919050565b60006020820190508181036000830152620015018162001328565b9050919050565b60006200151462001527565b905062001522828262001763565b919050565b6000604051905090565b600067ffffffffffffffff8211156200154f576200154e62001845565b5b6200155a8262001874565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000620015a182620016ed565b9150620015ae83620016ed565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620015e657620015e5620017e7565b5b828201905092915050565b6000620015fe82620016ed565b91506200160b83620016ed565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620016475762001646620017e7565b5b828202905092915050565b60006200165f82620016ed565b91506200166c83620016ed565b925082821015620016825762001681620017e7565b5b828203905092915050565b60006200169a82620016cd565b9050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562001717578082015181840152602081019050620016fa565b8381111562001727576000848401525b50505050565b600060028204905060018216806200174657607f821691505b602082108114156200175d576200175c62001816565b5b50919050565b6200176e8262001874565b810181811067ffffffffffffffff8211171562001790576200178f62001845565b5b80604052505050565b6000620017a682620016ed565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415620017dc57620017db620017e7565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4d696e74206e756d6265722065786365656473204d6178206d696e7400000000600082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f496e73756666696369656e742066656500000000000000000000000000000000600082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f416c6c204e4654277320617265206d696e746564000000000000000000000000600082015250565b7f4d696e74696e6720697320706175736564000000000000000000000000000000600082015250565b7f496e76616c6964206d696e7420616d6f756e7400000000000000000000000000600082015250565b62001a7681620016a1565b811462001a8257600080fd5b50565b6143018062001a956000396000f3fe6080604052600436106101d85760003560e01c80634f6ccce71161010257806395d89b4111610095578063c87b56dd11610064578063c87b56dd1461068e578063d5abeb01146106cb578063e985e9c5146106f6578063f2fde38b14610733576101d8565b806395d89b41146105e6578063a22cb46514610611578063b88d4fde1461063a578063c668286214610663576101d8565b806370a08231116100d157806370a082311461053e578063715018a61461057b5780637f00c7a6146105925780638da5cb5b146105bb576101d8565b80634f6ccce71461047057806355f804b3146104ad5780635c975abb146104d65780636352211e14610501576101d8565b8063239c70ae1161017a57806340c10f191161014957806340c10f19146103c557806342842e0e146103e1578063438b63001461040a57806344a0d68a14610447576101d8565b8063239c70ae1461032a57806323b872dd146103555780632f745c591461037e5780633ccfd60b146103bb576101d8565b8063081812fc116101b6578063081812fc1461026e578063095ea7b3146102ab57806313faede6146102d457806318160ddd146102ff576101d8565b806301ffc9a7146101dd57806302329a291461021a57806306fdde0314610243575b600080fd5b3480156101e957600080fd5b5061020460048036038101906101ff9190612e78565b61075c565b60405161021191906134e7565b60405180910390f35b34801561022657600080fd5b50610241600480360381019061023c9190612e4f565b6107d6565b005b34801561024f57600080fd5b5061025861086f565b6040516102659190613502565b60405180910390f35b34801561027a57600080fd5b5061029560048036038101906102909190612f0b565b610901565b6040516102a2919061345e565b60405180910390f35b3480156102b757600080fd5b506102d260048036038101906102cd9190612e13565b610986565b005b3480156102e057600080fd5b506102e9610a9e565b6040516102f69190613804565b60405180910390f35b34801561030b57600080fd5b50610314610aa4565b6040516103219190613804565b60405180910390f35b34801561033657600080fd5b5061033f610ab1565b60405161034c9190613804565b60405180910390f35b34801561036157600080fd5b5061037c60048036038101906103779190612d0d565b610ab7565b005b34801561038a57600080fd5b506103a560048036038101906103a09190612e13565b610b17565b6040516103b29190613804565b60405180910390f35b6103c3610bbc565b005b6103df60048036038101906103da9190612e13565b610c78565b005b3480156103ed57600080fd5b5061040860048036038101906104039190612d0d565b610e73565b005b34801561041657600080fd5b50610431600480360381019061042c9190612ca8565b610e93565b60405161043e91906134c5565b60405180910390f35b34801561045357600080fd5b5061046e60048036038101906104699190612f0b565b610f8d565b005b34801561047c57600080fd5b5061049760048036038101906104929190612f0b565b611013565b6040516104a49190613804565b60405180910390f35b3480156104b957600080fd5b506104d460048036038101906104cf9190612eca565b6110aa565b005b3480156104e257600080fd5b506104eb611140565b6040516104f891906134e7565b60405180910390f35b34801561050d57600080fd5b5061052860048036038101906105239190612f0b565b611153565b604051610535919061345e565b60405180910390f35b34801561054a57600080fd5b5061056560048036038101906105609190612ca8565b611205565b6040516105729190613804565b60405180910390f35b34801561058757600080fd5b506105906112bd565b005b34801561059e57600080fd5b506105b960048036038101906105b49190612f0b565b611345565b005b3480156105c757600080fd5b506105d06113cb565b6040516105dd919061345e565b60405180910390f35b3480156105f257600080fd5b506105fb6113f5565b6040516106089190613502565b60405180910390f35b34801561061d57600080fd5b5061063860048036038101906106339190612dd7565b611487565b005b34801561064657600080fd5b50610661600480360381019061065c9190612d5c565b61149d565b005b34801561066f57600080fd5b506106786114ff565b6040516106859190613502565b60405180910390f35b34801561069a57600080fd5b506106b560048036038101906106b09190612f0b565b61158d565b6040516106c29190613502565b60405180910390f35b3480156106d757600080fd5b506106e0611637565b6040516106ed9190613804565b60405180910390f35b34801561070257600080fd5b5061071d60048036038101906107189190612cd1565b61163d565b60405161072a91906134e7565b60405180910390f35b34801561073f57600080fd5b5061075a60048036038101906107559190612ca8565b6116d1565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107cf57506107ce826117e1565b5b9050919050565b6107de6118c3565b73ffffffffffffffffffffffffffffffffffffffff166107fc6113cb565b73ffffffffffffffffffffffffffffffffffffffff1614610852576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610849906136e4565b60405180910390fd5b80601160006101000a81548160ff02191690831515021790555050565b60606000805461087e90613b02565b80601f01602080910402602001604051908101604052809291908181526020018280546108aa90613b02565b80156108f75780601f106108cc576101008083540402835291602001916108f7565b820191906000526020600020905b8154815290600101906020018083116108da57829003601f168201915b5050505050905090565b600061090c826118cb565b61094b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610942906136c4565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061099182611153565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990613744565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610a216118c3565b73ffffffffffffffffffffffffffffffffffffffff161480610a505750610a4f81610a4a6118c3565b61163d565b5b610a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8690613624565b60405180910390fd5b610a998383611937565b505050565b600d5481565b6000600880549050905090565b600f5481565b610ac8610ac26118c3565b826119f0565b610b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afe90613784565b60405180910390fd5b610b12838383611ace565b505050565b6000610b2283611205565b8210610b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5a90613544565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610bc46118c3565b73ffffffffffffffffffffffffffffffffffffffff16610be26113cb565b73ffffffffffffffffffffffffffffffffffffffff1614610c38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2f906136e4565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050610c7657600080fd5b565b6000610c82610aa4565b9050601160009054906101000a900460ff1615610cd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccb906137a4565b60405180910390fd5b60008211610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0e906137c4565b60405180910390fd5b600f54821115610d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5390613524565b60405180910390fd5b600e548282610d6b9190613937565b1115610dac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da390613764565b60405180910390fd5b610db46113cb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e375781600d54610df491906139be565b341015610e36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2d90613684565b60405180910390fd5b5b6000600190505b828111610e6d57610e5a848284610e559190613937565b611d2a565b8080610e6590613b65565b915050610e3e565b50505050565b610e8e8383836040518060200160405280600081525061149d565b505050565b60606000610ea083611205565b905060008167ffffffffffffffff811115610ee4577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610f125781602001602082028036833780820191505090505b50905060005b82811015610f8257610f2a8582610b17565b828281518110610f63577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250508080610f7a90613b65565b915050610f18565b508092505050919050565b610f956118c3565b73ffffffffffffffffffffffffffffffffffffffff16610fb36113cb565b73ffffffffffffffffffffffffffffffffffffffff1614611009576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611000906136e4565b60405180910390fd5b80600d8190555050565b600061101d610aa4565b821061105e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611055906137e4565b60405180910390fd5b60088281548110611098577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050919050565b6110b26118c3565b73ffffffffffffffffffffffffffffffffffffffff166110d06113cb565b73ffffffffffffffffffffffffffffffffffffffff1614611126576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111d906136e4565b60405180910390fd5b80600b908051906020019061113c929190612acc565b5050565b601160009054906101000a900460ff1681565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f390613664565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d90613644565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112c56118c3565b73ffffffffffffffffffffffffffffffffffffffff166112e36113cb565b73ffffffffffffffffffffffffffffffffffffffff1614611339576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611330906136e4565b60405180910390fd5b6113436000611d48565b565b61134d6118c3565b73ffffffffffffffffffffffffffffffffffffffff1661136b6113cb565b73ffffffffffffffffffffffffffffffffffffffff16146113c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b8906136e4565b60405180910390fd5b80600f8190555050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461140490613b02565b80601f016020809104026020016040519081016040528092919081815260200182805461143090613b02565b801561147d5780601f106114525761010080835404028352916020019161147d565b820191906000526020600020905b81548152906001019060200180831161146057829003601f168201915b5050505050905090565b6114996114926118c3565b8383611e0e565b5050565b6114ae6114a86118c3565b836119f0565b6114ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e490613784565b60405180910390fd5b6114f984848484611f7b565b50505050565b600c805461150c90613b02565b80601f016020809104026020016040519081016040528092919081815260200182805461153890613b02565b80156115855780601f1061155a57610100808354040283529160200191611585565b820191906000526020600020905b81548152906001019060200180831161156857829003601f168201915b505050505081565b6060611598826118cb565b6115d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ce90613724565b60405180910390fd5b60006115e1611fd7565b90506000815111611601576040518060200160405280600081525061162f565b8061160b84612069565b600c60405160200161161f9392919061342d565b6040516020818303038152906040525b915050919050565b600e5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6116d96118c3565b73ffffffffffffffffffffffffffffffffffffffff166116f76113cb565b73ffffffffffffffffffffffffffffffffffffffff161461174d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611744906136e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b490613584565b60405180910390fd5b6117c681611d48565b50565b600080823b905060008111915050919050565b505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806118ac57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806118bc57506118bb82612216565b5b9050919050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166119aa83611153565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006119fb826118cb565b611a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3190613604565b60405180910390fd5b6000611a4583611153565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611ab457508373ffffffffffffffffffffffffffffffffffffffff16611a9c84610901565b73ffffffffffffffffffffffffffffffffffffffff16145b80611ac55750611ac4818561163d565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611aee82611153565b73ffffffffffffffffffffffffffffffffffffffff1614611b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3b90613704565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bab906135c4565b60405180910390fd5b611bbf838383612280565b611bca600082611937565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c1a9190613a18565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c719190613937565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b611d44828260405180602001604052806000815250612394565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e74906135e4565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f6e91906134e7565b60405180910390a3505050565b611f86848484611ace565b611f92848484846123ef565b611fd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc890613564565b60405180910390fd5b50505050565b6060600b8054611fe690613b02565b80601f016020809104026020016040519081016040528092919081815260200182805461201290613b02565b801561205f5780601f106120345761010080835404028352916020019161205f565b820191906000526020600020905b81548152906001019060200180831161204257829003601f168201915b5050505050905090565b606060008214156120b1576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612211565b600082905060005b600082146120e35780806120cc90613b65565b915050600a826120dc919061398d565b91506120b9565b60008167ffffffffffffffff811115612125577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156121575781602001600182028036833780820191505090505b5090505b6000851461220a576001826121709190613a18565b9150600a8561217f9190613bae565b603061218b9190613937565b60f81b8183815181106121c7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612203919061398d565b945061215b565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61228b8383836117dc565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122ce576122c981612586565b61230d565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461230c5761230b83826125cf565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123505761234b8161273c565b61238f565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461238e5761238d828261287f565b5b5b505050565b61239e83836128fe565b6123ab60008484846123ef565b6123ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e190613564565b60405180910390fd5b505050565b60006124108473ffffffffffffffffffffffffffffffffffffffff166117c9565b15612579578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026124396118c3565b8786866040518563ffffffff1660e01b815260040161245b9493929190613479565b602060405180830381600087803b15801561247557600080fd5b505af19250505080156124a657506040513d601f19601f820116820180604052508101906124a39190612ea1565b60015b612529573d80600081146124d6576040519150601f19603f3d011682016040523d82523d6000602084013e6124db565b606091505b50600081511415612521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251890613564565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061257e565b600190505b949350505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016125dc84611205565b6125e69190613a18565b90506000600760008481526020019081526020016000205490508181146126cb576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506127509190613a18565b90506000600960008481526020019081526020016000205490506000600883815481106127a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080600883815481106127ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480612863577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b600061288a83611205565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561296e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612965906136a4565b60405180910390fd5b612977816118cb565b156129b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ae906135a4565b60405180910390fd5b6129c360008383612280565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612a139190613937565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b828054612ad890613b02565b90600052602060002090601f016020900481019282612afa5760008555612b41565b82601f10612b1357805160ff1916838001178555612b41565b82800160010185558215612b41579182015b82811115612b40578251825591602001919060010190612b25565b5b509050612b4e9190612b52565b5090565b5b80821115612b6b576000816000905550600101612b53565b5090565b6000612b82612b7d84613844565b61381f565b905082815260208101848484011115612b9a57600080fd5b612ba5848285613ac0565b509392505050565b6000612bc0612bbb84613875565b61381f565b905082815260208101848484011115612bd857600080fd5b612be3848285613ac0565b509392505050565b600081359050612bfa8161426f565b92915050565b600081359050612c0f81614286565b92915050565b600081359050612c248161429d565b92915050565b600081519050612c398161429d565b92915050565b600082601f830112612c5057600080fd5b8135612c60848260208601612b6f565b91505092915050565b600082601f830112612c7a57600080fd5b8135612c8a848260208601612bad565b91505092915050565b600081359050612ca2816142b4565b92915050565b600060208284031215612cba57600080fd5b6000612cc884828501612beb565b91505092915050565b60008060408385031215612ce457600080fd5b6000612cf285828601612beb565b9250506020612d0385828601612beb565b9150509250929050565b600080600060608486031215612d2257600080fd5b6000612d3086828701612beb565b9350506020612d4186828701612beb565b9250506040612d5286828701612c93565b9150509250925092565b60008060008060808587031215612d7257600080fd5b6000612d8087828801612beb565b9450506020612d9187828801612beb565b9350506040612da287828801612c93565b925050606085013567ffffffffffffffff811115612dbf57600080fd5b612dcb87828801612c3f565b91505092959194509250565b60008060408385031215612dea57600080fd5b6000612df885828601612beb565b9250506020612e0985828601612c00565b9150509250929050565b60008060408385031215612e2657600080fd5b6000612e3485828601612beb565b9250506020612e4585828601612c93565b9150509250929050565b600060208284031215612e6157600080fd5b6000612e6f84828501612c00565b91505092915050565b600060208284031215612e8a57600080fd5b6000612e9884828501612c15565b91505092915050565b600060208284031215612eb357600080fd5b6000612ec184828501612c2a565b91505092915050565b600060208284031215612edc57600080fd5b600082013567ffffffffffffffff811115612ef657600080fd5b612f0284828501612c69565b91505092915050565b600060208284031215612f1d57600080fd5b6000612f2b84828501612c93565b91505092915050565b6000612f40838361340f565b60208301905092915050565b612f5581613a4c565b82525050565b6000612f66826138cb565b612f7081856138f9565b9350612f7b836138a6565b8060005b83811015612fac578151612f938882612f34565b9750612f9e836138ec565b925050600181019050612f7f565b5085935050505092915050565b612fc281613a5e565b82525050565b6000612fd3826138d6565b612fdd818561390a565b9350612fed818560208601613acf565b612ff681613c9b565b840191505092915050565b600061300c826138e1565b613016818561391b565b9350613026818560208601613acf565b61302f81613c9b565b840191505092915050565b6000613045826138e1565b61304f818561392c565b935061305f818560208601613acf565b80840191505092915050565b6000815461307881613b02565b613082818661392c565b9450600182166000811461309d57600181146130ae576130e1565b60ff198316865281860193506130e1565b6130b7856138b6565b60005b838110156130d9578154818901526001820191506020810190506130ba565b838801955050505b50505092915050565b60006130f7601c8361391b565b915061310282613cac565b602082019050919050565b600061311a602b8361391b565b915061312582613cd5565b604082019050919050565b600061313d60328361391b565b915061314882613d24565b604082019050919050565b600061316060268361391b565b915061316b82613d73565b604082019050919050565b6000613183601c8361391b565b915061318e82613dc2565b602082019050919050565b60006131a660248361391b565b91506131b182613deb565b604082019050919050565b60006131c960198361391b565b91506131d482613e3a565b602082019050919050565b60006131ec602c8361391b565b91506131f782613e63565b604082019050919050565b600061320f60388361391b565b915061321a82613eb2565b604082019050919050565b6000613232602a8361391b565b915061323d82613f01565b604082019050919050565b600061325560298361391b565b915061326082613f50565b604082019050919050565b600061327860108361391b565b915061328382613f9f565b602082019050919050565b600061329b60208361391b565b91506132a682613fc8565b602082019050919050565b60006132be602c8361391b565b91506132c982613ff1565b604082019050919050565b60006132e160208361391b565b91506132ec82614040565b602082019050919050565b600061330460298361391b565b915061330f82614069565b604082019050919050565b6000613327602f8361391b565b9150613332826140b8565b604082019050919050565b600061334a60218361391b565b915061335582614107565b604082019050919050565b600061336d60148361391b565b915061337882614156565b602082019050919050565b600061339060318361391b565b915061339b8261417f565b604082019050919050565b60006133b360118361391b565b91506133be826141ce565b602082019050919050565b60006133d660138361391b565b91506133e1826141f7565b602082019050919050565b60006133f9602c8361391b565b915061340482614220565b604082019050919050565b61341881613ab6565b82525050565b61342781613ab6565b82525050565b6000613439828661303a565b9150613445828561303a565b9150613451828461306b565b9150819050949350505050565b60006020820190506134736000830184612f4c565b92915050565b600060808201905061348e6000830187612f4c565b61349b6020830186612f4c565b6134a8604083018561341e565b81810360608301526134ba8184612fc8565b905095945050505050565b600060208201905081810360008301526134df8184612f5b565b905092915050565b60006020820190506134fc6000830184612fb9565b92915050565b6000602082019050818103600083015261351c8184613001565b905092915050565b6000602082019050818103600083015261353d816130ea565b9050919050565b6000602082019050818103600083015261355d8161310d565b9050919050565b6000602082019050818103600083015261357d81613130565b9050919050565b6000602082019050818103600083015261359d81613153565b9050919050565b600060208201905081810360008301526135bd81613176565b9050919050565b600060208201905081810360008301526135dd81613199565b9050919050565b600060208201905081810360008301526135fd816131bc565b9050919050565b6000602082019050818103600083015261361d816131df565b9050919050565b6000602082019050818103600083015261363d81613202565b9050919050565b6000602082019050818103600083015261365d81613225565b9050919050565b6000602082019050818103600083015261367d81613248565b9050919050565b6000602082019050818103600083015261369d8161326b565b9050919050565b600060208201905081810360008301526136bd8161328e565b9050919050565b600060208201905081810360008301526136dd816132b1565b9050919050565b600060208201905081810360008301526136fd816132d4565b9050919050565b6000602082019050818103600083015261371d816132f7565b9050919050565b6000602082019050818103600083015261373d8161331a565b9050919050565b6000602082019050818103600083015261375d8161333d565b9050919050565b6000602082019050818103600083015261377d81613360565b9050919050565b6000602082019050818103600083015261379d81613383565b9050919050565b600060208201905081810360008301526137bd816133a6565b9050919050565b600060208201905081810360008301526137dd816133c9565b9050919050565b600060208201905081810360008301526137fd816133ec565b9050919050565b6000602082019050613819600083018461341e565b92915050565b600061382961383a565b90506138358282613b34565b919050565b6000604051905090565b600067ffffffffffffffff82111561385f5761385e613c6c565b5b61386882613c9b565b9050602081019050919050565b600067ffffffffffffffff8211156138905761388f613c6c565b5b61389982613c9b565b9050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061394282613ab6565b915061394d83613ab6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561398257613981613bdf565b5b828201905092915050565b600061399882613ab6565b91506139a383613ab6565b9250826139b3576139b2613c0e565b5b828204905092915050565b60006139c982613ab6565b91506139d483613ab6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613a0d57613a0c613bdf565b5b828202905092915050565b6000613a2382613ab6565b9150613a2e83613ab6565b925082821015613a4157613a40613bdf565b5b828203905092915050565b6000613a5782613a96565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613aed578082015181840152602081019050613ad2565b83811115613afc576000848401525b50505050565b60006002820490506001821680613b1a57607f821691505b60208210811415613b2e57613b2d613c3d565b5b50919050565b613b3d82613c9b565b810181811067ffffffffffffffff82111715613b5c57613b5b613c6c565b5b80604052505050565b6000613b7082613ab6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613ba357613ba2613bdf565b5b600182019050919050565b6000613bb982613ab6565b9150613bc483613ab6565b925082613bd457613bd3613c0e565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4d696e74206e756d6265722065786365656473204d6178206d696e7400000000600082015250565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f496e73756666696369656e742066656500000000000000000000000000000000600082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f416c6c204e4654277320617265206d696e746564000000000000000000000000600082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f4d696e74696e6720697320706175736564000000000000000000000000000000600082015250565b7f496e76616c6964206d696e7420616d6f756e7400000000000000000000000000600082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b61427881613a4c565b811461428357600080fd5b50565b61428f81613a5e565b811461429a57600080fd5b50565b6142a681613a6a565b81146142b157600080fd5b50565b6142bd81613ab6565b81146142c857600080fd5b5056fea2646970667358221220490bde36eb2bfefcbf735caf981f6b2dba90aed385f3c6f3d7f29e710c9ea30a64736f6c63430008040033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000e5a6f6d626965204c6f6f6e69657300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035a4c530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002368747470733a2f2f73776565746c6f6f6e6965732e636f6d2f7a6f6d6269656e66742f0000000000000000000000000000000000000000000000000000000000