0x6080604052666a94d74f430000600c55662386f26fc10000600d55660aa87bee538000600e556101f4600f55600a601060006101000a81548160ff021916908360ff1602179055506040518060400160405280600881526020017f2e706f6c79676f6e000000000000000000000000000000000000000000000000815250601190816200008d919062000bd5565b50604051806060016040528060238152602001620063e06023913960129081620000b8919062000bd5565b50604051806060016040528060278152602001620063b96027913960139081620000e3919062000bd5565b506040518060600160405280602681526020016200640360269139601790816200010e919062000d21565b503480156200011c57600080fd5b506040518060400160405280601481526020017f506f6c79676f6e204e616d6520536572766963650000000000000000000000008152506040518060400160405280600881526020017f2e706f6c79676f6e00000000000000000000000000000000000000000000000081525081600490816200019a919062000bd5565b508060059081620001ac919062000bd5565b50620001bd620002e160201b60201c565b6000819055505050620001e5620001d9620002ea60201b60201c565b620002f260201b60201c565b6001600b819055506040518060400160405280600781526020017f706f6c79676f6e000000000000000000000000000000000000000000000000008152506001600080548152602001908152602001600020908162000245919062000bd5565b506000546002604051620002599062000e63565b9081526020016040518091039020819055503360146040516200027c9062000e63565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002db336001620003b860201b60201c565b62001052565b60006001905090565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620003da828260405180602001604052806000815250620003de60201b60201c565b5050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036200044b576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000830362000486576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200049b6000858386620007cb60201b60201c565b82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555082600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836006600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426006600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600081905060008482019050620006698673ffffffffffffffffffffffffffffffffffffffff16620007d160201b62002ac71760201c565b156200073b575b818673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4620006e76000878480600101955087620007f460201b60201c565b6200071e576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808210620006705782600054146200073557600080fd5b620007a7565b5b818060010192508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082106200073c575b816000819055505050620007c560008583866200095560201b60201c565b50505050565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a0262000822620002ea60201b60201c565b8786866040518563ffffffff1660e01b815260040162000846949392919062000f6a565b6020604051808303816000875af19250505080156200088557506040513d601f19601f8201168201806040525081019062000882919062001020565b60015b62000902573d8060008114620008b8576040519150601f19603f3d011682016040523d82523d6000602084013e620008bd565b606091505b506000815103620008fa576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b50505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620009dd57607f821691505b602082108103620009f357620009f262000995565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a5d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a1e565b62000a69868362000a1e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000ab662000ab062000aaa8462000a81565b62000a8b565b62000a81565b9050919050565b6000819050919050565b62000ad28362000a95565b62000aea62000ae18262000abd565b84845462000a2b565b825550505050565b600090565b62000b0162000af2565b62000b0e81848462000ac7565b505050565b5b8181101562000b365762000b2a60008262000af7565b60018101905062000b14565b5050565b601f82111562000b855762000b4f81620009f9565b62000b5a8462000a0e565b8101602085101562000b6a578190505b62000b8262000b798562000a0e565b83018262000b13565b50505b505050565b600082821c905092915050565b600062000baa6000198460080262000b8a565b1980831691505092915050565b600062000bc5838362000b97565b9150826002028217905092915050565b62000be0826200095b565b67ffffffffffffffff81111562000bfc5762000bfb62000966565b5b62000c088254620009c4565b62000c1582828562000b3a565b600060209050601f83116001811462000c4d576000841562000c38578287015190505b62000c44858262000bb7565b86555062000cb4565b601f19841662000c5d86620009f9565b60005b8281101562000c875784890151825560018201915060208501945060208101905062000c60565b8683101562000ca7578489015162000ca3601f89168262000b97565b8355505b6001600288020188555050505b505050505050565b60008190508160005260206000209050919050565b601f82111562000d1c5762000ce68162000cbc565b62000cf18462000a0e565b8101602085101562000d01578190505b62000d1962000d108562000a0e565b83018262000b13565b50505b505050565b62000d2c826200095b565b67ffffffffffffffff81111562000d485762000d4762000966565b5b62000d548254620009c4565b62000d6182828562000cd1565b600060209050601f83116001811462000d99576000841562000d84578287015190505b62000d90858262000bb7565b86555062000e00565b601f19841662000da98662000cbc565b60005b8281101562000dd35784890151825560018201915060208501945060208101905062000dac565b8683101562000df3578489015162000def601f89168262000b97565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b7f706f6c79676f6e00000000000000000000000000000000000000000000000000600082015250565b600062000e4b60078362000e08565b915062000e588262000e13565b600782019050919050565b600062000e708262000e3c565b9150819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ea78262000e7a565b9050919050565b62000eb98162000e9a565b82525050565b62000eca8162000a81565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101562000f0c57808201518184015260208101905062000eef565b60008484015250505050565b6000601f19601f8301169050919050565b600062000f368262000ed0565b62000f42818562000edb565b935062000f5481856020860162000eec565b62000f5f8162000f18565b840191505092915050565b600060808201905062000f81600083018762000eae565b62000f90602083018662000eae565b62000f9f604083018562000ebf565b818103606083015262000fb3818462000f29565b905095945050505050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62000ffa8162000fc3565b81146200100657600080fd5b50565b6000815190506200101a8162000fef565b92915050565b60006020828403121562001039576200103862000fbe565b5b6000620010498482850162001009565b91505092915050565b61535780620010626000396000f3fe6080604052600436106102675760003560e01c80638699e73811610144578063b88d4fde116100b6578063d7d6c4851161007a578063d7d6c4851461097a578063e8a3d485146109a3578063e985e9c5146109ce578063f121a87014610a0b578063f2fde38b14610a48578063f990f91a14610a7157610267565b8063b88d4fde14610897578063c63adb2b146108c0578063c6fbf9a9146108eb578063c72c431414610914578063c87b56dd1461093d57610267565b80639b2ea4bd116101085780639b2ea4bd14610777578063a22cb465146107a0578063a515419d146107c9578063a87e2e7c14610806578063af52974414610831578063b6c6e6921461085a57610267565b80638699e7381461067e5780638da5cb5b146106bb578063922efb95146106e6578063938e3d7b1461072357806395d89b411461074c57610267565b80632a55205a116101dd5780634865c572116101a15780634865c5721461055c57806355f804b3146105875780636352211e146105b05780636e32e499146105ed57806370a082311461062a578063715018a61461066757610267565b80632a55205a146104855780632f7758cd146104c35780633ccfd60b146105005780633e49fb7e1461051757806342842e0e1461053357610267565b806312ced64b1161022f57806312ced64b1461037757806316ec3105146103a057806318160ddd146103cb57806318f25ba3146103f65780631f72d8311461043357806323b872dd1461045c57610267565b806301ffc9a71461026c57806306fdde03146102a9578063081812fc146102d4578063095ea7b3146103115780630d6eec781461033a575b600080fd5b34801561027857600080fd5b50610293600480360381019061028e9190613ae5565b610aae565b6040516102a09190613b2d565b60405180910390f35b3480156102b557600080fd5b506102be610b90565b6040516102cb9190613bd8565b60405180910390f35b3480156102e057600080fd5b506102fb60048036038101906102f69190613c30565b610c22565b6040516103089190613c9e565b60405180910390f35b34801561031d57600080fd5b5061033860048036038101906103339190613ce5565b610c9e565b005b34801561034657600080fd5b50610361600480360381019061035c9190613e5a565b610da2565b60405161036e9190613eb2565b60405180910390f35b34801561038357600080fd5b5061039e60048036038101906103999190613f06565b610dd0565b005b3480156103ac57600080fd5b506103b5610e6a565b6040516103c29190613eb2565b60405180910390f35b3480156103d757600080fd5b506103e0610e70565b6040516103ed9190613eb2565b60405180910390f35b34801561040257600080fd5b5061041d60048036038101906104189190613f33565b610e87565b60405161042a9190614092565b60405180910390f35b34801561043f57600080fd5b5061045a60048036038101906104559190613c30565b610fc2565b005b34801561046857600080fd5b50610483600480360381019061047e91906140b4565b611048565b005b34801561049157600080fd5b506104ac60048036038101906104a79190614107565b611058565b6040516104ba929190614147565b60405180910390f35b3480156104cf57600080fd5b506104ea60048036038101906104e59190613c30565b611094565b6040516104f79190614092565b60405180910390f35b34801561050c57600080fd5b506105156111db565b005b610531600480360381019061052c9190614170565b611328565b005b34801561053f57600080fd5b5061055a600480360381019061055591906140b4565b61168c565b005b34801561056857600080fd5b506105716116ac565b60405161057e9190613eb2565b60405180910390f35b34801561059357600080fd5b506105ae60048036038101906105a99190613e5a565b6116b2565b005b3480156105bc57600080fd5b506105d760048036038101906105d29190613c30565b611741565b6040516105e49190613c9e565b60405180910390f35b3480156105f957600080fd5b50610614600480360381019061060f9190613c30565b611757565b6040516106219190613bd8565b60405180910390f35b34801561063657600080fd5b50610651600480360381019061064c91906141cc565b6117f7565b60405161065e9190613eb2565b60405180910390f35b34801561067357600080fd5b5061067c6118c6565b005b34801561068a57600080fd5b506106a560048036038101906106a091906141cc565b61194e565b6040516106b29190613bd8565b60405180910390f35b3480156106c757600080fd5b506106d06119ee565b6040516106dd9190613c9e565b60405180910390f35b3480156106f257600080fd5b5061070d60048036038101906107089190613e5a565b611a18565b60405161071a9190613b2d565b60405180910390f35b34801561072f57600080fd5b5061074a60048036038101906107459190613e5a565b611ba8565b005b34801561075857600080fd5b50610761611c37565b60405161076e9190613bd8565b60405180910390f35b34801561078357600080fd5b5061079e60048036038101906107999190614259565b611cc9565b005b3480156107ac57600080fd5b506107c760048036038101906107c291906142e5565b611f9c565b005b3480156107d557600080fd5b506107f060048036038101906107eb9190614325565b612113565b6040516107fd9190613bd8565b60405180910390f35b34801561081257600080fd5b5061081b6121e3565b6040516108289190613eb2565b60405180910390f35b34801561083d57600080fd5b50610858600480360381019061085391906143a1565b6121e9565b005b34801561086657600080fd5b50610881600480360381019061087c9190613e5a565b6122dc565b60405161088e9190613c9e565b60405180910390f35b3480156108a357600080fd5b506108be60048036038101906108b991906144f3565b612325565b005b3480156108cc57600080fd5b506108d561239d565b6040516108e29190613eb2565b60405180910390f35b3480156108f757600080fd5b50610912600480360381019061090d9190614576565b6123a3565b005b34801561092057600080fd5b5061093b600480360381019061093691906145c3565b612496565b005b34801561094957600080fd5b50610964600480360381019061095f9190613c30565b61252c565b6040516109719190613bd8565b60405180910390f35b34801561098657600080fd5b506109a1600480360381019061099c9190614616565b6125d4565b005b3480156109af57600080fd5b506109b861269d565b6040516109c59190613bd8565b60405180910390f35b3480156109da57600080fd5b506109f560048036038101906109f09190614676565b61272f565b604051610a029190613b2d565b60405180910390f35b348015610a1757600080fd5b50610a326004803603810190610a2d91906146b6565b6127c3565b604051610a3f9190613bd8565b60405180910390f35b348015610a5457600080fd5b50610a6f6004803603810190610a6a91906141cc565b61289c565b005b348015610a7d57600080fd5b50610a986004803603810190610a9391906141cc565b612993565b604051610aa59190614092565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b7957507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b895750610b8882612aea565b5b9050919050565b606060048054610b9f9061475d565b80601f0160208091040260200160405190810160405280929190818152602001828054610bcb9061475d565b8015610c185780601f10610bed57610100808354040283529160200191610c18565b820191906000526020600020905b815481529060010190602001808311610bfb57829003601f168201915b5050505050905090565b6000610c2d82612b54565b610c63576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610ca982611741565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d10576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610d2f612ba2565b73ffffffffffffffffffffffffffffffffffffffff1614610d9257610d5b81610d56612ba2565b61272f565b610d91576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b610d9d838383612baa565b505050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b610dd8612ba2565b73ffffffffffffffffffffffffffffffffffffffff16610df66119ee565b73ffffffffffffffffffffffffffffffffffffffff1614610e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e43906147da565b60405180910390fd5b80601060006101000a81548160ff021916908360ff16021790555050565b600e5481565b6000610e7a612c5c565b6003546000540303905090565b60606000610e94856117f7565b905060008167ffffffffffffffff811115610eb257610eb1613d2f565b5b604051908082528060200260200182016040528015610ee557816020015b6060815260200190600190039081610ed05790505b5090506000859050600085905060005b81831015610fb3576000610f0884611741565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f9f57600160008581526020019081526020016000206011604051602001610f6392919061489d565b604051602081830303815290604052858381518110610f8557610f846148c1565b5b60200260200101819052508180610f9b9061491f565b9250505b8380610faa9061491f565b94505050610ef5565b83955050505050509392505050565b610fca612ba2565b73ffffffffffffffffffffffffffffffffffffffff16610fe86119ee565b73ffffffffffffffffffffffffffffffffffffffff161461103e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611035906147da565b60405180910390fd5b80600f8190555050565b611053838383612c65565b505050565b600080600061106685613119565b90508060000151612710600f548661107e9190614967565b61108891906149d8565b92509250509250929050565b606060006110a0610e70565b9050808311156110ae578092505b60008367ffffffffffffffff8111156110ca576110c9613d2f565b5b6040519080825280602002602001820160405280156110fd57816020015b60608152602001906001900390816110e85790505b5090506000848361110e9190614a09565b9050600080821015611155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114c90614a89565b60405180910390fd5b5b818411156111cf57600160008581526020019081526020016000206040516020016111819190614aa9565b6040516020818303038152906040528382815181106111a3576111a26148c1565b5b602002602001018190525080806111b99061491f565b91505083806111c790614ac0565b945050611156565b82945050505050919050565b6111e3612ba2565b73ffffffffffffffffffffffffffffffffffffffff166112016119ee565b73ffffffffffffffffffffffffffffffffffffffff1614611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e906147da565b60405180910390fd5b6002600b540361129c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129390614b35565b60405180910390fd5b6002600b81905550600047905060006112b36119ee565b73ffffffffffffffffffffffffffffffffffffffff16826040516112d690614b86565b60006040518083038185875af1925050503d8060008114611313576040519150601f19603f3d011682016040523d82523d6000602084013e611318565b606091505b5050905050506001600b81905550565b6000600e54905060008351905060018111611378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136f90614be7565b60405180910390fd5b6002810361138a57600c5491506113a3565b6003810361139c57600d5491506113a2565b600e5491505b5b60006002856040516113b59190614c38565b90815260200160405180910390205414611404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fb90614c9b565b60405180910390fd5b81341015611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e90614d07565b60405180910390fd5b83600160008054815260200190815260200160002090816114689190614ebe565b5060005460028560405161147c9190614c38565b908152602001604051809103902081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146116065760008373ffffffffffffffffffffffffffffffffffffffff166064601060009054906101000a900460ff1660ff16346114fb9190614967565b61150591906149d8565b60405161151190614b86565b60006040518083038185875af1925050503d806000811461154e576040519150601f19603f3d011682016040523d82523d6000602084013e611553565b606091505b5050905060006115616119ee565b73ffffffffffffffffffffffffffffffffffffffff166064601060009054906101000a900460ff1660646115959190614f90565b60ff16346115a39190614967565b6115ad91906149d8565b6040516115b990614b86565b60006040518083038185875af1925050503d80600081146115f6576040519150601f19603f3d011682016040523d82523d6000602084013e6115fb565b606091505b50509050505061167b565b60006116106119ee565b73ffffffffffffffffffffffffffffffffffffffff163460405161163390614b86565b60006040518083038185875af1925050503d8060008114611670576040519150601f19603f3d011682016040523d82523d6000602084013e611675565b606091505b50509050505b6116863360016133a4565b50505050565b6116a783838360405180602001604052806000815250612325565b505050565b600d5481565b6116ba612ba2565b73ffffffffffffffffffffffffffffffffffffffff166116d86119ee565b73ffffffffffffffffffffffffffffffffffffffff161461172e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611725906147da565b60405180910390fd5b806012908161173d9190614ebe565b5050565b600061174c82613119565b600001519050919050565b600160205280600052604060002060009150905080546117769061475d565b80601f01602080910402602001604051908101604052809291908181526020018280546117a29061475d565b80156117ef5780601f106117c4576101008083540402835291602001916117ef565b820191906000526020600020905b8154815290600101906020018083116117d257829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361185e576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b6118ce612ba2565b73ffffffffffffffffffffffffffffffffffffffff166118ec6119ee565b73ffffffffffffffffffffffffffffffffffffffff1614611942576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611939906147da565b60405180910390fd5b61194c60006133c2565b565b6015602052806000526040600020600091509050805461196d9061475d565b80601f01602080910402602001604051908101604052809291908181526020018280546119999061475d565b80156119e65780601f106119bb576101008083540402835291602001916119e6565b820191906000526020600020905b8154815290600101906020018083116119c957829003601f168201915b505050505081565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080600090506000839050600060178054611a339061475d565b80601f0160208091040260200160405190810160405280929190818152602001828054611a5f9061475d565b8015611aac5780601f10611a8157610100808354040283529160200191611aac565b820191906000526020600020905b815481529060010190602001808311611a8f57829003601f168201915b5050505050905060005b8251811015611b865760005b8251811015611b7257828181518110611ade57611add6148c1565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916848381518110611b1e57611b1d6148c1565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603611b5f578480611b5b9061491f565b9550505b8080611b6a9061491f565b915050611ac2565b508080611b7e9061491f565b915050611ab6565b5081518303611b9b5760019350505050611ba3565b600093505050505b919050565b611bb0612ba2565b73ffffffffffffffffffffffffffffffffffffffff16611bce6119ee565b73ffffffffffffffffffffffffffffffffffffffff1614611c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1b906147da565b60405180910390fd5b8060139081611c339190614ebe565b5050565b606060058054611c469061475d565b80601f0160208091040260200160405190810160405280929190818152602001828054611c729061475d565b8015611cbf5780601f10611c9457610100808354040283529160200191611cbf565b820191906000526020600020905b815481529060010190602001808311611ca257829003601f168201915b5050505050905090565b6000611cf460028585604051611ce0929190614fea565b908152602001604051809103902054613119565b90503373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f9061504f565b60405180910390fd5b60006015600060148787604051611d80929190614fea565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054611df49061475d565b80601f0160208091040260200160405190810160405280929190818152602001828054611e209061475d565b8015611e6d5780601f10611e4257610100808354040283529160200191611e6d565b820191906000526020600020905b815481529060010190602001808311611e5057829003601f168201915b505050505090508484604051611e84929190615094565b6040518091039020818051906020012003611f3657604051806020016040528060008152506015600060148888604051611ebf929190614fea565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209081611f349190614ebe565b505b8260148686604051611f49929190614fea565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b611fa4612ba2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612008576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060096000612015612ba2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166120c2612ba2565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516121079190613b2d565b60405180910390a35050565b60606016846040516121259190614c38565b90815260200160405180910390208383604051612143929190614fea565b9081526020016040518091039020805461215c9061475d565b80601f01602080910402602001604051908101604052809291908181526020018280546121889061475d565b80156121d55780601f106121aa576101008083540402835291602001916121d5565b820191906000526020600020905b8154815290600101906020018083116121b857829003601f168201915b505050505090509392505050565b600c5481565b600061221460028787604051612200929190614fea565b908152602001604051809103902054613119565b90503373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227f9061504f565b60405180910390fd5b816016878760405161229b929190614fea565b908152602001604051809103902085856040516122b9929190614fea565b908152602001604051809103902090816122d39190614ebe565b50505050505050565b6014818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612330848484612c65565b61234f8373ffffffffffffffffffffffffffffffffffffffff16612ac7565b156123975761236084848484613488565b612396576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b600f5481565b60006123ce600284846040516123ba929190614fea565b908152602001604051809103902054613119565b90503373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612442576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124399061504f565b60405180910390fd5b8282601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091826124909291906150b8565b50505050565b61249e612ba2565b73ffffffffffffffffffffffffffffffffffffffff166124bc6119ee565b73ffffffffffffffffffffffffffffffffffffffff1614612512576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612509906147da565b60405180910390fd5b82600c8190555081600d8190555080600e81905550505050565b606061253782612b54565b61256d576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006125776135d8565b9050600081510361259757604051806020016040528060008152506125cc565b80600160008581526020019081526020016000206040516020016125bc929190615188565b6040516020818303038152906040525b915050919050565b6125dc612ba2565b73ffffffffffffffffffffffffffffffffffffffff166125fa6119ee565b73ffffffffffffffffffffffffffffffffffffffff1614612650576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612647906147da565b60405180910390fd5b81816001600086815260200190815260200160002091826126729291906150b8565b508260028383604051612686929190614fea565b908152602001604051809103902081905550505050565b6060601380546126ac9061475d565b80601f01602080910402602001604051908101604052809291908181526020018280546126d89061475d565b80156127255780601f106126fa57610100808354040283529160200191612725565b820191906000526020600020905b81548152906001019060200180831161270857829003601f168201915b5050505050905090565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6016828051602081018201805184825260208301602085012081835280955050505050508180516020810182018051848252602083016020850120818352809550505050505060009150915050805461281b9061475d565b80601f01602080910402602001604051908101604052809291908181526020018280546128479061475d565b80156128945780601f1061286957610100808354040283529160200191612894565b820191906000526020600020905b81548152906001019060200180831161287757829003601f168201915b505050505081565b6128a4612ba2565b73ffffffffffffffffffffffffffffffffffffffff166128c26119ee565b73ffffffffffffffffffffffffffffffffffffffff1614612918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290f906147da565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612987576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297e9061521e565b60405180910390fd5b612990816133c2565b50565b606060006129a0836117f7565b905060008167ffffffffffffffff8111156129be576129bd613d2f565b5b6040519080825280602002602001820160405280156129f157816020015b60608152602001906001900390816129dc5790505b50905060006001905060005b83811015612abb576000612a1083611741565b90508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612aa757600160008481526020019081526020016000206011604051602001612a6b92919061489d565b604051602081830303815290604052848381518110612a8d57612a8c6148c1565b5b60200260200101819052508180612aa39061491f565b9250505b8280612ab29061491f565b935050506129fd565b82945050505050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600081612b5f612c5c565b11158015612b6e575060005482105b8015612b9b575060066000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b600033905090565b826008600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60006001905090565b6000612c7082613119565b90508373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612cdb576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff16612cfc612ba2565b73ffffffffffffffffffffffffffffffffffffffff161480612d2b5750612d2a85612d25612ba2565b61272f565b5b80612d705750612d39612ba2565b73ffffffffffffffffffffffffffffffffffffffff16612d5884610c22565b73ffffffffffffffffffffffffffffffffffffffff16145b905080612da9576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612e0f576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e1c858585600161366a565b612e2860008487612baa565b6001600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600660008581526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060006001850190506000600660008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036130a75760005482146130a657878160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084602001518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b505050828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46131128585856001613670565b5050505050565b613121613a36565b60008290508061312f612c5c565b1161336d5760005481101561336c576000600660008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050806040015161336a57600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161461324e57809250505061339f565b5b60011561336957818060019003925050600660008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161461336457809250505061339f565b61324f565b5b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6133be828260405180602001604052806000815250613676565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a026134ae612ba2565b8786866040518563ffffffff1660e01b81526004016134d09493929190615293565b6020604051808303816000875af192505050801561350c57506040513d601f19601f8201168201806040525081019061350991906152f4565b60015b613585573d806000811461353c576040519150601f19603f3d011682016040523d82523d6000602084013e613541565b606091505b50600081510361357d576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060601280546135e79061475d565b80601f01602080910402602001604051908101604052809291908181526020018280546136139061475d565b80156136605780601f1061363557610100808354040283529160200191613660565b820191906000526020600020905b81548152906001019060200180831161364357829003601f168201915b5050505050905090565b50505050565b50505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036136e2576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000830361371c576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613729600085838661366a565b82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555082600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836006600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426006600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000819050600084820190506138ea8673ffffffffffffffffffffffffffffffffffffffff16612ac7565b156139af575b818673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461395f6000878480600101955087613488565b613995576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082106138f05782600054146139aa57600080fd5b613a1a565b5b818060010192508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082106139b0575b816000819055505050613a306000858386613670565b50505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613ac281613a8d565b8114613acd57600080fd5b50565b600081359050613adf81613ab9565b92915050565b600060208284031215613afb57613afa613a83565b5b6000613b0984828501613ad0565b91505092915050565b60008115159050919050565b613b2781613b12565b82525050565b6000602082019050613b426000830184613b1e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b82578082015181840152602081019050613b67565b60008484015250505050565b6000601f19601f8301169050919050565b6000613baa82613b48565b613bb48185613b53565b9350613bc4818560208601613b64565b613bcd81613b8e565b840191505092915050565b60006020820190508181036000830152613bf28184613b9f565b905092915050565b6000819050919050565b613c0d81613bfa565b8114613c1857600080fd5b50565b600081359050613c2a81613c04565b92915050565b600060208284031215613c4657613c45613a83565b5b6000613c5484828501613c1b565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613c8882613c5d565b9050919050565b613c9881613c7d565b82525050565b6000602082019050613cb36000830184613c8f565b92915050565b613cc281613c7d565b8114613ccd57600080fd5b50565b600081359050613cdf81613cb9565b92915050565b60008060408385031215613cfc57613cfb613a83565b5b6000613d0a85828601613cd0565b9250506020613d1b85828601613c1b565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613d6782613b8e565b810181811067ffffffffffffffff82111715613d8657613d85613d2f565b5b80604052505050565b6000613d99613a79565b9050613da58282613d5e565b919050565b600067ffffffffffffffff821115613dc557613dc4613d2f565b5b613dce82613b8e565b9050602081019050919050565b82818337600083830152505050565b6000613dfd613df884613daa565b613d8f565b905082815260208101848484011115613e1957613e18613d2a565b5b613e24848285613ddb565b509392505050565b600082601f830112613e4157613e40613d25565b5b8135613e51848260208601613dea565b91505092915050565b600060208284031215613e7057613e6f613a83565b5b600082013567ffffffffffffffff811115613e8e57613e8d613a88565b5b613e9a84828501613e2c565b91505092915050565b613eac81613bfa565b82525050565b6000602082019050613ec76000830184613ea3565b92915050565b600060ff82169050919050565b613ee381613ecd565b8114613eee57600080fd5b50565b600081359050613f0081613eda565b92915050565b600060208284031215613f1c57613f1b613a83565b5b6000613f2a84828501613ef1565b91505092915050565b600080600060608486031215613f4c57613f4b613a83565b5b6000613f5a86828701613cd0565b9350506020613f6b86828701613c1b565b9250506040613f7c86828701613c1b565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000613fce82613b48565b613fd88185613fb2565b9350613fe8818560208601613b64565b613ff181613b8e565b840191505092915050565b60006140088383613fc3565b905092915050565b6000602082019050919050565b600061402882613f86565b6140328185613f91565b93508360208202850161404485613fa2565b8060005b8581101561408057848403895281516140618582613ffc565b945061406c83614010565b925060208a01995050600181019050614048565b50829750879550505050505092915050565b600060208201905081810360008301526140ac818461401d565b905092915050565b6000806000606084860312156140cd576140cc613a83565b5b60006140db86828701613cd0565b93505060206140ec86828701613cd0565b92505060406140fd86828701613c1b565b9150509250925092565b6000806040838503121561411e5761411d613a83565b5b600061412c85828601613c1b565b925050602061413d85828601613c1b565b9150509250929050565b600060408201905061415c6000830185613c8f565b6141696020830184613ea3565b9392505050565b6000806040838503121561418757614186613a83565b5b600083013567ffffffffffffffff8111156141a5576141a4613a88565b5b6141b185828601613e2c565b92505060206141c285828601613cd0565b9150509250929050565b6000602082840312156141e2576141e1613a83565b5b60006141f084828501613cd0565b91505092915050565b600080fd5b600080fd5b60008083601f84011261421957614218613d25565b5b8235905067ffffffffffffffff811115614236576142356141f9565b5b602083019150836001820283011115614252576142516141fe565b5b9250929050565b60008060006040848603121561427257614271613a83565b5b600084013567ffffffffffffffff8111156142905761428f613a88565b5b61429c86828701614203565b935093505060206142af86828701613cd0565b9150509250925092565b6142c281613b12565b81146142cd57600080fd5b50565b6000813590506142df816142b9565b92915050565b600080604083850312156142fc576142fb613a83565b5b600061430a85828601613cd0565b925050602061431b858286016142d0565b9150509250929050565b60008060006040848603121561433e5761433d613a83565b5b600084013567ffffffffffffffff81111561435c5761435b613a88565b5b61436886828701613e2c565b935050602084013567ffffffffffffffff81111561438957614388613a88565b5b61439586828701614203565b92509250509250925092565b6000806000806000606086880312156143bd576143bc613a83565b5b600086013567ffffffffffffffff8111156143db576143da613a88565b5b6143e788828901614203565b9550955050602086013567ffffffffffffffff81111561440a57614409613a88565b5b61441688828901614203565b9350935050604086013567ffffffffffffffff81111561443957614438613a88565b5b61444588828901613e2c565b9150509295509295909350565b600067ffffffffffffffff82111561446d5761446c613d2f565b5b61447682613b8e565b9050602081019050919050565b600061449661449184614452565b613d8f565b9050828152602081018484840111156144b2576144b1613d2a565b5b6144bd848285613ddb565b509392505050565b600082601f8301126144da576144d9613d25565b5b81356144ea848260208601614483565b91505092915050565b6000806000806080858703121561450d5761450c613a83565b5b600061451b87828801613cd0565b945050602061452c87828801613cd0565b935050604061453d87828801613c1b565b925050606085013567ffffffffffffffff81111561455e5761455d613a88565b5b61456a878288016144c5565b91505092959194509250565b6000806020838503121561458d5761458c613a83565b5b600083013567ffffffffffffffff8111156145ab576145aa613a88565b5b6145b785828601614203565b92509250509250929050565b6000806000606084860312156145dc576145db613a83565b5b60006145ea86828701613c1b565b93505060206145fb86828701613c1b565b925050604061460c86828701613c1b565b9150509250925092565b60008060006040848603121561462f5761462e613a83565b5b600061463d86828701613c1b565b935050602084013567ffffffffffffffff81111561465e5761465d613a88565b5b61466a86828701614203565b92509250509250925092565b6000806040838503121561468d5761468c613a83565b5b600061469b85828601613cd0565b92505060206146ac85828601613cd0565b9150509250929050565b600080604083850312156146cd576146cc613a83565b5b600083013567ffffffffffffffff8111156146eb576146ea613a88565b5b6146f785828601613e2c565b925050602083013567ffffffffffffffff81111561471857614717613a88565b5b61472485828601613e2c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061477557607f821691505b6020821081036147885761478761472e565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006147c4602083613b53565b91506147cf8261478e565b602082019050919050565b600060208201905081810360008301526147f3816147b7565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b600081546148278161475d565b61483181866147fa565b9450600182166000811461484c576001811461486157614894565b60ff1983168652811515820286019350614894565b61486a85614805565b60005b8381101561488c5781548189015260018201915060208101905061486d565b838801955050505b50505092915050565b60006148a9828561481a565b91506148b5828461481a565b91508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061492a82613bfa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361495c5761495b6148f0565b5b600182019050919050565b600061497282613bfa565b915061497d83613bfa565b925082820261498b81613bfa565b915082820484148315176149a2576149a16148f0565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006149e382613bfa565b91506149ee83613bfa565b9250826149fe576149fd6149a9565b5b828204905092915050565b6000614a1482613bfa565b9150614a1f83613bfa565b9250828203905081811115614a3757614a366148f0565b5b92915050565b7f496e76616c696400000000000000000000000000000000000000000000000000600082015250565b6000614a73600783613b53565b9150614a7e82614a3d565b602082019050919050565b60006020820190508181036000830152614aa281614a66565b9050919050565b6000614ab5828461481a565b915081905092915050565b6000614acb82613bfa565b915060008203614ade57614add6148f0565b5b600182039050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000614b1f601f83613b53565b9150614b2a82614ae9565b602082019050919050565b60006020820190508181036000830152614b4e81614b12565b9050919050565b600081905092915050565b50565b6000614b70600083614b55565b9150614b7b82614b60565b600082019050919050565b6000614b9182614b63565b9150819050919050565b7f57726974652061204e616d650000000000000000000000000000000000000000600082015250565b6000614bd1600c83613b53565b9150614bdc82614b9b565b602082019050919050565b60006020820190508181036000830152614c0081614bc4565b9050919050565b6000614c1282613b48565b614c1c81856147fa565b9350614c2c818560208601613b64565b80840191505092915050565b6000614c448284614c07565b915081905092915050565b7f5468697320697320616c72656164792074616b656e0000000000000000000000600082015250565b6000614c85601583613b53565b9150614c9082614c4f565b602082019050919050565b60006020820190508181036000830152614cb481614c78565b9050919050565b7f496e73756666696369656e742066756e64732100000000000000000000000000600082015250565b6000614cf1601383613b53565b9150614cfc82614cbb565b602082019050919050565b60006020820190508181036000830152614d2081614ce4565b9050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614d747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614d37565b614d7e8683614d37565b95508019841693508086168417925050509392505050565b6000819050919050565b6000614dbb614db6614db184613bfa565b614d96565b613bfa565b9050919050565b6000819050919050565b614dd583614da0565b614de9614de182614dc2565b848454614d44565b825550505050565b600090565b614dfe614df1565b614e09818484614dcc565b505050565b5b81811015614e2d57614e22600082614df6565b600181019050614e0f565b5050565b601f821115614e7257614e4381614805565b614e4c84614d27565b81016020851015614e5b578190505b614e6f614e6785614d27565b830182614e0e565b50505b505050565b600082821c905092915050565b6000614e9560001984600802614e77565b1980831691505092915050565b6000614eae8383614e84565b9150826002028217905092915050565b614ec782613b48565b67ffffffffffffffff811115614ee057614edf613d2f565b5b614eea825461475d565b614ef5828285614e31565b600060209050601f831160018114614f285760008415614f16578287015190505b614f208582614ea2565b865550614f88565b601f198416614f3686614805565b60005b82811015614f5e57848901518255600182019150602085019450602081019050614f39565b86831015614f7b5784890151614f77601f891682614e84565b8355505b6001600288020188555050505b505050505050565b6000614f9b82613ecd565b9150614fa683613ecd565b9250828203905060ff811115614fbf57614fbe6148f0565b5b92915050565b6000614fd183856147fa565b9350614fde838584613ddb565b82840190509392505050565b6000614ff7828486614fc5565b91508190509392505050565b7f4572726f72000000000000000000000000000000000000000000000000000000600082015250565b6000615039600583613b53565b915061504482615003565b602082019050919050565b600060208201905081810360008301526150688161502c565b9050919050565b600061507b8385614b55565b9350615088838584613ddb565b82840190509392505050565b60006150a182848661506f565b91508190509392505050565b600082905092915050565b6150c283836150ad565b67ffffffffffffffff8111156150db576150da613d2f565b5b6150e5825461475d565b6150f0828285614e31565b6000601f83116001811461511f576000841561510d578287013590505b6151178582614ea2565b86555061517f565b601f19841661512d86614805565b60005b8281101561515557848901358255600182019150602085019450602081019050615130565b86831015615172578489013561516e601f891682614e84565b8355505b6001600288020188555050505b50505050505050565b60006151948285614c07565b91506151a0828461481a565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000615208602683613b53565b9150615213826151ac565b604082019050919050565b60006020820190508181036000830152615237816151fb565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006152658261523e565b61526f8185615249565b935061527f818560208601613b64565b61528881613b8e565b840191505092915050565b60006080820190506152a86000830187613c8f565b6152b56020830186613c8f565b6152c26040830185613ea3565b81810360608301526152d4818461525a565b905095945050505050565b6000815190506152ee81613ab9565b92915050565b60006020828403121561530a57615309613a83565b5b6000615318848285016152df565b9150509291505056fea26469706673582212201b4f10ffbee7945fe2ec4b7404ac33431de5b659b3649ec921bce5e6622d5f5564736f6c6343000812003368747470733a2f2f646174612e706f6c79676f6e2e6e616d652f636f6e74726163742e6a736f6e68747470733a2f2f646174612e706f6c79676f6e2e6e616d652f6d657461646174612f303132333435363738392d5f6162636465666768696a6b6c6d6e6f707172737475767778797a