6080604052610640600e553480156200001757600080fd5b5060405162005c9f38038062005c9f83398181016040528101906200003d91906200063d565b6200004d6200017560201b60201c565b604051806020016040528060008152506040518060200160405280600081525081600290816200007e91906200096d565b5080600390816200009091906200096d565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001085760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000ff919062000a65565b60405180910390fd5b62000119816200017d60201b60201c565b506001600d8190555084600f90816200013391906200096d565b5083601090816200014591906200096d565b5082601190816200015791906200096d565b506200016a82826200024360201b60201c565b505050505062000af9565b600033905090565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600062000255620003f260201b60201c565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff161115620002bd5781816040517f6f483d09000000000000000000000000000000000000000000000000000000008152600401620002b492919062000acc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620003325760006040517fb6d9900a00000000000000000000000000000000000000000000000000000000815260040162000329919062000a65565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff168152506000808201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550905050505050565b6000612710905090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000465826200041a565b810181811067ffffffffffffffff821117156200048757620004866200042b565b5b80604052505050565b60006200049c620003fc565b9050620004aa82826200045a565b919050565b600067ffffffffffffffff821115620004cd57620004cc6200042b565b5b620004d8826200041a565b9050602081019050919050565b60005b8381101562000505578082015181840152602081019050620004e8565b60008484015250505050565b6000620005286200052284620004af565b62000490565b90508281526020810184848401111562000547576200054662000415565b5b62000554848285620004e5565b509392505050565b600082601f83011262000574576200057362000410565b5b81516200058684826020860162000511565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005bc826200058f565b9050919050565b620005ce81620005af565b8114620005da57600080fd5b50565b600081519050620005ee81620005c3565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6200061781620005f4565b81146200062357600080fd5b50565b60008151905062000637816200060c565b92915050565b600080600080600060a086880312156200065c576200065b62000406565b5b600086015167ffffffffffffffff8111156200067d576200067c6200040b565b5b6200068b888289016200055c565b955050602086015167ffffffffffffffff811115620006af57620006ae6200040b565b5b620006bd888289016200055c565b945050604086015167ffffffffffffffff811115620006e157620006e06200040b565b5b620006ef888289016200055c565b93505060606200070288828901620005dd565b9250506080620007158882890162000626565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200077557607f821691505b6020821081036200078b576200078a6200072d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007f57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620007b6565b620008018683620007b6565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200084e62000848620008428462000819565b62000823565b62000819565b9050919050565b6000819050919050565b6200086a836200082d565b62000882620008798262000855565b848454620007c3565b825550505050565b600090565b620008996200088a565b620008a68184846200085f565b505050565b5b81811015620008ce57620008c26000826200088f565b600181019050620008ac565b5050565b601f8211156200091d57620008e78162000791565b620008f284620007a6565b8101602085101562000902578190505b6200091a6200091185620007a6565b830182620008ab565b50505b505050565b600082821c905092915050565b6000620009426000198460080262000922565b1980831691505092915050565b60006200095d83836200092f565b9150826002028217905092915050565b620009788262000722565b67ffffffffffffffff8111156200099457620009936200042b565b5b620009a082546200075c565b620009ad828285620008d2565b600060209050601f831160018114620009e55760008415620009d0578287015190505b620009dc85826200094f565b86555062000a4c565b601f198416620009f58662000791565b60005b8281101562000a1f57848901518255600182019150602085019450602081019050620009f8565b8683101562000a3f578489015162000a3b601f8916826200092f565b8355505b6001600288020188555050505b505050505050565b62000a5f81620005af565b82525050565b600060208201905062000a7c600083018462000a54565b92915050565b600062000aa362000a9d62000a9784620005f4565b62000823565b62000819565b9050919050565b62000ab58162000a82565b82525050565b62000ac68162000819565b82525050565b600060408201905062000ae3600083018562000aaa565b62000af2602083018462000abb565b9392505050565b6151968062000b096000396000f3fe6080604052600436106102345760003560e01c80636352211e1161012e578063ae510a58116100ab578063c87b56dd1161006f578063c87b56dd1461087d578063e985e9c5146108ba578063f2fde38b146108f7578063fd1e296214610920578063fec6a8901461094957610274565b8063ae510a58146107ae578063b51609b4146107d9578063b84c824614610802578063b88d4fde1461082b578063c47f00271461085457610274565b80638da5cb5b116100f25780638da5cb5b146106ed57806395d89b41146107185780639c4dab5214610743578063a22cb4651461076e578063aa1b103f1461079757610274565b80636352211e1461060a578063691562a01461064757806370a0823114610670578063715018a6146106ad5780638a616bc0146106c457610274565b80632a55205a116101bc5780634eea48e2116101805780634eea48e2146105225780634f6ccce71461053e578063552f901f1461057b57806355f804b3146105b85780635944c753146105e157610274565b80632a55205a1461042a5780632f745c59146104685780633a4710c4146104a557806342842e0e146104ce57806344331077146104f757610274565b8063095ea7b311610203578063095ea7b31461034757806314bf9af61461037057806318160ddd146103995780631e7269c5146103c457806323b872dd1461040157610274565b806301ffc9a71461027957806302fa7c47146102b657806306fdde03146102df578063081812fc1461030a57610274565b36610274577f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874333460405161026a929190613beb565b60405180910390a1005b600080fd5b34801561028557600080fd5b506102a0600480360381019061029b9190613c80565b610972565b6040516102ad9190613cc8565b60405180910390f35b3480156102c257600080fd5b506102dd60048036038101906102d89190613d53565b610984565b005b3480156102eb57600080fd5b506102f461099a565b6040516103019190613e23565b60405180910390f35b34801561031657600080fd5b50610331600480360381019061032c9190613e71565b610a2c565b60405161033e9190613e9e565b60405180910390f35b34801561035357600080fd5b5061036e60048036038101906103699190613eb9565b610a48565b005b34801561037c57600080fd5b5061039760048036038101906103929190613f5e565b610a5e565b005b3480156103a557600080fd5b506103ae610cdd565b6040516103bb9190613fd2565b60405180910390f35b3480156103d057600080fd5b506103eb60048036038101906103e69190613fed565b610cea565b6040516103f89190613fd2565b60405180910390f35b34801561040d57600080fd5b506104286004803603810190610423919061401a565b610d02565b005b34801561043657600080fd5b50610451600480360381019061044c919061406d565b610e04565b60405161045f929190613beb565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a9190613eb9565b610fee565b60405161049c9190613fd2565b60405180910390f35b3480156104b157600080fd5b506104cc60048036038101906104c791906140e3565b611097565b005b3480156104da57600080fd5b506104f560048036038101906104f0919061401a565b6110a9565b005b34801561050357600080fd5b5061050c6110c9565b604051610519919061411f565b60405180910390f35b61053c6004803603810190610537919061413a565b6110cf565b005b34801561054a57600080fd5b5061056560048036038101906105609190613e71565b6110e5565b6040516105729190613fd2565b60405180910390f35b34801561058757600080fd5b506105a2600480360381019061059d9190613fed565b61115b565b6040516105af9190614238565b60405180910390f35b3480156105c457600080fd5b506105df60048036038101906105da919061438a565b61130c565b005b3480156105ed57600080fd5b50610608600480360381019061060391906143d3565b611327565b005b34801561061657600080fd5b50610631600480360381019061062c9190613e71565b61133f565b60405161063e9190613e9e565b60405180910390f35b34801561065357600080fd5b5061066e6004803603810190610669919061445f565b611351565b005b34801561067c57600080fd5b5061069760048036038101906106929190613fed565b611429565b6040516106a49190613fd2565b60405180910390f35b3480156106b957600080fd5b506106c26114e3565b005b3480156106d057600080fd5b506106eb60048036038101906106e69190613e71565b6114f7565b005b3480156106f957600080fd5b5061070261150b565b60405161070f9190613e9e565b60405180910390f35b34801561072457600080fd5b5061072d611535565b60405161073a9190613e23565b60405180910390f35b34801561074f57600080fd5b506107586115c7565b604051610765919061411f565b60405180910390f35b34801561077a57600080fd5b50610795600480360381019061079091906144cb565b6115cd565b005b3480156107a357600080fd5b506107ac6115e3565b005b3480156107ba57600080fd5b506107c36115f5565b6040516107d0919061451a565b60405180910390f35b3480156107e557600080fd5b5061080060048036038101906107fb9190614535565b6115fa565b005b34801561080e57600080fd5b506108296004803603810190610824919061438a565b611632565b005b34801561083757600080fd5b50610852600480360381019061084d9190614629565b61164d565b005b34801561086057600080fd5b5061087b6004803603810190610876919061438a565b61166a565b005b34801561088957600080fd5b506108a4600480360381019061089f9190613e71565b611685565b6040516108b19190613e23565b60405180910390f35b3480156108c657600080fd5b506108e160048036038101906108dc91906146ac565b6116ee565b6040516108ee9190613cc8565b60405180910390f35b34801561090357600080fd5b5061091e60048036038101906109199190613fed565b611782565b005b34801561092c57600080fd5b50610947600480360381019061094291906140e3565b611808565b005b34801561095557600080fd5b50610970600480360381019061096b9190614742565b61181a565b005b600061097d82611aa3565b9050919050565b61098c611ab5565b6109968282611b3c565b5050565b6060600f80546109a990614825565b80601f01602080910402602001604051908101604052809291908181526020018280546109d590614825565b8015610a225780601f106109f757610100808354040283529160200191610a22565b820191906000526020600020905b815481529060010190602001808311610a0557829003601f168201915b5050505050905090565b6000610a3782611cdd565b50610a4182611d65565b9050919050565b610a5a8282610a55611da2565b611daa565b5050565b610a66611dbc565b8160008111610aac57806040517fe0fb31d4000000000000000000000000000000000000000000000000000000008152600401610aa39190613fd2565b60405180910390fd5b609660ff16811115610af65760966040517f4cb94b20000000000000000000000000000000000000000000000000000000008152600401610aed9190614891565b60405180910390fd5b610b73858580806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050601254610b46611da2565b86604051602001610b58929190614915565b60405160208183030381529060405280519060200120611e02565b610ba9576040517fb05e92fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828260176000610bb7611da2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bfc9190614970565b1115610c3f57816040517f4cb94b20000000000000000000000000000000000000000000000000000000008152600401610c369190613fd2565b60405180910390fd5b60005b828160ff161015610c7057610c5d610c58611da2565b611e19565b8080610c68906149a4565b915050610c42565b508160176000610c7e611da2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cc79190614970565b9250508190555050610cd7611e40565b50505050565b6000600a80549050905090565b60176020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d745760006040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401610d6b9190613e9e565b60405180910390fd5b6000610d888383610d83611da2565b611e4a565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610dfe578382826040517f64283d7b000000000000000000000000000000000000000000000000000000008152600401610df5939291906149cd565b60405180910390fd5b50505050565b6000806000600160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610f995760006040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610fa3611e60565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610fcf9190614a04565b610fd99190614a75565b90508160000151819350935050509250929050565b6000610ff983611429565b821061103e5782826040517fa57d13dc000000000000000000000000000000000000000000000000000000008152600401611035929190613beb565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b61109f611ab5565b8060128190555050565b6110c48383836040518060200160405280600081525061164d565b505050565b60125481565b6110d7611ab5565b6110e18183611e6a565b5050565b60006110ef610cdd565b8210611135576000826040517fa57d13dc00000000000000000000000000000000000000000000000000000000815260040161112c929190613beb565b60405180910390fd5b600a828154811061114957611148614aa6565b5b90600052602060002001549050919050565b606060006111696014611f57565b90506000805b82518110156111f4578473ffffffffffffffffffffffffffffffffffffffff166111bd8483815181106111a5576111a4614aa6565b5b60200260200101516014611f7890919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16036111e75781806111e390614ad5565b9250505b808060010191505061116f565b508067ffffffffffffffff81111561120f5761120e61425f565b5b60405190808252806020026020018201604052801561123d5781602001602082028036833780820191505090505b5092506000805b8351811015611303578573ffffffffffffffffffffffffffffffffffffffff1661129285838151811061127a57611279614aa6565b5b60200260200101516014611f7890919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16036112f6578381815181106112c0576112bf614aa6565b5b60200260200101518583815181106112db576112da614aa6565b5b60200260200101818152505081806112f290614ad5565b9250505b8080600101915050611244565b50505050919050565b611314611ab5565b80601190816113239190614cbf565b5050565b61132f611ab5565b61133a838383611f95565b505050565b600061134a82611cdd565b9050919050565b611359611dbc565b611361611ab5565b8060ff16600081116113aa57806040517fe0fb31d40000000000000000000000000000000000000000000000000000000081526004016113a19190613fd2565b60405180910390fd5b609660ff168111156113f45760966040517f4cb94b200000000000000000000000000000000000000000000000000000000081526004016113eb9190614891565b60405180910390fd5b60005b8260ff168160ff16101561141b5761140e84611e19565b80806001019150506113f7565b5050611425611e40565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361149c5760006040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016114939190613e9e565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6114eb611ab5565b6114f5600061214d565b565b6114ff611ab5565b61150881612213565b50565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606010805461154490614825565b80601f016020809104026020016040519081016040528092919081815260200182805461157090614825565b80156115bd5780601f10611592576101008083540402835291602001916115bd565b820191906000526020600020905b8154815290600101906020018083116115a057829003601f168201915b5050505050905090565b60135481565b6115df6115d8611da2565b8383612272565b5050565b6115eb611ab5565b6115f36123e1565b565b609681565b611602611ab5565b61162d81838573ffffffffffffffffffffffffffffffffffffffff1661242e9092919063ffffffff16565b505050565b61163a611ab5565b80601090816116499190614cbf565b5050565b611658848484610d02565b611664848484846124ad565b50505050565b611672611ab5565b80600f90816116819190614cbf565b5050565b606061169082611cdd565b50600061169b612664565b905060008151116116bb57604051806020016040528060008152506116e6565b806116c5846126f6565b6040516020016116d6929190614dcd565b6040516020818303038152906040525b915050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61178a611ab5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117fc5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016117f39190613e9e565b60405180910390fd5b6118058161214d565b50565b611810611ab5565b8060138190555050565b611822611dbc565b838390506000811161186b57806040517fe0fb31d40000000000000000000000000000000000000000000000000000000081526004016118629190613fd2565b60405180910390fd5b609660ff168111156118b55760966040517f4cb94b200000000000000000000000000000000000000000000000000000000081526004016118ac9190614891565b60405180910390fd5b611934878780806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050601354611905611da2565b888860405160200161191993929190614e66565b60405160208183030381529060405280519060200120611e02565b61196a576040517fb05e92fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b83839050811015611a9157600073ffffffffffffffffffffffffffffffffffffffff166119b28585848181106119a6576119a5614aa6565b5b905060200201356127c4565b73ffffffffffffffffffffffffffffffffffffffff1614611a23578383828181106119e0576119df614aa6565b5b905060200201356040517f2e38e3c8000000000000000000000000000000000000000000000000000000008152600401611a1a9190613fd2565b60405180910390fd5b611a4d611a2e611da2565b858584818110611a4157611a40614aa6565b5b90506020020135612801565b611a83848483818110611a6357611a62614aa6565b5b90506020020135611a72611da2565b601461281f9092919063ffffffff16565b50808060010191505061196d565b5050611a9b611e40565b505050505050565b6000611aae82612854565b9050919050565b611abd611da2565b73ffffffffffffffffffffffffffffffffffffffff16611adb61150b565b73ffffffffffffffffffffffffffffffffffffffff1614611b3a57611afe611da2565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611b319190613e9e565b60405180910390fd5b565b6000611b46611e60565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff161115611bab5781816040517f6f483d09000000000000000000000000000000000000000000000000000000008152600401611ba2929190614ec1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c1d5760006040517fb6d9900a000000000000000000000000000000000000000000000000000000008152600401611c149190613e9e565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff168152506000808201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550905050505050565b600080611ce9836127c4565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d5c57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611d539190613fd2565b60405180910390fd5b80915050919050565b60006006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600033905090565b611db783838360016128ce565b505050565b6002600d5403611df8576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600d81905550565b600082611e0f8584612a93565b1490509392505050565b6000600e60008154611e2a90614ad5565b9190508190559050611e3c8282612801565b5050565b6001600d81905550565b6000611e57848484612ae3565b90509392505050565b6000612710905090565b80471015611eaf57306040517fcd786059000000000000000000000000000000000000000000000000000000008152600401611ea69190613e9e565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051611ed590614f1b565b60006040518083038185875af1925050503d8060008114611f12576040519150601f19603f3d011682016040523d82523d6000602084013e611f17565b606091505b5050905080611f52576040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60606000611f6783600001612c00565b905060608190508092505050919050565b6000611f8a836000018360001b612c15565b60001c905092915050565b6000611f9f611e60565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff161115612006578382826040517fdfd1fc1b000000000000000000000000000000000000000000000000000000008152600401611ffd93929190614f30565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361207a578360006040517f969f0852000000000000000000000000000000000000000000000000000000008152600401612071929190614f67565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff168152506001600086815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505050505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60016000828152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036122e357816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016122da9190613e9e565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516123d49190613cc8565b60405180910390a3505050565b6000806000820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff02191690555050565b6124a8838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401612461929190613beb565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612c95565b505050565b60008373ffffffffffffffffffffffffffffffffffffffff163b111561265e578273ffffffffffffffffffffffffffffffffffffffff1663150b7a026124f1611da2565b8685856040518563ffffffff1660e01b81526004016125139493929190614fe5565b6020604051808303816000875af192505050801561254f57506040513d601f19601f8201168201806040525081019061254c9190615046565b60015b6125d3573d806000811461257f576040519150601f19603f3d011682016040523d82523d6000602084013e612584565b606091505b5060008151036125cb57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016125c29190613e9e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461265c57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016126539190613e9e565b60405180910390fd5b505b50505050565b60606011805461267390614825565b80601f016020809104026020016040519081016040528092919081815260200182805461269f90614825565b80156126ec5780601f106126c1576101008083540402835291602001916126ec565b820191906000526020600020905b8154815290600101906020018083116126cf57829003601f168201915b5050505050905090565b60606000600161270584612d2c565b01905060008167ffffffffffffffff8111156127245761272361425f565b5b6040519080825280601f01601f1916602001820160405280156127565781602001600182028036833780820191505090505b509050600082602001820190505b6001156127b9578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816127ad576127ac614a46565b5b04945060008503612764575b819350505050919050565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61281b828260405180602001604052806000815250612e7f565b5050565b600061284b846000018460001b8473ffffffffffffffffffffffffffffffffffffffff1660001b612e9b565b90509392505050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806128c757506128c682612ed6565b5b9050919050565b80806129075750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612a3b57600061291784611cdd565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561298257508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015612995575061299381846116ee565b155b156129d757826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016129ce9190613e9e565b60405180910390fd5b8115612a3957838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b836006600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60008082905060005b8451811015612ad857612ac982868381518110612abc57612abb614aa6565b5b6020026020010151612fb8565b91508080600101915050612a9c565b508091505092915050565b600080612af1858585612fe3565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612b3557612b30846131fd565b612b74565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612b7357612b728185613246565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612bb657612bb1846133a7565b612bf5565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612bf457612bf38585613478565b5b5b809150509392505050565b6060612c0e82600001613503565b9050919050565b6000808360020160008481526020019081526020016000205490506000801b81148015612c495750612c478484613524565b155b15612c8b57826040517f02b56686000000000000000000000000000000000000000000000000000000008152600401612c82919061411f565b60405180910390fd5b8091505092915050565b6000612cc0828473ffffffffffffffffffffffffffffffffffffffff1661354490919063ffffffff16565b90506000815114158015612ce5575080806020019051810190612ce39190615088565b155b15612d2757826040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401612d1e9190613e9e565b60405180910390fd5b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612d8a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612d8057612d7f614a46565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612dc7576d04ee2d6d415b85acef81000000008381612dbd57612dbc614a46565b5b0492506020810190505b662386f26fc100008310612df657662386f26fc100008381612dec57612deb614a46565b5b0492506010810190505b6305f5e1008310612e1f576305f5e1008381612e1557612e14614a46565b5b0492506008810190505b6127108310612e44576127108381612e3a57612e39614a46565b5b0492506004810190505b60648310612e675760648381612e5d57612e5c614a46565b5b0492506002810190505b600a8310612e76576001810190505b80915050919050565b612e89838361355a565b612e9660008484846124ad565b505050565b60008184600201600085815260200190815260200160002081905550612ecd838560000161365390919063ffffffff16565b90509392505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612fa157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612fb15750612fb08261366a565b5b9050919050565b6000818310612fd057612fcb82846136e4565b612fdb565b612fda83836136e4565b5b905092915050565b600080612fef846127c4565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614613031576130308184866136fb565b5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146130c2576130736000856000806128ce565b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614613145576001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b846004600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b600a80549050600b600083815260200190815260200160002081905550600a81908060018154018082558091505060019003906000526020600020016000909190919091505550565b600061325183611429565b9050600060096000848152602001908152602001600020549050818114613336576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816009600083815260200190815260200160002081905550505b6009600084815260200190815260200160002060009055600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600a805490506133bb91906150b5565b90506000600b60008481526020019081526020016000205490506000600a83815481106133eb576133ea614aa6565b5b9060005260206000200154905080600a838154811061340d5761340c614aa6565b5b906000526020600020018190555081600b600083815260200190815260200160002081905550600b600085815260200190815260200160002060009055600a80548061345c5761345b6150e9565b5b6001900381819060005260206000200160009055905550505050565b6000600161348584611429565b61348f91906150b5565b905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806009600084815260200190815260200160002081905550505050565b60606000613513836000016137bf565b905060608190508092505050919050565b600061353c828460000161381b90919063ffffffff16565b905092915050565b606061355283836000613832565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036135cc5760006040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016135c39190613e9e565b60405180910390fd5b60006135da83836000611e4a565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461364e5760006040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016136459190613e9e565b60405180910390fd5b505050565b600061366283600001836138ff565b905092915050565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806136dd57506136dc8261396f565b5b9050919050565b600082600052816020526040600020905092915050565b6137068383836139d9565b6137ba57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361377b57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016137729190613fd2565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016137b1929190613beb565b60405180910390fd5b505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561380f57602002820191906000526020600020905b8154815260200190600101908083116137fb575b50505050509050919050565b600061382a8360000183613a9a565b905092915050565b60608147101561387957306040517fcd7860590000000000000000000000000000000000000000000000000000000081526004016138709190613e9e565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1684866040516138a29190615149565b60006040518083038185875af1925050503d80600081146138df576040519150601f19603f3d011682016040523d82523d6000602084013e6138e4565b606091505b50915091506138f4868383613abd565b925050509392505050565b600061390b8383613a9a565b613964578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050613969565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015613a9157508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480613a525750613a5184846116ee565b5b80613a9057508273ffffffffffffffffffffffffffffffffffffffff16613a7883611d65565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b600080836001016000848152602001908152602001600020541415905092915050565b606082613ad257613acd82613b4c565b613b44565b60008251148015613afa575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15613b3c57836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401613b339190613e9e565b60405180910390fd5b819050613b45565b5b9392505050565b600081511115613b5f5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613bbc82613b91565b9050919050565b613bcc81613bb1565b82525050565b6000819050919050565b613be581613bd2565b82525050565b6000604082019050613c006000830185613bc3565b613c0d6020830184613bdc565b9392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613c5d81613c28565b8114613c6857600080fd5b50565b600081359050613c7a81613c54565b92915050565b600060208284031215613c9657613c95613c1e565b5b6000613ca484828501613c6b565b91505092915050565b60008115159050919050565b613cc281613cad565b82525050565b6000602082019050613cdd6000830184613cb9565b92915050565b613cec81613bb1565b8114613cf757600080fd5b50565b600081359050613d0981613ce3565b92915050565b60006bffffffffffffffffffffffff82169050919050565b613d3081613d0f565b8114613d3b57600080fd5b50565b600081359050613d4d81613d27565b92915050565b60008060408385031215613d6a57613d69613c1e565b5b6000613d7885828601613cfa565b9250506020613d8985828601613d3e565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613dcd578082015181840152602081019050613db2565b60008484015250505050565b6000601f19601f8301169050919050565b6000613df582613d93565b613dff8185613d9e565b9350613e0f818560208601613daf565b613e1881613dd9565b840191505092915050565b60006020820190508181036000830152613e3d8184613dea565b905092915050565b613e4e81613bd2565b8114613e5957600080fd5b50565b600081359050613e6b81613e45565b92915050565b600060208284031215613e8757613e86613c1e565b5b6000613e9584828501613e5c565b91505092915050565b6000602082019050613eb36000830184613bc3565b92915050565b60008060408385031215613ed057613ecf613c1e565b5b6000613ede85828601613cfa565b9250506020613eef85828601613e5c565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112613f1e57613f1d613ef9565b5b8235905067ffffffffffffffff811115613f3b57613f3a613efe565b5b602083019150836020820283011115613f5757613f56613f03565b5b9250929050565b60008060008060608587031215613f7857613f77613c1e565b5b600085013567ffffffffffffffff811115613f9657613f95613c23565b5b613fa287828801613f08565b94509450506020613fb587828801613e5c565b9250506040613fc687828801613e5c565b91505092959194509250565b6000602082019050613fe76000830184613bdc565b92915050565b60006020828403121561400357614002613c1e565b5b600061401184828501613cfa565b91505092915050565b60008060006060848603121561403357614032613c1e565b5b600061404186828701613cfa565b935050602061405286828701613cfa565b925050604061406386828701613e5c565b9150509250925092565b6000806040838503121561408457614083613c1e565b5b600061409285828601613e5c565b92505060206140a385828601613e5c565b9150509250929050565b6000819050919050565b6140c0816140ad565b81146140cb57600080fd5b50565b6000813590506140dd816140b7565b92915050565b6000602082840312156140f9576140f8613c1e565b5b6000614107848285016140ce565b91505092915050565b614119816140ad565b82525050565b60006020820190506141346000830184614110565b92915050565b6000806040838503121561415157614150613c1e565b5b600061415f85828601613e5c565b925050602061417085828601613cfa565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6141af81613bd2565b82525050565b60006141c183836141a6565b60208301905092915050565b6000602082019050919050565b60006141e58261417a565b6141ef8185614185565b93506141fa83614196565b8060005b8381101561422b57815161421288826141b5565b975061421d836141cd565b9250506001810190506141fe565b5085935050505092915050565b6000602082019050818103600083015261425281846141da565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61429782613dd9565b810181811067ffffffffffffffff821117156142b6576142b561425f565b5b80604052505050565b60006142c9613c14565b90506142d5828261428e565b919050565b600067ffffffffffffffff8211156142f5576142f461425f565b5b6142fe82613dd9565b9050602081019050919050565b82818337600083830152505050565b600061432d614328846142da565b6142bf565b9050828152602081018484840111156143495761434861425a565b5b61435484828561430b565b509392505050565b600082601f83011261437157614370613ef9565b5b813561438184826020860161431a565b91505092915050565b6000602082840312156143a05761439f613c1e565b5b600082013567ffffffffffffffff8111156143be576143bd613c23565b5b6143ca8482850161435c565b91505092915050565b6000806000606084860312156143ec576143eb613c1e565b5b60006143fa86828701613e5c565b935050602061440b86828701613cfa565b925050604061441c86828701613d3e565b9150509250925092565b600060ff82169050919050565b61443c81614426565b811461444757600080fd5b50565b60008135905061445981614433565b92915050565b6000806040838503121561447657614475613c1e565b5b600061448485828601613cfa565b92505060206144958582860161444a565b9150509250929050565b6144a881613cad565b81146144b357600080fd5b50565b6000813590506144c58161449f565b92915050565b600080604083850312156144e2576144e1613c1e565b5b60006144f085828601613cfa565b9250506020614501858286016144b6565b9150509250929050565b61451481614426565b82525050565b600060208201905061452f600083018461450b565b92915050565b60008060006060848603121561454e5761454d613c1e565b5b600061455c86828701613cfa565b935050602061456d86828701613e5c565b925050604061457e86828701613cfa565b9150509250925092565b600067ffffffffffffffff8211156145a3576145a261425f565b5b6145ac82613dd9565b9050602081019050919050565b60006145cc6145c784614588565b6142bf565b9050828152602081018484840111156145e8576145e761425a565b5b6145f384828561430b565b509392505050565b600082601f8301126146105761460f613ef9565b5b81356146208482602086016145b9565b91505092915050565b6000806000806080858703121561464357614642613c1e565b5b600061465187828801613cfa565b945050602061466287828801613cfa565b935050604061467387828801613e5c565b925050606085013567ffffffffffffffff81111561469457614693613c23565b5b6146a0878288016145fb565b91505092959194509250565b600080604083850312156146c3576146c2613c1e565b5b60006146d185828601613cfa565b92505060206146e285828601613cfa565b9150509250929050565b60008083601f84011261470257614701613ef9565b5b8235905067ffffffffffffffff81111561471f5761471e613efe565b5b60208301915083602082028301111561473b5761473a613f03565b5b9250929050565b6000806000806000806060878903121561475f5761475e613c1e565b5b600087013567ffffffffffffffff81111561477d5761477c613c23565b5b61478989828a01613f08565b9650965050602087013567ffffffffffffffff8111156147ac576147ab613c23565b5b6147b889828a016146ec565b9450945050604087013567ffffffffffffffff8111156147db576147da613c23565b5b6147e789828a016146ec565b92509250509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061483d57607f821691505b6020821081036148505761484f6147f6565b5b50919050565b6000819050919050565b600061487b61487661487184614426565b614856565b613bd2565b9050919050565b61488b81614860565b82525050565b60006020820190506148a66000830184614882565b92915050565b60008160601b9050919050565b60006148c4826148ac565b9050919050565b60006148d6826148b9565b9050919050565b6148ee6148e982613bb1565b6148cb565b82525050565b6000819050919050565b61490f61490a82613bd2565b6148f4565b82525050565b600061492182856148dd565b60148201915061493182846148fe565b6020820191508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061497b82613bd2565b915061498683613bd2565b925082820190508082111561499e5761499d614941565b5b92915050565b60006149af82614426565b915060ff82036149c2576149c1614941565b5b600182019050919050565b60006060820190506149e26000830186613bc3565b6149ef6020830185613bdc565b6149fc6040830184613bc3565b949350505050565b6000614a0f82613bd2565b9150614a1a83613bd2565b9250828202614a2881613bd2565b91508282048414831517614a3f57614a3e614941565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614a8082613bd2565b9150614a8b83613bd2565b925082614a9b57614a9a614a46565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000614ae082613bd2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614b1257614b11614941565b5b600182019050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614b42565b614b898683614b42565b95508019841693508086168417925050509392505050565b6000614bbc614bb7614bb284613bd2565b614856565b613bd2565b9050919050565b6000819050919050565b614bd683614ba1565b614bea614be282614bc3565b848454614b4f565b825550505050565b600090565b614bff614bf2565b614c0a818484614bcd565b505050565b5b81811015614c2e57614c23600082614bf7565b600181019050614c10565b5050565b601f821115614c7357614c4481614b1d565b614c4d84614b32565b81016020851015614c5c578190505b614c70614c6885614b32565b830182614c0f565b50505b505050565b600082821c905092915050565b6000614c9660001984600802614c78565b1980831691505092915050565b6000614caf8383614c85565b9150826002028217905092915050565b614cc882613d93565b67ffffffffffffffff811115614ce157614ce061425f565b5b614ceb8254614825565b614cf6828285614c32565b600060209050601f831160018114614d295760008415614d17578287015190505b614d218582614ca3565b865550614d89565b601f198416614d3786614b1d565b60005b82811015614d5f57848901518255600182019150602085019450602081019050614d3a565b86831015614d7c5784890151614d78601f891682614c85565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b6000614da782613d93565b614db18185614d91565b9350614dc1818560208601613daf565b80840191505092915050565b6000614dd98285614d9c565b9150614de58284614d9c565b91508190509392505050565b600081905092915050565b600080fd5b82818337505050565b6000614e168385614df1565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614e4957614e48614dfc565b5b602083029250614e5a838584614e01565b82840190509392505050565b6000614e7282866148dd565b601482019150614e83828486614e0a565b9150819050949350505050565b6000614eab614ea6614ea184613d0f565b614856565b613bd2565b9050919050565b614ebb81614e90565b82525050565b6000604082019050614ed66000830185614eb2565b614ee36020830184613bdc565b9392505050565b600081905092915050565b50565b6000614f05600083614eea565b9150614f1082614ef5565b600082019050919050565b6000614f2682614ef8565b9150819050919050565b6000606082019050614f456000830186613bdc565b614f526020830185614eb2565b614f5f6040830184613bdc565b949350505050565b6000604082019050614f7c6000830185613bdc565b614f896020830184613bc3565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000614fb782614f90565b614fc18185614f9b565b9350614fd1818560208601613daf565b614fda81613dd9565b840191505092915050565b6000608082019050614ffa6000830187613bc3565b6150076020830186613bc3565b6150146040830185613bdc565b81810360608301526150268184614fac565b905095945050505050565b60008151905061504081613c54565b92915050565b60006020828403121561505c5761505b613c1e565b5b600061506a84828501615031565b91505092915050565b6000815190506150828161449f565b92915050565b60006020828403121561509e5761509d613c1e565b5b60006150ac84828501615073565b91505092915050565b60006150c082613bd2565b91506150cb83613bd2565b92508282039050818111156150e3576150e2614941565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600061512382614f90565b61512d8185614eea565b935061513d818560208601613daf565b80840191505092915050565b60006151558284615118565b91508190509291505056fea2646970667358221220db7fd3829b9f05926c8b568f641bbb324f6621c3a4be45da96b28274268aabdc64736f6c6343000818003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000a2a435d8b13bb4ae530743daad6c930bcacfd3cf00000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000018416e696d616c696120466f756e6465727320546974616e730000000000000000000000000000000000000000000000000000000000000000000000000000000b414e494d20544954414e530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000