0x6080604052600436106101db5760003560e01c8063751039fc11610102578063a2a957bb11610095578063c492f04611610064578063c492f0461461067e578063dd62ed3e146106a7578063ea1644d5146106e4578063f2fde38b1461070d576101e2565b8063a2a957bb146105c4578063a9059cbb146105ed578063bfd792841461062a578063c3c8cd8014610667576101e2565b80638f70ccf7116100d15780638f70ccf71461051c5780638f9a55c01461054557806395d89b411461057057806398a5c3151461059b576101e2565b8063751039fc146104725780637d1db4a5146104895780637f2feddc146104b45780638da5cb5b146104f1576101e2565b8063313ce5671161017a5780636fc3eaec116101495780636fc3eaec146103de57806370a08231146103f5578063715018a61461043257806374010ece14610449576101e2565b8063313ce5671461033657806349bd5a5e146103615780636b9990531461038c5780636d8aa8f8146103b5576101e2565b80631694505e116101b65780631694505e1461027857806318160ddd146102a357806323b872dd146102ce5780632fd689e31461030b576101e2565b8062b8cf2a146101e757806306fdde0314610210578063095ea7b31461023b576101e2565b366101e257005b600080fd5b3480156101f357600080fd5b5061020e6004803603810190610209919061307d565b610736565b005b34801561021c57600080fd5b50610225610860565b604051610232919061314e565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d91906131a6565b61089d565b60405161026f9190613201565b60405180910390f35b34801561028457600080fd5b5061028d6108bb565b60405161029a919061327b565b60405180910390f35b3480156102af57600080fd5b506102b86108e1565b6040516102c591906132a5565b60405180910390f35b3480156102da57600080fd5b506102f560048036038101906102f091906132c0565b6108f0565b6040516103029190613201565b60405180910390f35b34801561031757600080fd5b506103206109c9565b60405161032d91906132a5565b60405180910390f35b34801561034257600080fd5b5061034b6109cf565b604051610358919061332f565b60405180910390f35b34801561036d57600080fd5b506103766109d8565b6040516103839190613359565b60405180910390f35b34801561039857600080fd5b506103b360048036038101906103ae9190613374565b6109fe565b005b3480156103c157600080fd5b506103dc60048036038101906103d791906133cd565b610aee565b005b3480156103ea57600080fd5b506103f3610ba0565b005b34801561040157600080fd5b5061041c60048036038101906104179190613374565b610c71565b60405161042991906132a5565b60405180910390f35b34801561043e57600080fd5b50610447610cc2565b005b34801561045557600080fd5b50610470600480360381019061046b91906133fa565b610e15565b005b34801561047e57600080fd5b50610487610edf565b005b34801561049557600080fd5b5061049e610f92565b6040516104ab91906132a5565b60405180910390f35b3480156104c057600080fd5b506104db60048036038101906104d69190613374565b610f98565b6040516104e891906132a5565b60405180910390f35b3480156104fd57600080fd5b50610506610fb0565b6040516105139190613359565b60405180910390f35b34801561052857600080fd5b50610543600480360381019061053e91906133cd565b610fd9565b005b34801561055157600080fd5b5061055a61108b565b60405161056791906132a5565b60405180910390f35b34801561057c57600080fd5b50610585611091565b604051610592919061314e565b60405180910390f35b3480156105a757600080fd5b506105c260048036038101906105bd91906133fa565b6110ce565b005b3480156105d057600080fd5b506105eb60048036038101906105e69190613427565b61116d565b005b3480156105f957600080fd5b50610614600480360381019061060f91906131a6565b611368565b6040516106219190613201565b60405180910390f35b34801561063657600080fd5b50610651600480360381019061064c9190613374565b611386565b60405161065e9190613201565b60405180910390f35b34801561067357600080fd5b5061067c6113a6565b005b34801561068a57600080fd5b506106a560048036038101906106a091906134e9565b61147f565b005b3480156106b357600080fd5b506106ce60048036038101906106c99190613549565b6115b9565b6040516106db91906132a5565b60405180910390f35b3480156106f057600080fd5b5061070b600480360381019061070691906133fa565b611640565b005b34801561071957600080fd5b50610734600480360381019061072f9190613374565b61170a565b005b61073e611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c2906135d5565b60405180910390fd5b60005b815181101561085c576001601060008484815181106107f0576107ef6135f5565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061085490613653565b9150506107ce565b5050565b60606040518060400160405280600d81526020017f546865204e657720576f726c6400000000000000000000000000000000000000815250905090565b60006108b16108aa611991565b8484611999565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600066038d7ea4c68000905090565b60006108fd848484611b64565b6109be84610909611991565b6109b9856040518060600160405280602881526020016142dc60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061096f611991565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e99092919063ffffffff16565b611999565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a06611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a906135d5565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610af6611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7a906135d5565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610be1611991565b73ffffffffffffffffffffffffffffffffffffffff161480610c575750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c3f611991565b73ffffffffffffffffffffffffffffffffffffffff16145b610c6057600080fd5b6000479050610c6e8161244d565b50565b6000610cbb600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461256e565b9050919050565b610cca611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4e906135d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e1d611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea1906135d5565b60405180910390fd5b60008111610eb757600080fd5b60648166038d7ea4c68000610ecc919061369c565b610ed69190613725565b60168190555050565b610ee7611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b906135d5565b60405180910390fd5b66038d7ea4c6800060168190555066038d7ea4c68000601781905550565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610fe1611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461106e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611065906135d5565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600581526020017f574f524c44000000000000000000000000000000000000000000000000000000815250905090565b6110d6611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115a906135d5565b60405180910390fd5b8060188190555050565b611175611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f9906135d5565b60405180910390fd5b60008410158015611214575060058411155b611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a906137c8565b60405180910390fd5b60008210158015611265575060328211155b6112a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129b9061385a565b60405180910390fd5b600083101580156112b6575060058311155b6112f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ec906138ec565b60405180910390fd5b60008110158015611307575060638111155b611346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133d9061397e565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b600061137c611375611991565b8484611b64565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113e7611991565b73ffffffffffffffffffffffffffffffffffffffff16148061145d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611445611991565b73ffffffffffffffffffffffffffffffffffffffff16145b61146657600080fd5b600061147130610c71565b905061147c816125dc565b50565b611487611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b906135d5565b60405180910390fd5b60005b838390508110156115b357816005600086868581811061153a576115396135f5565b5b905060200201602081019061154f9190613374565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115ab90613653565b915050611517565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611648611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cc906135d5565b60405180910390fd5b600081116116e257600080fd5b60648166038d7ea4c680006116f7919061369c565b6117019190613725565b60178190555050565b611712611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461179f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611796906135d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561180f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180690613a10565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808314156118df5760009050611941565b600082846118ed919061369c565b90508284826118fc9190613725565b1461193c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193390613aa2565b60405180910390fd5b809150505b92915050565b600061198983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612853565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0090613b34565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7090613bc6565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b5791906132a5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcb90613c58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3b90613cea565b60405180910390fd5b60008111611c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7e90613d7c565b60405180910390fd5b611c8f610fb0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cfd5750611ccd610fb0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156120e857601560149054906101000a900460ff16611d8c57611d1e610fb0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611d8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8290613e0e565b60405180910390fd5b5b601654811115611dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc890613e7a565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e755750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eab90613f0c565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611f615760175481611f1684610c71565b611f209190613f2c565b10611f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5790613ff4565b60405180910390fd5b5b6000611f6c30610c71565b9050600060185482101590506016548210611f875760165491505b808015611f9f575060158054906101000a900460ff16155b8015611ff95750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156120115750601560169054906101000a900460ff165b80156120675750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120bd5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156120e5576120cb826125dc565b600047905060008111156120e3576120e24761244d565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061218f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806122425750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156122415750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561225057600090506123d7565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156122fb5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561231357600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156123be5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156123d657600a54600c81905550600b54600d819055505b5b6123e3848484846128b6565b50505050565b6000838311158290612431576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612428919061314e565b60405180910390fd5b50600083856124409190614014565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6124b060056124a26003866118cc90919063ffffffff16565b61194790919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156124db573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61253f60056125316002866118cc90919063ffffffff16565b61194790919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561256a573d6000803e3d6000fd5b5050565b60006006548211156125b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ac906140ba565b60405180910390fd5b60006125bf6128e3565b90506125d4818461194790919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561261357612612612edc565b5b6040519080825280602002602001820160405280156126415781602001602082028036833780820191505090505b5090503081600081518110612659576126586135f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612700573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061272491906140ef565b81600181518110612738576127376135f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061279f30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611999565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612803959493929190614215565b600060405180830381600087803b15801561281d57600080fd5b505af1158015612831573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b6000808311829061289a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612891919061314e565b60405180910390fd5b50600083856128a99190613725565b9050809150509392505050565b806128c4576128c361290e565b5b6128cf848484612951565b806128dd576128dc612b1c565b5b50505050565b60008060006128f0612b30565b91509150612907818361194790919063ffffffff16565b9250505090565b6000600c5414801561292257506000600d54145b1561292c5761294f565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b60008060008060008061296387612b8c565b9550955095509550955095506129c186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bf490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a5685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612aa281612c9c565b612aac8483612d59565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b0991906132a5565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006006549050600066038d7ea4c680009050612b6266038d7ea4c6800060065461194790919063ffffffff16565b821015612b7f5760065466038d7ea4c68000935093505050612b88565b81819350935050505b9091565b6000806000806000806000806000612ba98a600c54600d54612d93565b9250925092506000612bb96128e3565b90506000806000612bcc8e878787612e29565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612c3683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123e9565b905092915050565b6000808284612c4d9190613f2c565b905083811015612c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c89906142bb565b60405180910390fd5b8091505092915050565b6000612ca66128e3565b90506000612cbd82846118cc90919063ffffffff16565b9050612d1181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612d6e82600654612bf490919063ffffffff16565b600681905550612d8981600754612c3e90919063ffffffff16565b6007819055505050565b600080600080612dbf6064612db1888a6118cc90919063ffffffff16565b61194790919063ffffffff16565b90506000612de96064612ddb888b6118cc90919063ffffffff16565b61194790919063ffffffff16565b90506000612e1282612e04858c612bf490919063ffffffff16565b612bf490919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612e4285896118cc90919063ffffffff16565b90506000612e5986896118cc90919063ffffffff16565b90506000612e7087896118cc90919063ffffffff16565b90506000612e9982612e8b8587612bf490919063ffffffff16565b612bf490919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612f1482612ecb565b810181811067ffffffffffffffff82111715612f3357612f32612edc565b5b80604052505050565b6000612f46612eb2565b9050612f528282612f0b565b919050565b600067ffffffffffffffff821115612f7257612f71612edc565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fb382612f88565b9050919050565b612fc381612fa8565b8114612fce57600080fd5b50565b600081359050612fe081612fba565b92915050565b6000612ff9612ff484612f57565b612f3c565b9050808382526020820190506020840283018581111561301c5761301b612f83565b5b835b8181101561304557806130318882612fd1565b84526020840193505060208101905061301e565b5050509392505050565b600082601f83011261306457613063612ec6565b5b8135613074848260208601612fe6565b91505092915050565b60006020828403121561309357613092612ebc565b5b600082013567ffffffffffffffff8111156130b1576130b0612ec1565b5b6130bd8482850161304f565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131005780820151818401526020810190506130e5565b8381111561310f576000848401525b50505050565b6000613120826130c6565b61312a81856130d1565b935061313a8185602086016130e2565b61314381612ecb565b840191505092915050565b600060208201905081810360008301526131688184613115565b905092915050565b6000819050919050565b61318381613170565b811461318e57600080fd5b50565b6000813590506131a08161317a565b92915050565b600080604083850312156131bd576131bc612ebc565b5b60006131cb85828601612fd1565b92505060206131dc85828601613191565b9150509250929050565b60008115159050919050565b6131fb816131e6565b82525050565b600060208201905061321660008301846131f2565b92915050565b6000819050919050565b600061324161323c61323784612f88565b61321c565b612f88565b9050919050565b600061325382613226565b9050919050565b600061326582613248565b9050919050565b6132758161325a565b82525050565b6000602082019050613290600083018461326c565b92915050565b61329f81613170565b82525050565b60006020820190506132ba6000830184613296565b92915050565b6000806000606084860312156132d9576132d8612ebc565b5b60006132e786828701612fd1565b93505060206132f886828701612fd1565b925050604061330986828701613191565b9150509250925092565b600060ff82169050919050565b61332981613313565b82525050565b60006020820190506133446000830184613320565b92915050565b61335381612fa8565b82525050565b600060208201905061336e600083018461334a565b92915050565b60006020828403121561338a57613389612ebc565b5b600061339884828501612fd1565b91505092915050565b6133aa816131e6565b81146133b557600080fd5b50565b6000813590506133c7816133a1565b92915050565b6000602082840312156133e3576133e2612ebc565b5b60006133f1848285016133b8565b91505092915050565b6000602082840312156134105761340f612ebc565b5b600061341e84828501613191565b91505092915050565b6000806000806080858703121561344157613440612ebc565b5b600061344f87828801613191565b945050602061346087828801613191565b935050604061347187828801613191565b925050606061348287828801613191565b91505092959194509250565b600080fd5b60008083601f8401126134a9576134a8612ec6565b5b8235905067ffffffffffffffff8111156134c6576134c561348e565b5b6020830191508360208202830111156134e2576134e1612f83565b5b9250929050565b60008060006040848603121561350257613501612ebc565b5b600084013567ffffffffffffffff8111156135205761351f612ec1565b5b61352c86828701613493565b9350935050602061353f868287016133b8565b9150509250925092565b600080604083850312156135605761355f612ebc565b5b600061356e85828601612fd1565b925050602061357f85828601612fd1565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006135bf6020836130d1565b91506135ca82613589565b602082019050919050565b600060208201905081810360008301526135ee816135b2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061365e82613170565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561369157613690613624565b5b600182019050919050565b60006136a782613170565b91506136b283613170565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136eb576136ea613624565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061373082613170565b915061373b83613170565b92508261374b5761374a6136f6565b5b828204905092915050565b7f4275792072657761726473206d757374206265206265747765656e203025206160008201527f6e64203525000000000000000000000000000000000000000000000000000000602082015250565b60006137b26025836130d1565b91506137bd82613756565b604082019050919050565b600060208201905081810360008301526137e1816137a5565b9050919050565b7f42757920746178206d757374206265206265747765656e20302520616e64203560008201527f3025000000000000000000000000000000000000000000000000000000000000602082015250565b60006138446022836130d1565b915061384f826137e8565b604082019050919050565b6000602082019050818103600083015261387381613837565b9050919050565b7f53656c6c2072657761726473206d757374206265206265747765656e2030252060008201527f616e642035250000000000000000000000000000000000000000000000000000602082015250565b60006138d66026836130d1565b91506138e18261387a565b604082019050919050565b60006020820190508181036000830152613905816138c9565b9050919050565b7f53656c6c20746178206d757374206265206265747765656e20302520616e642060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b60006139686023836130d1565b91506139738261390c565b604082019050919050565b600060208201905081810360008301526139978161395b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006139fa6026836130d1565b9150613a058261399e565b604082019050919050565b60006020820190508181036000830152613a29816139ed565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a8c6021836130d1565b9150613a9782613a30565b604082019050919050565b60006020820190508181036000830152613abb81613a7f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b1e6024836130d1565b9150613b2982613ac2565b604082019050919050565b60006020820190508181036000830152613b4d81613b11565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bb06022836130d1565b9150613bbb82613b54565b604082019050919050565b60006020820190508181036000830152613bdf81613ba3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613c426025836130d1565b9150613c4d82613be6565b604082019050919050565b60006020820190508181036000830152613c7181613c35565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613cd46023836130d1565b9150613cdf82613c78565b604082019050919050565b60006020820190508181036000830152613d0381613cc7565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613d666029836130d1565b9150613d7182613d0a565b604082019050919050565b60006020820190508181036000830152613d9581613d59565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613df8603f836130d1565b9150613e0382613d9c565b604082019050919050565b60006020820190508181036000830152613e2781613deb565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613e64601c836130d1565b9150613e6f82613e2e565b602082019050919050565b60006020820190508181036000830152613e9381613e57565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613ef66023836130d1565b9150613f0182613e9a565b604082019050919050565b60006020820190508181036000830152613f2581613ee9565b9050919050565b6000613f3782613170565b9150613f4283613170565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f7757613f76613624565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613fde6023836130d1565b9150613fe982613f82565b604082019050919050565b6000602082019050818103600083015261400d81613fd1565b9050919050565b600061401f82613170565b915061402a83613170565b92508282101561403d5761403c613624565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006140a4602a836130d1565b91506140af82614048565b604082019050919050565b600060208201905081810360008301526140d381614097565b9050919050565b6000815190506140e981612fba565b92915050565b60006020828403121561410557614104612ebc565b5b6000614113848285016140da565b91505092915050565b6000819050919050565b600061414161413c6141378461411c565b61321c565b613170565b9050919050565b61415181614126565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61418c81612fa8565b82525050565b600061419e8383614183565b60208301905092915050565b6000602082019050919050565b60006141c282614157565b6141cc8185614162565b93506141d783614173565b8060005b838110156142085781516141ef8882614192565b97506141fa836141aa565b9250506001810190506141db565b5085935050505092915050565b600060a08201905061422a6000830188613296565b6142376020830187614148565b818103604083015261424981866141b7565b9050614258606083018561334a565b6142656080830184613296565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006142a5601b836130d1565b91506142b08261426f565b602082019050919050565b600060208201905081810360008301526142d481614298565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e144110094b1bdcc0320804916e7477c74d16372a9996857692560bfbc2ee29264736f6c634300080a0033
0x608060405266038d7ea4c680006000196200001b9190620008e8565b6000196200002a91906200094f565b600655600060085560146009556000600a55601e600b55600a54600c55600b54600d55600c54600e55600d54600f557365529b8745008c8fa23fcb605fe3b3ba4c7dfb75601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507365529b8745008c8fa23fcb605fe3b3ba4c7dfb75601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff02191690831515021790555062000174606462000160600266038d7ea4c680006200074060201b620018cc1790919060201c565b620007c460201b620019471790919060201c565b601655620001b360646200019f600266038d7ea4c680006200074060201b620018cc1790919060201c565b620007c460201b620019471790919060201c565b601755620001f36103e8620001df600166038d7ea4c680006200074060201b620018cc1790919060201c565b620007c460201b620019471790919060201c565b6018553480156200020357600080fd5b506000620002166200081660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460026000620002cb6200081660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d59190620009f4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200043d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004639190620009f4565b6040518363ffffffff1660e01b81526004016200048292919062000a37565b6020604051808303816000875af1158015620004a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004c89190620009f4565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560006200051e6200081e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006cb6200081660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c6800060405162000731919062000a75565b60405180910390a35062000c8b565b600080831415620007555760009050620007be565b6000828462000765919062000a92565b905082848262000776919062000af3565b14620007b9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007b09062000bb2565b60405180910390fd5b809150505b92915050565b60006200080e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200084760201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000888919062000c67565b60405180910390fd5b5060008385620008a2919062000af3565b9050809150509392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008f582620008af565b91506200090283620008af565b925082620009155762000914620008b9565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200095c82620008af565b91506200096983620008af565b9250828210156200097f576200097e62000920565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009bc826200098f565b9050919050565b620009ce81620009af565b8114620009da57600080fd5b50565b600081519050620009ee81620009c3565b92915050565b60006020828403121562000a0d5762000a0c6200098a565b5b600062000a1d84828501620009dd565b91505092915050565b62000a3181620009af565b82525050565b600060408201905062000a4e600083018562000a26565b62000a5d602083018462000a26565b9392505050565b62000a6f81620008af565b82525050565b600060208201905062000a8c600083018462000a64565b92915050565b600062000a9f82620008af565b915062000aac83620008af565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ae85762000ae762000920565b5b828202905092915050565b600062000b0082620008af565b915062000b0d83620008af565b92508262000b205762000b1f620008b9565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000b9a60218362000b2b565b915062000ba78262000b3c565b604082019050919050565b6000602082019050818103600083015262000bcd8162000b8b565b9050919050565b600081519050919050565b60005b8381101562000bff57808201518184015260208101905062000be2565b8381111562000c0f576000848401525b50505050565b6000601f19601f8301169050919050565b600062000c338262000bd4565b62000c3f818562000b2b565b935062000c5181856020860162000bdf565b62000c5c8162000c15565b840191505092915050565b6000602082019050818103600083015262000c83818462000c26565b905092915050565b6143398062000c9b6000396000f3fe6080604052600436106101db5760003560e01c8063751039fc11610102578063a2a957bb11610095578063c492f04611610064578063c492f0461461067e578063dd62ed3e146106a7578063ea1644d5146106e4578063f2fde38b1461070d576101e2565b8063a2a957bb146105c4578063a9059cbb146105ed578063bfd792841461062a578063c3c8cd8014610667576101e2565b80638f70ccf7116100d15780638f70ccf71461051c5780638f9a55c01461054557806395d89b411461057057806398a5c3151461059b576101e2565b8063751039fc146104725780637d1db4a5146104895780637f2feddc146104b45780638da5cb5b146104f1576101e2565b8063313ce5671161017a5780636fc3eaec116101495780636fc3eaec146103de57806370a08231146103f5578063715018a61461043257806374010ece14610449576101e2565b8063313ce5671461033657806349bd5a5e146103615780636b9990531461038c5780636d8aa8f8146103b5576101e2565b80631694505e116101b65780631694505e1461027857806318160ddd146102a357806323b872dd146102ce5780632fd689e31461030b576101e2565b8062b8cf2a146101e757806306fdde0314610210578063095ea7b31461023b576101e2565b366101e257005b600080fd5b3480156101f357600080fd5b5061020e6004803603810190610209919061307d565b610736565b005b34801561021c57600080fd5b50610225610860565b604051610232919061314e565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d91906131a6565b61089d565b60405161026f9190613201565b60405180910390f35b34801561028457600080fd5b5061028d6108bb565b60405161029a919061327b565b60405180910390f35b3480156102af57600080fd5b506102b86108e1565b6040516102c591906132a5565b60405180910390f35b3480156102da57600080fd5b506102f560048036038101906102f091906132c0565b6108f0565b6040516103029190613201565b60405180910390f35b34801561031757600080fd5b506103206109c9565b60405161032d91906132a5565b60405180910390f35b34801561034257600080fd5b5061034b6109cf565b604051610358919061332f565b60405180910390f35b34801561036d57600080fd5b506103766109d8565b6040516103839190613359565b60405180910390f35b34801561039857600080fd5b506103b360048036038101906103ae9190613374565b6109fe565b005b3480156103c157600080fd5b506103dc60048036038101906103d791906133cd565b610aee565b005b3480156103ea57600080fd5b506103f3610ba0565b005b34801561040157600080fd5b5061041c60048036038101906104179190613374565b610c71565b60405161042991906132a5565b60405180910390f35b34801561043e57600080fd5b50610447610cc2565b005b34801561045557600080fd5b50610470600480360381019061046b91906133fa565b610e15565b005b34801561047e57600080fd5b50610487610edf565b005b34801561049557600080fd5b5061049e610f92565b6040516104ab91906132a5565b60405180910390f35b3480156104c057600080fd5b506104db60048036038101906104d69190613374565b610f98565b6040516104e891906132a5565b60405180910390f35b3480156104fd57600080fd5b50610506610fb0565b6040516105139190613359565b60405180910390f35b34801561052857600080fd5b50610543600480360381019061053e91906133cd565b610fd9565b005b34801561055157600080fd5b5061055a61108b565b60405161056791906132a5565b60405180910390f35b34801561057c57600080fd5b50610585611091565b604051610592919061314e565b60405180910390f35b3480156105a757600080fd5b506105c260048036038101906105bd91906133fa565b6110ce565b005b3480156105d057600080fd5b506105eb60048036038101906105e69190613427565b61116d565b005b3480156105f957600080fd5b50610614600480360381019061060f91906131a6565b611368565b6040516106219190613201565b60405180910390f35b34801561063657600080fd5b50610651600480360381019061064c9190613374565b611386565b60405161065e9190613201565b60405180910390f35b34801561067357600080fd5b5061067c6113a6565b005b34801561068a57600080fd5b506106a560048036038101906106a091906134e9565b61147f565b005b3480156106b357600080fd5b506106ce60048036038101906106c99190613549565b6115b9565b6040516106db91906132a5565b60405180910390f35b3480156106f057600080fd5b5061070b600480360381019061070691906133fa565b611640565b005b34801561071957600080fd5b50610734600480360381019061072f9190613374565b61170a565b005b61073e611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c2906135d5565b60405180910390fd5b60005b815181101561085c576001601060008484815181106107f0576107ef6135f5565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061085490613653565b9150506107ce565b5050565b60606040518060400160405280600d81526020017f546865204e657720576f726c6400000000000000000000000000000000000000815250905090565b60006108b16108aa611991565b8484611999565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600066038d7ea4c68000905090565b60006108fd848484611b64565b6109be84610909611991565b6109b9856040518060600160405280602881526020016142dc60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061096f611991565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e99092919063ffffffff16565b611999565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a06611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a906135d5565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610af6611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7a906135d5565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610be1611991565b73ffffffffffffffffffffffffffffffffffffffff161480610c575750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c3f611991565b73ffffffffffffffffffffffffffffffffffffffff16145b610c6057600080fd5b6000479050610c6e8161244d565b50565b6000610cbb600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461256e565b9050919050565b610cca611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4e906135d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e1d611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea1906135d5565b60405180910390fd5b60008111610eb757600080fd5b60648166038d7ea4c68000610ecc919061369c565b610ed69190613725565b60168190555050565b610ee7611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b906135d5565b60405180910390fd5b66038d7ea4c6800060168190555066038d7ea4c68000601781905550565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610fe1611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461106e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611065906135d5565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600581526020017f574f524c44000000000000000000000000000000000000000000000000000000815250905090565b6110d6611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115a906135d5565b60405180910390fd5b8060188190555050565b611175611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f9906135d5565b60405180910390fd5b60008410158015611214575060058411155b611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a906137c8565b60405180910390fd5b60008210158015611265575060328211155b6112a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129b9061385a565b60405180910390fd5b600083101580156112b6575060058311155b6112f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ec906138ec565b60405180910390fd5b60008110158015611307575060638111155b611346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133d9061397e565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b600061137c611375611991565b8484611b64565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113e7611991565b73ffffffffffffffffffffffffffffffffffffffff16148061145d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611445611991565b73ffffffffffffffffffffffffffffffffffffffff16145b61146657600080fd5b600061147130610c71565b905061147c816125dc565b50565b611487611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b906135d5565b60405180910390fd5b60005b838390508110156115b357816005600086868581811061153a576115396135f5565b5b905060200201602081019061154f9190613374565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115ab90613653565b915050611517565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611648611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cc906135d5565b60405180910390fd5b600081116116e257600080fd5b60648166038d7ea4c680006116f7919061369c565b6117019190613725565b60178190555050565b611712611991565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461179f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611796906135d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561180f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180690613a10565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808314156118df5760009050611941565b600082846118ed919061369c565b90508284826118fc9190613725565b1461193c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193390613aa2565b60405180910390fd5b809150505b92915050565b600061198983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612853565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0090613b34565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7090613bc6565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b5791906132a5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcb90613c58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3b90613cea565b60405180910390fd5b60008111611c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7e90613d7c565b60405180910390fd5b611c8f610fb0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cfd5750611ccd610fb0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156120e857601560149054906101000a900460ff16611d8c57611d1e610fb0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611d8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8290613e0e565b60405180910390fd5b5b601654811115611dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc890613e7a565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e755750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eab90613f0c565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611f615760175481611f1684610c71565b611f209190613f2c565b10611f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5790613ff4565b60405180910390fd5b5b6000611f6c30610c71565b9050600060185482101590506016548210611f875760165491505b808015611f9f575060158054906101000a900460ff16155b8015611ff95750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156120115750601560169054906101000a900460ff165b80156120675750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120bd5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156120e5576120cb826125dc565b600047905060008111156120e3576120e24761244d565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061218f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806122425750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156122415750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561225057600090506123d7565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156122fb5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561231357600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156123be5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156123d657600a54600c81905550600b54600d819055505b5b6123e3848484846128b6565b50505050565b6000838311158290612431576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612428919061314e565b60405180910390fd5b50600083856124409190614014565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6124b060056124a26003866118cc90919063ffffffff16565b61194790919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156124db573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61253f60056125316002866118cc90919063ffffffff16565b61194790919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561256a573d6000803e3d6000fd5b5050565b60006006548211156125b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ac906140ba565b60405180910390fd5b60006125bf6128e3565b90506125d4818461194790919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561261357612612612edc565b5b6040519080825280602002602001820160405280156126415781602001602082028036833780820191505090505b5090503081600081518110612659576126586135f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612700573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061272491906140ef565b81600181518110612738576127376135f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061279f30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611999565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612803959493929190614215565b600060405180830381600087803b15801561281d57600080fd5b505af1158015612831573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b6000808311829061289a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612891919061314e565b60405180910390fd5b50600083856128a99190613725565b9050809150509392505050565b806128c4576128c361290e565b5b6128cf848484612951565b806128dd576128dc612b1c565b5b50505050565b60008060006128f0612b30565b91509150612907818361194790919063ffffffff16565b9250505090565b6000600c5414801561292257506000600d54145b1561292c5761294f565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b60008060008060008061296387612b8c565b9550955095509550955095506129c186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bf490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a5685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612aa281612c9c565b612aac8483612d59565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b0991906132a5565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006006549050600066038d7ea4c680009050612b6266038d7ea4c6800060065461194790919063ffffffff16565b821015612b7f5760065466038d7ea4c68000935093505050612b88565b81819350935050505b9091565b6000806000806000806000806000612ba98a600c54600d54612d93565b9250925092506000612bb96128e3565b90506000806000612bcc8e878787612e29565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612c3683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123e9565b905092915050565b6000808284612c4d9190613f2c565b905083811015612c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c89906142bb565b60405180910390fd5b8091505092915050565b6000612ca66128e3565b90506000612cbd82846118cc90919063ffffffff16565b9050612d1181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612d6e82600654612bf490919063ffffffff16565b600681905550612d8981600754612c3e90919063ffffffff16565b6007819055505050565b600080600080612dbf6064612db1888a6118cc90919063ffffffff16565b61194790919063ffffffff16565b90506000612de96064612ddb888b6118cc90919063ffffffff16565b61194790919063ffffffff16565b90506000612e1282612e04858c612bf490919063ffffffff16565b612bf490919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612e4285896118cc90919063ffffffff16565b90506000612e5986896118cc90919063ffffffff16565b90506000612e7087896118cc90919063ffffffff16565b90506000612e9982612e8b8587612bf490919063ffffffff16565b612bf490919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612f1482612ecb565b810181811067ffffffffffffffff82111715612f3357612f32612edc565b5b80604052505050565b6000612f46612eb2565b9050612f528282612f0b565b919050565b600067ffffffffffffffff821115612f7257612f71612edc565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fb382612f88565b9050919050565b612fc381612fa8565b8114612fce57600080fd5b50565b600081359050612fe081612fba565b92915050565b6000612ff9612ff484612f57565b612f3c565b9050808382526020820190506020840283018581111561301c5761301b612f83565b5b835b8181101561304557806130318882612fd1565b84526020840193505060208101905061301e565b5050509392505050565b600082601f83011261306457613063612ec6565b5b8135613074848260208601612fe6565b91505092915050565b60006020828403121561309357613092612ebc565b5b600082013567ffffffffffffffff8111156130b1576130b0612ec1565b5b6130bd8482850161304f565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131005780820151818401526020810190506130e5565b8381111561310f576000848401525b50505050565b6000613120826130c6565b61312a81856130d1565b935061313a8185602086016130e2565b61314381612ecb565b840191505092915050565b600060208201905081810360008301526131688184613115565b905092915050565b6000819050919050565b61318381613170565b811461318e57600080fd5b50565b6000813590506131a08161317a565b92915050565b600080604083850312156131bd576131bc612ebc565b5b60006131cb85828601612fd1565b92505060206131dc85828601613191565b9150509250929050565b60008115159050919050565b6131fb816131e6565b82525050565b600060208201905061321660008301846131f2565b92915050565b6000819050919050565b600061324161323c61323784612f88565b61321c565b612f88565b9050919050565b600061325382613226565b9050919050565b600061326582613248565b9050919050565b6132758161325a565b82525050565b6000602082019050613290600083018461326c565b92915050565b61329f81613170565b82525050565b60006020820190506132ba6000830184613296565b92915050565b6000806000606084860312156132d9576132d8612ebc565b5b60006132e786828701612fd1565b93505060206132f886828701612fd1565b925050604061330986828701613191565b9150509250925092565b600060ff82169050919050565b61332981613313565b82525050565b60006020820190506133446000830184613320565b92915050565b61335381612fa8565b82525050565b600060208201905061336e600083018461334a565b92915050565b60006020828403121561338a57613389612ebc565b5b600061339884828501612fd1565b91505092915050565b6133aa816131e6565b81146133b557600080fd5b50565b6000813590506133c7816133a1565b92915050565b6000602082840312156133e3576133e2612ebc565b5b60006133f1848285016133b8565b91505092915050565b6000602082840312156134105761340f612ebc565b5b600061341e84828501613191565b91505092915050565b6000806000806080858703121561344157613440612ebc565b5b600061344f87828801613191565b945050602061346087828801613191565b935050604061347187828801613191565b925050606061348287828801613191565b91505092959194509250565b600080fd5b60008083601f8401126134a9576134a8612ec6565b5b8235905067ffffffffffffffff8111156134c6576134c561348e565b5b6020830191508360208202830111156134e2576134e1612f83565b5b9250929050565b60008060006040848603121561350257613501612ebc565b5b600084013567ffffffffffffffff8111156135205761351f612ec1565b5b61352c86828701613493565b9350935050602061353f868287016133b8565b9150509250925092565b600080604083850312156135605761355f612ebc565b5b600061356e85828601612fd1565b925050602061357f85828601612fd1565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006135bf6020836130d1565b91506135ca82613589565b602082019050919050565b600060208201905081810360008301526135ee816135b2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061365e82613170565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561369157613690613624565b5b600182019050919050565b60006136a782613170565b91506136b283613170565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136eb576136ea613624565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061373082613170565b915061373b83613170565b92508261374b5761374a6136f6565b5b828204905092915050565b7f4275792072657761726473206d757374206265206265747765656e203025206160008201527f6e64203525000000000000000000000000000000000000000000000000000000602082015250565b60006137b26025836130d1565b91506137bd82613756565b604082019050919050565b600060208201905081810360008301526137e1816137a5565b9050919050565b7f42757920746178206d757374206265206265747765656e20302520616e64203560008201527f3025000000000000000000000000000000000000000000000000000000000000602082015250565b60006138446022836130d1565b915061384f826137e8565b604082019050919050565b6000602082019050818103600083015261387381613837565b9050919050565b7f53656c6c2072657761726473206d757374206265206265747765656e2030252060008201527f616e642035250000000000000000000000000000000000000000000000000000602082015250565b60006138d66026836130d1565b91506138e18261387a565b604082019050919050565b60006020820190508181036000830152613905816138c9565b9050919050565b7f53656c6c20746178206d757374206265206265747765656e20302520616e642060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b60006139686023836130d1565b91506139738261390c565b604082019050919050565b600060208201905081810360008301526139978161395b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006139fa6026836130d1565b9150613a058261399e565b604082019050919050565b60006020820190508181036000830152613a29816139ed565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a8c6021836130d1565b9150613a9782613a30565b604082019050919050565b60006020820190508181036000830152613abb81613a7f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b1e6024836130d1565b9150613b2982613ac2565b604082019050919050565b60006020820190508181036000830152613b4d81613b11565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bb06022836130d1565b9150613bbb82613b54565b604082019050919050565b60006020820190508181036000830152613bdf81613ba3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613c426025836130d1565b9150613c4d82613be6565b604082019050919050565b60006020820190508181036000830152613c7181613c35565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613cd46023836130d1565b9150613cdf82613c78565b604082019050919050565b60006020820190508181036000830152613d0381613cc7565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613d666029836130d1565b9150613d7182613d0a565b604082019050919050565b60006020820190508181036000830152613d9581613d59565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613df8603f836130d1565b9150613e0382613d9c565b604082019050919050565b60006020820190508181036000830152613e2781613deb565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613e64601c836130d1565b9150613e6f82613e2e565b602082019050919050565b60006020820190508181036000830152613e9381613e57565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613ef66023836130d1565b9150613f0182613e9a565b604082019050919050565b60006020820190508181036000830152613f2581613ee9565b9050919050565b6000613f3782613170565b9150613f4283613170565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f7757613f76613624565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613fde6023836130d1565b9150613fe982613f82565b604082019050919050565b6000602082019050818103600083015261400d81613fd1565b9050919050565b600061401f82613170565b915061402a83613170565b92508282101561403d5761403c613624565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006140a4602a836130d1565b91506140af82614048565b604082019050919050565b600060208201905081810360008301526140d381614097565b9050919050565b6000815190506140e981612fba565b92915050565b60006020828403121561410557614104612ebc565b5b6000614113848285016140da565b91505092915050565b6000819050919050565b600061414161413c6141378461411c565b61321c565b613170565b9050919050565b61415181614126565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61418c81612fa8565b82525050565b600061419e8383614183565b60208301905092915050565b6000602082019050919050565b60006141c282614157565b6141cc8185614162565b93506141d783614173565b8060005b838110156142085781516141ef8882614192565b97506141fa836141aa565b9250506001810190506141db565b5085935050505092915050565b600060a08201905061422a6000830188613296565b6142376020830187614148565b818103604083015261424981866141b7565b9050614258606083018561334a565b6142656080830184613296565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006142a5601b836130d1565b91506142b08261426f565b602082019050919050565b600060208201905081810360008301526142d481614298565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e144110094b1bdcc0320804916e7477c74d16372a9996857692560bfbc2ee29264736f6c634300080a0033