60806040526001600b60146101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506040518060400160405280600a81526020017f4e6f6e61676f6e437570000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4e4f4e00000000000000000000000000000000000000000000000000000000008152508160009080519060200190620000b1929190620001c9565b508060019080519060200190620000ca929190620001c9565b5050506001600a81905550620000f5620000e9620000fb60201b60201c565b6200010360201b60201c565b620002de565b600033905090565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001d79062000279565b90600052602060002090601f016020900481019282620001fb576000855562000247565b82601f106200021657805160ff191683800117855562000247565b8280016001018555821562000247579182015b828111156200024657825182559160200191906001019062000229565b5b5090506200025691906200025a565b5090565b5b80821115620002755760008160009055506001016200025b565b5090565b600060028204905060018216806200029257607f821691505b60208210811415620002a957620002a8620002af565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b615cd080620002ee6000396000f3fe6080604052600436106101dc5760003560e01c806370a0823111610102578063b88d4fde11610095578063e985e9c511610064578063e985e9c514610764578063f25a01cf146107a1578063f2fde38b146107de578063f715dee71461080757610238565b8063b88d4fde14610698578063ba388253146106c1578063c87b56dd146106ea578063e901185e1461072757610238565b806395d89b41116100d157806395d89b41146105ca578063a22cb465146105f5578063a89da3731461061e578063b42587f51461065b57610238565b806370a0823114610522578063715018a61461055f5780638821a405146105765780638da5cb5b1461059f57610238565b806321e001d61161017a57806342842e0e1161014957806342842e0e146104685780634e71d92d146104915780634f6ccce7146104a85780636352211e146104e557610238565b806321e001d61461039c57806323b872dd146103d95780632854c58e146104025780632f745c591461042b57610238565b8063081812fc116101b6578063081812fc146102e2578063095ea7b31461031f578063155dd5ee1461034857806318160ddd1461037157610238565b806301ffc9a71461023d57806302c0cd811461027a57806306fdde03146102b757610238565b36610238576101e9610830565b73ffffffffffffffffffffffffffffffffffffffff167fd1eb9a0e372aeddfb34f6b1897c40a76ef3619ed5fb6b1dff19c65d9bc9ad9e73460405161022e919061490d565b60405180910390a2005b600080fd5b34801561024957600080fd5b50610264600480360381019061025f9190613c74565b610838565b60405161027191906145b8565b60405180910390f35b34801561028657600080fd5b506102a1600480360381019061029c9190613d5b565b6108b2565b6040516102ae91906145ee565b60405180910390f35b3480156102c357600080fd5b506102cc610af3565b6040516102d99190614610565b60405180910390f35b3480156102ee57600080fd5b5061030960048036038101906103049190613cce565b610b85565b6040516103169190614551565b60405180910390f35b34801561032b57600080fd5b5061034660048036038101906103419190613ba7565b610c0a565b005b34801561035457600080fd5b5061036f600480360381019061036a9190613cce565b610d22565b005b34801561037d57600080fd5b50610386610def565b60405161039391906148f2565b60405180910390f35b3480156103a857600080fd5b506103c360048036038101906103be9190613cce565b610dfc565b6040516103d091906145d3565b60405180910390f35b3480156103e557600080fd5b5061040060048036038101906103fb9190613a91565b610fe4565b005b34801561040e57600080fd5b5061042960048036038101906104249190613c47565b611044565b005b34801561043757600080fd5b50610452600480360381019061044d9190613ba7565b6110dd565b60405161045f91906148f2565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a9190613a91565b611182565b005b34801561049d57600080fd5b506104a66111a2565b005b3480156104b457600080fd5b506104cf60048036038101906104ca9190613cce565b61133a565b6040516104dc91906148f2565b60405180910390f35b3480156104f157600080fd5b5061050c60048036038101906105079190613cce565b6113ab565b6040516105199190614551565b60405180910390f35b34801561052e57600080fd5b5061054960048036038101906105449190613a24565b61145d565b60405161055691906148f2565b60405180910390f35b34801561056b57600080fd5b50610574611515565b005b34801561058257600080fd5b5061059d60048036038101906105989190613a24565b61159d565b005b3480156105ab57600080fd5b506105b461164d565b6040516105c19190614551565b60405180910390f35b3480156105d657600080fd5b506105df611677565b6040516105ec9190614610565b60405180910390f35b34801561060157600080fd5b5061061c60048036038101906106179190613b67565b611709565b005b34801561062a57600080fd5b5061064560048036038101906106409190613a24565b61171f565b60405161065291906145b8565b60405180910390f35b34801561066757600080fd5b50610682600480360381019061067d9190613cce565b611775565b60405161068f91906145ee565b60405180910390f35b3480156106a457600080fd5b506106bf60048036038101906106ba9190613ae4565b6117c9565b005b3480156106cd57600080fd5b506106e860048036038101906106e39190613be7565b61182b565b005b3480156106f657600080fd5b50610711600480360381019061070c9190613cce565b6119dd565b60405161071e9190614610565b60405180910390f35b34801561073357600080fd5b5061074e60048036038101906107499190613cce565b611b3e565b60405161075b9190614610565b60405180910390f35b34801561077057600080fd5b5061078b60048036038101906107869190613a51565b611bbf565b60405161079891906145b8565b60405180910390f35b3480156107ad57600080fd5b506107c860048036038101906107c39190613cce565b611c53565b6040516107d591906148f2565b60405180910390f35b3480156107ea57600080fd5b5061080560048036038101906108009190613a24565b611c5e565b005b34801561081357600080fd5b5061082e60048036038101906108299190613cfb565b611d56565b005b600033905090565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108ab57506108aa82611dc5565b5b9050919050565b60606000831180156108c557506107d183105b610904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fb906147f2565b60405180910390fd5b600a8210610947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093e90614892565b60405180910390fd5b60008214156109d95760007f202020202020202000000000000000000000000000000000000000000000000090507f53544c42204154462031302e31302e302e3133393120434f4c4f523da0a0a0ff8182838485866018604463ffffffff16901b60e01b6040516020016109c29897969594939291906142c3565b604051602081830303815290604052915050610aed565b60086001836109e89190614b63565b6109f29190614ace565b91506109fe8383611ea7565b610a1484600185610a0f91906149dc565b611ea7565b610a2a85600286610a2591906149dc565b611ea7565b610a4086600387610a3b91906149dc565b611ea7565b604051602001610a539493929190614477565b60405160208183030381529060405290506040821015610aec5780610a8484600485610a7f91906149dc565b611ea7565b610a9a85600586610a9591906149dc565b611ea7565b610ab086600687610aab91906149dc565b611ea7565b610ac687600788610ac191906149dc565b611ea7565b604051602001610ada9594939291906144b5565b60405160208183030381529060405290505b5b92915050565b606060008054610b0290614d93565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2e90614d93565b8015610b7b5780601f10610b5057610100808354040283529160200191610b7b565b820191906000526020600020905b815481529060010190602001808311610b5e57829003601f168201915b5050505050905090565b6000610b9082612097565b610bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc6906147b2565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610c15826113ab565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7d90614852565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610ca5610830565b73ffffffffffffffffffffffffffffffffffffffff161480610cd45750610cd381610cce610830565b611bbf565b5b610d13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0a90614712565b60405180910390fd5b610d1d8383612103565b505050565b610d2a610830565b73ffffffffffffffffffffffffffffffffffffffff16610d4861164d565b73ffffffffffffffffffffffffffffffffffffffff1614610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d95906147d2565b60405180910390fd5b610da661164d565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610deb573d6000803e3d6000fd5b5050565b6000600880549050905090565b60008082118015610e0e57506107d182105b610e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e44906147f2565b60405180910390fd5b6000600183610e5c9190614b63565b90506000600882610e6d9190614a9d565b6032610e799190614a32565b905060006006905060ff8263ffffffff161115610e995760099050610ec7565b607f8263ffffffff161115610eb15760089050610ec6565b603f8263ffffffff161115610ec557600790505b5b5b806018610ed49190614b97565b63ffffffff168263ffffffff16901b91506000627fffff905080831692506000600885610f019190614ea2565b9050826014610f109190614b97565b63ffffffff168163ffffffff16901b9050600083607e610f309190614a32565b905060178163ffffffff16901b90506000828683171760e01b905080600360048110610f5f57610f5e614f8f565b5b1a60f81b81600260048110610f7757610f76614f8f565b5b1a60f81b82600160048110610f8f57610f8e614f8f565b5b1a60f81b83600060048110610fa757610fa6614f8f565b5b1a60f81b604051602001610fbe9493929190614275565b604051602081830303815290604052610fd690614cea565b975050505050505050919050565b610ff5610fef610830565b826121bc565b611034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102b90614872565b60405180910390fd5b61103f83838361229a565b505050565b61104c610830565b73ffffffffffffffffffffffffffffffffffffffff1661106a61164d565b73ffffffffffffffffffffffffffffffffffffffff16146110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b7906147d2565b60405180910390fd5b80600b60146101000a81548160ff02191690831515021790555050565b60006110e88361145d565b8210611129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112090614632565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b61119d838383604051806020016040528060008152506117c9565b505050565b6002600a5414156111e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111df906148d2565b60405180910390fd5b6002600a81905550600b60149054906101000a900460ff161561129957600c6000611211610830565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f90614772565b60405180910390fd5b5b60006112a3610def565b60016112af91906149dc565b90506107d181106112bf57600080fd5b6000600c60006112cd610830565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061132f611329610830565b826124f6565b506001600a81905550565b6000611344610def565b8210611385576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137c906148b2565b60405180910390fd5b6008828154811061139957611398614f8f565b5b90600052602060002001549050919050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144b90614752565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c590614732565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61151d610830565b73ffffffffffffffffffffffffffffffffffffffff1661153b61164d565b73ffffffffffffffffffffffffffffffffffffffff1614611591576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611588906147d2565b60405180910390fd5b61159b6000612514565b565b6115a5610830565b73ffffffffffffffffffffffffffffffffffffffff166115c361164d565b73ffffffffffffffffffffffffffffffffffffffff1614611619576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611610906147d2565b60405180910390fd5b6000611623610def565b600161162f91906149dc565b90506107d1811061163f57600080fd5b61164982826124f6565b5050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461168690614d93565b80601f01602080910402602001604051908101604052809291908181526020018280546116b290614d93565b80156116ff5780601f106116d4576101008083540402835291602001916116ff565b820191906000526020600020905b8154815290600101906020018083116116e257829003601f168201915b5050505050905090565b61171b611714610830565b83836125da565b5050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b606060005b600a8110156117c3578161178e84836108b2565b60405160200161179f929190614453565b604051602081830303815290604052915080806117bb90614df6565b91505061177a565b50919050565b6117da6117d4610830565b836121bc565b611819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181090614872565b60405180910390fd5b61182584848484612747565b50505050565b611833610830565b73ffffffffffffffffffffffffffffffffffffffff1661185161164d565b73ffffffffffffffffffffffffffffffffffffffff16146118a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189e906147d2565b60405180910390fd5b600080600090505b848490508110156119d6578484828181106118cd576118cc614f8f565b5b90506020020160208101906118e29190613a24565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561191e57600080fd5b82600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f38fc27db77a299a37d4566b8399b5c7c1bbeeea2228b18035ae782bf0423d7fc846040516119bb91906145b8565b60405180910390a280806119ce90614df6565b9150506118af565b5050505050565b60606000600d600084815260200190815260200160002080546119ff90614d93565b80601f0160208091040260200160405190810160405280929190818152602001828054611a2b90614d93565b8015611a785780601f10611a4d57610100808354040283529160200191611a78565b820191906000526020600020905b815481529060010190602001808311611a5b57829003601f168201915b505050505090506000815114611b2c57600d60008481526020019081526020016000208054611aa690614d93565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad290614d93565b8015611b1f5780601f10611af457610100808354040283529160200191611b1f565b820191906000526020600020905b815481529060010190602001808311611b0257829003601f168201915b5050505050915050611b39565b611b35836127a3565b9150505b919050565b6060600082118015611b5157506107d182105b611b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b87906147f2565b60405180910390fd5b611b998261284a565b604051602001611ba99190614524565b6040516020818303038152906040529050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600a9050919050565b611c66610830565b73ffffffffffffffffffffffffffffffffffffffff16611c8461164d565b73ffffffffffffffffffffffffffffffffffffffff1614611cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd1906147d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4190614672565b60405180910390fd5b611d5381612514565b50565b611d5f836113ab565b73ffffffffffffffffffffffffffffffffffffffff16611d7d610830565b73ffffffffffffffffffffffffffffffffffffffff1614611d9d57600080fd5b8181600d60008681526020019081526020016000209190611dbf9291906137d9565b50505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611e9057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611ea05750611e9f826129ab565b5b9050919050565b60606000600983611eb89190614ace565b9050611ec261385f565b60008060005b6009811015611f5557611ee6888287611ee191906149dc565b612a15565b848260098110611ef957611ef8614f8f565b5b60200201907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815250508080611f4d90614df6565b915050611ec8565b50600082838486600060098110611f6f57611f6e614f8f565b5b602002015187600160098110611f8857611f87614f8f565b5b602002015188600260098110611fa157611fa0614f8f565b5b602002015189600360098110611fba57611fb9614f8f565b5b60200201518a600460098110611fd357611fd2614f8f565b5b60200201518b600560098110611fec57611feb614f8f565b5b602002015160405160200161200999989796959493929190614355565b6040516020818303038152906040529050808460066009811061202f5761202e614f8f565b5b60200201518560076009811061204857612047614f8f565b5b60200201518660086009811061206157612060614f8f565b5b60200201518560405160200161207b9594939291906143f8565b6040516020818303038152906040529550505050505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16612176836113ab565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006121c782612097565b612206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fd906146f2565b60405180910390fd5b6000612211836113ab565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061228057508373ffffffffffffffffffffffffffffffffffffffff1661226884610b85565b73ffffffffffffffffffffffffffffffffffffffff16145b8061229157506122908185611bbf565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166122ba826113ab565b73ffffffffffffffffffffffffffffffffffffffff1614612310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230790614812565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612380576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612377906146b2565b60405180910390fd5b61238b838383612ec8565b612396600082612103565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123e69190614b63565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461243d91906149dc565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b612510828260405180602001604052806000815250612fdc565b5050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612649576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612640906146d2565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161273a91906145b8565b60405180910390a3505050565b61275284848461229a565b61275e84848484613037565b61279d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279490614652565b60405180910390fd5b50505050565b60606127ae82612097565b6127ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e490614832565b60405180910390fd5b60006127f76131ce565b905060008151116128175760405180602001604052806000815250612842565b806128218461284a565b604051602001612832929190614500565b6040516020818303038152906040525b915050919050565b60606000821415612892576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506129a6565b600082905060005b600082146128c45780806128ad90614df6565b915050600a826128bd9190614a6c565b915061289a565b60008167ffffffffffffffff8111156128e0576128df614fbe565b5b6040519080825280601f01601f1916602001820160405280156129125781602001600182028036833780820191505090505b5090505b6000851461299f5760018261292b9190614b63565b9150600a8561293a9190614e71565b603061294691906149dc565b60f81b81838151811061295c5761295b614f8f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856129989190614a6c565b9450612916565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080612a22848461320b565b905060fe60ff168160ff161415612a4457612a3c84610dfc565b915050612ec2565b6101cc841015612bc75760fd60ff168160ff161415612a84577d80c000000000000000000000000000000000000000000000000000000000915050612ec2565b6000600482612a939190614b28565b60ff1690506040518060a0016040528060708152602001615c2b607091398181518110612ac357612ac2614f8f565b5b602001015160f81c60f81b6040518060a0016040528060708152602001615c2b60709139600183612af491906149dc565b81518110612b0557612b04614f8f565b5b602001015160f81c60f81b6040518060a0016040528060708152602001615c2b60709139600284612b3691906149dc565b81518110612b4757612b46614f8f565b5b602001015160f81c60f81b6040518060a0016040528060708152602001615c2b60709139600385612b7891906149dc565b81518110612b8957612b88614f8f565b5b602001015160f81c60f81b604051602001612ba79493929190614275565b604051602081830303815290604052612bbf90614cea565b925050612ec0565b610478841015612d4a5760fd60ff168160ff161415612c07577dfec000000000000000000000000000000000000000000000000000000000915050612ec2565b6000600482612c169190614b28565b60ff1690506040518060a00160405280606c8152602001615bbf606c91398181518110612c4657612c45614f8f565b5b602001015160f81c60f81b6040518060a00160405280606c8152602001615bbf606c9139600183612c7791906149dc565b81518110612c8857612c87614f8f565b5b602001015160f81c60f81b6040518060a00160405280606c8152602001615bbf606c9139600284612cb991906149dc565b81518110612cca57612cc9614f8f565b5b602001015160f81c60f81b6040518060a00160405280606c8152602001615bbf606c9139600385612cfb91906149dc565b81518110612d0c57612d0b614f8f565b5b602001015160f81c60f81b604051602001612d2a9493929190614275565b604051602081830303815290604052612d4290614cea565b925050612ebf565b60fd60ff168160ff161415612d80577d48c100000000000000000000000000000000000000000000000000000000915050612ec2565b6000600482612d8f9190614b28565b60ff1690506040518060a0016040528060708152602001615687607091398181518110612dbf57612dbe614f8f565b5b602001015160f81c60f81b6040518060a001604052806070815260200161568760709139600183612df091906149dc565b81518110612e0157612e00614f8f565b5b602001015160f81c60f81b6040518060a001604052806070815260200161568760709139600284612e3291906149dc565b81518110612e4357612e42614f8f565b5b602001015160f81c60f81b6040518060a001604052806070815260200161568760709139600385612e7491906149dc565b81518110612e8557612e84614f8f565b5b602001015160f81c60f81b604051602001612ea39493929190614275565b604051602081830303815290604052612ebb90614cea565b9250505b5b505b92915050565b612ed38383836132ed565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612f1657612f11816132f2565b612f55565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612f5457612f53838261333b565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f9857612f93816134a8565b612fd7565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612fd657612fd58282613579565b5b5b505050565b612fe683836135f8565b612ff36000848484613037565b613032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161302990614652565b60405180910390fd5b505050565b60006130588473ffffffffffffffffffffffffffffffffffffffff166137c6565b156131c1578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02613081610830565b8786866040518563ffffffff1660e01b81526004016130a3949392919061456c565b602060405180830381600087803b1580156130bd57600080fd5b505af19250505080156130ee57506040513d601f19601f820116820180604052508101906130eb9190613ca1565b60015b613171573d806000811461311e576040519150601f19603f3d011682016040523d82523d6000602084013e613123565b606091505b50600081511415613169576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161316090614652565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506131c6565b600190505b949350505050565b60606040518060400160405280601f81526020017f68747470733a2f2f6e6f6e61676f6e6375702e636f6d2f746f6b656e49642f00815250905090565b60006101cc83101561325a57604051806102a00160405280610264815260200161595b6102649139828151811061324557613244614f8f565b5b602001015160f81c60f81b60f81c90506132e7565b6104788310156132a757604051806102a0016040528061026481526020016156f76102649139828151811061329257613291614f8f565b5b602001015160f81c60f81b60f81c90506132e6565b604051806102a00160405280610264815260200161595b610264913982815181106132d5576132d4614f8f565b5b602001015160f81c60f81b60f81c90505b5b92915050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016133488461145d565b6133529190614b63565b9050600060076000848152602001908152602001600020549050818114613437576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506134bc9190614b63565b90506000600960008481526020019081526020016000205490506000600883815481106134ec576134eb614f8f565b5b90600052602060002001549050806008838154811061350e5761350d614f8f565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061355d5761355c614f60565b5b6001900381819060005260206000200160009055905550505050565b60006135848361145d565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365f90614792565b60405180910390fd5b61367181612097565b156136b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136a890614692565b60405180910390fd5b6136bd60008383612ec8565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461370d91906149dc565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b8280546137e590614d93565b90600052602060002090601f016020900481019282613807576000855561384e565b82601f1061382057803560ff191683800117855561384e565b8280016001018555821561384e579182015b8281111561384d578235825591602001919060010190613832565b5b50905061385b9190613882565b5090565b604051806101200160405280600990602082028036833780820191505090505090565b5b8082111561389b576000816000905550600101613883565b5090565b60006138b26138ad8461494d565b614928565b9050828152602081018484840111156138ce576138cd615011565b5b6138d9848285614d51565b509392505050565b6000813590506138f08161562a565b92915050565b60008083601f84011261390c5761390b615007565b5b8235905067ffffffffffffffff81111561392957613928615002565b5b6020830191508360208202830111156139455761394461500c565b5b9250929050565b60008135905061395b81615641565b92915050565b60008135905061397081615658565b92915050565b60008151905061398581615658565b92915050565b600082601f8301126139a05761399f615007565b5b81356139b084826020860161389f565b91505092915050565b60008083601f8401126139cf576139ce615007565b5b8235905067ffffffffffffffff8111156139ec576139eb615002565b5b602083019150836001820283011115613a0857613a0761500c565b5b9250929050565b600081359050613a1e8161566f565b92915050565b600060208284031215613a3a57613a3961501b565b5b6000613a48848285016138e1565b91505092915050565b60008060408385031215613a6857613a6761501b565b5b6000613a76858286016138e1565b9250506020613a87858286016138e1565b9150509250929050565b600080600060608486031215613aaa57613aa961501b565b5b6000613ab8868287016138e1565b9350506020613ac9868287016138e1565b9250506040613ada86828701613a0f565b9150509250925092565b60008060008060808587031215613afe57613afd61501b565b5b6000613b0c878288016138e1565b9450506020613b1d878288016138e1565b9350506040613b2e87828801613a0f565b925050606085013567ffffffffffffffff811115613b4f57613b4e615016565b5b613b5b8782880161398b565b91505092959194509250565b60008060408385031215613b7e57613b7d61501b565b5b6000613b8c858286016138e1565b9250506020613b9d8582860161394c565b9150509250929050565b60008060408385031215613bbe57613bbd61501b565b5b6000613bcc858286016138e1565b9250506020613bdd85828601613a0f565b9150509250929050565b600080600060408486031215613c0057613bff61501b565b5b600084013567ffffffffffffffff811115613c1e57613c1d615016565b5b613c2a868287016138f6565b93509350506020613c3d8682870161394c565b9150509250925092565b600060208284031215613c5d57613c5c61501b565b5b6000613c6b8482850161394c565b91505092915050565b600060208284031215613c8a57613c8961501b565b5b6000613c9884828501613961565b91505092915050565b600060208284031215613cb757613cb661501b565b5b6000613cc584828501613976565b91505092915050565b600060208284031215613ce457613ce361501b565b5b6000613cf284828501613a0f565b91505092915050565b600080600060408486031215613d1457613d1361501b565b5b6000613d2286828701613a0f565b935050602084013567ffffffffffffffff811115613d4357613d42615016565b5b613d4f868287016139b9565b92509250509250925092565b60008060408385031215613d7257613d7161501b565b5b6000613d8085828601613a0f565b9250506020613d9185828601613a0f565b9150509250929050565b613da481614bcb565b82525050565b613db381614bdd565b82525050565b613dca613dc582614be9565b614e3f565b82525050565b613de1613ddc82614c15565b614e49565b82525050565b613df8613df382614c41565b614e53565b82525050565b613e0781614c4b565b82525050565b613e1e613e1982614c4b565b614e5d565b82525050565b613e35613e3082614c77565b614e67565b82525050565b6000613e468261498e565b613e5081856149a4565b9350613e60818560208601614d60565b613e6981615020565b840191505092915050565b6000613e7f8261498e565b613e8981856149b5565b9350613e99818560208601614d60565b80840191505092915050565b6000613eb082614999565b613eba81856149c0565b9350613eca818560208601614d60565b613ed381615020565b840191505092915050565b6000613ee982614999565b613ef381856149d1565b9350613f03818560208601614d60565b80840191505092915050565b6000613f1c602b836149c0565b9150613f278261503e565b604082019050919050565b6000613f3f6032836149c0565b9150613f4a8261508d565b604082019050919050565b6000613f626026836149c0565b9150613f6d826150dc565b604082019050919050565b6000613f85601c836149c0565b9150613f908261512b565b602082019050919050565b6000613fa86004836149d1565b9150613fb382615154565b600482019050919050565b6000613fcb6024836149c0565b9150613fd68261517d565b604082019050919050565b6000613fee6019836149c0565b9150613ff9826151cc565b602082019050919050565b6000614011602c836149c0565b915061401c826151f5565b604082019050919050565b60006140346038836149c0565b915061403f82615244565b604082019050919050565b6000614057602a836149c0565b915061406282615293565b604082019050919050565b600061407a6029836149c0565b9150614085826152e2565b604082019050919050565b600061409d6013836149c0565b91506140a882615331565b602082019050919050565b60006140c06020836149c0565b91506140cb8261535a565b602082019050919050565b60006140e3602c836149c0565b91506140ee82615383565b604082019050919050565b6000614106600b836149d1565b9150614111826153d2565b600b82019050919050565b60006141296020836149c0565b9150614134826153fb565b602082019050919050565b600061414c6010836149c0565b915061415782615424565b602082019050919050565b600061416f6029836149c0565b915061417a8261544d565b604082019050919050565b6000614192602f836149c0565b915061419d8261549c565b604082019050919050565b60006141b56021836149c0565b91506141c0826154eb565b604082019050919050565b60006141d86031836149c0565b91506141e38261553a565b604082019050919050565b60006141fb600f836149c0565b915061420682615589565b602082019050919050565b600061421e602c836149c0565b9150614229826155b2565b604082019050919050565b6000614241601f836149c0565b915061424c82615601565b602082019050919050565b61426081614cc3565b82525050565b61426f81614ccd565b82525050565b60006142818287613db9565b6001820191506142918286613db9565b6001820191506142a18285613db9565b6001820191506142b18284613db9565b60018201915081905095945050505050565b60006142cf828b613de7565b6020820191506142df828a613e24565b6008820191506142ef8289613e24565b6008820191506142ff8288613e24565b60088201915061430f8287613e24565b60088201915061431f8286613e24565b60088201915061432f8285613e24565b60088201915061433f8284613e0d565b6004820191508190509998505050505050505050565b6000614361828c613e0d565b600482019150614371828b613e0d565b600482019150614381828a613e0d565b6004820191506143918289613e0d565b6004820191506143a18288613e0d565b6004820191506143b18287613e0d565b6004820191506143c18286613e0d565b6004820191506143d18285613e0d565b6004820191506143e18284613e0d565b6004820191508190509a9950505050505050505050565b60006144048288613e74565b91506144108287613e0d565b6004820191506144208286613e0d565b6004820191506144308285613e0d565b6004820191506144408284613dd0565b6002820191508190509695505050505050565b600061445f8285613e74565b915061446b8284613e74565b91508190509392505050565b60006144838287613e74565b915061448f8286613e74565b915061449b8285613e74565b91506144a78284613e74565b915081905095945050505050565b60006144c18288613e74565b91506144cd8287613e74565b91506144d98286613e74565b91506144e58285613e74565b91506144f18284613e74565b91508190509695505050505050565b600061450c8285613ede565b91506145188284613ede565b91508190509392505050565b600061452f826140f9565b915061453b8284613ede565b915061454682613f9b565b915081905092915050565b60006020820190506145666000830184613d9b565b92915050565b60006080820190506145816000830187613d9b565b61458e6020830186613d9b565b61459b6040830185614257565b81810360608301526145ad8184613e3b565b905095945050505050565b60006020820190506145cd6000830184613daa565b92915050565b60006020820190506145e86000830184613dfe565b92915050565b600060208201905081810360008301526146088184613e3b565b905092915050565b6000602082019050818103600083015261462a8184613ea5565b905092915050565b6000602082019050818103600083015261464b81613f0f565b9050919050565b6000602082019050818103600083015261466b81613f32565b9050919050565b6000602082019050818103600083015261468b81613f55565b9050919050565b600060208201905081810360008301526146ab81613f78565b9050919050565b600060208201905081810360008301526146cb81613fbe565b9050919050565b600060208201905081810360008301526146eb81613fe1565b9050919050565b6000602082019050818103600083015261470b81614004565b9050919050565b6000602082019050818103600083015261472b81614027565b9050919050565b6000602082019050818103600083015261474b8161404a565b9050919050565b6000602082019050818103600083015261476b8161406d565b9050919050565b6000602082019050818103600083015261478b81614090565b9050919050565b600060208201905081810360008301526147ab816140b3565b9050919050565b600060208201905081810360008301526147cb816140d6565b9050919050565b600060208201905081810360008301526147eb8161411c565b9050919050565b6000602082019050818103600083015261480b8161413f565b9050919050565b6000602082019050818103600083015261482b81614162565b9050919050565b6000602082019050818103600083015261484b81614185565b9050919050565b6000602082019050818103600083015261486b816141a8565b9050919050565b6000602082019050818103600083015261488b816141cb565b9050919050565b600060208201905081810360008301526148ab816141ee565b9050919050565b600060208201905081810360008301526148cb81614211565b9050919050565b600060208201905081810360008301526148eb81614234565b9050919050565b60006020820190506149076000830184614257565b92915050565b60006020820190506149226000830184614266565b92915050565b6000614932614943565b905061493e8282614dc5565b919050565b6000604051905090565b600067ffffffffffffffff82111561496857614967614fbe565b5b61497182615020565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006149e782614cc3565b91506149f283614cc3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614a2757614a26614ed3565b5b828201905092915050565b6000614a3d82614ccd565b9150614a4883614ccd565b92508263ffffffff03821115614a6157614a60614ed3565b5b828201905092915050565b6000614a7782614cc3565b9150614a8283614cc3565b925082614a9257614a91614f02565b5b828204905092915050565b6000614aa882614ccd565b9150614ab383614ccd565b925082614ac357614ac2614f02565b5b828204905092915050565b6000614ad982614cc3565b9150614ae483614cc3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614b1d57614b1c614ed3565b5b828202905092915050565b6000614b3382614cdd565b9150614b3e83614cdd565b92508160ff0483118215151615614b5857614b57614ed3565b5b828202905092915050565b6000614b6e82614cc3565b9150614b7983614cc3565b925082821015614b8c57614b8b614ed3565b5b828203905092915050565b6000614ba282614ccd565b9150614bad83614ccd565b925082821015614bc057614bbf614ed3565b5b828203905092915050565b6000614bd682614ca3565b9050919050565b60008115159050919050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b60007fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b6000614cf58261498e565b82614cff8461497e565b9050614d0a81614fed565b92506004821015614d4a57614d457fffffffff0000000000000000000000000000000000000000000000000000000083600403600802615031565b831692505b5050919050565b82818337600083830152505050565b60005b83811015614d7e578082015181840152602081019050614d63565b83811115614d8d576000848401525b50505050565b60006002820490506001821680614dab57607f821691505b60208210811415614dbf57614dbe614f31565b5b50919050565b614dce82615020565b810181811067ffffffffffffffff82111715614ded57614dec614fbe565b5b80604052505050565b6000614e0182614cc3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614e3457614e33614ed3565b5b600182019050919050565b6000819050919050565b6000819050919050565b6000819050919050565b6000819050919050565b6000819050919050565b6000614e7c82614cc3565b9150614e8783614cc3565b925082614e9757614e96614f02565b5b828206905092915050565b6000614ead82614ccd565b9150614eb883614ccd565b925082614ec857614ec7614f02565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000614ff98251614c4b565b80915050919050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b600082821b905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f2e73746c00000000000000000000000000000000000000000000000000000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f61646472657373206e6f7420616c6c6f77656400000000000000000000000000600082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4e6f6e61676f6e4375702d000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f546f6b656e20494420696e76616c696400000000000000000000000000000000600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f696e64657820746f6f206c617267650000000000000000000000000000000000600082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b61563381614bcb565b811461563e57600080fd5b50565b61564a81614bdd565b811461565557600080fd5b50565b61566181614c4b565b811461566c57600080fd5b50565b61567881614cc3565b811461568357600080fd5b5056fe3be137c21fb1014100000000bd09f0c179080f4281b321c269b7bac172717fc1c1742fc272717f4181b321423be13742bd09f0410000a02769b73a4228b305c256561f420bd74cc2ac7910411f2234c20000d0c1c7478ec1c17443c2c7478e4128b30542000050420bd74c421f2234420001020304020001fe0001fe0304020304fe0506020001020506fe0506fe0001020001fe0708020506020708fe0708fe0506020506fe0908020708020908fe0908fe0708020708fe0a06020908020a06fe0a06fe0908020908fe0b01020a06020b01fe0b01fe0a06020a06fe0c04020b01020c04fe0c04fe0b01020b01fe020d020c0402020dfe020dfe0c04020c04fe030402020d020304fe0304fe020d02020dfe020dfe0e0ffe0304fe0304fe0e0ffe1011fe0304fe1011fe0001fe0001fe1011fe0506fe0506fe1011fe1213fe0506fe1213fe0708fe0708fe1213fe1415fe0708fe1415fe1615fe0c04fe170ffe020dfe020dfe170ffe0218fe020dfe0218fe0e0ffe170ffe0c04fe1911fe1911fe0c04fe0b01fe1911fe0b01fe0a06fe1911fe0a06fe1a13fe1a13fe0a06fe0908fe1a13fe0908fe1615fe1615fe0908fe0708fe0218fd0e0ffd0218fe0218fe0e0ffd0e0ffe0e0ffd1011fd0e0ffe0e0ffe1011fd1011fe1011fd1213fd1011fe1011fe1213fd1213fe1213fd1415fd1213fe1213fe1415fd1415fe1415fd1615fd1415fe1415fe1615fd1615fe1615fd1a13fd1615fe1615fe1a13fd1a13fe1a13fd1911fd1a13fe1a13fe1911fd1911fe1911fd170ffd1911fe1911fe170ffd170ffe170ffd0218fd170ffe170ffe0218fd0218fe0001020b01020304020304020b01020c04020304020c0402020d020b01020001020a06020a06020001020506020a06020506020908020908020506020708020218fd170ffd0e0ffd0e0ffd170ffd1011fd1011fd170ffd1911fd1011fd1911fd1213fd1213fd1911fd1a13fd1213fd1a13fd1415fd1415fd1a13fd1615fd0001020304020001fe0001fe0304020304fe0506020001020506fe0506fe0001020001fe0708020506020708fe0708fe0506020506fe0908020708020908fe0908fe0708020708fe0a06020908020a06fe0a06fe0908020908fe0b01020a06020b01fe0b01fe0a06020a06fe0c04020b01020c04fe0c04fe0b01020b01fe0d0e020c04020d0efe0d0efe0c04020c04fe0304020d0e020304fe0304fe0d0e020d0efe0d0efe0f10fe0304fe0304fe0f10fe1112fe0304fe1112fe0001fe0001fe1112fe0506fe0506fe1112fe1314fe0506fe1314fe0708fe0708fe1314fe1516fe0708fe1516fe1716fe0c04fe1810fe0d0efe0d0efe1810fe0219fe0d0efe0219fe0f10fe1810fe0c04fe1a12fe1a12fe0c04fe0b01fe1a12fe0b01fe0a06fe1a12fe0a06fe1b14fe1b14fe0a06fe0908fe1b14fe0908fe1716fe1716fe0908fe0708fe0219fd0f10fd0219fe0219fe0f10fd0f10fe0f10fd1112fd0f10fe0f10fe1112fd1112fe1112fd1314fd1112fe1112fe1314fd1314fe1314fd1516fd1314fe1314fe1516fd1516fe1516fd1716fd1516fe1516fe1716fd1716fe1716fd1b14fd1716fe1716fe1b14fd1b14fe1b14fd1a12fd1b14fe1b14fe1a12fd1a12fe1a12fd1810fd1a12fe1a12fe1810fd1810fe1810fd0219fd1810fe1810fe0219fd0219fe0001020b01020304020304020b01020c04020304020c04020d0e020b01020001020a06020a06020001020506020a06020506020908020908020506020708020219fd1810fd0f10fd0f10fd1810fd1112fd1112fd1810fd1a12fd1112fd1a12fd1314fd1314fd1a12fd1b14fd1314fd1b14fd1516fd1516fd1b14fd1716fdc3131cc23c2adc40000000008bbecbc122d0f241824009c2257c9ec1f7d158c158ed14c2f7d1584182400942c3131c428bbecb41257c1e42731eddc178c203420e6329c29df0ee40d5f414c20000acc1534f6bc18ca021c2534f6b41731edd4100002c420e632942d5f41442f095dbc123e09a40000000000b538fc1aeceaa41b519c1c121f95ec1cb8518c1b786d1c1cb851841b519c141f095db410b538f41000020a721f9de41df449ac1c5d9b741975aecc1c7b3a6409ad8cfc1000070c16f2b24c1b786e1c16f2b2441df449a410000f041975aec419ad8cf41a264697066735822122011039a759819fb240d524c04356fb0edbc8b4266933f24f7f60a9be96a61fbb264736f6c63430008070033