0x60806040523480156200001157600080fd5b506040518060400160405280600781526020017f42617365657231000000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f427300000000000000000000000000000000000000000000000000000000000081525081600090816200008f91906200042d565b508060019081620000a191906200042d565b5050506000600a60006101000a81548160ff021916908315150217905550620000df620000d3620000e560201b60201c565b620000ed60201b60201c565b62000514565b600033905090565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200023557607f821691505b6020821081036200024b576200024a620001ed565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000276565b620002c1868362000276565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200030e620003086200030284620002d9565b620002e3565b620002d9565b9050919050565b6000819050919050565b6200032a83620002ed565b62000342620003398262000315565b84845462000283565b825550505050565b600090565b620003596200034a565b620003668184846200031f565b505050565b5b818110156200038e57620003826000826200034f565b6001810190506200036c565b5050565b601f821115620003dd57620003a78162000251565b620003b28462000266565b81016020851015620003c2578190505b620003da620003d18562000266565b8301826200036b565b50505b505050565b600082821c905092915050565b60006200040260001984600802620003e2565b1980831691505092915050565b60006200041d8383620003ef565b9150826002028217905092915050565b6200043882620001b3565b67ffffffffffffffff811115620004545762000453620001be565b5b6200046082546200021c565b6200046d82828562000392565b600060209050601f831160018114620004a5576000841562000490578287015190505b6200049c85826200040f565b8655506200050c565b601f198416620004b58662000251565b60005b82811015620004df57848901518255600182019150602085019450602081019050620004b8565b86831015620004ff5784890151620004fb601f891682620003ef565b8355505b6001600288020188555050505b505050505050565b61344580620005246000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80636352211e116100c3578063a14481941161007c578063a14481941461037a578063a22cb46514610396578063b88d4fde146103b2578063c87b56dd146103ce578063e985e9c5146103fe578063f2fde38b1461042e5761014d565b80636352211e146102ca57806370a08231146102fa578063715018a61461032a5780638456cb59146103345780638da5cb5b1461033e57806395d89b411461035c5761014d565b806323b872dd1161011557806323b872dd1461020a5780632f745c59146102265780633f4ba83a1461025657806342842e0e146102605780634f6ccce71461027c5780635c975abb146102ac5761014d565b806301ffc9a71461015257806306fdde0314610182578063081812fc146101a0578063095ea7b3146101d057806318160ddd146101ec575b600080fd5b61016c600480360381019061016791906122f4565b61044a565b604051610179919061233c565b60405180910390f35b61018a61045c565b60405161019791906123e7565b60405180910390f35b6101ba60048036038101906101b5919061243f565b6104ee565b6040516101c791906124ad565b60405180910390f35b6101ea60048036038101906101e591906124f4565b610534565b005b6101f461064b565b6040516102019190612543565b60405180910390f35b610224600480360381019061021f919061255e565b610658565b005b610240600480360381019061023b91906124f4565b6106b8565b60405161024d9190612543565b60405180910390f35b61025e61075d565b005b61027a6004803603810190610275919061255e565b61076f565b005b6102966004803603810190610291919061243f565b61078f565b6040516102a39190612543565b60405180910390f35b6102b4610800565b6040516102c1919061233c565b60405180910390f35b6102e460048036038101906102df919061243f565b610817565b6040516102f191906124ad565b60405180910390f35b610314600480360381019061030f91906125b1565b61089d565b6040516103219190612543565b60405180910390f35b610332610954565b005b61033c610968565b005b61034661097a565b60405161035391906124ad565b60405180910390f35b6103646109a4565b60405161037191906123e7565b60405180910390f35b610394600480360381019061038f91906124f4565b610a36565b005b6103b060048036038101906103ab919061260a565b610a4c565b005b6103cc60048036038101906103c7919061277f565b610a62565b005b6103e860048036038101906103e3919061243f565b610ac4565b6040516103f591906123e7565b60405180910390f35b61041860048036038101906104139190612802565b610b2c565b604051610425919061233c565b60405180910390f35b610448600480360381019061044391906125b1565b610bc0565b005b600061045582610c43565b9050919050565b60606000805461046b90612871565b80601f016020809104026020016040519081016040528092919081815260200182805461049790612871565b80156104e45780601f106104b9576101008083540402835291602001916104e4565b820191906000526020600020905b8154815290600101906020018083116104c757829003601f168201915b5050505050905090565b60006104f982610cbd565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061053f82610817565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a690612914565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166105ce610d08565b73ffffffffffffffffffffffffffffffffffffffff1614806105fd57506105fc816105f7610d08565b610b2c565b5b61063c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610633906129a6565b60405180910390fd5b6106468383610d10565b505050565b6000600880549050905090565b610669610663610d08565b82610dc9565b6106a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069f90612a38565b60405180910390fd5b6106b3838383610e5e565b505050565b60006106c38361089d565b8210610704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fb90612aca565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610765611157565b61076d6111d5565b565b61078a83838360405180602001604052806000815250610a62565b505050565b600061079961064b565b82106107da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d190612b5c565b60405180910390fd5b600882815481106107ee576107ed612b7c565b5b90600052602060002001549050919050565b6000600a60009054906101000a900460ff16905090565b60008061082383611238565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088b90612bf7565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361090d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090490612c89565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61095c611157565b6109666000611275565b565b610970611157565b61097861133b565b565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546109b390612871565b80601f01602080910402602001604051908101604052809291908181526020018280546109df90612871565b8015610a2c5780601f10610a0157610100808354040283529160200191610a2c565b820191906000526020600020905b815481529060010190602001808311610a0f57829003601f168201915b5050505050905090565b610a3e611157565b610a48828261139e565b5050565b610a5e610a57610d08565b83836113bc565b5050565b610a73610a6d610d08565b83610dc9565b610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa990612a38565b60405180910390fd5b610abe84848484611528565b50505050565b6060610acf82610cbd565b6000610ad9611584565b90506000815111610af95760405180602001604052806000815250610b24565b80610b038461159b565b604051602001610b14929190612ce5565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610bc8611157565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2e90612d7b565b60405180910390fd5b610c4081611275565b50565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cb65750610cb582611669565b5b9050919050565b610cc68161174b565b610d05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfc90612bf7565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610d8383610817565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610dd583610817565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610e175750610e168185610b2c565b5b80610e5557508373ffffffffffffffffffffffffffffffffffffffff16610e3d846104ee565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610e7e82610817565b73ffffffffffffffffffffffffffffffffffffffff1614610ed4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecb90612e0d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3a90612e9f565b60405180910390fd5b610f50838383600161178c565b8273ffffffffffffffffffffffffffffffffffffffff16610f7082610817565b73ffffffffffffffffffffffffffffffffffffffff1614610fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbd90612e0d565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461115283838360016117a6565b505050565b61115f610d08565b73ffffffffffffffffffffffffffffffffffffffff1661117d61097a565b73ffffffffffffffffffffffffffffffffffffffff16146111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca90612f0b565b60405180910390fd5b565b6111dd6117ac565b6000600a60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611221610d08565b60405161122e91906124ad565b60405180910390a1565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6113436117f5565b6001600a60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611387610d08565b60405161139491906124ad565b60405180910390a1565b6113b882826040518060200160405280600081525061183f565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361142a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142190612f77565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161151b919061233c565b60405180910390a3505050565b611533848484610e5e565b61153f8484848461189a565b61157e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157590613009565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b6060600060016115aa84611a21565b01905060008167ffffffffffffffff8111156115c9576115c8612654565b5b6040519080825280601f01601f1916602001820160405280156115fb5781602001600182028036833780820191505090505b509050600082602001820190505b60011561165e578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161165257611651613029565b5b04945060008503611609575b819350505050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061173457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611744575061174382611b74565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661176d83611238565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6117946117f5565b6117a084848484611bde565b50505050565b50505050565b6117b4610800565b6117f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ea906130a4565b60405180910390fd5b565b6117fd610800565b1561183d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183490613110565b60405180910390fd5b565b6118498383611d3c565b611856600084848461189a565b611895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188c90613009565b60405180910390fd5b505050565b60006118bb8473ffffffffffffffffffffffffffffffffffffffff16611f59565b15611a14578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026118e4610d08565b8786866040518563ffffffff1660e01b81526004016119069493929190613185565b6020604051808303816000875af192505050801561194257506040513d601f19601f8201168201806040525081019061193f91906131e6565b60015b6119c4573d8060008114611972576040519150601f19603f3d011682016040523d82523d6000602084013e611977565b606091505b5060008151036119bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b390613009565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611a19565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611a7f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611a7557611a74613029565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611abc576d04ee2d6d415b85acef81000000008381611ab257611ab1613029565b5b0492506020810190505b662386f26fc100008310611aeb57662386f26fc100008381611ae157611ae0613029565b5b0492506010810190505b6305f5e1008310611b14576305f5e1008381611b0a57611b09613029565b5b0492506008810190505b6127108310611b39576127108381611b2f57611b2e613029565b5b0492506004810190505b60648310611b5c5760648381611b5257611b51613029565b5b0492506002810190505b600a8310611b6b576001810190505b80915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611bea84848484611f7c565b6001811115611c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2590613285565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611c7557611c7081611f82565b611cb4565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611cb357611cb28582611fcb565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611cf657611cf181612138565b611d35565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611d3457611d338482612209565b5b5b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da2906132f1565b60405180910390fd5b611db48161174b565b15611df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611deb9061335d565b60405180910390fd5b611e0260008383600161178c565b611e0b8161174b565b15611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e429061335d565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611f556000838360016117a6565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001611fd88461089d565b611fe291906133ac565b90506000600760008481526020019081526020016000205490508181146120c7576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061214c91906133ac565b905060006009600084815260200190815260200160002054905060006008838154811061217c5761217b612b7c565b5b90600052602060002001549050806008838154811061219e5761219d612b7c565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806121ed576121ec6133e0565b5b6001900381819060005260206000200160009055905550505050565b60006122148361089d565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6122d18161229c565b81146122dc57600080fd5b50565b6000813590506122ee816122c8565b92915050565b60006020828403121561230a57612309612292565b5b6000612318848285016122df565b91505092915050565b60008115159050919050565b61233681612321565b82525050565b6000602082019050612351600083018461232d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612391578082015181840152602081019050612376565b60008484015250505050565b6000601f19601f8301169050919050565b60006123b982612357565b6123c38185612362565b93506123d3818560208601612373565b6123dc8161239d565b840191505092915050565b6000602082019050818103600083015261240181846123ae565b905092915050565b6000819050919050565b61241c81612409565b811461242757600080fd5b50565b60008135905061243981612413565b92915050565b60006020828403121561245557612454612292565b5b60006124638482850161242a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124978261246c565b9050919050565b6124a78161248c565b82525050565b60006020820190506124c2600083018461249e565b92915050565b6124d18161248c565b81146124dc57600080fd5b50565b6000813590506124ee816124c8565b92915050565b6000806040838503121561250b5761250a612292565b5b6000612519858286016124df565b925050602061252a8582860161242a565b9150509250929050565b61253d81612409565b82525050565b60006020820190506125586000830184612534565b92915050565b60008060006060848603121561257757612576612292565b5b6000612585868287016124df565b9350506020612596868287016124df565b92505060406125a78682870161242a565b9150509250925092565b6000602082840312156125c7576125c6612292565b5b60006125d5848285016124df565b91505092915050565b6125e781612321565b81146125f257600080fd5b50565b600081359050612604816125de565b92915050565b6000806040838503121561262157612620612292565b5b600061262f858286016124df565b9250506020612640858286016125f5565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61268c8261239d565b810181811067ffffffffffffffff821117156126ab576126aa612654565b5b80604052505050565b60006126be612288565b90506126ca8282612683565b919050565b600067ffffffffffffffff8211156126ea576126e9612654565b5b6126f38261239d565b9050602081019050919050565b82818337600083830152505050565b600061272261271d846126cf565b6126b4565b90508281526020810184848401111561273e5761273d61264f565b5b612749848285612700565b509392505050565b600082601f8301126127665761276561264a565b5b813561277684826020860161270f565b91505092915050565b6000806000806080858703121561279957612798612292565b5b60006127a7878288016124df565b94505060206127b8878288016124df565b93505060406127c98782880161242a565b925050606085013567ffffffffffffffff8111156127ea576127e9612297565b5b6127f687828801612751565b91505092959194509250565b6000806040838503121561281957612818612292565b5b6000612827858286016124df565b9250506020612838858286016124df565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061288957607f821691505b60208210810361289c5761289b612842565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006128fe602183612362565b9150612909826128a2565b604082019050919050565b6000602082019050818103600083015261292d816128f1565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612990603d83612362565b915061299b82612934565b604082019050919050565b600060208201905081810360008301526129bf81612983565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612a22602d83612362565b9150612a2d826129c6565b604082019050919050565b60006020820190508181036000830152612a5181612a15565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000612ab4602b83612362565b9150612abf82612a58565b604082019050919050565b60006020820190508181036000830152612ae381612aa7565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000612b46602c83612362565b9150612b5182612aea565b604082019050919050565b60006020820190508181036000830152612b7581612b39565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000612be1601883612362565b9150612bec82612bab565b602082019050919050565b60006020820190508181036000830152612c1081612bd4565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000612c73602983612362565b9150612c7e82612c17565b604082019050919050565b60006020820190508181036000830152612ca281612c66565b9050919050565b600081905092915050565b6000612cbf82612357565b612cc98185612ca9565b9350612cd9818560208601612373565b80840191505092915050565b6000612cf18285612cb4565b9150612cfd8284612cb4565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612d65602683612362565b9150612d7082612d09565b604082019050919050565b60006020820190508181036000830152612d9481612d58565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000612df7602583612362565b9150612e0282612d9b565b604082019050919050565b60006020820190508181036000830152612e2681612dea565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612e89602483612362565b9150612e9482612e2d565b604082019050919050565b60006020820190508181036000830152612eb881612e7c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ef5602083612362565b9150612f0082612ebf565b602082019050919050565b60006020820190508181036000830152612f2481612ee8565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000612f61601983612362565b9150612f6c82612f2b565b602082019050919050565b60006020820190508181036000830152612f9081612f54565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000612ff3603283612362565b9150612ffe82612f97565b604082019050919050565b6000602082019050818103600083015261302281612fe6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061308e601483612362565b915061309982613058565b602082019050919050565b600060208201905081810360008301526130bd81613081565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006130fa601083612362565b9150613105826130c4565b602082019050919050565b60006020820190508181036000830152613129816130ed565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061315782613130565b613161818561313b565b9350613171818560208601612373565b61317a8161239d565b840191505092915050565b600060808201905061319a600083018761249e565b6131a7602083018661249e565b6131b46040830185612534565b81810360608301526131c6818461314c565b905095945050505050565b6000815190506131e0816122c8565b92915050565b6000602082840312156131fc576131fb612292565b5b600061320a848285016131d1565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b600061326f603583612362565b915061327a82613213565b604082019050919050565b6000602082019050818103600083015261329e81613262565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006132db602083612362565b91506132e6826132a5565b602082019050919050565b6000602082019050818103600083015261330a816132ce565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613347601c83612362565b915061335282613311565b602082019050919050565b600060208201905081810360008301526133768161333a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006133b782612409565b91506133c283612409565b92508282039050818111156133da576133d961337d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122025bdee916b43af6ca28873fe70ecbf2841ced1130fc139b64d34d26714fae6ed64736f6c63430008120033