From f7ede42db72c650d35f9faaa7db681a65a9c50f0 Mon Sep 17 00:00:00 2001 From: Dagur Valberg Johannsson Date: Tue, 13 Mar 2018 20:39:30 +0000 Subject: [PATCH] initial commit --- README.md | 16 +++ debug-sample.log | 140 +++++++++++++++++++++++++ doublespend.py | 40 ++++++++ respend/__init__.py | 0 respend/blockchain.py | 14 +++ respend/logparser.py | 65 ++++++++++++ respend/rpcutil.py | 26 +++++ respend/txdata.py | 28 +++++ respend/txdecoder.py | 4 + respend/websitebuilder.py | 205 +++++++++++++++++++++++++++++++++++++ respend/winnerupdater.py | 35 +++++++ site/css/bootstrap.min.css | 7 ++ tpl/base.html | 165 +++++++++++++++++++++++++++++ 13 files changed, 745 insertions(+) create mode 100644 README.md create mode 100644 debug-sample.log create mode 100644 doublespend.py create mode 100644 respend/__init__.py create mode 100644 respend/blockchain.py create mode 100644 respend/logparser.py create mode 100644 respend/rpcutil.py create mode 100644 respend/txdata.py create mode 100644 respend/txdecoder.py create mode 100644 respend/websitebuilder.py create mode 100644 respend/winnerupdater.py create mode 100644 site/css/bootstrap.min.css create mode 100644 tpl/base.html diff --git a/README.md b/README.md new file mode 100644 index 0000000..d05f21e --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# Update vote information + +- Requires a Bitcoin XT node running with this patch https://github.com/dgenr8/bitcoinxt/commit/62ec4ca3bba718668f0aab1dc5ff570f9441092f +- Node must be configured with txindex=1 +- RPC username and password are assumed to be located at ../.bitcoin/bitcoin.conf + +Depends on pygtail, jinja2 and simplejson python libraries. + +On ubuntu: +sudo apt-get install python3-pygtail, python3-jinja2, python3-simplejson + +Run doublespend.py to generate double spend data and update the static website. + +# The website +The website itself consists of only static files. Point the webserver to serve files in folder site/ + diff --git a/debug-sample.log b/debug-sample.log new file mode 100644 index 0000000..cb8b36d --- /dev/null +++ b/debug-sample.log @@ -0,0 +1,140 @@ +2018-02-13 12:07:11 Respend tx2: 8b03e6a4c697894b63a701da144adc94c584d95bbb8745716a86cdbcf47c70d5 +2018-02-13 12:07:11 Respend tx2 hex: 0100000004cccf63be8d78c984c9b1d68d4144e70de603a3825bd5fcd7779c8dfc4dca34be000000008b483045022100d905c607ed24f73274280b11cef40f69c7e0c3f500262b8a73769d21e7c8fc0a0220738121dc2ea51b1d45b86dbb2e6fd77d7c3846314bc14cb0e83e7da95e9f65cc414104ed35f67bc06b0858a2578574ada29bedb87960e9ee5ab79384e8d1f5c7ed967f527442ccb3d997f92312a932591958cf13c1cdb87e6236a315432f02b00ca392ffffffff60feb979a5c6befe62f360afb72e59f0568bc6999744e2a6fe0269be801e2e82010000008b4830450221009b87fe28d42ce0a4708181d2cab988dddf423aa9028ee1ad405dddd1e05905f3022024d9e101166d6f454686e5fdda167bf582ffc1fda9ceb2cdbf1514a72396813d414104ed35f67bc06b0858a2578574ada29bedb87960e9ee5ab79384e8d1f5c7ed967f527442ccb3d997f92312a932591958cf13c1cdb87e6236a315432f02b00ca392ffffffff34b1ec97acd1876ce4d43cc7e97047992e1e7edd68ddb2892107228d14d564cd000000008a473044022059c71ee518c6f093e30e27b2ab68e11cad9a1b49e6dc460bcc6827b88e7e283b022079c3f2215f20cf53b7d1b641c6674a4aaca391e265f7c7d8cc956ae995de9142414104ed35f67bc06b0858a2578574ada29bedb87960e9ee5ab79384e8d1f5c7ed967f527442ccb3d997f92312a932591958cf13c1cdb87e6236a315432f02b00ca392ffffffff12a438d45561ec88f46cdc35d622e04979f3aa38215c4e56917161fbecd34375000000008b483045022100af7523389af54d28fa721f8aca02949e0ad653c50f8f94a6038119363718f4ff022049e6c982e588b2f3a6aaf7b68fb2f631c655f79237bb53f70f9eeb3581ad5d89414104ed35f67bc06b0858a2578574ada29bedb87960e9ee5ab79384e8d1f5c7ed967f527442ccb3d997f92312a932591958cf13c1cdb87e6236a315432f02b00ca392ffffffff015356df18000000001976a9148a729b946397a7cc2899cb537605d39b0e26420988ac00000000 +2018-02-13 12:07:11 Respend tx1: 2018-02-13 11:34:44 7c84d6ab284f5b9ff3e0a2f93c51caab3608ae867e25eb96a100fe7b2f3433ea 8b03e6a4c697894b63a701da144adc94c584d95bbb8745716a86cdbcf47c70d5 +2018-02-13 12:07:11 Respend tx1 hex: 0100000004cccf63be8d78c984c9b1d68d4144e70de603a3825bd5fcd7779c8dfc4dca34be000000008b483045022100f3b083355d6c16ce4fe86bfeaa923962b52954ef79d9b9c7a9f50835370e6c5202207030d5a7e189e9e03cb6527307be84c46df2f82089cef450a0e6c71a5a04dd58414104ed35f67bc06b0858a2578574ada29bedb87960e9ee5ab79384e8d1f5c7ed967f527442ccb3d997f92312a932591958cf13c1cdb87e6236a315432f02b00ca392ffffffff60feb979a5c6befe62f360afb72e59f0568bc6999744e2a6fe0269be801e2e82010000008b4830450221008e4c416faab873357ffe2f28487637f726775c61b784d94b5b7f4e93be81d192022002fdb8e04c69fa42426a1f8c49c22297ad274c9787d4274d763a11964ac14f22414104ed35f67bc06b0858a2578574ada29bedb87960e9ee5ab79384e8d1f5c7ed967f527442ccb3d997f92312a932591958cf13c1cdb87e6236a315432f02b00ca392ffffffff34b1ec97acd1876ce4d43cc7e97047992e1e7edd68ddb2892107228d14d564cd000000008b483045022100ba6e2c8446ca01abc5bf3ff3213db16b1fbe99bc845c1488a51b01958a4c31ac02205852c1875aa46256e979942f12f7ce0c94926320115b25c5307c81254c38928c414104ed35f67bc06b0858a2578574ada29bedb87960e9ee5ab79384e8d1f5c7ed967f527442ccb3d997f92312a932591958cf13c1cdb87e6236a315432f02b00ca392ffffffff12a438d45561ec88f46cdc35d622e04979f3aa38215c4e56917161fbecd34375000000008a4730440220768b77d598521640652cc8d427c07e34bd4c68f52df458b285b5bcee237f5b10022073a694c059a874e05143059dc4ae4da1384f6337b5d73741da791c4b9589442a414104ed35f67bc06b0858a2578574ada29bedb87960e9ee5ab79384e8d1f5c7ed967f527442ccb3d997f92312a932591958cf13c1cdb87e6236a315432f02b00ca392ffffffff015971df18000000001976a9146051d6b55a3a86124409d9b99bb47e918ef9772c88ac00000000 +2018-02-13 18:05:12 Respend tx2: f252b120815ca2747d59b67d6b3b918d896ce15fef7b39a0570981176e2a7975 +2018-02-13 18:05:12 Respend tx2 hex: 0100000001ef4543dcb8750ba6db03f512e49c96ef4b8f55a16e655086f3d6412b35c353e8010000006b48304502210094b9daa728b64d11b679457d3f98448ffd68d9de6d9a2a8433f137e9374b53400220183aa96e5addbcdcdf19a654bfc269d7944e0cf084bcab9cdb43bc544ba0e50541210370c0b810587081a70d7b16c575127016af335ca31a060eca968a2ee38a20d142feffffff01222409540200000017a914b6221140d9b23cf5449a8f4f91cf87722c36bb108770e40700 +2018-02-13 18:05:12 Respend tx1: 2018-02-13 14:43:43 4719f9caa9df9668deb733ab8b117443cb9694256337ad0b6d52cb437f0ee908 f252b120815ca2747d59b67d6b3b918d896ce15fef7b39a0570981176e2a7975 +2018-02-13 18:05:12 Respend tx1 hex: 0100000001ef4543dcb8750ba6db03f512e49c96ef4b8f55a16e655086f3d6412b35c353e8010000006a4730440220393095445aa4d7bb9b7268ea59a99947c116354c25bbd8accde4df01340435b2022075fef2f7960cad372c75ed6f3953a2c406a988a20545f8d354be970e3a6d07e741210370c0b810587081a70d7b16c575127016af335ca31a060eca968a2ee38a20d142feffffff01d62409540200000017a914b6221140d9b23cf5449a8f4f91cf87722c36bb10875ee40700 +2018-02-13 20:54:15 Respend tx2: b31446b9012bedde0e2fd4bea98da19679900a082c0af34a36e1f72aa7ae0fff +2018-02-13 20:54:15 Respend tx2 hex: 0100000001305c620fd4381a064c39859fa63223a6ca46fcb7952c73528ef8952eac9bbb64000000006b4830450221008d90c08804d3163e37451d1dc93c0b128c8b532b1f8f6eb57213e59f7c020cca02204b126ac065ce892b7e1731d9f30e2ff8734e50cb236ca00d670d98b065e3d602412103a9a4ee3441bf8b8ffa8ebfd1d600f4a0e4ed868bcba17240c414e05d8e5df04bffffffff01581b0000000000001976a9146d542e619702a2d11bb910cfb372afd27983017588ac00000000 +2018-02-13 20:54:15 Respend tx1: 2018-02-13 20:54:12 58b2de3218d38c5aac812ee72885c7d1208b7d701800893c5051722f58601f20 b31446b9012bedde0e2fd4bea98da19679900a082c0af34a36e1f72aa7ae0fff +2018-02-13 20:54:15 Respend tx1 hex: 0100000001305c620fd4381a064c39859fa63223a6ca46fcb7952c73528ef8952eac9bbb64000000006a473044022054f8b2bb5652fd2866163c451b5f33d62e3fa5bb012d9291be21755c40b6deb902203a9410de589976608ef09246317946b6c7fdf6ab32241f62b686fed989deeb6c412103a9a4ee3441bf8b8ffa8ebfd1d600f4a0e4ed868bcba17240c414e05d8e5df04bffffffff014c1d0000000000001976a9144c48a7c0c8a50702a667c91af2aeb43bf8dedacf88ac00000000 +2018-02-14 06:11:26 Respend tx2: 3b184f9268db46826b5c8d116d6dd3a9eb0e83993f86e5de64a15a7792cf9af7 +2018-02-14 06:11:26 Respend tx2 hex: 0100000001335e00697cec494920871cf945d8933e1f75ab5bea004c75fa8935837e6e1cf600000000d900473044022044bfe1474811d8c50ff37d72dde34479b9f7dc6c8490ecdab83a711fb791f4de022063e5fe2be459056807a79132fa2d24a1d98a1cf43f52c03d9c5f132e832099b2414730440220338f28f2a55c1d449e6339630a7b9b2b8b188a52d58dc31478ffcfd4c8a8b9bf022010fe24f4a0584a3e0b113f8f17811ce0c7f94ad0a9a565ffa837c470dd6e199c41475221028458fd2e664422af4e154302304785f0daf98ecfd5fe3e193c1b89bd27df56742103415ea6a91a8f7fff0fd3727ba34d865eb03434cf3d0f026d0fef1f7717d4f79752aeffffffff01c3c3b042000000001976a914b4a83eae06bf8d9e984d1adbe940d2e6926baa2488ac00000000 +2018-02-14 06:11:26 Respend tx1: 2018-02-14 05:30:17 f5977eb37c62487c07e927300a910ef3ff3ff63e20df64b61ff497d4111f716e 3b184f9268db46826b5c8d116d6dd3a9eb0e83993f86e5de64a15a7792cf9af7 +2018-02-14 06:11:26 Respend tx1 hex: 0100000004f846e006b264de63ea1a72399b452a15621fadc785adbe7fc4af719e6f6af3eb01000000db00483045022100c721316490bc40ae4bd12827c9405ddb206a13291b12e5a62f7dcb2e461c619f022066b1b4da52b1f4981309a279b483c8abab73175cdfe0309f3810b26f21d0e6da41483045022100b1e3330fbc1c2ad6528630c03627fc89e1885b6e020f27d42f855267bfb3ea5c022038abc001e4950f29e0cc380accf2b42c6faecd16377c63f652644efe90858e1e4147522102f717f612601a0ab8b6065a83af838b1b35ef814f92d96bfb1e7049448ed017422103c602acde14e07da790ebb5264e4c0e1ed7172e6a1cab113b21729d4bc6920ad752aefffffffffaef7de9bde1482e746be36e4e997e8c624f8024baf30fc1b67a8b9535557bc001000000db0048304502210097852e673a8671d051f1df57a2af014fb22fbad2596f389491acc80c11fee57102201ec7f1c6c8e4dc9a5ce8dd66f895c481627ca4734c74e85aaf2045f211d7ae1141483045022100d95242fbf51f3f667619232e7f931bc2f3df57c75507429ef8409555f34af91402203e8b6d41d4022156ee63e0e9701efeb788d0ad4d2bc1e26052ef8a37d93bb53b4147522103a3b341b07da4d4066248bf2d1f3e6d2e53ab70184dc853bb68c9b37f6f302b7e2103d87e581c4093cad9248a84d956aa8cbe862a4b24d6e05c55567afbda6e241bb652aeffffffff7d61da0b6f30c9b34c001d60ceaf1097387bd0892bd1d17458fc35342066f02400000000d90047304402206f01aff00ef9e167b69949096144f80407f45e06a8c671db5856d6ad11c1eaac022032cd3dd6a8ed418b010d23bd4ef87c8cd64fda628ebb7ebc6ec27b8716043a664147304402201ddd766606f8ac84e39acc2640b6150a4a056d1d67cdfe3dc90f93d188e2bff702207f8a7b3730a9baad262a93ef69413991067b9dfedc11859fa8ca0863d2012bce41475221024d5f0d3994d9c876058779d98fa2faf37628454a0092830d22b9d390102904ad2102d82953e2fee0c8cb5959147fe302d92946b1a278a95b1c6d9e4895b72cc2bfe452aeffffffff335e00697cec494920871cf945d8933e1f75ab5bea004c75fa8935837e6e1cf600000000da0047304402203e74139b796063e71391469f2c7c92333da1c9bc0131b6a0e55ce9ec358985dc022066f4d2e864df2d1f06c6bd256f605872f136f550dabd09ed73b582c5091bb44c41483045022100820b4186b1428397a553ffbcd6be25ae9c76de1925d2fdd4265db32b9f080fe2022072c2566438ff062833daff79467244d868b7e768fd5fbc8dbe3ad47907e8e80741475221028458fd2e664422af4e154302304785f0daf98ecfd5fe3e193c1b89bd27df56742103415ea6a91a8f7fff0fd3727ba34d865eb03434cf3d0f026d0fef1f7717d4f79752aeffffffff01c5984949000000001976a914d78a4520e8a4538e4ec4e7e9a640c3f2e5f5637888ac00000000 +2018-02-15 04:22:41 Respend tx2: 222c461456c0f8c1b3363d3a1b22f9d7dd207f90c37754070a9f0d83b52b647a +2018-02-15 04:22:41 Respend tx2 hex: 0100000001e61ace69a09f663a837f2c4aa08c0f16b97d3d61ecc94374213345b540013a31010000006a4730440220274dc82718ea8c34bc20b8b16605959edbfb033c267acc1b6439a9ce1720ec56022021f0d4bf8a071ce7826c4908d6b891ad1681dac02490d5f0adaf253187f58fe141210357c5b5fcd2ce0773e262237e6cc44489843a59a432bfb5a89ffbe45eed51449cfeffffff02a4e43f00000000001976a914214279b1e5ef62f2e5b0585e8d89d5df9a73c77888ac40933402000000001976a91465c8caf78ec7c6f9f739af567573a2e32197c78788ac4ee50700 +2018-02-15 04:22:41 Respend tx1: 2018-02-15 03:21:55 172535471bcf0c48a86f69eb22fbfd61e861458d37b955ca892bdd14476b29be 222c461456c0f8c1b3363d3a1b22f9d7dd207f90c37754070a9f0d83b52b647a +2018-02-15 04:22:41 Respend tx1 hex: 0100000001e61ace69a09f663a837f2c4aa08c0f16b97d3d61ecc94374213345b540013a31010000006b483045022100aa76b18590c522c52bedae3bd085d8fd46d874d37e35401cb41393df7a9601aa02204e98ff262d0c4a9f69c78f63cd2c80c355bb81e2a1bf4aa836c3e400ccd8ed6641210357c5b5fcd2ce0773e262237e6cc44489843a59a432bfb5a89ffbe45eed51449cfeffffff026ce53f00000000001976a914214279b1e5ef62f2e5b0585e8d89d5df9a73c77888ac40933402000000001976a91465c8caf78ec7c6f9f739af567573a2e32197c78788ac48e50700 +2018-02-17 15:37:32 Respend tx2: 18903ca13584d74beb191ee34ef796ac0356357e585d6828bdcae73d10656fbf +2018-02-17 15:37:32 Respend tx2 hex: 01000000045fc9e20aadff340d6473c9c834482bfbb9f0629c0dd4a6075c4624d737b2e21e010000006b4830450221009c84501bf5f64143c68fdd641a97543b2175b4a1561a2d6c051a818b532e5f6302204f1da6c530b27d08f8c7a47e6f67bfd0e8100db108d62328bd99630a756f73784121028b2486490638126d5d7deeb99e1fbd4805721aa8a012a551a2158b5f937c6fb6feffffff470d0afb0686f8ba4e2ae143d4b620a7c842c8abcea0baef974920455c3f7e27010000006b48304502210080672dc78df9a5ddc46616e4591386a78f7c40fd35ab7d4973ea74453a28645f02205bcbbb261ec517faba7638d324eeb1940d7fae7dcc1ef89b3823ad58db591cae4121028b2486490638126d5d7deeb99e1fbd4805721aa8a012a551a2158b5f937c6fb6feffffffb89a4aa15589dba809ddf5617af4d9abb4d04c5afb00118f0f497bc58eb63a8f000000006a4730440220235a8be9192c4ea38010682e64c67aa050a7dfba4cd1654895186e746d4e551d0220412be589d7e9ea9daa77ba116fd378807657835b6c5ce1b14fbe0819943f1cfb41210341504be91f59cb29aad0fa17254d59e3f4481eb2a21b1b2e38bdda4b9928e02dfeffffff54980dd0a9c90370ba1a88aefe6031cc6ff656271e5a1c6a36e6264083062fee000000006a47304402200c55333863abc6b8e1ee8bfeea0b6714799fcf1bb97019b4409b5a4c4bdfca5f02201a1c5781121b99e29d9ba2fa0e9c4ad917a846215f4e2cf0215a281f03e4c9204121028b2486490638126d5d7deeb99e1fbd4805721aa8a012a551a2158b5f937c6fb6feffffff01edb9ee070000000017a9145650da99747fac406df040645974e356a40f9ed087a5e60700 +2018-02-17 15:37:32 Respend tx1: 2018-02-17 15:32:43 85345b096f7e9251b41c53a4644923d46a8c95433539ffb9af21502dc6bf0be3 18903ca13584d74beb191ee34ef796ac0356357e585d6828bdcae73d10656fbf +2018-02-17 15:37:32 Respend tx1 hex: 01000000045fc9e20aadff340d6473c9c834482bfbb9f0629c0dd4a6075c4624d737b2e21e010000006b483045022100e31d652235ac2f2417980a076f48f5213cba5d49685ee72f8430ec316cb891a202200435d96fa40176e057388af9173559837353a42f9d98d8e0b6c789be7ce198924121028b2486490638126d5d7deeb99e1fbd4805721aa8a012a551a2158b5f937c6fb6feffffff470d0afb0686f8ba4e2ae143d4b620a7c842c8abcea0baef974920455c3f7e27010000006b483045022100bb170323d9bfa732cf51b3d0e1cd77294d537d00f33b2e6884f021e3060275d60220514453110a99fa49f324842b16819d72afbf7c01f8b884043aa428b26e839aa34121028b2486490638126d5d7deeb99e1fbd4805721aa8a012a551a2158b5f937c6fb6feffffffb89a4aa15589dba809ddf5617af4d9abb4d04c5afb00118f0f497bc58eb63a8f000000006a47304402200f3bbffcce56be86c026db25f7b40642d0a99dd63468aab3ae318d8b7e9dd68d022078f498390b148d3e2f62dfcde505fde92bdf9745efae2b9ee3a1f2cee1de577641210341504be91f59cb29aad0fa17254d59e3f4481eb2a21b1b2e38bdda4b9928e02dfeffffff54980dd0a9c90370ba1a88aefe6031cc6ff656271e5a1c6a36e6264083062fee000000006a47304402200f3ca133f7ce28997f757bf274391f1fc11e4d1c4992e9a364afbbd42e45740002200e812ad5c21d86056ec75020e1841b291f1d2f8834e4eed7a9e442006caf522f4121028b2486490638126d5d7deeb99e1fbd4805721aa8a012a551a2158b5f937c6fb6feffffff012abbee070000000017a9145650da99747fac406df040645974e356a40f9ed087a5e60700 +2018-02-20 05:26:38 Respend tx2: 4472ff57bc1916d5f77554307531ef1dd6d348424634f3506b0aecdea04b4369 +2018-02-20 05:26:38 Respend tx2 hex: 01000000130f9cb0844df97116e206f78a003d7ecdc2ff750bea98ec216059f27af091d50b1b0100006a4730440220129d50078c129587ec9cfabeaaffd344dc86eff7d28bfed95d9d4b2f35ca822902200175257d6f2abac6edc17c9a3c825969731723626fa7055e8e5622e319081b4741210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff4d19d83817c4162a7b9ad72d0a4b60ac2e534344c375ee175ab82db4e674a61a2a0100006a47304402206083148c14ecff6b365b52d94fe46dbe11e4fe2e32d2dfbcb44931a314aba9d4022029326482dbb4f7d82a985d1a4a26c55bc96f4562edec48bde028843da171a58041210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff600922e6a89714960fc83b2dc9a1825fbdd41866d397fd1aeabf53fe48c32527360100006b483045022100e8f5af0dda9fb00a5c2e18b5209c05b5e8d01ea1dcb5533be42a4ff924c43938022038a757af8f89095e6813b7dea53cccf56993b9918e9d46c903601241c873a8d441210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff37492564e5c50ea10f11ccfd8f127bb535a6d242e0114391737b23b2c7665933280100006a4730440220139849a22e84702877b77e4c1c240f5a7db47a73968a21a7d86c5d5d83a248cb02200136c9328c6408342eb67acc725893a377c918ddfd234426084240a926e8e89541210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3fefffffff4552513a171f632822f107909bc136854525045d8c252125d060986b0e056614a0100006a473044022070645a748275ec4b42fd0e763c1e5f61321575faebb0e0ae05ebf5bbe44d15550220693d76c6bf64c154c5697ecd942bd935ec1cada5bc2cf1f4c7115e2a563242cb41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff9390bcac2a5110d823c19a5cbc286e7f73775ac36a98c23d3bf09c4beb688970740100006b483045022100f0d148b35653b90089a634aed5f3d47fc640ce18a680632442770bd39fbc3b7802204989dd3c1c5ae60c02d91a82ea56fb18545b4c5277d37c5e6de5b17a22a116a241210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffffd13e237502871cea16c2e1d640e7c4adb3cf01db6ce4b6446701d1856a45337b340100006a473044022077210eb521f44f4d9dbbcc954a3ed7701d939aebc178fca77fc27ccaade8ea5a02200b3de4df454a063df1b84622cdc8c11cb74f4156ae9497bd361c33d670cf7e2c41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffffdfef689d2e79fed6145ffb4b9113b1a8aafbd3a564ad2141bdd26f53537c757b370100006b483045022100e27e5030cb396db515786e0becf92fc95d545e2d43bb89637349346de9094e2f0220652d015276ea1f6d8adbe00d08f06b65e2091f698082c8ce7cbd56a59ecb6f0d41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff63ff0c0c1ef0f79e8b7c9947d48bd75273a9c9efe4c035fd592d3bab30fc2b8a4f0100006a47304402203429478b35de33a7e5ac678f51bc7f5b8e1aaf64230173fcde75fdab4ab3601a0220538157f2c89f021986471317a1daa952aae8b68510374abe04663178f28c698d41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff4ca812d10ee7798d7268a0a872dd6c79aef4ac9b917508de02414ab7569cfb8a0e0100006a4730440220399870ee84713ea0f00752e449326b34934791423088c753b444798838b0a0f302206bdacbb725a9c32458901e33d5ec3f33de34fe3a360e79c0a63c6a5ef1689dc441210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff82bd297a7c31a4cebb72cf8acc6f1373e4485abdbf53a8c0390e5003619204b2410100006b483045022100ebda04be47879e58afaeeb740c13e86f34730235c876e47232f00a592bb9b5d6022050404dd05d1b44762418a1cacea776052d30f18194181e15f4057055f0957cae41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff961f5086dfb5093b9fca6524b96ade7f7f46393d6b09f1129c7e8646741e47b2250100006a4730440220330a79abc21526f765a3a0fc964eacb7e9b8b63e6b701ebdfd46ab5c94207c10022009cf223329ff61e070ac36edb6f593c8877cedd10aba31ccab2184f256cf02b441210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff9d83792b556a658fdb845a6ae06f38f746b4cd67812bea69ad0f98aef4cf0ac3010100006a47304402204304ae900529f2b0ed2167a637ee5e0dacfc8befd27ccfacb7284cd7d2234e5102205db978740f2f64797a1f105d849e552a93829c9886f8643e168f24f7e98f7c8e41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3fefffffff3f797ebc6a993c5b08944097cc8b742b6f13f9a13506892fedb042b2c1d5cc33a0600006b483045022100bd2bd1d9f594df1bba5f9f4e808ca4b51b585ad3049317fb41394d48c33bfc3e02201ee5bf44054aa1405f51ce3219dd90bcc2c24dbf385f80a1bfa1300978691c9541210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffffdcf818d0bb2dde4b0964700d493db2364d3851550fb7e6484ec4a1157aadd5da340100006a47304402207386f2a0bae4633f33a23451743b8ca65ad6271784dd05c129891d7ca1e0dcb002206efc0a4a431f30b0c178ac7e303cb52e8dc70698e2c8717b75d6d1488bc8159d41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffffccf6b8cfa18dbce19373764777ca8f7d34981a95f01b9ef37e639e045b88c7e1360100006b483045022100a56344805dc674ccd0a9e7ef7201e20f6f0962576b6d2e6090ae1c178716e64d022023b7f4e1d11436ba2759f142ff3f810005ec27b3e939eb40330cdad25833b82a41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff13503b83c816451fdd9059f241529c015eea428b9cb20555cd04fe36646ee9e4000000006a47304402201cdae87a2bbc92298be03b741a6f9c60df6c524ae1771f8a161de573ed4a802e022011bee7061df9b7ce75547a506ee5cceb7807b8d45128d5254cc6beb6e7e50c04412102c8f08f514b897a27c65d8c005d2c2937d85b62ad68dff5a4886a82ad0055d074feffffff6fb46101babc4940f5f8aa27205d6d3e6eee7330436d4da4e242b83c62481eed210100006a47304402201aa45496e3d2c7c24c2e278302387f27d249cbb85a5aa502601602683bc61f2302202f52733d8438ff470709a65139fc9dd9e8b993be5149cdb1670dba93ff96c04741210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff4bfafcd020fdcff8196ad596c44f8b8fdc65d2ca64aef81cfb76c07993c2fff0050100006a47304402204527e294675637ea39809931b7a504a1c626d87254227405d64c9fb34059e4bf0220626b15ddee79e3a37a6467ea21d956dbd9e8fad81546e738c36358d6679472a141210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff012074dd010000000017a9143369cf40fcb6bbce58eaa6abe49aa58283eb189f871ae80700 +2018-02-20 05:26:38 Respend tx1: 2018-02-20 03:59:47 90f559e4573e17b87df68cf3ecce2cb178e84e115d2fc3e12e90c2bfd9585f0a 4472ff57bc1916d5f77554307531ef1dd6d348424634f3506b0aecdea04b4369 +2018-02-20 05:26:38 Respend tx1 hex: 01000000130f9cb0844df97116e206f78a003d7ecdc2ff750bea98ec216059f27af091d50b1b0100006b48304502210084abfa92f75e9df048d7ef1edd89134d53bf5e36386d2cc27fc906e7273f003c022060234a3235d0e27c0cbe2a870ac750d9cf825d4c4e776b2cd5626c5b13d8a6f841210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff4d19d83817c4162a7b9ad72d0a4b60ac2e534344c375ee175ab82db4e674a61a2a0100006b483045022100a9a872912121d28abbb3fbf31a8bcca61347672be73e9e4276b744808c074a0202207f96425d7cdc878909bd7fe94c0075a30ef0e190e81218271e8a73d1f6a8a4de41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff600922e6a89714960fc83b2dc9a1825fbdd41866d397fd1aeabf53fe48c32527360100006a473044022065d5c5d84336438898b2e021d7a4c249deb7bbfdb6d4ead4c2c9a7a07e12f4a3022054ff0aaf37ed6988af5bd4d5cea5ce2a75dcdbc3fd4d64297bbdbabdfad93c3241210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff37492564e5c50ea10f11ccfd8f127bb535a6d242e0114391737b23b2c7665933280100006b48304502210088ed8a94bfa4a51cedad67c2c6cfce14463b8cbaf8ab6d4c1f368a4a87f9cf7f0220570efc81a951828095ddbd5e003cc3ac0f9125074bd7a5837c838ac712b31fbe41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3fefffffff4552513a171f632822f107909bc136854525045d8c252125d060986b0e056614a0100006b483045022100a6566b3605a4bdddefd79b79cd8271be693d9d72ebe711829ff15065076886af02203e8fc58ea8bae560d962783387ddf143a00f56f7e4ee3ed6f9ee65193837105441210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff9390bcac2a5110d823c19a5cbc286e7f73775ac36a98c23d3bf09c4beb688970740100006b483045022100a47cbb15f0120b44289767dbb055883a9a50cde52bff42ec3a7c23930030261602205297893da53c39198f87a65a5bbebabebb5deb4343f8bec1bbf048df6ef9246941210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffffd13e237502871cea16c2e1d640e7c4adb3cf01db6ce4b6446701d1856a45337b340100006a47304402204ff15f3fae05e7dc28c91c9cf04cbbc34e809eb5ba474d0836936c635e68713402200a6b8f6a3ba7025506f518d02ea0c73d551ac1e0ab6f47018b6aad73fd07b82541210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffffdfef689d2e79fed6145ffb4b9113b1a8aafbd3a564ad2141bdd26f53537c757b370100006b483045022100f141601f8e854bbff9cdfe945ff0ac5b5b0e7d898e7eca99f91a3342ab5e14070220064a0027bdf9f5fad9d731f67c6792a84b845d6e8d3ac1f2e1ad6932738f936e41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff63ff0c0c1ef0f79e8b7c9947d48bd75273a9c9efe4c035fd592d3bab30fc2b8a4f0100006b483045022100ec28b169af992f26a4b294af34bb00033d764ff9d520718583897e877a161ff002203082a3e16f2748fd39f44f8ab0fca3522161bc08ffe3a1591c7d9e401e91d79541210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff4ca812d10ee7798d7268a0a872dd6c79aef4ac9b917508de02414ab7569cfb8a0e0100006a4730440220104205e0cf146032c87aa1130d18b16480b24f990eb6e91a52c9de41cbbd737d02202ee1b478c79dc28d10cd5a8955a9ced5e1e107e946a92cdd093438c734f8f8be41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff82bd297a7c31a4cebb72cf8acc6f1373e4485abdbf53a8c0390e5003619204b2410100006a473044022071459a413dd5fb7a356aa6948c5f660361e5c875377a3c1549ba31914f04a069022065240b78b21a35ff5638a7a06488ce3b0c79610297e4ae1aa7ca4e9b1eaf16ec41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff961f5086dfb5093b9fca6524b96ade7f7f46393d6b09f1129c7e8646741e47b2250100006a4730440220655370493f521e5b6bdde03f4ec84b056dda5579d40e116b09bfb2a664cda8fc02204034f7df391c20718a4f276fd13cf994bee4bcd40d60e381e40427dc26c709c141210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff9d83792b556a658fdb845a6ae06f38f746b4cd67812bea69ad0f98aef4cf0ac3010100006b48304502210088a07f6eae4ce3a688796ca308d00bcffa0e689176bf982cdc6f483ce43b10c0022010e37b1d3332427fc6083d546dc6698ec91bfb00b195d54c37a61d7a793d0a6f41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3fefffffff3f797ebc6a993c5b08944097cc8b742b6f13f9a13506892fedb042b2c1d5cc33a0600006a47304402204e474b8648b3d0cdb9b3dad1d12bfaf788945ea5076ba14b3cacc06d92257f9d02206ab0fe76770acc3d1345250ae1d6c78b6ac508461cd77fdf2aa125b8f181d34341210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffffdcf818d0bb2dde4b0964700d493db2364d3851550fb7e6484ec4a1157aadd5da340100006a47304402205fa09f7c8f024e1a5c439492bfaead50b445492dd809132c27015adeb8b40005022077757130abfc2e6028126be3fbc970f1fe1de746663c606b985af1627ce22b3941210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffffccf6b8cfa18dbce19373764777ca8f7d34981a95f01b9ef37e639e045b88c7e1360100006b483045022100de8d40be8d0a9d04a264cdeb5d06b4e1a17c49ed8910ad14225996f35cdd7c80022019e5cb2aae4e7d447da87df4d43cbf6900302e96c7cc01f5f35de185b704c98741210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff13503b83c816451fdd9059f241529c015eea428b9cb20555cd04fe36646ee9e4000000006a47304402206e6cc952d1f93a92712801136b69605e79d4ecb99d924d9d9d5d624178e08af202200b1aa04e1df5e34fa485f1c2c85e0126f30537e8e3a464a331e7cf5105045ed2412102c8f08f514b897a27c65d8c005d2c2937d85b62ad68dff5a4886a82ad0055d074feffffff6fb46101babc4940f5f8aa27205d6d3e6eee7330436d4da4e242b83c62481eed210100006b4830450221009aff2cd32ccefc89fb8263ee531df9e41639b53f636f67a6d03abcba93134075022034f2e4d016c62d11a25f97164b2269d8b1cc49d72822a26e822db99253d05aac41210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff4bfafcd020fdcff8196ad596c44f8b8fdc65d2ca64aef81cfb76c07993c2fff0050100006a473044022073c50d26ab154f9531c273b879eb005fb78bc218e219aa4454ec50f298c85a9202204553d432c882ce6e8ad094b50573e9d36638b1cad124945d79ce3de43b71d57341210272fbcaea7032d93fe665db124c35c28b7af2b36376b256858c39f73448c1d4f3feffffff01d875dd010000000017a9143369cf40fcb6bbce58eaa6abe49aa58283eb189f8712e80700 +2018-02-21 03:53:31 Respend tx2: da4f5457f132438b3bc62c9f4a13d6dbea592fc9008cf9bcfef0b0e16891e6f4 +2018-02-21 03:53:31 Respend tx2 hex: 0100000001c02125d1ec1a5637ec5571cdbd25ff72eb23694c05d15d7922f62d7652f5a38f000000006b483045022100cacdf8b4394805ca66faf101c2ba9cd02f9dae33788df702e7e3dae71f7da1dc02203292e50a19a9fa4fa0d1f50e157a971d88fc45eec49f2083620d0e2e3e957de9412103d03ab2a5110f1b702dfa3617028cd73a2b6d6b79345ff1b61a28be80fc94db43feffffff023009a800000000001976a9143cb0dd503a8c9e259d0f6b3e32b46dbceff1eb4488ac002d3101000000001976a914bc681258c4a2f334efa7f639e2659ca0b8f1ab9d88aca4e80700 +2018-02-21 03:53:31 Respend tx1: 2018-02-21 01:43:49 6de09c48657f8ea9bde48b8146bf1796cb82ec65c03f4aaabd707ca7ffd7dfc9 da4f5457f132438b3bc62c9f4a13d6dbea592fc9008cf9bcfef0b0e16891e6f4 +2018-02-21 03:53:31 Respend tx1 hex: 0100000001c02125d1ec1a5637ec5571cdbd25ff72eb23694c05d15d7922f62d7652f5a38f000000006b483045022100a0e6563e53f089dcd06bd5ebd944e23b9a7c75dcde9960651d3b33cc9f1301ab02205dc1f0e1df669b46c6f2f3e44d28339aeda1d31e74a43afbe4345b0d9c5f994b412103d03ab2a5110f1b702dfa3617028cd73a2b6d6b79345ff1b61a28be80fc94db43feffffff029409a800000000001976a9143cb0dd503a8c9e259d0f6b3e32b46dbceff1eb4488ac002d3101000000001976a914bc681258c4a2f334efa7f639e2659ca0b8f1ab9d88ac9ae80700 +2018-02-21 13:00:29 Respend tx2: 8a028ae600b32c55667f9f760b5a67553447621931585f3dbacf3c9f926923fd +2018-02-21 13:00:29 Respend tx2 hex: 01000000116c795023facf52aecf1bc3714353557cebc0a346726ebee0513e66242683ed058a0300006b483045022100df97aa241e8eb7278eec725052df4a61d306ea3ce0f343fa90079223ea7aa8fd0220541f4c222f117c182eab38a16cb63392827599f2d9ee718c4e7a800207017f61412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff600922e6a89714960fc83b2dc9a1825fbdd41866d397fd1aeabf53fe48c325278a0700006b483045022100e3b7bd8c1a1ce446961c29ee8b9f4dcdf017b6e276238b43b2183b54a626460f02205b686b0c6319394972280eebfe7fc4dbcf6cbca07631c8dc80e58473d95d69c2412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffea325901470b4c13701fba6a41f235e120fcda89bfe175ae9e04a6b1efd2d52ca30400006a47304402206e224cc61b12bdabbb99238900738f0614da848f5df2bea8815c06670cbd08110220656ad8ec677736305913c08947e13ecc0a076b07286662cae164b9191b33c2b5412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffcd9e202546afc85338a2ae1196e5c6996dd0f9225167aaf8e7ba58bd76260f31cf0100006b483045022100dc97059e9d9e0822ca4e6d8d0a83c771a6ca7f5e5a0c2caa8105d5ab4d68ecf8022078f9b0b5aaf95e1930f7acf74e996f43f19199d012a7adfa8bca9fd303047e99412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5fefffffff9b9c6338b0a96d8cbdf63a4b7cfc0747cb8364a2c9893cb87e4da9125ede533be0600006b48304502210080d6080950a1dad481ad592fdaf9ed1dca722e99082df340fd58ba49da07350b022071d96b8d9cf56fecc15650fcf3e66197d8564c4e18a0ab270ff2221555fbdf91412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffcb9ec5c79ed36d96b805f96c9c21185cde8fd78f59fc8ea637c92b0b77a8463bea0200006b483045022100d1f053298373b0ba4692e6c9dd2ce3b3fe5ad341bb1d9f0047fff61b22341ae8022059aee7f226eb546c313db0a20c374c15724892db766818fb36bac05bcb4a00b7412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffb9421eb7654669d74798c8d56bb063ef6488e2d3ee71366f7c28a1fc8ed0fb522f0600006a47304402202cd2efb6c6184da12cd2a6cadd75846a7c29bfee6d9707971578d8b01110527b02205389735fee20ca0e683c25a712170cd004257222a57afbd169d022568c89d5e2412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff8eeaf0cbae0580a2798a2a06c19d58b10a7e836f61fc0048e74106156275dc58cc0300006b483045022100bdca9522970139ce1ebfb3591db5fc5cce3f62d5bed241da3eb00e82f7d11db3022072ef11acbd0ee4059486bbc514cb72bb7f4aa1e8f0e53c0b0cfff9c8d7c2a38d412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff7164634e30222e6026ea54775010a03270ccdad6633941d3a5e9f6a148f46e70810600006b483045022100e8c07e081cf7f94e95c7d668535822a220784c6a0d5ed5c8f0c66e15f295ed23022061ad8544f92b996a372b364b8e796bbd9b5d9145d7e5acecb65ba52555fb8f57412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffdfef689d2e79fed6145ffb4b9113b1a8aafbd3a564ad2141bdd26f53537c757b440700006b483045022100a4f75e8c53b87c9d87e8ff3f1fc2a232268c33b7735c638889b42046af6de347022076dd895ee3b7948b59baa7d68431b22e7c4f820acbabdd9d02a5c2d6aa0fc43c412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5fefffffff39fea42538d714a2b9732491029bc820a1c980439eab2a184a649df3fc15785120500006b483045022100cecad3803035ca00b36d8789b448bc7602aa57991c000f4cdf75083764f82cc502204af2d6deabaa2cca7e67d96d00f46353391931068c9831d9c1b9b3cf9351cb12412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff57a46429a244925fb65ddd9d05e7f2692707caa21d55b1a416d8a775880b27ac150500006b483045022100ff2186e7f4c7e30f44d502867230fb943c66f4c48be6512f13df994373bfea4a022035b53b7342bd4a236fb6e4c285858fa7baa195201a4e9e3bdb403c8efddfb6f3412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff716a8ca1235d9b591d114f3bcbb989391b73c6969903d7b445617db8d6aa15b4300600006b483045022100fc99e5d1c211eb8ffef5f779d4fb4d1e437edeb617b9b548770e5cb9cc06f57f022001261115928294610e06f6695e0c726c8dd1ed749e98ecf7c575de116e53aaec412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5fefffffff3f797ebc6a993c5b08944097cc8b742b6f13f9a13506892fedb042b2c1d5cc3a90200006b483045022100eb541386dd46cb6f366d5ab41e88b51252e647efaa5457fee1b0bb371ece9d83022074c5d0797384711aec67c301a274eb02a4ff83be95c87f911fd4f8ce1345f8d0412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffccf6b8cfa18dbce19373764777ca8f7d34981a95f01b9ef37e639e045b88c7e1810700006a47304402203a65b78215f04740ebb62ad5f27d5fd2faacab13b677a0c3644367bc92bc0271022003dea63092e32fdd2917a394b3ac0ae4265de78f23cdefb9176a2b01c6f645b9412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff1cfab627cb1a98313cd22e0ab5b35578fc674c581e1c717e1fccce51ce610ee6f50200006b483045022100f2a0fe70efe5a29892bb84db4c1dde85392298612f9fceeb607c43c4844f322c022031bc1fd423c807c8ee9f1058637264b1b8006cbb68d2eb916ad577d4de048ceb412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffdf26dc02a45d9e24dd865c62a1ec54eeebe703dbc67bc4cef7263dd0ac9af9e8f30400006b483045022100a2d047ddac362e8c21b0a75c1a7e693ec48ced9a22405d90813af37cf89b0df4022009a556734b6676647cda073c92012a3bafa5dd493b6471ac940d1efcb65a4ecf412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff02e0673500000000001976a914abd20a7090501bd72f913e36e662ce677a533b9888aca4ce4b00000000001976a9141a7dda0179a3bbb82b59d0687155eedffbe1726f88ac60e50700 +2018-02-21 13:00:29 Respend tx1: 2018-02-21 12:51:32 a65581c2504b25b27e5384294882ca6f209cd6439ddf72013572f750003114a0 8a028ae600b32c55667f9f760b5a67553447621931585f3dbacf3c9f926923fd +2018-02-21 13:00:29 Respend tx1 hex: 01000000116c795023facf52aecf1bc3714353557cebc0a346726ebee0513e66242683ed058a0300006a4730440220293edee235f5821a1916f719f1299e00dc8a796ffd307c94af520378d50e12ea022037c53a5202a4d63584c494e5c9cf0d384b5285911af1d5ccbb79ab4cc04ecd39412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff600922e6a89714960fc83b2dc9a1825fbdd41866d397fd1aeabf53fe48c325278a0700006a473044022030e3c914174e88fa038b074f2674e06adc907f77dd8d9cc7b4e33f0c3df341a3022036a7e2c0bb526f5c3e13c5ab1ed75b38b846548c803e9f9669b457c273d0cbb0412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffea325901470b4c13701fba6a41f235e120fcda89bfe175ae9e04a6b1efd2d52ca3040000694630430220707e49692f98f75a26b5c24220936e3ac2f701e118dfce8ca0290c3ff8f6d575021f040841ad55c08a30bd8d6211623928dc04fd4e727d2b783a35aff98df6fff3412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffcd9e202546afc85338a2ae1196e5c6996dd0f9225167aaf8e7ba58bd76260f31cf0100006a4730440220069958c0d97e39babd13518cba7d48bdaea52a77f589d19905f316c681f23a830220061f467f132c9dcb121845d4da05e3770df141b8526ff2aaecffdf38816681f5412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5fefffffff9b9c6338b0a96d8cbdf63a4b7cfc0747cb8364a2c9893cb87e4da9125ede533be0600006a4730440220728994899a4e3a4c853ee42d0f09932c0e30bb5f2c1d62dc86859a0404de7c7c02206297e92e330bd0b8d2283afc8a698210aedd32f39b7c04f9c2adb7b71e784ff9412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffcb9ec5c79ed36d96b805f96c9c21185cde8fd78f59fc8ea637c92b0b77a8463bea0200006b483045022100ea1f7f326c83326cdd5fa12808bfc84aa6da4e74d7f168f02ccc315864e38eb10220757c18a44d5f6e788176e5fd2c4d99ed6f1cea3fe37f4dc8c267174748ed5048412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffb9421eb7654669d74798c8d56bb063ef6488e2d3ee71366f7c28a1fc8ed0fb522f0600006b483045022100fc19d11771e839860bdddae39b57a01cef239e6cd94e50966b41450af281ef12022013b59a39dd7a7d3603ea6fb46489958d6c80324e8a16edb2a7a2aa90fb32d142412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff8eeaf0cbae0580a2798a2a06c19d58b10a7e836f61fc0048e74106156275dc58cc0300006a47304402202414eba0c1aeb8e613289c855385db8c130410f29d90059af79e0b194092e82902202fa34a01098697e0d7de5e7bc625f1302674b2b7f3508641e6a57f43deba4637412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff7164634e30222e6026ea54775010a03270ccdad6633941d3a5e9f6a148f46e70810600006a47304402202eb9b535c6de28c99d806d504c1af5e7695a4220b10db072c0bfcab8aef19aee02207771a042c20e9ee07c0a095803339760b4404b67d5a70a288df651097130f133412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffdfef689d2e79fed6145ffb4b9113b1a8aafbd3a564ad2141bdd26f53537c757b440700006a473044022049bd2c48ff20a2bf21eb9656ae091c0f2df062ba010b7289e6e4ed4905a1801502206f648cd8e62f3e5cea66b066d24c32f718a32dbd77907a6778f6bd2ebff8e41b412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5fefffffff39fea42538d714a2b9732491029bc820a1c980439eab2a184a649df3fc15785120500006a473044022024fee1149c2ccf3add29b4dfb84067aea9c32b3068b8d88a297082af5b0860b30220152bd45d06ed73dd300a6562cedc6793821635f54d27d1133bbc509d4f950cb2412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff57a46429a244925fb65ddd9d05e7f2692707caa21d55b1a416d8a775880b27ac150500006a473044022042af04c620f0dd44c2b31095a3b596475f0aaefba2f23689720e0f4cbc122742022028273a1d62f9034a0bad736cca0dbe83575280ffb44db100ecb04ef2afa525d7412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff716a8ca1235d9b591d114f3bcbb989391b73c6969903d7b445617db8d6aa15b4300600006b483045022100f3d1df585f37a902b143b17e4a3736dffa30a7b77c7b3dd166e2111f3bc514be02205bdfc5df3d6028b3c721f574937bd70f053ee8d99e4aed9e8411727067a40986412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5fefffffff3f797ebc6a993c5b08944097cc8b742b6f13f9a13506892fedb042b2c1d5cc3a90200006b483045022100cd48d683bbcc94c673b02afb29315c8b9d77d4b91331311f23553cc0ef292af40220201470f521585cfdf9f079eb6628b46594966216998e4cd9eca3c8dd7107b3fb412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffccf6b8cfa18dbce19373764777ca8f7d34981a95f01b9ef37e639e045b88c7e1810700006b483045022100ab5da1a74589743b1e031277ad34acf9d0ec5a692197045619ff0bad64ee6f6102200cdd8edaee706f4dd50e9de50cc147c606bcc25b32ce64b3b0c57ae187486113412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff1cfab627cb1a98313cd22e0ab5b35578fc674c581e1c717e1fccce51ce610ee6f50200006b483045022100e6031802c22f8f38536b321a70cc53df1c5c9071e437d380a49acb873220b59e022026a49e30bf3ba74d224f4e18b44d71e6c4cfbc43dc608eaa43a2afbaff562c46412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffffdf26dc02a45d9e24dd865c62a1ec54eeebe703dbc67bc4cef7263dd0ac9af9e8f30400006b48304502210085786693e203a7e8f9e68142dd1aa4b03b00c2986250578517aae576e3af845a02207e1991a042194c3686d49f07f53e3a4d0991b8fc879293176827fd86a65c7806412103bc133c352011586e54faa9228155699567f9bdf9b2c91cc4514354f4aeac88e5feffffff025ded3600000000001976a914abd20a7090501bd72f913e36e662ce677a533b9888acca5b4a00000000001976a914b9936f71e64b45d3984a19ebdfca2910a132713988accfe80700 +2018-02-21 15:10:52 Respend tx2: 75adba886138fed1b97110fea88d01f104b8346795465d83e92f8c4e940b5f82 +2018-02-21 15:10:52 Respend tx2 hex: 0100000002a9f5db516abcaf085bbceec31521a29194f09ea43d2e1ef78a3b736de7ca4bbd792c00006b483045022100a2dfd90ae8520f90627c2b96d05e1a5a5942ffd22e19447d41417f4e476b548b02202b1241e48687d503b929367f7986861cd0bbf1d957aa319dae76faf579b028bb41210232f4a0b1b75e558e7af480948e9d5bc6027b70189395e92d695b7b6adb770da1feffffff7bfc71accc46ec4832909fffa4b942a4caef634fa5ff5f1256591c9896d27dca010000006a473044022014a60eee261e7a4459775236af05e21067a19dcb93974974ae8d82a5ca91d318022076338645c81aa931a3916a8acb7389c20f67bcd95a7d40cbb8f04bcfedfd862a412103d6c029d841b8a017d6aa650156499b9e21d6b8dd5d14bafe57770a7bc1d86fe7feffffff0130959800000000001976a914e9f8bb1764049bb14a9dbf0d5874418a94a0f2a488ace0e80700 +2018-02-21 15:10:52 Respend tx1: 2018-02-21 14:22:56 a8df03b5f25110a74e2d1d27b31d0dcbe1355061054ad5f3a2ce4c5eebdf60c7 75adba886138fed1b97110fea88d01f104b8346795465d83e92f8c4e940b5f82 +2018-02-21 15:10:52 Respend tx1 hex: 0100000002a9f5db516abcaf085bbceec31521a29194f09ea43d2e1ef78a3b736de7ca4bbd792c00006b48304502210099e3489084e55ab0b8d9c9deaf96193767157c57d0d810ae524047a9e321252c02204a814fc0717ca5674550cce2626aae23aae5b67cd869270d3ccbd1ce07e2de3241210232f4a0b1b75e558e7af480948e9d5bc6027b70189395e92d695b7b6adb770da1feffffff7bfc71accc46ec4832909fffa4b942a4caef634fa5ff5f1256591c9896d27dca010000006b483045022100e7abb3a7e68d8ac1ef0c419643799bfb2c30e8d0a511f7800375dafe8094f9f6022001a4cec4286884dfa326bdf6f77caacdb60f5768e69a1bbd5679211b577ec733412103d6c029d841b8a017d6aa650156499b9e21d6b8dd5d14bafe57770a7bc1d86fe7feffffff0184969800000000001976a9147badfbab7dee6545377ae7af9ef933df0ea8761e88acdbe80700 +2018-02-24 20:20:41 Respend tx2: 9376fb441ee9ea07b398fca2dd3c53fd97e409f7ba25e6fad338df8e4ee9682c +2018-02-24 20:20:41 Respend tx2 hex: 0100000001305beacea8f9812c5df80b1079c09b99a2e31f7a7c436c6fd8dc201ad6d5cdff0f0000006a47304402201ed28f5deeeb4d3b05a768c8f69489a7dd268e00afa88e21b62d2db166ffda0702201f3977b3c75e37b9c764b1b74d401d2b609d0ef232470f504cb681d52b71a1f44121029ada16d92c4432fb9971cb50e34d8dd873d5d0203414af5fd740f2abb8b92149feffffff01c0c2c901000000001976a9142edab5dddde579f4b9fe4ad83ff432f1401ecb2788acb7ea0700 +2018-02-24 20:20:41 Respend tx1: 2018-02-24 20:11:41 d105994e2031be92cbd83003e07c1f730986d4b9dd1d02b55ab24e012da8f6e8 9376fb441ee9ea07b398fca2dd3c53fd97e409f7ba25e6fad338df8e4ee9682c +2018-02-24 20:20:41 Respend tx1 hex: 0100000001305beacea8f9812c5df80b1079c09b99a2e31f7a7c436c6fd8dc201ad6d5cdff0f0000006b48304502210098a1394ade089ce7ed9146dafcb195ea910c6215eec73b07aad575974a08c69f02205590ac3c92b1c0a37293fcd751bc36c9d39241d4606ccbea39ccd738aae254b94121029ada16d92c4432fb9971cb50e34d8dd873d5d0203414af5fd740f2abb8b92149feffffff01c2c2c901000000001976a9142edab5dddde579f4b9fe4ad83ff432f1401ecb2788acb6ea0700 +2018-02-25 15:54:42 Respend tx2: a9d90b1358d03b3f54885c77d543ad59cbe6e3065f3f150ac62c469f4ea8f134 +2018-02-25 15:54:42 Respend tx2 hex: 01000000042b82510a655e74c6c4c5af8fb021b3d38b54e7a314e512d3f2e186cbf6f37b5d000000006b483045022100e8427ab6883e96dd71538b568ed0aa92595cb0acd45a96afc5a1aae913b190730220203f4c5d71d303fe49f89237976b7f632c101d2ea7f3a9bc2b12bb15f5574e6a4121035907bf0c55fe6d01fe6dd9da87104bd672e060c3f47b5f790a78f3847dc83a0effffffff85d7a4590e00d1256b2510fb7666de87dc19e5749507d2b3d2d774a5ca6725ca000000006a47304402207ad6276e90468e3cd85212de1842a01e9fabdc578f503dac88dbff27dcaf44240220212572642389f05dfb0a49d4b9e9fcd7a9a4802117990791e08b093360fcfc4c4121035907bf0c55fe6d01fe6dd9da87104bd672e060c3f47b5f790a78f3847dc83a0effffffff9f0879e0fd4c736711300e6ccd7759950d31e768b42184515b5be64f3db4d175000000006a47304402202bcbd8b66e7733bc421e7638f6498e5933b8a7cabac92ea8291b9660da8be184022072bed06701ede6deecf74340255d70eaa794e7be82040090f49a1b0e68a8a1a34121035907bf0c55fe6d01fe6dd9da87104bd672e060c3f47b5f790a78f3847dc83a0effffffff3f45322e008346665ddea614607207f534090c4da171c438221e58f97b76e3ba000000006b483045022100ecfc9e14b51b4ef7157a23af70d3a9a682a71ecf1ff58fbb3abcafcff7489641022003489d6ef9817e51c8e6631c6036da11015bd8f8af952073f962d2a69c920b9a4121035907bf0c55fe6d01fe6dd9da87104bd672e060c3f47b5f790a78f3847dc83a0effffffff01a7f7a300000000001976a91429d4dbab6f3381d4a2bc48937eb4bf31ebf7edda88ac00000000 +2018-02-25 15:54:42 Respend tx1: 2018-02-25 14:46:07 1228b745b5083e3f9cd2107bbc0a3e075195056d669742f746309affa85780aa a9d90b1358d03b3f54885c77d543ad59cbe6e3065f3f150ac62c469f4ea8f134 +2018-02-25 15:54:42 Respend tx1 hex: 01000000043f45322e008346665ddea614607207f534090c4da171c438221e58f97b76e3ba000000006a47304402206ca7d3b58b4e624cc364b98365b5c7eb9aa7cf3129f10ca23ee4d828f9ee4838022044f53dce845b97aff0cf5ffe0e997ac6c8cdc795a5543b54f53e4e663c6bd5a64121035907bf0c55fe6d01fe6dd9da87104bd672e060c3f47b5f790a78f3847dc83a0effffffff9f0879e0fd4c736711300e6ccd7759950d31e768b42184515b5be64f3db4d175000000006b483045022100ec16b579bc61b2068bdd61ab8bf5e4059d7f22724fd8501e22a982fdd6937c8a022076b784cc7fc9108e3a3c04ddb60e51aff9dbdf07ee3f27824b0b596d27f3448d4121035907bf0c55fe6d01fe6dd9da87104bd672e060c3f47b5f790a78f3847dc83a0effffffff85d7a4590e00d1256b2510fb7666de87dc19e5749507d2b3d2d774a5ca6725ca000000006a47304402200edc37d407dd849e93e4f7844dec1d9fb874681fd78e0620a77a77e5eefc922502201c75e82168379d1cb7f3686704c2d98613787b5b1d96bca9c0c950a605253dd24121035907bf0c55fe6d01fe6dd9da87104bd672e060c3f47b5f790a78f3847dc83a0effffffff2b82510a655e74c6c4c5af8fb021b3d38b54e7a314e512d3f2e186cbf6f37b5d000000006a47304402200516ecbbfd775021d18a74a21e75cbdadd28e66b8b107cf2bed78da1b9d27f4b022030c9aac379efe9ca4a744b1b612ab91d61e7cc01ca71bf554995f28a32114d654121035907bf0c55fe6d01fe6dd9da87104bd672e060c3f47b5f790a78f3847dc83a0effffffff012f0ea400000000001976a9141240d0fc827295c3eeb8406a60f676d4cd9ae3dd88ac00000000 +2018-02-26 06:48:38 Respend tx2: dad5c74c1da86945550a5e57a970e85e1179d10f9f245be881965f2566d867cb +2018-02-26 06:48:38 Respend tx2 hex: 0100000002ed511b712b45c863b9cfa2916575cfedd6c84f2d2fc5a8902b408606f6f58a25000000006b483045022100fc98b51959bd1dd7165a873ab78c00961d13aa8b4a15912bd5c8d6d71952a0a302204ca63b2831fec892d94f329006db543b4ce7608997dae4206c1fa6bffb584c7441210238131c61144659eb9347598dc80a064d376b7a70bece414cadb8e27ee91e0d7afeffffffb528505d0da6b75ad3dd7d67b3aafcff4a7e85d56cff06dcf10c07e0ffb5385c000000006b483045022100b71337622cba307de5a29cf8dda6143e9c57f6cc4db9e8b5c42b5c00629d52de022011b4dfbbf4d0e8ed0763a5e55e18518913f58b1ca80d9ddacab00bdb42e231b2412102ef80eecbb0425e6316363df925f99eb47b3e0d1dff36ea63534d071f74dd4653feffffff01573e4c00000000001976a9149a7fbc135e49308a8f9c265b84e055e63a1dcf8c88ac79eb0700 +2018-02-26 06:48:38 Respend tx1: 2018-02-26 06:19:30 724953294df7647b03e998f60f196b843b8ebe05a506be19d9fa3ffd48f8a5ba dad5c74c1da86945550a5e57a970e85e1179d10f9f245be881965f2566d867cb +2018-02-26 06:48:38 Respend tx1 hex: 0100000002ed511b712b45c863b9cfa2916575cfedd6c84f2d2fc5a8902b408606f6f58a25000000006b483045022100fe927721d82a0b60993cf317f8a57e9f9cf49b437f4470c81b3ed7a0f3bedd360220134bf46baabfd0dc91bc92c17656dbf086f360eefd858ee6383be06356370e3b41210238131c61144659eb9347598dc80a064d376b7a70bece414cadb8e27ee91e0d7afeffffffb528505d0da6b75ad3dd7d67b3aafcff4a7e85d56cff06dcf10c07e0ffb5385c000000006b483045022100f3a0c03793b5f5aec9e53d24540caa86466609340863696ea2601ca0315a783502207226ea8d487f3803d3f3a1568f7e4bdfca8ce655499cd82c595a301ffd605960412102ef80eecbb0425e6316363df925f99eb47b3e0d1dff36ea63534d071f74dd4653feffffff014c4a4c00000000001976a9149a7fbc135e49308a8f9c265b84e055e63a1dcf8c88ac00000000 +2018-02-26 11:32:01 Respend tx2: b60d9d0f670d2caa29506b17664ac4efa246370380e0e70e80b9c29827190d31 +2018-02-26 11:32:01 Respend tx2 hex: 0100000001bdbcfd5abbf85af34157453a846a0cdf3a1ee6cf5b9dce8a7c4ab440b97f681b010000006b483045022100edf68827ebfa9ce80458f79a71abc49b8390dd8e225527dd5a832e02efce80d7022015e3d09828cb3cb61619195d59439acacd37f806fe3ce38e4cac63c3f14c9375412103ca56abdbc95222269c617ad0050eef45b26df925596ede8c263f7a1719f51aabffffffff02d4080000000000001976a914b1164168bfb02e691e2bf10ef33ba710697740a088ac1e250f00000000001976a914a5bed0884eabb34b109b1512e87775f62be54ed088ac00000000 +2018-02-26 11:32:01 Respend tx1: 2018-02-26 11:32:01 5a4cc1ccad9af3a22343b0df5a43d5306fb92aa9d6ce2056e78f854e13e0ba54 b60d9d0f670d2caa29506b17664ac4efa246370380e0e70e80b9c29827190d31 +2018-02-26 11:32:01 Respend tx1 hex: 0100000001bdbcfd5abbf85af34157453a846a0cdf3a1ee6cf5b9dce8a7c4ab440b97f681b010000006b483045022100f564619f1bc94a4b9586379699b571d5bed04a91acaedc39a4eeacfe6783456c02204293209f5e7af06502ccf056b855fdba38bda7243d1fea821c8f889841e0bd8b412103ca56abdbc95222269c617ad0050eef45b26df925596ede8c263f7a1719f51aabffffffff02d4080000000000001976a914c252f340e8e8b8541f0a8815d47cd2d13afc549788ac1e250f00000000001976a914a5bed0884eabb34b109b1512e87775f62be54ed088ac00000000 +2018-02-26 20:53:01 Respend tx2: 14712097a0c90f4c9e1797f827cf36087ab11fc0edbba7db3eeb1cb5a8a357e5 +2018-02-26 20:53:01 Respend tx2 hex: 010000000180afd8892a3f8425362427f0a6229f2b0dd438918a37e9b8999f482a658814e2010000006a47304402207d2560e46de1a4c5dbb9bbab55e09899a46ad4caea92a86d985c32b10f992b2e022058fa8237453ad98cba43d4713836a6e5266fcdd664a07b4ac17d39b36a333a704121034be17903a92999eb4faca1cfb309f9d9a81ff82b47cb8db2a965eaa7b66d941afeffffff01808c3577000000001976a9149c45696458cc41cc48fb2f176e95f3401753351988ac00000000 +2018-02-26 20:53:01 Respend tx1: 2018-02-26 19:29:00 8d93f6b43a9b012519c88b23b20542f1e80f61ddfd1bd013c1f81c8a65347cd4 14712097a0c90f4c9e1797f827cf36087ab11fc0edbba7db3eeb1cb5a8a357e5 +2018-02-26 20:53:01 Respend tx1 hex: 010000000180afd8892a3f8425362427f0a6229f2b0dd438918a37e9b8999f482a658814e2010000006b483045022100aed4d337bca4fa5dcd43465f571d63653d7dfddb26441dd324936d9a5b18344d02203a30d2ed9421fda19a8b36205acaa269116c6c910a092da8d182cc04668ee0424121034be17903a92999eb4faca1cfb309f9d9a81ff82b47cb8db2a965eaa7b66d941afeffffff0100943577000000001976a9149c45696458cc41cc48fb2f176e95f3401753351988ac00000000 +2018-02-27 13:48:19 Respend tx2: 5e217f8cdabc074f695bca3c7937c4385066bdc50d8954ccdf716c0ebafe19b7 +2018-02-27 13:48:19 Respend tx2 hex: 01000000012111067775d600c9c295d215ed38b031f6675c07691a113e17fbb5d11bd110dd000000008a47304402207e89a694a9a60d33d1dc872ac9a0a3078ab9330b6012e6504437191162dc18ba02201a0d8383e7a0b831be8f83ea3f0ba2f53a0ea2137138508d474f8d59647c53d7414104d0136dfdfed81a9483220a57405f32269e3014c1266e5e93453fa9ea0f663deaae82f8dcf2a0a1935c9172c0d7d5ac9d750054e0a9195c8e1a5e2a37c2d5e84afeffffff01405dd0b2000000001976a914d24bea74fc6ee9c8649ae4f712621821962d2b9d88ac2cec0700 +2018-02-27 13:48:19 Respend tx1: 2018-02-27 11:40:32 b099311f57a58664af0f50af03b978e768e0501f19e79aba7f0df33b20b44f48 5e217f8cdabc074f695bca3c7937c4385066bdc50d8954ccdf716c0ebafe19b7 +2018-02-27 13:48:19 Respend tx1 hex: 01000000012111067775d600c9c295d215ed38b031f6675c07691a113e17fbb5d11bd110dd000000008a4730440220655599e1465ae2d31890c68d662c2e09aa587aee449198d61e86072a862d140602203efc00bd01b37648f06ee78de5d495af78acad5771467d2f79b87727e293333b414104d0136dfdfed81a9483220a57405f32269e3014c1266e5e93453fa9ea0f663deaae82f8dcf2a0a1935c9172c0d7d5ac9d750054e0a9195c8e1a5e2a37c2d5e84afeffffff01005ed0b2000000001976a914d24bea74fc6ee9c8649ae4f712621821962d2b9d88acb2eb0700 +2018-02-27 13:48:19 Respend tx2: 6a3e558608cac48e15c5874c731020caad3f51033118f9ed258df75baae1ee07 +2018-02-27 13:48:19 Respend tx2 hex: 0100000002fecf6c034399d5eeedf0283bccf1cedc9d1a765c809eb271cad80d58a3d2d11d000000008b4830450221009e329fd208cd91ddd8252a51607e790605875e2126c499a6ef50c2c3e105b476022002c4b3bb78b620f22a046f225f27af1c029c05fe4ed3c00659996131e27b9c34414104eddeb798cfa22ddddd881a7eb85c8eadf1af2988f2d801f39038f4295b9539595cd998ef35f753d658be477f9579f4ab6a2f95c629e1970eb52f94ea803b2c17feffffff4b51cb4648335b8bf931d8fa482c653d69b49f03ad0d6ef4bc59605d8162a7ae060000008a47304402205239d78522018a7446eb41e452ed614278f003ea99679831a845d0d46aaebd7d02201f93c3e997d0177725654aba1263d0d74c8022be3b43a15ed73b4d723afee8cc414104684d0b1c5624d86310a43dc39899f5f8f6bf165a890bf45120632308a033226c721eed144e4d2a43b03f7f95f3dd94018247f1f64cc92ba29037eaa75ed28d5cfeffffff01ac266bee000000001976a914708293e31a5e7b2b553b42dbf1d78215948a3cfa88ac2cec0700 +2018-02-27 13:48:19 Respend tx1: 2018-02-27 11:43:05 8d9b67330837479e673cd3b231c983266677d5601cbde98113d77d4d26f3fd92 6a3e558608cac48e15c5874c731020caad3f51033118f9ed258df75baae1ee07 +2018-02-27 13:48:19 Respend tx1 hex: 0100000002fecf6c034399d5eeedf0283bccf1cedc9d1a765c809eb271cad80d58a3d2d11d000000008b4830450221009ddc6bc0c843e69edcdf6223525b18b49bda4f396d9013d64f21abcc13873f28022046bea60324e8cce893661dc930bfcf5fd99b019565e0b05fcdb6ba827000c0ee414104eddeb798cfa22ddddd881a7eb85c8eadf1af2988f2d801f39038f4295b9539595cd998ef35f753d658be477f9579f4ab6a2f95c629e1970eb52f94ea803b2c17feffffff4b51cb4648335b8bf931d8fa482c653d69b49f03ad0d6ef4bc59605d8162a7ae060000008a47304402203eff0a7e3b2efd62cfee79106c37b402afc6ce4d7c4d99b76cf2c3274859490d0220705c70d2da365b7405bb659413ebb8f3fb1f61db2a2c55cbaadaea9cddf7132c414104684d0b1c5624d86310a43dc39899f5f8f6bf165a890bf45120632308a033226c721eed144e4d2a43b03f7f95f3dd94018247f1f64cc92ba29037eaa75ed28d5cfeffffff0100286bee000000001976a914708293e31a5e7b2b553b42dbf1d78215948a3cfa88acb4eb0700 +2018-02-27 13:48:19 Respend tx2: ac40d2311ae20ae0408cb3ca964f02e1519f58d7184d6de96f1a554198c9bcd8 +2018-02-27 13:48:19 Respend tx2 hex: 010000000186b359e0413edf8ec9723a9440b7b668d0c4d4b21376c7271e3a70faffec6c40070000008b483045022100e469a2337a13050853e12f97913f97b1c27ce91d9a9aa24ab43ee45f1ff43b9d0220730cb94692eaa98098d19430fe716258bc91ecff5674d39de802d1b7944a16f44141041025e8729e81cdddda76f0962c6431d7cd15e81f6a1c448f8cbe28a75b095b4e0491cc5c8f36de53204c1590b3043b1b5a4ebfdd85f5c7c9b32939f130b73bb1feffffff0140c99a3b000000001976a9147b8d303d00d435e5231f3296c8a16381ec72917888ac2cec0700 +2018-02-27 13:48:19 Respend tx1: 2018-02-27 11:24:07 ae480f2961312901f90d035be7d27d8a5615f344ad582faa5545c8546a48ba1e ac40d2311ae20ae0408cb3ca964f02e1519f58d7184d6de96f1a554198c9bcd8 +2018-02-27 13:48:19 Respend tx1 hex: 010000000186b359e0413edf8ec9723a9440b7b668d0c4d4b21376c7271e3a70faffec6c40070000008a4730440220637f307dcb4f08d2d4d05feb7695d9baddd61d20c5e44c7189784fbc7da01afb0220334e6d3f6a6b05cd11eb8ec07f2b9a1a1ddaa9afe8db4aed3374612052a368374141041025e8729e81cdddda76f0962c6431d7cd15e81f6a1c448f8cbe28a75b095b4e0491cc5c8f36de53204c1590b3043b1b5a4ebfdd85f5c7c9b32939f130b73bb1feffffff0100ca9a3b000000001976a9147b8d303d00d435e5231f3296c8a16381ec72917888acafeb0700 +2018-02-27 13:48:19 Respend tx2: bd7adb6c7f11596b08d41f74f061d5193f6c9d64f5ec4a4d51fd691044fd4598 +2018-02-27 13:48:19 Respend tx2 hex: 0100000001e8b49b7c734663827893130db5fa95c178ad1f919ea5d982f48709545d65674a100000008a47304402202912ccb5618d5e2b407c3c0e0ffc0cb80a712676bbbe0696859b0332ab16e618022038e41b03da150846ddfe5b4c5562be0e845090412ca36ed1377bce08daf00ed8414104d40d8a6a72f53568bc80850ba4e3d8867e42003405a232fad678db3636ee881012ab0981ecb190509f778585aebada1e6b859ee5623d9deb050254883a3d5922feffffff0140933577000000001976a914b8ecc9cbb10d2d7e3ad28aeb8136bd0edae60b1a88ac2cec0700 +2018-02-27 13:48:19 Respend tx1: 2018-02-27 12:10:26 64345bc6d6aab4ebbc8ced0c5567dc3dba0f270825e7983c06c74b3759b844c1 bd7adb6c7f11596b08d41f74f061d5193f6c9d64f5ec4a4d51fd691044fd4598 +2018-02-27 13:48:19 Respend tx1 hex: 0100000001e8b49b7c734663827893130db5fa95c178ad1f919ea5d982f48709545d65674a100000008b483045022100d90c1e262937410ab767ea3a7733b5dcd5aa20f7142ff25aeff2bb1626ad47cb0220488103caba7a5b3ace9b9671cba9fd375d0e50a78de37e865d3771ca1b00e535414104d40d8a6a72f53568bc80850ba4e3d8867e42003405a232fad678db3636ee881012ab0981ecb190509f778585aebada1e6b859ee5623d9deb050254883a3d5922feffffff0100943577000000001976a914b8ecc9cbb10d2d7e3ad28aeb8136bd0edae60b1a88acc0eb0700 +2018-02-27 13:48:19 Respend tx2: 2675c28298a45698a8ec5106ee4d67aa2cdd150389bc2205f0862155941e5ac4 +2018-02-27 13:48:19 Respend tx2 hex: 0100000001373aeca54c0ced3befdc66a7f4b6f15dfeaa9bfd0d6d56f96a62ffe52fb4ee9c020000008a473044022001f62ccc2c650a09931705367e79f169a34bb1bbad5a1e5c0e50dadf352f2d4f02202a94e497369cfe48b040381f1fabe639b8af13cff674e7624c234c56e8e5f67941410403f9088ef4ddf285c271c2cdbf3a434afb500641fe9d205172dac311d3d8dbefc06940f41b772d61394292151ca3ab80fcfd0243d6e7d697dad339976d0ded9dfeffffff0140c99a3b000000001976a9147451ccfcd0c2b47d72c5c1157c1b061e3b817c1588ac2cec0700 +2018-02-27 13:48:19 Respend tx1: 2018-02-27 11:29:11 d90f749bbd41681ce7aa2d6f8fe9b472a250d7e637cfeea812d386ea4dafbbf2 2675c28298a45698a8ec5106ee4d67aa2cdd150389bc2205f0862155941e5ac4 +2018-02-27 13:48:19 Respend tx1 hex: 0100000001373aeca54c0ced3befdc66a7f4b6f15dfeaa9bfd0d6d56f96a62ffe52fb4ee9c020000008a47304402200518dd9f7cf245106f3f12f75b9d4fc57a4a507b8e4c5592a53eca0ab369614f022062b62fc21ee042f69c654a24067b496410883451ccbaa83d9aa08bfc0315cce141410403f9088ef4ddf285c271c2cdbf3a434afb500641fe9d205172dac311d3d8dbefc06940f41b772d61394292151ca3ab80fcfd0243d6e7d697dad339976d0ded9dfeffffff0100ca9a3b000000001976a9147451ccfcd0c2b47d72c5c1157c1b061e3b817c1588acb0eb0700 +2018-02-27 13:48:19 Respend tx2: 92b26cee54e27af1b2b583da35b2d8f60fd7e72293dbc71dcbb2ad70c393c4a9 +2018-02-27 13:48:19 Respend tx2 hex: 0100000001eccad362bf6e44a3ab322bab72d14daa50a0e3646d558659702b5494e3533793000000008a473044022035b443afb53a0067e600d637fd50bccf53e422af97da1156eb42378a9ece55fd0220310c6d9c0ba5754ab82c9586e19f644358ceeaaa2b9725ff13c7386102c18d95414104d8d38c1fbb74559b23891025e27e1afb39b62f7739f945757bd9cc64c68e7dd214df38f06cd0a7a511f2f21a4b23fe980c4fa44c4acc47a66d65730046585e35feffffff018758f801000000001976a91476ce3f7add432b8b154bde60fe741353acf1202088ac2bec0700 +2018-02-27 13:48:19 Respend tx1: 2018-02-27 11:22:12 5c2c846cb5f4c5fd7afec239700c168fbdad69eac9f049b8710bfa9d102736ea 92b26cee54e27af1b2b583da35b2d8f60fd7e72293dbc71dcbb2ad70c393c4a9 +2018-02-27 13:48:19 Respend tx1 hex: 0100000001eccad362bf6e44a3ab322bab72d14daa50a0e3646d558659702b5494e3533793000000008b483045022100e3bd9eb6db5e525c9dbbb57248d5dbe358cdbbdd10c64a7e703dc88fb522253c02207e3be7964349991765b1ee64e7a28ee8bcbbafde862476ee8748f8e3f2b728b3414104d8d38c1fbb74559b23891025e27e1afb39b62f7739f945757bd9cc64c68e7dd214df38f06cd0a7a511f2f21a4b23fe980c4fa44c4acc47a66d65730046585e35feffffff014759f801000000001976a91476ce3f7add432b8b154bde60fe741353acf1202088acc3eb0700 +2018-02-27 15:09:36 Respend tx2: 06c1a72328019f3ddf00a4a012c63e62b3f928c429653ce7ab65009ba0c243dd +2018-02-27 15:09:36 Respend tx2 hex: 01000000016c67fba75bd813d6d34d83518404c582208b016bb39ba4a3288dc94095fc3db40d0000008b483045022100c96a2830f6caa4bde4f70f0daaff5b744e6f36455433b94655b3428e413734ec02206c10b3771e36a46e7e53835a22e566031b0b4abec3aa630c4e40b6f5b23e6aff414104356e7c34310b77798bdbf261c70e690bd59588d76f0110fe6d60df85ab99e1bff9b7f159424a4b9b3c205058c59244491a7c0d25bd7b4606298f79bc7c4b5babfeffffff01405dd0b2000000001976a914d30a83f57bb0994e90e89002bf9992b4b3246d6388ac2cec0700 +2018-02-27 15:09:36 Respend tx1: 2018-02-27 12:11:56 5aa7dfd564309bebb81c58e7644b80e2f29bf23a8626bd1eefcb2466d2ade733 06c1a72328019f3ddf00a4a012c63e62b3f928c429653ce7ab65009ba0c243dd +2018-02-27 15:09:36 Respend tx1 hex: 01000000016c67fba75bd813d6d34d83518404c582208b016bb39ba4a3288dc94095fc3db40d0000008a473044022025bd6ce54ebc4eb3be4c7fd3d878f85b133c993d074053c691fa44eac29e5e8202201428d27addb446401144eb2fea54b073f66823da87ee9b669359030c01cdc9c2414104356e7c34310b77798bdbf261c70e690bd59588d76f0110fe6d60df85ab99e1bff9b7f159424a4b9b3c205058c59244491a7c0d25bd7b4606298f79bc7c4b5babfeffffff01005ed0b2000000001976a914d30a83f57bb0994e90e89002bf9992b4b3246d6388acc0eb0700 +2018-02-27 15:10:56 Respend tx2: ad7d6f377704aaa81445e0b941a66179d720e1a730fda4162daaa6a54e7c4be7 +2018-02-27 15:10:56 Respend tx2 hex: 01000000050b69830c06e4101e3f5e3b3584a06427ce29ee10e3b2cab89cab0bfaedd0772c000000008b4830450221009d477362693b9c6103cbe26669823b6c7b2923815ba69d160edd4d70fea1b2d802200c90ebae38caa9bd8d4ed3caf5b38f236737c10e0ce2a983a0b723c049ac870841410429e37ca22dc87ccc1c0eb993aae2472ae96bb72d90bdbab43df6f787e28ed86fbb2add4eb58aefb7d4c0f8dd8b03aa7b8f7d053c58161e1025ac2e9ae0863573feffffff09c2d3a7e9877dc7f88d82f117f3c989257c204078165ed79a4da582cb81dd44010000008a473044022076f3e8111147d3fb499dd2ef8adbec3e0f77b416647836fa5ccfa50b525b9a0b02204bd7178a89da87208b502ba39d6d4c7e07e548aeeec72b3d8ad9eb3a910c5d5d4141042157636b3ab0e08dde4d4276def394e1491e8f8737956737516b2d17f22ce5af95b733d611a1c64576f35efa4e3f60c7669adee3b8c5006447388ed24ae32ff9feffffff8adaab352e8f16251e479aad3df952c8b4f2e0a5f887854bfc6ef0e81b745568000000008a47304402202bc0fef25215bcd04a254237184ce0144e965796e3028867ba442fb26524b92d02201629a9317c26bc8cdf506981c1506ac2dc0d615b548940915e6cabbb729986a54141041a650d08f8a8082be3bb238667e9cd9244a214afbe52800b10f6fa001c81dba911e4fcf610f529995abb6313d16d94a8361aaee5b2dd03d6abc74da6cd5bdcc4feffffff3b6787addca26ef377eb61cde83adcdc12751a4f2a192849f6e9590f00fa46de000000008a473044022028a7494b607fe2a6ba3e45e7ab38844bc2e5d0e92f8f7acd0202b237ac51daca0220626cb7d888704adfbba7ceb00fb87576ee3e0a1e2acf727bfb2fc89b3897634b4141042157636b3ab0e08dde4d4276def394e1491e8f8737956737516b2d17f22ce5af95b733d611a1c64576f35efa4e3f60c7669adee3b8c5006447388ed24ae32ff9feffffff3b6787addca26ef377eb61cde83adcdc12751a4f2a192849f6e9590f00fa46de030000008b483045022100d3bc191e387fc94a7a2398aecc866a34c7728ae24eff86e80195441d97eb9aa302201e057705b912ed874220f1b591362df29950dbfa24c88291aba9c766be7875df4141041a650d08f8a8082be3bb238667e9cd9244a214afbe52800b10f6fa001c81dba911e4fcf610f529995abb6313d16d94a8361aaee5b2dd03d6abc74da6cd5bdcc4feffffff01f0167118020000001976a914a8eab25e6823c8914a75d638430f239bd369751e88ac31ec0700 +2018-02-27 15:10:56 Respend tx1: 2018-02-27 11:34:59 4b145d5b0960b9b923f2708efd75365ae5b85df93f03271beec4c6ef0831aaaf ad7d6f377704aaa81445e0b941a66179d720e1a730fda4162daaa6a54e7c4be7 +2018-02-27 15:10:56 Respend tx1 hex: 01000000050b69830c06e4101e3f5e3b3584a06427ce29ee10e3b2cab89cab0bfaedd0772c000000008b48304502210081da99159e4c179d90b2a6da02e3a281b50b1b1813946791b0a4a58e7105139102205e00e1436e5427130237e2eb36b8093be24f666c8e4a86e1dc11a2f46a28b6b941410429e37ca22dc87ccc1c0eb993aae2472ae96bb72d90bdbab43df6f787e28ed86fbb2add4eb58aefb7d4c0f8dd8b03aa7b8f7d053c58161e1025ac2e9ae0863573feffffff09c2d3a7e9877dc7f88d82f117f3c989257c204078165ed79a4da582cb81dd44010000008b483045022100b9943bad9dc75f62fef5a8a737eb2a48656ab637b381ef18c8c7b23241669b1602204245e22627b0f8a83bb4f005017ea549b5b15ad510d805f34f5d84310aabd20e4141042157636b3ab0e08dde4d4276def394e1491e8f8737956737516b2d17f22ce5af95b733d611a1c64576f35efa4e3f60c7669adee3b8c5006447388ed24ae32ff9feffffff8adaab352e8f16251e479aad3df952c8b4f2e0a5f887854bfc6ef0e81b745568000000008b483045022100f2b3067983803ff7aa4a5b0b207e2c01cd9d347baa0da76f6538663634a91cfa02204c96e70ac6997c4e824d15899e325b39b77b790d605feb36e2901b06db0994f14141041a650d08f8a8082be3bb238667e9cd9244a214afbe52800b10f6fa001c81dba911e4fcf610f529995abb6313d16d94a8361aaee5b2dd03d6abc74da6cd5bdcc4feffffff3b6787addca26ef377eb61cde83adcdc12751a4f2a192849f6e9590f00fa46de000000008b4830450221008b5cea9911ea27767409bdf8d7980dc8257a4377509f7b243a792f1bfa0d271f02201a2c7ca0f0a7579f13f1713e63c4f34bbf15a45788e142469fd6d4b6b3f549e94141042157636b3ab0e08dde4d4276def394e1491e8f8737956737516b2d17f22ce5af95b733d611a1c64576f35efa4e3f60c7669adee3b8c5006447388ed24ae32ff9feffffff3b6787addca26ef377eb61cde83adcdc12751a4f2a192849f6e9590f00fa46de030000008b483045022100cf2f5a3557a81020f4abffb2bc7e16c71bef1a327c684e4573b2bac8389d0b1c022050798d4de9339fdbf9717a1e9dbd212969df15a56f49547036b4dce146ddc2974141041a650d08f8a8082be3bb238667e9cd9244a214afbe52800b10f6fa001c81dba911e4fcf610f529995abb6313d16d94a8361aaee5b2dd03d6abc74da6cd5bdcc4feffffff01001a7118020000001976a914a8eab25e6823c8914a75d638430f239bd369751e88acbfeb0700 +2018-02-28 01:03:54 Respend tx2: edaccef6b7a3b07ff2bbee4f4c926dad1de9c9fdfbbe9afdc7a04b2b62ebf5ce +2018-02-28 01:03:54 Respend tx2 hex: 0100000001f8dabb5646d074960a87d36b355438dd9d360af5e145f5c486fffcf07e193abc010000006a4730440220416fad80dde274b4eb0f49ef1e8bb38f74555a258c0e6c8e702307ea32dc43c3022061f0b1d27aad9c0dd6768631037079615ab846907aff7b7b5e658a15403325e4412103bbdb256f3223b70df861c43f55422ed4587841a9b9fd3e4f5b700c6f25286ee6feffffff022c7e0000000000001976a914c851d8dabe1a8c2101851f15154c6b3f8f85060f88ac50c30000000000001976a9148b805028720da3b939619ebf1cddfdaf189baf6588ac78ec0700 +2018-02-28 01:03:54 Respend tx1: 2018-02-28 00:55:20 6eeba492f277faad9ab06a48c32df79cf28e1a17c402663c455dab9f00b7bfa0 edaccef6b7a3b07ff2bbee4f4c926dad1de9c9fdfbbe9afdc7a04b2b62ebf5ce +2018-02-28 01:03:54 Respend tx1 hex: 0100000001f8dabb5646d074960a87d36b355438dd9d360af5e145f5c486fffcf07e193abc010000006a4730440220605a7953cbb6b1e16d17ee2f0fc65dc783109634e56e7a6f1b3d60aac683be130220527e987de636ae4f3eed474242b3498b9fde89c4b4f5a9a1059611fefcd1b808412103bbdb256f3223b70df861c43f55422ed4587841a9b9fd3e4f5b700c6f25286ee6feffffff02fc850000000000001976a914c4451e4257dc76dbc39c31fb81d2f836702179ab88ac50c30000000000001976a9148b805023230b7981dd380fbc63649d8bc4d59fe588ac77ec0700 +2018-03-01 17:51:48 Respend tx2: d7999c3ce49ff2ce35c104a48f58f4e13b2a7a20b52454015c9f8c6b09de851e +2018-03-01 17:51:48 Respend tx2 hex: 010000001fb95233eb966a4d631d4f46c5bc7f644ec346072f28da0240089982aea8a0ab04000000006a473044022075a5f75abb44943213e80a2e0b9e26aa05887adae7d9a23c763bd08ed107f03702207b2ad60d1eccfa9ca82baccfbe68e20e3f16a53020f25b5a53f28a72e3e3804f4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff41d326f39f1e0c1614d00ac3ef20845ebfdc6e213211a3683e08777c72208305000000006b483045022100a03184648db94f984bf4427cc873469c70a1b808eb0b598a81c5f741214d5d2102206fcd9124e6c9c83c384d3a05854be1c752d41dded13a0904e2fe68907670d5744121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff370e26e28aca0c551b5a8a8580ce203d4506caeb3db511f0b5b1c5698a3d1a11000000006a4730440220086249098e2e3f7c4e52b3c01eae470706e6490a90103e37198eba3fdf302d9d02204bccd18ae078cceb53cdc8431046aae38c75c25262237076eef363bd18e75ad04121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff102aa16ce7bdabba393ee8236df5f813df0992e88ede4f52d9449bf6bbd19111000000006a47304402207aa01e81adbfd6a90c5a6cff41e70056a5797a66106c2e34de9efc5f7e6956e0022016503f845757bb550b2b16bb00e5f8eddc48cba0b4c1c62ef03b96829728431e4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff5e4bb0902d39eca14b717a676cb688d9a78166923dec13dbd65c5968edd89016000000006b483045022100e3f4337a3c9db3126e5f1867278ecb02b89481567e3d374a8ac7735b039164ea022079ccdc64a11278aa7eabf24480d93c55541a5c16b04931f14e85e298424887764121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff349ad52b80ff1549b6cd48a9df7f1b01fa2efdf60a38af59829b8fe84d6d8918000000006b483045022100bdf25efa49d36aeec1df5830e5dd4ea03cdea7bcb9b39ac12645dd8e4c8bd7e7022077634e906cf12a9d284eacc9317d4fa59d36d72c261c03c6e0f166208bd40e8f4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffffb5a9b9a76509bc3adf74f3caa2c0caf60c6c31ffe7824f6fe7f5a21e728e911a000000006b483045022100affa2aeff70fa5dccb4e6d13ac2d25f24ffd3941d8d419eb2753f32f8424b65b022042ca342bb05c5d9b9146e9291ca5d5b44c49414eeca79ea6b25f9cb94e4008ed4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffffa490c76c1bedf6ee525c5e8e0b9cf8664077642447853f801fca6034d1c4ed1e000000006b483045022100e4c653225309bf5fabc5aa4ec9eb1accd5f6c4ac3fed61fdb389464f70ec9ae00220779e4ed1fe4a5002a3d19bf440cc8ea2a9dfd00f60c8eaf7bef7b0ce25ec0fc44121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff0abfa08bf3a3ddc705398662d7f5581732ceba78630970d6728825e64ea0f83d000000006a4730440220262b6c4fdac772cd0a866a9323f5aadd181d4f8efe998d69c1d6fe13642d7bce02200d38f00073354c6027e463f819c8d4839ee95017b9c3e8edff30da450ecfbeac4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff71d20596e3f52f66fce8428e691d5ed9117b4362c65a8d8953ab07cfbd553546000000006a473044022005cdbd94a5ba9b48c5bf65f1b0ec824f646e255f8f64871fdc661eb355138d41022026639bbd8aef0bd5f88150b20428b8b6119f07947026ad1e21fec4364c268bae4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff441f0fe7dd87812ea7ba8aa7aec9213ea7a8e9c363502c3522734a15d4f2b84d000000006a4730440220717e411356dbdab442eb80407503a2040e00ae2596605ed69b19942c7f159cf902204090c3b1e8b3ca55291bff1f020fc560ec636ea363c4b7c047f8b7c7edb402914121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff66aec01e54b1a981e9acc4993b641bc2d07c3551dc8934e5279ce88e5cfa1f52000000006b483045022100f757fa57c11eb9a891dd6aa484d3ba981cf3a81a2b21b80a5a79a516df247d8d022054eed0f7512cfabf5b6367cfebfe092ce3e9f9fead4bf38ac7c8b83f78f3787c4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48fefffffff8ec05004a4a3b1418943d4cb199d62c40bc01314580555cb8de4a5874268864000000006a47304402203b7039e93b83afc1f3e367e7b18b5d602e2c16fda5d57bad71563821ebbb42b002202bcc48855647675487ecf091d9ea4ffc2f45fe3c288ae4936e1f6c44c35f3a814121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff0fa6b7e4fa1186e16488554eabc6531d85d00382decbaa28f9d1b6ee6afdca77000000006a47304402205007178badcd7d5d7d1ce30aea5a6693f0a9eac3cb2fac2c4a39fed5759a826502203d215020161da6d0cabebc18dcff305f813808e85b7f491b95355778e7f146884121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff1744114d91cc2234e535b41236ccce0ffc113a91c2d50c93507e8e526a3e7b84000000006b483045022100f6fb0cccdeda5fad1d75740180c11620076703478a1ab9ce85555f1d833dad30022003ab69da119b457b8ddd55e282b19b4d17520298d57918993efddb4899a1c6b24121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff9622f39f3c108916312613733c8a694eb46868bfb0d66c6ca7e16a870ec27285000000006a47304402203a60d31807e2c2cdd155cb3a99793577c90106f804603f94a3977c7b8e3cabae02206cf55b17e61179df7f92114dce884912fa88f81f38d26402a1863e463de20c3e4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffffeac13c87b0490a13558662da5f99950a78ae9cbabea601c96ab903aa195ab489000000006a47304402207e15387a0612213e4fa4a0d9746e9821f2136692d8e4d1cfb82b5612ca29efeb02201dd066d58ea28dc4255d818bb97882044adff337022b3ed014704b4eaf78af734121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff51e464a3f69ff8403a42170dc2f350b47b3861fde69b3665a695d2da265b2090000000006b483045022100e365cdc4bb0343aff717bc25a29c608f317e2237d14cba70c4f715ee79fd70e802201336d6bc8116327a948613630e4a907ea68f9ae4a10ead75f9657769b0646caa4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff2de79427b450f99ba32a952c2a913a37de37f24aba0c6a0b7783202674d07991000000006a473044022042dc8671f1d9b3d2cfd35331d6dd0d1671cbe06630b344619fe764d7cc4b29c00220612cf78f6574c9131560432ceb8b08e11f9864413e301bd125911f168b667e5b4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff18af21481116d071f6f67ffea38c7f4fd94251284c5d82501485711607727c92000000006a47304402203fe68589e35c5f0ec0e82034b0285fce1dbe94a95b796c26ed28448e621b49b202203e5d573826e22a4c9087ccd292494975681defdccd90ace5bad2ae53ae7f79f94121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff76de8fd5afec1f5f46b44d3d441f960fafcf1e760d5c690834ebf30ab4365199000000006b4830450221009ac661e7a4d1b6535163a5bd4013aff7b5ddebc2f4420f0f4e03c67862fcd707022013e1e78e8fed948f9f7f5d34d22176ab1699f7fdd28d26139a626900ce4a5ab94121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff7128f01f5eb037b5c6cd90f94cfbf658e96f0c8d5788805197feb277cb94bba7000000006b483045022100f8ba5ffb7f7822d5e79546865d79b4b409b24b42be8006a4832558e333ecb6fc02201b8bace48e9327a6de0a41e39007beba16a597ddee34aa660d6ec1773678329e4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff37245e444a98f956df0a2bc9d40759d44fa27422bc54a22159a89cd5a57b77c2000000006a4730440220072e81dea5d7ab8e8c610d9c0496d40cbc546f1ece2416a64dec22f4e828f74c0220302a43b6dc091ef43b881bbcae6a723ac348b7f2dbb3f1fa68d737c4f797cd9e4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff2308294add9d12f85e8214fdce92ee0aefe24ff09f3b3dd5b7e1f1b852eadcc3000000006a47304402203f077ecdb565a6413be4644bab6514ed4d4c567a4c9ce12b626b7a541b1a5a6402202c255fd0202fb7d9d7e2bae5204223f798a8348261621d4160439f92266e169b4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff9149e9e3a47b60c57003789c45365f9bb3664e01782399ca4bbea0fa3cf57fcb000000006a473044022060d753b8344b11e9bd9bd372d320613aaba80be47b7da8acb5177630825400ae02203be42de7c1d934bedcfeaa4add344d8a971c53e4fd25d050721f3bb306704e094121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff6714f6c971f6853f9b97d40a277e2ea4554d9e879c6041a7e137f6eb10b4ead9000000006b483045022100a5aa56d6ae586d0f6fd4eab9b1fcb2641218610e88517db61b47ff84d2cda42d02206f5cde17b4157b440641f79557915d6308cd489d202a4f69de442f1d6fa0d7cf4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff0e584d8b21d4943b10b1867c039526056ad658f204e11dd402109543903e2fe0000000006a473044022012c4784ff6e413a30a0f10c1601ecfa4cec7bbd44ae2b65fe936a6ba1d590b9c02204fdb1023a5a7ca47cad78becd4ee2c0bcc21ad3552423ae0cdb448e7ba2ae88f4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffffa9dcaf71a82ac5f0ce204e7c40dae3c66852ba4d5a1ca6aafef48555abf9b5e1010000006b48304502210080362a54301c118d1da118a380c2134f20fb6b61a11b4b3f4d32cfb270dfaf980220644d3e5af0223b02d9aa52e06c95f679f34ba4a9e8b37dde18397341c194bba74121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff439b6e9fd8cbc8deba14fb7b0938db9c29316cb65fb62c89658af2217c5a83e4000000006b483045022100de2289e2166446fc2f2be0697e3f40bc377665ceae6ee36e7fc69adcfac1644b02205d54161312d101dc52036b20f86ee9661a803a541550fc8ed38e5ddf7ffe45fe4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff242727038fea76862454fb34a99a8fdbb4af1e448de693cbeff531fb8d1880ef000000006b483045022100cf22f62c45f37adc42da69832157bee4347e45fb8c84adadd95eccee6a849ad102200a543886bdbb0674c18a7e2fbc881a841c903c98d9c4717eacb4c8169cd8639b4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff81af035247daa38c871a409fc5952e2f02a9f048b7e407e44e490e3d485870fc000000006a47304402207e947c445d24937aadbaf22cde251198acda970857bf0f0bc840bcc329659f46022001b9c38585e06cb8cb7ff33deba88f30f991ea7e6ebda433f0325aadd06d2d5a4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff0230980f00000000001976a9148637ed509ccc49d2ac4620bb62a506163398378a88ac00ca9a3b0000000017a914140dd7ee5d60b0effb08ace878c8f337f34965778700000000 +2018-03-01 17:51:48 Respend tx1: 2018-03-01 17:26:05 78146f8324d840d3e603010e4aac6d2e186f6d3aa5cb64fdc0bbcf7a2ac44321 d7999c3ce49ff2ce35c104a48f58f4e13b2a7a20b52454015c9f8c6b09de851e +2018-03-01 17:51:48 Respend tx1 hex: 010000001fb95233eb966a4d631d4f46c5bc7f644ec346072f28da0240089982aea8a0ab04000000006b48304502210082614bbcfca22fad50833cf46655155f2e9560b15999a9cb36e489219d29ba1f022033bf6d4bd5909336f113bfa41a8fe7e645d9cb72696429d714169d66a270098b4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff41d326f39f1e0c1614d00ac3ef20845ebfdc6e213211a3683e08777c72208305000000006a47304402202547564ca70af4816f4fa2fce0a45ec2dd7e268df33a1dc4d9cfe6dc6fe9e9da02205b51771e9cef7728d9b819b20b2ed293d059aea839c172cf35831c3cd3d506c14121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff370e26e28aca0c551b5a8a8580ce203d4506caeb3db511f0b5b1c5698a3d1a11000000006b483045022100d313a4c239eccd55985cf60aa571316c94ef06f9c5edc127cb98b6970bfd9d7e022037c88e208655e49545969395d3d05e72f41c76a98a9003ae13e230c468d45f914121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff102aa16ce7bdabba393ee8236df5f813df0992e88ede4f52d9449bf6bbd19111000000006b483045022100cb8ba2ec602bda9989deb794c5da4e4f52ff02a49ae74b0866a60bcee8ccc419022049d7f56225c341bc3dca2f91024908c67c47d8fd8cbdaa3b50e4f93ed714fc954121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff5e4bb0902d39eca14b717a676cb688d9a78166923dec13dbd65c5968edd89016000000006a47304402206a79300f6721c716baec3e57b301cecfdedcd059a486eb02769c653eb0ce69e4022076017c7279b07fd38b172ee1fde2c033c7a7f03e6ccb46df67ac0602986beb3f4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff349ad52b80ff1549b6cd48a9df7f1b01fa2efdf60a38af59829b8fe84d6d8918000000006b483045022100f079890ee8d6189f0e0372ac63e91b6c594416fb45ecad57780665c0ea65664802201da79438adf699ddf39e966e7a68d91ea897f5db591c90cd9240598e5a0735344121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffffb5a9b9a76509bc3adf74f3caa2c0caf60c6c31ffe7824f6fe7f5a21e728e911a000000006a47304402200dd24968cdb9c82cdf18e21d4bc52e781b1a385096d7a0f9496ecc6934fcda6202202a122ef1adb6e52860c9756d013104f7c23723c3ac1d997183ef60e104da685e4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffffa490c76c1bedf6ee525c5e8e0b9cf8664077642447853f801fca6034d1c4ed1e000000006b483045022100d1bc03a46651a02b7af04e37be804c9d353a10885f0502bb4301d542f29f25ec02200df5e3d8fd288936812c2166e4983523efca612d2a3d1eb3be44e858ad3d61424121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff0abfa08bf3a3ddc705398662d7f5581732ceba78630970d6728825e64ea0f83d000000006b483045022100eb15290ac2d34bd3b44c10cd8c44be13078cb0ae474d656d32cde4ac3410e8250220619af861706d11f0a8cc0ec957f3dc972590eded6b2573807a754c840a9c0ff84121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff71d20596e3f52f66fce8428e691d5ed9117b4362c65a8d8953ab07cfbd553546000000006a47304402205164f838584ef98b8ed69d9e9b3227b68b15142c5a87825d92f9f200dfc80c9302204c87d7fe1e8d1ee461bb30a513130f9aa091ee1aeac71b0ed0e6bfb800585b4e4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff441f0fe7dd87812ea7ba8aa7aec9213ea7a8e9c363502c3522734a15d4f2b84d000000006b483045022100b82210b64ee8c0691a0dda36f68893aa8130abcc36c8564733bba3d623867f240220183b626895c0248d0180f248a4f8013d8394ec216943e00d57cf8c03ec754d144121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff66aec01e54b1a981e9acc4993b641bc2d07c3551dc8934e5279ce88e5cfa1f52000000006b483045022100efc9cb9cf38a5a15fc0579bfd05b7d16d780ed91634a816467a7c47e1989422e022027e24bbcda7bd4efdb74bde4bc25a0a1096a90ba48d4518a9679c26361d0d84c4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48fefffffff8ec05004a4a3b1418943d4cb199d62c40bc01314580555cb8de4a5874268864000000006a473044022008deb3f340b3d85aa9f3f3b17e4f8aef00986bc7873b40ead8a9050db68e1969022039a8adec7f4be741e8e2f310a0b847261acff367b5edd9eef50807da2aec0cb64121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff0fa6b7e4fa1186e16488554eabc6531d85d00382decbaa28f9d1b6ee6afdca77000000006a47304402207bf7726d9604c95f038d0ccb43c49fdd3c7483c3b592dbc1a6ff5b458289ab3d02201e615d80292c2245344d5cfa8bb7ce7de33442851f38df0272d756461b06e3d94121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff1744114d91cc2234e535b41236ccce0ffc113a91c2d50c93507e8e526a3e7b84000000006a4730440220116f3645ab68e31bd2724ac367c5603d389a5a3c4365ae3db384ce208415b07902206e3b9a3ab1c4a9e3df077a9494b63535f769e7de6b429d7b09c891f1abd8f09c4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff9622f39f3c108916312613733c8a694eb46868bfb0d66c6ca7e16a870ec27285000000006b483045022100d7252179c587628053733c429dcde21e7bf6cfea4897250f8530596aa2c38f8702204b1c1acd8aaf017721bc4a0cacbdf248fb07552c959a4b9c0bee7a9b5b00f8d44121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffffeac13c87b0490a13558662da5f99950a78ae9cbabea601c96ab903aa195ab489000000006a47304402207bc24837eaf7201503088c77e7cc3fc42dc11f4ebc4f7aeabdda0305e5a2b335022048668630243fa4e94fffb8c84841ec95a8806aa97a255311a9414bf154aa433b4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff51e464a3f69ff8403a42170dc2f350b47b3861fde69b3665a695d2da265b2090000000006a4730440220650d508714ab42607f653d13fb42b4c96bcf5964814a1b8fe5a59caf348f5304022042e729b590846b6fd8e8c43e005c682ceb36f93a4cb449a3b81e4b1af762efa74121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff2de79427b450f99ba32a952c2a913a37de37f24aba0c6a0b7783202674d07991000000006a47304402205c79c79babca3f89e1012f6665a23f27e5a1c65068a8c165db6d75a8c065536a02201a49b6e0ba7e2ab62ce91c1d1ed078b5bb8ed10eadd0e997421fd532cee7db334121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff18af21481116d071f6f67ffea38c7f4fd94251284c5d82501485711607727c92000000006b4830450221008d96915abdab306fb4b38bcadd631cad00fe8017c3c9850f7cdde98029637357022020045cebaec8801d6be18c4287daee8a8905431d63dec5fb14af85e193c29b524121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff76de8fd5afec1f5f46b44d3d441f960fafcf1e760d5c690834ebf30ab4365199000000006b48304502210091b0b3764081d730fb9cb061e86a08095cf5a0ddffb4d9d93fc61e300fbb95ce02206e285f2b7cf0fbea53aadc53858a4419bba60614d3d8ac04336b5edaaa94aa114121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff7128f01f5eb037b5c6cd90f94cfbf658e96f0c8d5788805197feb277cb94bba7000000006b483045022100d2c998993fba981fdb6a09db87123d1c850ed2a3320b4a805669ba7ec17049f5022024da6951c797698525c686498f2ae3c04b8f1b0e26ef87908f7a0c4593a50dd44121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff37245e444a98f956df0a2bc9d40759d44fa27422bc54a22159a89cd5a57b77c2000000006a47304402205d2115293d6f7fe2d77033281ce5b78158c6bcf27229c4c8c49e0d69b0627d260220525874c2f60d929e5d2ae0ecb3037929e25566bcc6f17129e1e08986f4f311f44121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff2308294add9d12f85e8214fdce92ee0aefe24ff09f3b3dd5b7e1f1b852eadcc3000000006b483045022100d5924321534a293e92de3d69badcd3c87df2bce2f86f73b14c1128181c686c2a0220330c979dacc5c633590ac82b67a8f94138ed1ea9c4e97116f97cfe0058ccfa464121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff9149e9e3a47b60c57003789c45365f9bb3664e01782399ca4bbea0fa3cf57fcb000000006b483045022100e28ab6f3d343ca623151f08b38c91501ede441fc149317af1b32c34e72ae73f6022014385de5ce8b645badc65523f91d7e2a54ba6c859700165f94861c4dcf8b025d4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff6714f6c971f6853f9b97d40a277e2ea4554d9e879c6041a7e137f6eb10b4ead9000000006b483045022100ec092e674b095051d9939bb104b8dbdc2c41becb264b659489f1d150dafd32bb02200a9511da8b008b7fa9feedbb4cd155d232d95a7723aff1db946af35b5b2c656f4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff0e584d8b21d4943b10b1867c039526056ad658f204e11dd402109543903e2fe0000000006a473044022049d2d55501dff7a0199a9d789d0cf7948c87786372898ae2578d005d82a42f5202200c221b7831ee58e031d0bbab9c99f667b9f112ca0fc0441f5b2f34da0bd653fa4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffffa9dcaf71a82ac5f0ce204e7c40dae3c66852ba4d5a1ca6aafef48555abf9b5e1010000006b483045022100c43b22f489227c5d57d13e838c20409ddce7891667cb5e0f2e217e695830b24c02203e586e369efa31fe7074245ba78d669b41b68a44b1b98e75b3f12ab9c7de6b7d4121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff439b6e9fd8cbc8deba14fb7b0938db9c29316cb65fb62c89658af2217c5a83e4000000006b483045022100b81f6912d61019af7addec58888d24a2e43c0d5f801db38db8d4b0f77165adb3022005664d870f4072541a1ddabea76af0a332fd5cc6b19282d01d5af4cc7e25f7274121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff242727038fea76862454fb34a99a8fdbb4af1e448de693cbeff531fb8d1880ef000000006b48304502210088f60e024a6b82376b260a6d7d045e7a77f689b3157b20702c3aa9b66007260002201203db129e6f0c528d3e9429e2af0f681551c36b0b80d34b6cf6d08daf59abd24121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff81af035247daa38c871a409fc5952e2f02a9f048b7e407e44e490e3d485870fc000000006b483045022100964307b69a95c8cc657f1de3b961b8fbac08a5fd95008fd2387dfc1c5c9bac53022051ac70d299cdae282d2b79be024bea32efac889aa6b0b8e9e9dda30adfa06e594121029f88fd559825f1c253b1544326c26da7c284e86389512559492cc8dadb3c7d48feffffff02249a0f00000000001976a9148637ed509ccc49d2ac4620bb62a506163398378a88ac00ca9a3b0000000017a9149c0bf9b2fada31654f237c67b22d0939052871338700000000 +2018-03-04 18:52:33 Respend tx2: 38d440836582ef7a4365a502730eed108841072ecc5f3e455f3f741e88cffc70 +2018-03-04 18:52:33 Respend tx2 hex: 0100000002f016cf1f0e15309bf334f206cc040a9a4455e507861711c485ad851ae0c3ed4c010000008b483045022100fc0f88d64eb39aad40b19813e589d3bb55903136d2deb38e05de7b51ad5a36f902207986a12c68c473c3aa999e7e531c9de7bca90f10ea34092905bfccd53b4efc1f41410409945bec8869387642dd0d8323676c00110678a1748eeb619a4a5e57e8e3fad73784dd93bd093a3b59de5158382f866584291da89a449f6f693a69e34fccc3defeffffff2f9e20ce02f73a252b83d1acd1379ade7fb0fde1c2a8055c1dc2e00329e28bd0010000008b483045022100a399beb3878b85878764d3e61055a4169d017db24610039165ff7dcdac85753102202cc5e4c63853ea7be920d39d83a1c00602b56be16b0a2592b72551f119de3f1c41410409945bec8869387642dd0d8323676c00110678a1748eeb619a4a5e57e8e3fad73784dd93bd093a3b59de5158382f866584291da89a449f6f693a69e34fccc3defeffffff01332fd50d000000001976a914391ea56cde2fc3129d79280647e7ca9a8352df2588ac1def0700 +2018-03-04 18:52:33 Respend tx1: 2018-03-04 18:06:16 724d7884d334e65eb61ef6607541adf91122d8abbf815980d10231e7744505d5 38d440836582ef7a4365a502730eed108841072ecc5f3e455f3f741e88cffc70 +2018-03-04 18:52:33 Respend tx1 hex: 0100000002f016cf1f0e15309bf334f206cc040a9a4455e507861711c485ad851ae0c3ed4c010000008a47304402202922a1ee35bcab283a6b8ec08fa95a00cfc0da152d00ded7de6e278cddc4db5b0220568676447fee66b387b7ceca7be773823567fbbbb4ac4b57d98647a99d34d2ff41410409945bec8869387642dd0d8323676c00110678a1748eeb619a4a5e57e8e3fad73784dd93bd093a3b59de5158382f866584291da89a449f6f693a69e34fccc3defeffffff2f9e20ce02f73a252b83d1acd1379ade7fb0fde1c2a8055c1dc2e00329e28bd0010000008b483045022100bf77123549eff167766358d57a37f0dbc2be1d0f6d4741e9a8f8e2a7301f1f6b02204cadbdd6601ad09389dc6ebf79b05252efd2f06883767d369c1582e0ac86ea7e41410409945bec8869387642dd0d8323676c00110678a1748eeb619a4a5e57e8e3fad73784dd93bd093a3b59de5158382f866584291da89a449f6f693a69e34fccc3defeffffff012f33d50d000000001976a914391ea56cde2fc3129d79280647e7ca9a8352df2588ac5f910500 +2018-03-10 17:09:54 Respend tx2: 366869761c89e0ae73d197fb45935ac11775ade5189729e466944fcf71626a9a +2018-03-10 17:09:54 Respend tx2 hex: 0100000004372a31a8c4167fc239cbfd11965a7712230e2ece3c3fbcc018a5260befa78d183a0000006a47304402206296d572d2c64281ee92d530efceabdc5f36acefc4967c35c3f7519a01dcb75e02207486ce7a014ced5be38baa4bcedbd7591a461cbdfcba8ce6f6551d20d1b0033d41210266d11d14507ffc1e5b28063e125514e47f441d99dad9b28cee862c2db74e2965feffffffa352b876be12738179611d123618aa05adaa5309f52088d63f2d8237bd374bc3060000006b483045022100f81ba7a56116e0f87677e59d98f2ed81634558706ca22cd8e1862678cc7e1080022078b8144d9b1760ef6e8dcff5b7ea6bf3574dfbcf9b33e6aadd388e325b35e98f412102286d6fdedf37ad9e9910b45a345d083db17af843f568acaf1cc0d89606b02585feffffff4b0063fb16e8e9d1081669916799cface1649f2301f4a9a54241ed11aba6b3cf010000006b4830450221009e4a55fd12baeed2fcdffd55264bd1369ae63f7ce28ed37bf00ee8598f5c1cc10220319d1c8575593ed6ad960f2fa5be7b8c6a2ae000724668c6eb5b3e165c8db6e641210306e9c23af122dc3da9dc961b5f8107c73bc71555d7758444264830d96de92228feffffff8540b7107512e67431a8783bdf10b901339320b7f8c8ede8690a915f43971ee10f0000006b483045022100a69989bd42702c60f94dbd3589f60a99ba3896a7408b65d4885c59892549580d02204f6d80cf71163617b80f957f01f031b92994f5ee6acbd5fd4b3ded2a7b4e8d4c41210293f224de24c866d7c26ccae37e45a5c1d9a95f0f69633728b2a42acfe2ff03ddfeffffff0197d9f301000000001976a9144fb089f450314b8583ff16eb74b29207d9e4030488ac00000000 +2018-03-10 17:09:54 Respend tx1: 2018-03-10 15:14:14 9b3c08412181cda0ed06de024ff2ddd9703bab2355af44a783bb87bfc5f8083a 366869761c89e0ae73d197fb45935ac11775ade5189729e466944fcf71626a9a +2018-03-10 17:09:54 Respend tx1 hex: 0100000004372a31a8c4167fc239cbfd11965a7712230e2ece3c3fbcc018a5260befa78d183a0000006b4830450221008bef8722ec329dc96a9d2d6f6679335b7f1459c57da87d21fec2a67a0836bc9b022039ac85f3b23324ae8c78c6840ac92c8dfa9159049903f890b6d00eb601eb99e041210266d11d14507ffc1e5b28063e125514e47f441d99dad9b28cee862c2db74e2965feffffffa352b876be12738179611d123618aa05adaa5309f52088d63f2d8237bd374bc3060000006b483045022100a9580d29b0d96492569b0c275937ed981db792626f28a04c1cc67754019ee2350220113c9d0b314cce30e978a07cc9da90be30d13dc08e96befc76a8ab971b9b79bf412102286d6fdedf37ad9e9910b45a345d083db17af843f568acaf1cc0d89606b02585feffffff4b0063fb16e8e9d1081669916799cface1649f2301f4a9a54241ed11aba6b3cf010000006a47304402207b5b9f5d2f2e703af4d2aa09775b5f07ce2f068cdbbb69d4f7ccd8ce957bc64502200743cfce69aded5b1115158eccf5158fa583cac6743dd77d4ae83cdde347f58d41210306e9c23af122dc3da9dc961b5f8107c73bc71555d7758444264830d96de92228feffffff8540b7107512e67431a8783bdf10b901339320b7f8c8ede8690a915f43971ee10f0000006a473044022070fd8d736518d4d34a1b652375338bc6b8b2eb55675427ba98667e279cb284cd02201a168250eeba9f7b30fbb4714f5870f6e619ef11cc186d17dd22fba4cd24a6b841210293f224de24c866d7c26ccae37e45a5c1d9a95f0f69633728b2a42acfe2ff03ddfeffffff011bddf301000000001976a9144fb089f450314b8583ff16eb74b29207d9e4030488ac00000000 +2018-03-10 17:11:01 Respend tx2: 725387cb889d5e12d91928815692b6b50000864abe4de569163aa47ba648018c +2018-03-10 17:11:01 Respend tx2 hex: 0100000002a9739446fd1b3c49614907a95cce28aa4505474a50adf6b022d7688a578b6824000000006b483045022100fd92da5dd3c45535feb53080f20c4078d8c288a68f5fcb91366efe195ea85ca80220107486c20e195fd77e3a318122e00e834a4def2ce47424458cac1f6d945118c241210261f9398fcf7739a14ba96929d71fa4ebccf9ba012a61d8bac6ca91081adae3a4feffffffac6b9432fce79ef94ed3d6018d8a7dd5c7d96aad2122e611d23f2c6e8b3867a5060000006b483045022100f00fff6ca5344031169e5f0fd456136daefa1f440d79ce48d3c3b71655f0ec7802206c2eeeb8a8cd60930dcb815ea6bbd7a64c30876deb950c8daeb8433a6eaf4989412102de26e92434c9b009e00e047f9bcd95576314351e00f2472cc1a2c2d066c9fb9bfeffffff01ba81fe01000000001976a9140b0c736d14b8d34243a939146905acd5c92909e088ac00000000 +2018-03-10 17:11:01 Respend tx1: 2018-03-10 15:15:04 24ab9412a386f1d06089292811b279b1e89739bf3100b2b2d74d372a65a78c1f 725387cb889d5e12d91928815692b6b50000864abe4de569163aa47ba648018c +2018-03-10 17:11:01 Respend tx1 hex: 0100000002a9739446fd1b3c49614907a95cce28aa4505474a50adf6b022d7688a578b6824000000006a473044022035653aa9629c47bf2560a988d3941751aae7dc7ecb6c60b7b2fb8c90a28e9e4e02203e43b59757dcadca0aa5fee6315dc0b10e6726606c09ad0faa31a857b1b6174241210261f9398fcf7739a14ba96929d71fa4ebccf9ba012a61d8bac6ca91081adae3a4feffffffcf813a9f4cf38146975112bae80588ac012c17894b8b8edcab6a0fd8f2918d8b040000006b483045022100f2eb22c3d6d719e7a172e7b31ff168c4c849a90e6e99ddb24fb0bec4d3d62c3e022075cb41115db2c0f455cbccfa6a41c2e0188b9cced2d747df720ed2494407e93a4121039fb63a2a6d3a74cbaed5a858a88f8b1a09d4208c6e45beb4ac1f8d05e528ef74feffffff016c0d8e01000000001976a9140b0c736d14b8d34243a939146905acd5c92909e088ac00000000 +2018-03-10 17:11:01 Respend tx1: 2018-03-10 15:17:56 2e9ec0bd516bb6c2bcab11946cc8fde9ab5378c8ddf4a538d47def8f38f7a0bd 725387cb889d5e12d91928815692b6b50000864abe4de569163aa47ba648018c +2018-03-10 17:11:01 Respend tx1 hex: 01000000025589c676f24e961777481903e4e0db1631dbc3bb580751dc649c28718ac4287e000000006b483045022100d5f8fe58f97f868094f306d5de9dafb44337756aeab7dd89238c004169fb21ed02201f13d862d7a575e8377f677a852bf19a6d75d8864a7730ec8d45ba933be10216412102715c5ef6dde328d70370a37f8d1d7e1640a5a940510b50315a6adb8ed67e02fbfeffffffac6b9432fce79ef94ed3d6018d8a7dd5c7d96aad2122e611d23f2c6e8b3867a5060000006b483045022100e27d982eb8b832e30aa9a529152cace59c57dca1a6bfcf9e9ad58f2172100eae02203a536caf052321594ec026e2bf44d91a18f95724f474d47dc4d470b10fc12913412102de26e92434c9b009e00e047f9bcd95576314351e00f2472cc1a2c2d066c9fb9bfeffffff014fbec302000000001976a914ea385db631f4c80459fd5a942a1c7b2ed2d8cb7c88ac00000000 +2018-03-10 17:11:31 Respend tx2: 5ab040630fc745cda2549a25ffd16eecc52f8ff65610c48a23773c57aa3d987d +2018-03-10 17:11:31 Respend tx2 hex: 0100000002723fc11c581c16c2681b7ad2d5815f500c4a96fbbcdb9e0f9d07ae4b345d050c030000006b483045022100c8142eae867f3cc9ea32c03f5118066194b23d83ea7ab98c4dc9d403e75841db02201bd58e2496f2a3317761f23f5244ad3315ea44f460553abdce3c79612fee778a412102b95060385def74edee7fa8d47536142a05fe380ae8ea787d903a4fcade83de4cfeffffff1f72330874d98470ac12517351966cb7c126997b6caa3f5794e08c96262076ef080000006b483045022100af8752506c3075f9330ff677a5c4103ddb1d874739aae2e1bd92c0e6971b54b902200d53822b9e4fe8b11745591e65f990b3bf47834d0e8c31df409b90053086247f4121031c904cc54909346443a5954038bb09dd64dc240fdbe121b032f7ebe50e2b9194feffffff010c81f301000000001976a91464f9f86d297b69d22254f22d3b08ce54f1482f9188ac00000000 +2018-03-10 17:11:31 Respend tx1: 2018-03-10 15:16:09 6fe9398401dc47a12e6aa7ee322e62bd5073b8ab531477be74dfaf6ead5ee66b 5ab040630fc745cda2549a25ffd16eecc52f8ff65610c48a23773c57aa3d987d +2018-03-10 17:11:31 Respend tx1 hex: 0100000002106978f11b3d9e98fdb3dbff418c9675b25c6afd0f04e170ace0e4bb92327154020000006a473044022076b20556fd05f2ea3b5714ceaf2200d88a3ada62c98828f41bc902a2279f9fca02202eddfdda09719f2ac78b68e13b950739f3bbbfdceb81ad5c1830d034690a81e7412102056b58fc3d043f04562c58a11be876b65969eedb580ff190c69bb0ef0a452aeefeffffff1f72330874d98470ac12517351966cb7c126997b6caa3f5794e08c96262076ef080000006a47304402200f2a32f9e5c8fe5d549e348d96050218c5cb3556a184b60010da3e8e0a95c37102201bfdae037cc18c4dd5ade4abd5bef33083627536932eda4d7604465cc3adb2064121031c904cc54909346443a5954038bb09dd64dc240fdbe121b032f7ebe50e2b9194feffffff010932fa01000000001976a914b59986e0755f5dd894acdef37ff5373ce6d0eb4188ac00000000 +2018-03-10 17:11:31 Respend tx1: 2018-03-10 15:16:46 52e1b3d5a571599c23af107997088b3e52e12f90725c23eaf64c0bb81ed7e8ef 5ab040630fc745cda2549a25ffd16eecc52f8ff65610c48a23773c57aa3d987d +2018-03-10 17:11:31 Respend tx1 hex: 0100000002723fc11c581c16c2681b7ad2d5815f500c4a96fbbcdb9e0f9d07ae4b345d050c030000006b483045022100c07539233d512e67146c47be9cb8ec20576b010ee106ca1b8be4ba63872affab02207c2d15dc5e898043b9e0588a3113b63823427d1bf8a33abff7950d3aa12dc1dd412102b95060385def74edee7fa8d47536142a05fe380ae8ea787d903a4fcade83de4cfeffffffa4e91d9b83563f320cc5894e10a071bd308abf4063ac30af9022263f6869952d040000006b483045022100f03c3be1f301ec4c6c6712b2f88b09ed19e1bc93bdac75e19bb3d00805368f0002200bfa6f2c6d8a65713cd76d656869b3487414f12970f3721cfac2b33c26db3888412102b12f336f2f648490cc4e5e9b11ca8a40ab5d6f9ff1f6108c571f02f003c19645feffffff019c313f02000000001976a91483ba714a53e34fbaf592dea444bf3b9cc7825cf588ac00000000 +2018-03-10 17:12:14 Respend tx2: 0472ba851a84e36b600dc10c4ad0d05ab904e66d5fa3303587d5fbe45290dba2 +2018-03-10 17:12:14 Respend tx2 hex: 01000000026e2db91763b9386661b445fc6452f9d0bdc0a91961220264c80bfaed44f09016000000006b4830450221009bc503cbaea1999990f0a00a845d3b2ebce56049793f06e9826e9a2beed3b6530220117dc7b9303d8cb9c35a0323abba65b53dd48f7b600aebb3dfa618d3aae27a22412103cd54d1e03899fb52b526d258a2d1059c7095c6095cf983b1cc91381153f3007dfeffffffa4e91d9b83563f320cc5894e10a071bd308abf4063ac30af9022263f6869952d040000006b483045022100bc718bc59cc2bcfe691439749757b845ab1f09d7d29e554257bfaa95ec18eb2e02207b0a19ca48846b33fd795e13a2489a266676bd8c271ceb21bf521e7108ceceac412102b12f336f2f648490cc4e5e9b11ca8a40ab5d6f9ff1f6108c571f02f003c19645feffffff0108485f02000000001976a914b59986e0755f5dd894acdef37ff5373ce6d0eb4188ac00000000 +2018-03-10 17:12:14 Respend tx1: 2018-03-10 15:15:36 8722efbbb07ad38119b701b2fb4e462beb609755650c540811956e7edb2b2e62 0472ba851a84e36b600dc10c4ad0d05ab904e66d5fa3303587d5fbe45290dba2 +2018-03-10 17:12:14 Respend tx1 hex: 01000000026e2db91763b9386661b445fc6452f9d0bdc0a91961220264c80bfaed44f09016000000006b483045022100cc34e4c499a65a49e6b8dd08a4e9cdfd139405669502f75395c23f0d321d30a702200d7254b7e8695b451d9ce29c055859f97607c3b21d075e13513334190a01c44f412103cd54d1e03899fb52b526d258a2d1059c7095c6095cf983b1cc91381153f3007dfeffffff52b28683f8b3163793d1f6092cde5a5d15f6701d1eba8fd847c6c0b12f2ffc22060000006b483045022100a872806831886deb4dcb8dd6f5c58463205d5d066362403586cc5f8b5582d3d802203027ae7cec7c93488b6d5ed57415f9f3709b0b3f86db8defb64275c9d8e63f31412103972a096e5b2c54c04602933d4644bf1862883a1d5d962016dd590ec11e52051afeffffff0134265002000000001976a91464f9f86d297b69d22254f22d3b08ce54f1482f9188ac00000000 +2018-03-10 17:13:13 Respend tx2: 12882d94130f4420576cc32b75d0a66291c4ca44dacaeffd7593439eb9e25ab7 +2018-03-10 17:13:13 Respend tx2 hex: 010000000252b28683f8b3163793d1f6092cde5a5d15f6701d1eba8fd847c6c0b12f2ffc22060000006a4730440220011980ceffd045384e4920417fb30512ea750711bc20f4045a96a37481bd57fc0220175c8d0351c10d05059ca076c474429b182facfebe18b720593175a6fdbe7744412103972a096e5b2c54c04602933d4644bf1862883a1d5d962016dd590ec11e52051afeffffff106978f11b3d9e98fdb3dbff418c9675b25c6afd0f04e170ace0e4bb92327154020000006b483045022100f6f26fe72e930d046c9f8cc9c7b4ecdfb2a4004d9e3b297bb5e869309bf80a9b02203bafe3174b928f897b2dec5a73155ef0f2ffa3618fe850ea9d25b1dca64c5224412102056b58fc3d043f04562c58a11be876b65969eedb580ff190c69bb0ef0a452aeefeffffff0115bc3602000000001976a914ea385db631f4c80459fd5a942a1c7b2ed2d8cb7c88ac00000000 +2018-03-10 17:13:13 Respend tx1: 2018-03-10 15:15:36 8722efbbb07ad38119b701b2fb4e462beb609755650c540811956e7edb2b2e62 12882d94130f4420576cc32b75d0a66291c4ca44dacaeffd7593439eb9e25ab7 +2018-03-10 17:13:13 Respend tx1 hex: 01000000026e2db91763b9386661b445fc6452f9d0bdc0a91961220264c80bfaed44f09016000000006b483045022100cc34e4c499a65a49e6b8dd08a4e9cdfd139405669502f75395c23f0d321d30a702200d7254b7e8695b451d9ce29c055859f97607c3b21d075e13513334190a01c44f412103cd54d1e03899fb52b526d258a2d1059c7095c6095cf983b1cc91381153f3007dfeffffff52b28683f8b3163793d1f6092cde5a5d15f6701d1eba8fd847c6c0b12f2ffc22060000006b483045022100a872806831886deb4dcb8dd6f5c58463205d5d066362403586cc5f8b5582d3d802203027ae7cec7c93488b6d5ed57415f9f3709b0b3f86db8defb64275c9d8e63f31412103972a096e5b2c54c04602933d4644bf1862883a1d5d962016dd590ec11e52051afeffffff0134265002000000001976a91464f9f86d297b69d22254f22d3b08ce54f1482f9188ac00000000 +2018-03-10 17:13:41 Respend tx2: 06f57ee735d94fdd903f632fea2474c30533ca0ab532b0836fa2952746b6d53c +2018-03-10 17:13:41 Respend tx2 hex: 01000000015c201844cb4a405c114a87360640a01ec56fa5425836d767f2e23e556031de61020000006a47304402207381d8380825bc8c9f57bf5bec009ea825919bfb14e0849fccbf47f89d5f3d9f02207b71bf0057b8ba721dd6352539c43fe74871d908228d950834ff2344d395948141210332e39c5dcd11d7365ec4ad3937bb310b455624541b71207388f6bf6c4714cf74feffffff015a170102000000001976a914d709645dfaf43e0e51f88730fd5d2b145d89ce0588ac00000000 +2018-03-10 17:13:41 Respend tx1: 2018-03-10 15:18:19 0a08fc6e4f06687efe3928884b4aad3a31a96e9134c7e34088e1bbc36a3b50c6 06f57ee735d94fdd903f632fea2474c30533ca0ab532b0836fa2952746b6d53c +2018-03-10 17:13:41 Respend tx1 hex: 01000000015c201844cb4a405c114a87360640a01ec56fa5425836d767f2e23e556031de61020000006b483045022100817f9ef5e94f33d0d5fd7c147f9dcb680d6b8c6b48aff5435dfaffd82b19869b02200d05a83bf2fa5023a42873fab9a06ec890cb344950e221d0dfa2421bf5f4927041210332e39c5dcd11d7365ec4ad3937bb310b455624541b71207388f6bf6c4714cf74feffffff01be170102000000001976a914d709645dfaf43e0e51f88730fd5d2b145d89ce0588ac00000000 +2018-03-10 17:14:06 Respend tx2: caee7d16d9b4504df714c9bad5aa242fbdf8be1320e3a92bab22cc990d950a4c +2018-03-10 17:14:06 Respend tx2 hex: 01000000011b30c5a1cdda61b23892266d472684efd60789bc441ec12071c62d9e0d3ab541070000006b4830450221009aadd1377c2484d258db971c323621793c45772004d6620ed319f5546eeb57e902201bfd3a8b54cdea556e6c13e5bacf5c12b81a7b8d2d2707d240223aacd7bdcbfb412102ff4daf0ef6a4314e37d0a4cdfa019b0e1f104cacb042e327be682a059f390dd2feffffff016d96fc01000000001976a914fd3b6b685823c61bce0e694d872d4d32e35e002388ac00000000 +2018-03-10 17:14:06 Respend tx1: 2018-03-10 15:18:41 cdd4aac890e4c8afd991bf3ce13b6a1563f7e98d9534706ade322dfc8b524eb5 caee7d16d9b4504df714c9bad5aa242fbdf8be1320e3a92bab22cc990d950a4c +2018-03-10 17:14:06 Respend tx1 hex: 01000000011b30c5a1cdda61b23892266d472684efd60789bc441ec12071c62d9e0d3ab541070000006b483045022100a481a47d31c8336945832d0f7ed8a6c14479cbf3cbdf1f0900c7748b291b0a3602205664eb70ff30bf132d930b4f727a1cbc67faaafbddf1f30713701e9fe31ead1e412102ff4daf0ef6a4314e37d0a4cdfa019b0e1f104cacb042e327be682a059f390dd2feffffff01d196fc01000000001976a914fd3b6b685823c61bce0e694d872d4d32e35e002388ac00000000 +2018-03-10 17:21:23 Respend tx2: 2d08c65f527e0f71ae9e8d3c3c66e350a2b392bc72529a28a2b8de2be449493f +2018-03-10 17:21:23 Respend tx2 hex: 0100000002c8d5edd9c3afb949083a167db73cc31517e20ccd60dcf76707f6520100639876010000006a4730440220590b957adaa1341f4b95ab01f250d1224311344a417672ba9fb3f366acea4a4202206f43e5388090e46b423175bc103f27ca1503db886659ebaac4db9a2a2edd3c844121020adf5be6460609b965e662824dff2079d7f92975408cf04374caa4929e2fad86feffffffa8cd0d8d4964bde088e6dd5140eeb6451fc5d265ffb69f19ae5c176fb3bbbd9b010000006b483045022100f6dda18912bfdb31c64ca9a11bf6a2866b73e7a87d17a398cfaf186fec90e10d0220122d26c19f89f901d097d55db6f845be3313ae890a1e6ce8a9d8623da08d42304121020adf5be6460609b965e662824dff2079d7f92975408cf04374caa4929e2fad86feffffff01dca11201000000001976a914c7c45ccefd25a813db9069b2875750fa7e093c5288ac82f20700 +2018-03-10 17:21:23 Respend tx1: 2018-03-10 15:29:59 d890a57753e401218d9515b66828f99e108af8aab28b41c78e94565dcddb1d6c 2d08c65f527e0f71ae9e8d3c3c66e350a2b392bc72529a28a2b8de2be449493f +2018-03-10 17:21:23 Respend tx1 hex: 0100000002a8cd0d8d4964bde088e6dd5140eeb6451fc5d265ffb69f19ae5c176fb3bbbd9b010000006b483045022100be9759d544a6a8f4268e778ced938c4ce00627d193ed83b04db3fcd0578bbf7d022016e25f8c73e1cc512d051b602d3d5635479f175a6cc31b2b8eeeeca02702127e4121020adf5be6460609b965e662824dff2079d7f92975408cf04374caa4929e2fad86ffffffffc8d5edd9c3afb949083a167db73cc31517e20ccd60dcf76707f6520100639876010000006b483045022100d4fe0aa05f8c150fb69bc80f3fdc0d16b3a283f51996969c657d46a1ffbc0d0202203a25c6b33bc35eee941db160e18e917da4e301d48e550f070b9dfaa842f77c534121020adf5be6460609b965e662824dff2079d7f92975408cf04374caa4929e2fad86ffffffff012da71201000000001976a91415a3c68bac180bcfff3f0efe652a0739a9786f4788ac00000000 diff --git a/doublespend.py b/doublespend.py new file mode 100644 index 0000000..e435cce --- /dev/null +++ b/doublespend.py @@ -0,0 +1,40 @@ +import sys +import time +from respend.logparser import RespendChecker +from respend.txdecoder import decode_tx +from respend.blockchain import BlockchainChecker +from respend.winnerupdater import update_winners +from respend.txdata import store_respend +from respend.websitebuilder import build_website + +TXDATA = "txdata" + +def on_respend_detected(tx1, tx2): + tx1_decoded = decode_tx(tx1.hex) + tx1_decoded['first_seen'] = tx1.time + tx2_decoded = decode_tx(tx2.hex) + tx2_decoded['first_seen'] = tx2.time + + print("Wrote %s" % store_respend({ + 'first' : tx1_decoded, + 'second' : tx2_decoded, + 'timestamp' : tx1.time, + 'winner' : None})) + +respend = RespendChecker( + logpath = "debug-sample.log", + on_respend = on_respend_detected) + +blockchain = BlockchainChecker( + on_new_tip = lambda: update_winners()) + +while True: + update_website = respend.check() + update_website |= blockchain.check() + if update_website: + print("New changes. Updating website.") + build_website() + + sys.stdout.write(".") + sys.stdout.flush() + time.sleep(1) diff --git a/respend/__init__.py b/respend/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/respend/blockchain.py b/respend/blockchain.py new file mode 100644 index 0000000..e0c0253 --- /dev/null +++ b/respend/blockchain.py @@ -0,0 +1,14 @@ +from respend.rpcutil import connection + +class BlockchainChecker: + def __init__(self, on_new_tip): + self.on_new_tip = on_new_tip + self.tip = None + + def check(self): + new_tip = connection().getbestblockhash() + if new_tip == self.tip: + return False + print("New blockchain tip: %s" % new_tip) + self.tip = new_tip + return self.on_new_tip() diff --git a/respend/logparser.py b/respend/logparser.py new file mode 100644 index 0000000..6c3fd2f --- /dev/null +++ b/respend/logparser.py @@ -0,0 +1,65 @@ +import re +from pygtail import Pygtail + +def regex_match(regex, line): + m = re.match(regex, line) + if m is None: + return m + return m.group(1); + +class RespendTx: + def __init__(self, time_regex, hex_regex): + self.time_regex = time_regex + self.hex_regex = hex_regex + + self.time = None + self.hex = None + + def parse_line(self, line): + t = regex_match(self.time_regex, line) + if t is not None: + self.time = t + print("matched %s %s" % (self.time_regex, line)) + + h = regex_match(self.hex_regex, line) + if h is not None: + self.hex = h + print("matched %s %s" % (self.hex_regex, line)) + + def done(self): + return self.time != None and self.hex != None + + def clear(self): + self.time = self.hex = None + +class RespendChecker(): + def __init__(self, logpath, on_respend): + self.logpath = logpath + self.on_respend = on_respend + + def check(self): + tx1 = RespendTx( + time_regex = r'.*tx1: (\d{4}-\d{2}-\d{2} [0-9:]{8})', + hex_regex = r'.*tx1 hex: ([0-9a-f]+)') + + tx2 = RespendTx( + time_regex = r'(\d{4}-\d{2}-\d{2} [0-9:]{8}) Respend tx2', + hex_regex = r'.*tx2 hex: ([0-9a-f]+)') + + found = False + for line in Pygtail(self.logpath): + # tx2 is logged before tx1 + + if not tx2.done(): + tx2.parse_line(line) + + elif not tx1.done(): + tx1.parse_line(line) + + if tx1.done() and tx2.done(): + print("found double spend") + self.on_respend(tx1, tx2) + tx1.clear() + tx2.clear() + found = True + return found diff --git a/respend/rpcutil.py b/respend/rpcutil.py new file mode 100644 index 0000000..378963c --- /dev/null +++ b/respend/rpcutil.py @@ -0,0 +1,26 @@ +import sys +sys.path.append("./lib/bitcoinrpc") +from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException +from functools import lru_cache + +def read_cfg(param): + cfglines = open("../.bitcoin/bitcoin.conf").readlines() + for c in cfglines: + if c.startswith(param): + return c[len(param) + 1:-1] + return None + +rpcuser = read_cfg("rpcuser") +rpcpassword = read_cfg("rpcpassword") +port = 8332 + +url = "http://%s:%s@127.0.0.1:%s" % (rpcuser, rpcpassword, port) +conn = AuthServiceProxy(url) + +def connection(): + global conn + return conn + +@lru_cache(maxsize = 1024) +def get_cached_tx(txid): + return connection().getrawtransaction(txid, 1) diff --git a/respend/txdata.py b/respend/txdata.py new file mode 100644 index 0000000..757e773 --- /dev/null +++ b/respend/txdata.py @@ -0,0 +1,28 @@ +import simplejson as json +import hashlib +import glob +import os + +TXDATA = "txdata" + +def has_winner(respend): + return respend['winner'] != None + +def list_respends(): + return glob.glob(TXDATA + "/*.json") + +def load_respend(path): + with open(path) as fh: + return json.load(fh) + +def respend_id(txid_first, txid_second): + h = hashlib.new('ripemd160') + h.update(txid_first.encode() + txid_second.encode()) + return h.hexdigest() + +def store_respend(respend): + rid = respend_id(respend['first']['txid'], respend['second']['txid']) + path = os.path.join(TXDATA, rid + ".json") + with open(path, "w") as fh: + json.dump(respend, fh, sort_keys = True, indent = 2 * ' ') + return path diff --git a/respend/txdecoder.py b/respend/txdecoder.py new file mode 100644 index 0000000..294a4df --- /dev/null +++ b/respend/txdecoder.py @@ -0,0 +1,4 @@ +from respend.rpcutil import connection + +def decode_tx(hexstr): + return connection().decoderawtransaction(hexstr) diff --git a/respend/websitebuilder.py b/respend/websitebuilder.py new file mode 100644 index 0000000..0d5fbc8 --- /dev/null +++ b/respend/websitebuilder.py @@ -0,0 +1,205 @@ +from respend.txdata import list_respends, load_respend, respend_id +from respend.rpcutil import get_cached_tx +import math +import datetime + +ENTRIES_PER_PAGE = 10 + +def get_vout_value(tx, n): + for vout in tx["vout"]: + if vout["n"] == n: + return vout["value"] + +def sum_in_value(tx): + value = 0 + for in_ in tx["vin"]: + tx = get_cached_tx(in_["txid"]) + value += get_vout_value(tx, in_["vout"]) + return float(value) + +def sum_out_value(tx): + value = 0 + for out in tx["vout"]: + value += out["value"] + return value + +def calc_fee(tx): + COIN = 100_000_000 + value_in = sum_in_value(tx) + value_out = sum_out_value(tx) + return (value_in * COIN - value_out * COIN) / tx["size"] + +def get_inputs(tx): + inputs = [ ] + for in_ in tx['vin']: + txid = in_['txid'] + value = get_vout_value(get_cached_tx(txid), in_['vout']) + inputs.append({ + "txid" : txid, + "value" : value + }) + return inputs + +def get_outputs(tx): + outputs = [ ] + for out in tx['vout']: + addresses = [ ] + if "scriptPubKey" in out and "addresses" in out['scriptPubKey']: + addresses = out['scriptPubKey']['addresses'] + outputs.append({ + "addresses" : addresses, + "value" : out['value'] + }) + return outputs + +def find_tags(fee_per_byte, outputs): + tags = set() + if fee_per_byte < 1.0: + tags.add("lowfee") + + # Known gambling addresses + gambling = [ + # Satoshidice addresses (14/03/18) + "bitcoincash:qz9cq5ylczhld5rm7a4px04zl50v5ahr3scyqudsp9", + "bitcoincash:qz9cq5ytxmejfqqr0l5clkmw0l52pj6n5yc76lup7a", + "bitcoincash:qz9cq5yfkyjpgq6xatlr6veyhmcartkyrg7wev9jzc", + "bitcoincash:qz9cq5rlkdrjy2zkfzqscq847q9n07mu5y7hj8fcge", + "bitcoincash:qz9cq5r294syv3csh56e4jpyqrpt7gl9lcj7wveruw", + "bitcoincash:qz9cq5pcexrfnz0a60qz7xtvv8wh5rqf8v6pxd3k74", + "bitcoincash:qz9cq5pgwgx68wfevx0t78xalkh33xa0v5wlx6nppx", + "bitcoincash:qz9cq5pryv9hnqwa8q8mccmynk9uf4vlu5nxerpzmc", + "bitcoincash:qz9cq5qa2mfqcxlc4220yh8fatadu4z7pcewq0ns8y", + "bitcoincash:qz9cq5qeguz30nuynwt2ulq6cxt6gfklfv2djqj9lf", + "bitcoincash:qqpx0wk0hru27l0xk2ek9xulhh269awklyauyuraxk", + ]; + for out in outputs: + for a in out['addresses']: + if a in gambling: + tags.add("gambling") + return list(tags) + + +def extract_tx_info(tx): + fee_per_byte = calc_fee(tx) + outputs = get_outputs(tx) + + tags = [] + if fee_per_byte < 1.0: + tags.append("lowfee") + + return { + "txid" : tx["txid"], + "first_seen" : tx["first_seen"], + "fee" : fee_per_byte, + "inputs" : get_inputs(tx), + "outputs" : outputs, + "tags" : find_tags(fee_per_byte, outputs), + } + +def seconds_between(first, second): + # Seconds between seen + def parse(date): + return datetime.datetime.strptime(date, "%Y-%m-%d %H:%M:%S") + return (parse(second) - parse(first)).total_seconds() + + +def generate_respend_data(): + ids = list_respends() + respends_raw = [ load_respend(r) for r in ids ] + respends_raw.sort(key = lambda r: r['first']['first_seen'], reverse = True) + + # Extract the information we want + respends = [ ] + for r in respends_raw: + + first = extract_tx_info(r["first"]) + second = extract_tx_info(r["second"]) + + respends.append({ + "first" : first, + "second" : second, + "winner" : r["winner"], + "seconds_between" : seconds_between(first['first_seen'], second['first_seen']), + "id" : respend_id(first['txid'], second['txid']), + }) + return respends + +# Generates a short, colorful hash +def shortenhash(txid): + prefix = txid[0:2] + suffix = txid[-3:-1] + middle = txid[2:-3] + + html = prefix; + while len(middle): + c = middle[0:4] + middle = middle[4:] + html += '%s' % (c, c) + html += suffix + return html + +# Remove bitcoincash prefix +def addr_filter(addr): + no_prefix = addr[len("bitcoincash:"):] + return '%s' % (no_prefix, no_prefix) + +def txid_filter(txid): + shorten = shortenhash(txid) + return '%s' % (txid, shorten) + +def amount_filter(amount): + return '%.8f BCH' % amount + +def gen_pagination(curr, total): + + def gen_url(page): + return "/%s.html#respends" % page + + items = [ ] + items.append({ "title" : "Previous", "url" : None if curr == 1 else gen_url(curr - 1) }) + + i = curr - 5 + while len(items) < 11: + if i < 1: + i += 1 + continue + if i > total: + break + items.append({ "title" : str(i), "url" : gen_url(i), "page" : i }) + i += 1 + + items.append({ "title" : "Next", "url" : None if curr == total else gen_url(curr + 1) }) + return items + + + + +def build_website(): + from jinja2 import Template, Environment, select_autoescape, FileSystemLoader + import os + env = Environment(loader = FileSystemLoader("tpl/")) + env.filters['addr'] = addr_filter + env.filters['txid'] = txid_filter + env.filters['bch'] = amount_filter + + template = env.get_template("base.html") + data = generate_respend_data() + pages = math.ceil(len(data) / ENTRIES_PER_PAGE) + + for p in range(pages): + html = template.render( + page = p + 1, + pagination = gen_pagination(p + 1, pages), + respends = data[:ENTRIES_PER_PAGE], + time_now = datetime.datetime.utcnow()) + + data = data[ENTRIES_PER_PAGE:] + + with open(os.path.join("site", "%s.html" % str(p + 1)), "w") as fh: + fh.write(html) + + if p == 0: + # also render page 1 as inde.html + with open(os.path.join("site", "index.html"), "w") as fh: + fh.write(html) + diff --git a/respend/winnerupdater.py b/respend/winnerupdater.py new file mode 100644 index 0000000..c8818fd --- /dev/null +++ b/respend/winnerupdater.py @@ -0,0 +1,35 @@ +from respend.rpcutil import connection, JSONRPCException +from respend.txdata import list_respends, load_respend, store_respend, has_winner + +def update_winners(): + changes = False + print("Updating winners") + + for respend in list_respends(): + r = load_respend(respend) + + if has_winner(r): + continue + + winner = check_winner(r) + if winner: + r['winner'] = winner + store_respend(r) + changes = True + + return changes + +def check_winner(respend): + try: + rawtx = connection().getrawtransaction(respend['first']['txid'], 1) + if "confirmations" in rawtx and rawtx['confirmations']: + return "first" + except JSONRPCException as e: + pass + + try: + rawtx = connection().getrawtransaction(respend['second']['txid'], 1) + if "confirmations" in rawtx and rawtx['confirmations']: + return "second" + except JSONRPCException as e: + pass diff --git a/site/css/bootstrap.min.css b/site/css/bootstrap.min.css new file mode 100644 index 0000000..6561b6f --- /dev/null +++ b/site/css/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.0.0 (https://getbootstrap.com) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-check{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropup .dropdown-menu{margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::before{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label::before{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-webkit-box;display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-control{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-control::before{border-color:#80bdff}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(calc(2.25rem + 2px) - 1px * 2);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .dropup .dropdown-menu{top:auto;bottom:100%}}.navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .dropup .dropdown-menu{top:auto;bottom:100%}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;background-color:#007bff;transition:width .6s ease}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-ms-flex:1;flex:1}.list-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}.close:not(:disabled):not(.disabled){cursor:pointer}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-muted{color:#6c757d!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/tpl/base.html b/tpl/base.html new file mode 100644 index 0000000..87f4a11 --- /dev/null +++ b/tpl/base.html @@ -0,0 +1,165 @@ + + + + + + + Bitcoin Cash double spends + + + + + + + +
+
+
+

