60806040526000600e556000600f553480156200001b57600080fd5b506040518060400160405280601081526020017f45786f7469632047656e746c656d616e000000000000000000000000000000008152506040518060400160405280600381526020017f45475300000000000000000000000000000000000000000000000000000000008152508160009080519060200190620000a0929190620001f1565b508060019080519060200190620000b9929190620001f1565b505050620000dc620000d06200012360201b60201c565b6200012b60201b60201c565b33601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000306565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001ff90620002a1565b90600052602060002090601f0160209004810192826200022357600085556200026f565b82601f106200023e57805160ff19168380011785556200026f565b828001600101855582156200026f579182015b828111156200026e57825182559160200191906001019062000251565b5b5090506200027e919062000282565b5090565b5b808211156200029d57600081600090555060010162000283565b5090565b60006002820490506001821680620002ba57607f821691505b60208210811415620002d157620002d0620002d7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b613ff680620003166000396000f3fe6080604052600436106101405760003560e01c806370a08231116100b6578063b88d4fde1161006f578063b88d4fde14610435578063c87b56dd14610451578063cef57be61461048e578063e8d802f6146104be578063e985e9c5146104fb578063f2fde38b1461053857610140565b806370a0823114610332578063715018a61461036f5780638aa0fdad146103865780638da5cb5b146103b657806395d89b41146103e1578063a22cb4651461040c57610140565b806318160ddd1161010857806318160ddd1461023e57806323b872dd146102695780633ccfd60b1461028557806342842e0e1461029c5780636352211e146102b85780636c8b703f146102f557610140565b806301ffc9a71461014557806306fdde0314610182578063081812fc146101ad578063095ea7b3146101ea57806312065fe014610213575b600080fd5b34801561015157600080fd5b5061016c60048036038101906101679190612aae565b610561565b6040516101799190613100565b60405180910390f35b34801561018e57600080fd5b50610197610643565b6040516101a4919061311b565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf9190612bc9565b6106d5565b6040516101e19190613099565b60405180910390f35b3480156101f657600080fd5b50610211600480360381019061020c9190612a6e565b61075a565b005b34801561021f57600080fd5b50610228610872565b604051610235919061345d565b60405180910390f35b34801561024a57600080fd5b506102536108f6565b604051610260919061345d565b60405180910390f35b610283600480360381019061027e9190612958565b610907565b005b34801561029157600080fd5b5061029a610967565b005b6102b660048036038101906102b19190612958565b6109d2565b005b3480156102c457600080fd5b506102df60048036038101906102da9190612bc9565b6109f2565b6040516102ec9190613099565b60405180910390f35b34801561030157600080fd5b5061031c60048036038101906103179190612bc9565b610aa4565b604051610329919061311b565b60405180910390f35b34801561033e57600080fd5b50610359600480360381019061035491906128eb565b610b50565b604051610366919061345d565b60405180910390f35b34801561037b57600080fd5b50610384610c08565b005b6103a0600480360381019061039b9190612b51565b610c90565b6040516103ad919061345d565b60405180910390f35b3480156103c257600080fd5b506103cb61128b565b6040516103d89190613099565b60405180910390f35b3480156103ed57600080fd5b506103f66112b5565b604051610403919061311b565b60405180910390f35b34801561041857600080fd5b50610433600480360381019061042e9190612a2e565b611347565b005b61044f600480360381019061044a91906129ab565b6114c8565b005b34801561045d57600080fd5b5061047860048036038101906104739190612bc9565b61152a565b604051610485919061311b565b60405180910390f35b6104a860048036038101906104a39190612b51565b61156f565b6040516104b5919061345d565b60405180910390f35b3480156104ca57600080fd5b506104e560048036038101906104e09190612b08565b61172f565b6040516104f29190613100565b60405180910390f35b34801561050757600080fd5b50610522600480360381019061051d9190612918565b611764565b60405161052f9190613100565b60405180910390f35b34801561054457600080fd5b5061055f600480360381019061055a91906128eb565b6117f8565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061062c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061063c575061063b826118f0565b5b9050919050565b606060008054610652906136b3565b80601f016020809104026020016040519081016040528092919081815260200182805461067e906136b3565b80156106cb5780601f106106a0576101008083540402835291602001916106cb565b820191906000526020600020905b8154815290600101906020018083116106ae57829003601f168201915b5050505050905090565b60006106e08261195a565b61071f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107169061331d565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610765826109f2565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd906133fd565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107f56119c6565b73ffffffffffffffffffffffffffffffffffffffff16148061082457506108238161081e6119c6565b611764565b5b610863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085a9061325d565b60405180910390fd5b61086d83836119ce565b505050565b600061087c6119c6565b73ffffffffffffffffffffffffffffffffffffffff1661089a61128b565b73ffffffffffffffffffffffffffffffffffffffff16146108f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e79061333d565b60405180910390fd5b47905090565b60006109026008611a87565b905090565b6109186109126119c6565b82611a95565b610957576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094e9061341d565b60405180910390fd5b610962838383611b73565b505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156109cf573d6000803e3d6000fd5b50565b6109ed838383604051806020016040528060008152506114c8565b505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a929061329d565b60405180910390fd5b80915050919050565b600d8181548110610ab457600080fd5b906000526020600020016000915090508054610acf906136b3565b80601f0160208091040260200160405190810160405280929190818152602001828054610afb906136b3565b8015610b485780601f10610b1d57610100808354040283529160200191610b48565b820191906000526020600020905b815481529060010190602001808311610b2b57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb89061327d565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c106119c6565b73ffffffffffffffffffffffffffffffffffffffff16610c2e61128b565b73ffffffffffffffffffffffffffffffffffffffff1614610c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7b9061333d565b60405180910390fd5b610c8e6000611dcf565b565b6000804290503073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d149190612bf6565b61271111610d2157600080fd5b600984604051610d31919061305e565b908152602001604051809103902060009054906101000a900460ff1615610d5757600080fd5b636169b3908110158015610d6e575063616b051081105b15610ef5576107d0600e5410610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db0906133bd565b60405180910390fd5b66d529ae9e8600003414610e02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df9906133dd565b60405180910390fd5b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506002811115610e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e819061319d565b60405180910390fd5b600181610e979190613542565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600e54610ee99190613542565b600e819055505061121d565b63616b67808110158015610f0c575063616c72b081105b15611093576101f4600f5410610f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4e9061343d565b60405180910390fd5b66d529ae9e8600003414610fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f97906133dd565b60405180910390fd5b6000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506004811115611028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101f9061319d565b60405180910390fd5b6001816110359190613542565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600f546110879190613542565b600f819055505061121c565b63616da81081106111c65767011c37937e08000034146110e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110df9061323d565b60405180910390fd5b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506006811115611170576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111679061319d565b60405180910390fd5b60018161117d9190613542565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505061121b565b66d529ae9e86000034146111d957600080fd5b600061121a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112119061339d565b60405180910390fd5b5b5b5b6112276008611e95565b60006112336008611a87565b905061123f3382611eab565b6001600986604051611251919061305e565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506112808185611ec9565b809250505092915050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546112c4906136b3565b80601f01602080910402602001604051908101604052809291908181526020018280546112f0906136b3565b801561133d5780601f106113125761010080835404028352916020019161133d565b820191906000526020600020905b81548152906001019060200180831161132057829003601f168201915b5050505050905090565b61134f6119c6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b4906131dd565b60405180910390fd5b80600560006113ca6119c6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166114776119c6565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516114bc9190613100565b60405180910390a35050565b6114d96114d36119c6565b83611a95565b611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150f9061341d565b60405180910390fd5b61152484848484611f3d565b50505050565b606063616ef990611539611f99565b1061154e5761154782611fa1565b905061156a565b6040518060600160405280603d8152602001613f84603d913990505b919050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f8906131fd565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561164757600080fd5b505afa15801561165b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167f9190612bf6565b6127111161168c57600080fd5b60098360405161169c919061305e565b908152602001604051809103902060009054906101000a900460ff16156116c257600080fd5b6116cc6008611e95565b60006116d86008611a87565b90506116e43382611eab565b60016009856040516116f6919061305e565b908152602001604051809103902060006101000a81548160ff0219169083151502179055506117258184611ec9565b8091505092915050565b6000600982604051611741919061305e565b908152602001604051809103902060009054906101000a900460ff169050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6118006119c6565b73ffffffffffffffffffffffffffffffffffffffff1661181e61128b565b73ffffffffffffffffffffffffffffffffffffffff1614611874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186b9061333d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118db9061315d565b60405180910390fd5b6118ed81611dcf565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611a41836109f2565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600081600001549050919050565b6000611aa08261195a565b611adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad69061321d565b60405180910390fd5b6000611aea836109f2565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b5957508373ffffffffffffffffffffffffffffffffffffffff16611b41846106d5565b73ffffffffffffffffffffffffffffffffffffffff16145b80611b6a5750611b698185611764565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611b93826109f2565b73ffffffffffffffffffffffffffffffffffffffff1614611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be09061335d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c50906131bd565b60405180910390fd5b611c648383836120f3565b611c6f6000826119ce565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cbf91906135c9565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d169190613542565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b611ec58282604051806020016040528060008152506120f8565b5050565b611ed28261195a565b611f11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f08906132bd565b60405180910390fd5b80600660008481526020019081526020016000209080519060200190611f389291906126ea565b505050565b611f48848484611b73565b611f5484848484612153565b611f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8a9061313d565b60405180910390fd5b50505050565b600042905090565b6060611fac8261195a565b611feb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe2906132fd565b60405180910390fd5b600060066000848152602001908152602001600020805461200b906136b3565b80601f0160208091040260200160405190810160405280929190818152602001828054612037906136b3565b80156120845780601f1061205957610100808354040283529160200191612084565b820191906000526020600020905b81548152906001019060200180831161206757829003601f168201915b5050505050905060006120956122ea565b90506000815114156120ab5781925050506120ee565b6000825111156120e05780826040516020016120c8929190613075565b604051602081830303815290604052925050506120ee565b6120e984612301565b925050505b919050565b505050565b61210283836123a8565b61210f6000848484612153565b61214e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121459061313d565b60405180910390fd5b505050565b60006121748473ffffffffffffffffffffffffffffffffffffffff16612576565b156122dd578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261219d6119c6565b8786866040518563ffffffff1660e01b81526004016121bf94939291906130b4565b602060405180830381600087803b1580156121d957600080fd5b505af192505050801561220a57506040513d601f19601f820116820180604052508101906122079190612adb565b60015b61228d573d806000811461223a576040519150601f19603f3d011682016040523d82523d6000602084013e61223f565b606091505b50600081511415612285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227c9061313d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506122e2565b600190505b949350505050565b606060405180602001604052806000815250905090565b606061230c8261195a565b61234b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123429061337d565b60405180910390fd5b60006123556122ea565b9050600081511161237557604051806020016040528060008152506123a0565b8061237f84612589565b604051602001612390929190613075565b6040516020818303038152906040525b915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240f906132dd565b60405180910390fd5b6124218161195a565b15612461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124589061317d565b60405180910390fd5b61246d600083836120f3565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124bd9190613542565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b606060008214156125d1576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506126e5565b600082905060005b600082146126035780806125ec90613716565b915050600a826125fc9190613598565b91506125d9565b60008167ffffffffffffffff81111561261f5761261e61384c565b5b6040519080825280601f01601f1916602001820160405280156126515781602001600182028036833780820191505090505b5090505b600085146126de5760018261266a91906135c9565b9150600a85612679919061375f565b60306126859190613542565b60f81b81838151811061269b5761269a61381d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856126d79190613598565b9450612655565b8093505050505b919050565b8280546126f6906136b3565b90600052602060002090601f016020900481019282612718576000855561275f565b82601f1061273157805160ff191683800117855561275f565b8280016001018555821561275f579182015b8281111561275e578251825591602001919060010190612743565b5b50905061276c9190612770565b5090565b5b80821115612789576000816000905550600101612771565b5090565b60006127a061279b8461349d565b613478565b9050828152602081018484840111156127bc576127bb613880565b5b6127c7848285613671565b509392505050565b60006127e26127dd846134ce565b613478565b9050828152602081018484840111156127fe576127fd613880565b5b612809848285613671565b509392505050565b60008135905061282081613f27565b92915050565b60008135905061283581613f3e565b92915050565b60008135905061284a81613f55565b92915050565b60008151905061285f81613f55565b92915050565b600082601f83011261287a5761287961387b565b5b813561288a84826020860161278d565b91505092915050565b600082601f8301126128a8576128a761387b565b5b81356128b88482602086016127cf565b91505092915050565b6000813590506128d081613f6c565b92915050565b6000815190506128e581613f6c565b92915050565b6000602082840312156129015761290061388a565b5b600061290f84828501612811565b91505092915050565b6000806040838503121561292f5761292e61388a565b5b600061293d85828601612811565b925050602061294e85828601612811565b9150509250929050565b6000806000606084860312156129715761297061388a565b5b600061297f86828701612811565b935050602061299086828701612811565b92505060406129a1868287016128c1565b9150509250925092565b600080600080608085870312156129c5576129c461388a565b5b60006129d387828801612811565b94505060206129e487828801612811565b93505060406129f5878288016128c1565b925050606085013567ffffffffffffffff811115612a1657612a15613885565b5b612a2287828801612865565b91505092959194509250565b60008060408385031215612a4557612a4461388a565b5b6000612a5385828601612811565b9250506020612a6485828601612826565b9150509250929050565b60008060408385031215612a8557612a8461388a565b5b6000612a9385828601612811565b9250506020612aa4858286016128c1565b9150509250929050565b600060208284031215612ac457612ac361388a565b5b6000612ad28482850161283b565b91505092915050565b600060208284031215612af157612af061388a565b5b6000612aff84828501612850565b91505092915050565b600060208284031215612b1e57612b1d61388a565b5b600082013567ffffffffffffffff811115612b3c57612b3b613885565b5b612b4884828501612893565b91505092915050565b60008060408385031215612b6857612b6761388a565b5b600083013567ffffffffffffffff811115612b8657612b85613885565b5b612b9285828601612893565b925050602083013567ffffffffffffffff811115612bb357612bb2613885565b5b612bbf85828601612893565b9150509250929050565b600060208284031215612bdf57612bde61388a565b5b6000612bed848285016128c1565b91505092915050565b600060208284031215612c0c57612c0b61388a565b5b6000612c1a848285016128d6565b91505092915050565b612c2c816135fd565b82525050565b612c3b8161360f565b82525050565b6000612c4c826134ff565b612c568185613515565b9350612c66818560208601613680565b612c6f8161388f565b840191505092915050565b6000612c858261350a565b612c8f8185613526565b9350612c9f818560208601613680565b612ca88161388f565b840191505092915050565b6000612cbe8261350a565b612cc88185613537565b9350612cd8818560208601613680565b80840191505092915050565b6000612cf1603283613526565b9150612cfc826138a0565b604082019050919050565b6000612d14602683613526565b9150612d1f826138ef565b604082019050919050565b6000612d37601c83613526565b9150612d428261393e565b602082019050919050565b6000612d5a603783613526565b9150612d6582613967565b604082019050919050565b6000612d7d602483613526565b9150612d88826139b6565b604082019050919050565b6000612da0601983613526565b9150612dab82613a05565b602082019050919050565b6000612dc3601583613526565b9150612dce82613a2e565b602082019050919050565b6000612de6602c83613526565b9150612df182613a57565b604082019050919050565b6000612e09601983613526565b9150612e1482613aa6565b602082019050919050565b6000612e2c603883613526565b9150612e3782613acf565b604082019050919050565b6000612e4f602a83613526565b9150612e5a82613b1e565b604082019050919050565b6000612e72602983613526565b9150612e7d82613b6d565b604082019050919050565b6000612e95602e83613526565b9150612ea082613bbc565b604082019050919050565b6000612eb8602083613526565b9150612ec382613c0b565b602082019050919050565b6000612edb603183613526565b9150612ee682613c34565b604082019050919050565b6000612efe602c83613526565b9150612f0982613c83565b604082019050919050565b6000612f21602083613526565b9150612f2c82613cd2565b602082019050919050565b6000612f44602983613526565b9150612f4f82613cfb565b604082019050919050565b6000612f67602f83613526565b9150612f7282613d4a565b604082019050919050565b6000612f8a602383613526565b9150612f9582613d99565b604082019050919050565b6000612fad601c83613526565b9150612fb882613de8565b602082019050919050565b6000612fd0601983613526565b9150612fdb82613e11565b602082019050919050565b6000612ff3602183613526565b9150612ffe82613e3a565b604082019050919050565b6000613016603183613526565b915061302182613e89565b604082019050919050565b6000613039602183613526565b915061304482613ed8565b604082019050919050565b61305881613667565b82525050565b600061306a8284612cb3565b915081905092915050565b60006130818285612cb3565b915061308d8284612cb3565b91508190509392505050565b60006020820190506130ae6000830184612c23565b92915050565b60006080820190506130c96000830187612c23565b6130d66020830186612c23565b6130e3604083018561304f565b81810360608301526130f58184612c41565b905095945050505050565b60006020820190506131156000830184612c32565b92915050565b600060208201905081810360008301526131358184612c7a565b905092915050565b6000602082019050818103600083015261315681612ce4565b9050919050565b6000602082019050818103600083015261317681612d07565b9050919050565b6000602082019050818103600083015261319681612d2a565b9050919050565b600060208201905081810360008301526131b681612d4d565b9050919050565b600060208201905081810360008301526131d681612d70565b9050919050565b600060208201905081810360008301526131f681612d93565b9050919050565b6000602082019050818103600083015261321681612db6565b9050919050565b6000602082019050818103600083015261323681612dd9565b9050919050565b6000602082019050818103600083015261325681612dfc565b9050919050565b6000602082019050818103600083015261327681612e1f565b9050919050565b6000602082019050818103600083015261329681612e42565b9050919050565b600060208201905081810360008301526132b681612e65565b9050919050565b600060208201905081810360008301526132d681612e88565b9050919050565b600060208201905081810360008301526132f681612eab565b9050919050565b6000602082019050818103600083015261331681612ece565b9050919050565b6000602082019050818103600083015261333681612ef1565b9050919050565b6000602082019050818103600083015261335681612f14565b9050919050565b6000602082019050818103600083015261337681612f37565b9050919050565b6000602082019050818103600083015261339681612f5a565b9050919050565b600060208201905081810360008301526133b681612f7d565b9050919050565b600060208201905081810360008301526133d681612fa0565b9050919050565b600060208201905081810360008301526133f681612fc3565b9050919050565b6000602082019050818103600083015261341681612fe6565b9050919050565b6000602082019050818103600083015261343681613009565b9050919050565b600060208201905081810360008301526134568161302c565b9050919050565b6000602082019050613472600083018461304f565b92915050565b6000613482613493565b905061348e82826136e5565b919050565b6000604051905090565b600067ffffffffffffffff8211156134b8576134b761384c565b5b6134c18261388f565b9050602081019050919050565b600067ffffffffffffffff8211156134e9576134e861384c565b5b6134f28261388f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061354d82613667565b915061355883613667565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561358d5761358c613790565b5b828201905092915050565b60006135a382613667565b91506135ae83613667565b9250826135be576135bd6137bf565b5b828204905092915050565b60006135d482613667565b91506135df83613667565b9250828210156135f2576135f1613790565b5b828203905092915050565b600061360882613647565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561369e578082015181840152602081019050613683565b838111156136ad576000848401525b50505050565b600060028204905060018216806136cb57607f821691505b602082108114156136df576136de6137ee565b5b50919050565b6136ee8261388f565b810181811067ffffffffffffffff8211171561370d5761370c61384c565b5b80604052505050565b600061372182613667565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561375457613753613790565b5b600182019050919050565b600061376a82613667565b915061377583613667565b925082613785576137846137bf565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f596f757220616464726573732068617320726561636865642069742773206d6960008201527f6e742063617020666f7220746869732073657373696f6e000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f596f7520617265206e6f7420746865206f776e65720000000000000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f596f75206e65656420302e30382045746820546f204d696e7400000000000000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f45524337323155524953746f726167653a2055524920717565727920666f722060008201527f6e6f6e6578697374656e7420746f6b656e000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f596f752061726520756e61626c6520746f206d696e742061742074686973207460008201527f696d650000000000000000000000000000000000000000000000000000000000602082015250565b7f4d6178207669702063617020686173206265656e207265616368656400000000600082015250565b7f596f75206e65656420302e30362045746820546f204d696e7400000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f4d61782065737465656d65642063617020686173206265656e2072656163686560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b613f30816135fd565b8114613f3b57600080fd5b50565b613f478161360f565b8114613f5257600080fd5b50565b613f5e8161361b565b8114613f6957600080fd5b50565b613f7581613667565b8114613f8057600080fd5b5056fe68747470733a2f2f65786f74696367656e746c656d656e736f63696574792e636f6d2f6e66745f696e666f2f64656661756c745f6d6574612e6a736f6ea264697066735822122052cfb192107c087df40c08812b53dacf4938d15e6eab543c7af5e0ac17cb167e64736f6c63430008070033