6001600090815560078190556704db7325476300006009556101f4600a5560c0604081905260a08290526200003891600b919062000200565b506040805160208101918290526000908190526200005991600c9162000200565b5060408051808201909152600580825264173539b7b760d91b60209092019182526200008891600d9162000200565b50600f805461ffff60a01b191661010160a01b179055348015620000ab57600080fd5b506040518060400160405280601c81526020017f4b616e6761726f6f732057696c6420576f726c64202d20426f6174730000000081525060405180604001604052806008815260200167426f6174734b575760c01b815250600a54600081116200016b5760405162461bcd60e51b815260206004820152602760248201527f455243373231413a206d61782062617463682073697a65206d757374206265206044820152666e6f6e7a65726f60c81b606482015260840160405180910390fd5b82516200018090600190602086019062000200565b5081516200019690600290602085019062000200565b5060805250620001a8905033620001ae565b620002e3565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200020e90620002a6565b90600052602060002090601f0160209004810192826200023257600085556200027d565b82601f106200024d57805160ff19168380011785556200027d565b828001600101855582156200027d579182015b828111156200027d57825182559160200191906001019062000260565b506200028b9291506200028f565b5090565b5b808211156200028b576000815560010162000290565b600181811c90821680620002bb57607f821691505b60208210811415620002dd57634e487b7160e01b600052602260045260246000fd5b50919050565b6080516131136200030d60003960008181611fae01528181611fd8015261240701526131136000f3fe6080604052600436106102ae5760003560e01c8063715018a611610175578063b88d4fde116100dc578063ccf2b28f11610095578063e7559b1e1161006f578063e7559b1e14610809578063e985e9c514610829578063f2fde38b14610872578063fe2e96ba1461089257600080fd5b8063ccf2b28f146107bd578063d7224ba0146107dd578063db1d2544146107f357600080fd5b8063b88d4fde146106fc578063b8dde1121461071c578063ba70732b1461073c578063bb54cc271461075c578063c17ecd121461077d578063c87b56dd1461079d57600080fd5b80639979a1941161012e5780639979a1941461064f5780639abc832014610670578063a035b1fe14610685578063a0bcfc7f1461069b578063a22cb465146106bb578063b7f751d8146106db57600080fd5b8063715018a6146105b4578063858e83b5146105c95780638da5cb5b146105dc57806391b7f5ed146105fa57806395d89b411461061a57806395ec1ff71461062f57600080fd5b80633ccfd60b1161021957806358381669116101d2578063583816691461050c5780635b8ad4291461051f5780635bfbd769146105345780635c69cbac146105545780636352211e1461057457806370a082311461059457600080fd5b80633ccfd60b1461046057806342842e0e146104755780634ad7b029146104955780634bbf179b146104b55780634f6ccce7146104cb57806351830227146104eb57600080fd5b806318160ddd1161026b57806318160ddd146103995780631ddf074f146103b857806323b872dd146103eb5780632d5537b01461040b5780632f745c59146104205780633ab1a4941461044057600080fd5b806301ffc9a7146102b357806303959bb7146102e857806306fdde031461030a578063081812fc1461032c578063081c8c4414610364578063095ea7b314610379575b600080fd5b3480156102bf57600080fd5b506102d36102ce366004612a72565b6108b2565b60405190151581526020015b60405180910390f35b3480156102f457600080fd5b506103086103033660046127f2565b61091f565b005b34801561031657600080fd5b5061031f610974565b6040516102df9190612d39565b34801561033857600080fd5b5061034c610347366004612a59565b610a06565b6040516001600160a01b0390911681526020016102df565b34801561037057600080fd5b5061031f610a91565b34801561038557600080fd5b50610308610394366004612966565b610b1f565b3480156103a557600080fd5b506000545b6040519081526020016102df565b3480156103c457600080fd5b50600f546103d990600160a01b900460ff1681565b60405160ff90911681526020016102df565b3480156103f757600080fd5b50610308610406366004612840565b610c37565b34801561041757600080fd5b5061031f610c42565b34801561042c57600080fd5b506103aa61043b366004612966565b610c4f565b34801561044c57600080fd5b5061030861045b3660046127f2565b610dbd565b34801561046c57600080fd5b50610308610e09565b34801561048157600080fd5b50610308610490366004612840565b610e96565b3480156104a157600080fd5b506103086104b0366004612a3d565b610eb1565b3480156104c157600080fd5b506103aa600a5481565b3480156104d757600080fd5b506103aa6104e6366004612a59565b610f0f565b3480156104f757600080fd5b50600f546102d390600160c01b900460ff1681565b61030861051a366004612b5c565b610f71565b34801561052b57600080fd5b506103086111cb565b34801561054057600080fd5b506103aa61054f366004612b41565b611216565b34801561056057600080fd5b5061030861056f366004612a59565b611230565b34801561058057600080fd5b5061034c61058f366004612a59565b61125f565b3480156105a057600080fd5b506103aa6105af3660046127f2565b611271565b3480156105c057600080fd5b50610308611302565b6103086105d7366004612b41565b611338565b3480156105e857600080fd5b506008546001600160a01b031661034c565b34801561060657600080fd5b50610308610615366004612a59565b611503565b34801561062657600080fd5b5061031f611532565b34801561063b57600080fd5b5061030861064a366004612a59565b611541565b34801561065b57600080fd5b50600f546102d390600160b01b900460ff1681565b34801561067c57600080fd5b5061031f611570565b34801561069157600080fd5b506103aa60095481565b3480156106a757600080fd5b506103086106b6366004612aac565b61157d565b3480156106c757600080fd5b506103086106d636600461293c565b6115b3565b3480156106e757600080fd5b50600f546102d390600160b81b900460ff1681565b34801561070857600080fd5b5061030861071736600461287c565b611678565b34801561072857600080fd5b506102d3610737366004612990565b6116b1565b34801561074857600080fd5b50610308610757366004612aac565b6116f7565b34801561076857600080fd5b50600f546103d990600160a81b900460ff1681565b34801561078957600080fd5b50610308610798366004612aac565b61172d565b3480156107a957600080fd5b5061031f6107b8366004612a59565b611763565b3480156107c957600080fd5b506103aa6107d83660046127f2565b6118c2565b3480156107e957600080fd5b506103aa60075481565b3480156107ff57600080fd5b506103aa600e5481565b34801561081557600080fd5b50610308610824366004612b1e565b6118cd565b34801561083557600080fd5b506102d361084436600461280d565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b34801561087e57600080fd5b5061030861088d3660046127f2565b61198a565b34801561089e57600080fd5b506103086108ad366004612be2565b611a22565b60006001600160e01b031982166380ac58cd60e01b14806108e357506001600160e01b03198216635b5e139f60e01b145b806108fe57506001600160e01b0319821663780e9d6360e01b145b8061091957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6008546001600160a01b031633146109525760405162461bcd60e51b815260040161094990612d81565b60405180910390fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b60606001805461098390613005565b80601f01602080910402602001604051908101604052809291908181526020018280546109af90613005565b80156109fc5780601f106109d1576101008083540402835291602001916109fc565b820191906000526020600020905b8154815290600101906020018083116109df57829003601f168201915b5050505050905090565b6000610a13826000541190565b610a755760405162461bcd60e51b815260206004820152602d60248201527f455243373231413a20617070726f76656420717565727920666f72206e6f6e6560448201526c3c34b9ba32b73a103a37b5b2b760991b6064820152608401610949565b506000908152600560205260409020546001600160a01b031690565b600c8054610a9e90613005565b80601f0160208091040260200160405190810160405280929190818152602001828054610aca90613005565b8015610b175780601f10610aec57610100808354040283529160200191610b17565b820191906000526020600020905b815481529060010190602001808311610afa57829003601f168201915b505050505081565b6000610b2a8261125f565b9050806001600160a01b0316836001600160a01b03161415610b995760405162461bcd60e51b815260206004820152602260248201527f455243373231413a20617070726f76616c20746f2063757272656e74206f776e60448201526132b960f11b6064820152608401610949565b336001600160a01b0382161480610bb55750610bb58133610844565b610c275760405162461bcd60e51b815260206004820152603960248201527f455243373231413a20617070726f76652063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f76656420666f7220616c6c000000000000006064820152608401610949565b610c32838383611a80565b505050565b610c32838383611adc565b600d8054610a9e90613005565b6000610c5a83611271565b8210610cb35760405162461bcd60e51b815260206004820152602260248201527f455243373231413a206f776e657220696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608401610949565b600080549080805b83811015610d5d576000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b90910467ffffffffffffffff169183019190915215610d0e57805192505b876001600160a01b0316836001600160a01b03161415610d4a5786841415610d3c5750935061091992505050565b83610d4681613040565b9450505b5080610d5581613040565b915050610cbb565b5060405162461bcd60e51b815260206004820152602e60248201527f455243373231413a20756e61626c6520746f2067657420746f6b656e206f662060448201526d0deeedccae440c4f240d2dcc8caf60931b6064820152608401610949565b6008546001600160a01b03163314610de75760405162461bcd60e51b815260040161094990612d81565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6008546001600160a01b03163314610e335760405162461bcd60e51b815260040161094990612d81565b600f546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610e80576040519150601f19603f3d011682016040523d82523d6000602084013e610e85565b606091505b5050905080610e9357600080fd5b50565b610c3283838360405180602001604052806000815250611678565b6008546001600160a01b03163314610edb5760405162461bcd60e51b815260040161094990612d81565b600f805461ffff60b01b1916600160b01b9315159390930260ff60b81b191692909217600160b81b91151591909102179055565b600080548210610f6d5760405162461bcd60e51b815260206004820152602360248201527f455243373231413a20676c6f62616c20696e646578206f7574206f6620626f756044820152626e647360e81b6064820152608401610949565b5090565b8260ff16600a546001610f849190612f38565b81610f8e60005490565b610f989190612f38565b10610fb55760405162461bcd60e51b815260040161094990612e8e565b60008111610fd55760405162461bcd60e51b815260040161094990612d4c565b6010546001600160a01b0316610ffd5760405162461bcd60e51b815260040161094990612e0c565b600f54600160b01b900460ff166110565760405162461bcd60e51b815260206004820152601a60248201527f57686974656c6973742073616c65206973206e6f74206c6976650000000000006044820152606401610949565b60008460ff161161109c5760405162461bcd60e51b815260206004820152601060248201526f105b5bdd5b9d081b9bdd081d985b1a5960821b6044820152606401610949565b60006110a785611216565b9050803410156110ec5760405162461bcd60e51b815260206004820152601060248201526f1c1c9a58d9481a5cc81a5b9d985b1a5960821b6044820152606401610949565b6111288484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506116b192505050565b6111745760405162461bcd60e51b815260206004820152601f60248201527f596f75722077616c6c6574206973206e6f742077686974656c69737465642e006044820152606401610949565b600f5460ff600160a01b909104811690861661118f33611e64565b6111999190612f38565b11156111b75760405162461bcd60e51b815260040161094990612db6565b6111c4338660ff16611f02565b5050505050565b6008546001600160a01b031633146111f55760405162461bcd60e51b815260040161094990612d81565b600f805460ff60c01b198116600160c01b9182900460ff1615909102179055565b60006109196009548360ff16611f2090919063ffffffff16565b6008546001600160a01b0316331461125a5760405162461bcd60e51b815260040161094990612d81565b600a55565b600061126a82611f2c565b5192915050565b60006001600160a01b0382166112dd5760405162461bcd60e51b815260206004820152602b60248201527f455243373231413a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b6064820152608401610949565b506001600160a01b03166000908152600460205260409020546001600160801b031690565b6008546001600160a01b0316331461132c5760405162461bcd60e51b815260040161094990612d81565b61133660006120d6565b565b8060ff16600a54600161134b9190612f38565b8161135560005490565b61135f9190612f38565b1061137c5760405162461bcd60e51b815260040161094990612e8e565b6000811161139c5760405162461bcd60e51b815260040161094990612d4c565b6010546001600160a01b03166113c45760405162461bcd60e51b815260040161094990612e0c565b600f54600160b81b900460ff1661141d5760405162461bcd60e51b815260206004820152601760248201527f5075626c69632073616c65206973206e6f74206c6976650000000000000000006044820152606401610949565b60008260ff16116114635760405162461bcd60e51b815260206004820152601060248201526f105b5bdd5b9d081b9bdd081d985b1a5960821b6044820152606401610949565b600061146e83611216565b9050803410156114b35760405162461bcd60e51b815260206004820152601060248201526f1c1c9a58d9481a5cc81a5b9d985b1a5960821b6044820152606401610949565b600f5460ff600160a81b90910481169084166114ce33611e64565b6114d89190612f38565b11156114f65760405162461bcd60e51b815260040161094990612db6565b610c32338460ff16611f02565b6008546001600160a01b0316331461152d5760405162461bcd60e51b815260040161094990612d81565b600955565b60606002805461098390613005565b6008546001600160a01b0316331461156b5760405162461bcd60e51b815260040161094990612d81565b600e55565b600b8054610a9e90613005565b6008546001600160a01b031633146115a75760405162461bcd60e51b815260040161094990612d81565b610c32600b8383612725565b6001600160a01b03821633141561160c5760405162461bcd60e51b815260206004820152601a60248201527f455243373231413a20617070726f766520746f2063616c6c65720000000000006044820152606401610949565b3360008181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611683848484611adc565b61168f84848484612128565b6116ab5760405162461bcd60e51b815260040161094990612e3b565b50505050565b600e546040516bffffffffffffffffffffffff193360601b1660208201526000916109199184919060340160405160208183030381529060405280519060200120612236565b6008546001600160a01b031633146117215760405162461bcd60e51b815260040161094990612d81565b610c32600d8383612725565b6008546001600160a01b031633146117575760405162461bcd60e51b815260040161094990612d81565b610c32600c8383612725565b6060611770826000541190565b6117c65760405162461bcd60e51b815260206004820152602160248201527f4552433732314d657461646174613a204e6f6e6578697374656e7420746f6b656044820152603760f91b6064820152608401610949565b600f54600090600160c01b900460ff166117e157600c6117e4565b600b5b80546117ef90613005565b80601f016020809104026020016040519081016040528092919081815260200182805461181b90613005565b80156118685780601f1061183d57610100808354040283529160200191611868565b820191906000526020600020905b81548152906001019060200180831161184b57829003601f168201915b50505050509050600081511161188d57604051806020016040528060008152506118bb565b806118978461224c565b600d6040516020016118ab93929190612c38565b6040516020818303038152906040525b9392505050565b600061091982611e64565b6008546001600160a01b031633146118f75760405162461bcd60e51b815260040161094990612d81565b81600a5460016119079190612f38565b8161191160005490565b61191b9190612f38565b106119385760405162461bcd60e51b815260040161094990612e8e565b600081116119585760405162461bcd60e51b815260040161094990612d4c565b6010546001600160a01b03166119805760405162461bcd60e51b815260040161094990612e0c565b610c328284611f02565b6008546001600160a01b031633146119b45760405162461bcd60e51b815260040161094990612d81565b6001600160a01b038116611a195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610949565b610e93816120d6565b6008546001600160a01b03163314611a4c5760405162461bcd60e51b815260040161094990612d81565b600f805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b60008281526005602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000611ae782611f2c565b80519091506000906001600160a01b0316336001600160a01b03161480611b1e575033611b1384610a06565b6001600160a01b0316145b80611b3057508151611b309033610844565b905080611b9a5760405162461bcd60e51b815260206004820152603260248201527f455243373231413a207472616e736665722063616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b6064820152608401610949565b846001600160a01b031682600001516001600160a01b031614611c0e5760405162461bcd60e51b815260206004820152602660248201527f455243373231413a207472616e736665722066726f6d20696e636f72726563746044820152651037bbb732b960d11b6064820152608401610949565b6001600160a01b038416611c725760405162461bcd60e51b815260206004820152602560248201527f455243373231413a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b6064820152608401610949565b611c826000848460000151611a80565b6001600160a01b0385166000908152600460205260408120805460019290611cb49084906001600160801b0316612f83565b82546101009290920a6001600160801b038181021990931691831602179091556001600160a01b03861660009081526004602052604081208054600194509092611d0091859116612f0d565b82546001600160801b039182166101009390930a9283029190920219909116179055506040805180820182526001600160a01b03808716825267ffffffffffffffff428116602080850191825260008981526003909152948520935184549151909216600160a01b026001600160e01b03199091169190921617179055611d88846001612f38565b6000818152600360205260409020549091506001600160a01b0316611e1a57611db2816000541190565b15611e1a5760408051808201825284516001600160a01b03908116825260208087015167ffffffffffffffff9081168285019081526000878152600390935294909120925183549451909116600160a01b026001600160e01b03199094169116179190911790555b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b60006001600160a01b038216611ed65760405162461bcd60e51b815260206004820152603160248201527f455243373231413a206e756d626572206d696e74656420717565727920666f7260448201527020746865207a65726f206164647265737360781b6064820152608401610949565b506001600160a01b0316600090815260046020526040902054600160801b90046001600160801b031690565b611f1c82826040518060200160405280600081525061234a565b5050565b60006118bb8284612f64565b6040805180820190915260008082526020820152611f4b826000541190565b611faa5760405162461bcd60e51b815260206004820152602a60248201527f455243373231413a206f776e657220717565727920666f72206e6f6e657869736044820152693a32b73a103a37b5b2b760b11b6064820152608401610949565b60007f0000000000000000000000000000000000000000000000000000000000000000831061200b57611ffd7f000000000000000000000000000000000000000000000000000000000000000084612fab565b612008906001612f38565b90505b825b818110612075576000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b90910467ffffffffffffffff16918301919091521561206257949350505050565b508061206d81612fee565b91505061200d565b5060405162461bcd60e51b815260206004820152602f60248201527f455243373231413a20756e61626c6520746f2064657465726d696e652074686560448201526e1037bbb732b91037b3103a37b5b2b760891b6064820152608401610949565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006001600160a01b0384163b1561222a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061216c903390899088908890600401612cfc565b602060405180830381600087803b15801561218657600080fd5b505af19250505080156121b6575060408051601f3d908101601f191682019092526121b391810190612a8f565b60015b612210573d8080156121e4576040519150601f19603f3d011682016040523d82523d6000602084013e6121e9565b606091505b5080516122085760405162461bcd60e51b815260040161094990612e3b565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061222e565b5060015b949350505050565b600082612243858461262a565b14949350505050565b6060816122705750506040805180820190915260018152600360fc1b602082015290565b8160005b811561229a578061228481613040565b91506122939050600a83612f50565b9150612274565b60008167ffffffffffffffff8111156122b5576122b56130b1565b6040519080825280601f01601f1916602001820160405280156122df576020820181803683370190505b5090505b841561222e576122f4600183612fab565b9150612301600a8661305b565b61230c906030612f38565b60f81b8183815181106123215761232161309b565b60200101906001600160f81b031916908160001a905350612343600a86612f50565b94506122e3565b6000546001600160a01b0384166123ad5760405162461bcd60e51b815260206004820152602160248201527f455243373231413a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610949565b6123b8816000541190565b156124055760405162461bcd60e51b815260206004820152601d60248201527f455243373231413a20746f6b656e20616c7265616479206d696e7465640000006044820152606401610949565b7f00000000000000000000000000000000000000000000000000000000000000008311156124805760405162461bcd60e51b815260206004820152602260248201527f455243373231413a207175616e7469747920746f206d696e7420746f6f2068696044820152610ced60f31b6064820152608401610949565b6001600160a01b0384166000908152600460209081526040918290208251808401845290546001600160801b038082168352600160801b90910416918101919091528151808301909252805190919081906124dc908790612f0d565b6001600160801b031681526020018583602001516124fa9190612f0d565b6001600160801b039081169091526001600160a01b0380881660008181526004602090815260408083208751978301518716600160801b0297909616969096179094558451808601865291825267ffffffffffffffff4281168386019081528883526003909552948120915182549451909516600160a01b026001600160e01b031990941694909216939093179190911790915582905b8581101561261a5760405182906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46125de6000888488612128565b6125fa5760405162461bcd60e51b815260040161094990612e3b565b8161260481613040565b925050808061261290613040565b915050612591565b506000819055611e5c838661269e565b600081815b845181101561269657600085828151811061264c5761264c61309b565b602002602001015190508083116126725760008381526020829052604090209250612683565b600081815260208490526040902092505b508061268e81613040565b91505061262f565b509392505050565b815b6126aa8284612f38565b811015610c3257601054604051636bc3706960e11b815261ffff831660048201526001600160a01b039091169063d786e0d290602401600060405180830381600087803b1580156126fa57600080fd5b505af115801561270e573d6000803e3d6000fd5b50505050808061271d90613040565b9150506126a0565b82805461273190613005565b90600052602060002090601f0160209004810192826127535760008555612799565b82601f1061276c5782800160ff19823516178555612799565b82800160010185558215612799579182015b8281111561279957823582559160200191906001019061277e565b50610f6d9291505b80821115610f6d57600081556001016127a1565b80356001600160a01b03811681146127cc57600080fd5b919050565b803580151581146127cc57600080fd5b803560ff811681146127cc57600080fd5b60006020828403121561280457600080fd5b6118bb826127b5565b6000806040838503121561282057600080fd5b612829836127b5565b9150612837602084016127b5565b90509250929050565b60008060006060848603121561285557600080fd5b61285e846127b5565b925061286c602085016127b5565b9150604084013590509250925092565b6000806000806080858703121561289257600080fd5b61289b856127b5565b935060206128aa8187016127b5565b935060408601359250606086013567ffffffffffffffff808211156128ce57600080fd5b818801915088601f8301126128e257600080fd5b8135818111156128f4576128f46130b1565b612906601f8201601f19168501612edc565b9150808252898482850101111561291c57600080fd5b808484018584013760008482840101525080935050505092959194509250565b6000806040838503121561294f57600080fd5b612958836127b5565b9150612837602084016127d1565b6000806040838503121561297957600080fd5b612982836127b5565b946020939093013593505050565b600060208083850312156129a357600080fd5b823567ffffffffffffffff808211156129bb57600080fd5b818501915085601f8301126129cf57600080fd5b8135818111156129e1576129e16130b1565b8060051b91506129f2848301612edc565b8181528481019084860184860187018a1015612a0d57600080fd5b600095505b83861015612a30578035835260019590950194918601918601612a12565b5098975050505050505050565b60008060408385031215612a5057600080fd5b612958836127d1565b600060208284031215612a6b57600080fd5b5035919050565b600060208284031215612a8457600080fd5b81356118bb816130c7565b600060208284031215612aa157600080fd5b81516118bb816130c7565b60008060208385031215612abf57600080fd5b823567ffffffffffffffff80821115612ad757600080fd5b818501915085601f830112612aeb57600080fd5b813581811115612afa57600080fd5b866020828501011115612b0c57600080fd5b60209290920196919550909350505050565b60008060408385031215612b3157600080fd5b82359150612837602084016127b5565b600060208284031215612b5357600080fd5b6118bb826127e1565b600080600060408486031215612b7157600080fd5b612b7a846127e1565b9250602084013567ffffffffffffffff80821115612b9757600080fd5b818601915086601f830112612bab57600080fd5b813581811115612bba57600080fd5b8760208260051b8501011115612bcf57600080fd5b6020830194508093505050509250925092565b60008060408385031215612bf557600080fd5b612bfe836127e1565b9150612837602084016127e1565b60008151808452612c24816020860160208601612fc2565b601f01601f19169290920160200192915050565b600084516020612c4b8285838a01612fc2565b855191840191612c5e8184848a01612fc2565b8554920191600090600181811c9080831680612c7b57607f831692505b858310811415612c9957634e487b7160e01b85526022600452602485fd5b808015612cad5760018114612cbe57612ceb565b60ff19851688528388019550612ceb565b60008b81526020902060005b85811015612ce35781548a820152908401908801612cca565b505083880195505b50939b9a5050505050505050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612d2f90830184612c0c565b9695505050505050565b6020815260006118bb6020830184612c0c565b6020808252818101527f5175616e74697479206e6565647320746f206265206d6f7265207468616e2030604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526036908201527f596f75277665206d696e74656420746865206d6178696d756d20616d6f756e746040820152751037b3103137b0ba39903a3430ba103cb7ba9031b0b760511b606082015260800190565b60208082526015908201527411185d184810dbdb9d1c9858dd081b9bdd081cd95d605a1b604082015260600190565b60208082526033908201527f455243373231413a207472616e7366657220746f206e6f6e204552433732315260408201527232b1b2b4bb32b91034b6b83632b6b2b73a32b960691b606082015260800190565b6020808252602e908201527f4e6f7420656e6f7567682072656d61696e696e6720666f72206d696e7420616d60408201526d1bdd5b9d081c995c5d595cdd195960921b606082015260800190565b604051601f8201601f1916810167ffffffffffffffff81118282101715612f0557612f056130b1565b604052919050565b60006001600160801b03808316818516808303821115612f2f57612f2f61306f565b01949350505050565b60008219821115612f4b57612f4b61306f565b500190565b600082612f5f57612f5f613085565b500490565b6000816000190483118215151615612f7e57612f7e61306f565b500290565b60006001600160801b0383811690831681811015612fa357612fa361306f565b039392505050565b600082821015612fbd57612fbd61306f565b500390565b60005b83811015612fdd578181015183820152602001612fc5565b838111156116ab5750506000910152565b600081612ffd57612ffd61306f565b506000190190565b600181811c9082168061301957607f821691505b6020821081141561303a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156130545761305461306f565b5060010190565b60008261306a5761306a613085565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610e9357600080fdfea264697066735822122058acf745d1df5546299143a44e71ecac7d45be03140e15c842867c75b1e2069864736f6c63430008070033