0x608060405234801561001057600080fd5b50610a4d806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063d182b83b14610030575b600080fd5b61004a60048036038101906100459190610880565b610060565b60405161005791906108e4565b60405180910390f35b60008061006c836100dc565b905061007783610291565b156100b3576000839050600582101580156100aa57506100978183610364565b806100a857506100a7818361038b565b5b155b925050506100d7565b6100bc836103e6565b156100ce5760058110159150506100d7565b60038110159150505b919050565b60008060008084519050600092505b80821015610286576000858381518110610108576101076108ff565b5b602001015160f81c60f81b9050608060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015610157576001836101509190610967565b9250610272565b60e060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015610199576002836101929190610967565b9250610271565b60f060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610156101db576003836101d49190610967565b9250610270565b60f8801b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101561021c576004836102159190610967565b925061026f565b60fc60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101561025e576005836102579190610967565b925061026e565b60068361026b9190610967565b92505b5b5b5b5b50828061027e9061099b565b9350506100eb565b829350505050919050565b60008082905060008151036102aa57600091505061035f565b60005b81518110156103585760008282815181106102cb576102ca6108ff565b5b602001015160f81c60f81b9050603060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156103345750603960f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b610344576000935050505061035f565b5080806103509061099b565b9150506102ad565b5060019150505b919050565b60006008821161038057610379836000610520565b9050610385565b600090505b92915050565b6000600582148061039c5750600682145b156103db576103b7836001846103b291906109e3565b6105f6565b806103d457506103d3836002846103ce91906109e3565b6106f5565b5b90506103e0565b600090505b92915050565b60008082905060008151036103ff57600091505061051b565b60005b81518110156105145760008282815181106104205761041f6108ff565b5b602001015160f81c60f81b9050604160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156104895750605a60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1580156104ef5750606160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156104ed5750607a60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b15610500576000935050505061051b565b50808061050c9061099b565b915050610402565b5060019150505b919050565b6000806001836105309190610967565b90505b83518110156105ea578360018261054a91906109e3565b8151811061055b5761055a6108ff565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191684828151811061059b5761059a6108ff565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146105d75760009150506105f0565b80806105e29061099b565b915050610533565b50600190505b92915050565b600080600090506000600190505b84518110156106e8578481815181106106205761061f6108ff565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168560018361065b91906109e3565b8151811061066c5761066b6108ff565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146106a9576000925050506106ef565b81806106b49061099b565b925050836001836106c59190610967565b036106d5576001925050506106ef565b80806106e09061099b565b915050610604565b5060009150505b92915050565b600061071e83838551101561070b576000610719565b83855161071891906109e3565b5b610520565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61078d82610744565b810181811067ffffffffffffffff821117156107ac576107ab610755565b5b80604052505050565b60006107bf610726565b90506107cb8282610784565b919050565b600067ffffffffffffffff8211156107eb576107ea610755565b5b6107f482610744565b9050602081019050919050565b82818337600083830152505050565b600061082361081e846107d0565b6107b5565b90508281526020810184848401111561083f5761083e61073f565b5b61084a848285610801565b509392505050565b600082601f8301126108675761086661073a565b5b8135610877848260208601610810565b91505092915050565b60006020828403121561089657610895610730565b5b600082013567ffffffffffffffff8111156108b4576108b3610735565b5b6108c084828501610852565b91505092915050565b60008115159050919050565b6108de816108c9565b82525050565b60006020820190506108f960008301846108d5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006109728261092e565b915061097d8361092e565b925082820190508082111561099557610994610938565b5b92915050565b60006109a68261092e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036109d8576109d7610938565b5b600182019050919050565b60006109ee8261092e565b91506109f98361092e565b9250828203905081811115610a1157610a10610938565b5b9291505056fea2646970667358221220482667fee7423923593e2d099ecf8268b7f0003964fbb31bb7e547cbfdec92dd64736f6c63430008110033