0x608060405234801561001057600080fd5b50600436106101165760003560e01c806362256589116100a25780638da5cb5b116100715780638da5cb5b146102bf57806395d89b41146102dd578063a457c2d7146102fb578063a9059cbb1461032b578063dd62ed3e1461035b57610116565b8063622565891461025d5780636f268a991461026757806370a0823114610285578063715018a6146102b557610116565b806323b872dd116100e957806323b872dd146101a3578063313ce567146101d357806332424aa3146101f1578063395093511461020f5780633eaaf86b1461023f57610116565b80630204f6771461011b57806306fdde0314610137578063095ea7b31461015557806318160ddd14610185575b600080fd5b61013560048036038101906101309190611420565b61038b565b005b61013f610436565b60405161014c91906114fd565b60405180910390f35b61016f600480360381019061016a91906115b3565b6104c8565b60405161017c919061160e565b60405180910390f35b61018d6104df565b60405161019a9190611638565b60405180910390f35b6101bd60048036038101906101b89190611653565b6104e9565b6040516101ca919061160e565b60405180910390f35b6101db61058a565b6040516101e89190611638565b60405180910390f35b6101f9610594565b6040516102069190611638565b60405180910390f35b610229600480360381019061022491906115b3565b61059a565b604051610236919061160e565b60405180910390f35b610247610638565b6040516102549190611638565b60405180910390f35b61026561063e565b005b61026f6106c7565b60405161027c91906116b5565b60405180910390f35b61029f600480360381019061029a91906116d0565b6106ed565b6040516102ac9190611638565b60405180910390f35b6102bd610736565b005b6102c7610869565b6040516102d491906116b5565b60405180910390f35b6102e5610892565b6040516102f291906114fd565b60405180910390f35b610315600480360381019061031091906115b3565b610924565b604051610322919061160e565b60405180910390f35b610345600480360381019061034091906115b3565b610a4b565b604051610352919061160e565b60405180910390f35b610375600480360381019061037091906116fd565b610a62565b6040516103829190611638565b60405180910390f35b60005b82829050811015610431576103a1610ae9565b1561041e576001436103b3919061176c565b600d60008585858181106103ca576103c96117a0565b5b90506020020160208101906103df91906116d0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8080610429906117cf565b91505061038e565b505050565b60606002805461044590611846565b80601f016020809104026020016040519081016040528092919081815260200182805461047190611846565b80156104be5780601f10610493576101008083540402835291602001916104be565b820191906000526020600020905b8154815290600101906020018083116104a157829003601f168201915b5050505050905090565b60006104d5338484610b41565b6001905092915050565b6000600954905090565b60006104f6848484610d0a565b81600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561057f57600080fd5b600190509392505050565b6000600154905090565b60015481565b600061062e338484600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610629919061176c565b610b41565b6001905092915050565b60095481565b3373ffffffffffffffffffffffffffffffffffffffff1661065d610869565b73ffffffffffffffffffffffffffffffffffffffff16146106b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106aa906118c3565b60405180910390fd5b600954600781905550600954600481905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610755610869565b73ffffffffffffffffffffffffffffffffffffffff16146107ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a2906118c3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600380546108a190611846565b80601f01602080910402602001604051908101604052809291908181526020018280546108cd90611846565b801561091a5780601f106108ef5761010080835404028352916020019161091a565b820191906000526020600020905b8154815290600101906020018083116108fd57829003601f168201915b5050505050905090565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156109af57600080fd5b610a41338484600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a3c91906118e3565b610b41565b6001905092915050565b6000610a58338484610d0a565b6001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba790611989565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1690611a1b565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cfd9190611638565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d4357600080fd5b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015610dcb5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15610ddf57610dda8183611045565b611040565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610e2b57600080fd5b600080600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015610ebb575043600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411155b15610eea57610ee76064610ed96063856112d990919063ffffffff16565b61135390919063ffffffff16565b90505b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f3591906118e3565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508082610f8491906118e3565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fd2919061176c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110369190611638565b60405180910390a3505b505050565b61107230600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610b41565b81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156110d3576110d2611a3b565b5b6040519080825280602002602001820160405280156111015781602001602082028036833780820191505090505b5090503081600081518110611119576111186117a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e49190611a7f565b816001815181106111f8576111f76117a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e42611282919061176c565b6040518663ffffffff1660e01b81526004016112a2959493929190611baf565b600060405180830381600087803b1580156112bc57600080fd5b505af11580156112d0573d6000803e3d6000fd5b50505050505050565b60008083036112eb576000905061134d565b600082846112f99190611c09565b90508284826113089190611c7a565b14611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90611d1d565b60405180910390fd5b809150505b92915050565b6000808211611397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138e90611d89565b60405180910390fd5b600082846113a59190611c7a565b90508091505092915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126113e0576113df6113bb565b5b8235905067ffffffffffffffff8111156113fd576113fc6113c0565b5b602083019150836020820283011115611419576114186113c5565b5b9250929050565b60008060208385031215611437576114366113b1565b5b600083013567ffffffffffffffff811115611455576114546113b6565b5b611461858286016113ca565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114a757808201518184015260208101905061148c565b60008484015250505050565b6000601f19601f8301169050919050565b60006114cf8261146d565b6114d98185611478565b93506114e9818560208601611489565b6114f2816114b3565b840191505092915050565b6000602082019050818103600083015261151781846114c4565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061154a8261151f565b9050919050565b61155a8161153f565b811461156557600080fd5b50565b60008135905061157781611551565b92915050565b6000819050919050565b6115908161157d565b811461159b57600080fd5b50565b6000813590506115ad81611587565b92915050565b600080604083850312156115ca576115c96113b1565b5b60006115d885828601611568565b92505060206115e98582860161159e565b9150509250929050565b60008115159050919050565b611608816115f3565b82525050565b600060208201905061162360008301846115ff565b92915050565b6116328161157d565b82525050565b600060208201905061164d6000830184611629565b92915050565b60008060006060848603121561166c5761166b6113b1565b5b600061167a86828701611568565b935050602061168b86828701611568565b925050604061169c8682870161159e565b9150509250925092565b6116af8161153f565b82525050565b60006020820190506116ca60008301846116a6565b92915050565b6000602082840312156116e6576116e56113b1565b5b60006116f484828501611568565b91505092915050565b60008060408385031215611714576117136113b1565b5b600061172285828601611568565b925050602061173385828601611568565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006117778261157d565b91506117828361157d565b925082820190508082111561179a5761179961173d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006117da8261157d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361180c5761180b61173d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185e57607f821691505b60208210810361187157611870611817565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118ad602083611478565b91506118b882611877565b602082019050919050565b600060208201905081810360008301526118dc816118a0565b9050919050565b60006118ee8261157d565b91506118f98361157d565b92508282039050818111156119115761191061173d565b5b92915050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611973602383611478565b915061197e82611917565b604082019050919050565b600060208201905081810360008301526119a281611966565b9050919050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611a05602583611478565b9150611a10826119a9565b604082019050919050565b60006020820190508181036000830152611a34816119f8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050611a7981611551565b92915050565b600060208284031215611a9557611a946113b1565b5b6000611aa384828501611a6a565b91505092915050565b6000819050919050565b6000819050919050565b6000611adb611ad6611ad184611aac565b611ab6565b61157d565b9050919050565b611aeb81611ac0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611b268161153f565b82525050565b6000611b388383611b1d565b60208301905092915050565b6000602082019050919050565b6000611b5c82611af1565b611b668185611afc565b9350611b7183611b0d565b8060005b83811015611ba2578151611b898882611b2c565b9750611b9483611b44565b925050600181019050611b75565b5085935050505092915050565b600060a082019050611bc46000830188611629565b611bd16020830187611ae2565b8181036040830152611be38186611b51565b9050611bf260608301856116a6565b611bff6080830184611629565b9695505050505050565b6000611c148261157d565b9150611c1f8361157d565b9250828202611c2d8161157d565b91508282048414831517611c4457611c4361173d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611c858261157d565b9150611c908361157d565b925082611ca057611c9f611c4b565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c60008201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d07602283611478565b9150611d1282611cab565b604082019050919050565b60006020820190508181036000830152611d3681611cfa565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f0000000000600082015250565b6000611d73601b83611478565b9150611d7e82611d3d565b602082019050919050565b60006020820190508181036000830152611da281611d66565b905091905056fea2646970667358221220a2e1626842ea4f06025867d5d79bf574bf0585be9972e77925195d6ce1d48bfd64736f6c63430008130033
0x608060405260096001556040518060400160405280600281526020017f3432000000000000000000000000000000000000000000000000000000000000815250600290816200004f91906200058e565b506040518060400160405280600281526020017f3130000000000000000000000000000000000000000000000000000000000000815250600390816200009691906200058e565b506000600855600154600a620000ad9190620007f8565b64e8d4a51000620000bf919062000849565b600955737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200012457600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600954600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620002c59190620008a5565b60405180910390a333600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620008c2565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200039657607f821691505b602082108103620003ac57620003ab6200034e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003d7565b620004228683620003d7565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200046f6200046962000463846200043a565b62000444565b6200043a565b9050919050565b6000819050919050565b6200048b836200044e565b620004a36200049a8262000476565b848454620003e4565b825550505050565b600090565b620004ba620004ab565b620004c781848462000480565b505050565b5b81811015620004ef57620004e3600082620004b0565b600181019050620004cd565b5050565b601f8211156200053e576200050881620003b2565b6200051384620003c7565b8101602085101562000523578190505b6200053b6200053285620003c7565b830182620004cc565b50505b505050565b600082821c905092915050565b6000620005636000198460080262000543565b1980831691505092915050565b60006200057e838362000550565b9150826002028217905092915050565b620005998262000314565b67ffffffffffffffff811115620005b557620005b46200031f565b5b620005c182546200037d565b620005ce828285620004f3565b600060209050601f831160018114620006065760008415620005f1578287015190505b620005fd858262000570565b8655506200066d565b601f1984166200061686620003b2565b60005b82811015620006405784890151825560018201915060208501945060208101905062000619565b868310156200066057848901516200065c601f89168262000550565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200070357808604811115620006db57620006da62000675565b5b6001851615620006eb5780820291505b8081029050620006fb85620006a4565b9450620006bb565b94509492505050565b6000826200071e5760019050620007f1565b816200072e5760009050620007f1565b8160018114620007475760028114620007525762000788565b6001915050620007f1565b60ff84111562000767576200076662000675565b5b8360020a91508482111562000781576200078062000675565b5b50620007f1565b5060208310610133831016604e8410600b8410161715620007c25782820a905083811115620007bc57620007bb62000675565b5b620007f1565b620007d18484846001620006b1565b92509050818404811115620007eb57620007ea62000675565b5b81810290505b9392505050565b600062000805826200043a565b915062000812836200043a565b9250620008417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200070c565b905092915050565b600062000856826200043a565b915062000863836200043a565b925082820262000873816200043a565b915082820484148315176200088d576200088c62000675565b5b5092915050565b6200089f816200043a565b82525050565b6000602082019050620008bc600083018462000894565b92915050565b611ddf80620008d26000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806362256589116100a25780638da5cb5b116100715780638da5cb5b146102bf57806395d89b41146102dd578063a457c2d7146102fb578063a9059cbb1461032b578063dd62ed3e1461035b57610116565b8063622565891461025d5780636f268a991461026757806370a0823114610285578063715018a6146102b557610116565b806323b872dd116100e957806323b872dd146101a3578063313ce567146101d357806332424aa3146101f1578063395093511461020f5780633eaaf86b1461023f57610116565b80630204f6771461011b57806306fdde0314610137578063095ea7b31461015557806318160ddd14610185575b600080fd5b61013560048036038101906101309190611420565b61038b565b005b61013f610436565b60405161014c91906114fd565b60405180910390f35b61016f600480360381019061016a91906115b3565b6104c8565b60405161017c919061160e565b60405180910390f35b61018d6104df565b60405161019a9190611638565b60405180910390f35b6101bd60048036038101906101b89190611653565b6104e9565b6040516101ca919061160e565b60405180910390f35b6101db61058a565b6040516101e89190611638565b60405180910390f35b6101f9610594565b6040516102069190611638565b60405180910390f35b610229600480360381019061022491906115b3565b61059a565b604051610236919061160e565b60405180910390f35b610247610638565b6040516102549190611638565b60405180910390f35b61026561063e565b005b61026f6106c7565b60405161027c91906116b5565b60405180910390f35b61029f600480360381019061029a91906116d0565b6106ed565b6040516102ac9190611638565b60405180910390f35b6102bd610736565b005b6102c7610869565b6040516102d491906116b5565b60405180910390f35b6102e5610892565b6040516102f291906114fd565b60405180910390f35b610315600480360381019061031091906115b3565b610924565b604051610322919061160e565b60405180910390f35b610345600480360381019061034091906115b3565b610a4b565b604051610352919061160e565b60405180910390f35b610375600480360381019061037091906116fd565b610a62565b6040516103829190611638565b60405180910390f35b60005b82829050811015610431576103a1610ae9565b1561041e576001436103b3919061176c565b600d60008585858181106103ca576103c96117a0565b5b90506020020160208101906103df91906116d0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8080610429906117cf565b91505061038e565b505050565b60606002805461044590611846565b80601f016020809104026020016040519081016040528092919081815260200182805461047190611846565b80156104be5780601f10610493576101008083540402835291602001916104be565b820191906000526020600020905b8154815290600101906020018083116104a157829003601f168201915b5050505050905090565b60006104d5338484610b41565b6001905092915050565b6000600954905090565b60006104f6848484610d0a565b81600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561057f57600080fd5b600190509392505050565b6000600154905090565b60015481565b600061062e338484600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610629919061176c565b610b41565b6001905092915050565b60095481565b3373ffffffffffffffffffffffffffffffffffffffff1661065d610869565b73ffffffffffffffffffffffffffffffffffffffff16146106b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106aa906118c3565b60405180910390fd5b600954600781905550600954600481905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610755610869565b73ffffffffffffffffffffffffffffffffffffffff16146107ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a2906118c3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600380546108a190611846565b80601f01602080910402602001604051908101604052809291908181526020018280546108cd90611846565b801561091a5780601f106108ef5761010080835404028352916020019161091a565b820191906000526020600020905b8154815290600101906020018083116108fd57829003601f168201915b5050505050905090565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156109af57600080fd5b610a41338484600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a3c91906118e3565b610b41565b6001905092915050565b6000610a58338484610d0a565b6001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba790611989565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1690611a1b565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cfd9190611638565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d4357600080fd5b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015610dcb5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15610ddf57610dda8183611045565b611040565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610e2b57600080fd5b600080600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015610ebb575043600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411155b15610eea57610ee76064610ed96063856112d990919063ffffffff16565b61135390919063ffffffff16565b90505b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f3591906118e3565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508082610f8491906118e3565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fd2919061176c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110369190611638565b60405180910390a3505b505050565b61107230600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610b41565b81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156110d3576110d2611a3b565b5b6040519080825280602002602001820160405280156111015781602001602082028036833780820191505090505b5090503081600081518110611119576111186117a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e49190611a7f565b816001815181106111f8576111f76117a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e42611282919061176c565b6040518663ffffffff1660e01b81526004016112a2959493929190611baf565b600060405180830381600087803b1580156112bc57600080fd5b505af11580156112d0573d6000803e3d6000fd5b50505050505050565b60008083036112eb576000905061134d565b600082846112f99190611c09565b90508284826113089190611c7a565b14611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90611d1d565b60405180910390fd5b809150505b92915050565b6000808211611397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138e90611d89565b60405180910390fd5b600082846113a59190611c7a565b90508091505092915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126113e0576113df6113bb565b5b8235905067ffffffffffffffff8111156113fd576113fc6113c0565b5b602083019150836020820283011115611419576114186113c5565b5b9250929050565b60008060208385031215611437576114366113b1565b5b600083013567ffffffffffffffff811115611455576114546113b6565b5b611461858286016113ca565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114a757808201518184015260208101905061148c565b60008484015250505050565b6000601f19601f8301169050919050565b60006114cf8261146d565b6114d98185611478565b93506114e9818560208601611489565b6114f2816114b3565b840191505092915050565b6000602082019050818103600083015261151781846114c4565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061154a8261151f565b9050919050565b61155a8161153f565b811461156557600080fd5b50565b60008135905061157781611551565b92915050565b6000819050919050565b6115908161157d565b811461159b57600080fd5b50565b6000813590506115ad81611587565b92915050565b600080604083850312156115ca576115c96113b1565b5b60006115d885828601611568565b92505060206115e98582860161159e565b9150509250929050565b60008115159050919050565b611608816115f3565b82525050565b600060208201905061162360008301846115ff565b92915050565b6116328161157d565b82525050565b600060208201905061164d6000830184611629565b92915050565b60008060006060848603121561166c5761166b6113b1565b5b600061167a86828701611568565b935050602061168b86828701611568565b925050604061169c8682870161159e565b9150509250925092565b6116af8161153f565b82525050565b60006020820190506116ca60008301846116a6565b92915050565b6000602082840312156116e6576116e56113b1565b5b60006116f484828501611568565b91505092915050565b60008060408385031215611714576117136113b1565b5b600061172285828601611568565b925050602061173385828601611568565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006117778261157d565b91506117828361157d565b925082820190508082111561179a5761179961173d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006117da8261157d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361180c5761180b61173d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185e57607f821691505b60208210810361187157611870611817565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118ad602083611478565b91506118b882611877565b602082019050919050565b600060208201905081810360008301526118dc816118a0565b9050919050565b60006118ee8261157d565b91506118f98361157d565b92508282039050818111156119115761191061173d565b5b92915050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611973602383611478565b915061197e82611917565b604082019050919050565b600060208201905081810360008301526119a281611966565b9050919050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611a05602583611478565b9150611a10826119a9565b604082019050919050565b60006020820190508181036000830152611a34816119f8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050611a7981611551565b92915050565b600060208284031215611a9557611a946113b1565b5b6000611aa384828501611a6a565b91505092915050565b6000819050919050565b6000819050919050565b6000611adb611ad6611ad184611aac565b611ab6565b61157d565b9050919050565b611aeb81611ac0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611b268161153f565b82525050565b6000611b388383611b1d565b60208301905092915050565b6000602082019050919050565b6000611b5c82611af1565b611b668185611afc565b9350611b7183611b0d565b8060005b83811015611ba2578151611b898882611b2c565b9750611b9483611b44565b925050600181019050611b75565b5085935050505092915050565b600060a082019050611bc46000830188611629565b611bd16020830187611ae2565b8181036040830152611be38186611b51565b9050611bf260608301856116a6565b611bff6080830184611629565b9695505050505050565b6000611c148261157d565b9150611c1f8361157d565b9250828202611c2d8161157d565b91508282048414831517611c4457611c4361173d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611c858261157d565b9150611c908361157d565b925082611ca057611c9f611c4b565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c60008201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d07602283611478565b9150611d1282611cab565b604082019050919050565b60006020820190508181036000830152611d3681611cfa565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f0000000000600082015250565b6000611d73601b83611478565b9150611d7e82611d3d565b602082019050919050565b60006020820190508181036000830152611da281611d66565b905091905056fea2646970667358221220a2e1626842ea4f06025867d5d79bf574bf0585be9972e77925195d6ce1d48bfd64736f6c63430008130033