60806040523480156200001157600080fd5b5060405162005fef38038062005fef8339818101604052810190620000379190620005ea565b868681600090816200004a91906200093b565b5080600190816200005c91906200093b565b5050506000600a60006101000a81548160ff0219169083151502179055506001600d81905550620000a2620000966200013660201b60201c565b6200013e60201b60201c565b8460169081620000b391906200093b565b5066b1a2bc2ec500006010819055506631bced02db000060118190555083601260006101000a81548163ffffffff021916908363ffffffff160217905550826013819055508160148190555080600f81905550620001296200011a6200020460201b60201c565b6103e86200022e60201b60201c565b5050505050505062000b3d565b600033905090565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200023e620003d160201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff1611156200029f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002969062000aa9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000311576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003089062000b1b565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600b60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b6000612710905090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200044482620003f9565b810181811067ffffffffffffffff821117156200046657620004656200040a565b5b80604052505050565b60006200047b620003db565b905062000489828262000439565b919050565b600067ffffffffffffffff821115620004ac57620004ab6200040a565b5b620004b782620003f9565b9050602081019050919050565b60005b83811015620004e4578082015181840152602081019050620004c7565b60008484015250505050565b60006200050762000501846200048e565b6200046f565b905082815260208101848484011115620005265762000525620003f4565b5b62000533848285620004c4565b509392505050565b600082601f830112620005535762000552620003ef565b5b815162000565848260208601620004f0565b91505092915050565b600063ffffffff82169050919050565b62000589816200056e565b81146200059557600080fd5b50565b600081519050620005a9816200057e565b92915050565b6000819050919050565b620005c481620005af565b8114620005d057600080fd5b50565b600081519050620005e481620005b9565b92915050565b600080600080600080600060e0888a0312156200060c576200060b620003e5565b5b600088015167ffffffffffffffff8111156200062d576200062c620003ea565b5b6200063b8a828b016200053b565b975050602088015167ffffffffffffffff8111156200065f576200065e620003ea565b5b6200066d8a828b016200053b565b965050604088015167ffffffffffffffff811115620006915762000690620003ea565b5b6200069f8a828b016200053b565b9550506060620006b28a828b0162000598565b9450506080620006c58a828b01620005d3565b93505060a0620006d88a828b01620005d3565b92505060c0620006eb8a828b01620005d3565b91505092959891949750929550565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200074d57607f821691505b60208210810362000763576200076262000705565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007cd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200078e565b620007d986836200078e565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200081c620008166200081084620005af565b620007f1565b620005af565b9050919050565b6000819050919050565b6200083883620007fb565b62000850620008478262000823565b8484546200079b565b825550505050565b600090565b6200086762000858565b620008748184846200082d565b505050565b5b818110156200089c57620008906000826200085d565b6001810190506200087a565b5050565b601f821115620008eb57620008b58162000769565b620008c0846200077e565b81016020851015620008d0578190505b620008e8620008df856200077e565b83018262000879565b50505b505050565b600082821c905092915050565b60006200091060001984600802620008f0565b1980831691505092915050565b60006200092b8383620008fd565b9150826002028217905092915050565b6200094682620006fa565b67ffffffffffffffff8111156200096257620009616200040a565b5b6200096e825462000734565b6200097b828285620008a0565b600060209050601f831160018114620009b357600084156200099e578287015190505b620009aa85826200091d565b86555062000a1a565b601f198416620009c38662000769565b60005b82811015620009ed57848901518255600182019150602085019450602081019050620009c6565b8683101562000a0d578489015162000a09601f891682620008fd565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b600062000a91602a8362000a22565b915062000a9e8262000a33565b604082019050919050565b6000602082019050818103600083015262000ac48162000a82565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b600062000b0360198362000a22565b915062000b108262000acb565b602082019050919050565b6000602082019050818103600083015262000b368162000af4565b9050919050565b6154a28062000b4d6000396000f3fe60806040526004361061023b5760003560e01c80636352211e1161012e578063a22cb465116100ab578063c87b56dd1161006f578063c87b56dd14610823578063d18ffd6614610860578063d5e734c41461087c578063e985e9c5146108a5578063f2fde38b146108e25761023b565b8063a22cb46514610768578063aa1b103f14610791578063ac1349a1146107a8578063b88d4fde146107d1578063c8001523146107fa5761023b565b80638da5cb5b116100f25780638da5cb5b146106955780638feca317146106c057806390028083146106e957806395d89b4114610712578063a04e5f7f1461073d5761023b565b80636352211e146105c457806370a0823114610601578063715018a61461063e5780638456cb59146106555780638a616bc01461066c5761023b565b8063363ff86f116101bc57806352c0295f1161018057806352c0295f146104f35780635944c7531461051e5780635c975abb146105475780635d8ceea914610572578063610c55a91461059b5761023b565b8063363ff86f146104225780633ccfd60b1461045f5780633f4ba83a1461047657806342842e0e1461048d5780634f6ccce7146104b65761023b565b806318160ddd1161020357806318160ddd1461033757806323b872dd146103625780632a55205a1461038b5780632db11544146103c95780632f745c59146103e55761023b565b806301ffc9a71461024057806304634d8d1461027d57806306fdde03146102a6578063081812fc146102d1578063095ea7b31461030e575b600080fd5b34801561024c57600080fd5b5061026760048036038101906102629190613840565b61090b565b6040516102749190613888565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f9190613945565b61096c565b005b3480156102b257600080fd5b506102bb610982565b6040516102c89190613a15565b60405180910390f35b3480156102dd57600080fd5b506102f860048036038101906102f39190613a6d565b610a14565b6040516103059190613aa9565b60405180910390f35b34801561031a57600080fd5b5061033560048036038101906103309190613ac4565b610a5a565b005b34801561034357600080fd5b5061034c610b71565b6040516103599190613b13565b60405180910390f35b34801561036e57600080fd5b5061038960048036038101906103849190613b2e565b610b7e565b005b34801561039757600080fd5b506103b260048036038101906103ad9190613b81565b610bde565b6040516103c0929190613bc1565b60405180910390f35b6103e360048036038101906103de9190613a6d565b610dc8565b005b3480156103f157600080fd5b5061040c60048036038101906104079190613ac4565b610f37565b6040516104199190613b13565b60405180910390f35b34801561042e57600080fd5b5061044960048036038101906104449190613d1f565b610fdc565b6040516104569190613a15565b60405180910390f35b34801561046b57600080fd5b5061047461118f565b005b34801561048257600080fd5b5061048b611264565b005b34801561049957600080fd5b506104b460048036038101906104af9190613b2e565b61127e565b005b3480156104c257600080fd5b506104dd60048036038101906104d89190613a6d565b61129e565b6040516104ea9190613b13565b60405180910390f35b3480156104ff57600080fd5b5061050861130f565b6040516105159190613a15565b60405180910390f35b34801561052a57600080fd5b5061054560048036038101906105409190613d68565b6113a1565b005b34801561055357600080fd5b5061055c6113b9565b6040516105699190613888565b60405180910390f35b34801561057e57600080fd5b5061059960048036038101906105949190613e1b565b6113d0565b005b3480156105a757600080fd5b506105c260048036038101906105bd9190613a6d565b611431565b005b3480156105d057600080fd5b506105eb60048036038101906105e69190613a6d565b611443565b6040516105f89190613aa9565b60405180910390f35b34801561060d57600080fd5b5061062860048036038101906106239190613e68565b6114c9565b6040516106359190613b13565b60405180910390f35b34801561064a57600080fd5b50610653611580565b005b34801561066157600080fd5b5061066a611594565b005b34801561067857600080fd5b50610693600480360381019061068e9190613a6d565b6115ae565b005b3480156106a157600080fd5b506106aa6115c2565b6040516106b79190613aa9565b60405180910390f35b3480156106cc57600080fd5b506106e760048036038101906106e29190613b81565b6115ec565b005b3480156106f557600080fd5b50610710600480360381019061070b9190613ed1565b611606565b005b34801561071e57600080fd5b5061072761163a565b6040516107349190613a15565b60405180910390f35b34801561074957600080fd5b506107526116cc565b60405161075f9190613a15565b60405180910390f35b34801561077457600080fd5b5061078f600480360381019061078a9190613f2a565b61175e565b005b34801561079d57600080fd5b506107a6611774565b005b3480156107b457600080fd5b506107cf60048036038101906107ca9190613e1b565b611786565b005b3480156107dd57600080fd5b506107f860048036038101906107f3919061400b565b6117e7565b005b34801561080657600080fd5b50610821600480360381019061081c9190613a6d565b611849565b005b34801561082f57600080fd5b5061084a60048036038101906108459190613a6d565b61185b565b6040516108579190613a15565b60405180910390f35b61087a60048036038101906108759190613b81565b6118d9565b005b34801561088857600080fd5b506108a3600480360381019061089e9190613a6d565b611bae565b005b3480156108b157600080fd5b506108cc60048036038101906108c7919061408e565b611bc0565b6040516108d99190613888565b60405180910390f35b3480156108ee57600080fd5b5061090960048036038101906109049190613e68565b611c54565b005b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610965575061096482611cd7565b5b9050919050565b610974611d51565b61097e8282611dcf565b5050565b606060008054610991906140fd565b80601f01602080910402602001604051908101604052809291908181526020018280546109bd906140fd565b8015610a0a5780601f106109df57610100808354040283529160200191610a0a565b820191906000526020600020905b8154815290600101906020018083116109ed57829003601f168201915b5050505050905090565b6000610a1f82611f64565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a6582611443565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc906141a0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610af4611faf565b73ffffffffffffffffffffffffffffffffffffffff161480610b235750610b2281610b1d611faf565b611bc0565b5b610b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5990614232565b60405180910390fd5b610b6c8383611fb7565b505050565b6000600880549050905090565b610b8f610b89611faf565b82612070565b610bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc5906142c4565b60405180910390fd5b610bd9838383612105565b505050565b6000806000600c60008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610d7357600b6040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610d7d6123fe565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610da99190614313565b610db39190614384565b90508160000151819350935050509250929050565b610dd0612408565b610dd8612457565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d90614401565b60405180910390fd5b6000610e5260156124a1565b9050600f548282610e639190614421565b10610ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9a906144a1565b60405180910390fd5b3482601054610eb29190614313565b1115610ef3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eea9061450d565b60405180910390fd5b60005b82811015610f2a57610f13338284610f0e9190614421565b6124af565b610f1d60156124cd565b8080600101915050610ef6565b5050610f346124e3565b50565b6000610f42836114c9565b8210610f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7a9061459f565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60606000610fe9426124ed565b9050600083905060008290506000815183516110059190614421565b67ffffffffffffffff81111561101e5761101d613bf4565b5b6040519080825280601f01601f1916602001820160405280156110505781602001600182028036833780820191505090505b5090506000805b84518160ff1610156110ea57848160ff1681518110611079576110786145bf565b5b602001015160f81c60f81b838360ff168151811061109a576110996145bf565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535081806110d4906145fb565b92505080806110e2906145fb565b915050611057565b5060005b83518160ff16101561118157838160ff16815181106111105761110f6145bf565b5b602001015160f81c60f81b838360ff1681518110611131576111306145bf565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350818061116b906145fb565b9250508080611179906145fb565b9150506110ee565b508195505050505050919050565b611197611d51565b61119f612408565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120490614401565b60405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611258573d6000803e3d6000fd5b50506112626124e3565b565b61126c611d51565b6112746125bb565b61127c612604565b565b611299838383604051806020016040528060008152506117e7565b505050565b60006112a8610b71565b82106112e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e090614696565b60405180910390fd5b600882815481106112fd576112fc6145bf565b5b90600052602060002001549050919050565b60606016805461131e906140fd565b80601f016020809104026020016040519081016040528092919081815260200182805461134a906140fd565b80156113975780601f1061136c57610100808354040283529160200191611397565b820191906000526020600020905b81548152906001019060200180831161137a57829003601f168201915b5050505050905090565b6113a9611d51565b6113b4838383612667565b505050565b6000600a60009054906101000a900460ff16905090565b6113d8611d51565b8181601791826113e992919061486d565b507f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c600061141760156124a1565b604051611425929190614978565b60405180910390a15050565b611439611d51565b8060118190555050565b60008061144f8361280e565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b7906149ed565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153090614a7f565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611588611d51565b611592600061284b565b565b61159c611d51565b6115a4612457565b6115ac612911565b565b6115b6611d51565b6115bf81612974565b50565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6115f4611d51565b81601381905550806014819055505050565b61160e611d51565b6116166125bb565b80601260006101000a81548163ffffffff021916908363ffffffff16021790555050565b606060018054611649906140fd565b80601f0160208091040260200160405190810160405280929190818152602001828054611675906140fd565b80156116c25780601f10611697576101008083540402835291602001916116c2565b820191906000526020600020905b8154815290600101906020018083116116a557829003601f168201915b5050505050905090565b6060601780546116db906140fd565b80601f0160208091040260200160405190810160405280929190818152602001828054611707906140fd565b80156117545780601f1061172957610100808354040283529160200191611754565b820191906000526020600020905b81548152906001019060200180831161173757829003601f168201915b5050505050905090565b611770611769611faf565b83836129d3565b5050565b61177c611d51565b611784612b3f565b565b61178e611d51565b81816016918261179f92919061486d565b507f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c60006117cd60156124a1565b6040516117db929190614978565b60405180910390a15050565b6117f86117f2611faf565b83612070565b611837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182e906142c4565b60405180910390fd5b61184384848484612b8c565b50505050565b611851611d51565b80600f8190555050565b606060006017805461186c906140fd565b905011156118a657601761187f836124ed565b604051602001611890929190614b5e565b60405160208183030381529060405290506118d4565b60166118b1836124ed565b6040516020016118c2929190614b5e565b60405160208183030381529060405290505b919050565b6118e1612408565b6118e9612457565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611957576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194e90614401565b60405180910390fd5b80601260009054906101000a900463ffffffff1663ffffffff16146119b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a890614bce565b60405180910390fd5b60006119bd60156124a1565b9050426013541115611a036040518060400160405280601181526020017f53616c65206e6f7420737461727465642e000000000000000000000000000000815250610fdc565b90611a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3b9190613a15565b60405180910390fd5b504260145411611a886040518060400160405280600b81526020017f53616c6520656e6465642e000000000000000000000000000000000000000000815250610fdc565b90611ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac09190613a15565b60405180910390fd5b50600f548382611ad99190614421565b10611b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b10906144a1565b60405180910390fd5b3483601154611b289190614313565b1115611b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b609061450d565b60405180910390fd5b60005b83811015611ba057611b89338284611b849190614421565b6124af565b611b9360156124cd565b8080600101915050611b6c565b5050611baa6124e3565b5050565b611bb6611d51565b8060108190555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611c5c611d51565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc290614c60565b60405180910390fd5b611cd48161284b565b50565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611d4a5750611d4982612be8565b5b9050919050565b611d59611faf565b73ffffffffffffffffffffffffffffffffffffffff16611d776115c2565b73ffffffffffffffffffffffffffffffffffffffff1614611dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc490614ccc565b60405180910390fd5b565b611dd76123fe565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff161115611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c90614d5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9b90614dca565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600b60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b611f6d81612c62565b611fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa3906149ed565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661202a83611443565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061207c83611443565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806120be57506120bd8185611bc0565b5b806120fc57508373ffffffffffffffffffffffffffffffffffffffff166120e484610a14565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661212582611443565b73ffffffffffffffffffffffffffffffffffffffff161461217b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217290614e5c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e190614eee565b60405180910390fd5b6121f78383836001612ca3565b8273ffffffffffffffffffffffffffffffffffffffff1661221782611443565b73ffffffffffffffffffffffffffffffffffffffff161461226d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226490614e5c565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46123f98383836001612e01565b505050565b6000612710905090565b6002600d540361244d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244490614f5a565b60405180910390fd5b6002600d81905550565b61245f6113b9565b1561249f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249690614fc6565b60405180910390fd5b565b600081600001549050919050565b6124c9828260405180602001604052806000815250612e07565b5050565b6001816000016000828254019250508190555050565b6001600d81905550565b6060600060016124fc84612e62565b01905060008167ffffffffffffffff81111561251b5761251a613bf4565b5b6040519080825280601f01601f19166020018201604052801561254d5781602001600182028036833780820191505090505b509050600082602001820190505b6001156125b0578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816125a4576125a3614355565b5b0494506000850361255b575b819350505050919050565b6125c36113b9565b612602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f990615032565b60405180910390fd5b565b61260c6125bb565b6000600a60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612650611faf565b60405161265d9190613aa9565b60405180910390a1565b61266f6123fe565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff1611156126cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c490614d5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361273c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127339061509e565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600c600085815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550905050505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612919612457565b6001600a60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861295d611faf565b60405161296a9190613aa9565b60405180910390a1565b600c6000828152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a389061510a565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612b329190613888565b60405180910390a3505050565b600b600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff02191690555050565b612b97848484612105565b612ba384848484612fb5565b612be2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd99061519c565b60405180910390fd5b50505050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612c5b5750612c5a8261313c565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16612c848361280e565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b612caf8484848461321e565b6001811115612cf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cea9061522e565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612d3a57612d3581613224565b612d79565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614612d7857612d77858261326d565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612dbb57612db6816133da565b612dfa565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612df957612df884826134ab565b5b5b5050505050565b50505050565b612e11838361352a565b612e1e6000848484612fb5565b612e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e549061519c565b60405180910390fd5b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612ec0577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612eb657612eb5614355565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612efd576d04ee2d6d415b85acef81000000008381612ef357612ef2614355565b5b0492506020810190505b662386f26fc100008310612f2c57662386f26fc100008381612f2257612f21614355565b5b0492506010810190505b6305f5e1008310612f55576305f5e1008381612f4b57612f4a614355565b5b0492506008810190505b6127108310612f7a576127108381612f7057612f6f614355565b5b0492506004810190505b60648310612f9d5760648381612f9357612f92614355565b5b0492506002810190505b600a8310612fac576001810190505b80915050919050565b6000612fd68473ffffffffffffffffffffffffffffffffffffffff16613747565b1561312f578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612fff611faf565b8786866040518563ffffffff1660e01b815260040161302194939291906152a3565b6020604051808303816000875af192505050801561305d57506040513d601f19601f8201168201806040525081019061305a9190615304565b60015b6130df573d806000811461308d576040519150601f19603f3d011682016040523d82523d6000602084013e613092565b606091505b5060008151036130d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130ce9061519c565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613134565b600190505b949350505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061320757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061321757506132168261376a565b5b9050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161327a846114c9565b6132849190615331565b9050600060076000848152602001908152602001600020549050818114613369576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506133ee9190615331565b905060006009600084815260200190815260200160002054905060006008838154811061341e5761341d6145bf565b5b9060005260206000200154905080600883815481106134405761343f6145bf565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061348f5761348e615365565b5b6001900381819060005260206000200160009055905550505050565b60006134b6836114c9565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613599576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613590906153e0565b60405180910390fd5b6135a281612c62565b156135e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135d99061544c565b60405180910390fd5b6135f0600083836001612ca3565b6135f981612c62565b15613639576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136309061544c565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613743600083836001612e01565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61381d816137e8565b811461382857600080fd5b50565b60008135905061383a81613814565b92915050565b600060208284031215613856576138556137de565b5b60006138648482850161382b565b91505092915050565b60008115159050919050565b6138828161386d565b82525050565b600060208201905061389d6000830184613879565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006138ce826138a3565b9050919050565b6138de816138c3565b81146138e957600080fd5b50565b6000813590506138fb816138d5565b92915050565b60006bffffffffffffffffffffffff82169050919050565b61392281613901565b811461392d57600080fd5b50565b60008135905061393f81613919565b92915050565b6000806040838503121561395c5761395b6137de565b5b600061396a858286016138ec565b925050602061397b85828601613930565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156139bf5780820151818401526020810190506139a4565b60008484015250505050565b6000601f19601f8301169050919050565b60006139e782613985565b6139f18185613990565b9350613a018185602086016139a1565b613a0a816139cb565b840191505092915050565b60006020820190508181036000830152613a2f81846139dc565b905092915050565b6000819050919050565b613a4a81613a37565b8114613a5557600080fd5b50565b600081359050613a6781613a41565b92915050565b600060208284031215613a8357613a826137de565b5b6000613a9184828501613a58565b91505092915050565b613aa3816138c3565b82525050565b6000602082019050613abe6000830184613a9a565b92915050565b60008060408385031215613adb57613ada6137de565b5b6000613ae9858286016138ec565b9250506020613afa85828601613a58565b9150509250929050565b613b0d81613a37565b82525050565b6000602082019050613b286000830184613b04565b92915050565b600080600060608486031215613b4757613b466137de565b5b6000613b55868287016138ec565b9350506020613b66868287016138ec565b9250506040613b7786828701613a58565b9150509250925092565b60008060408385031215613b9857613b976137de565b5b6000613ba685828601613a58565b9250506020613bb785828601613a58565b9150509250929050565b6000604082019050613bd66000830185613a9a565b613be36020830184613b04565b9392505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613c2c826139cb565b810181811067ffffffffffffffff82111715613c4b57613c4a613bf4565b5b80604052505050565b6000613c5e6137d4565b9050613c6a8282613c23565b919050565b600067ffffffffffffffff821115613c8a57613c89613bf4565b5b613c93826139cb565b9050602081019050919050565b82818337600083830152505050565b6000613cc2613cbd84613c6f565b613c54565b905082815260208101848484011115613cde57613cdd613bef565b5b613ce9848285613ca0565b509392505050565b600082601f830112613d0657613d05613bea565b5b8135613d16848260208601613caf565b91505092915050565b600060208284031215613d3557613d346137de565b5b600082013567ffffffffffffffff811115613d5357613d526137e3565b5b613d5f84828501613cf1565b91505092915050565b600080600060608486031215613d8157613d806137de565b5b6000613d8f86828701613a58565b9350506020613da0868287016138ec565b9250506040613db186828701613930565b9150509250925092565b600080fd5b600080fd5b60008083601f840112613ddb57613dda613bea565b5b8235905067ffffffffffffffff811115613df857613df7613dbb565b5b602083019150836001820283011115613e1457613e13613dc0565b5b9250929050565b60008060208385031215613e3257613e316137de565b5b600083013567ffffffffffffffff811115613e5057613e4f6137e3565b5b613e5c85828601613dc5565b92509250509250929050565b600060208284031215613e7e57613e7d6137de565b5b6000613e8c848285016138ec565b91505092915050565b600063ffffffff82169050919050565b613eae81613e95565b8114613eb957600080fd5b50565b600081359050613ecb81613ea5565b92915050565b600060208284031215613ee757613ee66137de565b5b6000613ef584828501613ebc565b91505092915050565b613f078161386d565b8114613f1257600080fd5b50565b600081359050613f2481613efe565b92915050565b60008060408385031215613f4157613f406137de565b5b6000613f4f858286016138ec565b9250506020613f6085828601613f15565b9150509250929050565b600067ffffffffffffffff821115613f8557613f84613bf4565b5b613f8e826139cb565b9050602081019050919050565b6000613fae613fa984613f6a565b613c54565b905082815260208101848484011115613fca57613fc9613bef565b5b613fd5848285613ca0565b509392505050565b600082601f830112613ff257613ff1613bea565b5b8135614002848260208601613f9b565b91505092915050565b60008060008060808587031215614025576140246137de565b5b6000614033878288016138ec565b9450506020614044878288016138ec565b935050604061405587828801613a58565b925050606085013567ffffffffffffffff811115614076576140756137e3565b5b61408287828801613fdd565b91505092959194509250565b600080604083850312156140a5576140a46137de565b5b60006140b3858286016138ec565b92505060206140c4858286016138ec565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061411557607f821691505b602082108103614128576141276140ce565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061418a602183613990565b91506141958261412e565b604082019050919050565b600060208201905081810360008301526141b98161417d565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061421c603d83613990565b9150614227826141c0565b604082019050919050565b6000602082019050818103600083015261424b8161420f565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006142ae602d83613990565b91506142b982614252565b604082019050919050565b600060208201905081810360008301526142dd816142a1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061431e82613a37565b915061432983613a37565b925082820261433781613a37565b9150828204841483151761434e5761434d6142e4565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061438f82613a37565b915061439a83613a37565b9250826143aa576143a9614355565b5b828204905092915050565b7f5468652063616c6c6572206973206e6f7420454f412e00000000000000000000600082015250565b60006143eb601683613990565b91506143f6826143b5565b602082019050919050565b6000602082019050818103600083015261441a816143de565b9050919050565b600061442c82613a37565b915061443783613a37565b925082820190508082111561444f5761444e6142e4565b5b92915050565b7f4e6f7420656e6f756768204e4654732e00000000000000000000000000000000600082015250565b600061448b601083613990565b915061449682614455565b602082019050919050565b600060208201905081810360008301526144ba8161447e565b9050919050565b7f4e6f7420656e6f75676820457468657200000000000000000000000000000000600082015250565b60006144f7601083613990565b9150614502826144c1565b602082019050919050565b60006020820190508181036000830152614526816144ea565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000614589602b83613990565b91506145948261452d565b604082019050919050565b600060208201905081810360008301526145b88161457c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b6000614606826145ee565b915060ff8203614619576146186142e4565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614680602c83613990565b915061468b82614624565b604082019050919050565b600060208201905081810360008301526146af81614673565b9050919050565b600082905092915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026147237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826146e6565b61472d86836146e6565b95508019841693508086168417925050509392505050565b6000819050919050565b600061476a61476561476084613a37565b614745565b613a37565b9050919050565b6000819050919050565b6147848361474f565b61479861479082614771565b8484546146f3565b825550505050565b600090565b6147ad6147a0565b6147b881848461477b565b505050565b5b818110156147dc576147d16000826147a5565b6001810190506147be565b5050565b601f821115614821576147f2816146c1565b6147fb846146d6565b8101602085101561480a578190505b61481e614816856146d6565b8301826147bd565b50505b505050565b600082821c905092915050565b600061484460001984600802614826565b1980831691505092915050565b600061485d8383614833565b9150826002028217905092915050565b61487783836146b6565b67ffffffffffffffff8111156148905761488f613bf4565b5b61489a82546140fd565b6148a58282856147e0565b6000601f8311600181146148d457600084156148c2578287013590505b6148cc8582614851565b865550614934565b601f1984166148e2866146c1565b60005b8281101561490a578489013582556001820191506020850194506020810190506148e5565b868310156149275784890135614923601f891682614833565b8355505b6001600288020188555050505b50505050505050565b6000819050919050565b600061496261495d6149588461493d565b614745565b613a37565b9050919050565b61497281614947565b82525050565b600060408201905061498d6000830185614969565b61499a6020830184613b04565b9392505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006149d7601883613990565b91506149e2826149a1565b602082019050919050565b60006020820190508181036000830152614a06816149ca565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614a69602983613990565b9150614a7482614a0d565b604082019050919050565b60006020820190508181036000830152614a9881614a5c565b9050919050565b600081905092915050565b60008154614ab7816140fd565b614ac18186614a9f565b94506001821660008114614adc5760018114614af157614b24565b60ff1983168652811515820286019350614b24565b614afa856146c1565b60005b83811015614b1c57815481890152600182019150602081019050614afd565b838801955050505b50505092915050565b6000614b3882613985565b614b428185614a9f565b9350614b528185602086016139a1565b80840191505092915050565b6000614b6a8285614aaa565b9150614b768284614b2d565b91508190509392505050565b7f696e636f7272656374207072652073616c65206b657900000000000000000000600082015250565b6000614bb8601683613990565b9150614bc382614b82565b602082019050919050565b60006020820190508181036000830152614be781614bab565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614c4a602683613990565b9150614c5582614bee565b604082019050919050565b60006020820190508181036000830152614c7981614c3d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614cb6602083613990565b9150614cc182614c80565b602082019050919050565b60006020820190508181036000830152614ce581614ca9565b9050919050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b6000614d48602a83613990565b9150614d5382614cec565b604082019050919050565b60006020820190508181036000830152614d7781614d3b565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b6000614db4601983613990565b9150614dbf82614d7e565b602082019050919050565b60006020820190508181036000830152614de381614da7565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614e46602583613990565b9150614e5182614dea565b604082019050919050565b60006020820190508181036000830152614e7581614e39565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614ed8602483613990565b9150614ee382614e7c565b604082019050919050565b60006020820190508181036000830152614f0781614ecb565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000614f44601f83613990565b9150614f4f82614f0e565b602082019050919050565b60006020820190508181036000830152614f7381614f37565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000614fb0601083613990565b9150614fbb82614f7a565b602082019050919050565b60006020820190508181036000830152614fdf81614fa3565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061501c601483613990565b915061502782614fe6565b602082019050919050565b6000602082019050818103600083015261504b8161500f565b9050919050565b7f455243323938313a20496e76616c696420706172616d65746572730000000000600082015250565b6000615088601b83613990565b915061509382615052565b602082019050919050565b600060208201905081810360008301526150b78161507b565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006150f4601983613990565b91506150ff826150be565b602082019050919050565b60006020820190508181036000830152615123816150e7565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000615186603283613990565b91506151918261512a565b604082019050919050565b600060208201905081810360008301526151b581615179565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000615218603583613990565b9150615223826151bc565b604082019050919050565b600060208201905081810360008301526152478161520b565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006152758261524e565b61527f8185615259565b935061528f8185602086016139a1565b615298816139cb565b840191505092915050565b60006080820190506152b86000830187613a9a565b6152c56020830186613a9a565b6152d26040830185613b04565b81810360608301526152e4818461526a565b905095945050505050565b6000815190506152fe81613814565b92915050565b60006020828403121561531a576153196137de565b5b6000615328848285016152ef565b91505092915050565b600061533c82613a37565b915061534783613a37565b925082820390508181111561535f5761535e6142e4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006153ca602083613990565b91506153d582615394565b602082019050919050565b600060208201905081810360008301526153f9816153bd565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615436601c83613990565b915061544182615400565b602082019050919050565b6000602082019050818103600083015261546581615429565b905091905056fea2646970667358221220ceeacd7f069516232daf55c47bc4616a3b07a58095566da67111172823fa42c764736f6c6343000818003300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000003160e20000000000000000000000000000000000000000000000000000000065e91fa00000000000000000000000000000000000000000000000000000000067da414000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000f536f626154657374546f6b656e303200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008534f4241545430320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d61476b513570797452454355314d3761636d71786132417356525a643550724e354b71314e393359615459562f00000000000000000000