60806040523480156200001157600080fd5b50604051620047e2380380620047e28339818101604052810190620000379190620005af565b604051806020016040528060008152506200005881620000c460201b60201c565b50620000796200006d620000d960201b60201c565b620000e160201b60201c565b6200008a33620000e160201b60201c565b80600690816200009b91906200084b565b50620000ac620001a760201b60201c565b60059081620000bc91906200084b565b505062000e64565b8060029081620000d591906200084b565b5050565b600033905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60606200024a6040518060400160405280600381526020017fe2808b00000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017fe2808b000000000000000000000000000000000000000000000000000000000081525060066040516020016200022f9392919062000c33565b6040516020818303038152906040526200027060201b60201c565b6040516020016200025c919062000d22565b604051602081830303815290604052905090565b6060600082519050600081036200029a576040518060200160405280600081525091505062000417565b60006003600283620002ad919062000d77565b620002b9919062000de1565b6004620002c7919062000e19565b90506000602082620002da919062000d77565b67ffffffffffffffff811115620002f657620002f56200044b565b5b6040519080825280601f01601f191660200182016040528015620003295781602001600182028036833780820191505090505b5090506000604051806060016040528060408152602001620047a2604091399050600181016020830160005b86811015620003d05760038101905062ffffff818a015116603f8160121c168401518060081b905060ff603f83600c1c1686015116810190508060081b905060ff603f8360061c1686015116810190508060081b905060ff603f831686015116810190508060e01b9050808452600484019350505062000355565b506003860660018114620003ed5760028114620003fe5762000409565b613d3d60f01b600283035262000409565b603d60f81b60018303525b508484525050819450505050505b919050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000485826200043a565b810181811067ffffffffffffffff82111715620004a757620004a66200044b565b5b80604052505050565b6000620004bc6200041c565b9050620004ca82826200047a565b919050565b600067ffffffffffffffff821115620004ed57620004ec6200044b565b5b620004f8826200043a565b9050602081019050919050565b60005b838110156200052557808201518184015260208101905062000508565b60008484015250505050565b6000620005486200054284620004cf565b620004b0565b90508281526020810184848401111562000567576200056662000435565b5b6200057484828562000505565b509392505050565b600082601f83011262000594576200059362000430565b5b8151620005a684826020860162000531565b91505092915050565b600060208284031215620005c857620005c762000426565b5b600082015167ffffffffffffffff811115620005e957620005e86200042b565b5b620005f7848285016200057c565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200065357607f821691505b6020821081036200066957620006686200060b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000694565b620006df868362000694565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200072c620007266200072084620006f7565b62000701565b620006f7565b9050919050565b6000819050919050565b62000748836200070b565b62000760620007578262000733565b848454620006a1565b825550505050565b600090565b6200077762000768565b620007848184846200073d565b505050565b5b81811015620007ac57620007a06000826200076d565b6001810190506200078a565b5050565b601f821115620007fb57620007c5816200066f565b620007d08462000684565b81016020851015620007e0578190505b620007f8620007ef8562000684565b83018262000789565b50505b505050565b600082821c905092915050565b6000620008206000198460080262000800565b1980831691505092915050565b60006200083b83836200080d565b9150826002028217905092915050565b620008568262000600565b67ffffffffffffffff8111156200087257620008716200044b565b5b6200087e82546200063a565b6200088b828285620007b0565b600060209050601f831160018114620008c35760008415620008ae578287015190505b620008ba85826200082d565b8655506200092a565b601f198416620008d3866200066f565b60005b82811015620008fd57848901518255600182019150602085019450602081019050620008d6565b868310156200091d578489015162000919601f8916826200080d565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b7f7b00000000000000000000000000000000000000000000000000000000000000600082015250565b60006200097560018362000932565b915062000982826200093d565b600182019050919050565b7f226e616d65223a22000000000000000000000000000000000000000000000000600082015250565b6000620009c560088362000932565b9150620009d2826200098d565b600882019050919050565b6000620009ea8262000600565b620009f6818562000932565b935062000a0881856020860162000505565b80840191505092915050565b7f222c000000000000000000000000000000000000000000000000000000000000600082015250565b600062000a4c60028362000932565b915062000a598262000a14565b600282019050919050565b7f226465736372697074696f6e223a220000000000000000000000000000000000600082015250565b600062000a9c600f8362000932565b915062000aa98262000a64565b600f82019050919050565b7f22696d616765223a220000000000000000000000000000000000000000000000600082015250565b600062000aec60098362000932565b915062000af98262000ab4565b600982019050919050565b6000815462000b13816200063a565b62000b1f818662000932565b9450600182166000811462000b3d576001811462000b535762000b8a565b60ff198316865281151582028601935062000b8a565b62000b5e856200066f565b60005b8381101562000b825781548189015260018201915060208101905062000b61565b838801955050505b50505092915050565b7f2200000000000000000000000000000000000000000000000000000000000000600082015250565b600062000bcb60018362000932565b915062000bd88262000b93565b600182019050919050565b7f7d00000000000000000000000000000000000000000000000000000000000000600082015250565b600062000c1b60018362000932565b915062000c288262000be3565b600182019050919050565b600062000c408262000966565b915062000c4d82620009b6565b915062000c5b8286620009dd565b915062000c688262000a3d565b915062000c758262000a8d565b915062000c838285620009dd565b915062000c908262000a3d565b915062000c9d8262000add565b915062000cab828462000b04565b915062000cb88262000bbc565b915062000cc58262000c0c565b9150819050949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b600062000d0a601d8362000932565b915062000d178262000cd2565b601d82019050919050565b600062000d2f8262000cfb565b915062000d3d8284620009dd565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000d8482620006f7565b915062000d9183620006f7565b925082820190508082111562000dac5762000dab62000d48565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000dee82620006f7565b915062000dfb83620006f7565b92508262000e0e5762000e0d62000db2565b5b828204905092915050565b600062000e2682620006f7565b915062000e3383620006f7565b925082820262000e4381620006f7565b9150828204841483151762000e5d5762000e5c62000d48565b5b5092915050565b61392e8062000e746000396000f3fe608060405234801561001057600080fd5b50600436106101095760003560e01c80638c68bb35116100a2578063dc42c25511610071578063dc42c255146102a4578063e8a3d485146102c0578063e985e9c5146102de578063f242432a1461030e578063f2fde38b1461032a57610109565b80638c68bb35146102305780638da5cb5b1461024c5780638eab84ee1461026a578063a22cb4651461028857610109565b80632eb2c2d6116100de5780632eb2c2d6146101bc5780634e1273f4146101d8578063715018a61461020857806380f2152e1461021257610109565b80629a9b7b1461010e578062fdd58e1461012c57806301ffc9a71461015c5780630e89341c1461018c575b600080fd5b610116610346565b6040516101239190611cc4565b60405180910390f35b61014660048036038101906101419190611d7d565b61034c565b6040516101539190611cc4565b60405180910390f35b61017660048036038101906101719190611e15565b610414565b6040516101839190611e5d565b60405180910390f35b6101a660048036038101906101a19190611e78565b6104f6565b6040516101b39190611f35565b60405180910390f35b6101d660048036038101906101d19190612154565b61058a565b005b6101f260048036038101906101ed91906122e6565b61062b565b6040516101ff919061241c565b60405180910390f35b610210610744565b005b61021a610758565b6040516102279190611f35565b60405180910390f35b61024a60048036038101906102459190612499565b6107e6565b005b6102546108a7565b60405161026191906124f5565b60405180910390f35b6102726108d1565b60405161027f9190611f35565b60405180910390f35b6102a2600480360381019061029d919061253c565b61095f565b005b6102be60048036038101906102b9919061261d565b610975565b005b6102c86109a7565b6040516102d59190611f35565b60405180910390f35b6102f860048036038101906102f39190612666565b6109b6565b6040516103059190611e5d565b60405180910390f35b610328600480360381019061032391906126a6565b610a4a565b005b610344600480360381019061033f919061273d565b610aeb565b005b60045481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036103bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b3906127dc565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104df57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104ef57506104ee82610b6e565b5b9050919050565b6060600580546105059061282b565b80601f01602080910402602001604051908101604052809291908181526020018280546105319061282b565b801561057e5780601f106105535761010080835404028352916020019161057e565b820191906000526020600020905b81548152906001019060200180831161056157829003601f168201915b50505050509050919050565b610592610bd8565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806105d857506105d7856105d2610bd8565b6109b6565b5b610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060e906128ce565b60405180910390fd5b6106248585858585610be0565b5050505050565b60608151835114610671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066890612960565b60405180910390fd5b6000835167ffffffffffffffff81111561068e5761068d611f5c565b5b6040519080825280602002602001820160405280156106bc5781602001602082028036833780820191505090505b50905060005b8451811015610739576107098582815181106106e1576106e0612980565b5b60200260200101518583815181106106fc576106fb612980565b5b602002602001015161034c565b82828151811061071c5761071b612980565b5b60200260200101818152505080610732906129de565b90506106c2565b508091505092915050565b61074c610f01565b6107566000610f7f565b565b600580546107659061282b565b80601f01602080910402602001604051908101604052809291908181526020018280546107919061282b565b80156107de5780601f106107b3576101008083540402835291602001916107de565b820191906000526020600020905b8154815290600101906020018083116107c157829003601f168201915b505050505081565b6107ee610f01565b6000600454905060005b8383905081101561088c5761082a3382846108139190612a26565b600160405180602001604052806000815250611045565b6108793385858481811061084157610840612980565b5b9050602002016020810190610856919061273d565b83856108629190612a26565b6001604051806020016040528060008152506111f5565b8080610884906129de565b9150506107f8565b50828290508161089c9190612a26565b600481905550505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600680546108de9061282b565b80601f016020809104026020016040519081016040528092919081815260200182805461090a9061282b565b80156109575780601f1061092c57610100808354040283529160200191610957565b820191906000526020600020905b81548152906001019060200180831161093a57829003601f168201915b505050505081565b61097161096a610bd8565b8383611490565b5050565b61097d610f01565b806006908161098c9190612c06565b506109956115fc565b600590816109a39190612c06565b5050565b60606109b16115fc565b905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610a52610bd8565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610a985750610a9785610a92610bd8565b6109b6565b5b610ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ace906128ce565b60405180910390fd5b610ae485858585856111f5565b5050505050565b610af3610f01565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5990612d4a565b60405180910390fd5b610b6b81610f7f565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b8151835114610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b90612ddc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8a90612e6e565b60405180910390fd5b6000610c9d610bd8565b9050610cad8187878787876116b9565b60005b8451811015610e5e576000858281518110610cce57610ccd612980565b5b602002602001015190506000858381518110610ced57610cec612980565b5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8590612f00565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e439190612a26565b9250508190555050505080610e57906129de565b9050610cb0565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610ed5929190612f20565b60405180910390a4610eeb8187878787876116c1565b610ef98187878787876116c9565b505050505050565b610f09610bd8565b73ffffffffffffffffffffffffffffffffffffffff16610f276108a7565b73ffffffffffffffffffffffffffffffffffffffff1614610f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7490612fa3565b60405180910390fd5b565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036110b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ab90613035565b60405180910390fd5b60006110be610bd8565b905060006110cb856118a0565b905060006110d8856118a0565b90506110e9836000898585896116b9565b8460008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111489190612a26565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6289896040516111c6929190613055565b60405180910390a46111dd836000898585896116c1565b6111ec8360008989898961191a565b50505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125b90612e6e565b60405180910390fd5b600061126e610bd8565b9050600061127b856118a0565b90506000611288856118a0565b90506112988389898585896116b9565b600080600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508581101561132f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132690612f00565b60405180910390fd5b85810360008089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560008089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113e49190612a26565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a604051611461929190613055565b60405180910390a4611477848a8a86868a6116c1565b611485848a8a8a8a8a61191a565b505050505050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f5906130f0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115ef9190611e5d565b60405180910390a3505050565b60606116956040518060400160405280600381526020017fe2808b00000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017fe2808b00000000000000000000000000000000000000000000000000000000008152506006604051602001611681939291906133e3565b604051602081830303815290604052611af1565b6040516020016116a591906134b8565b604051602081830303815290604052905090565b505050505050565b505050505050565b6116e88473ffffffffffffffffffffffffffffffffffffffff16611c88565b15611898578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b815260040161172e95949392919061352f565b6020604051808303816000875af192505050801561176a57506040513d601f19601f8201168201806040525081019061176791906135ac565b60015b61180f576117766135e6565b806308c379a0036117d2575061178a613608565b8061179557506117d4565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c99190611f35565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118069061370a565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188d9061379c565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff8111156118bf576118be611f5c565b5b6040519080825280602002602001820160405280156118ed5781602001602082028036833780820191505090505b509050828160008151811061190557611904612980565b5b60200260200101818152505080915050919050565b6119398473ffffffffffffffffffffffffffffffffffffffff16611c88565b15611ae9578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161197f9594939291906137bc565b6020604051808303816000875af19250505080156119bb57506040513d601f19601f820116820180604052508101906119b891906135ac565b60015b611a60576119c76135e6565b806308c379a003611a2357506119db613608565b806119e65750611a25565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1a9190611f35565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a579061370a565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ade9061379c565b60405180910390fd5b505b505050505050565b606060008251905060008103611b195760405180602001604052806000815250915050611c83565b60006003600283611b2a9190612a26565b611b349190613845565b6004611b409190613876565b90506000602082611b519190612a26565b67ffffffffffffffff811115611b6a57611b69611f5c565b5b6040519080825280601f01601f191660200182016040528015611b9c5781602001600182028036833780820191505090505b50905060006040518060600160405280604081526020016138b9604091399050600181016020830160005b86811015611c405760038101905062ffffff818a015116603f8160121c168401518060081b905060ff603f83600c1c1686015116810190508060081b905060ff603f8360061c1686015116810190508060081b905060ff603f831686015116810190508060e01b90508084526004840193505050611bc7565b506003860660018114611c5a5760028114611c6a57611c75565b613d3d60f01b6002830352611c75565b603d60f81b60018303525b508484525050819450505050505b919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000819050919050565b611cbe81611cab565b82525050565b6000602082019050611cd96000830184611cb5565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d1e82611cf3565b9050919050565b611d2e81611d13565b8114611d3957600080fd5b50565b600081359050611d4b81611d25565b92915050565b611d5a81611cab565b8114611d6557600080fd5b50565b600081359050611d7781611d51565b92915050565b60008060408385031215611d9457611d93611ce9565b5b6000611da285828601611d3c565b9250506020611db385828601611d68565b9150509250929050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611df281611dbd565b8114611dfd57600080fd5b50565b600081359050611e0f81611de9565b92915050565b600060208284031215611e2b57611e2a611ce9565b5b6000611e3984828501611e00565b91505092915050565b60008115159050919050565b611e5781611e42565b82525050565b6000602082019050611e726000830184611e4e565b92915050565b600060208284031215611e8e57611e8d611ce9565b5b6000611e9c84828501611d68565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611edf578082015181840152602081019050611ec4565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f0782611ea5565b611f118185611eb0565b9350611f21818560208601611ec1565b611f2a81611eeb565b840191505092915050565b60006020820190508181036000830152611f4f8184611efc565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611f9482611eeb565b810181811067ffffffffffffffff82111715611fb357611fb2611f5c565b5b80604052505050565b6000611fc6611cdf565b9050611fd28282611f8b565b919050565b600067ffffffffffffffff821115611ff257611ff1611f5c565b5b602082029050602081019050919050565b600080fd5b600061201b61201684611fd7565b611fbc565b9050808382526020820190506020840283018581111561203e5761203d612003565b5b835b8181101561206757806120538882611d68565b845260208401935050602081019050612040565b5050509392505050565b600082601f83011261208657612085611f57565b5b8135612096848260208601612008565b91505092915050565b600080fd5b600067ffffffffffffffff8211156120bf576120be611f5c565b5b6120c882611eeb565b9050602081019050919050565b82818337600083830152505050565b60006120f76120f2846120a4565b611fbc565b9050828152602081018484840111156121135761211261209f565b5b61211e8482856120d5565b509392505050565b600082601f83011261213b5761213a611f57565b5b813561214b8482602086016120e4565b91505092915050565b600080600080600060a086880312156121705761216f611ce9565b5b600061217e88828901611d3c565b955050602061218f88828901611d3c565b945050604086013567ffffffffffffffff8111156121b0576121af611cee565b5b6121bc88828901612071565b935050606086013567ffffffffffffffff8111156121dd576121dc611cee565b5b6121e988828901612071565b925050608086013567ffffffffffffffff81111561220a57612209611cee565b5b61221688828901612126565b9150509295509295909350565b600067ffffffffffffffff82111561223e5761223d611f5c565b5b602082029050602081019050919050565b600061226261225d84612223565b611fbc565b9050808382526020820190506020840283018581111561228557612284612003565b5b835b818110156122ae578061229a8882611d3c565b845260208401935050602081019050612287565b5050509392505050565b600082601f8301126122cd576122cc611f57565b5b81356122dd84826020860161224f565b91505092915050565b600080604083850312156122fd576122fc611ce9565b5b600083013567ffffffffffffffff81111561231b5761231a611cee565b5b612327858286016122b8565b925050602083013567ffffffffffffffff81111561234857612347611cee565b5b61235485828601612071565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61239381611cab565b82525050565b60006123a5838361238a565b60208301905092915050565b6000602082019050919050565b60006123c98261235e565b6123d38185612369565b93506123de8361237a565b8060005b8381101561240f5781516123f68882612399565b9750612401836123b1565b9250506001810190506123e2565b5085935050505092915050565b6000602082019050818103600083015261243681846123be565b905092915050565b600080fd5b60008083601f84011261245957612458611f57565b5b8235905067ffffffffffffffff8111156124765761247561243e565b5b60208301915083602082028301111561249257612491612003565b5b9250929050565b600080602083850312156124b0576124af611ce9565b5b600083013567ffffffffffffffff8111156124ce576124cd611cee565b5b6124da85828601612443565b92509250509250929050565b6124ef81611d13565b82525050565b600060208201905061250a60008301846124e6565b92915050565b61251981611e42565b811461252457600080fd5b50565b60008135905061253681612510565b92915050565b6000806040838503121561255357612552611ce9565b5b600061256185828601611d3c565b925050602061257285828601612527565b9150509250929050565b600067ffffffffffffffff82111561259757612596611f5c565b5b6125a082611eeb565b9050602081019050919050565b60006125c06125bb8461257c565b611fbc565b9050828152602081018484840111156125dc576125db61209f565b5b6125e78482856120d5565b509392505050565b600082601f83011261260457612603611f57565b5b81356126148482602086016125ad565b91505092915050565b60006020828403121561263357612632611ce9565b5b600082013567ffffffffffffffff81111561265157612650611cee565b5b61265d848285016125ef565b91505092915050565b6000806040838503121561267d5761267c611ce9565b5b600061268b85828601611d3c565b925050602061269c85828601611d3c565b9150509250929050565b600080600080600060a086880312156126c2576126c1611ce9565b5b60006126d088828901611d3c565b95505060206126e188828901611d3c565b94505060406126f288828901611d68565b935050606061270388828901611d68565b925050608086013567ffffffffffffffff81111561272457612723611cee565b5b61273088828901612126565b9150509295509295909350565b60006020828403121561275357612752611ce9565b5b600061276184828501611d3c565b91505092915050565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b60006127c6602a83611eb0565b91506127d18261276a565b604082019050919050565b600060208201905081810360008301526127f5816127b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061284357607f821691505b602082108103612856576128556127fc565b5b50919050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b60006128b8602e83611eb0565b91506128c38261285c565b604082019050919050565b600060208201905081810360008301526128e7816128ab565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b600061294a602983611eb0565b9150612955826128ee565b604082019050919050565b600060208201905081810360008301526129798161293d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129e982611cab565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a1b57612a1a6129af565b5b600182019050919050565b6000612a3182611cab565b9150612a3c83611cab565b9250828201905080821115612a5457612a536129af565b5b92915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612abc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612a7f565b612ac68683612a7f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612b03612afe612af984611cab565b612ade565b611cab565b9050919050565b6000819050919050565b612b1d83612ae8565b612b31612b2982612b0a565b848454612a8c565b825550505050565b600090565b612b46612b39565b612b51818484612b14565b505050565b5b81811015612b7557612b6a600082612b3e565b600181019050612b57565b5050565b601f821115612bba57612b8b81612a5a565b612b9484612a6f565b81016020851015612ba3578190505b612bb7612baf85612a6f565b830182612b56565b50505b505050565b600082821c905092915050565b6000612bdd60001984600802612bbf565b1980831691505092915050565b6000612bf68383612bcc565b9150826002028217905092915050565b612c0f82611ea5565b67ffffffffffffffff811115612c2857612c27611f5c565b5b612c32825461282b565b612c3d828285612b79565b600060209050601f831160018114612c705760008415612c5e578287015190505b612c688582612bea565b865550612cd0565b601f198416612c7e86612a5a565b60005b82811015612ca657848901518255600182019150602085019450602081019050612c81565b86831015612cc35784890151612cbf601f891682612bcc565b8355505b6001600288020188555050505b505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612d34602683611eb0565b9150612d3f82612cd8565b604082019050919050565b60006020820190508181036000830152612d6381612d27565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b6000612dc6602883611eb0565b9150612dd182612d6a565b604082019050919050565b60006020820190508181036000830152612df581612db9565b9050919050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e58602583611eb0565b9150612e6382612dfc565b604082019050919050565b60006020820190508181036000830152612e8781612e4b565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b6000612eea602a83611eb0565b9150612ef582612e8e565b604082019050919050565b60006020820190508181036000830152612f1981612edd565b9050919050565b60006040820190508181036000830152612f3a81856123be565b90508181036020830152612f4e81846123be565b90509392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f8d602083611eb0565b9150612f9882612f57565b602082019050919050565b60006020820190508181036000830152612fbc81612f80565b9050919050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061301f602183611eb0565b915061302a82612fc3565b604082019050919050565b6000602082019050818103600083015261304e81613012565b9050919050565b600060408201905061306a6000830185611cb5565b6130776020830184611cb5565b9392505050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b60006130da602983611eb0565b91506130e58261307e565b604082019050919050565b60006020820190508181036000830152613109816130cd565b9050919050565b600081905092915050565b7f7b00000000000000000000000000000000000000000000000000000000000000600082015250565b6000613151600183613110565b915061315c8261311b565b600182019050919050565b7f226e616d65223a22000000000000000000000000000000000000000000000000600082015250565b600061319d600883613110565b91506131a882613167565b600882019050919050565b60006131be82611ea5565b6131c88185613110565b93506131d8818560208601611ec1565b80840191505092915050565b7f222c000000000000000000000000000000000000000000000000000000000000600082015250565b600061321a600283613110565b9150613225826131e4565b600282019050919050565b7f226465736372697074696f6e223a220000000000000000000000000000000000600082015250565b6000613266600f83613110565b915061327182613230565b600f82019050919050565b7f22696d616765223a220000000000000000000000000000000000000000000000600082015250565b60006132b2600983613110565b91506132bd8261327c565b600982019050919050565b600081546132d58161282b565b6132df8186613110565b945060018216600081146132fa576001811461330f57613342565b60ff1983168652811515820286019350613342565b61331885612a5a565b60005b8381101561333a5781548189015260018201915060208101905061331b565b838801955050505b50505092915050565b7f2200000000000000000000000000000000000000000000000000000000000000600082015250565b6000613381600183613110565b915061338c8261334b565b600182019050919050565b7f7d00000000000000000000000000000000000000000000000000000000000000600082015250565b60006133cd600183613110565b91506133d882613397565b600182019050919050565b60006133ee82613144565b91506133f982613190565b915061340582866131b3565b91506134108261320d565b915061341b82613259565b915061342782856131b3565b91506134328261320d565b915061343d826132a5565b915061344982846132c8565b915061345482613374565b915061345f826133c0565b9150819050949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b60006134a2601d83613110565b91506134ad8261346c565b601d82019050919050565b60006134c382613495565b91506134cf82846131b3565b915081905092915050565b600081519050919050565b600082825260208201905092915050565b6000613501826134da565b61350b81856134e5565b935061351b818560208601611ec1565b61352481611eeb565b840191505092915050565b600060a08201905061354460008301886124e6565b61355160208301876124e6565b818103604083015261356381866123be565b9050818103606083015261357781856123be565b9050818103608083015261358b81846134f6565b90509695505050505050565b6000815190506135a681611de9565b92915050565b6000602082840312156135c2576135c1611ce9565b5b60006135d084828501613597565b91505092915050565b60008160e01c9050919050565b600060033d11156136055760046000803e6136026000516135d9565b90505b90565b600060443d106136955761361a611cdf565b60043d036004823e80513d602482011167ffffffffffffffff82111715613642575050613695565b808201805167ffffffffffffffff8111156136605750505050613695565b80602083010160043d03850181111561367d575050505050613695565b61368c82602001850186611f8b565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b60006136f4603483611eb0565b91506136ff82613698565b604082019050919050565b60006020820190508181036000830152613723816136e7565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b6000613786602883611eb0565b91506137918261372a565b604082019050919050565b600060208201905081810360008301526137b581613779565b9050919050565b600060a0820190506137d160008301886124e6565b6137de60208301876124e6565b6137eb6040830186611cb5565b6137f86060830185611cb5565b818103608083015261380a81846134f6565b90509695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061385082611cab565b915061385b83611cab565b92508261386b5761386a613816565b5b828204905092915050565b600061388182611cab565b915061388c83611cab565b925082820261389a81611cab565b915082820484148315176138b1576138b06129af565b5b509291505056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220ba958127d339a2c5b6c2c3094712965ab49a09bed5a8729e181ff2855b22600d64736f6c634300081400334142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000005068747470733a2f2f697066732e696f2f697066732f6261666b726569646f63687665666c646f6d357a6f756e796e726d6b7a37786a64656f663469736f696d34336e376f376b747863767a6e6a67753400000000000000000000000000000000