60a06040523480156200001157600080fd5b506040518060400160405280600d81526020017f4c6f7374506172616469676d73000000000000000000000000000000000000008152506040518060400160405280600d81526020017f4c4f5354504152414449474d5300000000000000000000000000000000000000815250612711733cc6cdda760b79bafa08df41ecfa224f810dceb66001620000b8620000ac6200030860201b60201c565b6200031060201b60201c565b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115620002ad57801562000173576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16637d3e3dbe30846040518363ffffffff1660e01b815260040162000139929190620004ce565b600060405180830381600087803b1580156200015457600080fd5b505af115801562000169573d6000803e3d6000fd5b50505050620002ac565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146200022d576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663a0af290330846040518363ffffffff1660e01b8152600401620001f3929190620004ce565b600060405180830381600087803b1580156200020e57600080fd5b505af115801562000223573d6000803e3d6000fd5b50505050620002ab565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b8152600401620002769190620004fb565b600060405180830381600087803b1580156200029157600080fd5b505af1158015620002a6573d6000803e3d6000fd5b505050505b5b5b50508060808181525050508160099080519060200190620002d0929190620003d9565b5080600a9080519060200190620002e9929190620003d9565b50620002fa620003d460201b60201c565b60078190555050506200057c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600090565b828054620003e79062000547565b90600052602060002090601f0160209004810192826200040b576000855562000457565b82601f106200042657805160ff191683800117855562000457565b8280016001018555821562000457579182015b828111156200045657825182559160200191906001019062000439565b5b5090506200046691906200046a565b5090565b5b80821115620004855760008160009055506001016200046b565b5090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004b68262000489565b9050919050565b620004c881620004a9565b82525050565b6000604082019050620004e56000830185620004bd565b620004f46020830184620004bd565b9392505050565b6000602082019050620005126000830184620004bd565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200056057607f821691505b60208210810362000576576200057562000518565b5b50919050565b608051615d82620005986000396000611a970152615d826000f3fe6080604052600436106103765760003560e01c80636352211e116101d1578063b67c25a311610102578063dc33e681116100a0578063f19e75d41161006f578063f19e75d414610bf6578063f2fde38b14610c1f578063f3340be914610c48578063fde919f614610c7357610376565b8063dc33e68114610b28578063e08a660514610b65578063e55f58bb14610b8e578063e985e9c514610bb957610376565b8063c87b56dd116100dc578063c87b56dd14610a92578063c8d5ed6814610acf578063cb16262514610afa578063d13423a914610b1157610376565b8063b67c25a314610a20578063b88d4fde14610a4b578063c6ab67a314610a6757610376565b806386d9d4ef1161016f57806395d89b411161014957806395d89b41146109665780639aaf21f414610991578063a22cb465146109ba578063a9838c59146109e357610376565b806386d9d4ef1461090d5780638da5cb5b146109245780639166cd8c1461094f57610376565b8063715018a6116101ab578063715018a6146108725780637446b68714610889578063763f8d12146108a5578063775a1a0f146108d057610376565b80636352211e146107cd57806365b1de201461080a57806370a082311461083557610376565b806329fa6d02116102ab578063474bf2a01161024957806350be11571161022357806350be11571461074b57806355f804b314610762578063580d8e2c1461078b5780635e2cec1e146107b657610376565b8063474bf2a0146106db57806347a8d557146107065780634f7f89761461072257610376565b806342842e0e1161028557806342842e0e1461064057806342966c681461065c578063442d2f4a1461068557806344324c9d146106b057610376565b806329fa6d02146105c1578063390dc7bd146105fe57806340ebf0811461061557610376565b8063137f376a116103185780631948bb19116102f25780631948bb1914610538578063222217141461056357806323b872dd1461058e57806324600fc3146105aa57610376565b8063137f376a146104b757806317cffd28146104e257806318160ddd1461050d57610376565b8063095ea7b311610354578063095ea7b314610420578063099b6bfa1461043c5780630a026740146104655780630fa66c8a1461048e57610376565b806301ffc9a71461037b57806306fdde03146103b8578063081812fc146103e3575b600080fd5b34801561038757600080fd5b506103a2600480360381019061039d9190614905565b610c9e565b6040516103af919061494d565b60405180910390f35b3480156103c457600080fd5b506103cd610d30565b6040516103da9190614a01565b60405180910390f35b3480156103ef57600080fd5b5061040a60048036038101906104059190614a59565b610dc2565b6040516104179190614ac7565b60405180910390f35b61043a60048036038101906104359190614b0e565b610e41565b005b34801561044857600080fd5b50610463600480360381019061045e9190614b84565b610f85565b005b34801561047157600080fd5b5061048c60048036038101906104879190614bdd565b611047565b005b34801561049a57600080fd5b506104b560048036038101906104b09190614c6f565b6110e0565b005b3480156104c357600080fd5b506104cc611172565b6040516104d99190614ccb565b60405180910390f35b3480156104ee57600080fd5b506104f761117d565b6040516105049190614ccb565b60405180910390f35b34801561051957600080fd5b50610522611183565b60405161052f9190614ccb565b60405180910390f35b34801561054457600080fd5b5061054d61119a565b60405161055a9190614ccb565b60405180910390f35b34801561056f57600080fd5b506105786111a0565b604051610585919061494d565b60405180910390f35b6105a860048036038101906105a39190614ce6565b6111b3565b005b3480156105b657600080fd5b506105bf6113ab565b005b3480156105cd57600080fd5b506105e860048036038101906105e39190614d39565b6114d6565b6040516105f59190614e37565b60405180910390f35b34801561060a57600080fd5b506106136116a3565b005b34801561062157600080fd5b5061062a611845565b6040516106379190614ccb565b60405180910390f35b61065a60048036038101906106559190614ce6565b61184b565b005b34801561066857600080fd5b50610683600480360381019061067e9190614a59565b611a43565b005b34801561069157600080fd5b5061069a611a51565b6040516106a79190614e37565b60405180910390f35b3480156106bc57600080fd5b506106c5611ac0565b6040516106d2919061494d565b60405180910390f35b3480156106e757600080fd5b506106f0611ad3565b6040516106fd9190614a01565b60405180910390f35b610720600480360381019061071b919061504f565b611b61565b005b34801561072e57600080fd5b5061074960048036038101906107449190614b0e565b611e61565b005b34801561075757600080fd5b50610760611f8e565b005b34801561076e57600080fd5b5061078960048036038101906107849190614c6f565b61207d565b005b34801561079757600080fd5b506107a061210f565b6040516107ad9190614ccb565b60405180910390f35b3480156107c257600080fd5b506107cb612115565b005b3480156107d957600080fd5b506107f460048036038101906107ef9190614a59565b6121e2565b6040516108019190614ac7565b60405180910390f35b34801561081657600080fd5b5061081f6121f4565b60405161082c9190614ccb565b60405180910390f35b34801561084157600080fd5b5061085c60048036038101906108579190615098565b6121fa565b6040516108699190614ccb565b60405180910390f35b34801561087e57600080fd5b506108876122b2565b005b6108a3600480360381019061089e91906150c5565b61233a565b005b3480156108b157600080fd5b506108ba6125fe565b6040516108c79190614ccb565b60405180910390f35b3480156108dc57600080fd5b506108f760048036038101906108f29190615098565b612609565b6040516109049190615176565b60405180910390f35b34801561091957600080fd5b50610922612695565b005b34801561093057600080fd5b506109396127fb565b6040516109469190614ac7565b60405180910390f35b34801561095b57600080fd5b50610964612824565b005b34801561097257600080fd5b5061097b61292d565b6040516109889190614a01565b60405180910390f35b34801561099d57600080fd5b506109b860048036038101906109b39190614b0e565b6129bf565b005b3480156109c657600080fd5b506109e160048036038101906109dc9190615191565b612ae0565b005b3480156109ef57600080fd5b50610a0a6004803603810190610a059190614a59565b612beb565b604051610a179190614e37565b60405180910390f35b348015610a2c57600080fd5b50610a35612c3c565b604051610a42919061494d565b60405180910390f35b610a656004803603810190610a6091906151d1565b612c4f565b005b348015610a7357600080fd5b50610a7c612e4a565b604051610a899190615263565b60405180910390f35b348015610a9e57600080fd5b50610ab96004803603810190610ab49190614a59565b612e50565b604051610ac69190614a01565b60405180910390f35b348015610adb57600080fd5b50610ae4612eee565b604051610af19190614ccb565b60405180910390f35b348015610b0657600080fd5b50610b0f612ef3565b005b348015610b1d57600080fd5b50610b26612fc2565b005b348015610b3457600080fd5b50610b4f6004803603810190610b4a9190615098565b6130b1565b604051610b5c9190614ccb565b60405180910390f35b348015610b7157600080fd5b50610b8c6004803603810190610b879190615098565b6130c3565b005b348015610b9a57600080fd5b50610ba3613183565b604051610bb09190614ccb565b60405180910390f35b348015610bc557600080fd5b50610be06004803603810190610bdb919061527e565b613189565b604051610bed919061494d565b60405180910390f35b348015610c0257600080fd5b50610c1d6004803603810190610c189190614a59565b61321d565b005b348015610c2b57600080fd5b50610c466004803603810190610c419190615098565b61333d565b005b348015610c5457600080fd5b50610c5d613434565b604051610c6a919061494d565b60405180910390f35b348015610c7f57600080fd5b50610c88613447565b604051610c959190614ac7565b60405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cf957506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610d295750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b606060098054610d3f906152ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6b906152ed565b8015610db85780601f10610d8d57610100808354040283529160200191610db8565b820191906000526020600020905b815481529060010190602001808311610d9b57829003601f168201915b5050505050905090565b6000610dcd8261346d565b610e03576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610e4c826121e2565b90508073ffffffffffffffffffffffffffffffffffffffff16610e6d6134cc565b73ffffffffffffffffffffffffffffffffffffffff1614610ed057610e9981610e946134cc565b613189565b610ecf576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b82600d600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b610f8d6134d4565b73ffffffffffffffffffffffffffffffffffffffff16610fab6127fb565b73ffffffffffffffffffffffffffffffffffffffff1614611001576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff89061536a565b60405180910390fd5b60006003541461103d576040517fa89ac15100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060058190555050565b61104f6134d4565b73ffffffffffffffffffffffffffffffffffffffff1661106d6127fb565b73ffffffffffffffffffffffffffffffffffffffff16146110c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ba9061536a565b60405180910390fd5b80600060146101000a81548160ff02191690831515021790555050565b6110e86134d4565b73ffffffffffffffffffffffffffffffffffffffff166111066127fb565b73ffffffffffffffffffffffffffffffffffffffff161461115c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111539061536a565b60405180910390fd5b81816006919061116d9291906147d5565b505050565b664edec84a03800081565b60045481565b600061118d6134dc565b6008546007540303905090565b60035481565b600f60169054906101000a900460ff1681565b82600060149054906101000a900460ff16156113995760006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115611398573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361123a576112358484846134e1565b6113a5565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b815260040161128392919061538a565b602060405180830381865afa1580156112a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c491906153c8565b801561135657506daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b815260040161131492919061538a565b602060405180830381865afa158015611331573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135591906153c8565b5b61139757336040517fede71dcc00000000000000000000000000000000000000000000000000000000815260040161138e9190614ac7565b60405180910390fd5b5b5b6113a48484846134e1565b5b50505050565b6113b36134d4565b73ffffffffffffffffffffffffffffffffffffffff166113d16127fb565b73ffffffffffffffffffffffffffffffffffffffff1614611427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141e9061536a565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161144d90615426565b60006040518083038185875af1925050503d806000811461148a576040519150601f19603f3d011682016040523d82523d6000602084013e61148f565b606091505b50509050806114d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ca90615487565b60405180910390fd5b50565b606060008267ffffffffffffffff8111156114f4576114f3614e5e565b5b6040519080825280602002602001820160405280156115225781602001602082028036833780820191505090505b50905060008367ffffffffffffffff81111561154157611540614e5e565b5b60405190808252806020026020018201604052801561156f5781602001602082028036833780820191505090505b50905060008060008087905060005b888110156116935789816040516020016115999291906154c8565b6040516020818303038152906040528051906020012060001c9950818a6115c09190615523565b92508683815181106115d5576115d4615554565b5b60200260200101519350866001836115ed91906155b2565b815181106115fe576115fd615554565b5b60200260200101519450600084146116225760018461161d91906155b2565b611624565b825b86828151811061163757611636615554565b5b602002602001018181525050600085146116515784611653565b815b87848151811061166657611665615554565b5b602002602001018181525050818061167d906155e6565b925050808061168b9061560f565b91505061157e565b5084965050505050505092915050565b6116ab6134d4565b73ffffffffffffffffffffffffffffffffffffffff166116c96127fb565b73ffffffffffffffffffffffffffffffffffffffff161461171f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117169061536a565b60405180910390fd5b60006003540361175b576040517f5a6f84e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060025403611797576040517fc383196800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600454146117d3576040517ff6d2966a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025443101561180f576040517f9033eb2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025444604051602001611824929190615657565b6040516020818303038152906040528051906020012060001c600481905550565b60025481565b82600060149054906101000a900460ff1615611a315760006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115611a30573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118d2576118cd848484613803565b611a3d565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b815260040161191b92919061538a565b602060405180830381865afa158015611938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195c91906153c8565b80156119ee57506daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b81526004016119ac92919061538a565b602060405180830381865afa1580156119c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ed91906153c8565b5b611a2f57336040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401611a269190614ac7565b60405180910390fd5b5b5b611a3c848484613803565b5b50505050565b611a4e816001613823565b50565b6060600060035403611a8f576040517fb2c9bc8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611abb6003547f00000000000000000000000000000000000000000000000000000000000000006114d6565b905090565b600060149054906101000a900460ff1681565b60068054611ae0906152ed565b80601f0160208091040260200160405190810160405280929190818152602001828054611b0c906152ed565b8015611b595780601f10611b2e57610100808354040283529160200191611b59565b820191906000526020600020905b815481529060010190602001808311611b3c57829003601f168201915b505050505081565b8060000151816020015182604001518360600151604051602001611b87939291906156c8565b6040516020818303038152906040526000611ba88280519060200120613a75565b9050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611bf68483613aa590919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1614611c43576040517f6b9ce38100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600f60159054906101000a900460ff16611c8a576040517fc39f6ac400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060a00151664edec84a038000611ca19190615705565b341015611cda576040517f434f4a1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611ce98260200151612609565b90508160a0015181602001818151611d01919061575f565b91508181525050816060015181602001511115611d4a576040517fe27a0f6000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816080015181604001818151611d60919061575f565b91508181525050816040015181604001511115611da9576040517fae6e4efa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008160400151600d8360200151901b601a8460000151901b17179050611dd4836020015182613acc565b8660a001518760800151611de8919061575f565b61271181611df4613b82565b611dfe919061575f565b1115611e36576040517f916b0b3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611e57886020015189608001518a60a00151611e52919061575f565b613b95565b5050505050505050565b611e696134d4565b73ffffffffffffffffffffffffffffffffffffffff16611e876127fb565b73ffffffffffffffffffffffffffffffffffffffff1614611edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed49061536a565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051611f0390615426565b60006040518083038185875af1925050503d8060008114611f40576040519150601f19603f3d011682016040523d82523d6000602084013e611f45565b606091505b5050905080611f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8090615487565b60405180910390fd5b505050565b611f966134d4565b73ffffffffffffffffffffffffffffffffffffffff16611fb46127fb565b73ffffffffffffffffffffffffffffffffffffffff161461200a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120019061536a565b60405180910390fd5b600f60169054906101000a900460ff1615612051576040517f9afb348c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600f60159054906101000a900460ff1615600f60156101000a81548160ff021916908315150217905550565b6120856134d4565b73ffffffffffffffffffffffffffffffffffffffff166120a36127fb565b73ffffffffffffffffffffffffffffffffffffffff16146120f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f09061536a565b60405180910390fd5b81816011919061210a9291906147d5565b505050565b60015481565b61211d6134d4565b73ffffffffffffffffffffffffffffffffffffffff1661213b6127fb565b73ffffffffffffffffffffffffffffffffffffffff1614612191576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121889061536a565b60405180910390fd5b6000600154146121cd576040517f840acedd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a436121da919061575f565b600181905550565b60006121ed82613d51565b9050919050565b61271181565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612261576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b6122ba6134d4565b73ffffffffffffffffffffffffffffffffffffffff166122d86127fb565b73ffffffffffffffffffffffffffffffffffffffff161461232e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123259061536a565b60405180910390fd5b6123386000613e1d565b565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461239f576040517fe9d8d82100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3381600f60149054906101000a900460ff166123e7576040517fcd967e3500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8066764e2c6f0540006123fa9190615705565b341015612433576040517f434f4a1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061243e83612609565b9050600a828260000151612452919061575f565b111561248a576040517fe6a8f87600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818160000181815161249c919061575f565b9150818152505060008160400151600d8360200151901b601a8460000151901b171790506124ca8482613acc565b84612711816124d7613b82565b6124e1919061575f565b1115612519576040517f916b0b3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b873360405160200161252b91906157b5565b604051602081830303815290604052600061254c8280519060200120613a75565b9050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661259a8483613aa590919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16146125e7576040517f6b9ce38100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6125f18a8a613b95565b5050505050505050505050565b66764e2c6f05400081565b61261161485b565b600061261c83613ee1565b90506000601a8267ffffffffffffffff16901c67ffffffffffffffff1690506000611fff600d8467ffffffffffffffff16901c1667ffffffffffffffff1690506000611fff841667ffffffffffffffff169050604051806060016040528084815260200183815260200182815250945050505050919050565b61269d6134d4565b73ffffffffffffffffffffffffffffffffffffffff166126bb6127fb565b73ffffffffffffffffffffffffffffffffffffffff1614612711576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127089061536a565b60405180910390fd5b60006001540361274d576040517f43ce2e7900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060035414612789576040517f3f6102e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001544310156127c5576040517f9033eb2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600154446040516020016127da929190615657565b6040516020818303038152906040528051906020012060001c600381905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61282c6134d4565b73ffffffffffffffffffffffffffffffffffffffff1661284a6127fb565b73ffffffffffffffffffffffffffffffffffffffff16146128a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128979061536a565b60405180910390fd5b6000600354036128dc576040517f5a6f84e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060025414612918576040517f0b4b4f8a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a43612925919061575f565b600281905550565b6060600a805461293c906152ed565b80601f0160208091040260200160405190810160405280929190818152602001828054612968906152ed565b80156129b55780601f1061298a576101008083540402835291602001916129b5565b820191906000526020600020905b81548152906001019060200180831161299857829003601f168201915b5050505050905090565b6129c76134d4565b73ffffffffffffffffffffffffffffffffffffffff166129e56127fb565b73ffffffffffffffffffffffffffffffffffffffff1614612a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a329061536a565b60405180910390fd5b8061271181612a48613b82565b612a52919061575f565b1115612a8a576040517f916b0b3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600f60169054906101000a900460ff1615612ad1576040517f9afb348c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612adb8383613b95565b505050565b80600e6000612aed6134cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16612b9a6134cc565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612bdf919061494d565b60405180910390a35050565b6060600060045403612c29576040517fb2c9bc8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c35600454836114d6565b9050919050565b600f60149054906101000a900460ff1681565b83600060149054906101000a900460ff1615612e365760006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115612e35573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612cd757612cd285858585613f2e565b612e43565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b8152600401612d2092919061538a565b602060405180830381865afa158015612d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d6191906153c8565b8015612df357506daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401612db192919061538a565b602060405180830381865afa158015612dce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612df291906153c8565b5b612e3457336040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401612e2b9190614ac7565b60405180910390fd5b5b5b612e4285858585613f2e565b5b5050505050565b60055481565b6060612e5b8261346d565b612e91576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612e9b613fa1565b90506000815103612ebb5760405180602001604052806000815250612ee6565b80612ec584614033565b604051602001612ed6929190615858565b6040516020818303038152906040525b915050919050565b600a81565b612efb6134d4565b73ffffffffffffffffffffffffffffffffffffffff16612f196127fb565b73ffffffffffffffffffffffffffffffffffffffff1614612f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f669061536a565b60405180910390fd5b6001600f60166101000a81548160ff0219169083151502179055506000600f60156101000a81548160ff0219169083151502179055506000600f60146101000a81548160ff021916908315150217905550565b612fca6134d4565b73ffffffffffffffffffffffffffffffffffffffff16612fe86127fb565b73ffffffffffffffffffffffffffffffffffffffff161461303e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130359061536a565b60405180910390fd5b600f60169054906101000a900460ff1615613085576040517f9afb348c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600f60149054906101000a900460ff1615600f60146101000a81548160ff021916908315150217905550565b60006130bc82614193565b9050919050565b6130cb6134d4565b73ffffffffffffffffffffffffffffffffffffffff166130e96127fb565b73ffffffffffffffffffffffffffffffffffffffff161461313f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131369061536a565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60105481565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6132256134d4565b73ffffffffffffffffffffffffffffffffffffffff166132436127fb565b73ffffffffffffffffffffffffffffffffffffffff1614613299576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132909061536a565b60405180910390fd5b80612711816132a6613b82565b6132b0919061575f565b11156132e8576040517f916b0b3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600f60169054906101000a900460ff161561332f576040517f9afb348c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6133393383613b95565b5050565b6133456134d4565b73ffffffffffffffffffffffffffffffffffffffff166133636127fb565b73ffffffffffffffffffffffffffffffffffffffff16146133b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133b09061536a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161341f906158f9565b60405180910390fd5b61343181613e1d565b50565b600f60159054906101000a900460ff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000816134786134dc565b11158015613487575060075482105b80156134c5575060007c0100000000000000000000000000000000000000000000000000000000600b60008581526020019081526020016000205416145b9050919050565b600033905090565b600033905090565b600090565b60006134ec82613d51565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613553576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061355f846141ea565b9150915061357581876135706134cc565b614211565b6135c15761358a866135856134cc565b613189565b6135c0576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603613627576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6136348686866001614255565b801561363f57600082555b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001019190508190555061370d856136e988888761425b565b7c020000000000000000000000000000000000000000000000000000000017614283565b600b60008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036137935760006001850190506000600b600083815260200190815260200160002054036137915760075481146137905783600b6000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46137fb86868660016142ae565b505050505050565b61381e83838360405180602001604052806000815250612c4f565b505050565b600061382e83613d51565b90506000819050600080613841866141ea565b9150915084156138aa5761385d81846138586134cc565b614211565b6138a9576138728361386d6134cc565b613189565b6138a8576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5b6138b8836000886001614255565b80156138c357600082555b600160806001901b03600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555061396b836139288560008861425b565b7c02000000000000000000000000000000000000000000000000000000007c01000000000000000000000000000000000000000000000000000000001717614283565b600b60008881526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008516036139f15760006001870190506000600b600083815260200190815260200160002054036139ef5760075481146139ee5784600b6000838152602001908152602001600020819055505b5b505b85600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613a5b8360008860016142ae565b600860008154809291906001019190505550505050505050565b600081604051602001613a889190615986565b604051602081830303815290604052805190602001209050919050565b6000806000613ab485856142b4565b91509150613ac181614335565b819250505092915050565b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600082905060c081901b77ffffffffffffffffffffffffffffffffffffffffffffffff831617915081600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b6000613b8c6134dc565b60075403905090565b6000600754905060008203613bd6576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613be36000848385614255565b600160406001901b178202600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550613c5a83613c4b600086600061425b565b613c5485614501565b17614283565b600b600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b818114613cfb57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600181019050613cc0565b5060008203613d36576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806007819055505050613d4c60008483856142ae565b505050565b60008082905080613d606134dc565b11613de657600754811015613de5576000600b600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603613de3575b60008103613dd957600b600083600190039350838152602001908152602001600020549050613daf565b8092505050613e18565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060c0600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054901c9050919050565b613f398484846111b3565b60008373ffffffffffffffffffffffffffffffffffffffff163b14613f9b57613f6484848484614511565b613f9a576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b606060118054613fb0906152ed565b80601f0160208091040260200160405190810160405280929190818152602001828054613fdc906152ed565b80156140295780601f10613ffe57610100808354040283529160200191614029565b820191906000526020600020905b81548152906001019060200180831161400c57829003601f168201915b5050505050905090565b60606000820361407a576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061418e565b600082905060005b600082146140ac5780806140959061560f565b915050600a826140a591906159ac565b9150614082565b60008167ffffffffffffffff8111156140c8576140c7614e5e565b5b6040519080825280601f01601f1916602001820160405280156140fa5781602001600182028036833780820191505090505b5090505b600085146141875760018261411391906155b2565b9150600a856141229190615523565b603061412e919061575f565b60f81b81838151811061414457614143615554565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561418091906159ac565b94506140fe565b8093505050505b919050565b600067ffffffffffffffff6040600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054901c169050919050565b6000806000600d600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8614272868684614661565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b60008060418351036142f55760008060006020860151925060408601519150606086015160001a90506142e98782858561466a565b9450945050505061432e565b604083510361432557600080602085015191506040850151905061431a868383614776565b93509350505061432e565b60006002915091505b9250929050565b60006004811115614349576143486159dd565b5b81600481111561435c5761435b6159dd565b5b03156144fe5760016004811115614376576143756159dd565b5b816004811115614389576143886159dd565b5b036143c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016143c090615a58565b60405180910390fd5b600260048111156143dd576143dc6159dd565b5b8160048111156143f0576143ef6159dd565b5b03614430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161442790615ac4565b60405180910390fd5b60036004811115614444576144436159dd565b5b816004811115614457576144566159dd565b5b03614497576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161448e90615b56565b60405180910390fd5b6004808111156144aa576144a96159dd565b5b8160048111156144bd576144bc6159dd565b5b036144fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016144f490615be8565b60405180910390fd5b5b50565b60006001821460e11b9050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a026145376134cc565b8786866040518563ffffffff1660e01b81526004016145599493929190615c5d565b6020604051808303816000875af192505050801561459557506040513d601f19601f820116820180604052508101906145929190615cbe565b60015b61460e573d80600081146145c5576040519150601f19603f3d011682016040523d82523d6000602084013e6145ca565b606091505b506000815103614606576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b60009392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156146a557600060039150915061476d565b601b8560ff16141580156146bd5750601c8560ff1614155b156146cf57600060049150915061476d565b6000600187878787604051600081526020016040526040516146f49493929190615d07565b6020604051602081039080840390855afa158015614716573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036147645760006001925092505061476d565b80600092509250505b94509492505050565b60008060007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b841690506000601b60ff8660001c901c6147b9919061575f565b90506147c78782888561466a565b935093505050935093915050565b8280546147e1906152ed565b90600052602060002090601f016020900481019282614803576000855561484a565b82601f1061481c57803560ff191683800117855561484a565b8280016001018555821561484a579182015b8281111561484957823582559160200191906001019061482e565b5b509050614857919061487c565b5090565b60405180606001604052806000815260200160008152602001600081525090565b5b8082111561489557600081600090555060010161487d565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6148e2816148ad565b81146148ed57600080fd5b50565b6000813590506148ff816148d9565b92915050565b60006020828403121561491b5761491a6148a3565b5b6000614929848285016148f0565b91505092915050565b60008115159050919050565b61494781614932565b82525050565b6000602082019050614962600083018461493e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156149a2578082015181840152602081019050614987565b838111156149b1576000848401525b50505050565b6000601f19601f8301169050919050565b60006149d382614968565b6149dd8185614973565b93506149ed818560208601614984565b6149f6816149b7565b840191505092915050565b60006020820190508181036000830152614a1b81846149c8565b905092915050565b6000819050919050565b614a3681614a23565b8114614a4157600080fd5b50565b600081359050614a5381614a2d565b92915050565b600060208284031215614a6f57614a6e6148a3565b5b6000614a7d84828501614a44565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614ab182614a86565b9050919050565b614ac181614aa6565b82525050565b6000602082019050614adc6000830184614ab8565b92915050565b614aeb81614aa6565b8114614af657600080fd5b50565b600081359050614b0881614ae2565b92915050565b60008060408385031215614b2557614b246148a3565b5b6000614b3385828601614af9565b9250506020614b4485828601614a44565b9150509250929050565b6000819050919050565b614b6181614b4e565b8114614b6c57600080fd5b50565b600081359050614b7e81614b58565b92915050565b600060208284031215614b9a57614b996148a3565b5b6000614ba884828501614b6f565b91505092915050565b614bba81614932565b8114614bc557600080fd5b50565b600081359050614bd781614bb1565b92915050565b600060208284031215614bf357614bf26148a3565b5b6000614c0184828501614bc8565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112614c2f57614c2e614c0a565b5b8235905067ffffffffffffffff811115614c4c57614c4b614c0f565b5b602083019150836001820283011115614c6857614c67614c14565b5b9250929050565b60008060208385031215614c8657614c856148a3565b5b600083013567ffffffffffffffff811115614ca457614ca36148a8565b5b614cb085828601614c19565b92509250509250929050565b614cc581614a23565b82525050565b6000602082019050614ce06000830184614cbc565b92915050565b600080600060608486031215614cff57614cfe6148a3565b5b6000614d0d86828701614af9565b9350506020614d1e86828701614af9565b9250506040614d2f86828701614a44565b9150509250925092565b60008060408385031215614d5057614d4f6148a3565b5b6000614d5e85828601614a44565b9250506020614d6f85828601614a44565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614dae81614a23565b82525050565b6000614dc08383614da5565b60208301905092915050565b6000602082019050919050565b6000614de482614d79565b614dee8185614d84565b9350614df983614d95565b8060005b83811015614e2a578151614e118882614db4565b9750614e1c83614dcc565b925050600181019050614dfd565b5085935050505092915050565b60006020820190508181036000830152614e518184614dd9565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614e96826149b7565b810181811067ffffffffffffffff82111715614eb557614eb4614e5e565b5b80604052505050565b6000614ec8614899565b9050614ed48282614e8d565b919050565b600080fd5b600080fd5b600067ffffffffffffffff821115614efe57614efd614e5e565b5b614f07826149b7565b9050602081019050919050565b82818337600083830152505050565b6000614f36614f3184614ee3565b614ebe565b905082815260208101848484011115614f5257614f51614ede565b5b614f5d848285614f14565b509392505050565b600082601f830112614f7a57614f79614c0a565b5b8135614f8a848260208601614f23565b91505092915050565b600060c08284031215614fa957614fa8614e59565b5b614fb360c0614ebe565b9050600082013567ffffffffffffffff811115614fd357614fd2614ed9565b5b614fdf84828501614f65565b6000830152506020614ff384828501614af9565b602083015250604061500784828501614a44565b604083015250606061501b84828501614a44565b606083015250608061502f84828501614a44565b60808301525060a061504384828501614a44565b60a08301525092915050565b600060208284031215615065576150646148a3565b5b600082013567ffffffffffffffff811115615083576150826148a8565b5b61508f84828501614f93565b91505092915050565b6000602082840312156150ae576150ad6148a3565b5b60006150bc84828501614af9565b91505092915050565b6000806000606084860312156150de576150dd6148a3565b5b600084013567ffffffffffffffff8111156150fc576150fb6148a8565b5b61510886828701614f65565b935050602061511986828701614af9565b925050604061512a86828701614a44565b9150509250925092565b60608201600082015161514a6000850182614da5565b50602082015161515d6020850182614da5565b5060408201516151706040850182614da5565b50505050565b600060608201905061518b6000830184615134565b92915050565b600080604083850312156151a8576151a76148a3565b5b60006151b685828601614af9565b92505060206151c785828601614bc8565b9150509250929050565b600080600080608085870312156151eb576151ea6148a3565b5b60006151f987828801614af9565b945050602061520a87828801614af9565b935050604061521b87828801614a44565b925050606085013567ffffffffffffffff81111561523c5761523b6148a8565b5b61524887828801614f65565b91505092959194509250565b61525d81614b4e565b82525050565b60006020820190506152786000830184615254565b92915050565b60008060408385031215615295576152946148a3565b5b60006152a385828601614af9565b92505060206152b485828601614af9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061530557607f821691505b602082108103615318576153176152be565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000615354602083614973565b915061535f8261531e565b602082019050919050565b6000602082019050818103600083015261538381615347565b9050919050565b600060408201905061539f6000830185614ab8565b6153ac6020830184614ab8565b9392505050565b6000815190506153c281614bb1565b92915050565b6000602082840312156153de576153dd6148a3565b5b60006153ec848285016153b3565b91505092915050565b600081905092915050565b50565b60006154106000836153f5565b915061541b82615400565b600082019050919050565b600061543182615403565b9150819050919050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b6000615471601083614973565b915061547c8261543b565b602082019050919050565b600060208201905081810360008301526154a081615464565b9050919050565b6000819050919050565b6154c26154bd82614a23565b6154a7565b82525050565b60006154d482856154b1565b6020820191506154e482846154b1565b6020820191508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061552e82614a23565b915061553983614a23565b925082615549576155486154f4565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006155bd82614a23565b91506155c883614a23565b9250828210156155db576155da615583565b5b828203905092915050565b60006155f182614a23565b91506000820361560457615603615583565b5b600182039050919050565b600061561a82614a23565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361564c5761564b615583565b5b600182019050919050565b600060408201905061566c6000830185614cbc565b6156796020830184614cbc565b9392505050565b60008160601b9050919050565b600061569882615680565b9050919050565b60006156aa8261568d565b9050919050565b6156c26156bd82614aa6565b61569f565b82525050565b60006156d482866156b1565b6014820191506156e482856154b1565b6020820191506156f482846154b1565b602082019150819050949350505050565b600061571082614a23565b915061571b83614a23565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561575457615753615583565b5b828202905092915050565b600061576a82614a23565b915061577583614a23565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156157aa576157a9615583565b5b828201905092915050565b60006157c182846156b1565b60148201915081905092915050565b600081905092915050565b60006157e682614968565b6157f081856157d0565b9350615800818560208601614984565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b60006158426005836157d0565b915061584d8261580c565b600582019050919050565b600061586482856157db565b915061587082846157db565b915061587b82615835565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006158e3602683614973565b91506158ee82615887565b604082019050919050565b60006020820190508181036000830152615912816158d6565b9050919050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b600061594f601c836157d0565b915061595a82615919565b601c82019050919050565b6000819050919050565b61598061597b82614b4e565b615965565b82525050565b600061599182615942565b915061599d828461596f565b60208201915081905092915050565b60006159b782614a23565b91506159c283614a23565b9250826159d2576159d16154f4565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000615a42601883614973565b9150615a4d82615a0c565b602082019050919050565b60006020820190508181036000830152615a7181615a35565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000615aae601f83614973565b9150615ab982615a78565b602082019050919050565b60006020820190508181036000830152615add81615aa1565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000615b40602283614973565b9150615b4b82615ae4565b604082019050919050565b60006020820190508181036000830152615b6f81615b33565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000615bd2602283614973565b9150615bdd82615b76565b604082019050919050565b60006020820190508181036000830152615c0181615bc5565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000615c2f82615c08565b615c398185615c13565b9350615c49818560208601614984565b615c52816149b7565b840191505092915050565b6000608082019050615c726000830187614ab8565b615c7f6020830186614ab8565b615c8c6040830185614cbc565b8181036060830152615c9e8184615c24565b905095945050505050565b600081519050615cb8816148d9565b92915050565b600060208284031215615cd457615cd36148a3565b5b6000615ce284828501615ca9565b91505092915050565b600060ff82169050919050565b615d0181615ceb565b82525050565b6000608082019050615d1c6000830187615254565b615d296020830186615cf8565b615d366040830185615254565b615d436060830184615254565b9594505050505056fea2646970667358221220867a086c7ce03fadebe65993c6643f477ccee4ef7df16ed471cc3b762289fb4964736f6c634300080d0033