608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b612f1e806200007f6000396000f3fe608060405234801561001057600080fd5b50600436106103415760003560e01c80634c783bf5116101bd578063a457c2d7116100f9578063dd62ed3e116100a2578063f282527a1161007c578063f282527a1461080d578063f2fde38b14610820578063f5eb42dc14610833578063f77c47911461085d57600080fd5b8063dd62ed3e146107ad578063e77c646d146107e7578063ee532f31146107fa57600080fd5b8063bb3acde9116100d3578063bb3acde914610774578063c350184814610787578063d2e494bc1461079a57600080fd5b8063a457c2d71461072c578063a9059cbb1461073f578063b10d6b411461075257600080fd5b806388206fe11161016657806392eefe9b1161014057806392eefe9b146106b857806395d89b41146106cb5780639675193c146107045780639fa5f50b1461071757600080fd5b806388206fe1146106735780638da5cb5b146106945780638db8df7f146106a557600080fd5b806370a082311161019757806370a0823114610645578063715018a61461065857806375bba1891461066057600080fd5b80634c783bf51461056557806355cc4e571461061f57806360588f9d1461063257600080fd5b80632b2805db1161028c57806338743904116102355780633cf6bcfe1161020f5780633cf6bcfe146105d157806346f60da7146105e657806347e640c0146105f95780634b8fb92f1461060c57600080fd5b806338743904146105a157806339509351146105b45780633a98ef39146105c757600080fd5b8063313ce56711610266578063313ce5671461056c578063322e654e1461057b57806332574d711461058e57600080fd5b80632b2805db146105305780632bc6acc3146105525780632f1cae851461056557600080fd5b806318160ddd116102ee57806322c34c0b116102c857806322c34c0b146104d557806323b872dd1461050a5780632535f7621461051d57600080fd5b806318160ddd1461048d5780631badb25c146104975780631d143848146104aa57600080fd5b8063095ea7b31161031f578063095ea7b3146104095780630986902f1461042c578063122eb5751461045b57600080fd5b8063010648ca1461034657806301e882081461035b57806306fdde03146103c7575b600080fd5b6103596103543660046125a1565b610870565b005b61039b610369366004612610565b6101346020526000908152604090205460ff8082169161010081049091169062010000900467ffffffffffffffff1683565b604080519315158452911515602084015267ffffffffffffffff16908201526060015b60405180910390f35b60408051808201909152601e81527f53686f72742d7465726d2054726561737572792042696c6c20546f6b656e000060208201525b6040516103be9190612671565b61041c610417366004612684565b610a39565b60405190151581526020016103be565b61044d61043a3660046126ae565b6101386020526000908152604090205481565b6040519081526020016103be565b61046e6104693660046126c7565b610a50565b60408051931515845260ff9092166020840152908201526060016103be565b61044d6101305481565b61046e6104a5366004612736565b610af0565b6001546104bd906001600160a01b031681565b6040516001600160a01b0390911681526020016103be565b610135546104f190600160801b900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016103be565b61041c610518366004612790565b610b12565b61035961052b366004612736565b610bd7565b61054361053e3660046126ae565b610be8565b6040516103be939291906127cc565b6103596105603660046127f4565b610c94565b600161041c565b604051601281526020016103be565b610359610589366004612894565b610dc0565b61035961059c3660046128b1565b610e10565b6003546104bd906001600160a01b031681565b61041c6105c2366004612684565b6110c9565b61044d6101315481565b610135546104f19067ffffffffffffffff1681565b61044d6105f43660046126ae565b611101565b6103596106073660046128dd565b611119565b61044d61061a3660046126ae565b61119e565b61035961062d366004612610565b6111d4565b61044d6106403660046126ae565b61120b565b61044d610653366004612610565b61122a565b61035961124d565b61035961066e366004612610565b611261565b610135546104f19068010000000000000000900467ffffffffffffffff1681565b6000546001600160a01b03166104bd565b6103596106b3366004612894565b611298565b6103596106c6366004612610565b6112e3565b60408051808201909152600481527f535442540000000000000000000000000000000000000000000000000000000060208201526103fc565b610359610712366004612736565b61131a565b61071f6114e5565b6040516103be919061291c565b61041c61073a366004612684565b61153e565b61041c61074d366004612684565b6115f1565b6107656107603660046126ae565b6115fe565b6040516103be93929190612960565b610359610782366004612736565b6116ba565b6103596107953660046126ae565b611813565b61044d6107a83660046126ae565b6119e5565b61044d6107bb366004612985565b6001600160a01b0391821660009081526101336020908152604080832093909416825291909152205490565b6103596107f53660046129b8565b611a32565b6103596108083660046126c7565b611b50565b61035961081b366004612a04565b611b5b565b61035961082e366004612610565b611c0d565b61044d610841366004612610565b6001600160a01b03166000908152610132602052604090205490565b6002546104bd906001600160a01b031681565b610878611c9d565b836108ca5760405162461bcd60e51b815260206004820152601660248201527f535442543a20494e56414c49445f444f435f4e414d450000000000000000000060448201526064015b60405180910390fd5b816109175760405162461bcd60e51b815260206004820152601160248201527f535442543a20494e56414c49445f55524c00000000000000000000000000000060448201526064016108c1565b600084815261013760205260409020600101546109705761013680546001810182557f39da2db355130acf428d669fbf1c14faa9d51399a25b793fc254bbbde66f02e20185905554600085815261013860205260409020555b604051806060016040528082815260200142815260200184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509390945250508681526101376020908152604091829020845181559084015160018201559083015190915060028201906109f39082612b35565b50905050837fb4c22d60cd550a815744f04e3ff5278bf19684565ee00e2b084041b6024bd6f6848484604051610a2b93929190612c1e565b60405180910390a250505050565b6000610a46338484611cf7565b5060015b92915050565b6001600160a01b0385166000908152610133602090815260408083203384529091528120548190819080871115610ad057600060066040518060400160405280601481526020017f414c4c4f57414e43455f4e4f545f454e4f554748000000000000000000000000815250610ac490612c42565b93509350935050610ae5565b610add8989898989611d59565b935093509350505b955095509592505050565b6000806000610b023388888888611d59565b9250925092509450945094915050565b6001600160a01b03831660009081526101336020908152604080832033845290915281205482811015610bad5760405162461bcd60e51b815260206004820152602760248201527f535442543a205452414e534645525f414d4f554e545f455843454544535f414c60448201527f4c4f57414e43450000000000000000000000000000000000000000000000000060648201526084016108c1565b610bb8858585611fca565b610bcc8533610bc78685612c7c565b611cf7565b506001949350505050565b610be184846115f1565b5050505050565b6101376020526000908152604090208054600182015460028301805492939192610c1190612ab5565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3d90612ab5565b8015610c8a5780601f10610c5f57610100808354040283529160200191610c8a565b820191906000526020600020905b815481529060010190602001808311610c6d57829003601f168201915b5050505050905083565b6002546001600160a01b03163314610cee5760405162461bcd60e51b815260206004820152601460248201527f535442543a204e4f545f434f4e54524f4c4c455200000000000000000000000060448201526064016108c1565b6000610cf9866119e5565b9050610d058782611fd5565b50856101306000828254610d199190612c7c565b90915550610d2890508161120b565b9550866001600160a01b03167f876b7cb47aa150b3a5516188b19ed308752ad4d0ae9a702543353b78163f7589338888888888604051610d6d96959493929190612c8f565b60405180910390a26040518681526000906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a350505050505050565b610dc8611c9d565b610135805467ffffffffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff909216919091179055565b6001546001600160a01b03163314610e5d5760405162461bcd60e51b815260206004820152601060248201526f29aa212a1d102727aa2fa4a9a9aaa2a960811b60448201526064016108c1565b61013054600080851315610f0757610e7d85670de0b6b3a7640000612cd8565b61013554610e9c90600160801b900467ffffffffffffffff1684612cd8565b1015610ef65760405162461bcd60e51b815260206004820152602360248201527f535442543a204d41585f444953545249425554455f524154494f5f455843454560448201526211115160ea1b60648201526084016108c1565b610f008583612cef565b9050610fb1565b610f1085612d02565b610f2290670de0b6b3a7640000612cd8565b61013554610f4190600160801b900467ffffffffffffffff1684612cd8565b1015610f9b5760405162461bcd60e51b815260206004820152602360248201527f535442543a204d41585f444953545249425554455f524154494f5f455843454560448201526211115160ea1b60648201526084016108c1565b610fa485612d02565b610fae9083612c7c565b90505b610130819055610135544290610fdf9067ffffffffffffffff68010000000000000000820481169116612d3a565b67ffffffffffffffff161061105c5760405162461bcd60e51b815260206004820152602660248201527f535442543a204d494e5f444953545249425554455f494e54455256414c5f564960448201527f4f4c41544544000000000000000000000000000000000000000000000000000060648201526084016108c1565b6040805186815260208101839052908101859052606081018490527f2de232542b5e46095f9201d87c29ba9afb81780177592a791c24967bd51529a79060800160405180910390a15050610135805467ffffffffffffffff19164267ffffffffffffffff16179055505050565b336000818152610133602090815260408083206001600160a01b03871684529091528120549091610a46918590610bc7908690612cef565b60048161012c811061111257600080fd5b0154905081565b6003546001600160a01b031633146111735760405162461bcd60e51b815260206004820152601360248201527f535442543a204e4f545f4d4f44455241544f520000000000000000000000000060448201526064016108c1565b6001600160a01b03821660009081526101346020526040902081906111988282612d74565b50505050565b6000610130546000146111cc5761013054610131546111bd9084612cd8565b6111c79190612dec565b610a4a565b600092915050565b6111dc611c9d565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000610131546000146111cc5761013154610130546111bd9084612cd8565b6001600160a01b03811660009081526101326020526040812054610a4a9061120b565b611255611c9d565b61125f600061213c565b565b611269611c9d565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6112a0611c9d565b610135805467ffffffffffffffff909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff909216919091179055565b6112eb611c9d565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001546001600160a01b031633146113675760405162461bcd60e51b815260206004820152601060248201526f29aa212a1d102727aa2fa4a9a9aaa2a960811b60448201526064016108c1565b6001600160a01b038416600090815261013360209081526040808320338452909152902054838110156114025760405162461bcd60e51b815260206004820152602560248201527f535442543a2052454445454d5f414d4f554e545f455843454544535f414c4c4f60448201527f57414e434500000000000000000000000000000000000000000000000000000060648201526084016108c1565b600061140d856119e5565b90506114198682612199565b5084610130600082825461142d9190612c7c565b9091555061143c90508161120b565b9450856001600160a01b0316336001600160a01b03167fb7d0d6b60740753e9f16692a2f479472a1385aec2420fa43225b02f2ffa1afe787878760405161148593929190612e0e565b60405180910390a36040518581526000906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36114dd8633610bc78886612c7c565b505050505050565b606061013680548060200260200160405190810160405280929190818152602001828054801561153457602002820191906000526020600020905b815481526020019060010190808311611520575b5050505050905090565b336000908152610133602090815260408083206001600160a01b0386168452909152812054828110156115d85760405162461bcd60e51b8152602060048201526024808201527f535442543a204445435245415345445f414c4c4f57414e43455f42454c4f575f60448201527f5a45524f0000000000000000000000000000000000000000000000000000000060648201526084016108c1565b6115e73385610bc78685612c7c565b5060019392505050565b6000610a46338484611fca565b600081815261013760205260408120805460018201546002909201805460609493849391839061162d90612ab5565b80601f016020809104026020016040519081016040528092919081815260200182805461165990612ab5565b80156116a65780601f1061167b576101008083540402835291602001916116a6565b820191906000526020600020905b81548152906001019060200180831161168957829003601f168201915b505050505092509250925092509193909250565b6001546001600160a01b031633146117075760405162461bcd60e51b815260206004820152601060248201526f29aa212a1d102727aa2fa4a9a9aaa2a960811b60448201526064016108c1565b82156111985760006117188461119e565b90508060000361174d5750610130839055610135805467ffffffffffffffff19164267ffffffffffffffff1617905582611766565b8361013060008282546117609190612cef565b90915550505b61177085826121a5565b5061177a8161120b565b9350846001600160a01b0316336001600160a01b03167f0e9905d62635f049c2f4e11678ebf9dc3d1f8c4a653e290759b772e47ba00d008686866040516117c393929190612e0e565b60405180910390a36040518481526001600160a01b038616906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050565b61181b611c9d565b6000818152610137602052604090206001015461187a5760405162461bcd60e51b815260206004820152601360248201527f535442543a20444f435f4e4f545f45584953540000000000000000000000000060448201526064016108c1565b6000818152610138602052604081205461189690600190612c7c565b610136549091506118a990600190612c7c565b811461193d5761013680546118c090600190612c7c565b815481106118d0576118d0612e28565b906000526020600020015461013682815481106118ef576118ef612e28565b600091825260209091200155611906816001612cef565b6101386000610136848154811061191f5761191f612e28565b90600052602060002001548152602001908152602001600020819055505b61013680548061194f5761194f612e3e565b600082815260208082208301600019908101839055909201909255838252610137905260408120818155600181018290559061198e600283018261250a565b505060008281526101376020526040908190208054915184927f3d9bba27d3e360d8c80645beed7e991454a8271bf6f269a24f7782be0f0d0654926119d99260029091019190612e54565b60405180910390a25050565b610130546000908015611a2857806001826101315486611a059190612cd8565b611a0f9190612cef565b611a199190612c7c565b611a239190612dec565b611a2b565b60005b9392505050565b6001546001600160a01b03163314611a7f5760405162461bcd60e51b815260206004820152601060248201526f29aa212a1d102727aa2fa4a9a9aaa2a960811b60448201526064016108c1565b8215611b4b576000611a90846119e5565b9050611a9c3382612199565b50836101306000828254611ab09190612c7c565b90915550611abf90508161120b565b9350336001600160a01b0316336001600160a01b03167fb7d0d6b60740753e9f16692a2f479472a1385aec2420fa43225b02f2ffa1afe7868686604051611b0893929190612e0e565b60405180910390a360405184815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a3505b505050565b6114dd858585610b12565b6002546001600160a01b03163314611bb55760405162461bcd60e51b815260206004820152601460248201527f535442543a204e4f545f434f4e54524f4c4c455200000000000000000000000060448201526064016108c1565b611bc087878761228f565b856001600160a01b0316876001600160a01b03167f6bf62b4b9c7b768275122bf70d429efc398a056d669b1efdf6c3976346246d7d338888888888604051610daf96959493929190612c8f565b611c15611c9d565b6001600160a01b038116611c915760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108c1565b611c9a8161213c565b50565b6000546001600160a01b0316331461125f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108c1565b6001600160a01b038381166000818152610133602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03808616600090815261013460208181526040808420815160608082018452915460ff80821615158352610100808304821615158488015267ffffffffffffffff6201000093849004811685880152998e16895296865284882085519485018652548082161515855296870416151594830194909452929093049094169382019390935282519192839283929083908015611e1e5750604083015167ffffffffffffffff161580611e1e575042836040015167ffffffffffffffff16115b8015611e3257506001600160a01b038b1615155b905080611e8a57600060136040518060400160405280600b81526020017f43414e4e4f545f53454e44000000000000000000000000000000000000000000815250611e7c90612c42565b955095509550505050610ae5565b600082602001518015611ec05750604083015167ffffffffffffffff161580611ec0575042836040015167ffffffffffffffff16115b8015611ed457506001600160a01b038b1615155b905080611f2d57600060136040518060400160405280600e81526020017f43414e4e4f545f52454345495645000000000000000000000000000000000000815250611f1e90612c42565b96509650965050505050610ae5565b6000611f388b61119e565b6001600160a01b038e166000908152610132602052604090205490915080821115611fb157600060066040518060400160405280601181526020017f5348415245535f4e4f545f454e4f554748000000000000000000000000000000815250611fa090612c42565b985098509850505050505050610ae5565b5060019d8e9d5060009c509a5050505050505050505050565b611b4b83838361228f565b60006001600160a01b03831661202d5760405162461bcd60e51b815260206004820181905260248201527f535442543a204255524e5f46524f4d5f5448455f5a45524f5f4144445245535360448201526064016108c1565b6001600160a01b03831660009081526101326020526040902054808311156120bd5760405162461bcd60e51b815260206004820152602160248201527f535442543a204255524e5f414d4f554e545f455843454544535f42414c414e4360448201527f450000000000000000000000000000000000000000000000000000000000000060648201526084016108c1565b82610131546120cc9190612c7c565b61013181905591506120de8382612c7c565b6001600160a01b038516600081815261013260205260408082209390935591517f9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcb9061212d9087815260200190565b60405180910390a35092915050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611a2b8383611fd5565b60006001600160a01b0383166121fd5760405162461bcd60e51b815260206004820152601e60248201527f535442543a204d494e545f544f5f5448455f5a45524f5f41444452455353000060448201526064016108c1565b8161013160008282546122109190612cef565b90915550506001600160a01b038316600090815261013260205260408120805484929061223e908490612cef565b90915550506040518281526001600160a01b038416906000907f9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcb9060200160405180910390a3506101315492915050565b600061229a8261119e565b90506122a78484836122f3565b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6122e58461120b565b604051908152602001611b41565b6001600160a01b03831661236e5760405162461bcd60e51b8152602060048201526024808201527f535442543a205452414e534645525f46524f4d5f5448455f5a45524f5f41444460448201527f524553530000000000000000000000000000000000000000000000000000000060648201526084016108c1565b6001600160a01b0382166123ea5760405162461bcd60e51b815260206004820152602260248201527f535442543a205452414e534645525f544f5f5448455f5a45524f5f414444524560448201527f535300000000000000000000000000000000000000000000000000000000000060648201526084016108c1565b6001600160a01b038316600090815261013260205260409020548082111561247a5760405162461bcd60e51b815260206004820152602560248201527f535442543a205452414e534645525f414d4f554e545f455843454544535f424160448201527f4c414e434500000000000000000000000000000000000000000000000000000060648201526084016108c1565b6124848282612c7c565b6001600160a01b038086166000908152610132602052604080822093909355908516815220546124b5908390612cef565b6001600160a01b038085166000818152610132602052604090819020939093559151908616907f9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcb90611b419086815260200190565b50805461251690612ab5565b6000825580601f10612526575050565b601f016020900490600052602060002090810190611c9a91905b808211156125545760008155600101612540565b5090565b60008083601f84011261256a57600080fd5b50813567ffffffffffffffff81111561258257600080fd5b60208301915083602082850101111561259a57600080fd5b9250929050565b600080600080606085870312156125b757600080fd5b84359350602085013567ffffffffffffffff8111156125d557600080fd5b6125e187828801612558565b9598909750949560400135949350505050565b80356001600160a01b038116811461260b57600080fd5b919050565b60006020828403121561262257600080fd5b611a2b826125f4565b6000815180845260005b8181101561265157602081850181015186830182015201612635565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000611a2b602083018461262b565b6000806040838503121561269757600080fd5b6126a0836125f4565b946020939093013593505050565b6000602082840312156126c057600080fd5b5035919050565b6000806000806000608086880312156126df57600080fd5b6126e8866125f4565b94506126f6602087016125f4565b935060408601359250606086013567ffffffffffffffff81111561271957600080fd5b61272588828901612558565b969995985093965092949392505050565b6000806000806060858703121561274c57600080fd5b612755856125f4565b935060208501359250604085013567ffffffffffffffff81111561277857600080fd5b61278487828801612558565b95989497509550505050565b6000806000606084860312156127a557600080fd5b6127ae846125f4565b92506127bc602085016125f4565b9150604084013590509250925092565b8381528260208201526060604082015260006127eb606083018461262b565b95945050505050565b6000806000806000806080878903121561280d57600080fd5b612816876125f4565b955060208701359450604087013567ffffffffffffffff8082111561283a57600080fd5b6128468a838b01612558565b9096509450606089013591508082111561285f57600080fd5b5061286c89828a01612558565b979a9699509497509295939492505050565b67ffffffffffffffff81168114611c9a57600080fd5b6000602082840312156128a657600080fd5b8135611a2b8161287e565b6000806000606084860312156128c657600080fd5b505081359360208301359350604090920135919050565b60008082840360808112156128f157600080fd5b6128fa846125f4565b92506060601f198201121561290e57600080fd5b506020830190509250929050565b6020808252825182820181905260009190848201906040850190845b8181101561295457835183529284019291840191600101612938565b50909695505050505050565b606081526000612973606083018661262b565b60208301949094525060400152919050565b6000806040838503121561299857600080fd5b6129a1836125f4565b91506129af602084016125f4565b90509250929050565b6000806000604084860312156129cd57600080fd5b83359250602084013567ffffffffffffffff8111156129eb57600080fd5b6129f786828701612558565b9497909650939450505050565b600080600080600080600060a0888a031215612a1f57600080fd5b612a28886125f4565b9650612a36602089016125f4565b955060408801359450606088013567ffffffffffffffff80821115612a5a57600080fd5b612a668b838c01612558565b909650945060808a0135915080821115612a7f57600080fd5b50612a8c8a828b01612558565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680612ac957607f821691505b602082108103612ae957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115611b4b57600081815260208120601f850160051c81016020861015612b165750805b601f850160051c820191505b818110156114dd57828155600101612b22565b815167ffffffffffffffff811115612b4f57612b4f612a9f565b612b6381612b5d8454612ab5565b84612aef565b602080601f831160018114612b985760008415612b805750858301515b600019600386901b1c1916600185901b1785556114dd565b600085815260208120601f198616915b82811015612bc757888601518255948401946001909101908401612ba8565b5085821015612be55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000612c32604083018587612bf5565b9050826020830152949350505050565b80516020808301519190811015612ae95760001960209190910360031b1b16919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a4a57610a4a612c66565b6001600160a01b0387168152856020820152608060408201526000612cb8608083018688612bf5565b8281036060840152612ccb818587612bf5565b9998505050505050505050565b8082028115828204841417610a4a57610a4a612c66565b80820180821115610a4a57610a4a612c66565b60007f80000000000000000000000000000000000000000000000000000000000000008203612d3357612d33612c66565b5060000390565b67ffffffffffffffff818116838216019080821115612d5b57612d5b612c66565b5092915050565b600081358015158114610a4a57600080fd5b612d7d82612d62565b1515815460ff821691508160ff19821617835561ff00612d9f60208601612d62565b151560081b16808361ffff198416171784556040850135612dbf8161287e565b69ffffffffffffffff00008160101b168469ffffffffffffffffffff198516178317178555505050505050565b600082612e0957634e487b7160e01b600052601260045260246000fd5b500490565b8381526040602082015260006127eb604083018486612bf5565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b604081526000808454612e6681612ab5565b8060408601526060600180841660008114612e885760018114612ea257612ed3565b60ff1985168884015283151560051b880183019550612ed3565b8960005260208060002060005b86811015612eca5781548b8201870152908401908201612eaf565b8a018501975050505b5050505050602092909201929092529291505056fea26469706673582212209dbb610e7916b4b46eda9dc2953da610da1ad876f3482057ed719a1627520d5764736f6c63430008110033