Loading
60806040525f600455620f42406008553480156200001b575f80fd5b5060405162003ab638038062003ab6833981810160405281019062000041919062000540565b8162000053816200012d60201b60201c565b5062000074620000686200014260201b60201c565b6200014960201b60201c565b62000085816200020c60201b60201c565b6040518060400160405280600a81526020017f323030302420555344430000000000000000000000000000000000000000000081525060069081620000cb9190620007db565b506040518060400160405280600781526020017f564f55434845520000000000000000000000000000000000000000000000000081525060079081620001129190620007db565b508160059081620001249190620007db565b505050620009d1565b80600290816200013e9190620007db565b5050565b5f33905090565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200021c620002a160201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200028d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002849062000943565b60405180910390fd5b6200029e816200014960201b60201c565b50565b620002b16200014260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620002d76200033260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200032790620009b1565b60405180910390fd5b565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620003bb8262000373565b810181811067ffffffffffffffff82111715620003dd57620003dc62000383565b5b80604052505050565b5f620003f16200035a565b9050620003ff8282620003b0565b919050565b5f67ffffffffffffffff82111562000421576200042062000383565b5b6200042c8262000373565b9050602081019050919050565b5f5b83811015620004585780820151818401526020810190506200043b565b5f8484015250505050565b5f62000479620004738462000404565b620003e6565b9050828152602081018484840111156200049857620004976200036f565b5b620004a584828562000439565b509392505050565b5f82601f830112620004c457620004c36200036b565b5b8151620004d684826020860162000463565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200050a82620004df565b9050919050565b6200051c81620004fe565b811462000527575f80fd5b50565b5f815190506200053a8162000511565b92915050565b5f806040838503121562000559576200055862000363565b5b5f83015167ffffffffffffffff81111562000579576200057862000367565b5b6200058785828601620004ad565b92505060206200059a858286016200052a565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620005f357607f821691505b602082108103620006095762000608620005ae565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200066d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000630565b62000679868362000630565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620006c3620006bd620006b78462000691565b6200069a565b62000691565b9050919050565b5f819050919050565b620006de83620006a3565b620006f6620006ed82620006ca565b8484546200063c565b825550505050565b5f90565b6200070c620006fe565b62000719818484620006d3565b505050565b5b818110156200074057620007345f8262000702565b6001810190506200071f565b5050565b601f8211156200078f5762000759816200060f565b620007648462000621565b8101602085101562000774578190505b6200078c620007838562000621565b8301826200071e565b50505b505050565b5f82821c905092915050565b5f620007b15f198460080262000794565b1980831691505092915050565b5f620007cb8383620007a0565b9150826002028217905092915050565b620007e682620005a4565b67ffffffffffffffff81111562000802576200080162000383565b5b6200080e8254620005db565b6200081b82828562000744565b5f60209050601f83116001811462000851575f84156200083c578287015190505b620008488582620007be565b865550620008b7565b601f19841662000861866200060f565b5f5b828110156200088a5784890151825560018201915060208501945060208101905062000863565b86831015620008aa5784890151620008a6601f891682620007a0565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6200092b602683620008bf565b91506200093882620008cf565b604082019050919050565b5f6020820190508181035f8301526200095c816200091d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62000999602083620008bf565b9150620009a68262000963565b602082019050919050565b5f6020820190508181035f830152620009ca816200098b565b9050919050565b6130d780620009df5f395ff3fe608060405234801561000f575f80fd5b50600436106100fd575f3560e01c8063715018a611610095578063a22cb46511610064578063a22cb46514610295578063e985e9c5146102b1578063f242432a146102e1578063f2fde38b146102fd576100fd565b8063715018a614610233578063729ad39e1461023d5780638da5cb5b1461025957806395d89b4114610277576100fd565b80632eb2c2d6116100d15780632eb2c2d6146101af57806330176e13146101cb5780634e1273f4146101e75780636a62784214610217576100fd565b8062fdd58e1461010157806301ffc9a71461013157806306fdde03146101615780630e89341c1461017f575b5f80fd5b61011b600480360381019061011691906119de565b610319565b6040516101289190611a2b565b60405180910390f35b61014b60048036038101906101469190611a99565b6103dc565b6040516101589190611ade565b60405180910390f35b6101696104bd565b6040516101769190611b81565b60405180910390f35b61019960048036038101906101949190611ba1565b610549565b6040516101a69190611b81565b60405180910390f35b6101c960048036038101906101c49190611dbc565b610575565b005b6101e560048036038101906101e09190611f25565b610616565b005b61020160048036038101906101fc919061202c565b610631565b60405161020e9190612159565b60405180910390f35b610231600480360381019061022c9190612179565b610748565b005b61023b610770565b005b610257600480360381019061025291906121a4565b610783565b005b61026161080c565b60405161026e91906121fa565b60405180910390f35b61027f610834565b60405161028c9190611b81565b60405180910390f35b6102af60048036038101906102aa919061223d565b6108c0565b005b6102cb60048036038101906102c6919061227b565b6108d6565b6040516102d89190611ade565b60405180910390f35b6102fb60048036038101906102f691906122b9565b610964565b005b61031760048036038101906103129190612179565b610a05565b005b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037f906123bc565b60405180910390fd5b5f808381526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f7fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104a657507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104b657506104b582610a87565b5b9050919050565b600680546104ca90612407565b80601f01602080910402602001604051908101604052809291908181526020018280546104f690612407565b80156105415780601f1061051857610100808354040283529160200191610541565b820191905f5260205f20905b81548152906001019060200180831161052457829003601f168201915b505050505081565b606060058260405160200161055f9291906124f3565b6040516020818303038152906040529050919050565b61057d610af0565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806105c357506105c2856105bd610af0565b6108d6565b5b610602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f99061258a565b60405180910390fd5b61060f8585858585610af7565b5050505050565b61061e610e05565b806005908161062d9190612733565b5050565b60608151835114610677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066e90612872565b60405180910390fd5b5f835167ffffffffffffffff81111561069357610692611bd0565b5b6040519080825280602002602001820160405280156106c15781602001602082028036833780820191505090505b5090505f5b845181101561073d5761070d8582815181106106e5576106e4612890565b5b6020026020010151858381518110610700576106ff612890565b5b6020026020010151610319565b8282815181106107205761071f612890565b5b60200260200101818152505080610736906128ea565b90506106c6565b508091505092915050565b610750610e05565b61076d81600454600160405180602001604052805f815250610e83565b50565b610778610e05565b6107815f611026565b565b61078b610e05565b5f5b8151811015610808576107b98282815181106107ac576107ab612890565b5b60200260200101516110e9565b6107f5576107f48282815181106107d3576107d2612890565b5b6020026020010151600454600160405180602001604052805f815250610e83565b5b8080610800906128ea565b91505061078d565b5050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6007805461084190612407565b80601f016020809104026020016040519081016040528092919081815260200182805461086d90612407565b80156108b85780601f1061088f576101008083540402835291602001916108b8565b820191905f5260205f20905b81548152906001019060200180831161089b57829003601f168201915b505050505081565b6108d26108cb610af0565b83836110fa565b5050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b61096c610af0565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806109b257506109b1856109ac610af0565b6108d6565b5b6109f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e89061258a565b60405180910390fd5b6109fe8585858585611261565b5050505050565b610a0d610e05565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a72906129a1565b60405180910390fd5b610a8481611026565b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f33905090565b8151835114610b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3290612a2f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba090612abd565b60405180910390fd5b5f610bb2610af0565b9050610bc28187878787876114ea565b5f5b8451811015610d62575f858281518110610be157610be0612890565b5b602002602001015190505f858381518110610bff57610bfe612890565b5b602002602001015190505f805f8481526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610c9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290612b4b565b60405180910390fd5b8181035f808581526020019081526020015f205f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808581526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610d479190612b69565b9250508190555050505080610d5b906128ea565b9050610bc4565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610dd9929190612b9c565b60405180910390a4610def8187878787876114f2565b610dfd8187878787876114fa565b505050505050565b610e0d610af0565b73ffffffffffffffffffffffffffffffffffffffff16610e2b61080c565b73ffffffffffffffffffffffffffffffffffffffff1614610e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7890612c1b565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890612ca9565b60405180910390fd5b5f610efa610af0565b90505f610f06856116d0565b90505f610f12856116d0565b9050610f22835f898585896114ea565b845f808881526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f7c9190612b69565b925050819055508673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051610ff9929190612cc7565b60405180910390a461100f835f898585896114f2565b61101d835f89898989611748565b50505050505050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6110f38261191e565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115f90612d5e565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516112549190611ade565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612abd565b60405180910390fd5b5f6112d8610af0565b90505f6112e4856116d0565b90505f6112f0856116d0565b90506113008389898585896114ea565b5f805f8881526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905085811015611392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138990612b4b565b60405180910390fd5b8581035f808981526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550855f808981526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461143e9190612b69565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a6040516114bb929190612cc7565b60405180910390a46114d1848a8a86868a6114f2565b6114df848a8a8a8a8a611748565b505050505050505050565b505050505050565b505050505050565b6115198473ffffffffffffffffffffffffffffffffffffffff1661191e565b156116c8578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b815260040161155f959493929190612dce565b6020604051808303815f875af192505050801561159a57506040513d601f19601f820116820180604052508101906115979190612e48565b60015b61163f576115a6612e7f565b806308c379a00361160257506115ba612e9e565b806115c55750611604565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f99190611b81565b60405180910390fd5b505b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163690612f9d565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146116c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bd9061302b565b60405180910390fd5b505b505050505050565b60605f600167ffffffffffffffff8111156116ee576116ed611bd0565b5b60405190808252806020026020018201604052801561171c5781602001602082028036833780820191505090505b50905082815f8151811061173357611732612890565b5b60200260200101818152505080915050919050565b6117678473ffffffffffffffffffffffffffffffffffffffff1661191e565b15611916578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016117ad959493929190613049565b6020604051808303815f875af19250505080156117e857506040513d601f19601f820116820180604052508101906117e59190612e48565b60015b61188d576117f4612e7f565b806308c379a0036118505750611808612e9e565b806118135750611852565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118479190611b81565b60405180910390fd5b505b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188490612f9d565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b9061302b565b60405180910390fd5b505b505050505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61197a82611951565b9050919050565b61198a81611970565b8114611994575f80fd5b50565b5f813590506119a581611981565b92915050565b5f819050919050565b6119bd816119ab565b81146119c7575f80fd5b50565b5f813590506119d8816119b4565b92915050565b5f80604083850312156119f4576119f3611949565b5b5f611a0185828601611997565b9250506020611a12858286016119ca565b9150509250929050565b611a25816119ab565b82525050565b5f602082019050611a3e5f830184611a1c565b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a7881611a44565b8114611a82575f80fd5b50565b5f81359050611a9381611a6f565b92915050565b5f60208284031215611aae57611aad611949565b5b5f611abb84828501611a85565b91505092915050565b5f8115159050919050565b611ad881611ac4565b82525050565b5f602082019050611af15f830184611acf565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611b2e578082015181840152602081019050611b13565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611b5382611af7565b611b5d8185611b01565b9350611b6d818560208601611b11565b611b7681611b39565b840191505092915050565b5f6020820190508181035f830152611b998184611b49565b905092915050565b5f60208284031215611bb657611bb5611949565b5b5f611bc3848285016119ca565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611c0682611b39565b810181811067ffffffffffffffff82111715611c2557611c24611bd0565b5b80604052505050565b5f611c37611940565b9050611c438282611bfd565b919050565b5f67ffffffffffffffff821115611c6257611c61611bd0565b5b602082029050602081019050919050565b5f80fd5b5f611c89611c8484611c48565b611c2e565b90508083825260208201905060208402830185811115611cac57611cab611c73565b5b835b81811015611cd55780611cc188826119ca565b845260208401935050602081019050611cae565b5050509392505050565b5f82601f830112611cf357611cf2611bcc565b5b8135611d03848260208601611c77565b91505092915050565b5f80fd5b5f67ffffffffffffffff821115611d2a57611d29611bd0565b5b611d3382611b39565b9050602081019050919050565b828183375f83830152505050565b5f611d60611d5b84611d10565b611c2e565b905082815260208101848484011115611d7c57611d7b611d0c565b5b611d87848285611d40565b509392505050565b5f82601f830112611da357611da2611bcc565b5b8135611db3848260208601611d4e565b91505092915050565b5f805f805f60a08688031215611dd557611dd4611949565b5b5f611de288828901611997565b9550506020611df388828901611997565b945050604086013567ffffffffffffffff811115611e1457611e1361194d565b5b611e2088828901611cdf565b935050606086013567ffffffffffffffff811115611e4157611e4061194d565b5b611e4d88828901611cdf565b925050608086013567ffffffffffffffff811115611e6e57611e6d61194d565b5b611e7a88828901611d8f565b9150509295509295909350565b5f67ffffffffffffffff821115611ea157611ea0611bd0565b5b611eaa82611b39565b9050602081019050919050565b5f611ec9611ec484611e87565b611c2e565b905082815260208101848484011115611ee557611ee4611d0c565b5b611ef0848285611d40565b509392505050565b5f82601f830112611f0c57611f0b611bcc565b5b8135611f1c848260208601611eb7565b91505092915050565b5f60208284031215611f3a57611f39611949565b5b5f82013567ffffffffffffffff811115611f5757611f5661194d565b5b611f6384828501611ef8565b91505092915050565b5f67ffffffffffffffff821115611f8657611f85611bd0565b5b602082029050602081019050919050565b5f611fa9611fa484611f6c565b611c2e565b90508083825260208201905060208402830185811115611fcc57611fcb611c73565b5b835b81811015611ff55780611fe18882611997565b845260208401935050602081019050611fce565b5050509392505050565b5f82601f83011261201357612012611bcc565b5b8135612023848260208601611f97565b91505092915050565b5f806040838503121561204257612041611949565b5b5f83013567ffffffffffffffff81111561205f5761205e61194d565b5b61206b85828601611fff565b925050602083013567ffffffffffffffff81111561208c5761208b61194d565b5b61209885828601611cdf565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6120d4816119ab565b82525050565b5f6120e583836120cb565b60208301905092915050565b5f602082019050919050565b5f612107826120a2565b61211181856120ac565b935061211c836120bc565b805f5b8381101561214c57815161213388826120da565b975061213e836120f1565b92505060018101905061211f565b5085935050505092915050565b5f6020820190508181035f83015261217181846120fd565b905092915050565b5f6020828403121561218e5761218d611949565b5b5f61219b84828501611997565b91505092915050565b5f602082840312156121b9576121b8611949565b5b5f82013567ffffffffffffffff8111156121d6576121d561194d565b5b6121e284828501611fff565b91505092915050565b6121f481611970565b82525050565b5f60208201905061220d5f8301846121eb565b92915050565b61221c81611ac4565b8114612226575f80fd5b50565b5f8135905061223781612213565b92915050565b5f806040838503121561225357612252611949565b5b5f61226085828601611997565b925050602061227185828601612229565b9150509250929050565b5f806040838503121561229157612290611949565b5b5f61229e85828601611997565b92505060206122af85828601611997565b9150509250929050565b5f805f805f60a086880312156122d2576122d1611949565b5b5f6122df88828901611997565b95505060206122f088828901611997565b9450506040612301888289016119ca565b9350506060612312888289016119ca565b925050608086013567ffffffffffffffff8111156123335761233261194d565b5b61233f88828901611d8f565b9150509295509295909350565b7f455243313135353a2061646472657373207a65726f206973206e6f74206120765f8201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b5f6123a6602a83611b01565b91506123b18261234c565b604082019050919050565b5f6020820190508181035f8301526123d38161239a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061241e57607f821691505b602082108103612431576124306123da565b5b50919050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815461245f81612407565b6124698186612437565b9450600182165f81146124835760018114612498576124ca565b60ff19831686528115158202860193506124ca565b6124a185612441565b5f5b838110156124c2578154818901526001820191506020810190506124a3565b838801955050505b50505092915050565b5f819050919050565b6124ed6124e8826119ab565b6124d3565b82525050565b5f6124fe8285612453565b915061250a82846124dc565b6020820191508190509392505050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e5f8201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b5f612574602e83611b01565b915061257f8261251a565b604082019050919050565b5f6020820190508181035f8301526125a181612568565b9050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026125f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826125b7565b6125fc86836125b7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61263761263261262d846119ab565b612614565b6119ab565b9050919050565b5f819050919050565b6126508361261d565b61266461265c8261263e565b8484546125c3565b825550505050565b5f90565b61267861266c565b612683818484612647565b505050565b5b818110156126a65761269b5f82612670565b600181019050612689565b5050565b601f8211156126eb576126bc81612441565b6126c5846125a8565b810160208510156126d4578190505b6126e86126e0856125a8565b830182612688565b50505b505050565b5f82821c905092915050565b5f61270b5f19846008026126f0565b1980831691505092915050565b5f61272383836126fc565b9150826002028217905092915050565b61273c82611af7565b67ffffffffffffffff81111561275557612754611bd0565b5b61275f8254612407565b61276a8282856126aa565b5f60209050601f83116001811461279b575f8415612789578287015190505b6127938582612718565b8655506127fa565b601f1984166127a986612441565b5f5b828110156127d0578489015182556001820191506020850194506020810190506127ab565b868310156127ed57848901516127e9601f8916826126fc565b8355505b6001600288020188555050505b505050505050565b7f455243313135353a206163636f756e747320616e6420696473206c656e6774685f8201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b5f61285c602983611b01565b915061286782612802565b604082019050919050565b5f6020820190508181035f83015261288981612850565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6128f4826119ab565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612926576129256128bd565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61298b602683611b01565b915061299682612931565b604082019050919050565b5f6020820190508181035f8301526129b88161297f565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e677468205f8201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b5f612a19602883611b01565b9150612a24826129bf565b604082019050919050565b5f6020820190508181035f830152612a4681612a0d565b9050919050565b7f455243313135353a207472616e7366657220746f20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612aa7602583611b01565b9150612ab282612a4d565b604082019050919050565b5f6020820190508181035f830152612ad481612a9b565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f5f8201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b5f612b35602a83611b01565b9150612b4082612adb565b604082019050919050565b5f6020820190508181035f830152612b6281612b29565b9050919050565b5f612b73826119ab565b9150612b7e836119ab565b9250828201905080821115612b9657612b956128bd565b5b92915050565b5f6040820190508181035f830152612bb481856120fd565b90508181036020830152612bc881846120fd565b90509392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612c05602083611b01565b9150612c1082612bd1565b602082019050919050565b5f6020820190508181035f830152612c3281612bf9565b9050919050565b7f455243313135353a206d696e7420746f20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c93602183611b01565b9150612c9e82612c39565b604082019050919050565b5f6020820190508181035f830152612cc081612c87565b9050919050565b5f604082019050612cda5f830185611a1c565b612ce76020830184611a1c565b9392505050565b7f455243313135353a2073657474696e6720617070726f76616c207374617475735f8201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b5f612d48602983611b01565b9150612d5382612cee565b604082019050919050565b5f6020820190508181035f830152612d7581612d3c565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f612da082612d7c565b612daa8185612d86565b9350612dba818560208601611b11565b612dc381611b39565b840191505092915050565b5f60a082019050612de15f8301886121eb565b612dee60208301876121eb565b8181036040830152612e0081866120fd565b90508181036060830152612e1481856120fd565b90508181036080830152612e288184612d96565b90509695505050505050565b5f81519050612e4281611a6f565b92915050565b5f60208284031215612e5d57612e5c611949565b5b5f612e6a84828501612e34565b91505092915050565b5f8160e01c9050919050565b5f60033d1115612e9b5760045f803e612e985f51612e73565b90505b90565b5f60443d10612f2a57612eaf611940565b60043d036004823e80513d602482011167ffffffffffffffff82111715612ed7575050612f2a565b808201805167ffffffffffffffff811115612ef55750505050612f2a565b80602083010160043d038501811115612f12575050505050612f2a565b612f2182602001850186611bfd565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d455243313135355f8201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b5f612f87603483611b01565b9150612f9282612f2d565b604082019050919050565b5f6020820190508181035f830152612fb481612f7b565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a656374655f8201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b5f613015602883611b01565b915061302082612fbb565b604082019050919050565b5f6020820190508181035f83015261304281613009565b9050919050565b5f60a08201905061305c5f8301886121eb565b61306960208301876121eb565b6130766040830186611a1c565b6130836060830185611a1c565b81810360808301526130958184612d96565b9050969550505050505056fea264697066735822122032106d0decbecf8d237938cd530df267e4e10c118d94d704ab243d8fb9befc8f64736f6c63430008150033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000035034c180eb127d7a0e3b43ade79b0b0376cb56c000000000000000000000000000000000000000000000000000000000000002568747470733a2f2f636c61696d2e636972636c6566696e616e63652e696f2f302e6a736f6e000000000000000000000000000000000000000000000000000000