60806040523480156200001157600080fd5b506040516200380138038062003801833981810160405281019062000037919062000428565b6040518060400160405280600b81526020017f50616e645020546f6b656e0000000000000000000000000000000000000000008152506040518060400160405280600381526020017f50505400000000000000000000000000000000000000000000000000000000008152508160039081620000b49190620006ca565b508060049081620000c69190620006ca565b505050620000db33826200012b60201b60201c565b33600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160068190555050620008e8565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620001a05760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620001979190620007f6565b60405180910390fd5b620001b460008383620001b860201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200020e57806002600082825462000201919062000842565b92505081905550620002e4565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156200029d578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040162000294939291906200088e565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200032f57806002600082825403925050819055506200037c565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003db9190620008cb565b60405180910390a3505050565b600080fd5b6000819050919050565b6200040281620003ed565b81146200040e57600080fd5b50565b6000815190506200042281620003f7565b92915050565b600060208284031215620004415762000440620003e8565b5b6000620004518482850162000411565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004dc57607f821691505b602082108103620004f257620004f162000494565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200055c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200051d565b6200056886836200051d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620005ab620005a56200059f84620003ed565b62000580565b620003ed565b9050919050565b6000819050919050565b620005c7836200058a565b620005df620005d682620005b2565b8484546200052a565b825550505050565b600090565b620005f6620005e7565b62000603818484620005bc565b505050565b5b818110156200062b576200061f600082620005ec565b60018101905062000609565b5050565b601f8211156200067a576200064481620004f8565b6200064f846200050d565b810160208510156200065f578190505b620006776200066e856200050d565b83018262000608565b50505b505050565b600082821c905092915050565b60006200069f600019846008026200067f565b1980831691505092915050565b6000620006ba83836200068c565b9150826002028217905092915050565b620006d5826200045a565b67ffffffffffffffff811115620006f157620006f062000465565b5b620006fd8254620004c3565b6200070a8282856200062f565b600060209050601f8311600181146200074257600084156200072d578287015190505b620007398582620006ac565b865550620007a9565b601f1984166200075286620004f8565b60005b828110156200077c5784890151825560018201915060208501945060208101905062000755565b868310156200079c578489015162000798601f8916826200068c565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007de82620007b1565b9050919050565b620007f081620007d1565b82525050565b60006020820190506200080d6000830184620007e5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200084f82620003ed565b91506200085c83620003ed565b925082820190508082111562000877576200087662000813565b5b92915050565b6200088881620003ed565b82525050565b6000606082019050620008a56000830186620007e5565b620008b460208301856200087d565b620008c360408301846200087d565b949350505050565b6000602082019050620008e260008301846200087d565b92915050565b612f0980620008f86000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806350867766116100de578063c2e0ce0b11610097578063ea6d685d11610071578063ea6d685d146104d6578063ecb9fec3146104f2578063f8f254621461050e578063fc6f94681461052c57610173565b8063c2e0ce0b1461045a578063dd62ed3e14610476578063e32e723c146104a657610173565b8063508677661461034957806370a082311461037957806386854df9146103a957806395d89b41146103d95780639a013602146103f7578063a9059cbb1461042a57610173565b80632177fa3b116101305780632177fa3b1461026357806323b872dd1461027f5780632fa9c007146102af578063313ce567146102df5780633bb3a24d146102fd57806340c10f191461032d57610173565b8063033ec1191461017857806306fdde03146101a8578063095ea7b3146101c6578063107046bd146101f657806314b1d1d41461022957806318160ddd14610245575b600080fd5b610192600480360381019061018d9190611eb7565b61054a565b60405161019f9190612010565b60405180910390f35b6101b061065c565b6040516101bd91906120c2565b60405180910390f35b6101e060048036038101906101db9190612110565b6106ee565b6040516101ed919061216b565b60405180910390f35b610210600480360381019061020b9190612186565b610711565b60405161022094939291906121d1565b60405180910390f35b610243600480360381019061023e9190612186565b610871565b005b61024d610964565b60405161025a9190612224565b60405180910390f35b61027d60048036038101906102789190612374565b61096e565b005b61029960048036038101906102949190612427565b610a8d565b6040516102a6919061216b565b60405180910390f35b6102c960048036038101906102c49190612110565b610abc565b6040516102d69190612224565b60405180910390f35b6102e7610aed565b6040516102f49190612496565b60405180910390f35b61031760048036038101906103129190612186565b610af6565b60405161032491906120c2565b60405180910390f35b61034760048036038101906103429190612110565b610b9e565b005b610363600480360381019061035e9190612110565b610c3c565b604051610370919061216b565b60405180910390f35b610393600480360381019061038e9190611eb7565b610c9a565b6040516103a09190612224565b60405180910390f35b6103c360048036038101906103be9190612110565b610ce2565b6040516103d09190612224565b60405180910390f35b6103e1610d07565b6040516103ee91906120c2565b60405180910390f35b610411600480360381019061040c9190612110565b610d99565b60405161042194939291906124b1565b60405180910390f35b610444600480360381019061043f9190612110565b610e06565b604051610451919061216b565b60405180910390f35b610474600480360381019061046f91906124f6565b610e29565b005b610490600480360381019061048b9190612549565b610fe3565b60405161049d9190612224565b60405180910390f35b6104c060048036038101906104bb9190611eb7565b61106a565b6040516104cd9190612638565b60405180910390f35b6104f060048036038101906104eb919061265a565b611101565b005b61050c60048036038101906105079190612186565b6111eb565b005b6105166114d2565b6040516105239190612224565b60405180910390f35b6105346114d8565b604051610541919061269a565b60405180910390f35b6060600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561065157838290600052602060002090600402016040518060800160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481525050815260200190600101906105ab565b505050509050919050565b60606003805461066b906126e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610697906126e4565b80156106e45780601f106106b9576101008083540402835291602001916106e4565b820191906000526020600020905b8154815290600101906020018083116106c757829003601f168201915b5050505050905090565b6000806106f96114fe565b9050610706818585611506565b600191505092915050565b6007602052806000526040600020600091509050806000018054610734906126e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610760906126e4565b80156107ad5780601f10610782576101008083540402835291602001916107ad565b820191906000526020600020905b81548152906001019060200180831161079057829003601f168201915b5050505050908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030180546107ee906126e4565b80601f016020809104026020016040519081016040528092919081815260200182805461081a906126e4565b80156108675780601f1061083c57610100808354040283529160200191610867565b820191906000526020600020905b81548152906001019060200180831161084a57829003601f168201915b5050505050905084565b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008080600090505b838054905081101561091357848482815481106108dd576108dc612715565b5b906000526020600020906004020160010154036109005780915060019250610913565b808061090b90612773565b9150506108bd565b5081610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094b90612807565b60405180910390fd5b61095e3382611518565b50505050565b6000600254905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f590612873565b60405180910390fd5b600060076000848152602001908152602001600020905085816000019081610a269190612a3f565b5084816003019081610a389190612a3f565b50838160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818160020181905550505050505050565b600080610a986114fe565b9050610aa5858285611701565b610ab0858585611795565b60019150509392505050565b60086020528160005260406000208181548110610ad857600080fd5b90600052602060002001600091509150505481565b60006012905090565b6060600760008381526020019081526020016000206003018054610b19906126e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610b45906126e4565b8015610b925780601f10610b6757610100808354040283529160200191610b92565b820191906000526020600020905b815481529060010190602001808311610b7557829003601f168201915b50505050509050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2590612873565b60405180910390fd5b610c388282611889565b5050565b600080600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020541415905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6009602052816000526040600020602052806000526040600020600091509150505481565b606060048054610d16906126e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610d42906126e4565b8015610d8f5780601f10610d6457610100808354040283529160200191610d8f565b820191906000526020600020905b815481529060010190602001808311610d7257829003601f168201915b5050505050905090565b600a6020528160005260406000208181548110610db557600080fd5b9060005260206000209060040201600091509150508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905084565b600080610e116114fe565b9050610e1e818585611795565b600191505092915050565b6000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000205403610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb390612b5d565b60405180910390fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180608001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001600654815260200184815260200183815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020155606082015181600301555050600160066000828254610fd79190612b7d565b92505081905550505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6060600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156110f557602002820191906000526020600020905b8154815260200190600101908083116110e1575b50505050509050919050565b60006007600084815260200190815260200160002090508060020154821461115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590612bfd565b60405180910390fd5b806002015461116c33610c9a565b10156111ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a490612c69565b60405180910390fd5b6111dc338260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611795565b6111e6338461190b565b505050565b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008080600090505b838054905081101561128d578484828154811061125757611256612715565b5b9060005260206000209060040201600101540361127a578091506001925061128d565b808061128590612773565b915050611237565b50816112ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c590612807565b60405180910390fd5b60008382815481106112e3576112e2612715565b5b90600052602060002090600402019050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137d90612cd5565b60405180910390fd5b60008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000826002015490506000836003015490506000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000205403611454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144b90612d41565b60405180910390fd5b8061145e33610c9a565b101561149f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149690612dad565b60405180910390fd5b6114aa338483611795565b6114b483836119dd565b6114be338361190b565b6114c83386611518565b5050505050505050565b60065481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b6115138383836001611a49565b505050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050808054905082106115a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159890612e19565b60405180910390fd5b600181805490506115b29190612e39565b82146116935780600182805490506115ca9190612e39565b815481106115db576115da612715565b5b90600052602060002090600402018183815481106115fc576115fb612715565b5b90600052602060002090600402016000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001820154816001015560028201548160020155600382015481600301559050505b808054806116a4576116a3612e6d565b5b6001900381819060005260206000209060040201600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600090556002820160009055600382016000905550509055505050565b600061170d8484610fe3565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461178f578181101561177f578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161177693929190612e9c565b60405180910390fd5b61178e84848484036000611a49565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118075760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016117fe919061269a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118795760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611870919061269a565b60405180910390fd5b611884838383611c20565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118fb5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016118f2919061269a565b60405180910390fd5b61190760008383611c20565b5050565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150556001600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060008282546119d29190612b7d565b925050819055505050565b6001600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000828254611a3e9190612e39565b925050819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611abb5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611ab2919061269a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b2d5760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611b24919061269a565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015611c1a578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611c119190612224565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c72578060026000828254611c669190612b7d565b92505081905550611d45565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cfe578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611cf593929190612e9c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d8e5780600260008282540392505081905550611ddb565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e389190612224565b60405180910390a3505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e8482611e59565b9050919050565b611e9481611e79565b8114611e9f57600080fd5b50565b600081359050611eb181611e8b565b92915050565b600060208284031215611ecd57611ecc611e4f565b5b6000611edb84828501611ea2565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611f1981611e79565b82525050565b6000819050919050565b611f3281611f1f565b82525050565b608082016000820151611f4e6000850182611f10565b506020820151611f616020850182611f29565b506040820151611f746040850182611f29565b506060820151611f876060850182611f29565b50505050565b6000611f998383611f38565b60808301905092915050565b6000602082019050919050565b6000611fbd82611ee4565b611fc78185611eef565b9350611fd283611f00565b8060005b83811015612003578151611fea8882611f8d565b9750611ff583611fa5565b925050600181019050611fd6565b5085935050505092915050565b6000602082019050818103600083015261202a8184611fb2565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561206c578082015181840152602081019050612051565b60008484015250505050565b6000601f19601f8301169050919050565b600061209482612032565b61209e818561203d565b93506120ae81856020860161204e565b6120b781612078565b840191505092915050565b600060208201905081810360008301526120dc8184612089565b905092915050565b6120ed81611f1f565b81146120f857600080fd5b50565b60008135905061210a816120e4565b92915050565b6000806040838503121561212757612126611e4f565b5b600061213585828601611ea2565b9250506020612146858286016120fb565b9150509250929050565b60008115159050919050565b61216581612150565b82525050565b6000602082019050612180600083018461215c565b92915050565b60006020828403121561219c5761219b611e4f565b5b60006121aa848285016120fb565b91505092915050565b6121bc81611e79565b82525050565b6121cb81611f1f565b82525050565b600060808201905081810360008301526121eb8187612089565b90506121fa60208301866121b3565b61220760408301856121c2565b81810360608301526122198184612089565b905095945050505050565b600060208201905061223960008301846121c2565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61228182612078565b810181811067ffffffffffffffff821117156122a05761229f612249565b5b80604052505050565b60006122b3611e45565b90506122bf8282612278565b919050565b600067ffffffffffffffff8211156122df576122de612249565b5b6122e882612078565b9050602081019050919050565b82818337600083830152505050565b6000612317612312846122c4565b6122a9565b90508281526020810184848401111561233357612332612244565b5b61233e8482856122f5565b509392505050565b600082601f83011261235b5761235a61223f565b5b813561236b848260208601612304565b91505092915050565b600080600080600060a086880312156123905761238f611e4f565b5b600086013567ffffffffffffffff8111156123ae576123ad611e54565b5b6123ba88828901612346565b955050602086013567ffffffffffffffff8111156123db576123da611e54565b5b6123e788828901612346565b94505060406123f888828901611ea2565b9350506060612409888289016120fb565b925050608061241a888289016120fb565b9150509295509295909350565b6000806000606084860312156124405761243f611e4f565b5b600061244e86828701611ea2565b935050602061245f86828701611ea2565b9250506040612470868287016120fb565b9150509250925092565b600060ff82169050919050565b6124908161247a565b82525050565b60006020820190506124ab6000830184612487565b92915050565b60006080820190506124c660008301876121b3565b6124d360208301866121c2565b6124e060408301856121c2565b6124ed60608301846121c2565b95945050505050565b60008060006060848603121561250f5761250e611e4f565b5b600061251d86828701611ea2565b935050602061252e868287016120fb565b925050604061253f868287016120fb565b9150509250925092565b600080604083850312156125605761255f611e4f565b5b600061256e85828601611ea2565b925050602061257f85828601611ea2565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006125c18383611f29565b60208301905092915050565b6000602082019050919050565b60006125e582612589565b6125ef8185612594565b93506125fa836125a5565b8060005b8381101561262b57815161261288826125b5565b975061261d836125cd565b9250506001810190506125fe565b5085935050505092915050565b6000602082019050818103600083015261265281846125da565b905092915050565b6000806040838503121561267157612670611e4f565b5b600061267f858286016120fb565b9250506020612690858286016120fb565b9150509250929050565b60006020820190506126af60008301846121b3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806126fc57607f821691505b60208210810361270f5761270e6126b5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061277e82611f1f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127b0576127af612744565b5b600182019050919050565b7f5472616465206f66666572206e6f7420666f756e640000000000000000000000600082015250565b60006127f160158361203d565b91506127fc826127bb565b602082019050919050565b60006020820190508181036000830152612820816127e4565b9050919050565b7f6f6e6c792061646d696e2063616e20646f2074686973206a6f62000000000000600082015250565b600061285d601a8361203d565b915061286882612827565b602082019050919050565b6000602082019050818103600083015261288c81612850565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026128f57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826128b8565b6128ff86836128b8565b95508019841693508086168417925050509392505050565b6000819050919050565b600061293c61293761293284611f1f565b612917565b611f1f565b9050919050565b6000819050919050565b61295683612921565b61296a61296282612943565b8484546128c5565b825550505050565b600090565b61297f612972565b61298a81848461294d565b505050565b5b818110156129ae576129a3600082612977565b600181019050612990565b5050565b601f8211156129f3576129c481612893565b6129cd846128a8565b810160208510156129dc578190505b6129f06129e8856128a8565b83018261298f565b50505b505050565b600082821c905092915050565b6000612a16600019846008026129f8565b1980831691505092915050565b6000612a2f8383612a05565b9150826002028217905092915050565b612a4882612032565b67ffffffffffffffff811115612a6157612a60612249565b5b612a6b82546126e4565b612a768282856129b2565b600060209050601f831160018114612aa95760008415612a97578287015190505b612aa18582612a23565b865550612b09565b601f198416612ab786612893565b60005b82811015612adf57848901518255600182019150602085019450602081019050612aba565b86831015612afc5784890151612af8601f891682612a05565b8355505b6001600288020188555050505b505050505050565b7f596f7520646f6e2774206f776e20746869732070726f6a656374000000000000600082015250565b6000612b47601a8361203d565b9150612b5282612b11565b602082019050919050565b60006020820190508181036000830152612b7681612b3a565b9050919050565b6000612b8882611f1f565b9150612b9383611f1f565b9250828201905080821115612bab57612baa612744565b5b92915050565b7f496e636f7272656374207061796d656e7420616d6f756e740000000000000000600082015250565b6000612be760188361203d565b9150612bf282612bb1565b602082019050919050565b60006020820190508181036000830152612c1681612bda565b9050919050565b7f496e73756666696369656e7420746f6b656e2062616c616e6365000000000000600082015250565b6000612c53601a8361203d565b9150612c5e82612c1d565b602082019050919050565b60006020820190508181036000830152612c8281612c46565b9050919050565b7f4e6f207472616465206f6666657220617661696c61626c650000000000000000600082015250565b6000612cbf60188361203d565b9150612cca82612c89565b602082019050919050565b60006020820190508181036000830152612cee81612cb2565b9050919050565b7f50726f706f73657220646f65736e2774206f776e207468652070726f6a656374600082015250565b6000612d2b60208361203d565b9150612d3682612cf5565b602082019050919050565b60006020820190508181036000830152612d5a81612d1e565b9050919050565b7f596f7520646f6e2774206861766520656e6f75676820746f6b656e7300000000600082015250565b6000612d97601c8361203d565b9150612da282612d61565b602082019050919050565b60006020820190508181036000830152612dc681612d8a565b9050919050565b7f496e76616c6964207472616465206f6666657220696e64657800000000000000600082015250565b6000612e0360198361203d565b9150612e0e82612dcd565b602082019050919050565b60006020820190508181036000830152612e3281612df6565b9050919050565b6000612e4482611f1f565b9150612e4f83611f1f565b9250828203905081811115612e6757612e66612744565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6000606082019050612eb160008301866121b3565b612ebe60208301856121c2565b612ecb60408301846121c2565b94935050505056fea2646970667358221220640e8e467d142cc0988fbe736ab4e079853406de34d19debf62db31130c76f2764736f6c6343000814003300000000000000000000000000000000000000000000000000038d7ea4c67fff