60e060405262000014620004ef60201b60201c565b600a62000022919062000a4e565b6401dcd6500062000034919062000a9f565b6080908152506000600760146101000a81548160ff0219169083151502179055506001600760156101000a81548160ff0219169083151502179055506000600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060a090815250600060c0908152506000600a553480156200011757600080fd5b506040518060400160405280600e81526020017f5065706520556e636861696e65640000000000000000000000000000000000008152506040518060400160405280600481526020017f5045505500000000000000000000000000000000000000000000000000000000815250620001a462000198620004f860201b60201c565b6200050060201b60201c565b8160049081620001b5919062000d5a565b508060059081620001c7919062000d5a565b505050620001f073f0163c18f8d3fc8d5b4ca15e07d0f9f75460335f33620005c460201b60201c565b6200022a3361271061ffff1661271061ffff1660805162000212919062000a9f565b6200021e919062000e70565b6200064a60201b60201c565b6001600760146101000a81548160ff0219169083151502179055506001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000362573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000388919062000f12565b90508073ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043b919062000f12565b6040518363ffffffff1660e01b81526004016200045a92919062000f55565b6020604051808303816000875af11580156200047a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a0919062000f12565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a81905550506200106e565b60006012905090565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620006bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006b39062000fe3565b60405180910390fd5b620006d060008383620008aa60201b60201c565b8060036000828254620006e4919062001005565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200073c919062001005565b92505081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200082957600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200081b919062001051565b60405180910390a362000892565b8173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000889919062001051565b60405180910390a35b620008a660008383620008af60201b60201c565b5050565b505050565b505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000942578086048111156200091a5762000919620008b4565b5b60018516156200092a5780820291505b80810290506200093a85620008e3565b9450620008fa565b94509492505050565b6000826200095d576001905062000a30565b816200096d576000905062000a30565b81600181146200098657600281146200099157620009c7565b600191505062000a30565b60ff841115620009a657620009a5620008b4565b5b8360020a915084821115620009c057620009bf620008b4565b5b5062000a30565b5060208310610133831016604e8410600b841016171562000a015782820a905083811115620009fb57620009fa620008b4565b5b62000a30565b62000a108484846001620008f0565b9250905081840481111562000a2a5762000a29620008b4565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000a5b8262000a37565b915062000a688362000a41565b925062000a977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200094b565b905092915050565b600062000aac8262000a37565b915062000ab98362000a37565b925082820262000ac98162000a37565b9150828204841483151762000ae35762000ae2620008b4565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b6c57607f821691505b60208210810362000b825762000b8162000b24565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000bec7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000bad565b62000bf8868362000bad565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000c3b62000c3562000c2f8462000a37565b62000c10565b62000a37565b9050919050565b6000819050919050565b62000c578362000c1a565b62000c6f62000c668262000c42565b84845462000bba565b825550505050565b600090565b62000c8662000c77565b62000c9381848462000c4c565b505050565b5b8181101562000cbb5762000caf60008262000c7c565b60018101905062000c99565b5050565b601f82111562000d0a5762000cd48162000b88565b62000cdf8462000b9d565b8101602085101562000cef578190505b62000d0762000cfe8562000b9d565b83018262000c98565b50505b505050565b600082821c905092915050565b600062000d2f6000198460080262000d0f565b1980831691505092915050565b600062000d4a838362000d1c565b9150826002028217905092915050565b62000d658262000aea565b67ffffffffffffffff81111562000d815762000d8062000af5565b5b62000d8d825462000b53565b62000d9a82828562000cbf565b600060209050601f83116001811462000dd2576000841562000dbd578287015190505b62000dc9858262000d3c565b86555062000e39565b601f19841662000de28662000b88565b60005b8281101562000e0c5784890151825560018201915060208501945060208101905062000de5565b8683101562000e2c578489015162000e28601f89168262000d1c565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e7d8262000a37565b915062000e8a8362000a37565b92508262000e9d5762000e9c62000e41565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000eda8262000ead565b9050919050565b62000eec8162000ecd565b811462000ef857600080fd5b50565b60008151905062000f0c8162000ee1565b92915050565b60006020828403121562000f2b5762000f2a62000ea8565b5b600062000f3b8482850162000efb565b91505092915050565b62000f4f8162000ecd565b82525050565b600060408201905062000f6c600083018562000f44565b62000f7b602083018462000f44565b9392505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000fcb601f8362000f82565b915062000fd88262000f93565b602082019050919050565b6000602082019050818103600083015262000ffe8162000fbc565b9050919050565b6000620010128262000a37565b91506200101f8362000a37565b92508282019050808211156200103a5762001039620008b4565b5b92915050565b6200104b8162000a37565b82525050565b600060208201905062001068600083018462001040565b92915050565b60805160a05160c051612db1620010ac600039600081816108d80152611849015260008181610b1401526117d0015260006111a80152612db16000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c806370a082311161010f578063a9059cbb116100a2578063d5abeb0111610071578063d5abeb0114610560578063dd62ed3e1461057e578063f2fde38b146105ae578063f887ea40146105ca576101e5565b8063a9059cbb146104da578063b48b7f771461050a578063beae207f1461053a578063c9567bf914610556576101e5565b806396784f75116100de57806396784f7514610452578063985bdfd11461046e578063a457c2d71461048c578063a8aa1b31146104bc576101e5565b806370a08231146103dc578063715018a61461040c5780638da5cb5b1461041657806395d89b4114610434576101e5565b806327c8f835116101875780634022b75e116101565780634022b75e1461036857806347062402146103845780634c255c97146103a25780634ca64b3a146103c0576101e5565b806327c8f835146102de5780632b14ca56146102fc578063313ce5671461031a5780633950935114610338576101e5565b806318160ddd116101c357806318160ddd1461025657806323b872dd146102745780632433cc80146102a457806325fa0b98146102c0576101e5565b806306fdde03146101ea578063095ea7b314610208578063158ef93e14610238575b600080fd5b6101f26105e8565b6040516101ff9190611faf565b60405180910390f35b610222600480360381019061021d919061206f565b61067a565b60405161022f91906120ca565b60405180910390f35b610240610698565b60405161024d91906120ca565b60405180910390f35b61025e6106ab565b60405161026b91906120f4565b60405180910390f35b61028e6004803603810190610289919061210f565b6106b5565b60405161029b91906120ca565b60405180910390f35b6102be60048036038101906102b9919061218e565b6107ad565b005b6102c861089d565b6040516102d591906120ca565b60405180910390f35b6102e66108b0565b6040516102f391906121dd565b60405180910390f35b6103046108d6565b60405161031191906120f4565b60405180910390f35b6103226108fa565b60405161032f9190612214565b60405180910390f35b610352600480360381019061034d919061206f565b610903565b60405161035f91906120ca565b60405180910390f35b610382600480360381019061037d91906122ea565b6109af565b005b61038c610b12565b60405161039991906120f4565b60405180910390f35b6103aa610b36565b6040516103b7919061239c565b60405180910390f35b6103da60048036038101906103d591906123b7565b610b3c565b005b6103f660048036038101906103f19190612417565b610ba2565b60405161040391906120f4565b60405180910390f35b610414610beb565b005b61041e610c8c565b60405161042b91906121dd565b60405180910390f35b61043c610cb5565b6040516104499190611faf565b60405180910390f35b61046c600480360381019061046791906122ea565b610d47565b005b610476610eaa565b604051610483919061239c565b60405180910390f35b6104a660048036038101906104a1919061206f565b610eb0565b6040516104b391906120ca565b60405180910390f35b6104c4610f9b565b6040516104d191906121dd565b60405180910390f35b6104f460048036038101906104ef919061206f565b610fc1565b60405161050191906120ca565b60405180910390f35b610524600480360381019061051f9190612417565b610fdf565b60405161053191906120ca565b60405180910390f35b610554600480360381019061054f9190612444565b610fff565b005b61055e61109e565b005b6105686111a6565b60405161057591906120f4565b60405180910390f35b61059860048036038101906105939190612471565b6111ca565b6040516105a591906120f4565b60405180910390f35b6105c860048036038101906105c39190612417565b611251565b005b6105d2611361565b6040516105df9190612510565b60405180910390f35b6060600480546105f79061255a565b80601f01602080910402602001604051908101604052809291908181526020018280546106239061255a565b80156106705780601f1061064557610100808354040283529160200191610670565b820191906000526020600020905b81548152906001019060200180831161065357829003601f168201915b5050505050905090565b600061068e610687611387565b848461138f565b6001905092915050565b600760149054906101000a900460ff1681565b6000600354905090565b60006106c2848484611558565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061070d611387565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561078d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610784906125fd565b60405180910390fd5b6107a185610799611387565b85840361138f565b60019150509392505050565b6107b5611387565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990612669565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600760159054906101000a900460ff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006012905090565b60006109a5610910611387565b84846002600061091e611387565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109a091906126b8565b61138f565b6001905092915050565b6109b7611387565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3b90612669565b60405180910390fd5b60005b84849050811015610b0a57848482818110610a6557610a646126ec565b5b9050602002016020810190610a7a9190612417565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef858585818110610adb57610ada6126ec565b5b90506020020135604051610aef91906120f4565b60405180910390a38080610b029061271b565b915050610a47565b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b6000610b46611387565b905060005b84849050811015610b9b57610b8882868684818110610b6d57610b6c6126ec565b5b9050602002016020810190610b829190612417565b85611558565b8080610b939061271b565b915050610b4b565b5050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bf3611387565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7790612669565b60405180910390fd5b610c8a60006119fb565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610cc49061255a565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf09061255a565b8015610d3d5780601f10610d1257610100808354040283529160200191610d3d565b820191906000526020600020905b815481529060010190602001808311610d2057829003601f168201915b5050505050905090565b610d4f611387565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390612669565b60405180910390fd5b60005b84849050811015610ea257848482818110610dfd57610dfc6126ec565b5b9050602002016020810190610e129190612417565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef858585818110610e7357610e726126ec565b5b90506020020135604051610e8791906120f4565b60405180910390a38080610e9a9061271b565b915050610ddf565b505050505050565b61271081565b60008060026000610ebf611387565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f73906127d5565b60405180910390fd5b610f90610f87611387565b8585840361138f565b600191505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610fd5610fce611387565b8484611558565b6001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b611007611387565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108b90612669565b60405180910390fd5b80600a8190555050565b6110a6611387565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a90612669565b60405180910390fd5b60001515600760159054906101000a900460ff16151514611189576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118090612841565b60405180910390fd5b6001600760156101000a81548160ff021916908315150217905550565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611259611387565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112dd90612669565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134c906128d3565b60405180910390fd5b61135e816119fb565b50565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f590612965565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361146d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611464906129f7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161154b91906120f4565b60405180910390a3505050565b60011515600760149054906101000a900460ff161515146115ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a590612a63565b60405180910390fd5b60011515600760149054906101000a900460ff1615151480156115e4575060001515600760159054906101000a900460ff161515145b1561169c576115f1610c8c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061165c575061162d610c8c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61169b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169290612acf565b60405180910390fd5b5b6000819050600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156117335750611703610c8c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117725750611742610c8c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156119ea576000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036117f2577f000000000000000000000000000000000000000000000000000000000000000090505b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036118c8577f00000000000000000000000000000000000000000000000000000000000000009050600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166118c7576118c6600a54611abf565b5b5b60011515600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480611977575060011515600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1561198157600090505b60008111156119e857600061271061ffff16828561199f9190612aef565b6119a99190612b60565b905080846119b79190612b91565b92506119e686600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611acf565b505b505b6119f5848483611acf565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b803a1115611acc57600080fd5b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3590612c37565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba490612cc9565b60405180910390fd5b611bb8838383611f15565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3690612d5b565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cd491906126b8565b92505081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611dbc578273ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611daf91906120f4565b60405180910390a3611f04565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e9d57600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e9091906120f4565b60405180910390a3611f03565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611efa91906120f4565b60405180910390a35b5b611f0f848484611f1a565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f59578082015181840152602081019050611f3e565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f8182611f1f565b611f8b8185611f2a565b9350611f9b818560208601611f3b565b611fa481611f65565b840191505092915050565b60006020820190508181036000830152611fc98184611f76565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061200682611fdb565b9050919050565b61201681611ffb565b811461202157600080fd5b50565b6000813590506120338161200d565b92915050565b6000819050919050565b61204c81612039565b811461205757600080fd5b50565b60008135905061206981612043565b92915050565b6000806040838503121561208657612085611fd1565b5b600061209485828601612024565b92505060206120a58582860161205a565b9150509250929050565b60008115159050919050565b6120c4816120af565b82525050565b60006020820190506120df60008301846120bb565b92915050565b6120ee81612039565b82525050565b600060208201905061210960008301846120e5565b92915050565b60008060006060848603121561212857612127611fd1565b5b600061213686828701612024565b935050602061214786828701612024565b92505060406121588682870161205a565b9150509250925092565b61216b816120af565b811461217657600080fd5b50565b60008135905061218881612162565b92915050565b600080604083850312156121a5576121a4611fd1565b5b60006121b385828601612024565b92505060206121c485828601612179565b9150509250929050565b6121d781611ffb565b82525050565b60006020820190506121f260008301846121ce565b92915050565b600060ff82169050919050565b61220e816121f8565b82525050565b60006020820190506122296000830184612205565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126122545761225361222f565b5b8235905067ffffffffffffffff81111561227157612270612234565b5b60208301915083602082028301111561228d5761228c612239565b5b9250929050565b60008083601f8401126122aa576122a961222f565b5b8235905067ffffffffffffffff8111156122c7576122c6612234565b5b6020830191508360208202830111156122e3576122e2612239565b5b9250929050565b60008060008060006060868803121561230657612305611fd1565b5b600061231488828901612024565b955050602086013567ffffffffffffffff81111561233557612334611fd6565b5b6123418882890161223e565b9450945050604086013567ffffffffffffffff81111561236457612363611fd6565b5b61237088828901612294565b92509250509295509295909350565b600061ffff82169050919050565b6123968161237f565b82525050565b60006020820190506123b1600083018461238d565b92915050565b6000806000604084860312156123d0576123cf611fd1565b5b600084013567ffffffffffffffff8111156123ee576123ed611fd6565b5b6123fa8682870161223e565b9350935050602061240d8682870161205a565b9150509250925092565b60006020828403121561242d5761242c611fd1565b5b600061243b84828501612024565b91505092915050565b60006020828403121561245a57612459611fd1565b5b60006124688482850161205a565b91505092915050565b6000806040838503121561248857612487611fd1565b5b600061249685828601612024565b92505060206124a785828601612024565b9150509250929050565b6000819050919050565b60006124d66124d16124cc84611fdb565b6124b1565b611fdb565b9050919050565b60006124e8826124bb565b9050919050565b60006124fa826124dd565b9050919050565b61250a816124ef565b82525050565b60006020820190506125256000830184612501565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061257257607f821691505b6020821081036125855761258461252b565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006125e7602883611f2a565b91506125f28261258b565b604082019050919050565b60006020820190508181036000830152612616816125da565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612653602083611f2a565b915061265e8261261d565b602082019050919050565b6000602082019050818103600083015261268281612646565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126c382612039565b91506126ce83612039565b92508282019050808211156126e6576126e5612689565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061272682612039565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361275857612757612689565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006127bf602583611f2a565b91506127ca82612763565b604082019050919050565b600060208201905081810360008301526127ee816127b2565b9050919050565b7f436f6e74726163743a2054726164696e67206973206f70656e65642100000000600082015250565b600061282b601c83611f2a565b9150612836826127f5565b602082019050919050565b6000602082019050818103600083015261285a8161281e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006128bd602683611f2a565b91506128c882612861565b604082019050919050565b600060208201905081810360008301526128ec816128b0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061294f602483611f2a565b915061295a826128f3565b604082019050919050565b6000602082019050818103600083015261297e81612942565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006129e1602283611f2a565b91506129ec82612985565b604082019050919050565b60006020820190508181036000830152612a10816129d4565b9050919050565b7f436f6e74726163743a206e6f7420696e697469616c697a656421000000000000600082015250565b6000612a4d601a83611f2a565b9150612a5882612a17565b602082019050919050565b60006020820190508181036000830152612a7c81612a40565b9050919050565b7f436f6e74726163743a2074726164696e67206973206e6f742073746172746564600082015250565b6000612ab9602083611f2a565b9150612ac482612a83565b602082019050919050565b60006020820190508181036000830152612ae881612aac565b9050919050565b6000612afa82612039565b9150612b0583612039565b9250828202612b1381612039565b91508282048414831517612b2a57612b29612689565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b6b82612039565b9150612b7683612039565b925082612b8657612b85612b31565b5b828204905092915050565b6000612b9c82612039565b9150612ba783612039565b9250828203905081811115612bbf57612bbe612689565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c21602583611f2a565b9150612c2c82612bc5565b604082019050919050565b60006020820190508181036000830152612c5081612c14565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cb3602383611f2a565b9150612cbe82612c57565b604082019050919050565b60006020820190508181036000830152612ce281612ca6565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612d45602683611f2a565b9150612d5082612ce9565b604082019050919050565b60006020820190508181036000830152612d7481612d38565b905091905056fea26469706673582212204afd5ae24edc461322210691aa7c754eac1efd5c8fccef5b8f0973053010fe4064736f6c63430008120033