0x60806040523480156200001157600080fd5b5060405180606001604052806027815260200162004094602791396200003d816200014f60201b60201c565b506200005e620000526200016460201b60201c565b6200016c60201b60201c565b60007331310827decfb0d410f36a83f21963dbd7b2b0d19050620000a3816000670de0b6b3a7640000604051806020016040528060008152506200023260201b60201c565b620000d38160016b033b2e3c9fd0803ce8000000604051806020016040528060008152506200023260201b60201c565b620000f88160026001604051806020016040528060008152506200023260201b60201c565b62000120816003633b9aca00604051806020016040528060008152506200023260201b60201c565b62000148816004633b9aca00604051806020016040528060008152506200023260201b60201c565b506200101b565b80600290816200016091906200093b565b5050565b600033905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603620002a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200029b9062000aa9565b60405180910390fd5b6000620002b66200016460201b60201c565b90506000620002cb856200041960201b60201c565b90506000620002e0856200041960201b60201c565b9050620002f9836000898585896200049a60201b60201c565b8460008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200035a919062000afa565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051620003da92919062000b46565b60405180910390a4620003f983600089858589620004a260201b60201c565b6200041083600089898989620004aa60201b60201c565b50505050505050565b60606000600167ffffffffffffffff8111156200043b576200043a620006cc565b5b6040519080825280602002602001820160405280156200046a5781602001602082028036833780820191505090505b509050828160008151811062000485576200048462000b73565b5b60200260200101818152505080915050919050565b505050505050565b505050505050565b620004d18473ffffffffffffffffffffffffffffffffffffffff166200069e60201b60201c565b1562000696578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016200051a95949392919062000c81565b6020604051808303816000875af19250505080156200055957506040513d601f19601f8201168201806040525081019062000556919062000d51565b60015b6200060a576200056862000d90565b806308c379a003620005cb57506200057f62000deb565b806200058c5750620005cd565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005c2919062000ec7565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006019062000f61565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161462000694576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200068b9062000ff9565b60405180910390fd5b505b505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200074357607f821691505b602082108103620007595762000758620006fb565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000784565b620007cf868362000784565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200081c620008166200081084620007e7565b620007f1565b620007e7565b9050919050565b6000819050919050565b6200083883620007fb565b62000850620008478262000823565b84845462000791565b825550505050565b600090565b6200086762000858565b620008748184846200082d565b505050565b5b818110156200089c57620008906000826200085d565b6001810190506200087a565b5050565b601f821115620008eb57620008b5816200075f565b620008c08462000774565b81016020851015620008d0578190505b620008e8620008df8562000774565b83018262000879565b50505b505050565b600082821c905092915050565b60006200091060001984600802620008f0565b1980831691505092915050565b60006200092b8383620008fd565b9150826002028217905092915050565b6200094682620006c1565b67ffffffffffffffff811115620009625762000961620006cc565b5b6200096e82546200072a565b6200097b828285620008a0565b600060209050601f831160018114620009b357600084156200099e578287015190505b620009aa85826200091d565b86555062000a1a565b601f198416620009c3866200075f565b60005b82811015620009ed57848901518255600182019150602085019450602081019050620009c6565b8683101562000a0d578489015162000a09601f891682620008fd565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600062000a9160218362000a22565b915062000a9e8262000a33565b604082019050919050565b6000602082019050818103600083015262000ac48162000a82565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000b0782620007e7565b915062000b1483620007e7565b925082820190508082111562000b2f5762000b2e62000acb565b5b92915050565b62000b4081620007e7565b82525050565b600060408201905062000b5d600083018562000b35565b62000b6c602083018462000b35565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000bcf8262000ba2565b9050919050565b62000be18162000bc2565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101562000c2357808201518184015260208101905062000c06565b60008484015250505050565b6000601f19601f8301169050919050565b600062000c4d8262000be7565b62000c59818562000bf2565b935062000c6b81856020860162000c03565b62000c768162000c2f565b840191505092915050565b600060a08201905062000c98600083018862000bd6565b62000ca7602083018762000bd6565b62000cb6604083018662000b35565b62000cc5606083018562000b35565b818103608083015262000cd9818462000c40565b90509695505050505050565b6000604051905090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62000d2b8162000cf4565b811462000d3757600080fd5b50565b60008151905062000d4b8162000d20565b92915050565b60006020828403121562000d6a5762000d6962000cef565b5b600062000d7a8482850162000d3a565b91505092915050565b60008160e01c9050919050565b600060033d111562000db25760046000803e62000daf60005162000d83565b90505b90565b62000dc08262000c2f565b810181811067ffffffffffffffff8211171562000de25762000de1620006cc565b5b80604052505050565b600060443d1062000e835762000e0062000ce5565b60043d036004823e80513d602482011167ffffffffffffffff8211171562000e2a57505062000e83565b808201805167ffffffffffffffff81111562000e4a575050505062000e83565b80602083010160043d03850181111562000e6957505050505062000e83565b62000e7a8260200185018662000db5565b82955050505050505b90565b600062000e9382620006c1565b62000e9f818562000a22565b935062000eb181856020860162000c03565b62000ebc8162000c2f565b840191505092915050565b6000602082019050818103600083015262000ee3818462000e86565b905092915050565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b600062000f4960348362000a22565b915062000f568262000eeb565b604082019050919050565b6000602082019050818103600083015262000f7c8162000f3a565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b600062000fe160288362000a22565b915062000fee8262000f83565b604082019050919050565b60006020820190508181036000830152620010148162000fd2565b9050919050565b613069806200102b6000396000f3fe608060405234801561001057600080fd5b50600436106101155760003560e01c8063715018a6116100a2578063d562e20411610071578063d562e204146102cc578063e3e55f08146102ea578063e985e9c514610308578063f242432a14610338578063f2fde38b1461035457610115565b8063715018a61461026c578063731133e9146102765780638da5cb5b14610292578063a22cb465146102b057610115565b806313dc989f116100e957806313dc989f146101c65780632eb2c2d6146101e45780633e4bee38146102005780634e1273f41461021e5780635b2725ed1461024e57610115565b8062fdd58e1461011a57806301ffc9a71461014a57806302fe53051461017a5780630e89341c14610196575b600080fd5b610134600480360381019061012f919061195f565b610370565b60405161014191906119ae565b60405180910390f35b610164600480360381019061015f9190611a21565b610438565b6040516101719190611a69565b60405180910390f35b610194600480360381019061018f9190611bca565b61051a565b005b6101b060048036038101906101ab9190611c13565b61052e565b6040516101bd9190611cbf565b60405180910390f35b6101ce6105c2565b6040516101db91906119ae565b60405180910390f35b6101fe60048036038101906101f99190611e4a565b6105c7565b005b610208610668565b60405161021591906119ae565b60405180910390f35b61023860048036038101906102339190611fdc565b61066d565b6040516102459190612112565b60405180910390f35b610256610786565b60405161026391906119ae565b60405180910390f35b61027461078b565b005b610290600480360381019061028b9190612134565b61079f565b005b61029a6107b9565b6040516102a791906121c6565b60405180910390f35b6102ca60048036038101906102c5919061220d565b6107e3565b005b6102d46107f9565b6040516102e191906119ae565b60405180910390f35b6102f26107fe565b6040516102ff91906119ae565b60405180910390f35b610322600480360381019061031d919061224d565b610803565b60405161032f9190611a69565b60405180910390f35b610352600480360381019061034d919061228d565b610897565b005b61036e60048036038101906103699190612324565b610938565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d7906123c3565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061050357507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806105135750610512826109bb565b5b9050919050565b610522610a25565b61052b81610aa3565b50565b60606002805461053d90612412565b80601f016020809104026020016040519081016040528092919081815260200182805461056990612412565b80156105b65780601f1061058b576101008083540402835291602001916105b6565b820191906000526020600020905b81548152906001019060200180831161059957829003601f168201915b50505050509050919050565b600381565b6105cf610ab6565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061061557506106148561060f610ab6565b610803565b5b610654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064b906124b5565b60405180910390fd5b6106618585858585610abe565b5050505050565b600081565b606081518351146106b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106aa90612547565b60405180910390fd5b6000835167ffffffffffffffff8111156106d0576106cf611a9f565b5b6040519080825280602002602001820160405280156106fe5781602001602082028036833780820191505090505b50905060005b845181101561077b5761074b85828151811061072357610722612567565b5b602002602001015185838151811061073e5761073d612567565b5b6020026020010151610370565b82828151811061075e5761075d612567565b5b60200260200101818152505080610774906125c5565b9050610704565b508091505092915050565b600481565b610793610a25565b61079d6000610ddf565b565b6107a7610a25565b6107b384848484610ea5565b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6107f56107ee610ab6565b8383611055565b5050565b600281565b600181565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61089f610ab6565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806108e557506108e4856108df610ab6565b610803565b5b610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b906124b5565b60405180910390fd5b61093185858585856111c1565b5050505050565b610940610a25565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a69061267f565b60405180910390fd5b6109b881610ddf565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610a2d610ab6565b73ffffffffffffffffffffffffffffffffffffffff16610a4b6107b9565b73ffffffffffffffffffffffffffffffffffffffff1614610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a98906126eb565b60405180910390fd5b565b8060029081610ab291906128b7565b5050565b600033905090565b8151835114610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af9906129fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610b71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6890612a8d565b60405180910390fd5b6000610b7b610ab6565b9050610b8b81878787878761145c565b60005b8451811015610d3c576000858281518110610bac57610bab612567565b5b602002602001015190506000858381518110610bcb57610bca612567565b5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6390612b1f565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d219190612b3f565b9250508190555050505080610d35906125c5565b9050610b8e565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610db3929190612b73565b60405180910390a4610dc9818787878787611464565b610dd781878787878761146c565b505050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b90612c1c565b60405180910390fd5b6000610f1e610ab6565b90506000610f2b85611643565b90506000610f3885611643565b9050610f498360008985858961145c565b8460008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fa89190612b3f565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051611026929190612c3c565b60405180910390a461103d83600089858589611464565b61104c836000898989896116bd565b50505050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ba90612cd7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111b49190611a69565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611230576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122790612a8d565b60405180910390fd5b600061123a610ab6565b9050600061124785611643565b9050600061125485611643565b905061126483898985858961145c565b600080600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050858110156112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f290612b1f565b60405180910390fd5b85810360008089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560008089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113b09190612b3f565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a60405161142d929190612c3c565b60405180910390a4611443848a8a86868a611464565b611451848a8a8a8a8a6116bd565b505050505050505050565b505050505050565b505050505050565b61148b8473ffffffffffffffffffffffffffffffffffffffff16611894565b1561163b578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016114d1959493929190612d4c565b6020604051808303816000875af192505050801561150d57506040513d601f19601f8201168201806040525081019061150a9190612dc9565b60015b6115b257611519612e03565b806308c379a003611575575061152d612e25565b806115385750611577565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156c9190611cbf565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a990612f27565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611639576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163090612fb9565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff81111561166257611661611a9f565b5b6040519080825280602002602001820160405280156116905781602001602082028036833780820191505090505b50905082816000815181106116a8576116a7612567565b5b60200260200101818152505080915050919050565b6116dc8473ffffffffffffffffffffffffffffffffffffffff16611894565b1561188c578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401611722959493929190612fd9565b6020604051808303816000875af192505050801561175e57506040513d601f19601f8201168201806040525081019061175b9190612dc9565b60015b6118035761176a612e03565b806308c379a0036117c6575061177e612e25565b8061178957506117c8565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bd9190611cbf565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fa90612f27565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461188a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188190612fb9565b60405180910390fd5b505b505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118f6826118cb565b9050919050565b611906816118eb565b811461191157600080fd5b50565b600081359050611923816118fd565b92915050565b6000819050919050565b61193c81611929565b811461194757600080fd5b50565b60008135905061195981611933565b92915050565b60008060408385031215611976576119756118c1565b5b600061198485828601611914565b92505060206119958582860161194a565b9150509250929050565b6119a881611929565b82525050565b60006020820190506119c3600083018461199f565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6119fe816119c9565b8114611a0957600080fd5b50565b600081359050611a1b816119f5565b92915050565b600060208284031215611a3757611a366118c1565b5b6000611a4584828501611a0c565b91505092915050565b60008115159050919050565b611a6381611a4e565b82525050565b6000602082019050611a7e6000830184611a5a565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611ad782611a8e565b810181811067ffffffffffffffff82111715611af657611af5611a9f565b5b80604052505050565b6000611b096118b7565b9050611b158282611ace565b919050565b600067ffffffffffffffff821115611b3557611b34611a9f565b5b611b3e82611a8e565b9050602081019050919050565b82818337600083830152505050565b6000611b6d611b6884611b1a565b611aff565b905082815260208101848484011115611b8957611b88611a89565b5b611b94848285611b4b565b509392505050565b600082601f830112611bb157611bb0611a84565b5b8135611bc1848260208601611b5a565b91505092915050565b600060208284031215611be057611bdf6118c1565b5b600082013567ffffffffffffffff811115611bfe57611bfd6118c6565b5b611c0a84828501611b9c565b91505092915050565b600060208284031215611c2957611c286118c1565b5b6000611c378482850161194a565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c7a578082015181840152602081019050611c5f565b60008484015250505050565b6000611c9182611c40565b611c9b8185611c4b565b9350611cab818560208601611c5c565b611cb481611a8e565b840191505092915050565b60006020820190508181036000830152611cd98184611c86565b905092915050565b600067ffffffffffffffff821115611cfc57611cfb611a9f565b5b602082029050602081019050919050565b600080fd5b6000611d25611d2084611ce1565b611aff565b90508083825260208201905060208402830185811115611d4857611d47611d0d565b5b835b81811015611d715780611d5d888261194a565b845260208401935050602081019050611d4a565b5050509392505050565b600082601f830112611d9057611d8f611a84565b5b8135611da0848260208601611d12565b91505092915050565b600067ffffffffffffffff821115611dc457611dc3611a9f565b5b611dcd82611a8e565b9050602081019050919050565b6000611ded611de884611da9565b611aff565b905082815260208101848484011115611e0957611e08611a89565b5b611e14848285611b4b565b509392505050565b600082601f830112611e3157611e30611a84565b5b8135611e41848260208601611dda565b91505092915050565b600080600080600060a08688031215611e6657611e656118c1565b5b6000611e7488828901611914565b9550506020611e8588828901611914565b945050604086013567ffffffffffffffff811115611ea657611ea56118c6565b5b611eb288828901611d7b565b935050606086013567ffffffffffffffff811115611ed357611ed26118c6565b5b611edf88828901611d7b565b925050608086013567ffffffffffffffff811115611f0057611eff6118c6565b5b611f0c88828901611e1c565b9150509295509295909350565b600067ffffffffffffffff821115611f3457611f33611a9f565b5b602082029050602081019050919050565b6000611f58611f5384611f19565b611aff565b90508083825260208201905060208402830185811115611f7b57611f7a611d0d565b5b835b81811015611fa45780611f908882611914565b845260208401935050602081019050611f7d565b5050509392505050565b600082601f830112611fc357611fc2611a84565b5b8135611fd3848260208601611f45565b91505092915050565b60008060408385031215611ff357611ff26118c1565b5b600083013567ffffffffffffffff811115612011576120106118c6565b5b61201d85828601611fae565b925050602083013567ffffffffffffffff81111561203e5761203d6118c6565b5b61204a85828601611d7b565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61208981611929565b82525050565b600061209b8383612080565b60208301905092915050565b6000602082019050919050565b60006120bf82612054565b6120c9818561205f565b93506120d483612070565b8060005b838110156121055781516120ec888261208f565b97506120f7836120a7565b9250506001810190506120d8565b5085935050505092915050565b6000602082019050818103600083015261212c81846120b4565b905092915050565b6000806000806080858703121561214e5761214d6118c1565b5b600061215c87828801611914565b945050602061216d8782880161194a565b935050604061217e8782880161194a565b925050606085013567ffffffffffffffff81111561219f5761219e6118c6565b5b6121ab87828801611e1c565b91505092959194509250565b6121c0816118eb565b82525050565b60006020820190506121db60008301846121b7565b92915050565b6121ea81611a4e565b81146121f557600080fd5b50565b600081359050612207816121e1565b92915050565b60008060408385031215612224576122236118c1565b5b600061223285828601611914565b9250506020612243858286016121f8565b9150509250929050565b60008060408385031215612264576122636118c1565b5b600061227285828601611914565b925050602061228385828601611914565b9150509250929050565b600080600080600060a086880312156122a9576122a86118c1565b5b60006122b788828901611914565b95505060206122c888828901611914565b94505060406122d98882890161194a565b93505060606122ea8882890161194a565b925050608086013567ffffffffffffffff81111561230b5761230a6118c6565b5b61231788828901611e1c565b9150509295509295909350565b60006020828403121561233a576123396118c1565b5b600061234884828501611914565b91505092915050565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b60006123ad602a83611c4b565b91506123b882612351565b604082019050919050565b600060208201905081810360008301526123dc816123a0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061242a57607f821691505b60208210810361243d5761243c6123e3565b5b50919050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b600061249f602e83611c4b565b91506124aa82612443565b604082019050919050565b600060208201905081810360008301526124ce81612492565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b6000612531602983611c4b565b915061253c826124d5565b604082019050919050565b6000602082019050818103600083015261256081612524565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006125d082611929565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361260257612601612596565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612669602683611c4b565b91506126748261260d565b604082019050919050565b600060208201905081810360008301526126988161265c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006126d5602083611c4b565b91506126e08261269f565b602082019050919050565b60006020820190508181036000830152612704816126c8565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261276d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612730565b6127778683612730565b95508019841693508086168417925050509392505050565b6000819050919050565b60006127b46127af6127aa84611929565b61278f565b611929565b9050919050565b6000819050919050565b6127ce83612799565b6127e26127da826127bb565b84845461273d565b825550505050565b600090565b6127f76127ea565b6128028184846127c5565b505050565b5b818110156128265761281b6000826127ef565b600181019050612808565b5050565b601f82111561286b5761283c8161270b565b61284584612720565b81016020851015612854578190505b61286861286085612720565b830182612807565b50505b505050565b600082821c905092915050565b600061288e60001984600802612870565b1980831691505092915050565b60006128a7838361287d565b9150826002028217905092915050565b6128c082611c40565b67ffffffffffffffff8111156128d9576128d8611a9f565b5b6128e38254612412565b6128ee82828561282a565b600060209050601f831160018114612921576000841561290f578287015190505b612919858261289b565b865550612981565b601f19841661292f8661270b565b60005b8281101561295757848901518255600182019150602085019450602081019050612932565b868310156129745784890151612970601f89168261287d565b8355505b6001600288020188555050505b505050505050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b60006129e5602883611c4b565b91506129f082612989565b604082019050919050565b60006020820190508181036000830152612a14816129d8565b9050919050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612a77602583611c4b565b9150612a8282612a1b565b604082019050919050565b60006020820190508181036000830152612aa681612a6a565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b6000612b09602a83611c4b565b9150612b1482612aad565b604082019050919050565b60006020820190508181036000830152612b3881612afc565b9050919050565b6000612b4a82611929565b9150612b5583611929565b9250828201905080821115612b6d57612b6c612596565b5b92915050565b60006040820190508181036000830152612b8d81856120b4565b90508181036020830152612ba181846120b4565b90509392505050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c06602183611c4b565b9150612c1182612baa565b604082019050919050565b60006020820190508181036000830152612c3581612bf9565b9050919050565b6000604082019050612c51600083018561199f565b612c5e602083018461199f565b9392505050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b6000612cc1602983611c4b565b9150612ccc82612c65565b604082019050919050565b60006020820190508181036000830152612cf081612cb4565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000612d1e82612cf7565b612d288185612d02565b9350612d38818560208601611c5c565b612d4181611a8e565b840191505092915050565b600060a082019050612d6160008301886121b7565b612d6e60208301876121b7565b8181036040830152612d8081866120b4565b90508181036060830152612d9481856120b4565b90508181036080830152612da88184612d13565b90509695505050505050565b600081519050612dc3816119f5565b92915050565b600060208284031215612ddf57612dde6118c1565b5b6000612ded84828501612db4565b91505092915050565b60008160e01c9050919050565b600060033d1115612e225760046000803e612e1f600051612df6565b90505b90565b600060443d10612eb257612e376118b7565b60043d036004823e80513d602482011167ffffffffffffffff82111715612e5f575050612eb2565b808201805167ffffffffffffffff811115612e7d5750505050612eb2565b80602083010160043d038501811115612e9a575050505050612eb2565b612ea982602001850186611ace565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b6000612f11603483611c4b565b9150612f1c82612eb5565b604082019050919050565b60006020820190508181036000830152612f4081612f04565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b6000612fa3602883611c4b565b9150612fae82612f47565b604082019050919050565b60006020820190508181036000830152612fd281612f96565b9050919050565b600060a082019050612fee60008301886121b7565b612ffb60208301876121b7565b613008604083018661199f565b613015606083018561199f565b81810360808301526130278184612d13565b9050969550505050505056fea2646970667358221220dd28235e85079bbaa2b9e723ab16cfb5f6dff615bf9e7bf1c73c03c4846dd80664736f6c6343000813003368747470733a2f2f67616d652e6578616d706c652f6170692f6974656d2f7b69647d2e6a736f6e