60806040523480156200001157600080fd5b5060405162003d8c38038062003d8c833981810160405281019062000037919062000319565b6040518060400160405280600b81526020017f466163656c6573734e46540000000000000000000000000000000000000000008152506040518060400160405280600481526020017f464e4654000000000000000000000000000000000000000000000000000000008152508282828160009080519060200190620000be929190620001eb565b508060019080519060200190620000d7929190620001eb565b505050620000fa620000ee6200011d60201b60201c565b6200012560201b60201c565b80600b908051906020019062000112929190620001eb565b5050505050620004ee565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001f990620003ff565b90600052602060002090601f0160209004810192826200021d576000855562000269565b82601f106200023857805160ff191683800117855562000269565b8280016001018555821562000269579182015b82811115620002685782518255916020019190600101906200024b565b5b5090506200027891906200027c565b5090565b5b80821115620002975760008160009055506001016200027d565b5090565b6000620002b2620002ac8462000393565b6200036a565b905082815260208101848484011115620002d157620002d0620004ce565b5b620002de848285620003c9565b509392505050565b600082601f830112620002fe57620002fd620004c9565b5b8151620003108482602086016200029b565b91505092915050565b600060208284031215620003325762000331620004d8565b5b600082015167ffffffffffffffff811115620003535762000352620004d3565b5b6200036184828501620002e6565b91505092915050565b60006200037662000389565b905062000384828262000435565b919050565b6000604051905090565b600067ffffffffffffffff821115620003b157620003b06200049a565b5b620003bc82620004dd565b9050602081019050919050565b60005b83811015620003e9578082015181840152602081019050620003cc565b83811115620003f9576000848401525b50505050565b600060028204905060018216806200041857607f821691505b602082108114156200042f576200042e6200046b565b5b50919050565b6200044082620004dd565b810181811067ffffffffffffffff821117156200046257620004616200049a565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61388e80620004fe6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80636352211e116100c3578063a22cb4651161007c578063a22cb465146103c5578063b5077f44146103e1578063b88d4fde146103ff578063c87b56dd1461041b578063e985e9c51461044b578063f2fde38b1461047b57610158565b80636352211e1461030357806369963f6e1461033357806370a082311461034f578063715018a61461037f5780638da5cb5b1461038957806395d89b41146103a757610158565b806328a5d3371161011557806328a5d337146102315780632f745c591461024f57806340c10f191461027f57806342842e0e1461029b5780634f6ccce7146102b757806355f804b3146102e757610158565b806301ffc9a71461015d57806306fdde031461018d578063081812fc146101ab578063095ea7b3146101db57806318160ddd146101f757806323b872dd14610215575b600080fd5b610177600480360381019061017291906125b3565b610497565b6040516101849190612b47565b60405180910390f35b610195610511565b6040516101a29190612b62565b60405180910390f35b6101c560048036038101906101c09190612656565b6105a3565b6040516101d29190612ae0565b60405180910390f35b6101f560048036038101906101f09190612573565b610628565b005b6101ff610740565b60405161020c9190612e04565b60405180910390f35b61022f600480360381019061022a919061245d565b61074a565b005b6102396107aa565b6040516102469190612ae0565b60405180910390f35b61026960048036038101906102649190612573565b6107d0565b6040516102769190612e04565b60405180910390f35b61029960048036038101906102949190612573565b610875565b005b6102b560048036038101906102b0919061245d565b610978565b005b6102d160048036038101906102cc9190612656565b610998565b6040516102de9190612e04565b60405180910390f35b61030160048036038101906102fc919061260d565b610a09565b005b61031d60048036038101906103189190612656565b610a9f565b60405161032a9190612ae0565b60405180910390f35b61034d600480360381019061034891906123f0565b610b51565b005b610369600480360381019061036491906123f0565b610c11565b6040516103769190612e04565b60405180910390f35b610387610cc9565b005b610391610d51565b60405161039e9190612ae0565b60405180910390f35b6103af610d7b565b6040516103bc9190612b62565b60405180910390f35b6103df60048036038101906103da9190612533565b610e0d565b005b6103e9610f8e565b6040516103f69190612e04565b60405180910390f35b610419600480360381019061041491906124b0565b610f94565b005b61043560048036038101906104309190612656565b610ff6565b6040516104429190612b62565b60405180910390f35b6104656004803603810190610460919061241d565b61109e565b6040516104729190612b47565b60405180910390f35b610495600480360381019061049091906123f0565b611132565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061050a57506105098261122a565b5b9050919050565b6060600080546105209061306f565b80601f016020809104026020016040519081016040528092919081815260200182805461054c9061306f565b80156105995780601f1061056e57610100808354040283529160200191610599565b820191906000526020600020905b81548152906001019060200180831161057c57829003601f168201915b5050505050905090565b60006105ae8261130c565b6105ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e490612ce4565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061063382610a9f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069b90612d84565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166106c3611378565b73ffffffffffffffffffffffffffffffffffffffff1614806106f257506106f1816106ec611378565b61109e565b5b610731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072890612c64565b60405180910390fd5b61073b8383611380565b505050565b6000600d54905090565b61075b610755611378565b82611439565b61079a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079190612dc4565b60405180910390fd5b6107a5838383611517565b505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006107db83610c11565b821061081c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081390612b84565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fc90612d64565b60405180910390fd5b6103e9610910610740565b10610950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094790612da4565b60405180910390fd5b6001600d60008282546109639190612efe565b925050819055506109748282611773565b5050565b61099383838360405180602001604052806000815250610f94565b505050565b60006109a2611941565b82106109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109da90612de4565b60405180910390fd5b600882815481106109f7576109f6613208565b5b90600052602060002001549050919050565b610a11611378565b73ffffffffffffffffffffffffffffffffffffffff16610a2f610d51565b73ffffffffffffffffffffffffffffffffffffffff1614610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612d04565b60405180910390fd5b80600b9080519060200190610a9b929190612204565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3f90612ca4565b60405180910390fd5b80915050919050565b610b59611378565b73ffffffffffffffffffffffffffffffffffffffff16610b77610d51565b73ffffffffffffffffffffffffffffffffffffffff1614610bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc490612d04565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7990612c84565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cd1611378565b73ffffffffffffffffffffffffffffffffffffffff16610cef610d51565b73ffffffffffffffffffffffffffffffffffffffff1614610d45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3c90612d04565b60405180910390fd5b610d4f600061194e565b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610d8a9061306f565b80601f0160208091040260200160405190810160405280929190818152602001828054610db69061306f565b8015610e035780601f10610dd857610100808354040283529160200191610e03565b820191906000526020600020905b815481529060010190602001808311610de657829003601f168201915b5050505050905090565b610e15611378565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7a90612c24565b60405180910390fd5b8060056000610e90611378565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610f3d611378565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610f829190612b47565b60405180910390a35050565b6103e981565b610fa5610f9f611378565b83611439565b610fe4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdb90612dc4565b60405180910390fd5b610ff084848484611a14565b50505050565b60606110018261130c565b611040576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103790612d44565b60405180910390fd5b6000600b805461104f9061306f565b90501161106b5760405180602001604052806000815250611097565b600b61107683611a70565b604051602001611087929190612ab1565b6040516020818303038152906040525b9050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61113a611378565b73ffffffffffffffffffffffffffffffffffffffff16611158610d51565b73ffffffffffffffffffffffffffffffffffffffff16146111ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a590612d04565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561121e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121590612bc4565b60405180910390fd5b6112278161194e565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806112f557507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611305575061130482611bd1565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166113f383610a9f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006114448261130c565b611483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147a90612c44565b60405180910390fd5b600061148e83610a9f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806114fd57508373ffffffffffffffffffffffffffffffffffffffff166114e5846105a3565b73ffffffffffffffffffffffffffffffffffffffff16145b8061150e575061150d818561109e565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661153782610a9f565b73ffffffffffffffffffffffffffffffffffffffff161461158d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158490612d24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f490612c04565b60405180910390fd5b611608838383611c3b565b611613600082611380565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116639190612f85565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116ba9190612efe565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da90612cc4565b60405180910390fd5b6117ec8161130c565b1561182c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182390612be4565b60405180910390fd5b61183860008383611c3b565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118889190612efe565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000600880549050905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611a1f848484611517565b611a2b84848484611d4f565b611a6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6190612ba4565b60405180910390fd5b50505050565b60606000821415611ab8576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611bcc565b600082905060005b60008214611aea578080611ad3906130d2565b915050600a82611ae39190612f54565b9150611ac0565b60008167ffffffffffffffff811115611b0657611b05613237565b5b6040519080825280601f01601f191660200182016040528015611b385781602001600182028036833780820191505090505b5090505b60008514611bc557600182611b519190612f85565b9150600a85611b60919061311b565b6030611b6c9190612efe565b60f81b818381518110611b8257611b81613208565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611bbe9190612f54565b9450611b3c565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611c46838383611ee6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c8957611c8481611eeb565b611cc8565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611cc757611cc68382611f34565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d0b57611d06816120a1565b611d4a565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d4957611d488282612172565b5b5b505050565b6000611d708473ffffffffffffffffffffffffffffffffffffffff166121f1565b15611ed9578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611d99611378565b8786866040518563ffffffff1660e01b8152600401611dbb9493929190612afb565b602060405180830381600087803b158015611dd557600080fd5b505af1925050508015611e0657506040513d601f19601f82011682018060405250810190611e0391906125e0565b60015b611e89573d8060008114611e36576040519150601f19603f3d011682016040523d82523d6000602084013e611e3b565b606091505b50600081511415611e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7890612ba4565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611ede565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001611f4184610c11565b611f4b9190612f85565b9050600060076000848152602001908152602001600020549050818114612030576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506120b59190612f85565b90506000600960008481526020019081526020016000205490506000600883815481106120e5576120e4613208565b5b90600052602060002001549050806008838154811061210757612106613208565b5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480612156576121556131d9565b5b6001900381819060005260206000200160009055905550505050565b600061217d83610c11565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600080823b905060008111915050919050565b8280546122109061306f565b90600052602060002090601f0160209004810192826122325760008555612279565b82601f1061224b57805160ff1916838001178555612279565b82800160010185558215612279579182015b8281111561227857825182559160200191906001019061225d565b5b509050612286919061228a565b5090565b5b808211156122a357600081600090555060010161228b565b5090565b60006122ba6122b584612e44565b612e1f565b9050828152602081018484840111156122d6576122d561326b565b5b6122e184828561302d565b509392505050565b60006122fc6122f784612e75565b612e1f565b9050828152602081018484840111156123185761231761326b565b5b61232384828561302d565b509392505050565b60008135905061233a816137fc565b92915050565b60008135905061234f81613813565b92915050565b6000813590506123648161382a565b92915050565b6000815190506123798161382a565b92915050565b600082601f83011261239457612393613266565b5b81356123a48482602086016122a7565b91505092915050565b600082601f8301126123c2576123c1613266565b5b81356123d28482602086016122e9565b91505092915050565b6000813590506123ea81613841565b92915050565b60006020828403121561240657612405613275565b5b60006124148482850161232b565b91505092915050565b6000806040838503121561243457612433613275565b5b60006124428582860161232b565b92505060206124538582860161232b565b9150509250929050565b60008060006060848603121561247657612475613275565b5b60006124848682870161232b565b93505060206124958682870161232b565b92505060406124a6868287016123db565b9150509250925092565b600080600080608085870312156124ca576124c9613275565b5b60006124d88782880161232b565b94505060206124e98782880161232b565b93505060406124fa878288016123db565b925050606085013567ffffffffffffffff81111561251b5761251a613270565b5b6125278782880161237f565b91505092959194509250565b6000806040838503121561254a57612549613275565b5b60006125588582860161232b565b925050602061256985828601612340565b9150509250929050565b6000806040838503121561258a57612589613275565b5b60006125988582860161232b565b92505060206125a9858286016123db565b9150509250929050565b6000602082840312156125c9576125c8613275565b5b60006125d784828501612355565b91505092915050565b6000602082840312156125f6576125f5613275565b5b60006126048482850161236a565b91505092915050565b60006020828403121561262357612622613275565b5b600082013567ffffffffffffffff81111561264157612640613270565b5b61264d848285016123ad565b91505092915050565b60006020828403121561266c5761266b613275565b5b600061267a848285016123db565b91505092915050565b61268c81612fb9565b82525050565b61269b81612fcb565b82525050565b60006126ac82612ebb565b6126b68185612ed1565b93506126c681856020860161303c565b6126cf8161327a565b840191505092915050565b60006126e582612ec6565b6126ef8185612ee2565b93506126ff81856020860161303c565b6127088161327a565b840191505092915050565b600061271e82612ec6565b6127288185612ef3565b935061273881856020860161303c565b80840191505092915050565b600081546127518161306f565b61275b8186612ef3565b945060018216600081146127765760018114612787576127ba565b60ff198316865281860193506127ba565b61279085612ea6565b60005b838110156127b257815481890152600182019150602081019050612793565b838801955050505b50505092915050565b60006127d0602b83612ee2565b91506127db8261328b565b604082019050919050565b60006127f3603283612ee2565b91506127fe826132da565b604082019050919050565b6000612816602683612ee2565b915061282182613329565b604082019050919050565b6000612839601c83612ee2565b915061284482613378565b602082019050919050565b600061285c602483612ee2565b9150612867826133a1565b604082019050919050565b600061287f601983612ee2565b915061288a826133f0565b602082019050919050565b60006128a2602c83612ee2565b91506128ad82613419565b604082019050919050565b60006128c5603883612ee2565b91506128d082613468565b604082019050919050565b60006128e8602a83612ee2565b91506128f3826134b7565b604082019050919050565b600061290b602983612ee2565b915061291682613506565b604082019050919050565b600061292e602083612ee2565b915061293982613555565b602082019050919050565b6000612951602c83612ee2565b915061295c8261357e565b604082019050919050565b6000612974600583612ef3565b915061297f826135cd565b600582019050919050565b6000612997602083612ee2565b91506129a2826135f6565b602082019050919050565b60006129ba602983612ee2565b91506129c58261361f565b604082019050919050565b60006129dd602f83612ee2565b91506129e88261366e565b604082019050919050565b6000612a00601b83612ee2565b9150612a0b826136bd565b602082019050919050565b6000612a23602183612ee2565b9150612a2e826136e6565b604082019050919050565b6000612a46601f83612ee2565b9150612a5182613735565b602082019050919050565b6000612a69603183612ee2565b9150612a748261375e565b604082019050919050565b6000612a8c602c83612ee2565b9150612a97826137ad565b604082019050919050565b612aab81613023565b82525050565b6000612abd8285612744565b9150612ac98284612713565b9150612ad482612967565b91508190509392505050565b6000602082019050612af56000830184612683565b92915050565b6000608082019050612b106000830187612683565b612b1d6020830186612683565b612b2a6040830185612aa2565b8181036060830152612b3c81846126a1565b905095945050505050565b6000602082019050612b5c6000830184612692565b92915050565b60006020820190508181036000830152612b7c81846126da565b905092915050565b60006020820190508181036000830152612b9d816127c3565b9050919050565b60006020820190508181036000830152612bbd816127e6565b9050919050565b60006020820190508181036000830152612bdd81612809565b9050919050565b60006020820190508181036000830152612bfd8161282c565b9050919050565b60006020820190508181036000830152612c1d8161284f565b9050919050565b60006020820190508181036000830152612c3d81612872565b9050919050565b60006020820190508181036000830152612c5d81612895565b9050919050565b60006020820190508181036000830152612c7d816128b8565b9050919050565b60006020820190508181036000830152612c9d816128db565b9050919050565b60006020820190508181036000830152612cbd816128fe565b9050919050565b60006020820190508181036000830152612cdd81612921565b9050919050565b60006020820190508181036000830152612cfd81612944565b9050919050565b60006020820190508181036000830152612d1d8161298a565b9050919050565b60006020820190508181036000830152612d3d816129ad565b9050919050565b60006020820190508181036000830152612d5d816129d0565b9050919050565b60006020820190508181036000830152612d7d816129f3565b9050919050565b60006020820190508181036000830152612d9d81612a16565b9050919050565b60006020820190508181036000830152612dbd81612a39565b9050919050565b60006020820190508181036000830152612ddd81612a5c565b9050919050565b60006020820190508181036000830152612dfd81612a7f565b9050919050565b6000602082019050612e196000830184612aa2565b92915050565b6000612e29612e3a565b9050612e3582826130a1565b919050565b6000604051905090565b600067ffffffffffffffff821115612e5f57612e5e613237565b5b612e688261327a565b9050602081019050919050565b600067ffffffffffffffff821115612e9057612e8f613237565b5b612e998261327a565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000612f0982613023565b9150612f1483613023565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f4957612f4861314c565b5b828201905092915050565b6000612f5f82613023565b9150612f6a83613023565b925082612f7a57612f7961317b565b5b828204905092915050565b6000612f9082613023565b9150612f9b83613023565b925082821015612fae57612fad61314c565b5b828203905092915050565b6000612fc482613003565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561305a57808201518184015260208101905061303f565b83811115613069576000848401525b50505050565b6000600282049050600182168061308757607f821691505b6020821081141561309b5761309a6131aa565b5b50919050565b6130aa8261327a565b810181811067ffffffffffffffff821117156130c9576130c8613237565b5b80604052505050565b60006130dd82613023565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156131105761310f61314c565b5b600182019050919050565b600061312682613023565b915061313183613023565b9250826131415761314061317b565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f466163656c6573734e46543a206e6f7420617574686f72697a65640000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f466163656c6573734e46543a206d617820737570706c79207265616368656400600082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b61380581612fb9565b811461381057600080fd5b50565b61381c81612fcb565b811461382757600080fd5b50565b61383381612fd7565b811461383e57600080fd5b50565b61384a81613023565b811461385557600080fd5b5056fea2646970667358221220674914953c7727abb6597990d28327de0c3dbc9d481d90ba4b6c23a96777b3f264736f6c634300080700330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004568747470733a2f2f73746f726167656170692e666c65656b2e636f2f73616d757261692d7465616d2d6275636b65742f466163656c6573734e46542f6d657461646174612f000000000000000000000000000000000000000000000000000000