60a06040523480156200001157600080fd5b506040516200449038038062004490833981810160405281019062000037919062000377565b6040518060400160405280601781526020017f70696373206f72206974206469646e742068617070656e0000000000000000008152506040518060400160405280600881526020017f504f4944482056320000000000000000000000000000000000000000000000008152508160029081620000b491906200064d565b508060039081620000c691906200064d565b5050508173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506200010f83826200011860201b60201c565b5050506200084f565b62000128620002ba60201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff16111562000189576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200018090620007bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620001fb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001f2906200082d565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff168152506000808201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b6000612710905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002f682620002c9565b9050919050565b6200030881620002e9565b81146200031457600080fd5b50565b6000815190506200032881620002fd565b92915050565b60006bffffffffffffffffffffffff82169050919050565b62000351816200032e565b81146200035d57600080fd5b50565b600081519050620003718162000346565b92915050565b600080600060608486031215620003935762000392620002c4565b5b6000620003a38682870162000317565b9350506020620003b68682870162000317565b9250506040620003c98682870162000360565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200045557607f821691505b6020821081036200046b576200046a6200040d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004d57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000496565b620004e1868362000496565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200052e620005286200052284620004f9565b62000503565b620004f9565b9050919050565b6000819050919050565b6200054a836200050d565b62000562620005598262000535565b848454620004a3565b825550505050565b600090565b620005796200056a565b620005868184846200053f565b505050565b5b81811015620005ae57620005a26000826200056f565b6001810190506200058c565b5050565b601f821115620005fd57620005c78162000471565b620005d28462000486565b81016020851015620005e2578190505b620005fa620005f18562000486565b8301826200058b565b50505b505050565b600082821c905092915050565b6000620006226000198460080262000602565b1980831691505092915050565b60006200063d83836200060f565b9150826002028217905092915050565b6200065882620003d3565b67ffffffffffffffff811115620006745762000673620003de565b5b6200068082546200043c565b6200068d828285620005b2565b600060209050601f831160018114620006c55760008415620006b0578287015190505b620006bc85826200062f565b8655506200072c565b601f198416620006d58662000471565b60005b82811015620006ff57848901518255600182019150602085019450602081019050620006d8565b868310156200071f57848901516200071b601f8916826200060f565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b6000620007a3602a8362000734565b9150620007b08262000745565b604082019050919050565b60006020820190508181036000830152620007d68162000794565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b60006200081560198362000734565b91506200082282620007dd565b602082019050919050565b60006020820190508181036000830152620008488162000806565b9050919050565b608051613c1e62000872600039600081816109ce0152610d690152613c1e6000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806342842e0e116100c3578063a22cb4651161007c578063a22cb465146103e9578063a366d8fa14610405578063b88d4fde14610423578063c87b56dd1461043f578063d3fc98641461046f578063e985e9c51461048b5761014d565b806342842e0e146103035780634f6ccce71461031f5780636352211e1461034f57806370a082311461037f57806376b82a91146103af57806395d89b41146103cb5761014d565b806318160ddd1161011557806318160ddd1461021c57806323b872dd1461023a5780632a55205a146102565780632f745c59146102875780633be2919b146102b75780633c0725a0146102d35761014d565b806301ffc9a71461015257806306fdde0314610182578063081812fc146101a0578063095ea7b3146101d0578063150b7a02146101ec575b600080fd5b61016c60048036038101906101679190612659565b6104bb565b60405161017991906126a1565b60405180910390f35b61018a6104cd565b604051610197919061274c565b60405180910390f35b6101ba60048036038101906101b591906127a4565b61055f565b6040516101c79190612812565b60405180910390f35b6101ea60048036038101906101e59190612859565b6105a5565b005b610206600480360381019061020191906129ce565b6106bc565b6040516102139190612a60565b60405180910390f35b6102246106d0565b6040516102319190612a8a565b60405180910390f35b610254600480360381019061024f9190612aa5565b6106dd565b005b610270600480360381019061026b9190612af8565b61073d565b60405161027e929190612b38565b60405180910390f35b6102a1600480360381019061029c9190612859565b610927565b6040516102ae9190612a8a565b60405180910390f35b6102d160048036038101906102cc9190612b8d565b6109cc565b005b6102ed60048036038101906102e89190612bcd565b610abf565b6040516102fa91906126a1565b60405180910390f35b61031d60048036038101906103189190612aa5565b610adf565b005b610339600480360381019061033491906127a4565b610aff565b6040516103469190612a8a565b60405180910390f35b610369600480360381019061036491906127a4565b610b70565b6040516103769190612812565b60405180910390f35b61039960048036038101906103949190612bcd565b610bf6565b6040516103a69190612a8a565b60405180910390f35b6103c960048036038101906103c491906129ce565b610cad565b005b6103d3610cbf565b6040516103e0919061274c565b60405180910390f35b61040360048036038101906103fe9190612b8d565b610d51565b005b61040d610d67565b60405161041a9190612812565b60405180910390f35b61043d600480360381019061043891906129ce565b610d8b565b005b610459600480360381019061045491906127a4565b610ded565b604051610466919061274c565b60405180910390f35b61048960048036038101906104849190612c9b565b610dff565b005b6104a560048036038101906104a09190612d0a565b610ea4565b6040516104b291906126a1565b60405180910390f35b60006104c682610f38565b9050919050565b6060600280546104dc90612d79565b80601f016020809104026020016040519081016040528092919081815260200182805461050890612d79565b80156105555780601f1061052a57610100808354040283529160200191610555565b820191906000526020600020905b81548152906001019060200180831161053857829003601f168201915b5050505050905090565b600061056a82610f4a565b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006105b082610b70565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610620576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061790612e1c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661063f610f95565b73ffffffffffffffffffffffffffffffffffffffff16148061066e575061066d81610668610f95565b610ea4565b5b6106ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a490612eae565b60405180910390fd5b6106b78383610f9d565b505050565b600063150b7a0260e01b9050949350505050565b6000600a80549050905090565b6106ee6106e8610f95565b82611056565b61072d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072490612f40565b60405180910390fd5b6107388383836110eb565b505050565b6000806000600160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16036108d25760006040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b60006108dc6113e4565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff16866109089190612f8f565b6109129190613000565b90508160000151819350935050509250929050565b600061093283610bf6565b8210610973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096a906130a3565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5190613135565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610abb8282610d51565b5050565b600d6020528060005260406000206000915054906101000a900460ff1681565b610afa83838360405180602001604052806000815250610d8b565b505050565b6000610b096106d0565b8210610b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b41906131c7565b60405180910390fd5b600a8281548110610b5e57610b5d6131e7565b5b90600052602060002001549050919050565b600080610b7c836113ee565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be490613262565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5d906132f4565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cb98484848461142b565b50505050565b606060038054610cce90612d79565b80601f0160208091040260200160405190810160405280929190818152602001828054610cfa90612d79565b8015610d475780601f10610d1c57610100808354040283529160200191610d47565b820191906000526020600020905b815481529060010190602001808311610d2a57829003601f168201915b5050505050905090565b610d63610d5c610f95565b8383611487565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610d9c610d96610f95565b83611056565b610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290612f40565b60405180910390fd5b610de78484848461142b565b50505050565b6060610df8826115f3565b9050919050565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8290613386565b60405180910390fd5b610e958383611705565b610e9f8282611723565b505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610f43826117c7565b9050919050565b610f5381611828565b610f92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8990613262565b60405180910390fd5b50565b600033905090565b816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661101083610b70565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061106283610b70565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806110a457506110a38185610ea4565b5b806110e257508373ffffffffffffffffffffffffffffffffffffffff166110ca8461055f565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661110b82610b70565b73ffffffffffffffffffffffffffffffffffffffff1614611161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115890613418565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c7906134aa565b60405180910390fd5b6111dd8383836001611869565b8273ffffffffffffffffffffffffffffffffffffffff166111fd82610b70565b73ffffffffffffffffffffffffffffffffffffffff1614611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a90613418565b60405180910390fd5b6006600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46113df838383600161187b565b505050565b6000612710905090565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6114368484846110eb565b61144284848484611881565b611481576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114789061353c565b60405180910390fd5b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ec906135a8565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115e691906126a1565b60405180910390a3505050565b60606115fe82610f4a565b6000600c6000848152602001908152602001600020805461161e90612d79565b80601f016020809104026020016040519081016040528092919081815260200182805461164a90612d79565b80156116975780601f1061166c57610100808354040283529160200191611697565b820191906000526020600020905b81548152906001019060200180831161167a57829003601f168201915b5050505050905060006116a8611a08565b905060008151036116bd578192505050611700565b6000825111156116f25780826040516020016116da929190613604565b60405160208183030381529060405292505050611700565b6116fb84611a1f565b925050505b919050565b61171f828260405180602001604052806000815250611a87565b5050565b61172c82611828565b61176b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117629061369a565b60405180910390fd5b80600c6000848152602001908152602001600020908161178b9190613866565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516117bb9190612a8a565b60405180910390a15050565b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611821575061182082611ae2565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661184a836113ee565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b61187584848484611b5c565b50505050565b50505050565b60006118a28473ffffffffffffffffffffffffffffffffffffffff16611cba565b156119fb578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026118cb610f95565b8786866040518563ffffffff1660e01b81526004016118ed949392919061398d565b6020604051808303816000875af192505050801561192957506040513d601f19601f8201168201806040525081019061192691906139ee565b60015b6119ab573d8060008114611959576040519150601f19603f3d011682016040523d82523d6000602084013e61195e565b606091505b5060008151036119a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199a9061353c565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611a00565b600190505b949350505050565b606060405180602001604052806000815250905090565b6060611a2a82610f4a565b6000611a34611a08565b90506000815111611a545760405180602001604052806000815250611a7f565b80611a5e84611cdd565b604051602001611a6f929190613604565b6040516020818303038152906040525b915050919050565b611a918383611dab565b611a9e6000848484611881565b611add576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad49061353c565b60405180910390fd5b505050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b555750611b5482611fc8565b5b9050919050565b611b68848484846120aa565b6001811115611bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba390613a8d565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611bf357611bee816120b0565b611c32565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611c3157611c3085826120f9565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611c7457611c6f81612266565b611cb3565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611cb257611cb18482612337565b5b5b5050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606060006001611cec846123b6565b01905060008167ffffffffffffffff811115611d0b57611d0a6128a3565b5b6040519080825280601f01601f191660200182016040528015611d3d5781602001600182028036833780820191505090505b509050600082602001820190505b600115611da0578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611d9457611d93612fd1565b5b04945060008503611d4b575b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1190613af9565b60405180910390fd5b611e2381611828565b15611e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5a90613b65565b60405180910390fd5b611e71600083836001611869565b611e7a81611828565b15611eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb190613b65565b60405180910390fd5b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611fc460008383600161187b565b5050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061209357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806120a357506120a282612509565b5b9050919050565b50505050565b600a80549050600b600083815260200190815260200160002081905550600a81908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161210684610bf6565b6121109190613b85565b90506000600960008481526020019081526020016000205490508181146121f5576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816009600083815260200190815260200160002081905550505b6009600084815260200190815260200160002060009055600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600a8054905061227a9190613b85565b90506000600b60008481526020019081526020016000205490506000600a83815481106122aa576122a96131e7565b5b9060005260206000200154905080600a83815481106122cc576122cb6131e7565b5b906000526020600020018190555081600b600083815260200190815260200160002081905550600b600085815260200190815260200160002060009055600a80548061231b5761231a613bb9565b5b6001900381819060005260206000200160009055905550505050565b600061234283610bf6565b905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806009600084815260200190815260200160002081905550505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612414577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161240a57612409612fd1565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612451576d04ee2d6d415b85acef8100000000838161244757612446612fd1565b5b0492506020810190505b662386f26fc10000831061248057662386f26fc10000838161247657612475612fd1565b5b0492506010810190505b6305f5e10083106124a9576305f5e100838161249f5761249e612fd1565b5b0492506008810190505b61271083106124ce5761271083816124c4576124c3612fd1565b5b0492506004810190505b606483106124f157606483816124e7576124e6612fd1565b5b0492506002810190505b600a8310612500576001810190505b80915050919050565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061257c575061257b82612583565b5b9050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61263681612601565b811461264157600080fd5b50565b6000813590506126538161262d565b92915050565b60006020828403121561266f5761266e6125f7565b5b600061267d84828501612644565b91505092915050565b60008115159050919050565b61269b81612686565b82525050565b60006020820190506126b66000830184612692565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126f65780820151818401526020810190506126db565b60008484015250505050565b6000601f19601f8301169050919050565b600061271e826126bc565b61272881856126c7565b93506127388185602086016126d8565b61274181612702565b840191505092915050565b600060208201905081810360008301526127668184612713565b905092915050565b6000819050919050565b6127818161276e565b811461278c57600080fd5b50565b60008135905061279e81612778565b92915050565b6000602082840312156127ba576127b96125f7565b5b60006127c88482850161278f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127fc826127d1565b9050919050565b61280c816127f1565b82525050565b60006020820190506128276000830184612803565b92915050565b612836816127f1565b811461284157600080fd5b50565b6000813590506128538161282d565b92915050565b600080604083850312156128705761286f6125f7565b5b600061287e85828601612844565b925050602061288f8582860161278f565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128db82612702565b810181811067ffffffffffffffff821117156128fa576128f96128a3565b5b80604052505050565b600061290d6125ed565b905061291982826128d2565b919050565b600067ffffffffffffffff821115612939576129386128a3565b5b61294282612702565b9050602081019050919050565b82818337600083830152505050565b600061297161296c8461291e565b612903565b90508281526020810184848401111561298d5761298c61289e565b5b61299884828561294f565b509392505050565b600082601f8301126129b5576129b4612899565b5b81356129c584826020860161295e565b91505092915050565b600080600080608085870312156129e8576129e76125f7565b5b60006129f687828801612844565b9450506020612a0787828801612844565b9350506040612a188782880161278f565b925050606085013567ffffffffffffffff811115612a3957612a386125fc565b5b612a45878288016129a0565b91505092959194509250565b612a5a81612601565b82525050565b6000602082019050612a756000830184612a51565b92915050565b612a848161276e565b82525050565b6000602082019050612a9f6000830184612a7b565b92915050565b600080600060608486031215612abe57612abd6125f7565b5b6000612acc86828701612844565b9350506020612add86828701612844565b9250506040612aee8682870161278f565b9150509250925092565b60008060408385031215612b0f57612b0e6125f7565b5b6000612b1d8582860161278f565b9250506020612b2e8582860161278f565b9150509250929050565b6000604082019050612b4d6000830185612803565b612b5a6020830184612a7b565b9392505050565b612b6a81612686565b8114612b7557600080fd5b50565b600081359050612b8781612b61565b92915050565b60008060408385031215612ba457612ba36125f7565b5b6000612bb285828601612844565b9250506020612bc385828601612b78565b9150509250929050565b600060208284031215612be357612be26125f7565b5b6000612bf184828501612844565b91505092915050565b600067ffffffffffffffff821115612c1557612c146128a3565b5b612c1e82612702565b9050602081019050919050565b6000612c3e612c3984612bfa565b612903565b905082815260208101848484011115612c5a57612c5961289e565b5b612c6584828561294f565b509392505050565b600082601f830112612c8257612c81612899565b5b8135612c92848260208601612c2b565b91505092915050565b600080600060608486031215612cb457612cb36125f7565b5b6000612cc286828701612844565b9350506020612cd38682870161278f565b925050604084013567ffffffffffffffff811115612cf457612cf36125fc565b5b612d0086828701612c6d565b9150509250925092565b60008060408385031215612d2157612d206125f7565b5b6000612d2f85828601612844565b9250506020612d4085828601612844565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d9157607f821691505b602082108103612da457612da3612d4a565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e066021836126c7565b9150612e1182612daa565b604082019050919050565b60006020820190508181036000830152612e3581612df9565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612e98603d836126c7565b9150612ea382612e3c565b604082019050919050565b60006020820190508181036000830152612ec781612e8b565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612f2a602d836126c7565b9150612f3582612ece565b604082019050919050565b60006020820190508181036000830152612f5981612f1d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f9a8261276e565b9150612fa58361276e565b9250828202612fb38161276e565b91508282048414831517612fca57612fc9612f60565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061300b8261276e565b91506130168361276e565b92508261302657613025612fd1565b5b828204905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b600061308d602b836126c7565b915061309882613031565b604082019050919050565b600060208201905081810360008301526130bc81613080565b9050919050565b7f6f6e6c7920706f6964685632417574686f726974792063616e2073657420706f60008201527f69646820636f6e74726163747300000000000000000000000000000000000000602082015250565b600061311f602d836126c7565b915061312a826130c3565b604082019050919050565b6000602082019050818103600083015261314e81613112565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006131b1602c836126c7565b91506131bc82613155565b604082019050919050565b600060208201905081810360008301526131e0816131a4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061324c6018836126c7565b915061325782613216565b602082019050919050565b6000602082019050818103600083015261327b8161323f565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006132de6029836126c7565b91506132e982613282565b604082019050919050565b6000602082019050818103600083015261330d816132d1565b9050919050565b7f6f6e6c7920617574686f72697a656420706f69646820636f6e7472616374732060008201527f63616e206d696e74000000000000000000000000000000000000000000000000602082015250565b60006133706028836126c7565b915061337b82613314565b604082019050919050565b6000602082019050818103600083015261339f81613363565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006134026025836126c7565b915061340d826133a6565b604082019050919050565b60006020820190508181036000830152613431816133f5565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006134946024836126c7565b915061349f82613438565b604082019050919050565b600060208201905081810360008301526134c381613487565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006135266032836126c7565b9150613531826134ca565b604082019050919050565b6000602082019050818103600083015261355581613519565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006135926019836126c7565b915061359d8261355c565b602082019050919050565b600060208201905081810360008301526135c181613585565b9050919050565b600081905092915050565b60006135de826126bc565b6135e881856135c8565b93506135f88185602086016126d8565b80840191505092915050565b600061361082856135d3565b915061361c82846135d3565b91508190509392505050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000613684602e836126c7565b915061368f82613628565b604082019050919050565b600060208201905081810360008301526136b381613677565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261371c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826136df565b61372686836136df565b95508019841693508086168417925050509392505050565b6000819050919050565b600061376361375e6137598461276e565b61373e565b61276e565b9050919050565b6000819050919050565b61377d83613748565b6137916137898261376a565b8484546136ec565b825550505050565b600090565b6137a6613799565b6137b1818484613774565b505050565b5b818110156137d5576137ca60008261379e565b6001810190506137b7565b5050565b601f82111561381a576137eb816136ba565b6137f4846136cf565b81016020851015613803578190505b61381761380f856136cf565b8301826137b6565b50505b505050565b600082821c905092915050565b600061383d6000198460080261381f565b1980831691505092915050565b6000613856838361382c565b9150826002028217905092915050565b61386f826126bc565b67ffffffffffffffff811115613888576138876128a3565b5b6138928254612d79565b61389d8282856137d9565b600060209050601f8311600181146138d057600084156138be578287015190505b6138c8858261384a565b865550613930565b601f1984166138de866136ba565b60005b82811015613906578489015182556001820191506020850194506020810190506138e1565b86831015613923578489015161391f601f89168261382c565b8355505b6001600288020188555050505b505050505050565b600081519050919050565b600082825260208201905092915050565b600061395f82613938565b6139698185613943565b93506139798185602086016126d8565b61398281612702565b840191505092915050565b60006080820190506139a26000830187612803565b6139af6020830186612803565b6139bc6040830185612a7b565b81810360608301526139ce8184613954565b905095945050505050565b6000815190506139e88161262d565b92915050565b600060208284031215613a0457613a036125f7565b5b6000613a12848285016139d9565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000613a776035836126c7565b9150613a8282613a1b565b604082019050919050565b60006020820190508181036000830152613aa681613a6a565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613ae36020836126c7565b9150613aee82613aad565b602082019050919050565b60006020820190508181036000830152613b1281613ad6565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613b4f601c836126c7565b9150613b5a82613b19565b602082019050919050565b60006020820190508181036000830152613b7e81613b42565b9050919050565b6000613b908261276e565b9150613b9b8361276e565b9250828203905081811115613bb357613bb2612f60565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220fdfe661d2c323b7dd34352b40606bc291afe94bc312876a094529de712a27b7264736f6c63430008130033000000000000000000000000da0fc970cba6f541ba39276a46e1118aceba391600000000000000000000000010b98383763b6f1b76fd61591c29efb1aed0d57200000000000000000000000000000000000000000000000000000000000001f4