Bitcoin Cash double spends

+

Double spend is when a set of coins is spent in more than one transaction. This can happen for various reasons, but one of the reasons is fraud attempts. +

+

+ If you are accepting 0-conf payments, it's in your interest to detect double spend attempts. If you want merchants to accept your 0-conf payments, it's in your interest to help detect double spend attempts. +

+

+ Bitcoin XT detects double spends relayed to it. It allows you to react to double spends. It's also the only Bitcoin Cash node that forwards double spends to allow other nodes to detect them. +

+

Help gathering double spends here and detecting them network wide by running Bitcoin XT and connecting to at least one other Bitcoin XT node, such as respends.thinlink.com:8333

+ +

Below are double spends detected with Bitcoin XT. Tags are applied to some as analysis for cause or motivation of the double spend.

+ +

Last updated {{ time_now }}

+
+
+
+ +{% macro gen_pagination(pagination, id) %} + +{% endmacro %} +{% macro gen_tx(title, id, r, is_winner, is_loser, seconds_later) %} + +
+

{{ title }} + {% if is_winner %} + + {% endif %} +

+ Raw data + + + +
+ Inputs: +
    + {% for i in r.inputs %} +
  • {{ i.value | bch }} from {{ i.txid | txid }}
  • + {% endfor %} + +
+
+ Outputs: +
    + {% for o in r.outputs %} +
  • {{ o.value | bch }} to + {% for a in o.addresses %} + {{ a | addr }}  + {% endfor %} +
  • + {% endfor %} +
+
+
+ +{% endmacro %} + +{{ gen_pagination(pagination, "respends") }} + +
+ {% for r in respends %} +
+ + {{ gen_tx("Original", r.id, r.first, r.winner == "first", r.winner == "second", None) }} + {{ gen_tx("Double", r.id, r.second, r.winner == "second", r.winner == "first", r.seconds_between) }} +
+ {% endfor %} +
+ +{{ gen_pagination(pagination, None) }} + + + + +