0x608060405234801561001057600080fd5b50612fe2806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80634e00f22d1161007657806380f1f00c1161005b57806380f1f00c14610171578063bdf950c914610191578063c5ae5934146101b157600080fd5b80634e00f22d146101315780637dd8f6d91461015157600080fd5b80630972bf8b146100a8578063158eca8b146100d15780632b2d5ed6146100f15780634b70d84b14610111575b600080fd5b6100bb6100b636600461247a565b6101d1565b6040516100c891906124d1565b60405180910390f35b6100e46100df36600461256a565b6102e7565b6040516100c89190612681565b6101046100ff366004612690565b610ccf565b6040516100c891906126d2565b61012461011f366004612690565b610da5565b6040516100c8919061273f565b61014461013f366004612782565b610f1a565b6040516100c891906129a4565b61016461015f366004612782565b611118565b6040516100c89190612a24565b61018461017f36600461256a565b6112bc565b6040516100c89190612aa0565b6101a461019f366004612782565b6119ee565b6040516100c89190612ab3565b6101c46101bf36600461256a565b611e70565b6040516100c89190612b0c565b60608260008167ffffffffffffffff8111156101ef576101ef612b39565b60405190808252806020026020018201604052801561026f57816020015b61025c6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b81526020019060019003908161020d5790505b50905060005b828110156102dd576102ad87878381811061029257610292612b68565b90506020020160208101906102a7919061256a565b866119ee565b8282815181106102bf576102bf612b68565b602002602001018190525080806102d590612b97565b915050610275565b5095945050505050565b6103a5604051806102400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160001515815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b60008273ffffffffffffffffffffffffffffffffffffffff1663bd6d894d6040518163ffffffff1660e01b81526004016020604051808303816000875af11580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190612bf6565b905060008373ffffffffffffffffffffffffffffffffffffffff16635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610467573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048b9190612c0f565b6040517f8e8f294b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015291925060009182918291851690638e8f294b90602401606060405180830381865afa158015610501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105259190612c41565b9250925092506000806105fd8973ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561057c573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105c29190810190612ccc565b6040518060400160405280600481526020017f6f4554480000000000000000000000000000000000000000000000000000000081525061201a565b1561060e5750600090506012610768565b60008990508073ffffffffffffffffffffffffffffffffffffffff16636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106829190612c0f565b92508073ffffffffffffffffffffffffffffffffffffffff16636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f39190612c0f565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107619190612d75565b60ff169150505b600080610775888c612073565b91509150600080808a73ffffffffffffffffffffffffffffffffffffffff16634a58443260e01b8f6040516020016107c9919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526108059291602001612d98565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261083d91612de0565b6000604051808303816000865af19150503d806000811461087a576040519150601f19603f3d011682016040523d82523d6000602084013e61087f565b606091505b509150915081156108a1578080602001905181019061089e9190612bf6565b92505b6040518061024001604052808f73ffffffffffffffffffffffffffffffffffffffff1681526020018d81526020018f73ffffffffffffffffffffffffffffffffffffffff1663d3bd2c726040518163ffffffff1660e01b8152600401602060405180830381865afa15801561091a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093e9190612bf6565b81526020018f73ffffffffffffffffffffffffffffffffffffffff1663cd91801c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561098e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b29190612bf6565b81526020018f73ffffffffffffffffffffffffffffffffffffffff1663173b99046040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a269190612bf6565b81526020018f73ffffffffffffffffffffffffffffffffffffffff166347bd37186040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9a9190612bf6565b81526020018f73ffffffffffffffffffffffffffffffffffffffff16638f840ddd6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b109190612bf6565b81526020018f73ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b849190612bf6565b81526020018f73ffffffffffffffffffffffffffffffffffffffff16633b1d21a26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf89190612bf6565b81526020018b151581526020018a151581526020018981526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018f73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9e9190612d75565b60ff168152602001878152602001868152602001858152602001848152509c50505050505050505050505050919050565b60608160008167ffffffffffffffff811115610ced57610ced612b39565b604051908082528060200260200182016040528015610d3257816020015b6040805180820190915260008082526020820152815260200190600190039081610d0b5790505b50905060005b82811015610d9a57610d6a868683818110610d5557610d55612b68565b90506020020160208101906101bf919061256a565b828281518110610d7c57610d7c612b68565b60200260200101819052508080610d9290612b97565b915050610d38565b509150505b92915050565b60608160008167ffffffffffffffff811115610dc357610dc3612b39565b604051908082528060200260200182016040528015610eb257816020015b610e9f604051806102400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160001515815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b815260200190600190039081610de15790505b50905060005b82811015610d9a57610eea868683818110610ed557610ed5612b68565b90506020020160208101906100df919061256a565b828281518110610efc57610efc612b68565b60200260200101819052508080610f1290612b97565b915050610eb8565b6040517f1d36f0f000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152606091600091841690631d36f0f090602401600060405180830381865afa158015610f8c573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610fd29190810190612e20565b80519091508067ffffffffffffffff811115610ff057610ff0612b39565b6040519080825280602002602001820160405280156110af57816020015b604080516101c0810182526000808252602080830182905260609383018490528383018290526080830182905260a0830182905260c083019390935260e08201819052610100820181905261012082018190526101408201819052610160820181905261018082018190526101a082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161100e5790505b50925060005b8181101561110f576110df8382815181106110d2576110d2612b68565b60200260200101516112bc565b8482815181106110f1576110f1612b68565b6020026020010181905250808061110790612b97565b9150506110b5565b50505092915050565b61113c60405180606001604052806060815260200160008152602001600081525090565b6040517f5ec88c7900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526000918291829190871690635ec88c7990602401606060405180830381865afa1580156111b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d49190612ebf565b925092509250826000146111e757600080fd5b6040805160608101918290527fabfceffc0000000000000000000000000000000000000000000000000000000090915273ffffffffffffffffffffffffffffffffffffffff86811660648301528190881663abfceffc60848301600060405180830381865afa15801561125e573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526112a49190810190612eed565b81526020810193909352604090920152949350505050565b604080516101c08101825260008082526020820181905260609282018390528282018190526080820181905260a0820181905260c082019290925260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081019190915260008273ffffffffffffffffffffffffffffffffffffffff166324bbab8b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561137c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a09190612c0f565b905060008373ffffffffffffffffffffffffffffffffffffffff16638500aca96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114139190612c0f565b90506000808573ffffffffffffffffffffffffffffffffffffffff1663b142fabc6040518163ffffffff1660e01b81526004016040805180830381865afa158015611462573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114869190612f7c565b9150915060008673ffffffffffffffffffffffffffffffffffffffff1663117803e36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fb9190612c0f565b9050604051806101c001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561158c573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115d29190810190612ccc565b81526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561163e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116629190612d75565b60ff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156116d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526117179190810190612ccc565b81526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a79190612d75565b60ff16815273ffffffffffffffffffffffffffffffffffffffff8085166020830152604080517f3af9e6690000000000000000000000000000000000000000000000000000000081528b8316600482015292019190861690633af9e669906024016020604051808303816000875af1158015611827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184b9190612bf6565b81526040517f17bfdfbc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301526020909201918516906317bfdfbc906024016020604051808303816000875af11580156118c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e59190612bf6565b81526020018873ffffffffffffffffffffffffffffffffffffffff1663d8270dce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611935573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119599190612fab565b67ffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1663627749e66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d79190612fab565b67ffffffffffffffff169052979650505050505050565b611a3d6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152600091908516906370a0823190602401602060405180830381865afa158015611aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad19190612bf6565b6040517f17bfdfbc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529192506000918616906317bfdfbc906024016020604051808303816000875af1158015611b45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b699190612bf6565b6040517f3af9e66900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152919250600091871690633af9e669906024016020604051808303816000875af1158015611bdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c019190612bf6565b9050600080611c548873ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561057c573d6000803e3d6000fd5b15611c7b57505073ffffffffffffffffffffffffffffffffffffffff851680319031611e26565b600088905060008173ffffffffffffffffffffffffffffffffffffffff16636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ccd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf19190612c0f565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b81166004830152919250908216906370a0823190602401602060405180830381865afa158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d859190612bf6565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b811660048301528c811660248301529195509082169063dd62ed3e90604401602060405180830381865afa158015611dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e219190612bf6565b925050505b6040805160c08101825273ffffffffffffffffffffffffffffffffffffffff9990991689526020890195909552938701929092526060860152608085015260a08401525090919050565b604080518082019091526000808252602082015260008273ffffffffffffffffffffffffffffffffffffffff16635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef59190612c0f565b905060008173ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f689190612c0f565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff80881680835292517ffc57d4df00000000000000000000000000000000000000000000000000000000815260048101939093529293509160208301919084169063fc57d4df90602401602060405180830381865afa158015611fec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120109190612bf6565b9052949350505050565b60008160405160200161202d9190612de0565b60405160208183030381529060405280519060200120836040516020016120549190612de0565b6040516020818303038152906040528051906020012014905092915050565b600080600080808673ffffffffffffffffffffffffffffffffffffffff16633b593a4560e01b876040516020016120c6919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526121029291602001612d98565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261213a91612de0565b6000604051808303816000865af19150503d8060008114612177576040519150601f19603f3d011682016040523d82523d6000602084013e61217c565b606091505b5091509150811561219e578080602001905181019061219b9190612bf6565b92505b6040805173ffffffffffffffffffffffffffffffffffffffff8881166020830152600092839283928c16917f2c1d6c56000000000000000000000000000000000000000000000000000000009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526122289291602001612d98565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261226091612de0565b6000604051808303816000865af19150503d806000811461229d576040519150601f19603f3d011682016040523d82523d6000602084013e6122a2565b606091505b509150915081156122c457808060200190518101906122c19190612bf6565b92505b8415806122cf575081155b156123ff576040805173ffffffffffffffffffffffffffffffffffffffff8b811660208301526000928392918e16917f1d7b33d7000000000000000000000000000000000000000000000000000000009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261235d9291602001612d98565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261239591612de0565b6000604051808303816000865af19150503d80600081146123d2576040519150601f19603f3d011682016040523d82523d6000602084013e6123d7565b606091505b509150915081156123fc57808060200190518101906123f69190612bf6565b94508497505b50505b5093955093505050505b9250929050565b60008083601f84011261242257600080fd5b50813567ffffffffffffffff81111561243a57600080fd5b6020830191508360208260051b850101111561240957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461247757600080fd5b50565b60008060006040848603121561248f57600080fd5b833567ffffffffffffffff8111156124a657600080fd5b6124b286828701612410565b90945092505060208401356124c681612455565b809150509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561255e5761254b83855173ffffffffffffffffffffffffffffffffffffffff81511682526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a08301525050565b9284019260c092909201916001016124ed565b50909695505050505050565b60006020828403121561257c57600080fd5b813561258781612455565b9392505050565b805173ffffffffffffffffffffffffffffffffffffffff1682526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008082015181840152506101208082015161260e8285018215159052565b50506101408181015115159083015261016080820151908301526101808082015173ffffffffffffffffffffffffffffffffffffffff16908301526101a080820151908301526101c080820151908301526101e08082015190830152610200808201519083015261022090810151910152565b6102408101610d9f828461258e565b600080602083850312156126a357600080fd5b823567ffffffffffffffff8111156126ba57600080fd5b6126c685828601612410565b90969095509350505050565b602080825282518282018190526000919060409081850190868401855b8281101561273257612722848351805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b92840192908501906001016126ef565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561255e5761276e83855161258e565b92840192610240929092019160010161275b565b6000806040838503121561279557600080fd5b82356127a081612455565b915060208301356127b081612455565b809150509250929050565b60005b838110156127d65781810151838201526020016127be565b50506000910152565b600081518084526127f78160208601602086016127bb565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b805173ffffffffffffffffffffffffffffffffffffffff16825260006101c0602083015161286f602086018273ffffffffffffffffffffffffffffffffffffffff169052565b506040830151816040860152612887828601826127df565b91505060608301516128b1606086018273ffffffffffffffffffffffffffffffffffffffff169052565b5060808301516128c6608086018260ff169052565b5060a08301516128ee60a086018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c083015184820360c086015261290682826127df565b91505060e083015161293060e086018273ffffffffffffffffffffffffffffffffffffffff169052565b506101008381015160ff16908501526101208084015173ffffffffffffffffffffffffffffffffffffffff1690850152610140808401519085015261016080840151908501526101808084015167ffffffffffffffff908116918601919091526101a0938401511692909301919091525090565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612a17577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612a05858351612829565b945092850192908501906001016129cb565b5092979650505050505050565b6020808252825160608383015280516080840181905260009291820190839060a08601905b80831015612a7f57835173ffffffffffffffffffffffffffffffffffffffff168252928401926001929092019190840190612a49565b50838701516040870152604087015160608701528094505050505092915050565b6020815260006125876020830184612829565b60c08101610d9f828473ffffffffffffffffffffffffffffffffffffffff81511682526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a08301525050565b815173ffffffffffffffffffffffffffffffffffffffff1681526020808301519082015260408101610d9f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612bef577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600060208284031215612c0857600080fd5b5051919050565b600060208284031215612c2157600080fd5b815161258781612455565b80518015158114612c3c57600080fd5b919050565b600080600060608486031215612c5657600080fd5b612c5f84612c2c565b9250612c6d60208501612c2c565b9150604084015190509250925092565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612cc457612cc4612b39565b604052919050565b600060208284031215612cde57600080fd5b815167ffffffffffffffff80821115612cf657600080fd5b818401915084601f830112612d0a57600080fd5b815181811115612d1c57612d1c612b39565b612d4d60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612c7d565b9150808252856020828501011115612d6457600080fd5b610d9a8160208401602086016127bb565b600060208284031215612d8757600080fd5b815160ff8116811461258757600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251612dd28160048501602087016127bb565b919091016004019392505050565b60008251612df28184602087016127bb565b9190910192915050565b600067ffffffffffffffff821115612e1657612e16612b39565b5060051b60200190565b60006020808385031215612e3357600080fd5b825167ffffffffffffffff811115612e4a57600080fd5b8301601f81018513612e5b57600080fd5b8051612e6e612e6982612dfc565b612c7d565b81815260059190911b82018301908381019087831115612e8d57600080fd5b928401925b82841015612eb4578351612ea581612455565b82529284019290840190612e92565b979650505050505050565b600080600060608486031215612ed457600080fd5b8351925060208401519150604084015190509250925092565b60006020808385031215612f0057600080fd5b825167ffffffffffffffff811115612f1757600080fd5b8301601f81018513612f2857600080fd5b8051612f36612e6982612dfc565b81815260059190911b82018301908381019087831115612f5557600080fd5b928401925b82841015612eb4578351612f6d81612455565b82529284019290840190612f5a565b60008060408385031215612f8f57600080fd5b8251612f9a81612455565b60208401519092506127b081612455565b600060208284031215612fbd57600080fd5b815167ffffffffffffffff8116811461258757600080fdfea164736f6c6343000814000a