0x60806040526040518060400160405280600e81526020017f6578706f736568696e74666c69700000000000000000000000000000000000008152505f90816200004991906200039a565b506040518060400160405280600281526020017f6578000000000000000000000000000000000000000000000000000000000000815250600190816200009091906200039a565b50601260025f6101000a81548160ff021916908360ff16021790555060025f9054906101000a900460ff1660ff16600a620000cc9190620005fb565b62f3b36b620000dc91906200064b565b600355348015620000eb575f80fd5b5060035460045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555062000695565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620001b257607f821691505b602082108103620001c857620001c76200016d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200022c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620001ef565b620002388683620001ef565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620002826200027c620002768462000250565b62000259565b62000250565b9050919050565b5f819050919050565b6200029d8362000262565b620002b5620002ac8262000289565b848454620001fb565b825550505050565b5f90565b620002cb620002bd565b620002d881848462000292565b505050565b5b81811015620002ff57620002f35f82620002c1565b600181019050620002de565b5050565b601f8211156200034e576200031881620001ce565b6200032384620001e0565b8101602085101562000333578190505b6200034b6200034285620001e0565b830182620002dd565b50505b505050565b5f82821c905092915050565b5f620003705f198460080262000353565b1980831691505092915050565b5f6200038a83836200035f565b9150826002028217905092915050565b620003a58262000136565b67ffffffffffffffff811115620003c157620003c062000140565b5b620003cd82546200019a565b620003da82828562000303565b5f60209050601f83116001811462000410575f8415620003fb578287015190505b6200040785826200037d565b86555062000476565b601f1984166200042086620001ce565b5f5b82811015620004495784890151825560018201915060208501945060208101905062000422565b8683101562000469578489015162000465601f8916826200035f565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200050857808604811115620004e057620004df6200047e565b5b6001851615620004f05780820291505b80810290506200050085620004ab565b9450620004c0565b94509492505050565b5f82620005225760019050620005f4565b8162000531575f9050620005f4565b81600181146200054a576002811462000555576200058b565b6001915050620005f4565b60ff8411156200056a57620005696200047e565b5b8360020a9150848211156200058457620005836200047e565b5b50620005f4565b5060208310610133831016604e8410600b8410161715620005c55782820a905083811115620005bf57620005be6200047e565b5b620005f4565b620005d48484846001620004b7565b92509050818404811115620005ee57620005ed6200047e565b5b81810290505b9392505050565b5f620006078262000250565b9150620006148362000250565b9250620006437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000511565b905092915050565b5f620006578262000250565b9150620006648362000250565b9250828202620006748162000250565b915082820484148315176200068e576200068d6200047e565b5b5092915050565b6106d380620006a35f395ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c806306fdde0314610064578063313ce5671461008257806370a08231146100a05780637acafe0b146100d057806395d89b41146100ee578063ae79614d1461010c575b5f80fd5b61006c61013c565b6040516100799190610404565b60405180910390f35b61008a6101c7565b604051610097919061043f565b60405180910390f35b6100ba60048036038101906100b591906104b6565b6101d9565b6040516100c791906104f9565b60405180910390f35b6100d86101ee565b6040516100e591906104f9565b60405180910390f35b6100f66101f4565b6040516101039190610404565b60405180910390f35b6101266004803603810190610121919061053c565b610280565b6040516101339190610594565b60405180910390f35b5f8054610148906105da565b80601f0160208091040260200160405190810160405280929190818152602001828054610174906105da565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b60025f9054906101000a900460ff1681565b6004602052805f5260405f205f915090505481565b60035481565b60018054610201906105da565b80601f016020809104026020016040519081016040528092919081815260200182805461022d906105da565b80156102785780601f1061024f57610100808354040283529160200191610278565b820191905f5260205f20905b81548152906001019060200180831161025b57829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156102ca575f80fd5b8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546103169190610637565b925050819055508160045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610369919061066a565b925050819055506001905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156103b1578082015181840152602081019050610396565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6103d68261037a565b6103e08185610384565b93506103f0818560208601610394565b6103f9816103bc565b840191505092915050565b5f6020820190508181035f83015261041c81846103cc565b905092915050565b5f60ff82169050919050565b61043981610424565b82525050565b5f6020820190506104525f830184610430565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104858261045c565b9050919050565b6104958161047b565b811461049f575f80fd5b50565b5f813590506104b08161048c565b92915050565b5f602082840312156104cb576104ca610458565b5b5f6104d8848285016104a2565b91505092915050565b5f819050919050565b6104f3816104e1565b82525050565b5f60208201905061050c5f8301846104ea565b92915050565b61051b816104e1565b8114610525575f80fd5b50565b5f8135905061053681610512565b92915050565b5f806040838503121561055257610551610458565b5b5f61055f858286016104a2565b925050602061057085828601610528565b9150509250929050565b5f8115159050919050565b61058e8161057a565b82525050565b5f6020820190506105a75f830184610585565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806105f157607f821691505b602082108103610604576106036105ad565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610641826104e1565b915061064c836104e1565b92508282039050818111156106645761066361060a565b5b92915050565b5f610674826104e1565b915061067f836104e1565b92508282019050808211156106975761069661060a565b5b9291505056fea2646970667358221220f16e4a9384069f0d12848d6c520ea8ba8070492fda86d95c4cf20c830289726764736f6c63430008160033