608060405234801561000f575f5ffd5b506040518060400160405280601181526020017f4f6e65204d696c6c696f6e2054726565730000000000000000000000000000008152506040518060400160405280600481526020017f5452454500000000000000000000000000000000000000000000000000000000815250816002908161008b91906104c5565b50806003908161009b91906104c5565b506100aa61017b60201b60201c565b5f819055506100bd61017b60201b60201c565b6100cb61018260201b60201c565b10156100e8576100e763fed8210f60e01b6101a960201b60201c565b5b50506101066100fb6101b160201b60201c565b6101b860201b60201c565b446040516101139061027b565b61011d91906105a3565b604051809103905ff080158015610136573d5f5f3e3d5ffd5b50600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105bc565b5f5f905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b805f5260045ffd5b5f33905090565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612aea80612c0383390190565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061030357607f821691505b602082108103610316576103156102bf565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261033d565b610382868361033d565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6103c66103c16103bc8461039a565b6103a3565b61039a565b9050919050565b5f819050919050565b6103df836103ac565b6103f36103eb826103cd565b848454610349565b825550505050565b5f5f905090565b61040a6103fb565b6104158184846103d6565b505050565b5b818110156104385761042d5f82610402565b60018101905061041b565b5050565b601f82111561047d5761044e8161031c565b6104578461032e565b81016020851015610466578190505b61047a6104728561032e565b83018261041a565b50505b505050565b5f82821c905092915050565b5f61049d5f1984600802610482565b1980831691505092915050565b5f6104b5838361048e565b9150826002028217905092915050565b6104ce82610288565b67ffffffffffffffff8111156104e7576104e6610292565b5b6104f182546102ec565b6104fc82828561043c565b5f60209050601f83116001811461052d575f841561051b578287015190505b61052585826104aa565b86555061058c565b601f19841661053b8661031c565b5f5b828110156105625784890151825560018201915060208501945060208101905061053d565b8683101561057f578489015161057b601f89168261048e565b8355505b6001600288020188555050505b505050505050565b61059d8161039a565b82525050565b5f6020820190506105b65f830184610594565b92915050565b61263a806105c95f395ff3fe60806040526004361061014a575f3560e01c806370a08231116100b5578063c0c2e0a31161006e578063c0c2e0a31461044a578063c383e22b14610472578063c87b56dd1461049a578063e985e9c5146104d6578063f2fde38b14610512578063fd4307c31461053a5761014a565b806370a0823114610360578063715018a61461039c5780638da5cb5b146103b257806395d89b41146103dc578063a22cb46514610406578063b88d4fde1461042e5761014a565b80632da9bf60116101075780632da9bf601461025257806342842e0e1461027a57806342966c68146102965780634f558e79146102be5780636352211e146102fa578063698f87be146103365761014a565b806301ffc9a71461014e57806306fdde031461018a578063081812fc146101b4578063095ea7b3146101f057806318160ddd1461020c57806323b872dd14610236575b5f5ffd5b348015610159575f5ffd5b50610174600480360381019061016f9190611c25565b610564565b6040516101819190611c6a565b60405180910390f35b348015610195575f5ffd5b5061019e6105f5565b6040516101ab9190611cf3565b60405180910390f35b3480156101bf575f5ffd5b506101da60048036038101906101d59190611d46565b610685565b6040516101e79190611db0565b60405180910390f35b61020a60048036038101906102059190611df3565b6106de565b005b348015610217575f5ffd5b506102206106ee565b60405161022d9190611e40565b60405180910390f35b610250600480360381019061024b9190611e59565b610739565b005b34801561025d575f5ffd5b5061027860048036038101906102739190611d46565b6109ba565b005b610294600480360381019061028f9190611e59565b610a6f565b005b3480156102a1575f5ffd5b506102bc60048036038101906102b79190611d46565b610a8e565b005b3480156102c9575f5ffd5b506102e460048036038101906102df9190611d46565b610a9c565b6040516102f19190611c6a565b60405180910390f35b348015610305575f5ffd5b50610320600480360381019061031b9190611d46565b610aad565b60405161032d9190611db0565b60405180910390f35b348015610341575f5ffd5b5061034a610abe565b6040516103579190611f04565b60405180910390f35b34801561036b575f5ffd5b5061038660048036038101906103819190611f1d565b610ae3565b6040516103939190611e40565b60405180910390f35b3480156103a7575f5ffd5b506103b0610b77565b005b3480156103bd575f5ffd5b506103c6610bfe565b6040516103d39190611db0565b60405180910390f35b3480156103e7575f5ffd5b506103f0610c26565b6040516103fd9190611cf3565b60405180910390f35b348015610411575f5ffd5b5061042c60048036038101906104279190611f72565b610cb6565b005b610448600480360381019061044391906120dc565b610dbc565b005b348015610455575f5ffd5b50610470600480360381019061046b9190611f1d565b610e0d565b005b34801561047d575f5ffd5b5061049860048036038101906104939190611d46565b610ecc565b005b3480156104a5575f5ffd5b506104c060048036038101906104bb9190611d46565b610f31565b6040516104cd9190611cf3565b60405180910390f35b3480156104e1575f5ffd5b506104fc60048036038101906104f7919061215c565b610fd6565b6040516105099190611c6a565b60405180910390f35b34801561051d575f5ffd5b5061053860048036038101906105339190611f1d565b611030565b005b348015610545575f5ffd5b5061054e611126565b60405161055b9190611db0565b60405180910390f35b5f6301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105be57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806105ee5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b606060028054610604906121c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610630906121c7565b801561067b5780601f106106525761010080835404028352916020019161067b565b820191905f5260205f20905b81548152906001019060200180831161065e57829003601f168201915b5050505050905090565b5f61068f8261114b565b6106a4576106a363cf4700e460e01b6111ee565b5b60065f8381526020019081526020015f205f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6106ea828260016111f6565b5050565b5f6106f7611320565b6001545f54030390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610729611327565b1461073657600854810190505b90565b5f6107438261134e565b90505f8473ffffffffffffffffffffffffffffffffffffffff169050808273ffffffffffffffffffffffffffffffffffffffff161461078d5761078c63a114810060e01b6111ee565b5b5f5f6107988561145d565b915091506107c481846107a9611480565b73ffffffffffffffffffffffffffffffffffffffff16611487565b6107ef576107d9876107d4611480565b610fd6565b6107ee576107ed6359c896be60e01b6111ee565b5b5b6107fc8787876001611498565b8015610806575f82555b60055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154600190039190508190555060055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154600101919050819055506108ce866108aa89898861149e565b7c0200000000000000000000000000000000000000000000000000000000176114c5565b60045f8781526020019081526020015f20819055505f7c020000000000000000000000000000000000000000000000000000000085160361094a575f6001860190505f60045f8381526020019081526020015f205403610948575f548114610947578460045f8381526020019081526020015f20819055505b5b505b5f8673ffffffffffffffffffffffffffffffffffffffff1690508581857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa45f81036109a3576109a263ea553b3460e01b6111ee565b5b6109b088888860016114ef565b5050505050505050565b60015f5f6101000a815c8160ff021916908315150217905d503073ffffffffffffffffffffffffffffffffffffffff166109f382610aad565b73ffffffffffffffffffffffffffffffffffffffff1614610a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4090612241565b60405180910390fd5b610a54303383610a6f565b5f5f5f6101000a815c8160ff021916908315150217905d5050565b610a8983838360405180602001604052805f815250610dbc565b505050565b610a998160016114f5565b50565b5f610aa68261114b565b9050919050565b5f610ab78261134e565b9050919050565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b2857610b27638f4eb60460e01b6111ee565b5b67ffffffffffffffff60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054169050919050565b610b7f611741565b73ffffffffffffffffffffffffffffffffffffffff16610b9d610bfe565b73ffffffffffffffffffffffffffffffffffffffff1614610bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bea906122a9565b60405180910390fd5b610bfc5f611748565b565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610c35906121c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610c61906121c7565b8015610cac5780601f10610c8357610100808354040283529160200191610cac565b820191905f5260205f20905b815481529060010190602001808311610c8f57829003601f168201915b5050505050905090565b8060075f610cc2611480565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610d6b611480565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610db09190611c6a565b60405180910390a35050565b610dc7848484610739565b5f8373ffffffffffffffffffffffffffffffffffffffff163b14610e0757610df18484848461180b565b610e0657610e0563d1a57ed660e01b6111ee565b5b5b50505050565b610e15611741565b73ffffffffffffffffffffffffffffffffffffffff16610e33610bfe565b73ffffffffffffffffffffffffffffffffffffffff1614610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e80906122a9565b60405180910390fd5b80600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b620f424081610ed9611935565b610ee391906122f4565b1115610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b90612371565b60405180910390fd5b610f2e308261197c565b50565b6060600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c87b56dd836040518263ffffffff1660e01b8152600401610f8d9190611e40565b5f60405180830381865afa158015610fa7573d5f5f3e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610fcf919061242d565b9050919050565b5f5f5f905c906101000a900460ff16610ff857610ff38383611ada565b611028565b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b905092915050565b611038611741565b73ffffffffffffffffffffffffffffffffffffffff16611056610bfe565b73ffffffffffffffffffffffffffffffffffffffff16146110ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a3906122a9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361111a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611111906124e4565b60405180910390fd5b61112381611748565b50565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f81611155611320565b116111e857611162611327565b82111561118a5761118360045f8481526020019081526020015f2054611b68565b90506111e9565b5f548210156111e7575f5b5f60045f8581526020019081526020015f2054915081036111c157826111ba90612502565b9250611195565b5f7c01000000000000000000000000000000000000000000000000000000008216149150505b5b5b919050565b805f5260045ffd5b5f61120083610aad565b905081801561124257508073ffffffffffffffffffffffffffffffffffffffff16611229611480565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561126e5761125881611253611480565b610fd6565b61126d5761126c63cfb3b94260e01b6111ee565b5b5b8360065f8581526020019081526020015f205f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a450505050565b5f5f905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b5f81611358611320565b116114475760045f8381526020019081526020015f20549050611379611327565b82111561139e5761138981611b68565b6114585761139d63df2d9b4260e01b6111ee565b5b5f810361141f575f5482106113be576113bd63df2d9b4260e01b6111ee565b5b5b60045f836001900393508381526020019081526020015f205490505f81031561141a575f7c0100000000000000000000000000000000000000000000000000000000821603156114585761141963df2d9b4260e01b6111ee565b5b6113bf565b5f7c010000000000000000000000000000000000000000000000000000000082160315611458575b61145763df2d9b4260e01b6111ee565b5b919050565b5f5f5f60065f8581526020019081526020015f2090508092508254915050915091565b5f33905090565b5f8382148383141790509392505050565b50505050565b5f5f60e883901c905060e86114b4868684611ba8565b62ffffff16901b9150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b5f6114ff8361134e565b90505f8173ffffffffffffffffffffffffffffffffffffffff1690505f8190505f5f61152a8761145d565b9150915085156115885761155c8185611541611480565b73ffffffffffffffffffffffffffffffffffffffff16611487565b611587576115718361156c611480565b610fd6565b611586576115856359c896be60e01b6111ee565b5b5b5b611595835f896001611498565b801561159f575f82555b600160806001901b0360055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555061164383611600855f8961149e565b7c02000000000000000000000000000000000000000000000000000000007c010000000000000000000000000000000000000000000000000000000017176114c5565b60045f8981526020019081526020015f20819055505f7c02000000000000000000000000000000000000000000000000000000008616036116bf575f6001880190505f60045f8381526020019081526020015f2054036116bd575f5481146116bc578560045f8381526020019081526020015f20819055505b5b505b865f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611727835f8960016114ef565b60015f815480929190600101919050555050505050505050565b5f33905090565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611830611480565b8786866040518563ffffffff1660e01b8152600401611852949392919061257b565b6020604051808303815f875af192505050801561188d57506040513d601f19601f8201168201806040525081019061188a91906125d9565b60015b6118e2573d805f81146118bb576040519150601f19603f3d011682016040523d82523d5f602084013e6118c0565b606091505b505f8151036118da576118d963d1a57ed660e01b6111ee565b5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b5f61193e611320565b5f540390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61196c611327565b1461197957600854810190505b90565b5f5f5490505f82036119995761199863b562e8dd60e01b6111ee565b5b6119a55f848385611498565b6119c3836119b45f865f61149e565b6119bd85611bb0565b176114c5565b60045f8381526020019081526020015f2081905550600160406001901b17820260055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505f8373ffffffffffffffffffffffffffffffffffffffff1690505f8103611a5e57611a5d632e07630060e01b6111ee565b5b5f83830190505f839050611a70611327565b600183031115611a8b57611a8a6381647e3a60e01b6111ee565b5b5b80835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa4818160010191508103611a8c57815f81905550505050611ad55f8483856114ef565b505050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f7c0100000000000000000000000000000000000000000000000000000000821673ffffffffffffffffffffffffffffffffffffffff8316119050919050565b5f9392505050565b5f6001821460e11b9050919050565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611c0481611bd0565b8114611c0e575f5ffd5b50565b5f81359050611c1f81611bfb565b92915050565b5f60208284031215611c3a57611c39611bc8565b5b5f611c4784828501611c11565b91505092915050565b5f8115159050919050565b611c6481611c50565b82525050565b5f602082019050611c7d5f830184611c5b565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611cc582611c83565b611ccf8185611c8d565b9350611cdf818560208601611c9d565b611ce881611cab565b840191505092915050565b5f6020820190508181035f830152611d0b8184611cbb565b905092915050565b5f819050919050565b611d2581611d13565b8114611d2f575f5ffd5b50565b5f81359050611d4081611d1c565b92915050565b5f60208284031215611d5b57611d5a611bc8565b5b5f611d6884828501611d32565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d9a82611d71565b9050919050565b611daa81611d90565b82525050565b5f602082019050611dc35f830184611da1565b92915050565b611dd281611d90565b8114611ddc575f5ffd5b50565b5f81359050611ded81611dc9565b92915050565b5f5f60408385031215611e0957611e08611bc8565b5b5f611e1685828601611ddf565b9250506020611e2785828601611d32565b9150509250929050565b611e3a81611d13565b82525050565b5f602082019050611e535f830184611e31565b92915050565b5f5f5f60608486031215611e7057611e6f611bc8565b5b5f611e7d86828701611ddf565b9350506020611e8e86828701611ddf565b9250506040611e9f86828701611d32565b9150509250925092565b5f819050919050565b5f611ecc611ec7611ec284611d71565b611ea9565b611d71565b9050919050565b5f611edd82611eb2565b9050919050565b5f611eee82611ed3565b9050919050565b611efe81611ee4565b82525050565b5f602082019050611f175f830184611ef5565b92915050565b5f60208284031215611f3257611f31611bc8565b5b5f611f3f84828501611ddf565b91505092915050565b611f5181611c50565b8114611f5b575f5ffd5b50565b5f81359050611f6c81611f48565b92915050565b5f5f60408385031215611f8857611f87611bc8565b5b5f611f9585828601611ddf565b9250506020611fa685828601611f5e565b9150509250929050565b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611fee82611cab565b810181811067ffffffffffffffff8211171561200d5761200c611fb8565b5b80604052505050565b5f61201f611bbf565b905061202b8282611fe5565b919050565b5f67ffffffffffffffff82111561204a57612049611fb8565b5b61205382611cab565b9050602081019050919050565b828183375f83830152505050565b5f61208061207b84612030565b612016565b90508281526020810184848401111561209c5761209b611fb4565b5b6120a7848285612060565b509392505050565b5f82601f8301126120c3576120c2611fb0565b5b81356120d384826020860161206e565b91505092915050565b5f5f5f5f608085870312156120f4576120f3611bc8565b5b5f61210187828801611ddf565b945050602061211287828801611ddf565b935050604061212387828801611d32565b925050606085013567ffffffffffffffff81111561214457612143611bcc565b5b612150878288016120af565b91505092959194509250565b5f5f6040838503121561217257612171611bc8565b5b5f61217f85828601611ddf565b925050602061219085828601611ddf565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806121de57607f821691505b6020821081036121f1576121f061219a565b5b50919050565b7f547265652068617320616c7265616479206265656e207265706c616e746564005f82015250565b5f61222b601f83611c8d565b9150612236826121f7565b602082019050919050565b5f6020820190508181035f8301526122588161221f565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612293602083611c8d565b915061229e8261225f565b602082019050919050565b5f6020820190508181035f8301526122c081612287565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6122fe82611d13565b915061230983611d13565b9250828201905080821115612321576123206122c7565b5b92915050565b7f43616e206f6e6c7920706c616e742031206d696c6c696f6e20747265657300005f82015250565b5f61235b601e83611c8d565b915061236682612327565b602082019050919050565b5f6020820190508181035f8301526123888161234f565b9050919050565b5f67ffffffffffffffff8211156123a9576123a8611fb8565b5b6123b282611cab565b9050602081019050919050565b5f6123d16123cc8461238f565b612016565b9050828152602081018484840111156123ed576123ec611fb4565b5b6123f8848285611c9d565b509392505050565b5f82601f83011261241457612413611fb0565b5b81516124248482602086016123bf565b91505092915050565b5f6020828403121561244257612441611bc8565b5b5f82015167ffffffffffffffff81111561245f5761245e611bcc565b5b61246b84828501612400565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6124ce602683611c8d565b91506124d982612474565b604082019050919050565b5f6020820190508181035f8301526124fb816124c2565b9050919050565b5f61250c82611d13565b91505f820361251e5761251d6122c7565b5b600182039050919050565b5f81519050919050565b5f82825260208201905092915050565b5f61254d82612529565b6125578185612533565b9350612567818560208601611c9d565b61257081611cab565b840191505092915050565b5f60808201905061258e5f830187611da1565b61259b6020830186611da1565b6125a86040830185611e31565b81810360608301526125ba8184612543565b905095945050505050565b5f815190506125d381611bfb565b92915050565b5f602082840312156125ee576125ed611bc8565b5b5f6125fb848285016125c5565b9150509291505056fea264697066735822122026728c87dc6b3f23b0a2511220af06264ee5240fc3f7007abc9e14b3f48f132b64736f6c634300081c003360a060405234801561000f575f5ffd5b50604051612aea380380612aea833981810160405281019061003191906100b5565b8060808181525050335f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506100e0565b5f5ffd5b5f819050919050565b61009481610082565b811461009e575f5ffd5b50565b5f815190506100af8161008b565b92915050565b5f602082840312156100ca576100c961007e565b5b5f6100d7848285016100a1565b91505092915050565b6080516129f26100f85f395f6102ec01526129f25ff3fe608060405234801561000f575f5ffd5b506004361061007b575f3560e01c8063c87b56dd11610059578063c87b56dd1461010f578063d14400d31461013f578063d56d229d1461016f578063dc3f24251461018d5761007b565b80632e03ca281461007f5780636bb1a6c3146100af578063c321118c146100df575b5f5ffd5b6100996004803603810190610094919061122b565b6101bd565b6040516100a69190611344565b60405180910390f35b6100c960048036038101906100c4919061139a565b6102ba565b6040516100d691906113f9565b60405180910390f35b6100f960048036038101906100f49190611412565b6102e7565b6040516101069190611344565b60405180910390f35b61012960048036038101906101249190611412565b61038f565b6040516101369190611344565b60405180910390f35b6101596004803603810190610154919061148e565b6104f1565b6040516101669190611344565b60405180910390f35b610177610abf565b60405161018491906115a6565b60405180910390f35b6101a760048036038101906101a291906115bf565b610ae3565b6040516101b4919061164b565b60405180910390f35b60605f6101c989610b7a565b6101d289610b7a565b866101dc8a610b7a565b6101e58a610b7a565b6040516020016101f9959493929190611732565b60405160208183030381529060405290508261024a576040518060400160405280600781526020017f2335623334303000000000000000000000000000000000000000000000000000815250610281565b6040518060400160405280600781526020017f23303037343039000000000000000000000000000000000000000000000000008152505b61028a85610b8c565b8260405160200161029d939291906118eb565b604051602081830303815290604052915050979650505050505050565b5f82600a6102c89190611aa3565b82856102d49190611b1a565b6102de9190611b4a565b90509392505050565b60605f7f00000000000000000000000000000000000000000000000000000000000000008360405160200161031d929190611b9a565b604051602081830303815290604052805190602001205f1c905061036860405180604001604052806101f48152602001610320815250672b992ddfa23249d661010084855f896104f1565b6040516020016103789190611ca5565b604051602081830303815290604052915050919050565b60605f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634f558e79836040518263ffffffff1660e01b81526004016103ea91906113f9565b602060405180830381865afa158015610405573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104299190611ce5565b610468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045f90611d80565b60405180910390fd5b5f61047283610b8c565b90505f6104a5610481856102e7565b6040516020016104919190611344565b604051602081830303815290604052610ce5565b6040516020016104b59190611de8565b604051602081830303815290604052905081816040516020016104d99291906120d1565b60405160208183030381529060405292505050919050565b606067016345785d8a00005f8460ff1614610524578360026105139190612115565b602661051f9190612151565b610527565b60325b60ff1661053787601360016102ba565b6105419190611b1a565b88672b992ddfa23249d660026105579190612185565b61056191906121c6565b61056b91906121c6565b61057591906121f9565b96506103e861058786600260146102ba565b6002610593919061222c565b6103206105a091906122a2565b876105ab919061222c565b6105b591906122e3565b95505f6105c388888b610ae3565b905060606001600a876105d69190611b4a565b10156106c55761063c6103e85f6002600a8a6105f29190611b1a565b6105fc9190611b4a565b146106095761019061060d565b6102265b61ffff16845f01518d5f015161062391906122a2565b61062d9190612185565b6106379190611b1a565b610b8c565b61069e6103e85f6002600a8b6106529190611b1a565b61065c9190611b4a565b146106695761019061066d565b6102265b61ffff1685602001518e6020015161068591906122a2565b61068f9190612185565b6106999190611b1a565b610b8c565b6040516020016106af929190612395565b60405160208183030381529060405290506107fc565b6002600a876106d49190611b4a565b10156106f05760405180602001604052805f81525090506107fb565b6107636103e85f60028a6107049190611b4a565b146107345760506107188a6002601e6102ba565b6107229190611b1a565b61020d61072f91906121c6565b610738565b6101db5b845f01518d5f015161074a91906122a2565b6107549190612185565b61075e9190611b1a565b610b8c565b6107d86103e85f60028b6107779190611b4a565b146107a757605061078b8b600260216102ba565b6107959190611b1a565b61020d6107a291906121c6565b6107ab565b6101db5b85602001518e602001516107bf91906122a2565b6107c99190612185565b6107d39190611b1a565b610b8c565b6040516020016107e9929190612395565b60405160208183030381529060405290505b5b5f61082f8b5f01518c60200151855f01518660200151868b60086108209190612151565b60ff1660068d60ff16116101bd565b905060078660ff1611610aae575f5f6014620186a08a61084f9190611b1a565b6108599190611b4a565b0361086757600590506108dc565b60016014620186a08a61087a9190611b1a565b6108849190611b4a565b0361089257600c90506108db565b60056014620186a08a6108a59190611b1a565b6108af9190611b4a565b10156108d557600a896108c29190611b4a565b600e6108ce91906121f9565b90506108da565b600790505b5b5b5f60326103e88b6108ed9190611b1a565b6108f79190611b4a565b146109b457816109918583672b992ddfa23249d66109159190611b1a565b8e61092091906121c6565b601e8b601461092f91906123ce565b5f0b8f61093c919061222c565b61094691906122e3565b61097d8e8d60405160200161095c929190612480565b604051602081830303815290604052805190602001205f1c600a60326102ba565b8d60018e61098b91906123ce565b8d6104f1565b6040516020016109a29291906124b6565b60405160208183030381529060405291505b600160326103e88b6109c69190611b1a565b6109d09190611b4a565b14610aac5781610a898583672b992ddfa23249d66109ee9190611b1a565b672b992ddfa23249d66002610a039190612185565b8f610a0e91906121c6565b610a1891906121f9565b601e8b6014610a2791906123ce565b5f0b8f610a34919061222c565b610a3e91906122e3565b610a758e8d604051602001610a549291906124d9565b604051602081830303815290604052805190602001205f1c600a603c6102ba565b8d60018e610a8391906123ce565b8d6104f1565b604051602001610a9a9291906124b6565b60405160208183030381529060405291505b505b809350505050979650505050505050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610aeb61102b565b610af361102b565b825f0151670de0b6b3a764000085610b0a88610e75565b610b14919061222c565b610b1e91906122e3565b610b2891906122a2565b815f0181815250508260200151670de0b6b3a764000085610b4888610fff565b610b52919061222c565b610b5c91906122e3565b610b6691906122a2565b816020018181525050809150509392505050565b6060610b8582610b8c565b9050919050565b60605f8203610bd2576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050610ce0565b5f8290505f5b5f8214610c01578080610bea90612504565b915050600a82610bfa9190611b1a565b9150610bd8565b5f8167ffffffffffffffff811115610c1c57610c1b61109f565b5b6040519080825280601f01601f191660200182016040528015610c4e5781602001600182028036833780820191505090505b5090505b5f8514610cd957600182610c6691906121f9565b9150600a85610c759190611b4a565b6030610c8191906121c6565b60f81b818381518110610c9757610c9661254b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600a85610cd29190611b1a565b9450610c52565b8093505050505b919050565b60605f825190505f8103610d0a5760405180602001604052805f815250915050610e70565b5f6003600283610d1a91906121c6565b610d249190611b1a565b6004610d309190612185565b90505f602082610d4091906121c6565b67ffffffffffffffff811115610d5957610d5861109f565b5b6040519080825280601f01601f191660200182016040528015610d8b5781602001600182028036833780820191505090505b5090505f60405180606001604052806040815260200161297d60409139905060018101602083015f5b86811015610e2d5760038101905062ffffff818a015116603f8160121c168401518060081b905060ff603f83600c1c1686015116810190508060081b905060ff603f8360061c1686015116810190508060081b905060ff603f831686015116810190508060e01b90508084526004840193505050610db4565b506003860660018114610e475760028114610e5757610e62565b613d3d60f01b6002830352610e62565b603d60f81b60018303525b508484525050819450505050505b919050565b5f672b992ddfa23249d6600202672b992ddfa23249d66002028381610e9d57610e9c611aed565b5b06634000000063ffffffff160281610eb857610eb7611aed565b5b0491505f600160106001901b0360106008601c030384901c1690505f600160086001901b036008601c0385901c1690505f5f631000000063ffffffff1686161490505f5f632000000063ffffffff1687161415905081610f1d57826001610100030392505b5f6040518061044001604052806104048152602001612579610404913990505f600460ff16600286010290505f8183015190505f6001600460080260ff166001901b03600460080260ff1683901c1690505f6001600460080260ff166001901b03831690505f60108a84840302901c90505f88610f9c57818303610fa0565b8184015b90508715610fce577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810290505b637fffffff670de0b6b3a7640000820281610fec57610feb611aed565b5b059b505050505050505050505050919050565b5f6110246002672b992ddfa23249d68161101c5761101b611aed565b5b048301610e75565b9050919050565b60405180604001604052805f81526020015f81525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b61106681611054565b8114611070575f5ffd5b50565b5f813590506110818161105d565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6110d58261108f565b810181811067ffffffffffffffff821117156110f4576110f361109f565b5b80604052505050565b5f611106611043565b905061111282826110cc565b919050565b5f67ffffffffffffffff8211156111315761113061109f565b5b61113a8261108f565b9050602081019050919050565b828183375f83830152505050565b5f61116761116284611117565b6110fd565b9050828152602081018484840111156111835761118261108b565b5b61118e848285611147565b509392505050565b5f82601f8301126111aa576111a9611087565b5b81356111ba848260208601611155565b91505092915050565b5f819050919050565b6111d5816111c3565b81146111df575f5ffd5b50565b5f813590506111f0816111cc565b92915050565b5f8115159050919050565b61120a816111f6565b8114611214575f5ffd5b50565b5f8135905061122581611201565b92915050565b5f5f5f5f5f5f5f60e0888a0312156112465761124561104c565b5b5f6112538a828b01611073565b97505060206112648a828b01611073565b96505060406112758a828b01611073565b95505060606112868a828b01611073565b945050608088013567ffffffffffffffff8111156112a7576112a6611050565b5b6112b38a828b01611196565b93505060a06112c48a828b016111e2565b92505060c06112d58a828b01611217565b91505092959891949750929550565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f611316826112e4565b61132081856112ee565b93506113308185602086016112fe565b6113398161108f565b840191505092915050565b5f6020820190508181035f83015261135c818461130c565b905092915050565b5f60ff82169050919050565b61137981611364565b8114611383575f5ffd5b50565b5f8135905061139481611370565b92915050565b5f5f5f606084860312156113b1576113b061104c565b5b5f6113be868287016111e2565b93505060206113cf86828701611386565b92505060406113e0868287016111e2565b9150509250925092565b6113f3816111c3565b82525050565b5f60208201905061140c5f8301846113ea565b92915050565b5f602082840312156114275761142661104c565b5b5f611434848285016111e2565b91505092915050565b5f5ffd5b5f604082840312156114565761145561143d565b5b61146060406110fd565b90505f61146f84828501611073565b5f83015250602061148284828501611073565b60208301525092915050565b5f5f5f5f5f5f5f610100888a0312156114aa576114a961104c565b5b5f6114b78a828b01611441565b97505060406114c88a828b016111e2565b96505060606114d98a828b01611073565b95505060806114ea8a828b016111e2565b94505060a06114fb8a828b016111e2565b93505060c061150c8a828b01611386565b92505060e061151d8a828b016111e2565b91505092959891949750929550565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61156e6115696115648461152c565b61154b565b61152c565b9050919050565b5f61157f82611554565b9050919050565b5f61159082611575565b9050919050565b6115a081611586565b82525050565b5f6020820190506115b95f830184611597565b92915050565b5f5f5f608084860312156115d6576115d561104c565b5b5f6115e3868287016111e2565b93505060206115f486828701611073565b925050604061160586828701611441565b9150509250925092565b61161881611054565b82525050565b604082015f8201516116325f85018261160f565b506020820151611645602085018261160f565b50505050565b5f60408201905061165e5f83018461161e565b92915050565b5f81905092915050565b5f611678826112e4565b6116828185611664565b93506116928185602086016112fe565b80840191505092915050565b7f20000000000000000000000000000000000000000000000000000000000000005f82015250565b5f6116d2600183611664565b91506116dd8261169e565b600182019050919050565b7f2c000000000000000000000000000000000000000000000000000000000000005f82015250565b5f61171c600183611664565b9150611727826116e8565b600182019050919050565b5f61173d828861166e565b9150611748826116c6565b9150611754828761166e565b9150611760828661166e565b915061176b82611710565b9150611777828561166e565b9150611782826116c6565b915061178e828461166e565b91508190509695505050505050565b7f3c70617468207374726f6b653d220000000000000000000000000000000000005f82015250565b5f6117d1600e83611664565b91506117dc8261179d565b600e82019050919050565b7f222066696c6c3d226e6f6e6522207374726f6b652d6c696e656361703d22726f5f8201527f756e6422207374726f6b652d77696474683d2200000000000000000000000000602082015250565b5f611841603383611664565b915061184c826117e7565b603382019050919050565b7f2220643d224d00000000000000000000000000000000000000000000000000005f82015250565b5f61188b600683611664565b915061189682611857565b600682019050919050565b7f222f3e00000000000000000000000000000000000000000000000000000000005f82015250565b5f6118d5600383611664565b91506118e0826118a1565b600382019050919050565b5f6118f5826117c5565b9150611901828661166e565b915061190c82611835565b9150611918828561166e565b91506119238261187f565b915061192f828461166e565b915061193a826118c9565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156119c9578086048111156119a5576119a4611947565b5b60018516156119b45780820291505b80810290506119c285611974565b9450611989565b94509492505050565b5f826119e15760019050611a9c565b816119ee575f9050611a9c565b8160018114611a045760028114611a0e57611a3d565b6001915050611a9c565b60ff841115611a2057611a1f611947565b5b8360020a915084821115611a3757611a36611947565b5b50611a9c565b5060208310610133831016604e8410600b8410161715611a725782820a905083811115611a6d57611a6c611947565b5b611a9c565b611a7f8484846001611980565b92509050818404811115611a9657611a95611947565b5b81810290505b9392505050565b5f611aad826111c3565b9150611ab883611364565b9250611ae57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846119d2565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b24826111c3565b9150611b2f836111c3565b925082611b3f57611b3e611aed565b5b828204905092915050565b5f611b54826111c3565b9150611b5f836111c3565b925082611b6f57611b6e611aed565b5b828206905092915050565b5f819050919050565b611b94611b8f826111c3565b611b7a565b82525050565b5f611ba58285611b83565b602082019150611bb58284611b83565b6020820191508190509392505050565b7f3c7376672069643d22737667222076696577426f783d223020302031303030205f8201527f31303030222076657273696f6e3d22312e312220786d6c6e733d22687474703a60208201527f2f2f7777772e77332e6f72672f323030302f737667223e000000000000000000604082015250565b5f611c45605783611664565b9150611c5082611bc5565b605782019050919050565b7f3c2f7376673e00000000000000000000000000000000000000000000000000005f82015250565b5f611c8f600683611664565b9150611c9a82611c5b565b600682019050919050565b5f611caf82611c39565b9150611cbb828461166e565b9150611cc682611c83565b915081905092915050565b5f81519050611cdf81611201565b92915050565b5f60208284031215611cfa57611cf961104c565b5b5f611d0784828501611cd1565b91505092915050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f5f8201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b5f611d6a602f836112ee565b9150611d7582611d10565b604082019050919050565b5f6020820190508181035f830152611d9781611d5e565b9050919050565b7f646174613a696d6167652f7376672b786d6c3b6261736536342c0000000000005f82015250565b5f611dd2601a83611664565b9150611ddd82611d9e565b601a82019050919050565b5f611df282611dc6565b9150611dfe828461166e565b915081905092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d5f8201527f65223a20224f6e65204d696c6c696f6e2054726565733a205472656520230000602082015250565b5f611e63603e83611664565b9150611e6e82611e09565b603e82019050919050565b7f222c20226465736372697074696f6e223a20224f6e65204d696c6c696f6e20545f8201527f726565732c20706c616e74656420746f20736174697366792074686520636f6e60208201527f646974696f6e73206f6620536d617274204275726e20436f6e7472616374202360408201527f37202854726565487567676572292c206465706c6f796564206174203078346660608201527f656265303430643133646264646363613861613637353438313331343236343360808201527f333965383537206f6e20457468657265756d204c312c20696e2077686963682060a08201527f746865206f776e6572206d75737420706c616e74206f6e65206d696c6c696f6e60c08201527f2074726565732077697468696e20322079656172732066726f6d20746865206460e08201527f617465206f66207075726368617365202831322f32392f3232292e222c2022696101008201527f6d616765223a202200000000000000000000000000000000000000000000000061012082015250565b5f61200661012883611664565b915061201182611e79565b61012882019050919050565b5f81519050919050565b5f81905092915050565b5f61203b8261201d565b6120458185612027565b93506120558185602086016112fe565b80840191505092915050565b7f222c202265787465726e616c5f75726c223a202268747470733a2f2f737465765f8201527f6965702e78797a2f6f6e652d6d696c6c696f6e2d7472656573227d0000000000602082015250565b5f6120bb603b83611664565b91506120c682612061565b603b82019050919050565b5f6120db82611e57565b91506120e7828561166e565b91506120f282611ff9565b91506120fe8284612031565b9150612109826120af565b91508190509392505050565b5f61211f82611364565b915061212a83611364565b925082820261213881611364565b915080821461214a57612149611947565b5b5092915050565b5f61215b82611364565b915061216683611364565b9250828203905060ff81111561217f5761217e611947565b5b92915050565b5f61218f826111c3565b915061219a836111c3565b92508282026121a8816111c3565b915082820484148315176121bf576121be611947565b5b5092915050565b5f6121d0826111c3565b91506121db836111c3565b92508282019050808211156121f3576121f2611947565b5b92915050565b5f612203826111c3565b915061220e836111c3565b925082820390508181111561222657612225611947565b5b92915050565b5f61223682611054565b915061224183611054565b925082820261224f81611054565b91507f800000000000000000000000000000000000000000000000000000000000000084145f8412161561228657612285611947565b5b828205841483151761229b5761229a611947565b5b5092915050565b5f6122ac82611054565b91506122b783611054565b92508282019050828112155f8312168382125f8412151617156122dd576122dc611947565b5b92915050565b5f6122ed82611054565b91506122f883611054565b92508261230857612307611aed565b5b60015f0383147f8000000000000000000000000000000000000000000000000000000000000000831416156123405761233f611947565b5b828205905092915050565b7f53000000000000000000000000000000000000000000000000000000000000005f82015250565b5f61237f600183611664565b915061238a8261234b565b600182019050919050565b5f61239f82612373565b91506123ab828561166e565b91506123b6826116c6565b91506123c2828461166e565b91508190509392505050565b5f6123d882611364565b91506123e383611364565b9250828201905060ff8111156123fc576123fb611947565b5b92915050565b5f8160f81b9050919050565b5f61241882612402565b9050919050565b61243061242b82611364565b61240e565b82525050565b7f31000000000000000000000000000000000000000000000000000000000000005f82015250565b5f61246a600183611664565b915061247582612436565b600182019050919050565b5f61248b8285611b83565b60208201915061249b828461241f565b6001820191506124aa8261245e565b91508190509392505050565b5f6124c1828561166e565b91506124cd828461166e565b91508190509392505050565b5f6124e48285611b83565b6020820191506124f4828461241f565b6001820191508190509392505050565b5f61250e826111c3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036125405761253f611947565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfe0000000000c90f8801921d20025b26d703242abf03ed26e604b6195d057f00350647d97c0710a34507d95b9e08a2009a096a90490a3308bc0afb68050bc3ac350c8bd35e0d53db920e1bc2e40ee387660fab272b1072a0481139f0cf120116d512c8106e138edbb1145576b1151bdf8515e2144416a81305176dd9de183366e818f8b83c19bdcbf31a82a0251b4732ef1c0b826a1ccf8cb31d934fe51e56ca1e1f19f97b1fdcdc1b209f701c2161b39f2223a4c522e541af23a6887e2467775725280c5d25e845b626a8218527679df42826b92828e5714a29a3c4852a61b1012b1f34eb2bdc4e6f2c98fbba2d553afb2e110a622ecc681e2f8752623041c76030fbc54d31b54a5d326e54c73326e2c233def2873496824f354d905636041ad936ba2013376f9e46382493b038d8fe93398cdd323a402dd13af2eeb73ba51e293c56ba703d07c1d53db832a53e680b2c3f1749b73fc5ec974073f21d4121589a41ce1e64427a41d04325c13543d09aec447acd50452456bc45cd358f46756827471cece647c3c22e4869e664490f57ee49b415334a581c9d4afb6c974b9e038f4c3fdff34ce100344d8162c34e2106174ebfe8a44f5e08e24ffb654c5097fc5e5133cc9451ced46e5269126e53028517539b2aef5433027d54ca0a4a556040e255f5a4d2568a34a9571deef957b0d2555842dd5458d40e8c5964649759f3de125a8279995b1035ce5b9d11535c290acc5cb420df5d3e52365dc79d7b5e50015d5ed77c895f5e0db25fe3b38d60686cce60ec382f616f146b61f1003e6271fa6862f201ac637114cc63ef328f646c59bf64e889256563bf9165ddfbd266573cbb66cf811f6746c7d767bd0fbc683257aa68a69e806919e31f698c246b69fd614a6a6d98a36adcc9646b4af2786bb812d06c24295f6c8f351b6cf934fb6d6227f96dca0d146e30e3496e96a99c6efb5f116f5f02b16fc1938470231099708378fe70e2cbc571410804719e2cd171fa394872552c8472af05a67307c3cf735f662573b5ebd0740b53fa745f9dd074b2c8837504d3447555bd4b75a585ce75f42c0a7641af3c768e0ea576d9498877235f2c776c4eda77b417df77fab988784033287884841378c7aba17909a92c794a7c11798a23b079c89f6d7a05eeac7a4210d87a7d055a7ab6cba37aef63237b26cb4e7b5d039d7b920b887bc5e28f7bf8882f7c29fbed7c5a3d4f7c894bdd7cb727237ce3ceb17d0f42177d3980eb7d628ac57d8a5f3f7db0fdf77dd6668e7dfa98a77e1d93e97e3f57fe7e5fe4927e7f39567e9d55fb7eba3a387ed5e5c57ef0585f7f0991c37f2191b37f3857f57f4de4507f62368e7f754e7f7f872bf27f97cebc7fa736b37fb563b27fc255957fce0c3d7fd8878d7fe1c76a7fe9cbbf7ff094777ff621817ffa72d07ffd88597fff62157fffffff4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122009bc5dcac511ef6e4889e333f479193429581c94bdc1ab6388136b43906c935a64736f6c634300081c0033