60806040526002601260006101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b506040518060400160405280600a81526020017f50444e5f446172756d61000000000000000000000000000000000000000000008152506040518060400160405280600a81526020017f50444e5f446172756d6100000000000000000000000000000000000000000000815250620000ba620000ae6200023f60201b60201c565b6200024760201b60201c565b620000de6000801b620000d26200023f60201b60201c565b6200030b60201b60201c565b6200011f7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08620001136200023f60201b60201c565b6200030b60201b60201c565b816003908051906020019062000137929190620005b0565b50806004908051906020019062000150929190620005b0565b5050506000600d60006101000a81548160ff02191690831515021790555060405180606001604052806028815260200162005f3460289139601390805190602001906200019f929190620005b0565b50620001e17f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6620001d56200023f60201b60201c565b6200030b60201b60201c565b620002227f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a620002166200023f60201b60201c565b6200030b60201b60201c565b62000239600e6200032160201b620018fb1760201c565b620006c5565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200031d82826200033760201b60201c565b5050565b6001816000016000828254019250508190555050565b6200034e82826200037f60201b620019111760201c565b6200037a81600260008581526020019081526020016000206200047060201b620019f11790919060201c565b505050565b620003918282620004a860201b60201c565b6200046c57600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004116200023f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000620004a0836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200051360201b60201c565b905092915050565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006200052783836200058d60201b60201c565b6200058257826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905062000587565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b828054620005be906200068f565b90600052602060002090601f016020900481019282620005e257600085556200062e565b82601f10620005fd57805160ff19168380011785556200062e565b828001600101855582156200062e579182015b828111156200062d57825182559160200191906001019062000610565b5b5090506200063d919062000641565b5090565b5b808211156200065c57600081600090555060010162000642565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006a857607f821691505b60208210811415620006bf57620006be62000660565b5b50919050565b61585f80620006d56000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c806370a0823111610151578063c87b56dd116100c3578063e51845f711610087578063e51845f714610781578063e63ab1e9146107b1578063e985e9c5146107cf578063ec87621c146107ff578063f2fde38b1461081d578063f81094f31461083957610274565b8063c87b56dd146106cb578063ca15c873146106fb578063d53913931461072b578063d547741f14610749578063e0df5b6f1461076557610274565b806391d148541161011557806391d148541461060b57806395d89b411461063b578063a217fddf14610659578063a22cb46514610677578063b88d4fde14610693578063c6484907146106af57610274565b806370a0823114610579578063715018a6146105a95780638456cb59146105b35780638da5cb5b146105bd5780639010d07c146105db57610274565b806336568abe116101ea57806342966c68116101ae57806342966c68146104a55780634f6ccce7146104c15780635c975abb146104f15780635d1ca6311461050f5780636112e8ac1461052d5780636352211e1461054957610274565b806336568abe14610415578063396844c4146104315780633dc60c3b1461044d5780633f4ba83a1461047f57806342842e0e1461048957610274565b806323b872dd1161023c57806323b872dd14610331578063248a9ca31461034d57806325045ce41461037d578063259de370146103995780632f2ff15d146103c95780632f745c59146103e557610274565b806301ffc9a71461027957806306fdde03146102a9578063081812fc146102c7578063095ea7b3146102f757806318160ddd14610313575b600080fd5b610293600480360381019061028e9190613a87565b610855565b6040516102a09190613acf565b60405180910390f35b6102b1610867565b6040516102be9190613b83565b60405180910390f35b6102e160048036038101906102dc9190613bdb565b6108f9565b6040516102ee9190613c49565b60405180910390f35b610311600480360381019061030c9190613c90565b61093f565b005b61031b610a57565b6040516103289190613cdf565b60405180910390f35b61034b60048036038101906103469190613cfa565b610a64565b005b61036760048036038101906103629190613d83565b610ac4565b6040516103749190613dbf565b60405180910390f35b61039760048036038101906103929190613f7d565b610ae4565b005b6103b360048036038101906103ae9190614032565b610b94565b6040516103c09190613cdf565b60405180910390f35b6103e360048036038101906103de9190614085565b610c7a565b005b6103ff60048036038101906103fa9190613c90565b610c9b565b60405161040c9190613cdf565b60405180910390f35b61042f600480360381019061042a9190614085565b610d40565b005b61044b600480360381019061044691906140c5565b610dc3565b005b61046760048036038101906104629190613bdb565b610e43565b60405161047693929190614101565b60405180910390f35b610487610e8f565b005b6104a3600480360381019061049e9190613cfa565b610f09565b005b6104bf60048036038101906104ba9190613bdb565b610f29565b005b6104db60048036038101906104d69190613bdb565b610f85565b6040516104e89190613cdf565b60405180910390f35b6104f9610ff6565b6040516105069190613acf565b60405180910390f35b61051761100d565b6040516105249190613cdf565b60405180910390f35b6105476004803603810190610542919061413f565b61101e565b005b610563600480360381019061055e9190613bdb565b6110a0565b6040516105709190613c49565b60405180910390f35b610593600480360381019061058e91906140c5565b611152565b6040516105a09190613cdf565b60405180910390f35b6105b161120a565b005b6105bb61121e565b005b6105c5611298565b6040516105d29190613c49565b60405180910390f35b6105f560048036038101906105f09190614192565b6112c1565b6040516106029190613c49565b60405180910390f35b61062560048036038101906106209190614085565b6112f0565b6040516106329190613acf565b60405180910390f35b61064361135b565b6040516106509190613b83565b60405180910390f35b6106616113ed565b60405161066e9190613dbf565b60405180910390f35b610691600480360381019061068c91906141fe565b6113f4565b005b6106ad60048036038101906106a891906142f3565b61140a565b005b6106c960048036038101906106c491906143cc565b61146c565b005b6106e560048036038101906106e09190613bdb565b6114bf565b6040516106f29190613b83565b60405180910390f35b61071560048036038101906107109190613d83565b61165f565b6040516107229190613cdf565b60405180910390f35b610733611683565b6040516107409190613dbf565b60405180910390f35b610763600480360381019061075e9190614085565b6116a7565b005b61077f600480360381019061077a919061442c565b6116c8565b005b61079b60048036038101906107969190613bdb565b611709565b6040516107a89190613acf565b60405180910390f35b6107b961171b565b6040516107c69190613dbf565b60405180910390f35b6107e960048036038101906107e49190614479565b61173f565b6040516107f69190613acf565b60405180910390f35b6108076117d3565b6040516108149190613dbf565b60405180910390f35b610837600480360381019061083291906140c5565b6117f7565b005b610853600480360381019061084e91906140c5565b61187b565b005b600061086082611a21565b9050919050565b606060038054610876906144e8565b80601f01602080910402602001604051908101604052809291908181526020018280546108a2906144e8565b80156108ef5780601f106108c4576101008083540402835291602001916108ef565b820191906000526020600020905b8154815290600101906020018083116108d257829003601f168201915b5050505050905090565b600061090482611a9b565b6007600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061094a826110a0565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b29061458c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109da611ae6565b73ffffffffffffffffffffffffffffffffffffffff161480610a095750610a0881610a03611ae6565b61173f565b5b610a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3f9061461e565b60405180910390fd5b610a528383611aee565b505050565b6000600b80549050905090565b610a75610a6f611ae6565b82611ba7565b610ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aab906146b0565b60405180910390fd5b610abf838383611c3c565b505050565b600060016000838152602001908152602001600020600101549050919050565b7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08610b0e81611ea3565b60005b8451811015610b8d57838382818110610b2d57610b2c6146d0565b5b9050602002810190610b3f919061470e565b600f6000888581518110610b5657610b556146d0565b5b602002602001015181526020019081526020016000209190610b79929190613978565b508080610b85906147a0565b915050610b11565b5050505050565b6000808360ff1611610bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290614835565b60405180910390fd5b610c0c7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610c07611ae6565b6112f0565b610c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c42906148c7565b60405180910390fd5b6000610c57600e611eb7565b9050610c63600e6118fb565b610c6f85828686611ec5565b809150509392505050565b610c8382610ac4565b610c8c81611ea3565b610c968383611f73565b505050565b6000610ca683611152565b8210610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde90614959565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610d48611ae6565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610db5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dac906149eb565b60405180910390fd5b610dbf8282611fa7565b5050565b610dd76000801b610dd2611ae6565b6112f0565b610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d906148c7565b60405180910390fd5b610e407f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682611fdb565b50565b6000806060601260009054906101000a900460ff166010600086815260200190815260200160002060009054906101000a900460ff16610e82866114bf565b9250925092509193909250565b610ec07f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610ebb611ae6565b6112f0565b610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690614a7d565b60405180910390fd5b610f07611fe9565b565b610f248383836040518060200160405280600081525061140a565b505050565b610f3a610f34611ae6565b82611ba7565b610f79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f70906146b0565b60405180910390fd5b610f828161204c565b50565b6000610f8f610a57565b8210610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc790614b0f565b60405180910390fd5b600b8281548110610fe457610fe36146d0565b5b90600052602060002001549050919050565b6000600d60009054906101000a900460ff16905090565b6000611019600e611eb7565b905090565b61104f7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661104a611ae6565b6112f0565b61108e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611085906148c7565b60405180910390fd5b61109b8383600184611ec5565b505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114090614b7b565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ba90614c0d565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611212612169565b61121c60006121e7565b565b61124f7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a61124a611ae6565b6112f0565b61128e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128590614c9f565b60405180910390fd5b6112966122ab565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006112e8826002600086815260200190815260200160002061230e90919063ffffffff16565b905092915050565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606004805461136a906144e8565b80601f0160208091040260200160405190810160405280929190818152602001828054611396906144e8565b80156113e35780601f106113b8576101008083540402835291602001916113e3565b820191906000526020600020905b8154815290600101906020018083116113c657829003601f168201915b5050505050905090565b6000801b81565b6114066113ff611ae6565b8383612328565b5050565b61141b611415611ae6565b83611ba7565b61145a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611451906146b0565b60405180910390fd5b61146684848484612495565b50505050565b7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0861149681611ea3565b8282600f600087815260200190815260200160002091906114b8929190613978565b5050505050565b60606114ca826124f1565b611509576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150090614d31565b60405180910390fd5b6000600f60008481526020019081526020016000208054611529906144e8565b905011156115d457600f6000838152602001908152602001600020805461154f906144e8565b80601f016020809104026020016040519081016040528092919081815260200182805461157b906144e8565b80156115c85780601f1061159d576101008083540402835291602001916115c8565b820191906000526020600020905b8154815290600101906020018083116115ab57829003601f168201915b5050505050905061165a565b60006115de61255d565b905060008151116115fe5760405180602001604052806000815250611656565b8061162b6010600086815260200190815260200160002060009054906101000a900460ff1660ff166125ef565b611634856125ef565b60405160200161164693929190614e25565b6040516020818303038152906040525b9150505b919050565b600061167c60026000848152602001908152602001600020612750565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6116b082610ac4565b6116b981611ea3565b6116c38383611fa7565b505050565b7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b086116f281611ea3565b828260139190611703929190613978565b50505050565b6000611714826124f1565b9050919050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0881565b6117ff612169565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561186f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186690614ede565b60405180910390fd5b611878816121e7565b50565b61188f6000801b61188a611ae6565b6112f0565b6118ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c5906148c7565b60405180910390fd5b6118f87f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682611fa7565b50565b6001816000016000828254019250508190555050565b61191b82826112f0565b6119ed57600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611992611ae6565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611a19836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612765565b905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611a945750611a93826127d5565b5b9050919050565b611aa4816124f1565b611ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ada90614b7b565b60405180910390fd5b50565b600033905090565b816007600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611b61836110a0565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611bb3836110a0565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611bf55750611bf4818561173f565b5b80611c3357508373ffffffffffffffffffffffffffffffffffffffff16611c1b846108f9565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611c5c826110a0565b73ffffffffffffffffffffffffffffffffffffffff1614611cb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca990614f70565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1990615002565b60405180910390fd5b611d2d8383836128b7565b611d38600082611aee565b6001600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d889190615022565b925050819055506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ddf9190615056565b92505081905550816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611e9e8383836129a0565b505050565b611eb481611eaf611ae6565b6129a5565b50565b600081600001549050919050565b60008260ff1611611f0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0290614835565b60405180910390fd5b611f158484612a42565b816010600085815260200190815260200160002060006101000a81548160ff021916908360ff160217905550806011600085815260200190815260200160002060006101000a81548160ff021916908360ff16021790555050505050565b611f7d8282611911565b611fa281600260008581526020019081526020016000206119f190919063ffffffff16565b505050565b611fb18282612a60565b611fd68160026000858152602001908152602001600020612b4290919063ffffffff16565b505050565b611fe58282611f73565b5050565b611ff1612b72565b6000600d60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612035611ae6565b6040516120429190613c49565b60405180910390a1565b6000612057826110a0565b9050612065816000846128b7565b612070600083611aee565b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120c09190615022565b925050819055506005600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612165816000846129a0565b5050565b612171611ae6565b73ffffffffffffffffffffffffffffffffffffffff1661218f611298565b73ffffffffffffffffffffffffffffffffffffffff16146121e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121dc906150f8565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6122b3612bbb565b6001600d60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122f7611ae6565b6040516123049190613c49565b60405180910390a1565b600061231d8360000183612c05565b60001c905092915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238e90615164565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516124889190613acf565b60405180910390a3505050565b6124a0848484611c3c565b6124ac84848484612c30565b6124eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e2906151f6565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60606013805461256c906144e8565b80601f0160208091040260200160405190810160405280929190818152602001828054612598906144e8565b80156125e55780601f106125ba576101008083540402835291602001916125e5565b820191906000526020600020905b8154815290600101906020018083116125c857829003601f168201915b5050505050905090565b60606000821415612637576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061274b565b600082905060005b60008214612669578080612652906147a0565b915050600a826126629190615245565b915061263f565b60008167ffffffffffffffff81111561268557612684613ddf565b5b6040519080825280601f01601f1916602001820160405280156126b75781602001600182028036833780820191505090505b5090505b60008514612744576001826126d09190615022565b9150600a856126df9190615276565b60306126eb9190615056565b60f81b818381518110612701576127006146d0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561273d9190615245565b94506126bb565b8093505050505b919050565b600061275e82600001612dc7565b9050919050565b60006127718383612dd8565b6127ca5782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506127cf565b600090505b92915050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806128a057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806128b057506128af82612dfb565b5b9050919050565b60026010600083815260200190815260200160002060009054906101000a900460ff1660ff161480156129175750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156129505750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612990576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612987906152f3565b60405180910390fd5b61299b838383612e75565b505050565b505050565b6129af82826112f0565b612a3e576129d48173ffffffffffffffffffffffffffffffffffffffff166014612ecd565b6129e28360001c6020612ecd565b6040516020016129f39291906153ab565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a359190613b83565b60405180910390fd5b5050565b612a5c828260405180602001604052806000815250613109565b5050565b612a6a82826112f0565b15612b3e5760006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612ae3611ae6565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000612b6a836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613164565b905092915050565b612b7a610ff6565b612bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bb090615431565b60405180910390fd5b565b612bc3610ff6565b15612c03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bfa9061549d565b60405180910390fd5b565b6000826000018281548110612c1d57612c1c6146d0565b5b9060005260206000200154905092915050565b6000612c518473ffffffffffffffffffffffffffffffffffffffff16613278565b15612dba578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612c7a611ae6565b8786866040518563ffffffff1660e01b8152600401612c9c9493929190615512565b602060405180830381600087803b158015612cb657600080fd5b505af1925050508015612ce757506040513d601f19601f82011682018060405250810190612ce49190615573565b60015b612d6a573d8060008114612d17576040519150601f19603f3d011682016040523d82523d6000602084013e612d1c565b606091505b50600081511415612d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d59906151f6565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612dbf565b600190505b949350505050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612e6e5750612e6d8261329b565b5b9050919050565b612e80838383613315565b612e88610ff6565b15612ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ebf90615612565b60405180910390fd5b505050565b606060006002836002612ee09190615632565b612eea9190615056565b67ffffffffffffffff811115612f0357612f02613ddf565b5b6040519080825280601f01601f191660200182016040528015612f355781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612f6d57612f6c6146d0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612fd157612fd06146d0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026130119190615632565b61301b9190615056565b90505b60018111156130bb577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061305d5761305c6146d0565b5b1a60f81b828281518110613074576130736146d0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806130b49061568c565b905061301e565b50600084146130ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130f690615702565b60405180910390fd5b8091505092915050565b6131138383613429565b6131206000848484612c30565b61315f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613156906151f6565b60405180910390fd5b505050565b6000808360010160008481526020019081526020016000205490506000811461326c5760006001826131969190615022565b90506000600186600001805490506131ae9190615022565b905081811461321d5760008660000182815481106131cf576131ce6146d0565b5b90600052602060002001549050808760000184815481106131f3576131f26146d0565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061323157613230615722565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050613272565b60009150505b92915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061330e575061330d82613603565b5b9050919050565b61332083838361366d565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156133635761335e81613672565b6133a2565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146133a1576133a083826136bb565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156133e5576133e081613828565b613424565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146134235761342282826138f9565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613499576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134909061579d565b60405180910390fd5b6134a2816124f1565b156134e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134d990615809565b60405180910390fd5b6134ee600083836128b7565b6001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461353e9190615056565b92505081905550816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46135ff600083836129a0565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b600b80549050600c600083815260200190815260200160002081905550600b81908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016136c884611152565b6136d29190615022565b90506000600a60008481526020019081526020016000205490508181146137b7576000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555081600a600083815260200190815260200160002081905550505b600a600084815260200190815260200160002060009055600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600b8054905061383c9190615022565b90506000600c60008481526020019081526020016000205490506000600b838154811061386c5761386b6146d0565b5b9060005260206000200154905080600b838154811061388e5761388d6146d0565b5b906000526020600020018190555081600c600083815260200190815260200160002081905550600c600085815260200190815260200160002060009055600b8054806138dd576138dc615722565b5b6001900381819060005260206000200160009055905550505050565b600061390483611152565b905081600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000208190555080600a600084815260200190815260200160002081905550505050565b828054613984906144e8565b90600052602060002090601f0160209004810192826139a657600085556139ed565b82601f106139bf57803560ff19168380011785556139ed565b828001600101855582156139ed579182015b828111156139ec5782358255916020019190600101906139d1565b5b5090506139fa91906139fe565b5090565b5b80821115613a175760008160009055506001016139ff565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613a6481613a2f565b8114613a6f57600080fd5b50565b600081359050613a8181613a5b565b92915050565b600060208284031215613a9d57613a9c613a25565b5b6000613aab84828501613a72565b91505092915050565b60008115159050919050565b613ac981613ab4565b82525050565b6000602082019050613ae46000830184613ac0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b24578082015181840152602081019050613b09565b83811115613b33576000848401525b50505050565b6000601f19601f8301169050919050565b6000613b5582613aea565b613b5f8185613af5565b9350613b6f818560208601613b06565b613b7881613b39565b840191505092915050565b60006020820190508181036000830152613b9d8184613b4a565b905092915050565b6000819050919050565b613bb881613ba5565b8114613bc357600080fd5b50565b600081359050613bd581613baf565b92915050565b600060208284031215613bf157613bf0613a25565b5b6000613bff84828501613bc6565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613c3382613c08565b9050919050565b613c4381613c28565b82525050565b6000602082019050613c5e6000830184613c3a565b92915050565b613c6d81613c28565b8114613c7857600080fd5b50565b600081359050613c8a81613c64565b92915050565b60008060408385031215613ca757613ca6613a25565b5b6000613cb585828601613c7b565b9250506020613cc685828601613bc6565b9150509250929050565b613cd981613ba5565b82525050565b6000602082019050613cf46000830184613cd0565b92915050565b600080600060608486031215613d1357613d12613a25565b5b6000613d2186828701613c7b565b9350506020613d3286828701613c7b565b9250506040613d4386828701613bc6565b9150509250925092565b6000819050919050565b613d6081613d4d565b8114613d6b57600080fd5b50565b600081359050613d7d81613d57565b92915050565b600060208284031215613d9957613d98613a25565b5b6000613da784828501613d6e565b91505092915050565b613db981613d4d565b82525050565b6000602082019050613dd46000830184613db0565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613e1782613b39565b810181811067ffffffffffffffff82111715613e3657613e35613ddf565b5b80604052505050565b6000613e49613a1b565b9050613e558282613e0e565b919050565b600067ffffffffffffffff821115613e7557613e74613ddf565b5b602082029050602081019050919050565b600080fd5b6000613e9e613e9984613e5a565b613e3f565b90508083825260208201905060208402830185811115613ec157613ec0613e86565b5b835b81811015613eea5780613ed68882613bc6565b845260208401935050602081019050613ec3565b5050509392505050565b600082601f830112613f0957613f08613dda565b5b8135613f19848260208601613e8b565b91505092915050565b600080fd5b60008083601f840112613f3d57613f3c613dda565b5b8235905067ffffffffffffffff811115613f5a57613f59613f22565b5b602083019150836020820283011115613f7657613f75613e86565b5b9250929050565b600080600060408486031215613f9657613f95613a25565b5b600084013567ffffffffffffffff811115613fb457613fb3613a2a565b5b613fc086828701613ef4565b935050602084013567ffffffffffffffff811115613fe157613fe0613a2a565b5b613fed86828701613f27565b92509250509250925092565b600060ff82169050919050565b61400f81613ff9565b811461401a57600080fd5b50565b60008135905061402c81614006565b92915050565b60008060006060848603121561404b5761404a613a25565b5b600061405986828701613c7b565b935050602061406a8682870161401d565b925050604061407b8682870161401d565b9150509250925092565b6000806040838503121561409c5761409b613a25565b5b60006140aa85828601613d6e565b92505060206140bb85828601613c7b565b9150509250929050565b6000602082840312156140db576140da613a25565b5b60006140e984828501613c7b565b91505092915050565b6140fb81613ff9565b82525050565b600060608201905061411660008301866140f2565b61412360208301856140f2565b81810360408301526141358184613b4a565b9050949350505050565b60008060006060848603121561415857614157613a25565b5b600061416686828701613c7b565b935050602061417786828701613bc6565b92505060406141888682870161401d565b9150509250925092565b600080604083850312156141a9576141a8613a25565b5b60006141b785828601613d6e565b92505060206141c885828601613bc6565b9150509250929050565b6141db81613ab4565b81146141e657600080fd5b50565b6000813590506141f8816141d2565b92915050565b6000806040838503121561421557614214613a25565b5b600061422385828601613c7b565b9250506020614234858286016141e9565b9150509250929050565b600080fd5b600067ffffffffffffffff82111561425e5761425d613ddf565b5b61426782613b39565b9050602081019050919050565b82818337600083830152505050565b600061429661429184614243565b613e3f565b9050828152602081018484840111156142b2576142b161423e565b5b6142bd848285614274565b509392505050565b600082601f8301126142da576142d9613dda565b5b81356142ea848260208601614283565b91505092915050565b6000806000806080858703121561430d5761430c613a25565b5b600061431b87828801613c7b565b945050602061432c87828801613c7b565b935050604061433d87828801613bc6565b925050606085013567ffffffffffffffff81111561435e5761435d613a2a565b5b61436a878288016142c5565b91505092959194509250565b60008083601f84011261438c5761438b613dda565b5b8235905067ffffffffffffffff8111156143a9576143a8613f22565b5b6020830191508360018202830111156143c5576143c4613e86565b5b9250929050565b6000806000604084860312156143e5576143e4613a25565b5b60006143f386828701613bc6565b935050602084013567ffffffffffffffff81111561441457614413613a2a565b5b61442086828701614376565b92509250509250925092565b6000806020838503121561444357614442613a25565b5b600083013567ffffffffffffffff81111561446157614460613a2a565b5b61446d85828601614376565b92509250509250929050565b600080604083850312156144905761448f613a25565b5b600061449e85828601613c7b565b92505060206144af85828601613c7b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061450057607f821691505b60208210811415614514576145136144b9565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614576602183613af5565b91506145818261451a565b604082019050919050565b600060208201905081810360008301526145a581614569565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b6000614608603e83613af5565b9150614613826145ac565b604082019050919050565b60006020820190508181036000830152614637816145fb565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b600061469a602e83613af5565b91506146a58261463e565b604082019050919050565b600060208201905081810360008301526146c98161468d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b6000808335600160200384360303811261472b5761472a6146ff565b5b80840192508235915067ffffffffffffffff82111561474d5761474c614704565b5b60208301925060018202360383131561476957614768614709565b5b509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006147ab82613ba5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156147de576147dd614771565b5b600182019050919050565b7f67656e657261206572726f720000000000000000000000000000000000000000600082015250565b600061481f600c83613af5565b915061482a826147e9565b602082019050919050565b6000602082019050818103600083015261484e81614812565b9050919050565b7f4552433732315072657365744d696e7465725061757365724175746f49643a2060008201527f6d7573742068617665206d696e74657220726f6c6520746f206d696e74000000602082015250565b60006148b1603d83613af5565b91506148bc82614855565b604082019050919050565b600060208201905081810360008301526148e0816148a4565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000614943602b83613af5565b915061494e826148e7565b604082019050919050565b6000602082019050818103600083015261497281614936565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006149d5602f83613af5565b91506149e082614979565b604082019050919050565b60006020820190508181036000830152614a04816149c8565b9050919050565b7f4552433732315072657365744d696e7465725061757365724175746f49643a2060008201527f6d75737420686176652070617573657220726f6c6520746f20756e7061757365602082015250565b6000614a67604083613af5565b9150614a7282614a0b565b604082019050919050565b60006020820190508181036000830152614a9681614a5a565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614af9602c83613af5565b9150614b0482614a9d565b604082019050919050565b60006020820190508181036000830152614b2881614aec565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614b65601883613af5565b9150614b7082614b2f565b602082019050919050565b60006020820190508181036000830152614b9481614b58565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614bf7602983613af5565b9150614c0282614b9b565b604082019050919050565b60006020820190508181036000830152614c2681614bea565b9050919050565b7f4552433732315072657365744d696e7465725061757365724175746f49643a2060008201527f6d75737420686176652070617573657220726f6c6520746f2070617573650000602082015250565b6000614c89603e83613af5565b9150614c9482614c2d565b604082019050919050565b60006020820190508181036000830152614cb881614c7c565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000614d1b602f83613af5565b9150614d2682614cbf565b604082019050919050565b60006020820190508181036000830152614d4a81614d0e565b9050919050565b600081905092915050565b6000614d6782613aea565b614d718185614d51565b9350614d81818560208601613b06565b80840191505092915050565b7f2f322f0000000000000000000000000000000000000000000000000000000000600082015250565b6000614dc3600383614d51565b9150614dce82614d8d565b600382019050919050565b7f2f00000000000000000000000000000000000000000000000000000000000000600082015250565b6000614e0f600183614d51565b9150614e1a82614dd9565b600182019050919050565b6000614e318286614d5c565b9150614e3c82614db6565b9150614e488285614d5c565b9150614e5382614e02565b9150614e5f8284614d5c565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614ec8602683613af5565b9150614ed382614e6c565b604082019050919050565b60006020820190508181036000830152614ef781614ebb565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614f5a602583613af5565b9150614f6582614efe565b604082019050919050565b60006020820190508181036000830152614f8981614f4d565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614fec602483613af5565b9150614ff782614f90565b604082019050919050565b6000602082019050818103600083015261501b81614fdf565b9050919050565b600061502d82613ba5565b915061503883613ba5565b92508282101561504b5761504a614771565b5b828203905092915050565b600061506182613ba5565b915061506c83613ba5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156150a1576150a0614771565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006150e2602083613af5565b91506150ed826150ac565b602082019050919050565b60006020820190508181036000830152615111816150d5565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061514e601983613af5565b915061515982615118565b602082019050919050565b6000602082019050818103600083015261517d81615141565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006151e0603283613af5565b91506151eb82615184565b604082019050919050565b6000602082019050818103600083015261520f816151d3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061525082613ba5565b915061525b83613ba5565b92508261526b5761526a615216565b5b828204905092915050565b600061528182613ba5565b915061528c83613ba5565b92508261529c5761529b615216565b5b828206905092915050565b7f63616e2774207472616e73000000000000000000000000000000000000000000600082015250565b60006152dd600b83613af5565b91506152e8826152a7565b602082019050919050565b6000602082019050818103600083015261530c816152d0565b9050919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000615349601783614d51565b915061535482615313565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000615395601183614d51565b91506153a08261535f565b601182019050919050565b60006153b68261533c565b91506153c28285614d5c565b91506153cd82615388565b91506153d98284614d5c565b91508190509392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061541b601483613af5565b9150615426826153e5565b602082019050919050565b6000602082019050818103600083015261544a8161540e565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000615487601083613af5565b915061549282615451565b602082019050919050565b600060208201905081810360008301526154b68161547a565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006154e4826154bd565b6154ee81856154c8565b93506154fe818560208601613b06565b61550781613b39565b840191505092915050565b60006080820190506155276000830187613c3a565b6155346020830186613c3a565b6155416040830185613cd0565b818103606083015261555381846154d9565b905095945050505050565b60008151905061556d81613a5b565b92915050565b60006020828403121561558957615588613a25565b5b60006155978482850161555e565b91505092915050565b7f4552433732315061757361626c653a20746f6b656e207472616e73666572207760008201527f68696c6520706175736564000000000000000000000000000000000000000000602082015250565b60006155fc602b83613af5565b9150615607826155a0565b604082019050919050565b6000602082019050818103600083015261562b816155ef565b9050919050565b600061563d82613ba5565b915061564883613ba5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561568157615680614771565b5b828202905092915050565b600061569782613ba5565b915060008214156156ab576156aa614771565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006156ec602083613af5565b91506156f7826156b6565b602082019050919050565b6000602082019050818103600083015261571b816156df565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000615787602083613af5565b915061579282615751565b602082019050919050565b600060208201905081810360008301526157b68161577a565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006157f3601c83613af5565b91506157fe826157bd565b602082019050919050565b60006020820190508181036000830152615822816157e6565b905091905056fea264697066735822122030441b1f27aa6e03ff7e8071dfe15c2cab1a1f5e72b069912e0df8a4903dd8cb64736f6c6343000809003368747470733a2f2f696e746573742e74656e6775646172756d612e636f6d2f776f726b2f6e66742f