From b25f8170f2592e9076176bbe2a49bb0c0973fecd Mon Sep 17 00:00:00 2001 From: Chris Mullins Date: Wed, 12 Dec 2018 23:48:07 -0800 Subject: [PATCH 001/200] Update docs for HASS 0.84 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d0ae1a78..eb6ac936 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ Route (5) supports these commands. Note that each bulb type has support for a di * `night_mode`. Enable "night mode", which is minimum brightness and bulbs only responding to on/off commands. 1. `commands`. An array containing any number of the above commands (including repeats). -The following redundant commands are supported for the sake of compatibility with HomeAssistant's [`mqtt_json`](https://home-assistant.io/components/light.mqtt_json/) light platform: +The following redundant commands are supported for the sake of compatibility with HomeAssistant's [`mqtt`](https://home-assistant.io/components/light.mqtt/) light platform with the `json` schema: 1. `color`. Hash containing RGB color. All keys for r, g, and b should be present. For example, `{"r":255,"g":200,"b":255}`. 1. `color_temp`. Controls white temperature. Value is in [mireds](https://en.wikipedia.org/wiki/Mired). Milight bulbs are in the range 153-370 mireds (2700K-6500K). From e4014745ad161a039ba6bd89319bf652ed8f7a51 Mon Sep 17 00:00:00 2001 From: Chris Mullins Date: Fri, 28 Dec 2018 10:37:15 -0700 Subject: [PATCH 002/200] Fix typo --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index eb6ac936..6e01216e 100644 --- a/README.md +++ b/README.md @@ -166,14 +166,14 @@ If you'd like to control bulbs in all groups paired with a particular device ID, Turn on group 2 for device ID 0xCD86, set hue to 100, and brightness to 50%: ``` -$ curl -X PUT -H 'Content-Type: applicaiton/json' -d '{"status":"on","hue":100,"level":50}' http://esp8266/gateways/0xCD86/rgbw/2 +$ curl -X PUT -H 'Content-Type: application/json' -d '{"status":"on","hue":100,"level":50}' http://esp8266/gateways/0xCD86/rgbw/2 true% ``` Set color to white (disable RGB): ``` -$ curl -X PUT -H 'Content-Type: applicaiton/json' -d '{"command":"set_white"}' -X PUT http://esp8266/gateways/0xCD86/rgbw/2 +$ curl -X PUT -H 'Content-Type: application/json' -d '{"command":"set_white"}' -X PUT http://esp8266/gateways/0xCD86/rgbw/2 true% ``` From e0e6b5d52aceddcf6b7b31cb2c2c78e84dbda666 Mon Sep 17 00:00:00 2001 From: Robert Slootjes Date: Tue, 1 Jan 2019 18:26:37 +0100 Subject: [PATCH 003/200] Add reference to Pairing new bulbs (#368) * Add reference to Pairing new bulbs Pairing new bulbs is essential when using this app. I think it will save users some time if this is referenced from the readme. * Update README.md Co-Authored-By: slootjes --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 6e01216e..c769c984 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,10 @@ The HTTP endpoints (shown below) will be fully functional at this point. You sho ![Web UI](https://user-images.githubusercontent.com/589893/39412360-0d95ab2e-4bd0-11e8-915c-7fef7ee38761.png) +#### Pair Bulbs + +If you need to pair some bulbs, how to do this is [described in the wiki](https://github.com/sidoh/esp8266_milight_hub/wiki/Pairing-new-bulbs). + ## LED Status Some ESP boards have a built-in LED, on pin #2. This LED will flash to indicate the current status of the hub: From b5e87b5d9c61207dc72919c6640e502eaaed9baf Mon Sep 17 00:00:00 2001 From: Robert Slootjes Date: Tue, 1 Jan 2019 18:31:31 +0100 Subject: [PATCH 004/200] Improve NRF24L01+ pin configuration (#367) * Improve NRF24L01+ pin configuration Because of the explicit link to this guide I kind of assumed the right pin was used by default which is not the case. The guide puts the CE pin on GPIO 4, not GPIO 16. Maybe it will save others some time if this was added to the readme. * Update README.md Co-Authored-By: slootjes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c769c984..dbbf26a0 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ Both modules are SPI devices and should be connected to the standard SPI pins on ##### NRF24L01+ -[This guide](https://www.mysensors.org/build/connect_radio#nrf24l01+-&-esp8266) details how to connect an NRF24 to an ESP8266. I used GPIO 16 for CE and GPIO 15 for CSN instead. These can be configured later. +[This guide](https://www.mysensors.org/build/connect_radio#nrf24l01+-&-esp8266) details how to connect an NRF24 to an ESP8266. By default GPIO 16 for CE and GPIO 15 for CSN are used, but these can be configured later. When following the guide to connect the antenna, make sure to change "CE / PKT pin" from 4 to 16. ##### LT8900 From 60c924c3adaf8390ea5e06fe4994c13b432c8fe1 Mon Sep 17 00:00:00 2001 From: Robert Slootjes Date: Fri, 4 Jan 2019 20:40:25 +0100 Subject: [PATCH 005/200] Change default CE pin from 16 to 4 (#371) * Change default CE pin from 16 to 4 * Update README.md * Update README.md Co-Authored-By: slootjes --- README.md | 4 ++-- lib/Settings/Settings.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dbbf26a0..5a2a1ecd 100644 --- a/README.md +++ b/README.md @@ -49,11 +49,11 @@ Both modules are SPI devices and should be connected to the standard SPI pins on ##### NRF24L01+ -[This guide](https://www.mysensors.org/build/connect_radio#nrf24l01+-&-esp8266) details how to connect an NRF24 to an ESP8266. By default GPIO 16 for CE and GPIO 15 for CSN are used, but these can be configured later. When following the guide to connect the antenna, make sure to change "CE / PKT pin" from 4 to 16. +[This guide](https://www.mysensors.org/build/connect_radio#nrf24l01+-&-esp8266) details how to connect an NRF24 to an ESP8266. By default GPIO 4 for CE and GPIO 15 for CSN are used, but these can be configured later. ##### LT8900 -Connect SPI pins (CS, SCK, MOSI, MISO) to appropriate SPI pins on the ESP8266. With default settings, connect RST to GPIO 0, and PKT to GPIO 16. +Connect SPI pins (CE, SCK, MOSI, MISO) to appropriate SPI pins on the ESP8266. With default settings, connect RST to GPIO 0, PKT to GPIO 16, CE to GPIO 4, and CSN to GPIO 15. Make sure to properly configure these if using non-default pinouts. #### Setting up the ESP diff --git a/lib/Settings/Settings.h b/lib/Settings/Settings.h index 9aad3a0b..4e4cdd48 100644 --- a/lib/Settings/Settings.h +++ b/lib/Settings/Settings.h @@ -72,7 +72,7 @@ class Settings { adminUsername(""), adminPassword(""), // CE and CSN pins from nrf24l01 - cePin(16), + cePin(4), csnPin(15), resetPin(0), ledPin(-2), From 2a7ff6d0e7f5e7acff7ace32402aba7eca6b3ea4 Mon Sep 17 00:00:00 2001 From: Chris Mullins Date: Sat, 5 Jan 2019 17:03:25 -0700 Subject: [PATCH 006/200] Fix radio config endpoint (#373) * Use correct constant for number of remote configs * rename route: /radio_configs -> /remote_configs, as this is what is being listed. radio configs are lower level. --- README.md | 2 +- lib/WebServer/MiLightHttpServer.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5a2a1ecd..4922a1f2 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ If you want to wire up your own LED on a pin, such as on D2/GPIO4, put a wire fr 1. `POST /firmware`. OTA firmware update. 1. `GET /settings`. Gets current settings as JSON. 1. `PUT /settings`. Patches settings (e.g., doesn't overwrite keys that aren't present). Accepts a JSON blob in the body. -1. `GET /radio_configs`. Get a list of supported radio configs (aka `device_type`s). +1. `GET /remote_configs`. Get a list of supported remote configs (aka `device_type`s). 1. `GET /gateway_traffic(/:device_type)?`. Starts an HTTP long poll. Returns any Milight traffic it hears. Useful if you need to know what your Milight gateway/remote ID is. Since protocols for RGBW/CCT are different, specify one of `rgbw`, `cct`, or `rgb_cct` as `:device_type. The path `/gateway_traffic` without a `:device_type` will sniff for all protocols simultaneously. 1. `PUT /gateways/:device_id/:device_type/:group_id`. Controls or sends commands to `:group_id` from `:device_id`. Accepts a JSON blob. The schema is documented below in the _Bulb commands_ section. 1. `GET /gateways/:device_id/:device_type/:group_id`. Returns a JSON blob describing the state of the the provided group. diff --git a/lib/WebServer/MiLightHttpServer.cpp b/lib/WebServer/MiLightHttpServer.cpp index eec94f4d..72238e87 100644 --- a/lib/WebServer/MiLightHttpServer.cpp +++ b/lib/WebServer/MiLightHttpServer.cpp @@ -18,7 +18,7 @@ void MiLightHttpServer::begin() { server.onAuthenticated("/settings", HTTP_GET, [this]() { serveSettings(); }); server.onAuthenticated("/settings", HTTP_PUT, [this]() { handleUpdateSettings(); }); server.onAuthenticated("/settings", HTTP_POST, [this]() { handleUpdateSettingsPost(); }, handleUpdateFile(SETTINGS_FILE)); - server.onAuthenticated("/radio_configs", HTTP_GET, [this]() { handleGetRadioConfigs(); }); + server.onAuthenticated("/remote_configs", HTTP_GET, [this]() { handleGetRadioConfigs(); }); server.onAuthenticated("/gateway_traffic", HTTP_GET, [this]() { handleListenGateway(NULL); }); server.onPatternAuthenticated("/gateway_traffic/:type", HTTP_GET, [this](const UrlTokenBindings* b) { handleListenGateway(b); }); @@ -133,7 +133,7 @@ void MiLightHttpServer::handleGetRadioConfigs() { DynamicJsonBuffer buffer; JsonArray& arr = buffer.createArray(); - for (size_t i = 0; i < MiLightRadioConfig::NUM_CONFIGS; i++) { + for (size_t i = 0; i < MiLightRemoteConfig::NUM_REMOTES; i++) { const MiLightRemoteConfig* config = MiLightRemoteConfig::ALL_REMOTES[i]; arr.add(config->name); } From 0a17b586a5e5371599cc4fc6e4b196a1bf2abb20 Mon Sep 17 00:00:00 2001 From: Christopher Mullins Date: Sat, 12 Jan 2019 13:19:45 -0800 Subject: [PATCH 007/200] add oh_color field to support colorRGB channel type for OpenHAB --- README.md | 1 + dist/index.html.gz.h | 4 ++-- lib/MiLightState/GroupState.cpp | 22 ++++++++++++++++++++++ lib/MiLightState/GroupState.h | 2 ++ lib/Types/GroupStateField.h | 6 ++++-- web/src/js/script.js | 3 ++- 6 files changed, 33 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4922a1f2..bb616ad0 100644 --- a/README.md +++ b/README.md @@ -259,6 +259,7 @@ You can select which fields should be included in state updates by configuring t 1. `kelvin / color_temp` - [0, 100] and [153, 370] scales for the same value. The later's unit is mireds. 1. `bulb_mode` - what mode the bulb is in: white, rgb, etc. 1. `color` / `computed_color` - behaves the same when bulb is in rgb mode. `computed_color` will send RGB = 255,255,255 when in white mode. This is useful for HomeAssistant where it always expects the color to be set. +1. `oh_color` - same as `color` with a format compatible with [OpenHAB's colorRGB channel type](https://www.openhab.org/addons/bindings/mqtt.generic/#channel-type-colorrgb-colorhsb). 1. `device_id` / `device_type` / `group_id` - this information is in the MQTT topic or REST route, but can be included in the payload in the case that processing the topic or route is more difficult. ## UDP Gateways diff --git a/dist/index.html.gz.h b/dist/index.html.gz.h index 5a0d10cc..a843bff8 100644 --- a/dist/index.html.gz.h +++ b/dist/index.html.gz.h @@ -1,2 +1,2 @@ -#define index_html_gz_len 9623 -static const char index_html_gz[] PROGMEM = {31,139,8,0,0,0,0,0,0,3,221,125,107,123,219,54,147,232,247,243,43,96,166,111,44,214,20,37,219,177,227,72,166,178,105,226,180,57,155,139,55,118,218,221,199,235,227,7,146,32,139,9,69,114,73,202,151,117,245,223,207,204,224,66,144,162,108,37,77,187,221,183,23,155,36,192,153,193,96,238,0,225,195,141,113,50,42,110,83,193,166,197,44,26,28,226,79,22,241,248,50,112,68,236,192,189,224,227,193,225,76,20,156,141,166,60,203,69,17,56,243,98,210,62,128,182,34,44,34,49,120,23,190,13,47,167,5,251,101,62,60,236,200,71,135,81,24,127,97,153,136,2,39,47,110,35,145,79,133,40,28,54,205,196,36,112,166,69,145,230,189,78,103,198,111,70,227,216,31,38,73,145,23,25,79,241,102,148,204,58,230,65,103,215,223,245,159,118,70,121,94,62,243,103,33,244,202,115,71,225,168,130,188,12,11,132,2,191,166,243,161,31,38,229,123,237,34,185,188,140,68,103,199,135,127,171,32,85,147,129,188,68,119,35,42,192,243,57,247,71,81,50,31,79,34,158,9,34,157,127,230,55,157,40,28,218,208,243,40,28,139,172,243,204,127,234,119,107,136,101,211,247,69,156,139,72,140,138,240,191,133,255,57,239,116,253,237,29,255,9,97,45,159,27,252,187,127,218,144,9,87,103,187,196,94,111,187,15,51,201,90,204,103,34,112,174,66,113,157,38,25,136,206,40,137,11,17,131,236,93,135,227,98,26,140,197,85,56,18,109,186,241,194,56,44,66,30,181,243,17,143,68,176,13,32,54,218,237,179,112,194,162,130,189,57,98,207,206,7,255,135,193,63,135,249,40,11,211,130,229,217,104,237,49,161,54,236,229,211,240,10,100,241,169,191,91,222,3,119,1,79,71,130,68,248,135,27,103,34,30,135,147,243,118,123,112,72,227,25,248,168,59,34,107,103,201,245,221,48,201,240,114,152,20,69,50,235,109,167,55,44,79,96,246,217,163,209,104,180,136,248,80,68,119,227,48,79,35,126,219,27,70,201,232,203,194,207,248,56,76,218,73,90,132,73,124,151,242,241,56,140,47,123,93,182,151,222,244,71,243,44,79,178,94,154,132,192,148,108,129,52,207,120,60,110,15,231,0,61,206,239,162,48,47,218,68,67,47,78,98,209,159,241,236,50,140,123,221,190,1,179,244,14,139,66,67,64,24,195,228,139,54,209,161,222,109,103,168,226,189,109,49,235,39,87,34,155,68,201,117,143,207,139,100,225,79,146,108,214,134,153,201,110,239,52,26,214,101,59,93,24,97,215,110,101,242,26,231,49,75,162,59,154,185,222,78,87,204,42,157,170,156,176,9,145,76,130,241,20,45,95,100,89,146,185,76,254,110,135,241,36,49,175,224,120,23,118,195,40,137,128,85,153,24,247,39,128,186,157,131,6,244,252,167,136,182,236,212,27,10,160,65,220,41,33,235,109,182,54,43,205,124,2,108,46,91,93,104,85,83,59,44,98,61,108,28,242,194,191,228,133,184,230,183,109,96,52,53,2,167,120,209,35,238,45,30,41,8,204,31,103,73,58,78,174,97,94,147,60,196,9,238,41,25,174,113,119,249,141,246,76,196,115,123,178,36,115,30,129,110,77,38,225,168,157,199,225,100,82,229,198,35,122,38,198,109,213,7,8,190,105,79,5,77,232,94,215,154,209,246,173,154,83,141,236,190,233,240,99,126,53,228,217,221,144,143,190,92,102,201,28,68,73,177,250,114,200,91,79,182,61,252,111,207,243,159,185,27,225,12,117,152,199,69,95,105,1,138,246,60,71,41,148,64,218,195,12,68,209,171,220,245,166,72,150,154,190,71,147,201,100,225,3,63,193,124,0,75,198,28,164,109,9,49,118,82,24,234,10,230,75,210,87,140,228,122,26,22,162,93,136,89,218,78,195,209,23,192,170,184,179,3,204,41,209,244,240,29,32,239,18,201,135,73,105,21,9,163,137,245,30,241,253,241,246,100,194,186,30,210,192,246,186,255,192,11,222,237,118,217,118,183,251,15,183,223,168,89,90,25,119,165,170,76,231,162,1,189,212,19,132,210,175,217,135,178,63,8,105,220,244,22,152,195,81,11,95,101,109,182,43,102,43,200,168,26,147,181,198,11,218,36,199,10,227,219,247,247,247,247,159,194,128,187,112,183,11,30,27,254,161,59,197,135,110,119,194,246,77,167,9,220,29,232,78,8,134,248,35,7,115,197,35,248,169,104,188,91,158,72,96,167,182,70,145,152,20,61,127,207,140,20,199,108,13,191,121,154,211,104,158,183,193,239,192,79,28,96,122,87,209,53,155,211,163,8,198,221,3,91,61,173,51,189,14,131,73,243,217,155,132,25,152,220,100,210,198,72,170,106,236,165,233,52,50,175,117,160,72,210,122,139,180,21,56,182,117,209,70,124,37,86,4,211,136,180,218,240,16,34,159,2,58,13,91,241,8,5,86,131,84,186,7,90,166,159,72,199,67,147,102,100,28,188,22,211,255,63,5,15,102,60,146,154,181,221,39,240,144,38,75,61,216,246,159,60,187,135,33,147,80,68,99,232,27,165,205,94,171,180,245,219,254,14,202,73,93,112,192,82,71,183,233,52,4,107,226,231,41,40,16,80,121,199,227,112,198,201,28,227,35,182,157,51,48,255,104,153,5,147,186,208,111,95,139,225,151,176,104,87,123,238,52,116,93,96,168,80,218,119,8,115,160,255,21,248,98,160,66,143,17,100,109,49,76,198,218,115,234,232,96,167,139,174,100,2,33,147,165,213,244,236,95,102,98,28,114,150,196,209,45,131,208,67,136,152,129,169,100,45,4,74,115,195,122,187,232,135,220,187,38,176,123,8,98,29,24,79,14,86,194,232,174,11,227,233,254,193,10,24,219,123,7,107,194,120,246,108,103,21,140,237,125,132,225,207,146,49,4,126,216,129,249,57,198,183,73,220,174,72,236,114,192,37,132,208,98,169,91,125,48,26,202,77,178,82,46,218,100,135,148,124,239,79,246,27,122,228,160,80,198,69,237,239,47,230,145,207,37,17,171,66,49,43,2,171,246,92,21,128,53,244,163,32,72,153,156,209,52,140,198,238,221,146,120,255,203,23,113,59,201,32,136,206,25,74,232,221,36,75,102,119,16,0,196,57,70,91,61,10,149,91,219,46,203,146,2,34,150,86,215,93,20,201,61,237,187,251,221,177,184,116,97,214,180,6,84,225,239,72,4,186,177,4,84,129,191,178,217,128,135,136,154,66,231,195,142,204,59,113,102,7,141,129,59,198,232,254,101,146,64,230,198,211,48,175,197,237,159,255,107,46,178,91,8,218,33,7,81,55,148,114,84,162,246,70,184,235,102,165,159,235,73,233,195,160,215,205,78,63,175,72,78,31,198,240,64,54,3,78,93,100,249,8,66,93,76,14,183,253,3,200,104,202,103,237,239,130,99,69,226,219,152,244,254,97,100,77,201,46,92,229,16,108,130,93,0,125,179,122,124,239,209,85,114,220,207,43,82,220,70,132,178,186,82,136,155,162,243,153,95,113,249,212,25,76,230,49,105,58,131,8,250,52,249,37,143,90,220,19,94,230,222,241,78,176,179,183,231,9,249,43,163,95,253,43,158,177,220,43,188,81,240,142,23,83,31,196,86,117,247,166,234,73,24,235,39,113,208,26,109,77,221,206,78,63,156,180,70,65,48,117,243,160,8,186,125,17,229,226,14,1,13,131,81,123,218,207,175,65,64,167,173,34,136,7,254,222,243,97,167,181,211,134,199,110,15,174,240,117,111,228,222,141,120,46,24,239,229,65,75,180,51,183,51,220,106,137,195,236,249,126,175,235,246,135,153,224,16,77,98,7,129,29,178,54,199,14,59,118,67,134,13,188,45,176,225,201,34,239,4,251,139,76,20,243,44,190,155,246,114,47,239,21,30,100,120,139,133,225,196,199,159,127,42,146,95,78,126,213,156,216,14,130,0,44,221,28,146,160,34,247,35,17,95,22,211,199,143,91,34,224,254,165,151,193,207,161,199,225,103,230,106,246,44,49,103,180,196,156,105,0,86,20,88,212,5,216,197,243,110,111,218,41,188,97,80,116,144,201,154,35,106,224,35,32,191,107,143,7,57,1,140,216,154,254,104,248,224,225,168,126,156,214,217,1,220,216,218,249,113,218,208,138,60,1,150,108,61,49,173,85,158,196,222,85,111,72,150,113,45,41,194,129,127,122,255,230,244,226,248,197,199,23,239,78,130,59,24,234,187,16,66,237,28,28,239,174,7,172,80,119,187,79,187,120,247,19,5,161,177,200,115,8,16,246,22,222,167,55,23,167,47,126,58,9,206,238,10,126,217,115,10,62,4,111,60,9,29,111,146,65,18,48,142,110,123,206,111,120,191,240,202,14,57,208,155,218,61,78,232,129,221,37,18,99,187,195,219,163,87,149,102,42,118,216,29,62,210,3,187,203,236,191,138,194,238,241,238,223,78,79,157,197,57,18,252,250,205,209,219,87,134,100,62,134,33,95,204,115,145,97,17,201,126,229,5,182,176,178,5,227,199,158,243,73,221,51,240,72,44,2,115,11,254,25,162,57,200,118,138,105,152,51,240,89,41,191,132,222,24,100,247,28,80,113,104,135,59,62,180,184,163,9,149,184,83,158,231,215,16,127,216,184,143,205,51,137,85,223,127,15,172,35,113,1,62,216,198,246,242,136,117,216,241,191,158,50,122,174,48,194,216,65,167,142,78,142,15,118,246,247,145,13,18,249,230,203,163,77,214,194,171,247,31,95,239,60,121,219,221,102,148,10,78,248,72,184,12,59,0,32,213,99,243,248,45,132,94,79,59,111,79,15,158,117,187,155,86,199,149,148,230,21,89,24,229,241,18,173,39,239,215,35,243,228,253,230,154,88,50,1,247,117,60,31,143,78,142,214,99,8,245,92,23,23,72,118,29,19,72,119,29,15,204,43,192,39,240,216,10,30,170,152,231,76,5,124,172,213,13,224,146,15,1,150,219,103,177,184,164,92,1,184,11,25,106,142,33,86,120,25,243,136,181,50,129,101,59,192,194,218,59,4,11,227,194,132,131,20,1,208,117,167,32,133,12,31,184,147,137,84,240,34,175,202,40,182,48,211,34,201,63,157,10,22,207,103,67,1,232,38,172,8,49,230,195,82,0,245,98,31,95,51,9,16,168,196,74,21,180,12,231,209,48,95,73,76,86,209,108,244,187,138,148,11,144,163,34,201,108,130,126,57,61,61,214,136,116,171,36,234,221,60,42,194,52,10,71,146,83,178,17,103,179,58,58,98,82,38,32,0,204,11,76,209,176,200,86,192,52,15,111,65,205,4,35,248,47,142,223,248,236,211,43,186,96,64,52,192,140,32,39,1,94,11,0,13,147,52,151,120,132,30,168,7,169,4,155,65,196,164,57,197,242,105,50,143,0,170,40,133,8,65,175,105,51,230,69,2,244,130,72,100,32,179,34,11,147,138,225,120,1,205,109,213,204,116,179,100,2,54,97,26,170,9,150,125,112,96,178,62,206,4,200,207,173,53,121,152,217,23,20,178,139,17,144,32,198,48,112,144,202,46,81,172,37,112,77,49,130,238,35,172,160,220,94,80,133,222,162,248,149,110,97,178,69,153,89,224,48,222,163,132,96,86,4,249,158,194,170,59,43,49,130,140,156,189,18,19,14,51,76,130,134,227,201,209,62,211,219,196,96,152,62,189,234,36,71,10,115,242,228,224,224,217,51,61,30,120,77,13,103,189,57,64,231,114,1,126,0,8,169,251,24,166,31,203,97,188,2,142,163,221,200,216,155,99,6,201,28,112,61,71,214,82,215,97,150,124,129,216,150,125,160,170,61,205,138,100,245,45,227,146,124,8,40,166,172,37,110,248,44,141,192,186,206,110,241,61,245,218,8,19,213,131,131,39,43,73,38,23,88,33,25,242,207,112,4,254,166,0,51,28,47,81,78,173,204,180,106,199,67,183,196,252,178,87,110,77,11,78,192,145,164,176,7,207,128,203,121,167,39,249,124,17,142,205,37,18,217,233,81,153,8,30,251,236,68,8,246,241,232,197,171,119,71,4,123,50,207,96,230,96,130,69,193,195,104,181,61,88,30,212,60,29,131,182,61,48,54,217,233,254,33,194,144,210,249,16,70,53,101,214,59,185,207,142,149,168,21,83,48,44,156,20,153,148,29,84,23,210,88,150,40,194,149,100,97,89,34,173,191,65,198,142,122,147,191,86,10,119,29,70,17,42,34,200,46,195,80,67,34,4,195,128,222,29,95,249,10,54,160,143,120,136,11,212,231,107,230,217,230,137,126,217,103,191,77,177,250,194,100,201,111,52,133,200,18,141,4,54,123,164,126,147,57,12,235,75,140,75,2,242,37,116,4,240,92,190,64,131,6,219,167,224,2,23,117,20,83,35,108,125,9,104,8,222,228,12,66,3,171,7,111,244,128,228,55,193,16,10,175,42,138,187,54,218,166,184,141,32,165,171,130,55,131,244,91,112,146,39,188,48,33,20,41,212,82,12,92,134,88,76,182,75,10,32,233,100,63,255,242,223,140,96,128,51,26,139,8,204,14,214,210,228,244,73,254,135,19,118,155,204,105,230,240,98,19,228,54,78,208,134,162,56,242,216,4,124,27,154,224,102,146,86,248,110,105,46,154,2,137,183,210,144,212,2,137,55,241,8,210,30,194,45,169,147,247,24,78,128,44,241,89,50,7,149,82,33,6,218,77,184,147,40,240,13,20,99,165,132,104,106,200,141,216,118,190,236,106,188,7,3,28,187,254,122,14,64,42,219,36,154,231,83,57,252,43,30,85,50,26,18,123,106,103,101,187,138,69,32,174,152,205,103,21,63,27,1,57,180,84,133,202,95,92,99,117,147,94,38,59,160,244,14,158,240,124,218,60,26,152,79,136,11,209,242,132,51,42,148,22,2,230,22,220,127,14,195,172,65,88,211,97,91,70,37,195,31,81,56,11,151,50,42,5,26,59,48,213,225,171,6,105,219,89,236,132,177,160,130,217,26,91,78,125,175,219,93,29,175,86,180,164,18,208,93,20,211,44,41,138,72,224,133,128,176,43,26,175,12,96,153,238,203,172,190,114,48,47,229,42,116,206,166,160,24,105,37,234,37,227,174,223,4,175,102,124,5,25,124,114,223,17,186,124,18,82,61,106,144,95,244,3,60,150,130,77,43,89,172,5,166,200,230,145,43,13,229,136,99,34,80,67,138,81,179,133,150,225,234,43,224,126,151,16,49,85,184,4,5,84,69,143,110,158,66,79,59,96,218,233,118,103,235,198,223,43,184,11,131,197,133,139,171,176,184,93,131,191,149,222,95,205,225,95,32,194,0,137,162,193,229,21,246,44,243,5,188,13,234,4,45,78,79,56,40,124,86,21,171,174,199,102,252,134,4,85,50,107,187,219,133,103,93,173,87,249,106,161,187,143,47,51,41,252,171,89,97,58,52,140,126,194,51,61,2,212,254,17,204,230,88,72,203,71,134,175,212,40,9,76,148,209,70,101,108,187,235,210,46,67,50,101,209,112,161,172,98,155,127,38,159,45,85,82,183,74,170,79,168,110,153,179,235,105,56,154,170,54,43,181,1,115,29,205,199,64,93,168,212,92,194,208,202,142,243,2,137,243,41,134,63,105,18,163,89,71,155,93,26,0,77,125,19,121,205,170,47,98,156,179,11,174,211,156,11,244,115,23,178,40,71,12,40,71,117,68,93,153,233,74,46,145,89,93,229,16,95,3,69,31,127,254,233,183,223,100,146,202,90,210,21,194,163,173,151,47,79,49,170,127,253,233,180,123,240,204,245,152,68,158,91,32,13,52,163,247,136,4,253,24,163,197,38,156,36,62,153,0,15,77,12,133,129,144,152,129,217,134,116,31,164,30,121,148,227,37,173,29,2,163,49,218,198,96,243,26,140,4,11,193,190,16,179,209,71,67,120,241,69,115,236,65,62,172,114,208,98,44,187,162,171,187,0,35,52,9,47,235,117,10,226,211,120,142,2,197,176,27,211,221,36,195,76,23,162,213,74,45,201,127,179,23,163,17,26,195,99,220,60,160,250,113,176,4,232,225,19,5,9,199,77,21,67,53,24,77,148,69,53,38,157,205,52,79,32,117,88,170,28,90,4,17,197,178,147,194,24,3,251,31,36,126,202,243,229,183,116,174,73,48,99,152,97,107,6,214,37,58,161,169,174,201,102,149,12,171,203,90,44,206,231,196,99,12,193,33,199,159,211,74,245,215,146,37,237,73,35,77,166,100,146,175,67,79,142,123,220,96,118,169,170,130,41,19,222,152,247,191,133,40,16,203,121,92,33,237,53,198,52,108,36,163,193,37,234,222,215,43,81,64,31,82,76,94,145,194,33,73,183,54,161,232,108,72,27,45,182,45,217,79,162,239,220,251,249,227,135,79,199,23,39,167,47,78,143,46,254,245,232,63,78,130,51,71,89,46,71,22,236,224,98,104,234,229,112,19,137,43,1,97,160,51,157,83,31,163,217,112,67,171,194,240,91,114,194,249,34,162,171,208,60,191,64,163,128,192,192,8,41,94,65,195,44,157,131,241,191,208,111,10,50,37,112,97,82,111,184,214,233,118,249,152,66,244,115,15,120,112,241,238,195,171,35,36,250,195,100,2,237,39,17,56,31,185,124,8,119,175,193,91,150,119,212,6,217,90,170,91,244,117,68,59,138,224,234,67,12,64,63,189,58,190,56,254,248,225,244,195,203,15,111,47,126,61,250,120,242,230,195,123,64,176,231,237,159,123,175,142,94,191,248,244,246,244,162,236,99,186,4,123,158,89,119,243,104,209,28,216,29,108,108,227,242,147,227,108,4,81,50,34,54,249,211,36,47,48,121,115,105,21,234,90,12,79,18,156,181,32,22,215,236,55,125,215,114,174,113,101,206,217,90,122,109,203,233,29,108,59,110,223,188,232,39,49,200,68,206,47,69,160,215,144,90,0,28,208,106,42,36,166,34,16,62,120,45,222,255,161,229,212,183,199,57,174,159,162,35,142,199,45,231,16,174,6,206,86,177,229,28,118,232,210,93,44,22,4,32,249,69,220,84,112,200,53,27,167,123,227,108,9,191,72,78,72,196,90,219,251,46,220,124,74,65,231,95,130,191,111,185,11,15,151,243,175,196,167,44,42,95,151,68,137,0,169,145,179,250,102,204,228,206,207,158,100,36,200,167,235,67,68,211,114,189,130,186,145,28,64,47,95,130,3,67,1,194,3,125,112,84,45,135,98,31,199,245,120,112,41,138,151,243,44,131,216,245,29,136,89,203,149,83,16,4,194,197,144,228,218,121,55,135,201,23,152,208,104,45,127,243,202,193,78,6,137,218,130,106,96,131,83,135,235,60,141,66,152,25,15,46,85,92,144,183,184,251,251,239,173,34,232,186,158,131,171,202,192,110,32,59,8,80,64,81,93,151,49,202,242,1,34,84,220,235,168,237,147,57,204,54,204,46,252,228,244,179,88,120,213,129,216,188,147,239,50,36,152,204,86,20,42,166,212,217,177,240,100,172,66,17,80,112,225,235,176,178,101,207,35,110,100,253,193,199,21,223,214,221,60,139,122,102,186,128,245,51,81,76,147,49,196,126,159,78,29,15,65,247,254,239,201,135,247,190,52,39,225,228,22,222,247,212,142,205,83,50,52,60,85,37,234,36,238,124,206,209,46,40,107,222,179,81,130,117,26,71,130,50,204,79,68,32,60,92,44,220,5,188,40,23,31,121,36,178,2,46,22,11,111,91,236,186,30,90,225,151,114,255,238,170,97,168,33,56,157,252,22,162,100,8,76,239,12,241,31,78,190,149,122,160,73,18,160,166,233,132,138,29,31,147,107,75,19,188,194,227,82,158,195,192,57,44,178,1,72,211,22,94,141,7,142,7,87,155,135,36,170,106,131,183,150,246,252,236,220,97,35,176,222,121,224,216,251,132,29,25,198,7,206,38,200,195,166,211,25,108,122,4,173,163,193,173,2,140,197,214,53,128,22,15,2,29,135,87,26,6,238,63,37,145,117,24,178,79,109,205,128,231,114,103,142,51,216,236,3,154,22,142,61,14,186,253,248,176,209,124,170,101,235,126,188,181,37,249,148,4,141,253,206,226,115,47,15,120,16,36,191,255,158,4,193,61,230,246,241,227,141,102,76,150,102,246,105,48,180,159,215,26,14,171,108,169,221,220,106,229,207,29,166,148,167,231,56,46,112,71,50,71,51,23,117,57,144,85,34,71,239,209,199,154,4,12,31,153,141,17,42,250,177,72,20,208,146,128,27,146,156,50,252,78,0,34,147,120,70,83,1,38,123,44,241,56,3,230,108,37,106,26,136,202,129,163,150,193,153,124,8,243,48,104,158,33,201,254,250,168,198,24,128,99,148,50,75,174,68,91,111,203,86,229,57,51,40,253,150,217,210,197,202,205,93,242,85,220,191,17,26,9,145,184,52,13,22,57,29,148,244,133,23,37,124,124,34,10,12,239,114,219,70,129,113,82,187,66,228,175,54,46,69,161,25,165,59,185,141,23,12,76,163,115,124,252,248,7,31,172,31,42,43,234,179,130,14,17,83,213,195,125,24,126,70,248,95,196,109,14,79,112,83,253,17,7,243,97,122,21,82,218,56,184,143,205,71,26,138,244,27,103,114,38,165,58,156,111,186,125,174,132,116,208,125,252,184,165,166,27,183,94,248,188,40,178,150,67,33,135,251,156,251,147,48,2,59,222,218,60,43,181,244,172,56,151,64,252,17,198,18,45,183,199,201,113,97,131,235,46,92,15,60,175,142,103,114,128,94,110,208,161,93,183,114,229,36,111,85,251,45,143,6,198,92,190,201,199,99,249,94,235,14,247,67,244,200,59,163,57,35,178,122,98,129,120,203,238,153,152,96,61,200,160,66,92,203,73,169,142,20,128,93,242,85,197,165,134,244,21,89,86,84,231,210,161,250,96,35,220,5,76,150,240,155,114,179,85,40,27,243,184,123,144,54,194,110,66,43,115,160,245,208,170,84,108,109,180,10,118,13,173,201,126,30,68,90,230,73,235,160,44,225,214,16,202,60,224,65,108,42,67,90,7,149,130,184,208,218,4,113,82,197,186,180,37,195,115,80,111,220,3,12,225,150,219,23,250,195,16,53,27,32,249,75,143,26,133,28,84,46,165,88,180,238,114,91,74,200,207,186,231,32,191,103,219,231,240,99,135,52,12,189,116,206,175,196,207,242,141,151,18,122,115,180,137,201,207,124,156,106,251,8,52,67,124,9,129,58,180,201,136,210,3,83,34,13,225,75,180,148,45,135,62,139,113,228,6,43,178,37,182,5,177,221,249,249,38,190,59,227,169,53,158,50,52,248,1,124,146,12,104,251,218,204,231,239,249,251,86,232,62,135,16,114,163,235,81,7,80,236,42,90,47,134,52,216,237,133,160,207,97,29,185,118,249,127,54,226,24,17,87,226,238,179,37,79,216,72,67,97,197,170,69,61,54,165,200,124,3,186,232,16,34,9,206,48,0,232,246,243,67,109,142,251,57,196,12,201,89,126,30,156,113,248,233,133,248,35,134,31,231,253,50,222,51,254,193,68,124,52,143,15,196,165,77,241,224,93,77,64,123,9,9,215,194,211,211,124,132,188,169,100,65,226,121,171,76,98,218,225,184,77,190,220,105,98,104,67,63,251,139,46,173,61,194,117,123,205,32,155,196,82,135,248,152,35,40,251,190,44,248,245,156,136,82,170,77,157,60,156,85,35,22,12,59,207,25,223,84,228,184,168,26,146,2,79,103,28,14,250,186,36,23,57,36,68,230,219,41,199,85,111,20,52,84,220,169,46,202,84,170,34,25,24,30,96,125,255,225,12,75,184,207,117,215,124,10,54,0,89,35,111,43,204,48,233,207,52,196,241,161,65,72,241,211,221,95,165,128,86,102,76,167,195,51,74,54,58,173,255,28,111,185,255,233,219,191,90,237,150,255,163,235,62,239,104,141,185,155,241,207,73,214,43,208,232,204,194,152,46,119,206,1,5,64,128,203,221,115,47,131,201,66,76,112,183,135,13,160,152,189,51,234,79,61,169,15,54,157,131,48,129,250,137,107,145,45,211,230,153,136,197,38,30,221,122,88,125,82,24,85,230,62,225,26,132,242,247,194,147,169,213,75,12,53,95,39,153,204,174,26,36,2,149,27,164,128,126,113,187,25,116,18,31,110,4,24,133,193,116,143,164,220,180,149,170,27,33,245,213,131,45,135,181,176,0,0,96,67,30,23,91,142,171,76,199,70,80,72,8,17,82,96,0,48,31,101,29,55,211,3,40,81,49,254,154,182,226,172,42,29,212,247,220,67,219,107,63,78,65,238,192,44,115,35,32,248,0,247,184,150,50,162,244,105,161,41,130,49,41,210,40,64,93,34,77,213,188,74,55,230,45,247,210,186,42,197,81,122,133,62,15,170,147,218,42,252,130,95,94,160,149,244,12,171,220,231,14,244,97,26,27,191,130,120,1,203,220,27,144,17,252,135,92,171,78,100,249,113,6,129,48,149,27,227,66,119,247,165,246,105,34,242,57,36,195,217,173,38,149,75,66,194,160,240,65,31,112,197,88,5,170,118,48,172,68,166,240,145,44,152,134,177,184,249,128,145,131,154,58,119,35,104,111,163,85,182,66,97,68,57,9,179,217,53,207,68,27,63,144,118,20,155,29,252,80,26,50,1,112,198,254,48,75,174,33,16,184,64,35,128,233,192,197,60,139,208,104,134,53,209,6,163,154,39,17,196,21,201,165,202,188,205,45,4,23,253,6,105,243,30,152,33,43,159,209,159,52,177,230,196,134,226,95,149,217,184,247,113,242,254,73,151,230,197,51,190,135,15,19,116,53,119,75,69,14,24,46,8,178,199,177,254,133,113,225,60,19,228,74,245,155,230,163,142,52,212,159,71,224,190,251,76,164,73,222,201,195,113,50,237,136,60,197,93,154,23,179,144,118,36,93,64,31,104,143,104,255,64,71,146,215,132,25,43,58,129,88,194,172,45,131,85,116,169,87,12,5,113,151,244,190,18,102,40,158,99,134,35,231,94,39,178,158,243,225,61,86,214,228,123,110,249,9,201,41,213,9,90,16,29,193,109,130,188,173,55,97,6,66,101,95,109,143,205,39,0,234,185,159,233,30,254,165,185,26,98,129,207,108,145,191,191,103,191,62,138,178,86,141,35,145,31,101,96,146,90,252,74,1,137,183,221,237,254,200,253,220,85,14,245,24,77,186,184,126,137,224,240,115,157,31,11,127,74,125,32,90,86,191,35,21,122,151,21,110,29,115,97,123,165,161,109,237,80,247,205,6,117,183,211,170,60,215,91,213,87,244,174,15,201,90,104,91,49,166,80,81,88,214,240,37,133,113,96,63,251,17,191,153,237,212,40,41,183,201,47,225,149,139,0,205,24,99,212,252,101,14,46,213,203,10,170,156,2,94,152,82,184,228,193,94,87,134,13,75,31,198,98,176,1,62,222,250,252,153,32,246,156,41,72,11,85,77,61,42,88,255,195,163,226,233,63,92,170,218,225,135,106,39,186,16,223,152,9,80,21,28,28,136,85,174,71,2,194,229,12,160,250,249,91,37,182,171,126,59,39,109,71,158,242,152,128,72,131,114,66,123,84,53,45,14,209,6,79,190,150,184,238,131,196,41,102,53,17,39,233,110,36,46,73,45,218,200,244,85,190,172,55,158,14,13,116,181,190,83,57,176,193,209,229,143,134,32,47,5,65,104,45,25,143,141,46,230,0,114,200,192,250,162,49,72,195,79,2,254,189,173,1,37,147,9,72,26,128,194,207,254,192,20,20,157,214,246,143,186,145,62,161,196,218,70,40,191,120,33,81,33,205,5,239,216,160,211,161,107,87,199,91,119,32,120,100,40,251,90,10,237,111,205,49,130,77,112,39,46,248,184,114,136,28,173,60,204,76,225,227,134,100,162,3,100,123,161,250,206,211,86,213,31,108,108,235,38,240,26,43,219,112,110,171,40,30,63,174,35,32,77,145,202,231,24,45,148,79,51,126,221,150,227,194,41,161,85,249,229,16,235,110,1,252,150,83,49,76,110,192,134,107,38,86,202,93,250,97,8,178,212,211,243,86,70,87,50,167,20,103,213,119,105,175,162,123,14,206,207,230,174,208,68,155,83,56,138,70,145,169,204,136,234,219,171,198,125,234,169,67,137,191,100,4,85,252,87,129,180,214,14,214,6,169,245,175,14,13,19,62,18,103,8,82,212,6,36,96,187,86,210,231,182,209,129,84,165,162,231,45,13,186,162,94,109,202,163,26,201,174,192,106,84,76,157,236,96,35,126,55,10,143,224,85,135,64,129,81,124,132,71,114,168,10,13,242,198,123,96,24,118,64,230,76,67,101,13,86,150,122,86,149,105,28,64,237,184,122,180,42,199,92,151,149,152,107,134,24,234,42,203,193,49,28,4,165,110,78,247,76,191,210,230,153,166,165,180,216,31,66,200,43,251,223,195,52,191,185,126,238,53,152,53,147,2,23,153,73,206,17,178,89,19,225,65,183,207,15,159,245,249,214,150,107,50,226,50,93,214,28,220,60,140,194,193,33,87,103,15,61,82,43,8,212,217,36,229,156,22,38,208,191,29,118,56,132,177,240,134,67,153,121,211,16,42,120,128,249,140,87,231,94,37,2,21,93,195,119,106,90,81,82,224,200,50,246,210,108,161,209,242,106,193,1,213,7,206,61,251,145,244,16,16,65,122,102,177,119,115,217,54,153,165,72,93,250,183,23,34,31,92,61,212,139,135,208,190,176,107,223,149,37,102,179,254,0,13,96,11,50,220,123,214,3,251,157,39,89,241,26,107,213,61,250,188,208,241,146,88,10,205,139,241,184,87,77,98,10,95,206,9,229,227,111,240,140,16,249,0,220,186,132,247,154,18,175,94,3,191,77,201,225,255,181,186,55,103,188,61,121,209,126,221,109,63,59,191,219,246,158,44,126,63,83,151,123,11,247,135,142,251,188,101,16,64,170,212,61,196,212,85,28,6,251,123,123,187,123,207,91,149,114,84,107,99,219,69,103,218,171,61,150,235,206,67,220,131,69,27,120,113,113,72,111,227,234,222,116,241,172,22,220,157,213,189,121,13,255,56,56,153,238,247,128,81,229,190,185,194,68,209,220,168,100,117,243,112,110,214,230,98,126,197,224,255,118,193,135,185,195,194,113,224,208,94,222,83,188,29,108,122,113,160,53,187,175,190,215,108,44,30,203,53,63,147,20,110,110,197,168,55,165,110,109,226,86,5,126,137,107,114,149,5,77,192,138,234,37,124,189,41,199,214,51,68,238,96,253,85,2,183,192,45,21,147,27,160,126,122,117,108,64,233,69,181,121,212,176,216,138,192,84,205,178,50,98,134,187,104,30,28,116,13,16,68,121,248,141,24,216,94,201,3,226,104,57,122,9,223,41,63,37,109,92,61,131,212,1,235,24,67,76,241,224,61,93,156,170,32,43,143,178,194,213,96,142,195,195,133,75,199,227,229,242,43,244,161,181,54,131,28,46,109,70,171,229,79,8,163,112,199,211,227,199,45,94,27,81,121,248,137,226,48,94,182,81,85,37,92,188,165,137,166,69,83,72,240,185,89,65,5,123,216,184,197,31,191,125,246,241,234,121,29,153,181,232,141,76,107,124,123,197,114,248,3,203,205,122,161,121,208,180,182,140,184,226,108,178,243,68,47,51,55,35,110,88,112,86,78,34,198,79,27,28,214,25,48,186,210,108,125,128,166,213,196,68,5,126,241,250,173,212,200,239,101,137,156,202,23,180,134,44,57,85,141,155,99,205,212,72,65,144,102,195,20,122,172,165,42,102,175,45,179,149,171,149,108,38,191,157,20,32,246,245,29,111,205,107,80,40,62,210,107,13,40,195,60,236,232,187,133,22,46,137,26,188,176,181,255,239,15,17,110,43,72,185,185,237,59,208,135,247,15,109,168,53,148,223,167,10,15,1,249,147,180,66,161,173,35,147,92,123,144,166,213,34,90,100,16,217,160,128,202,173,212,127,88,97,212,142,251,239,79,232,132,71,185,164,244,149,68,81,87,162,234,102,21,10,97,154,183,1,213,37,13,119,2,217,182,18,92,9,95,72,87,167,159,105,199,183,142,131,89,242,135,210,227,45,167,17,121,155,206,49,98,214,113,70,86,8,173,22,158,108,42,42,215,148,160,233,85,191,114,243,98,232,214,91,242,249,112,22,22,173,165,58,103,83,218,209,176,50,236,79,121,94,75,43,220,229,117,102,204,129,245,177,34,114,171,162,77,129,200,66,30,65,200,243,34,203,248,109,11,199,56,158,143,68,109,145,84,250,85,113,38,75,243,231,102,113,231,57,189,5,249,183,124,155,227,14,148,116,158,79,77,208,217,51,239,4,103,220,83,79,207,173,167,234,145,39,22,222,221,2,87,250,203,45,38,193,5,45,202,81,2,173,3,51,45,41,204,215,85,157,166,196,225,7,220,110,83,91,204,197,37,69,31,4,15,39,226,110,217,6,247,206,206,23,94,97,85,206,191,227,170,109,129,209,191,181,39,82,131,150,50,70,149,27,248,141,41,45,174,92,234,164,101,41,179,69,77,105,150,25,5,187,105,234,155,178,162,149,226,190,146,20,235,116,183,149,171,98,208,237,48,164,5,140,230,26,159,181,220,65,31,255,211,218,70,120,137,121,102,145,36,232,255,90,119,105,4,174,27,143,146,129,60,39,73,33,224,194,131,195,106,89,159,9,173,28,185,57,146,135,49,164,51,50,207,92,96,202,169,50,110,153,187,234,186,206,35,245,81,76,165,8,211,184,22,233,86,182,140,181,26,18,117,204,161,203,195,95,48,49,40,115,132,33,22,175,229,161,153,234,172,8,176,199,150,105,50,20,87,31,171,87,228,25,166,208,164,118,208,73,123,41,111,156,90,95,181,115,188,234,211,70,73,20,241,52,55,143,121,118,137,199,67,235,115,60,77,243,224,16,235,172,198,243,103,109,60,244,205,25,200,197,15,28,64,120,73,82,13,195,132,126,3,86,233,78,115,8,224,232,32,165,63,222,108,246,240,49,72,92,170,99,164,115,71,245,41,213,29,167,122,176,53,87,238,165,202,94,57,64,182,60,224,165,84,14,219,225,23,157,172,108,229,76,70,241,171,156,149,10,82,101,107,93,147,7,90,106,76,66,85,3,77,117,49,153,60,210,229,224,254,253,142,84,48,39,149,146,44,28,84,75,245,134,127,37,50,13,205,20,113,44,236,116,18,142,83,239,209,44,71,230,125,6,198,214,18,65,92,137,109,131,215,73,147,116,158,234,8,133,30,138,27,160,101,44,198,58,26,24,200,163,125,42,83,63,226,25,157,39,109,209,93,206,74,229,60,221,250,164,16,237,109,121,238,222,90,51,83,121,65,79,207,11,121,91,97,152,28,95,46,82,158,113,60,205,196,144,19,94,133,82,23,151,231,145,74,205,170,136,173,138,1,182,121,89,131,60,221,93,17,70,38,136,62,206,83,70,104,133,0,25,148,235,98,104,155,197,113,133,73,194,103,175,213,227,21,120,112,41,107,105,83,117,35,26,217,179,93,87,132,159,232,113,9,29,43,10,246,149,220,59,44,127,130,14,174,48,145,196,89,83,114,176,251,224,103,11,117,197,111,231,179,246,174,137,230,41,167,55,117,53,25,255,214,54,44,13,94,169,239,43,198,85,49,181,182,60,149,178,170,2,90,149,50,149,224,16,56,185,45,252,154,89,0,206,35,250,144,98,58,31,226,103,20,3,147,231,52,218,42,36,249,73,117,32,246,174,36,66,83,249,228,67,114,159,198,54,26,21,94,118,57,188,198,31,23,120,51,153,23,221,131,103,244,235,217,118,149,15,234,219,20,103,64,197,84,51,152,213,153,148,126,225,79,200,152,170,37,215,135,54,168,111,131,66,202,133,157,192,172,204,13,216,246,31,202,133,190,142,130,29,192,183,243,23,226,3,17,102,187,127,33,62,144,63,182,110,49,134,85,164,179,148,69,41,122,223,131,154,61,160,102,239,111,67,205,62,80,179,255,183,161,230,41,80,243,244,111,67,205,1,80,115,240,23,202,105,23,240,189,136,162,106,105,161,242,179,217,182,90,102,144,106,96,131,143,144,197,131,11,196,12,174,201,18,90,161,211,138,239,88,212,89,38,75,17,84,53,90,111,142,167,20,61,3,76,39,74,167,114,79,140,164,98,227,149,129,18,153,107,57,48,12,103,108,142,161,119,176,3,64,24,250,207,63,253,86,137,126,236,238,224,67,170,189,95,190,60,93,217,89,57,29,19,46,25,139,95,197,182,245,0,140,165,23,86,118,54,130,107,245,151,39,3,176,14,251,233,224,222,247,200,29,214,222,123,182,141,239,237,212,67,148,251,132,106,85,208,177,189,115,143,11,47,85,175,226,172,225,183,103,134,180,46,142,233,222,224,151,57,136,13,252,254,90,26,247,107,41,95,185,127,100,101,131,218,88,210,156,197,45,239,130,42,69,86,253,90,98,229,10,146,87,179,203,10,107,190,142,75,39,102,47,221,55,51,75,218,43,157,32,211,6,22,102,109,93,97,75,155,246,36,233,178,39,30,220,140,22,171,250,140,223,64,60,211,173,61,213,113,14,60,255,54,62,41,105,106,12,1,191,130,101,180,231,136,157,150,59,246,190,153,115,214,211,165,191,227,177,54,99,237,173,131,127,14,103,191,78,189,129,23,229,134,195,111,98,13,129,89,111,240,114,255,226,247,30,246,87,9,3,237,55,250,3,3,45,221,85,237,207,26,169,204,222,14,7,204,54,47,86,217,207,107,240,88,252,169,46,95,43,191,187,156,32,72,139,222,172,59,76,158,229,191,210,50,27,123,131,32,238,171,195,45,199,92,246,222,49,9,94,61,161,205,2,23,164,13,206,224,55,252,85,58,118,233,124,136,185,235,98,196,212,244,62,100,49,237,199,150,65,193,123,188,174,97,91,123,100,114,239,246,125,168,82,30,102,15,151,177,230,185,42,99,29,67,247,111,36,70,125,62,124,15,45,243,120,29,106,236,143,136,217,39,122,165,62,25,24,9,164,240,59,189,95,142,191,70,190,148,60,89,175,212,255,176,203,3,85,223,122,244,137,215,234,156,170,251,166,7,55,148,38,243,92,9,67,197,133,55,49,135,232,105,170,204,218,47,82,85,222,81,33,172,138,13,254,56,233,140,190,54,158,132,55,75,210,44,110,138,117,233,215,162,86,11,158,109,35,165,177,212,188,65,169,133,223,193,108,252,117,233,4,78,194,253,69,214,7,18,8,86,221,244,87,141,131,191,141,41,77,101,169,255,33,249,151,107,216,169,16,227,11,53,188,239,169,1,39,8,248,59,170,192,61,212,19,127,254,10,233,95,74,131,240,109,42,9,54,174,24,90,66,193,35,90,111,215,75,6,227,144,71,201,229,146,153,228,81,123,117,75,99,173,87,54,173,181,52,38,55,43,75,46,66,94,50,11,205,251,206,224,49,157,78,213,47,217,50,221,169,98,80,147,170,86,80,153,220,48,140,33,208,78,179,18,232,125,1,15,6,69,204,14,140,112,21,183,129,159,114,117,119,112,88,208,161,121,229,62,6,164,232,176,144,127,122,167,200,240,210,84,173,95,29,118,224,14,159,224,65,222,199,73,86,152,7,199,89,130,181,148,136,169,207,253,76,67,185,194,86,247,241,181,63,147,40,235,10,181,13,218,107,251,121,153,85,35,62,60,133,3,175,228,0,232,207,66,53,12,94,111,218,198,174,242,15,12,117,104,236,240,27,249,242,80,50,105,102,103,240,56,30,230,105,191,38,185,181,197,137,127,62,145,45,151,29,215,146,213,101,46,173,19,209,147,224,202,5,53,218,4,110,115,182,86,223,147,91,20,86,133,147,102,219,208,137,236,246,181,147,108,74,78,120,6,19,163,159,237,107,158,209,199,149,242,142,254,76,151,218,241,83,249,36,97,173,169,88,122,77,125,3,209,48,29,79,6,167,178,35,83,71,150,177,22,29,74,139,123,142,245,1,230,46,204,202,19,75,24,107,103,155,173,26,100,185,168,88,95,195,251,231,147,223,165,69,201,175,50,185,13,114,224,96,252,254,74,125,238,203,52,255,216,48,140,121,22,226,49,168,242,148,120,193,76,85,208,250,139,96,250,91,215,135,191,114,5,103,17,22,191,204,135,76,63,96,248,57,24,26,63,159,149,75,186,156,197,214,87,213,67,72,19,113,243,9,157,217,40,191,166,118,150,150,127,29,245,231,36,125,202,65,224,191,225,224,29,255,34,88,62,207,228,9,181,52,146,91,125,130,248,60,197,113,210,121,161,156,178,181,148,14,210,68,128,208,35,99,244,7,73,54,96,26,6,134,199,242,220,228,48,198,206,188,8,135,116,102,176,58,129,104,68,71,158,170,109,67,140,190,140,245,217,155,137,60,241,120,74,27,107,114,15,198,44,207,118,36,114,232,47,158,16,200,79,39,63,73,170,229,252,85,172,70,71,207,132,195,228,158,42,60,34,36,7,67,33,226,145,20,46,185,17,150,103,5,153,132,54,74,85,205,182,76,194,200,212,73,232,26,249,163,13,90,218,108,135,84,89,225,126,171,84,51,67,75,130,39,255,250,227,215,69,169,43,244,226,37,234,140,149,116,222,99,235,236,189,5,255,220,234,191,174,214,35,71,234,223,198,235,247,166,25,25,101,117,150,72,25,253,216,6,184,126,96,68,157,219,213,15,235,29,2,248,150,158,45,195,211,133,60,89,176,186,31,146,222,80,32,215,124,12,168,229,5,40,115,254,132,228,42,92,97,36,40,15,107,48,56,228,107,31,165,221,97,175,136,127,235,129,50,127,19,226,130,23,43,192,189,79,104,11,138,130,151,102,226,62,120,106,106,232,52,78,138,46,202,24,179,214,29,191,175,13,228,193,12,214,251,184,151,22,79,100,112,6,191,134,96,39,65,208,164,81,173,110,240,106,132,138,76,174,158,254,80,26,253,234,14,151,135,163,137,255,105,37,111,222,72,243,191,88,217,31,14,67,15,167,187,70,131,236,191,20,171,183,15,49,43,174,221,45,23,240,58,214,14,61,53,219,101,36,234,211,54,220,250,76,165,89,40,237,196,18,224,170,140,173,36,232,35,40,50,158,252,95,165,168,234,220,74,178,190,202,185,165,15,250,55,21,3,252,17,207,150,54,6,217,127,35,241,111,218,175,247,191,88,248,87,120,58,185,39,210,108,67,124,216,225,149,69,187,234,223,28,174,46,79,52,87,202,73,4,102,204,250,248,188,86,94,82,127,158,76,74,55,207,238,89,37,248,70,4,84,109,170,28,145,8,98,1,143,232,244,121,38,247,168,55,213,222,255,54,210,217,81,197,8,244,81,131,255,15,187,172,205,17,152,135,0,0}; \ No newline at end of file +#define index_html_gz_len 9628 +static const char index_html_gz[] PROGMEM = {31,139,8,0,0,0,0,0,0,3,221,125,107,123,219,54,147,232,247,243,43,96,166,111,44,214,20,37,219,177,227,72,166,178,105,226,180,57,155,139,55,118,218,221,199,235,227,7,146,32,139,9,69,114,73,202,151,117,245,223,207,204,224,66,144,162,108,37,77,187,221,183,23,155,36,192,153,193,96,238,0,225,195,141,113,50,42,110,83,193,166,197,44,26,28,226,79,22,241,248,50,112,68,236,192,189,224,227,193,225,76,20,156,141,166,60,203,69,17,56,243,98,210,62,128,182,34,44,34,49,120,23,190,13,47,167,5,251,101,62,60,236,200,71,135,81,24,127,97,153,136,2,39,47,110,35,145,79,133,40,28,54,205,196,36,112,166,69,145,230,189,78,103,198,111,70,227,216,31,38,73,145,23,25,79,241,102,148,204,58,230,65,103,215,223,245,159,118,70,121,94,62,243,103,33,244,202,115,71,225,168,130,188,12,11,132,2,191,166,243,161,31,38,229,123,237,34,185,188,140,68,103,199,135,127,171,32,85,147,129,188,68,119,35,42,192,243,57,247,71,81,50,31,79,34,158,9,34,157,127,230,55,157,40,28,218,208,243,40,28,139,172,243,204,127,234,119,107,136,101,211,247,69,156,139,72,140,138,240,191,133,255,57,239,116,253,237,29,255,9,97,45,159,27,252,187,127,218,144,9,87,103,187,196,94,111,187,15,51,201,90,204,103,34,112,174,66,113,157,38,25,136,206,40,137,11,17,131,236,93,135,227,98,26,140,197,85,56,18,109,186,241,194,56,44,66,30,181,243,17,143,68,176,13,32,54,218,237,179,112,194,162,130,189,57,98,207,206,7,255,135,193,63,135,249,40,11,211,130,229,217,104,237,49,161,54,236,229,211,240,10,100,241,169,191,91,222,3,119,1,79,71,130,68,248,135,27,103,34,30,135,147,243,118,123,112,72,227,25,248,168,59,34,107,103,201,245,221,48,201,240,114,152,20,69,50,235,109,167,55,44,79,96,246,217,163,209,104,180,136,248,80,68,119,227,48,79,35,126,219,27,70,201,232,203,194,207,248,56,76,218,73,90,132,73,124,151,242,241,56,140,47,123,93,182,151,222,244,71,243,44,79,178,94,154,132,192,148,108,129,52,207,120,60,110,15,231,0,61,206,239,162,48,47,218,68,67,47,78,98,209,159,241,236,50,140,123,221,190,1,179,244,14,139,66,67,64,24,195,228,139,54,209,161,222,109,103,168,226,189,109,49,235,39,87,34,155,68,201,117,143,207,139,100,225,79,146,108,214,134,153,201,110,239,52,26,214,101,59,93,24,97,215,110,101,242,26,231,49,75,162,59,154,185,222,78,87,204,42,157,170,156,176,9,145,76,130,241,20,45,95,100,89,146,185,76,254,110,135,241,36,49,175,224,120,23,118,195,40,137,128,85,153,24,247,39,128,186,157,131,6,244,252,167,136,182,236,212,27,10,160,65,220,41,33,235,109,182,54,43,205,124,2,108,46,91,93,104,85,83,59,44,98,61,108,28,242,194,191,228,133,184,230,183,109,96,52,53,2,167,120,209,35,238,45,30,41,8,204,31,103,73,58,78,174,97,94,147,60,196,9,238,41,25,174,113,119,249,141,246,76,196,115,123,178,36,115,30,129,110,77,38,225,168,157,199,225,100,82,229,198,35,122,38,198,109,213,7,8,190,105,79,5,77,232,94,215,154,209,246,173,154,83,141,236,190,233,240,99,126,53,228,217,221,144,143,190,92,102,201,28,68,73,177,250,114,200,91,79,182,61,252,111,207,243,159,185,27,225,12,117,152,199,69,95,105,1,138,246,60,71,41,148,64,218,195,12,68,209,171,220,245,166,72,150,154,190,71,147,201,100,225,3,63,193,124,0,75,198,28,164,109,9,49,118,82,24,234,10,230,75,210,87,140,228,122,26,22,162,93,136,89,218,78,195,209,23,192,170,184,179,3,204,41,209,244,240,29,32,239,18,201,135,73,105,21,9,163,137,245,30,241,253,241,246,100,194,186,30,210,192,246,186,255,192,11,222,237,118,217,118,183,251,15,183,223,168,89,90,25,119,165,170,76,231,162,1,189,212,19,132,210,175,217,135,178,63,8,105,220,244,22,152,195,81,11,95,101,109,182,43,102,43,200,168,26,147,181,198,11,218,36,199,10,227,219,247,247,247,247,159,194,128,187,112,183,11,30,27,254,161,59,197,135,110,119,194,246,77,167,9,220,29,232,78,8,134,248,35,7,115,197,35,248,169,104,188,91,158,72,96,167,182,70,145,152,20,61,127,207,140,20,199,108,13,191,121,154,211,104,158,183,193,239,192,79,28,96,122,87,209,53,155,211,163,8,198,221,3,91,61,173,51,189,14,131,73,243,217,155,132,25,152,220,100,210,198,72,170,106,236,165,233,52,50,175,117,160,72,210,122,139,180,21,56,182,117,209,70,124,37,86,4,211,136,180,218,240,16,34,159,2,58,13,91,241,8,5,86,131,84,186,7,90,166,159,72,199,67,147,102,100,28,188,22,211,255,63,5,15,102,60,146,154,181,221,39,240,144,38,75,61,216,246,159,60,187,135,33,147,80,68,99,232,27,165,205,94,171,180,245,219,254,14,202,73,93,112,192,82,71,183,233,52,4,107,226,231,41,40,16,80,121,199,227,112,198,201,28,227,35,182,157,51,48,255,104,153,5,147,186,208,111,95,139,225,151,176,104,87,123,238,52,116,93,96,168,80,218,119,8,115,160,255,21,248,98,160,66,143,17,100,109,49,76,198,218,115,234,232,96,167,139,174,100,2,33,147,165,213,244,236,95,102,98,28,114,150,196,209,45,131,208,67,136,152,129,169,100,45,4,74,115,195,122,187,232,135,220,187,38,176,123,8,98,29,24,79,14,86,194,232,174,11,227,233,254,193,10,24,219,123,7,107,194,120,246,108,103,21,140,237,125,132,225,207,146,49,4,126,216,129,249,57,198,183,73,220,174,72,236,114,192,37,132,208,98,169,91,125,48,26,202,77,178,82,46,218,100,135,148,124,239,79,246,27,122,228,160,80,198,69,237,239,47,230,145,207,37,17,171,66,49,43,2,171,246,92,21,128,53,244,163,32,72,153,156,209,52,140,198,238,221,146,120,255,203,23,113,59,201,32,136,206,25,74,232,221,36,75,102,119,16,0,196,57,70,91,61,10,149,91,219,46,203,146,2,34,150,86,215,93,20,201,61,237,187,251,221,177,184,116,97,214,180,6,84,225,239,72,4,186,177,4,84,129,191,178,217,128,135,136,154,66,231,195,142,204,59,113,102,7,141,129,59,198,232,254,101,146,64,230,198,211,48,175,197,237,159,255,107,46,178,91,8,218,33,7,81,55,148,114,84,162,246,70,184,235,102,165,159,235,73,233,195,160,215,205,78,63,175,72,78,31,198,240,64,54,3,78,93,100,249,8,66,93,76,14,183,253,3,200,104,202,103,237,239,130,99,69,226,219,152,244,254,97,100,77,201,46,92,229,16,108,130,93,0,125,179,122,124,239,209,85,114,220,207,43,82,220,70,132,178,186,82,136,155,162,243,153,95,113,249,212,25,76,230,49,105,58,131,8,250,52,249,37,143,90,220,19,94,230,222,241,78,176,179,183,231,9,249,43,163,95,253,43,158,177,220,43,188,81,240,142,23,83,31,196,86,117,247,166,234,73,24,235,39,113,208,26,109,77,221,206,78,63,156,180,70,65,48,117,243,160,8,186,125,17,229,226,14,1,13,131,81,123,218,207,175,65,64,167,173,34,136,7,254,222,243,97,167,181,211,134,199,110,15,174,240,117,111,228,222,141,120,46,24,239,229,65,75,180,51,183,51,220,106,137,195,236,249,126,175,235,246,135,153,224,16,77,98,7,129,29,178,54,199,14,59,118,67,134,13,188,45,176,225,201,34,239,4,251,139,76,20,243,44,190,155,246,114,47,239,21,30,100,120,139,133,225,196,199,159,127,42,146,95,78,126,213,156,216,14,130,0,44,221,28,146,160,34,247,35,17,95,22,211,199,143,91,34,224,254,165,151,193,207,161,199,225,103,230,106,246,44,49,103,180,196,156,105,0,86,20,88,212,5,216,197,243,110,111,218,41,188,97,80,116,144,201,154,35,106,224,35,32,191,107,143,7,57,1,140,216,154,254,104,248,224,225,168,126,156,214,217,1,220,216,218,249,113,218,208,138,60,1,150,108,61,49,173,85,158,196,222,85,111,72,150,113,45,41,194,129,127,122,255,230,244,226,248,197,199,23,239,78,130,59,24,234,187,16,66,237,28,28,239,174,7,172,80,119,187,79,187,120,247,19,5,161,177,200,115,8,16,246,22,222,167,55,23,167,47,126,58,9,206,238,10,126,217,115,10,62,4,111,60,9,29,111,146,65,18,48,142,110,123,206,111,120,191,240,202,14,57,208,155,218,61,78,232,129,221,37,18,99,187,195,219,163,87,149,102,42,118,216,29,62,210,3,187,203,236,191,138,194,238,241,238,223,78,79,157,197,57,18,252,250,205,209,219,87,134,100,62,134,33,95,204,115,145,97,17,201,126,229,5,182,176,178,5,227,199,158,243,73,221,51,240,72,44,2,115,11,254,25,162,57,200,118,138,105,152,51,240,89,41,191,132,222,24,100,247,28,80,113,104,135,59,62,180,184,163,9,149,184,83,158,231,215,16,127,216,184,143,205,51,137,85,223,127,15,172,35,113,1,62,216,198,246,242,136,117,216,241,191,158,50,122,174,48,194,216,65,167,142,78,142,15,118,246,247,145,13,18,249,230,203,163,77,214,194,171,247,31,95,239,60,121,219,221,102,148,10,78,248,72,184,12,59,0,32,213,99,243,248,45,132,94,79,59,111,79,15,158,117,187,155,86,199,149,148,230,21,89,24,229,241,18,173,39,239,215,35,243,228,253,230,154,88,50,1,247,117,60,31,143,78,142,214,99,8,245,92,23,23,72,118,29,19,72,119,29,15,204,43,192,39,240,216,10,30,170,152,231,76,5,124,172,213,13,224,146,15,1,150,219,103,177,184,164,92,1,184,11,25,106,142,33,86,120,25,243,136,181,50,129,101,59,192,194,218,59,4,11,227,194,132,131,20,1,208,117,167,32,133,12,31,184,147,137,84,240,34,175,202,40,182,48,211,34,201,63,157,10,22,207,103,67,1,232,38,172,8,49,230,195,82,0,245,98,31,95,51,9,16,168,196,74,21,180,12,231,209,48,95,73,76,86,209,108,244,187,138,148,11,144,163,34,201,108,130,126,57,61,61,214,136,116,171,36,234,221,60,42,194,52,10,71,146,83,178,17,103,179,58,58,98,82,38,32,0,204,11,76,209,176,200,86,192,52,15,111,65,205,4,35,248,47,142,223,248,236,211,43,186,96,64,52,192,140,32,39,1,94,11,0,13,147,52,151,120,132,30,168,7,169,4,155,65,196,164,57,197,242,105,50,143,0,170,40,133,8,65,175,105,51,230,69,2,244,130,72,100,32,179,34,11,147,138,225,120,1,205,109,213,204,116,179,100,2,54,97,26,170,9,150,125,112,96,178,62,206,4,200,207,173,53,121,152,217,23,20,178,139,17,144,32,198,48,112,144,202,46,81,172,37,112,77,49,130,238,35,172,160,220,94,80,133,222,162,248,149,110,97,178,69,153,89,224,48,222,163,132,96,86,4,249,158,194,170,59,43,49,130,140,156,189,18,19,14,51,76,130,134,227,201,209,62,211,219,196,96,152,62,189,234,36,71,10,115,242,228,224,224,217,51,61,30,120,77,13,103,189,57,64,231,114,1,126,0,8,169,251,24,166,31,203,97,188,2,142,163,221,200,216,155,99,6,201,28,112,61,71,214,82,215,97,150,124,129,216,150,125,160,170,61,205,138,100,245,45,227,146,124,8,40,166,172,37,110,248,44,141,192,186,206,110,241,61,245,218,8,19,213,131,131,39,43,73,38,23,88,33,25,242,207,112,4,254,166,0,51,28,47,81,78,173,204,180,106,199,67,183,196,252,178,87,110,77,11,78,192,145,164,176,7,207,128,203,121,167,39,249,124,17,142,205,37,18,217,233,81,153,8,30,251,236,68,8,246,241,232,197,171,119,71,4,123,50,207,96,230,96,130,69,193,195,104,181,61,88,30,212,60,29,131,182,61,48,54,217,233,254,33,194,144,210,249,16,70,53,101,214,59,185,207,142,149,168,21,83,48,44,156,20,153,148,29,84,23,210,88,150,40,194,149,100,97,89,34,173,191,65,198,142,122,147,191,86,10,119,29,70,17,42,34,200,46,195,80,67,34,4,195,128,222,29,95,249,10,54,160,143,120,136,11,212,231,107,230,217,230,137,126,217,103,191,77,177,250,194,100,201,111,52,133,200,18,141,4,54,123,164,126,147,57,12,235,75,140,75,2,242,37,116,4,240,92,190,64,131,6,219,167,224,2,23,117,20,83,35,108,125,9,104,8,222,228,12,66,3,171,7,111,244,128,228,55,193,16,10,175,42,138,187,54,218,166,184,141,32,165,171,130,55,131,244,91,112,146,39,188,48,33,20,41,212,82,12,92,134,88,76,182,75,10,32,233,100,63,255,242,223,140,96,128,51,26,139,8,204,14,214,210,228,244,73,254,135,19,118,155,204,105,230,240,98,19,228,54,78,208,134,162,56,242,216,4,124,27,154,224,102,146,86,248,110,105,46,154,2,137,183,210,144,212,2,137,55,241,8,210,30,194,45,169,147,247,24,78,128,44,241,89,50,7,149,82,33,6,218,77,184,147,40,240,13,20,99,165,132,104,106,200,141,216,118,190,236,106,188,7,3,28,187,254,122,14,64,42,219,36,154,231,83,57,252,43,30,85,50,26,18,123,106,103,101,187,138,69,32,174,152,205,103,21,63,27,1,57,180,84,133,202,95,92,99,117,147,94,38,59,160,244,14,158,240,124,218,60,26,152,79,136,11,209,242,132,51,42,148,22,2,230,22,220,127,14,195,172,65,88,211,97,91,70,37,195,31,81,56,11,151,50,42,5,26,59,48,213,225,171,6,105,219,89,236,132,177,160,130,217,26,91,78,125,175,219,93,29,175,86,180,164,18,208,93,20,211,44,41,138,72,224,133,128,176,43,26,175,12,96,153,238,203,172,190,114,48,47,229,42,116,206,166,160,24,105,37,234,37,227,174,223,4,175,102,124,5,25,124,114,223,17,186,124,18,82,61,106,144,95,244,3,60,150,130,77,43,89,172,5,166,200,230,145,43,13,229,136,99,34,80,67,138,81,179,133,150,225,234,43,224,126,151,16,49,85,184,4,5,84,69,143,110,158,66,79,59,96,218,233,118,103,235,198,223,43,184,11,131,197,133,139,171,176,184,93,131,191,149,222,95,205,225,95,32,194,0,137,162,193,229,21,246,44,243,5,188,13,234,4,45,78,79,56,40,124,86,21,171,174,199,102,252,134,4,85,50,107,187,219,133,103,93,173,87,249,106,161,187,143,47,51,41,252,171,89,97,58,52,140,126,194,51,61,2,212,254,17,204,230,88,72,203,71,134,175,212,40,9,76,148,209,70,101,108,187,235,210,46,67,50,101,209,112,161,172,98,155,127,38,159,45,85,82,183,74,170,79,168,110,153,179,235,105,56,154,170,54,43,181,1,115,29,205,199,64,93,168,212,92,194,208,202,142,243,2,137,243,41,134,63,105,18,163,89,71,155,93,26,0,77,125,19,121,205,170,47,98,156,179,11,174,211,156,11,244,115,23,178,40,71,12,40,71,117,68,93,153,233,74,46,145,89,93,229,16,95,3,69,31,127,254,233,183,223,100,146,202,90,210,21,194,163,173,151,47,79,49,170,127,253,233,180,123,240,204,245,152,68,158,91,32,13,52,163,247,136,4,253,24,163,197,38,156,36,62,153,0,15,77,12,133,129,144,152,129,217,134,116,31,164,30,121,148,227,37,173,29,2,163,49,218,198,96,243,26,140,4,11,193,190,16,179,209,71,67,120,241,69,115,236,65,62,172,114,208,98,44,187,162,171,187,0,35,52,9,47,235,117,10,226,211,120,142,2,197,176,27,211,221,36,195,76,23,162,213,74,45,201,127,179,23,163,17,26,195,99,220,60,160,250,113,176,4,232,225,19,5,9,199,77,21,67,53,24,77,148,69,53,38,157,205,52,79,32,117,88,170,28,90,4,17,197,178,147,194,24,3,251,31,36,126,202,243,229,183,116,174,73,48,99,152,97,107,6,214,37,58,161,169,174,201,102,149,12,171,203,90,44,206,231,196,99,12,193,33,199,159,211,74,245,215,146,37,237,73,35,77,166,100,146,175,67,79,142,123,220,96,118,169,170,130,41,19,222,152,247,191,133,40,16,203,121,92,33,237,53,198,52,108,36,163,193,37,234,222,215,43,81,64,31,82,76,94,145,194,33,73,183,54,161,232,108,72,27,45,182,45,217,79,162,239,220,251,249,227,135,79,199,23,39,167,47,78,143,46,254,245,232,63,78,130,51,71,89,46,71,22,236,224,98,104,234,229,112,19,137,43,1,97,160,51,157,83,31,163,217,112,67,171,194,240,91,114,194,249,34,162,171,208,60,191,64,163,128,192,192,8,41,94,65,195,44,157,131,241,191,208,111,10,50,37,112,97,82,111,184,214,233,118,249,88,134,232,78,50,85,47,158,123,192,142,139,119,31,94,29,33,253,31,38,19,104,60,137,192,15,201,149,68,184,123,13,142,179,188,163,54,72,220,82,221,162,175,35,218,92,4,87,31,98,0,250,233,213,241,197,241,199,15,167,31,94,126,120,123,241,235,209,199,147,55,31,222,3,130,61,111,255,220,123,117,244,250,197,167,183,167,23,101,31,211,37,216,243,204,18,156,71,235,231,192,249,96,99,27,87,162,28,103,35,136,146,17,113,204,159,38,121,129,121,156,75,11,82,215,98,120,146,224,4,6,177,184,102,191,233,187,150,115,141,139,116,206,214,210,107,91,78,239,96,219,113,251,230,69,63,137,65,60,114,126,41,2,189,156,212,2,224,128,86,83,33,49,21,129,240,193,129,241,254,15,45,167,190,83,206,113,253,20,125,114,60,110,57,135,112,53,112,182,138,45,231,176,67,151,238,98,177,32,0,201,47,226,166,130,67,46,223,56,221,27,103,75,248,69,114,66,210,214,218,222,119,225,230,83,10,234,255,18,92,127,203,93,120,184,178,127,37,62,101,81,249,186,36,74,4,72,141,156,224,55,99,38,55,129,246,36,35,65,84,93,31,130,155,150,235,21,212,141,68,2,122,249,18,28,216,12,144,35,232,131,163,106,57,20,6,57,174,199,131,75,81,188,156,103,25,132,177,239,64,226,90,174,156,130,32,16,46,70,39,215,206,187,57,76,190,192,220,70,43,252,155,87,14,118,50,72,212,110,84,3,27,252,59,92,231,105,20,194,204,120,112,169,66,132,188,197,221,223,127,111,21,65,215,245,28,92,96,6,118,3,217,65,128,178,138,154,187,140,81,86,18,16,161,226,94,71,237,164,204,97,182,97,118,225,39,167,159,197,194,171,14,196,230,157,124,151,33,193,100,193,162,80,49,165,206,142,133,39,195,22,10,134,130,11,95,71,152,45,123,30,113,79,235,15,62,46,254,182,238,230,89,212,51,211,5,172,159,137,98,154,140,33,12,252,116,234,120,8,186,247,127,79,62,188,247,165,101,9,39,183,240,190,167,54,111,158,146,205,225,169,170,86,39,113,231,115,142,38,66,25,246,158,141,18,12,213,56,18,148,108,126,34,2,225,225,98,225,46,224,69,185,14,201,35,145,21,112,177,88,120,219,98,215,245,208,32,191,148,91,121,87,13,67,13,193,233,228,183,16,48,67,140,122,103,136,255,112,242,173,212,3,77,146,0,53,77,39,84,247,248,152,92,91,154,224,21,30,151,242,28,6,206,97,145,13,64,154,182,240,106,60,112,60,184,218,60,36,81,85,123,189,181,180,231,103,231,14,27,129,33,207,3,199,222,50,236,200,136,62,112,54,65,30,54,157,206,96,211,35,104,29,13,110,21,96,172,187,174,1,180,120,16,232,56,188,210,48,112,43,42,137,172,195,144,125,106,151,6,60,151,155,116,156,193,102,31,208,180,112,236,113,208,237,199,135,141,230,83,173,96,247,227,173,45,201,167,36,104,236,119,22,159,123,121,192,131,32,249,253,247,36,8,238,49,183,143,31,111,52,99,178,52,179,79,131,161,173,189,214,112,88,101,119,237,230,86,43,127,238,48,165,60,61,199,113,129,59,146,57,154,185,168,203,129,44,24,57,122,187,62,150,39,96,248,200,108,12,86,209,165,69,162,128,150,4,220,144,228,148,225,119,2,16,153,196,51,154,10,48,217,99,137,199,25,48,103,43,81,211,64,84,14,28,181,34,206,228,67,152,135,65,243,12,73,246,215,71,53,198,88,28,3,150,89,114,37,218,122,135,182,170,212,153,65,233,183,204,238,46,86,238,243,146,175,226,86,142,208,72,136,196,165,105,176,200,233,160,164,47,188,40,225,227,19,81,96,164,151,219,54,10,140,147,218,32,34,127,181,113,85,10,205,40,221,201,29,189,96,96,26,157,227,227,199,63,248,96,253,80,89,81,159,21,116,8,158,170,30,238,195,240,51,194,255,34,110,115,120,130,251,235,143,56,152,15,211,171,144,210,198,193,125,108,62,210,80,164,223,56,147,51,41,213,225,124,211,237,115,37,164,131,238,227,199,45,53,221,184,11,195,231,69,145,181,28,138,62,220,231,220,159,132,17,216,241,214,230,89,169,165,103,197,185,4,226,143,48,150,104,185,61,78,142,11,27,92,119,225,122,224,121,117,104,147,3,244,114,175,14,109,192,149,139,40,121,171,218,111,121,52,48,230,242,77,62,30,203,247,90,119,184,53,162,71,222,25,205,25,145,213,19,11,196,91,118,207,196,4,75,67,6,21,226,90,206,79,117,164,0,236,146,175,42,46,53,100,178,200,178,162,58,151,14,149,10,27,225,46,96,178,132,223,148,166,173,66,217,152,210,221,131,180,17,118,19,90,153,14,173,135,86,101,101,107,163,85,176,107,104,77,34,244,32,210,50,101,90,7,101,9,183,134,80,166,4,15,98,83,201,210,58,168,20,196,133,214,38,136,147,42,214,165,45,25,158,131,122,227,118,96,8,183,220,190,208,223,136,168,217,0,201,95,122,212,40,228,160,114,41,197,162,117,151,219,82,66,126,214,61,7,249,61,219,62,135,31,59,164,97,232,165,115,126,37,126,150,111,188,148,208,155,163,77,204,131,230,227,84,219,71,160,25,226,75,8,212,161,77,70,148,30,152,18,105,8,95,162,165,108,57,244,133,140,35,247,90,145,45,177,45,136,237,206,207,55,241,221,25,79,173,241,148,161,193,15,224,147,100,64,219,215,102,62,127,207,223,183,66,247,57,132,144,27,93,143,58,128,98,87,209,122,49,100,196,110,47,4,125,14,235,200,181,203,255,179,17,199,136,184,18,119,159,45,121,194,70,26,10,43,86,45,234,177,41,69,230,27,208,69,135,16,73,112,134,1,64,183,159,31,106,115,220,207,33,102,72,206,242,243,224,140,195,79,47,196,31,49,252,56,239,151,241,158,241,15,38,226,163,121,124,32,46,109,138,7,239,106,2,218,75,72,184,22,158,158,230,35,228,77,37,11,18,207,91,101,18,211,14,199,109,242,229,78,19,67,27,250,217,31,119,105,237,17,174,219,107,6,217,36,150,58,196,199,28,65,217,247,101,193,175,231,68,148,82,109,234,228,225,172,26,177,96,216,121,206,248,166,34,199,69,213,144,20,120,58,227,112,208,215,37,185,200,33,33,50,159,81,57,174,122,163,160,161,226,166,117,81,166,82,21,201,192,240,0,75,253,15,103,88,194,125,174,187,230,83,176,1,200,26,121,91,97,134,73,127,166,33,142,15,13,66,138,95,241,254,42,5,180,50,99,58,29,158,81,178,209,105,253,231,120,203,253,79,223,254,213,106,183,252,31,93,247,121,71,107,204,221,140,127,78,178,94,129,70,103,22,198,116,185,115,14,40,0,2,92,238,158,123,25,76,22,98,130,187,61,108,0,197,236,157,81,127,234,73,125,176,233,28,132,9,212,79,92,139,108,153,54,207,68,44,54,241,232,214,195,234,147,194,168,50,247,9,215,32,148,191,23,158,76,173,94,98,168,249,58,201,100,118,213,32,17,168,220,32,5,244,139,219,205,160,147,248,112,35,192,40,12,166,123,36,229,166,173,84,221,8,169,175,30,108,57,172,133,5,0,0,27,242,184,216,114,92,101,58,54,130,66,66,136,144,2,3,128,249,40,235,184,175,30,64,137,138,241,215,180,21,103,85,233,160,190,231,30,218,94,251,113,10,114,7,102,153,27,1,193,7,184,221,181,148,17,165,79,11,77,17,140,73,145,70,1,234,18,105,170,252,85,186,49,111,185,151,214,85,41,142,210,43,244,121,80,157,212,86,225,23,252,242,2,173,164,103,88,229,62,119,160,15,211,216,248,21,196,11,88,241,222,128,140,224,63,228,178,117,34,43,145,51,8,132,169,242,24,23,186,187,47,181,79,19,145,207,33,25,206,110,53,169,92,18,18,6,133,15,250,128,139,199,42,80,181,131,97,37,50,133,143,100,193,52,140,197,205,7,140,28,212,212,185,27,65,123,27,173,178,21,10,35,202,73,152,205,174,121,38,218,248,173,180,163,216,236,224,55,211,144,9,128,51,246,135,89,114,13,129,192,5,26,1,76,7,46,230,89,132,70,51,172,137,54,24,213,60,137,32,174,72,46,85,230,109,110,33,184,232,55,72,155,247,192,12,89,249,140,254,186,137,53,39,54,20,255,170,204,198,189,143,147,247,79,186,52,47,158,241,61,124,152,160,171,185,91,42,114,192,112,65,144,61,142,245,47,140,11,231,153,32,87,170,223,52,223,119,164,161,254,82,2,183,224,103,34,77,242,78,30,142,147,105,71,228,41,110,216,188,152,133,180,57,233,2,250,64,123,68,91,9,58,146,188,38,204,88,209,9,196,18,102,109,25,172,162,75,189,98,40,136,187,164,247,149,48,67,241,28,51,28,57,247,58,145,245,156,15,239,177,178,38,223,115,203,175,73,78,169,78,208,130,232,8,110,19,228,109,189,9,51,16,42,228,106,123,108,190,6,80,207,253,76,247,240,47,205,213,16,11,124,102,183,252,253,61,251,245,81,148,101,107,28,137,252,62,3,147,212,226,87,10,72,188,237,110,247,71,238,231,174,114,168,199,104,210,197,245,75,4,135,95,238,252,88,248,83,234,3,209,178,250,29,169,208,187,44,118,235,152,11,219,43,13,109,107,179,186,111,246,170,187,157,86,229,185,222,181,190,162,119,125,72,214,154,219,138,49,133,138,194,178,156,47,41,140,3,251,217,143,248,249,108,167,70,73,185,99,126,9,175,92,15,104,198,24,163,230,47,115,112,169,94,86,80,229,20,240,194,148,194,37,15,246,186,50,108,88,250,70,22,131,13,240,241,214,151,208,4,177,231,76,65,90,168,106,234,81,193,250,31,30,21,79,255,225,82,213,14,191,89,59,209,133,248,198,76,128,170,224,224,64,172,114,61,18,16,46,103,0,213,47,225,42,177,93,245,51,58,105,59,242,148,199,4,68,26,148,19,218,174,170,105,113,136,54,120,242,181,196,117,31,36,78,49,171,137,56,73,119,35,113,73,106,209,70,166,175,242,145,189,241,116,104,160,171,245,157,202,217,13,142,46,127,52,4,121,41,8,66,107,201,120,108,116,49,7,144,67,6,214,23,141,65,26,126,29,240,239,109,13,40,153,76,64,210,0,20,126,1,8,166,160,232,180,182,127,212,141,244,53,37,214,54,66,249,241,11,137,10,105,46,120,199,6,157,14,93,187,58,222,186,3,193,35,67,217,215,82,104,127,118,142,17,108,130,155,114,193,199,149,67,228,104,229,97,102,10,31,247,38,19,29,32,219,11,213,119,158,182,170,254,96,99,91,55,129,215,88,217,134,115,91,69,241,248,113,29,1,105,138,84,62,199,104,161,124,154,241,235,182,28,23,78,9,45,208,47,135,88,119,11,224,183,156,138,97,114,3,54,92,51,177,82,238,210,15,67,144,165,158,158,183,50,186,146,57,165,56,171,190,75,219,22,221,115,112,126,54,119,133,38,218,28,200,81,52,138,76,101,70,84,223,94,53,238,83,79,29,74,252,37,35,168,226,191,10,164,181,118,176,54,72,173,127,117,104,152,240,145,56,67,144,162,246,34,1,219,181,146,62,183,141,14,164,42,21,61,111,105,208,21,245,106,83,30,213,72,118,5,86,163,98,234,100,7,27,241,19,82,120,4,175,58,4,10,140,226,35,60,157,67,85,104,144,55,222,3,195,176,3,50,103,26,42,107,176,178,212,179,170,76,227,0,106,199,213,163,85,57,230,186,172,196,92,51,196,80,87,89,14,142,225,32,40,117,115,186,103,250,149,54,207,52,45,165,197,254,16,66,94,217,255,30,166,249,205,245,115,175,193,172,153,20,184,200,76,114,142,144,205,154,8,15,186,125,126,248,172,207,183,182,92,147,17,151,233,178,230,224,230,97,20,14,14,185,58,134,232,145,90,65,160,206,38,41,231,180,48,129,254,237,176,195,33,140,133,55,28,202,204,155,134,80,193,3,204,103,188,58,247,42,17,168,232,26,190,83,211,138,146,2,71,150,177,151,102,11,141,150,87,11,14,168,62,112,238,217,143,164,135,128,8,210,51,139,189,155,203,182,201,44,69,234,210,191,189,16,249,224,234,161,94,60,132,246,133,93,251,174,44,49,155,245,7,104,0,91,144,225,54,180,30,216,239,60,201,138,215,88,171,238,209,151,134,142,151,196,82,104,94,140,199,189,106,18,83,248,114,78,40,31,127,131,199,133,200,7,224,214,37,188,215,148,120,245,26,248,109,74,14,255,175,213,189,57,227,237,201,139,246,235,110,251,217,249,221,182,247,100,241,251,153,186,220,91,184,63,116,220,231,45,131,0,82,165,238,33,166,174,226,48,216,223,219,219,221,123,222,170,148,163,90,27,219,46,58,211,94,237,177,92,119,30,226,118,44,218,203,139,139,67,122,71,87,247,166,139,199,182,224,70,173,238,205,107,248,199,193,201,116,191,7,140,42,247,205,21,38,138,230,70,37,171,155,135,115,179,54,23,243,43,6,255,183,11,62,204,29,22,142,3,135,182,245,158,226,237,96,211,139,3,173,217,125,245,233,102,99,241,88,174,249,153,164,112,115,43,70,189,41,117,107,19,183,42,240,75,92,147,171,44,104,2,86,84,47,225,235,253,57,182,158,33,114,7,235,175,18,184,5,110,169,152,220,0,245,211,171,99,3,74,47,170,205,163,134,197,86,4,166,106,150,149,17,51,220,80,243,224,160,107,128,32,202,195,207,197,192,246,74,30,16,71,203,209,75,248,78,249,85,105,227,234,25,164,14,88,199,24,98,138,7,239,233,226,84,5,89,121,170,21,174,6,115,28,30,46,92,58,30,47,151,95,161,15,173,181,25,228,112,105,51,90,45,127,66,24,133,155,159,30,63,110,241,218,136,202,115,80,20,135,241,178,141,170,42,225,226,45,77,52,45,154,66,130,207,205,10,42,216,195,198,221,254,248,25,180,143,87,207,235,200,172,69,111,100,90,227,219,43,150,195,31,88,110,214,11,205,131,166,181,101,196,21,103,147,157,39,122,153,185,25,113,195,130,179,114,18,49,126,229,224,176,206,128,209,149,102,235,3,52,173,38,38,42,240,227,215,111,165,70,126,58,75,228,84,62,166,53,100,201,169,106,220,39,107,166,70,10,130,52,27,166,208,99,45,85,49,123,109,153,173,92,173,100,51,249,25,165,0,177,175,111,126,107,94,131,66,241,145,94,107,64,25,230,97,71,223,45,180,112,73,212,224,133,173,173,128,127,136,112,91,65,202,205,109,223,129,62,188,127,104,111,173,161,252,62,85,120,8,200,159,164,21,10,109,29,153,228,218,131,52,173,22,209,34,131,200,6,5,84,238,170,254,195,10,163,54,223,127,127,66,39,60,202,37,165,175,36,138,186,18,85,55,171,80,8,211,188,13,168,46,105,184,19,200,182,149,224,74,248,66,186,58,253,76,59,190,117,28,204,146,63,148,30,111,57,141,200,219,116,164,17,179,78,54,178,66,104,181,240,100,83,81,185,166,4,77,175,250,149,155,23,67,183,222,146,207,135,179,176,104,45,213,57,155,210,142,134,149,97,127,202,243,90,90,225,46,175,51,99,14,172,79,24,145,91,21,109,10,68,22,242,8,66,158,23,89,198,111,91,56,198,241,124,36,106,139,164,210,175,138,51,89,154,63,55,139,59,207,233,45,200,191,229,219,28,119,160,164,243,124,106,130,206,158,121,39,56,227,158,122,122,110,61,85,143,60,177,240,238,22,184,210,95,110,49,9,46,104,81,142,18,104,29,152,105,73,97,190,174,234,52,37,14,63,224,118,155,218,98,46,46,41,250,32,120,56,17,119,203,54,184,119,118,190,240,10,171,114,254,29,87,109,11,140,254,173,61,145,26,180,148,49,170,220,192,111,76,105,113,229,82,39,45,75,153,45,106,74,179,204,40,216,77,83,223,148,21,173,20,247,149,164,88,7,189,173,92,21,131,110,135,33,45,96,52,215,248,172,229,14,58,7,128,214,54,194,75,204,51,139,36,65,255,215,186,75,35,112,221,120,170,12,228,57,73,10,1,23,158,33,86,203,250,76,104,229,200,205,145,60,140,33,157,145,121,230,2,83,78,149,113,203,220,85,215,117,30,169,239,99,42,69,152,198,181,72,183,178,101,172,213,144,168,99,14,93,158,3,131,137,65,153,35,12,177,120,45,207,207,84,199,70,128,61,182,76,147,161,184,250,88,189,34,143,51,133,38,181,131,78,218,75,121,227,212,250,170,157,227,85,159,54,74,162,136,167,185,121,204,179,75,60,41,90,31,233,105,154,7,135,88,103,53,158,63,107,227,249,111,206,64,46,126,224,0,194,75,146,106,24,38,244,27,176,74,119,154,67,0,71,103,42,253,241,102,179,135,143,65,226,82,29,35,29,65,170,15,172,238,56,213,51,174,185,114,47,85,246,202,1,178,229,1,47,165,114,216,14,191,232,144,101,43,103,50,138,95,229,172,84,144,42,91,235,154,60,208,82,99,18,170,26,104,170,139,201,228,145,46,7,247,239,119,164,130,57,169,148,100,225,160,90,170,55,252,43,145,105,104,166,136,99,97,167,67,113,156,122,143,102,57,50,239,51,48,182,150,8,226,74,108,27,188,78,154,164,243,84,71,40,244,80,220,0,45,99,49,214,209,192,64,158,242,83,153,250,17,207,232,104,105,139,238,114,86,42,71,235,214,39,133,104,111,203,35,248,214,154,153,202,11,122,122,94,200,219,10,195,228,248,114,145,242,140,227,193,38,134,156,240,42,148,186,184,60,143,84,106,86,69,108,85,12,176,205,203,26,228,233,238,138,48,50,65,244,157,158,50,66,43,4,200,160,92,23,67,219,44,142,43,76,18,62,123,173,30,175,192,131,75,89,75,155,170,27,209,200,158,237,186,34,252,68,143,75,232,88,81,176,175,228,222,97,249,19,116,112,133,137,36,206,154,146,131,221,7,63,91,168,43,126,59,159,181,119,77,52,79,57,189,169,171,201,248,183,182,97,105,240,74,125,95,49,174,138,169,181,229,169,148,85,21,208,170,148,169,4,135,192,201,109,225,135,205,2,112,30,209,135,20,211,249,16,63,163,24,152,60,167,209,86,33,201,79,170,3,177,119,37,17,154,202,39,31,146,251,52,182,209,168,240,178,203,225,53,254,184,192,155,201,188,232,30,60,163,95,207,182,171,124,80,223,166,56,3,42,166,154,193,172,206,164,244,11,127,66,198,84,45,185,62,180,65,125,27,20,82,46,236,4,102,101,110,192,182,255,80,46,244,117,20,236,0,190,157,191,16,31,136,48,219,253,11,241,129,252,177,117,139,49,172,34,157,165,44,74,209,251,30,212,236,1,53,123,127,27,106,246,129,154,253,191,13,53,79,129,154,167,127,27,106,14,128,154,131,191,80,78,187,128,239,69,20,85,75,11,149,159,205,182,213,50,131,84,3,27,124,132,44,30,92,32,102,112,77,150,208,10,157,86,124,199,162,142,53,89,138,160,170,209,122,115,60,165,232,25,96,58,81,58,149,123,98,36,21,27,175,12,148,200,92,203,129,97,56,99,115,12,189,131,29,0,194,208,127,254,233,183,74,244,99,119,7,31,82,237,253,242,229,233,202,206,202,233,152,112,201,88,252,42,182,173,7,96,44,189,176,178,179,17,92,171,191,60,36,128,117,216,79,7,247,190,71,238,176,246,222,179,109,124,111,167,30,162,220,39,84,171,130,142,237,157,123,92,120,169,122,21,103,13,191,61,51,164,117,113,76,247,6,191,204,65,108,224,247,215,210,184,95,75,249,202,253,35,43,27,212,198,146,230,44,110,121,23,84,41,178,234,215,18,43,87,144,188,154,93,86,88,243,117,92,58,49,123,233,190,153,89,210,94,233,4,153,54,176,48,107,235,10,91,218,180,39,73,151,61,241,12,103,180,88,213,103,252,6,226,153,110,237,169,142,115,224,249,183,241,73,73,83,99,8,248,21,44,163,61,71,236,180,220,177,247,205,156,179,158,46,253,73,143,181,25,107,111,29,252,115,56,251,117,234,13,188,40,55,28,126,19,107,8,204,122,131,151,251,23,191,247,176,191,74,24,104,191,209,31,24,104,233,174,106,127,225,72,101,246,118,56,96,182,121,177,202,126,94,131,199,226,79,117,249,90,249,221,229,4,65,90,244,102,221,97,242,88,255,149,150,217,216,27,4,113,95,29,110,57,230,178,247,142,73,240,234,9,109,22,184,32,109,112,6,191,225,175,210,177,75,231,67,204,93,23,35,166,166,247,33,139,105,63,182,12,10,222,227,117,13,219,218,35,147,123,183,239,67,149,242,48,123,184,140,53,207,85,25,235,24,186,127,35,49,234,243,225,123,104,153,199,235,80,99,127,68,204,62,209,43,245,201,192,72,32,133,223,233,253,114,252,53,242,165,228,201,122,165,254,55,94,30,168,250,214,163,79,188,86,71,86,221,55,61,184,161,52,153,231,74,24,42,46,188,137,57,68,79,83,101,214,126,145,170,242,142,10,97,85,108,240,199,73,103,244,181,241,36,188,89,146,102,113,83,172,75,191,22,181,90,240,108,27,41,141,165,230,13,74,45,252,14,102,227,175,75,39,112,18,238,47,178,62,144,64,176,234,166,191,106,28,252,109,76,105,42,75,253,15,201,191,92,195,78,133,24,95,168,225,125,79,13,56,65,192,223,81,5,238,161,158,248,243,87,72,255,82,26,132,111,83,73,176,113,197,208,18,10,30,209,122,187,94,50,24,135,60,74,46,151,204,36,143,218,171,91,26,107,189,178,105,173,165,49,185,89,89,114,17,242,146,89,104,222,119,6,143,233,160,170,126,201,150,233,78,21,131,154,84,181,130,202,228,134,97,12,129,118,154,149,64,239,11,120,48,40,98,118,96,132,171,184,13,252,148,171,187,131,195,130,206,207,43,247,49,32,69,135,133,252,43,60,69,134,151,166,106,253,234,176,3,119,248,4,207,244,62,78,178,194,60,56,206,18,172,165,68,76,125,238,103,26,202,21,182,186,143,175,253,197,68,89,87,168,109,208,94,219,207,203,172,26,241,225,41,28,120,37,7,64,127,33,170,97,240,122,211,54,118,149,127,107,168,67,99,135,223,200,151,135,146,73,51,59,131,199,241,48,79,251,53,201,173,45,78,252,243,137,108,185,236,184,150,172,46,115,105,157,136,158,4,87,46,168,209,38,112,155,179,181,250,158,220,162,176,42,156,52,219,134,78,100,183,175,157,100,83,114,194,51,152,24,253,108,95,243,140,62,174,148,119,244,23,187,212,142,159,202,39,9,107,77,197,210,107,234,27,136,134,233,120,50,56,149,29,153,58,178,140,181,232,124,90,220,115,172,207,50,119,97,86,158,88,194,88,59,219,108,213,32,203,69,197,250,26,222,63,159,252,46,45,74,126,149,201,109,144,3,7,227,247,87,234,115,95,166,249,199,134,97,204,179,16,79,68,149,7,198,11,102,170,130,214,31,7,211,223,186,62,252,149,43,56,139,176,248,101,62,100,250,1,195,207,193,208,248,249,172,92,210,229,44,182,190,170,30,66,154,136,155,79,232,248,70,249,53,181,179,180,252,235,168,191,44,233,83,14,2,255,13,7,239,248,23,193,242,121,38,15,171,165,145,220,234,195,196,231,41,142,147,142,14,229,148,173,165,116,166,38,2,132,30,25,163,191,77,178,1,211,48,48,60,150,71,40,135,49,118,230,69,56,164,227,131,213,9,68,35,58,253,84,109,27,98,244,101,172,207,222,76,228,225,199,83,218,88,147,123,48,102,121,204,35,145,67,127,252,132,64,126,58,249,73,82,45,231,175,98,53,58,122,38,28,38,247,84,225,17,33,57,24,10,17,143,164,112,201,141,176,60,43,200,36,180,81,170,106,182,101,18,70,166,78,66,215,200,31,109,208,210,102,59,164,202,10,247,91,165,154,25,90,18,60,249,135,32,191,46,74,93,161,23,47,81,103,172,164,243,30,91,103,239,45,248,231,86,255,117,181,30,57,82,255,54,94,191,55,205,200,40,171,179,68,202,232,199,54,192,245,3,35,234,220,174,126,88,239,16,192,183,244,108,25,158,46,228,201,130,213,253,144,244,134,2,185,230,99,64,45,47,64,153,243,39,36,87,225,10,35,65,121,88,131,193,33,95,251,40,237,14,123,69,252,91,15,148,249,243,16,23,188,88,1,238,125,66,91,80,20,188,52,19,247,193,83,83,67,167,113,82,116,81,198,152,181,238,248,125,109,32,15,102,176,222,199,189,180,120,34,131,51,248,53,4,59,9,130,38,141,106,117,131,87,35,84,100,114,245,244,135,210,232,87,119,184,60,28,77,252,79,43,121,243,70,154,255,197,202,254,112,24,122,56,221,53,26,100,255,209,88,189,125,136,89,113,237,110,185,128,215,177,118,232,169,217,46,35,81,159,182,225,214,103,42,205,66,105,39,150,0,87,101,108,37,65,31,65,145,241,143,0,84,41,170,58,183,146,172,175,114,110,233,131,254,77,197,0,127,196,179,165,141,65,246,223,72,252,155,246,235,253,47,22,254,21,158,78,238,137,52,219,16,31,118,120,101,209,174,250,231,135,171,203,19,205,149,114,18,129,25,179,62,62,175,149,151,212,95,42,147,210,205,179,123,86,9,190,17,1,85,155,42,71,36,130,88,192,35,58,136,158,201,61,234,77,181,247,191,141,116,118,84,49,2,125,212,224,255,3,123,105,163,95,163,135,0,0}; \ No newline at end of file diff --git a/lib/MiLightState/GroupState.cpp b/lib/MiLightState/GroupState.cpp index 1f26de25..d258ad74 100644 --- a/lib/MiLightState/GroupState.cpp +++ b/lib/MiLightState/GroupState.cpp @@ -146,6 +146,7 @@ bool GroupState::isSetField(GroupStateField field) const { return isSetBrightness(); case GroupStateField::COLOR: case GroupStateField::HUE: + case GroupStateField::OH_COLOR: return isSetHue(); case GroupStateField::SATURATION: return isSetSaturation(); @@ -634,6 +635,21 @@ void GroupState::applyColor(ArduinoJson::JsonObject& state, uint8_t r, uint8_t g color["b"] = b; } +void GroupState::applyOhColor(ArduinoJson::JsonObject& state) { + uint8_t rgb[3]; + RGBConverter converter; + converter.hsvToRgb( + getHue()/360.0, + // Default to fully saturated + (isSetSaturation() ? getSaturation() : 100)/100.0, + 1, + rgb + ); + char ohColorStr[13]; + sprintf(ohColorStr, "%d,%d,%d", rgb[0], rgb[1], rgb[2]); + state["color"] = ohColorStr; +} + // gather partial state for a single field; see GroupState::applyState to gather many fields void GroupState::applyField(JsonObject& partialState, const BulbId& bulbId, GroupStateField field) { if (isSetField(field)) { @@ -661,6 +677,12 @@ void GroupState::applyField(JsonObject& partialState, const BulbId& bulbId, Grou } break; + case GroupStateField::OH_COLOR: + if (getBulbMode() == BULB_MODE_COLOR) { + applyOhColor(partialState); + } + break; + case GroupStateField::COMPUTED_COLOR: if (getBulbMode() == BULB_MODE_COLOR) { applyColor(partialState); diff --git a/lib/MiLightState/GroupState.h b/lib/MiLightState/GroupState.h index 6ade659f..d4e0ef74 100644 --- a/lib/MiLightState/GroupState.h +++ b/lib/MiLightState/GroupState.h @@ -203,6 +203,8 @@ class GroupState { void applyColor(JsonObject& state, uint8_t r, uint8_t g, uint8_t b); void applyColor(JsonObject& state); + // Apply OpenHAB-style color, e.g., {"color":"0,0,0"} + void applyOhColor(JsonObject& state); }; extern const BulbId DEFAULT_BULB_ID; diff --git a/lib/Types/GroupStateField.h b/lib/Types/GroupStateField.h index 05f60b4b..4177ada3 100644 --- a/lib/Types/GroupStateField.h +++ b/lib/Types/GroupStateField.h @@ -18,7 +18,8 @@ static const char* STATE_NAMES[] = { "effect", "device_id", "group_id", - "device_type" + "device_type", + "oh_color" }; enum class GroupStateField { @@ -38,7 +39,8 @@ enum class GroupStateField { EFFECT, DEVICE_ID, GROUP_ID, - DEVICE_TYPE + DEVICE_TYPE, + OH_COLOR }; class GroupStateFieldHelpers { diff --git a/web/src/js/script.js b/web/src/js/script.js index 33476d96..0a822fee 100644 --- a/web/src/js/script.js +++ b/web/src/js/script.js @@ -233,7 +233,8 @@ var GROUP_STATE_KEYS = [ "effect", "device_id", "group_id", - "device_type" + "device_type", + "oh_color" ]; var LED_MODES = [ From 9cffbaa65cd0cd2575327cd54258037e529a9518 Mon Sep 17 00:00:00 2001 From: Christopher Mullins Date: Sun, 13 Jan 2019 12:50:42 -0800 Subject: [PATCH 008/200] Add support for setting OpenHAB colorRGB channel type format --- lib/MiLight/MiLightClient.cpp | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/lib/MiLight/MiLightClient.cpp b/lib/MiLight/MiLightClient.cpp index b7e484af..c12b56d2 100644 --- a/lib/MiLight/MiLightClient.cpp +++ b/lib/MiLight/MiLightClient.cpp @@ -3,6 +3,7 @@ #include #include #include +#include MiLightClient::MiLightClient( MiLightRadioFactory* radioFactory, @@ -361,11 +362,33 @@ void MiLightClient::update(const JsonObject& request) { // Convert RGB to HSV if (request.containsKey("color")) { - JsonObject& color = request["color"]; + uint16_t r, g, b; - int16_t r = color["r"]; - int16_t g = color["g"]; - int16_t b = color["b"]; + if (request["color"].is()) { + JsonObject& color = request["color"]; + + r = color["r"]; + g = color["g"]; + b = color["b"]; + } else if (request["color"].is()) { + String colorStr = request["color"]; + char colorCStr[colorStr.length()]; + uint8_t parsedRgbColors[3] = {0, 0, 0}; + + strcpy(colorCStr, colorStr.c_str()); + TokenIterator colorValueItr(colorCStr, strlen(colorCStr), ','); + + for (size_t i = 0; i < 3 && colorValueItr.hasNext(); ++i) { + parsedRgbColors[i] = atoi(colorValueItr.nextToken()); + } + + r = parsedRgbColors[0]; + g = parsedRgbColors[1]; + b = parsedRgbColors[2]; + } else { + Serial.println(F("Unknown format for `color' command")); + return; + } // We consider an RGB color "white" if all color intensities are roughly the // same value. An unscientific value of 10 (~4%) is chosen. From 342159bcb031355c2cdd356b603054e56e4d2536 Mon Sep 17 00:00:00 2001 From: Christopher Mullins Date: Sun, 13 Jan 2019 14:50:17 -0800 Subject: [PATCH 009/200] Auto-save newly entered IDs, add support for deleting IDs --- dist/index.html.gz.h | 4 +-- web/src/css/style.css | 3 ++ web/src/index.html | 4 +-- web/src/js/script.js | 71 +++++++++++++++++++++++++++++++++++++------ 4 files changed, 68 insertions(+), 14 deletions(-) diff --git a/dist/index.html.gz.h b/dist/index.html.gz.h index a843bff8..c755d84f 100644 --- a/dist/index.html.gz.h +++ b/dist/index.html.gz.h @@ -1,2 +1,2 @@ -#define index_html_gz_len 9628 -static const char index_html_gz[] PROGMEM = {31,139,8,0,0,0,0,0,0,3,221,125,107,123,219,54,147,232,247,243,43,96,166,111,44,214,20,37,219,177,227,72,166,178,105,226,180,57,155,139,55,118,218,221,199,235,227,7,146,32,139,9,69,114,73,202,151,117,245,223,207,204,224,66,144,162,108,37,77,187,221,183,23,155,36,192,153,193,96,238,0,225,195,141,113,50,42,110,83,193,166,197,44,26,28,226,79,22,241,248,50,112,68,236,192,189,224,227,193,225,76,20,156,141,166,60,203,69,17,56,243,98,210,62,128,182,34,44,34,49,120,23,190,13,47,167,5,251,101,62,60,236,200,71,135,81,24,127,97,153,136,2,39,47,110,35,145,79,133,40,28,54,205,196,36,112,166,69,145,230,189,78,103,198,111,70,227,216,31,38,73,145,23,25,79,241,102,148,204,58,230,65,103,215,223,245,159,118,70,121,94,62,243,103,33,244,202,115,71,225,168,130,188,12,11,132,2,191,166,243,161,31,38,229,123,237,34,185,188,140,68,103,199,135,127,171,32,85,147,129,188,68,119,35,42,192,243,57,247,71,81,50,31,79,34,158,9,34,157,127,230,55,157,40,28,218,208,243,40,28,139,172,243,204,127,234,119,107,136,101,211,247,69,156,139,72,140,138,240,191,133,255,57,239,116,253,237,29,255,9,97,45,159,27,252,187,127,218,144,9,87,103,187,196,94,111,187,15,51,201,90,204,103,34,112,174,66,113,157,38,25,136,206,40,137,11,17,131,236,93,135,227,98,26,140,197,85,56,18,109,186,241,194,56,44,66,30,181,243,17,143,68,176,13,32,54,218,237,179,112,194,162,130,189,57,98,207,206,7,255,135,193,63,135,249,40,11,211,130,229,217,104,237,49,161,54,236,229,211,240,10,100,241,169,191,91,222,3,119,1,79,71,130,68,248,135,27,103,34,30,135,147,243,118,123,112,72,227,25,248,168,59,34,107,103,201,245,221,48,201,240,114,152,20,69,50,235,109,167,55,44,79,96,246,217,163,209,104,180,136,248,80,68,119,227,48,79,35,126,219,27,70,201,232,203,194,207,248,56,76,218,73,90,132,73,124,151,242,241,56,140,47,123,93,182,151,222,244,71,243,44,79,178,94,154,132,192,148,108,129,52,207,120,60,110,15,231,0,61,206,239,162,48,47,218,68,67,47,78,98,209,159,241,236,50,140,123,221,190,1,179,244,14,139,66,67,64,24,195,228,139,54,209,161,222,109,103,168,226,189,109,49,235,39,87,34,155,68,201,117,143,207,139,100,225,79,146,108,214,134,153,201,110,239,52,26,214,101,59,93,24,97,215,110,101,242,26,231,49,75,162,59,154,185,222,78,87,204,42,157,170,156,176,9,145,76,130,241,20,45,95,100,89,146,185,76,254,110,135,241,36,49,175,224,120,23,118,195,40,137,128,85,153,24,247,39,128,186,157,131,6,244,252,167,136,182,236,212,27,10,160,65,220,41,33,235,109,182,54,43,205,124,2,108,46,91,93,104,85,83,59,44,98,61,108,28,242,194,191,228,133,184,230,183,109,96,52,53,2,167,120,209,35,238,45,30,41,8,204,31,103,73,58,78,174,97,94,147,60,196,9,238,41,25,174,113,119,249,141,246,76,196,115,123,178,36,115,30,129,110,77,38,225,168,157,199,225,100,82,229,198,35,122,38,198,109,213,7,8,190,105,79,5,77,232,94,215,154,209,246,173,154,83,141,236,190,233,240,99,126,53,228,217,221,144,143,190,92,102,201,28,68,73,177,250,114,200,91,79,182,61,252,111,207,243,159,185,27,225,12,117,152,199,69,95,105,1,138,246,60,71,41,148,64,218,195,12,68,209,171,220,245,166,72,150,154,190,71,147,201,100,225,3,63,193,124,0,75,198,28,164,109,9,49,118,82,24,234,10,230,75,210,87,140,228,122,26,22,162,93,136,89,218,78,195,209,23,192,170,184,179,3,204,41,209,244,240,29,32,239,18,201,135,73,105,21,9,163,137,245,30,241,253,241,246,100,194,186,30,210,192,246,186,255,192,11,222,237,118,217,118,183,251,15,183,223,168,89,90,25,119,165,170,76,231,162,1,189,212,19,132,210,175,217,135,178,63,8,105,220,244,22,152,195,81,11,95,101,109,182,43,102,43,200,168,26,147,181,198,11,218,36,199,10,227,219,247,247,247,247,159,194,128,187,112,183,11,30,27,254,161,59,197,135,110,119,194,246,77,167,9,220,29,232,78,8,134,248,35,7,115,197,35,248,169,104,188,91,158,72,96,167,182,70,145,152,20,61,127,207,140,20,199,108,13,191,121,154,211,104,158,183,193,239,192,79,28,96,122,87,209,53,155,211,163,8,198,221,3,91,61,173,51,189,14,131,73,243,217,155,132,25,152,220,100,210,198,72,170,106,236,165,233,52,50,175,117,160,72,210,122,139,180,21,56,182,117,209,70,124,37,86,4,211,136,180,218,240,16,34,159,2,58,13,91,241,8,5,86,131,84,186,7,90,166,159,72,199,67,147,102,100,28,188,22,211,255,63,5,15,102,60,146,154,181,221,39,240,144,38,75,61,216,246,159,60,187,135,33,147,80,68,99,232,27,165,205,94,171,180,245,219,254,14,202,73,93,112,192,82,71,183,233,52,4,107,226,231,41,40,16,80,121,199,227,112,198,201,28,227,35,182,157,51,48,255,104,153,5,147,186,208,111,95,139,225,151,176,104,87,123,238,52,116,93,96,168,80,218,119,8,115,160,255,21,248,98,160,66,143,17,100,109,49,76,198,218,115,234,232,96,167,139,174,100,2,33,147,165,213,244,236,95,102,98,28,114,150,196,209,45,131,208,67,136,152,129,169,100,45,4,74,115,195,122,187,232,135,220,187,38,176,123,8,98,29,24,79,14,86,194,232,174,11,227,233,254,193,10,24,219,123,7,107,194,120,246,108,103,21,140,237,125,132,225,207,146,49,4,126,216,129,249,57,198,183,73,220,174,72,236,114,192,37,132,208,98,169,91,125,48,26,202,77,178,82,46,218,100,135,148,124,239,79,246,27,122,228,160,80,198,69,237,239,47,230,145,207,37,17,171,66,49,43,2,171,246,92,21,128,53,244,163,32,72,153,156,209,52,140,198,238,221,146,120,255,203,23,113,59,201,32,136,206,25,74,232,221,36,75,102,119,16,0,196,57,70,91,61,10,149,91,219,46,203,146,2,34,150,86,215,93,20,201,61,237,187,251,221,177,184,116,97,214,180,6,84,225,239,72,4,186,177,4,84,129,191,178,217,128,135,136,154,66,231,195,142,204,59,113,102,7,141,129,59,198,232,254,101,146,64,230,198,211,48,175,197,237,159,255,107,46,178,91,8,218,33,7,81,55,148,114,84,162,246,70,184,235,102,165,159,235,73,233,195,160,215,205,78,63,175,72,78,31,198,240,64,54,3,78,93,100,249,8,66,93,76,14,183,253,3,200,104,202,103,237,239,130,99,69,226,219,152,244,254,97,100,77,201,46,92,229,16,108,130,93,0,125,179,122,124,239,209,85,114,220,207,43,82,220,70,132,178,186,82,136,155,162,243,153,95,113,249,212,25,76,230,49,105,58,131,8,250,52,249,37,143,90,220,19,94,230,222,241,78,176,179,183,231,9,249,43,163,95,253,43,158,177,220,43,188,81,240,142,23,83,31,196,86,117,247,166,234,73,24,235,39,113,208,26,109,77,221,206,78,63,156,180,70,65,48,117,243,160,8,186,125,17,229,226,14,1,13,131,81,123,218,207,175,65,64,167,173,34,136,7,254,222,243,97,167,181,211,134,199,110,15,174,240,117,111,228,222,141,120,46,24,239,229,65,75,180,51,183,51,220,106,137,195,236,249,126,175,235,246,135,153,224,16,77,98,7,129,29,178,54,199,14,59,118,67,134,13,188,45,176,225,201,34,239,4,251,139,76,20,243,44,190,155,246,114,47,239,21,30,100,120,139,133,225,196,199,159,127,42,146,95,78,126,213,156,216,14,130,0,44,221,28,146,160,34,247,35,17,95,22,211,199,143,91,34,224,254,165,151,193,207,161,199,225,103,230,106,246,44,49,103,180,196,156,105,0,86,20,88,212,5,216,197,243,110,111,218,41,188,97,80,116,144,201,154,35,106,224,35,32,191,107,143,7,57,1,140,216,154,254,104,248,224,225,168,126,156,214,217,1,220,216,218,249,113,218,208,138,60,1,150,108,61,49,173,85,158,196,222,85,111,72,150,113,45,41,194,129,127,122,255,230,244,226,248,197,199,23,239,78,130,59,24,234,187,16,66,237,28,28,239,174,7,172,80,119,187,79,187,120,247,19,5,161,177,200,115,8,16,246,22,222,167,55,23,167,47,126,58,9,206,238,10,126,217,115,10,62,4,111,60,9,29,111,146,65,18,48,142,110,123,206,111,120,191,240,202,14,57,208,155,218,61,78,232,129,221,37,18,99,187,195,219,163,87,149,102,42,118,216,29,62,210,3,187,203,236,191,138,194,238,241,238,223,78,79,157,197,57,18,252,250,205,209,219,87,134,100,62,134,33,95,204,115,145,97,17,201,126,229,5,182,176,178,5,227,199,158,243,73,221,51,240,72,44,2,115,11,254,25,162,57,200,118,138,105,152,51,240,89,41,191,132,222,24,100,247,28,80,113,104,135,59,62,180,184,163,9,149,184,83,158,231,215,16,127,216,184,143,205,51,137,85,223,127,15,172,35,113,1,62,216,198,246,242,136,117,216,241,191,158,50,122,174,48,194,216,65,167,142,78,142,15,118,246,247,145,13,18,249,230,203,163,77,214,194,171,247,31,95,239,60,121,219,221,102,148,10,78,248,72,184,12,59,0,32,213,99,243,248,45,132,94,79,59,111,79,15,158,117,187,155,86,199,149,148,230,21,89,24,229,241,18,173,39,239,215,35,243,228,253,230,154,88,50,1,247,117,60,31,143,78,142,214,99,8,245,92,23,23,72,118,29,19,72,119,29,15,204,43,192,39,240,216,10,30,170,152,231,76,5,124,172,213,13,224,146,15,1,150,219,103,177,184,164,92,1,184,11,25,106,142,33,86,120,25,243,136,181,50,129,101,59,192,194,218,59,4,11,227,194,132,131,20,1,208,117,167,32,133,12,31,184,147,137,84,240,34,175,202,40,182,48,211,34,201,63,157,10,22,207,103,67,1,232,38,172,8,49,230,195,82,0,245,98,31,95,51,9,16,168,196,74,21,180,12,231,209,48,95,73,76,86,209,108,244,187,138,148,11,144,163,34,201,108,130,126,57,61,61,214,136,116,171,36,234,221,60,42,194,52,10,71,146,83,178,17,103,179,58,58,98,82,38,32,0,204,11,76,209,176,200,86,192,52,15,111,65,205,4,35,248,47,142,223,248,236,211,43,186,96,64,52,192,140,32,39,1,94,11,0,13,147,52,151,120,132,30,168,7,169,4,155,65,196,164,57,197,242,105,50,143,0,170,40,133,8,65,175,105,51,230,69,2,244,130,72,100,32,179,34,11,147,138,225,120,1,205,109,213,204,116,179,100,2,54,97,26,170,9,150,125,112,96,178,62,206,4,200,207,173,53,121,152,217,23,20,178,139,17,144,32,198,48,112,144,202,46,81,172,37,112,77,49,130,238,35,172,160,220,94,80,133,222,162,248,149,110,97,178,69,153,89,224,48,222,163,132,96,86,4,249,158,194,170,59,43,49,130,140,156,189,18,19,14,51,76,130,134,227,201,209,62,211,219,196,96,152,62,189,234,36,71,10,115,242,228,224,224,217,51,61,30,120,77,13,103,189,57,64,231,114,1,126,0,8,169,251,24,166,31,203,97,188,2,142,163,221,200,216,155,99,6,201,28,112,61,71,214,82,215,97,150,124,129,216,150,125,160,170,61,205,138,100,245,45,227,146,124,8,40,166,172,37,110,248,44,141,192,186,206,110,241,61,245,218,8,19,213,131,131,39,43,73,38,23,88,33,25,242,207,112,4,254,166,0,51,28,47,81,78,173,204,180,106,199,67,183,196,252,178,87,110,77,11,78,192,145,164,176,7,207,128,203,121,167,39,249,124,17,142,205,37,18,217,233,81,153,8,30,251,236,68,8,246,241,232,197,171,119,71,4,123,50,207,96,230,96,130,69,193,195,104,181,61,88,30,212,60,29,131,182,61,48,54,217,233,254,33,194,144,210,249,16,70,53,101,214,59,185,207,142,149,168,21,83,48,44,156,20,153,148,29,84,23,210,88,150,40,194,149,100,97,89,34,173,191,65,198,142,122,147,191,86,10,119,29,70,17,42,34,200,46,195,80,67,34,4,195,128,222,29,95,249,10,54,160,143,120,136,11,212,231,107,230,217,230,137,126,217,103,191,77,177,250,194,100,201,111,52,133,200,18,141,4,54,123,164,126,147,57,12,235,75,140,75,2,242,37,116,4,240,92,190,64,131,6,219,167,224,2,23,117,20,83,35,108,125,9,104,8,222,228,12,66,3,171,7,111,244,128,228,55,193,16,10,175,42,138,187,54,218,166,184,141,32,165,171,130,55,131,244,91,112,146,39,188,48,33,20,41,212,82,12,92,134,88,76,182,75,10,32,233,100,63,255,242,223,140,96,128,51,26,139,8,204,14,214,210,228,244,73,254,135,19,118,155,204,105,230,240,98,19,228,54,78,208,134,162,56,242,216,4,124,27,154,224,102,146,86,248,110,105,46,154,2,137,183,210,144,212,2,137,55,241,8,210,30,194,45,169,147,247,24,78,128,44,241,89,50,7,149,82,33,6,218,77,184,147,40,240,13,20,99,165,132,104,106,200,141,216,118,190,236,106,188,7,3,28,187,254,122,14,64,42,219,36,154,231,83,57,252,43,30,85,50,26,18,123,106,103,101,187,138,69,32,174,152,205,103,21,63,27,1,57,180,84,133,202,95,92,99,117,147,94,38,59,160,244,14,158,240,124,218,60,26,152,79,136,11,209,242,132,51,42,148,22,2,230,22,220,127,14,195,172,65,88,211,97,91,70,37,195,31,81,56,11,151,50,42,5,26,59,48,213,225,171,6,105,219,89,236,132,177,160,130,217,26,91,78,125,175,219,93,29,175,86,180,164,18,208,93,20,211,44,41,138,72,224,133,128,176,43,26,175,12,96,153,238,203,172,190,114,48,47,229,42,116,206,166,160,24,105,37,234,37,227,174,223,4,175,102,124,5,25,124,114,223,17,186,124,18,82,61,106,144,95,244,3,60,150,130,77,43,89,172,5,166,200,230,145,43,13,229,136,99,34,80,67,138,81,179,133,150,225,234,43,224,126,151,16,49,85,184,4,5,84,69,143,110,158,66,79,59,96,218,233,118,103,235,198,223,43,184,11,131,197,133,139,171,176,184,93,131,191,149,222,95,205,225,95,32,194,0,137,162,193,229,21,246,44,243,5,188,13,234,4,45,78,79,56,40,124,86,21,171,174,199,102,252,134,4,85,50,107,187,219,133,103,93,173,87,249,106,161,187,143,47,51,41,252,171,89,97,58,52,140,126,194,51,61,2,212,254,17,204,230,88,72,203,71,134,175,212,40,9,76,148,209,70,101,108,187,235,210,46,67,50,101,209,112,161,172,98,155,127,38,159,45,85,82,183,74,170,79,168,110,153,179,235,105,56,154,170,54,43,181,1,115,29,205,199,64,93,168,212,92,194,208,202,142,243,2,137,243,41,134,63,105,18,163,89,71,155,93,26,0,77,125,19,121,205,170,47,98,156,179,11,174,211,156,11,244,115,23,178,40,71,12,40,71,117,68,93,153,233,74,46,145,89,93,229,16,95,3,69,31,127,254,233,183,223,100,146,202,90,210,21,194,163,173,151,47,79,49,170,127,253,233,180,123,240,204,245,152,68,158,91,32,13,52,163,247,136,4,253,24,163,197,38,156,36,62,153,0,15,77,12,133,129,144,152,129,217,134,116,31,164,30,121,148,227,37,173,29,2,163,49,218,198,96,243,26,140,4,11,193,190,16,179,209,71,67,120,241,69,115,236,65,62,172,114,208,98,44,187,162,171,187,0,35,52,9,47,235,117,10,226,211,120,142,2,197,176,27,211,221,36,195,76,23,162,213,74,45,201,127,179,23,163,17,26,195,99,220,60,160,250,113,176,4,232,225,19,5,9,199,77,21,67,53,24,77,148,69,53,38,157,205,52,79,32,117,88,170,28,90,4,17,197,178,147,194,24,3,251,31,36,126,202,243,229,183,116,174,73,48,99,152,97,107,6,214,37,58,161,169,174,201,102,149,12,171,203,90,44,206,231,196,99,12,193,33,199,159,211,74,245,215,146,37,237,73,35,77,166,100,146,175,67,79,142,123,220,96,118,169,170,130,41,19,222,152,247,191,133,40,16,203,121,92,33,237,53,198,52,108,36,163,193,37,234,222,215,43,81,64,31,82,76,94,145,194,33,73,183,54,161,232,108,72,27,45,182,45,217,79,162,239,220,251,249,227,135,79,199,23,39,167,47,78,143,46,254,245,232,63,78,130,51,71,89,46,71,22,236,224,98,104,234,229,112,19,137,43,1,97,160,51,157,83,31,163,217,112,67,171,194,240,91,114,194,249,34,162,171,208,60,191,64,163,128,192,192,8,41,94,65,195,44,157,131,241,191,208,111,10,50,37,112,97,82,111,184,214,233,118,249,88,134,232,78,50,85,47,158,123,192,142,139,119,31,94,29,33,253,31,38,19,104,60,137,192,15,201,149,68,184,123,13,142,179,188,163,54,72,220,82,221,162,175,35,218,92,4,87,31,98,0,250,233,213,241,197,241,199,15,167,31,94,126,120,123,241,235,209,199,147,55,31,222,3,130,61,111,255,220,123,117,244,250,197,167,183,167,23,101,31,211,37,216,243,204,18,156,71,235,231,192,249,96,99,27,87,162,28,103,35,136,146,17,113,204,159,38,121,129,121,156,75,11,82,215,98,120,146,224,4,6,177,184,102,191,233,187,150,115,141,139,116,206,214,210,107,91,78,239,96,219,113,251,230,69,63,137,65,60,114,126,41,2,189,156,212,2,224,128,86,83,33,49,21,129,240,193,129,241,254,15,45,167,190,83,206,113,253,20,125,114,60,110,57,135,112,53,112,182,138,45,231,176,67,151,238,98,177,32,0,201,47,226,166,130,67,46,223,56,221,27,103,75,248,69,114,66,210,214,218,222,119,225,230,83,10,234,255,18,92,127,203,93,120,184,178,127,37,62,101,81,249,186,36,74,4,72,141,156,224,55,99,38,55,129,246,36,35,65,84,93,31,130,155,150,235,21,212,141,68,2,122,249,18,28,216,12,144,35,232,131,163,106,57,20,6,57,174,199,131,75,81,188,156,103,25,132,177,239,64,226,90,174,156,130,32,16,46,70,39,215,206,187,57,76,190,192,220,70,43,252,155,87,14,118,50,72,212,110,84,3,27,252,59,92,231,105,20,194,204,120,112,169,66,132,188,197,221,223,127,111,21,65,215,245,28,92,96,6,118,3,217,65,128,178,138,154,187,140,81,86,18,16,161,226,94,71,237,164,204,97,182,97,118,225,39,167,159,197,194,171,14,196,230,157,124,151,33,193,100,193,162,80,49,165,206,142,133,39,195,22,10,134,130,11,95,71,152,45,123,30,113,79,235,15,62,46,254,182,238,230,89,212,51,211,5,172,159,137,98,154,140,33,12,252,116,234,120,8,186,247,127,79,62,188,247,165,101,9,39,183,240,190,167,54,111,158,146,205,225,169,170,86,39,113,231,115,142,38,66,25,246,158,141,18,12,213,56,18,148,108,126,34,2,225,225,98,225,46,224,69,185,14,201,35,145,21,112,177,88,120,219,98,215,245,208,32,191,148,91,121,87,13,67,13,193,233,228,183,16,48,67,140,122,103,136,255,112,242,173,212,3,77,146,0,53,77,39,84,247,248,152,92,91,154,224,21,30,151,242,28,6,206,97,145,13,64,154,182,240,106,60,112,60,184,218,60,36,81,85,123,189,181,180,231,103,231,14,27,129,33,207,3,199,222,50,236,200,136,62,112,54,65,30,54,157,206,96,211,35,104,29,13,110,21,96,172,187,174,1,180,120,16,232,56,188,210,48,112,43,42,137,172,195,144,125,106,151,6,60,151,155,116,156,193,102,31,208,180,112,236,113,208,237,199,135,141,230,83,173,96,247,227,173,45,201,167,36,104,236,119,22,159,123,121,192,131,32,249,253,247,36,8,238,49,183,143,31,111,52,99,178,52,179,79,131,161,173,189,214,112,88,101,119,237,230,86,43,127,238,48,165,60,61,199,113,129,59,146,57,154,185,168,203,129,44,24,57,122,187,62,150,39,96,248,200,108,12,86,209,165,69,162,128,150,4,220,144,228,148,225,119,2,16,153,196,51,154,10,48,217,99,137,199,25,48,103,43,81,211,64,84,14,28,181,34,206,228,67,152,135,65,243,12,73,246,215,71,53,198,88,28,3,150,89,114,37,218,122,135,182,170,212,153,65,233,183,204,238,46,86,238,243,146,175,226,86,142,208,72,136,196,165,105,176,200,233,160,164,47,188,40,225,227,19,81,96,164,151,219,54,10,140,147,218,32,34,127,181,113,85,10,205,40,221,201,29,189,96,96,26,157,227,227,199,63,248,96,253,80,89,81,159,21,116,8,158,170,30,238,195,240,51,194,255,34,110,115,120,130,251,235,143,56,152,15,211,171,144,210,198,193,125,108,62,210,80,164,223,56,147,51,41,213,225,124,211,237,115,37,164,131,238,227,199,45,53,221,184,11,195,231,69,145,181,28,138,62,220,231,220,159,132,17,216,241,214,230,89,169,165,103,197,185,4,226,143,48,150,104,185,61,78,142,11,27,92,119,225,122,224,121,117,104,147,3,244,114,175,14,109,192,149,139,40,121,171,218,111,121,52,48,230,242,77,62,30,203,247,90,119,184,53,162,71,222,25,205,25,145,213,19,11,196,91,118,207,196,4,75,67,6,21,226,90,206,79,117,164,0,236,146,175,42,46,53,100,178,200,178,162,58,151,14,149,10,27,225,46,96,178,132,223,148,166,173,66,217,152,210,221,131,180,17,118,19,90,153,14,173,135,86,101,101,107,163,85,176,107,104,77,34,244,32,210,50,101,90,7,101,9,183,134,80,166,4,15,98,83,201,210,58,168,20,196,133,214,38,136,147,42,214,165,45,25,158,131,122,227,118,96,8,183,220,190,208,223,136,168,217,0,201,95,122,212,40,228,160,114,41,197,162,117,151,219,82,66,126,214,61,7,249,61,219,62,135,31,59,164,97,232,165,115,126,37,126,150,111,188,148,208,155,163,77,204,131,230,227,84,219,71,160,25,226,75,8,212,161,77,70,148,30,152,18,105,8,95,162,165,108,57,244,133,140,35,247,90,145,45,177,45,136,237,206,207,55,241,221,25,79,173,241,148,161,193,15,224,147,100,64,219,215,102,62,127,207,223,183,66,247,57,132,144,27,93,143,58,128,98,87,209,122,49,100,196,110,47,4,125,14,235,200,181,203,255,179,17,199,136,184,18,119,159,45,121,194,70,26,10,43,86,45,234,177,41,69,230,27,208,69,135,16,73,112,134,1,64,183,159,31,106,115,220,207,33,102,72,206,242,243,224,140,195,79,47,196,31,49,252,56,239,151,241,158,241,15,38,226,163,121,124,32,46,109,138,7,239,106,2,218,75,72,184,22,158,158,230,35,228,77,37,11,18,207,91,101,18,211,14,199,109,242,229,78,19,67,27,250,217,31,119,105,237,17,174,219,107,6,217,36,150,58,196,199,28,65,217,247,101,193,175,231,68,148,82,109,234,228,225,172,26,177,96,216,121,206,248,166,34,199,69,213,144,20,120,58,227,112,208,215,37,185,200,33,33,50,159,81,57,174,122,163,160,161,226,166,117,81,166,82,21,201,192,240,0,75,253,15,103,88,194,125,174,187,230,83,176,1,200,26,121,91,97,134,73,127,166,33,142,15,13,66,138,95,241,254,42,5,180,50,99,58,29,158,81,178,209,105,253,231,120,203,253,79,223,254,213,106,183,252,31,93,247,121,71,107,204,221,140,127,78,178,94,129,70,103,22,198,116,185,115,14,40,0,2,92,238,158,123,25,76,22,98,130,187,61,108,0,197,236,157,81,127,234,73,125,176,233,28,132,9,212,79,92,139,108,153,54,207,68,44,54,241,232,214,195,234,147,194,168,50,247,9,215,32,148,191,23,158,76,173,94,98,168,249,58,201,100,118,213,32,17,168,220,32,5,244,139,219,205,160,147,248,112,35,192,40,12,166,123,36,229,166,173,84,221,8,169,175,30,108,57,172,133,5,0,0,27,242,184,216,114,92,101,58,54,130,66,66,136,144,2,3,128,249,40,235,184,175,30,64,137,138,241,215,180,21,103,85,233,160,190,231,30,218,94,251,113,10,114,7,102,153,27,1,193,7,184,221,181,148,17,165,79,11,77,17,140,73,145,70,1,234,18,105,170,252,85,186,49,111,185,151,214,85,41,142,210,43,244,121,80,157,212,86,225,23,252,242,2,173,164,103,88,229,62,119,160,15,211,216,248,21,196,11,88,241,222,128,140,224,63,228,178,117,34,43,145,51,8,132,169,242,24,23,186,187,47,181,79,19,145,207,33,25,206,110,53,169,92,18,18,6,133,15,250,128,139,199,42,80,181,131,97,37,50,133,143,100,193,52,140,197,205,7,140,28,212,212,185,27,65,123,27,173,178,21,10,35,202,73,152,205,174,121,38,218,248,173,180,163,216,236,224,55,211,144,9,128,51,246,135,89,114,13,129,192,5,26,1,76,7,46,230,89,132,70,51,172,137,54,24,213,60,137,32,174,72,46,85,230,109,110,33,184,232,55,72,155,247,192,12,89,249,140,254,186,137,53,39,54,20,255,170,204,198,189,143,147,247,79,186,52,47,158,241,61,124,152,160,171,185,91,42,114,192,112,65,144,61,142,245,47,140,11,231,153,32,87,170,223,52,223,119,164,161,254,82,2,183,224,103,34,77,242,78,30,142,147,105,71,228,41,110,216,188,152,133,180,57,233,2,250,64,123,68,91,9,58,146,188,38,204,88,209,9,196,18,102,109,25,172,162,75,189,98,40,136,187,164,247,149,48,67,241,28,51,28,57,247,58,145,245,156,15,239,177,178,38,223,115,203,175,73,78,169,78,208,130,232,8,110,19,228,109,189,9,51,16,42,228,106,123,108,190,6,80,207,253,76,247,240,47,205,213,16,11,124,102,183,252,253,61,251,245,81,148,101,107,28,137,252,62,3,147,212,226,87,10,72,188,237,110,247,71,238,231,174,114,168,199,104,210,197,245,75,4,135,95,238,252,88,248,83,234,3,209,178,250,29,169,208,187,44,118,235,152,11,219,43,13,109,107,179,186,111,246,170,187,157,86,229,185,222,181,190,162,119,125,72,214,154,219,138,49,133,138,194,178,156,47,41,140,3,251,217,143,248,249,108,167,70,73,185,99,126,9,175,92,15,104,198,24,163,230,47,115,112,169,94,86,80,229,20,240,194,148,194,37,15,246,186,50,108,88,250,70,22,131,13,240,241,214,151,208,4,177,231,76,65,90,168,106,234,81,193,250,31,30,21,79,255,225,82,213,14,191,89,59,209,133,248,198,76,128,170,224,224,64,172,114,61,18,16,46,103,0,213,47,225,42,177,93,245,51,58,105,59,242,148,199,4,68,26,148,19,218,174,170,105,113,136,54,120,242,181,196,117,31,36,78,49,171,137,56,73,119,35,113,73,106,209,70,166,175,242,145,189,241,116,104,160,171,245,157,202,217,13,142,46,127,52,4,121,41,8,66,107,201,120,108,116,49,7,144,67,6,214,23,141,65,26,126,29,240,239,109,13,40,153,76,64,210,0,20,126,1,8,166,160,232,180,182,127,212,141,244,53,37,214,54,66,249,241,11,137,10,105,46,120,199,6,157,14,93,187,58,222,186,3,193,35,67,217,215,82,104,127,118,142,17,108,130,155,114,193,199,149,67,228,104,229,97,102,10,31,247,38,19,29,32,219,11,213,119,158,182,170,254,96,99,91,55,129,215,88,217,134,115,91,69,241,248,113,29,1,105,138,84,62,199,104,161,124,154,241,235,182,28,23,78,9,45,208,47,135,88,119,11,224,183,156,138,97,114,3,54,92,51,177,82,238,210,15,67,144,165,158,158,183,50,186,146,57,165,56,171,190,75,219,22,221,115,112,126,54,119,133,38,218,28,200,81,52,138,76,101,70,84,223,94,53,238,83,79,29,74,252,37,35,168,226,191,10,164,181,118,176,54,72,173,127,117,104,152,240,145,56,67,144,162,246,34,1,219,181,146,62,183,141,14,164,42,21,61,111,105,208,21,245,106,83,30,213,72,118,5,86,163,98,234,100,7,27,241,19,82,120,4,175,58,4,10,140,226,35,60,157,67,85,104,144,55,222,3,195,176,3,50,103,26,42,107,176,178,212,179,170,76,227,0,106,199,213,163,85,57,230,186,172,196,92,51,196,80,87,89,14,142,225,32,40,117,115,186,103,250,149,54,207,52,45,165,197,254,16,66,94,217,255,30,166,249,205,245,115,175,193,172,153,20,184,200,76,114,142,144,205,154,8,15,186,125,126,248,172,207,183,182,92,147,17,151,233,178,230,224,230,97,20,14,14,185,58,134,232,145,90,65,160,206,38,41,231,180,48,129,254,237,176,195,33,140,133,55,28,202,204,155,134,80,193,3,204,103,188,58,247,42,17,168,232,26,190,83,211,138,146,2,71,150,177,151,102,11,141,150,87,11,14,168,62,112,238,217,143,164,135,128,8,210,51,139,189,155,203,182,201,44,69,234,210,191,189,16,249,224,234,161,94,60,132,246,133,93,251,174,44,49,155,245,7,104,0,91,144,225,54,180,30,216,239,60,201,138,215,88,171,238,209,151,134,142,151,196,82,104,94,140,199,189,106,18,83,248,114,78,40,31,127,131,199,133,200,7,224,214,37,188,215,148,120,245,26,248,109,74,14,255,175,213,189,57,227,237,201,139,246,235,110,251,217,249,221,182,247,100,241,251,153,186,220,91,184,63,116,220,231,45,131,0,82,165,238,33,166,174,226,48,216,223,219,219,221,123,222,170,148,163,90,27,219,46,58,211,94,237,177,92,119,30,226,118,44,218,203,139,139,67,122,71,87,247,166,139,199,182,224,70,173,238,205,107,248,199,193,201,116,191,7,140,42,247,205,21,38,138,230,70,37,171,155,135,115,179,54,23,243,43,6,255,183,11,62,204,29,22,142,3,135,182,245,158,226,237,96,211,139,3,173,217,125,245,233,102,99,241,88,174,249,153,164,112,115,43,70,189,41,117,107,19,183,42,240,75,92,147,171,44,104,2,86,84,47,225,235,253,57,182,158,33,114,7,235,175,18,184,5,110,169,152,220,0,245,211,171,99,3,74,47,170,205,163,134,197,86,4,166,106,150,149,17,51,220,80,243,224,160,107,128,32,202,195,207,197,192,246,74,30,16,71,203,209,75,248,78,249,85,105,227,234,25,164,14,88,199,24,98,138,7,239,233,226,84,5,89,121,170,21,174,6,115,28,30,46,92,58,30,47,151,95,161,15,173,181,25,228,112,105,51,90,45,127,66,24,133,155,159,30,63,110,241,218,136,202,115,80,20,135,241,178,141,170,42,225,226,45,77,52,45,154,66,130,207,205,10,42,216,195,198,221,254,248,25,180,143,87,207,235,200,172,69,111,100,90,227,219,43,150,195,31,88,110,214,11,205,131,166,181,101,196,21,103,147,157,39,122,153,185,25,113,195,130,179,114,18,49,126,229,224,176,206,128,209,149,102,235,3,52,173,38,38,42,240,227,215,111,165,70,126,58,75,228,84,62,166,53,100,201,169,106,220,39,107,166,70,10,130,52,27,166,208,99,45,85,49,123,109,153,173,92,173,100,51,249,25,165,0,177,175,111,126,107,94,131,66,241,145,94,107,64,25,230,97,71,223,45,180,112,73,212,224,133,173,173,128,127,136,112,91,65,202,205,109,223,129,62,188,127,104,111,173,161,252,62,85,120,8,200,159,164,21,10,109,29,153,228,218,131,52,173,22,209,34,131,200,6,5,84,238,170,254,195,10,163,54,223,127,127,66,39,60,202,37,165,175,36,138,186,18,85,55,171,80,8,211,188,13,168,46,105,184,19,200,182,149,224,74,248,66,186,58,253,76,59,190,117,28,204,146,63,148,30,111,57,141,200,219,116,164,17,179,78,54,178,66,104,181,240,100,83,81,185,166,4,77,175,250,149,155,23,67,183,222,146,207,135,179,176,104,45,213,57,155,210,142,134,149,97,127,202,243,90,90,225,46,175,51,99,14,172,79,24,145,91,21,109,10,68,22,242,8,66,158,23,89,198,111,91,56,198,241,124,36,106,139,164,210,175,138,51,89,154,63,55,139,59,207,233,45,200,191,229,219,28,119,160,164,243,124,106,130,206,158,121,39,56,227,158,122,122,110,61,85,143,60,177,240,238,22,184,210,95,110,49,9,46,104,81,142,18,104,29,152,105,73,97,190,174,234,52,37,14,63,224,118,155,218,98,46,46,41,250,32,120,56,17,119,203,54,184,119,118,190,240,10,171,114,254,29,87,109,11,140,254,173,61,145,26,180,148,49,170,220,192,111,76,105,113,229,82,39,45,75,153,45,106,74,179,204,40,216,77,83,223,148,21,173,20,247,149,164,88,7,189,173,92,21,131,110,135,33,45,96,52,215,248,172,229,14,58,7,128,214,54,194,75,204,51,139,36,65,255,215,186,75,35,112,221,120,170,12,228,57,73,10,1,23,158,33,86,203,250,76,104,229,200,205,145,60,140,33,157,145,121,230,2,83,78,149,113,203,220,85,215,117,30,169,239,99,42,69,152,198,181,72,183,178,101,172,213,144,168,99,14,93,158,3,131,137,65,153,35,12,177,120,45,207,207,84,199,70,128,61,182,76,147,161,184,250,88,189,34,143,51,133,38,181,131,78,218,75,121,227,212,250,170,157,227,85,159,54,74,162,136,167,185,121,204,179,75,60,41,90,31,233,105,154,7,135,88,103,53,158,63,107,227,249,111,206,64,46,126,224,0,194,75,146,106,24,38,244,27,176,74,119,154,67,0,71,103,42,253,241,102,179,135,143,65,226,82,29,35,29,65,170,15,172,238,56,213,51,174,185,114,47,85,246,202,1,178,229,1,47,165,114,216,14,191,232,144,101,43,103,50,138,95,229,172,84,144,42,91,235,154,60,208,82,99,18,170,26,104,170,139,201,228,145,46,7,247,239,119,164,130,57,169,148,100,225,160,90,170,55,252,43,145,105,104,166,136,99,97,167,67,113,156,122,143,102,57,50,239,51,48,182,150,8,226,74,108,27,188,78,154,164,243,84,71,40,244,80,220,0,45,99,49,214,209,192,64,158,242,83,153,250,17,207,232,104,105,139,238,114,86,42,71,235,214,39,133,104,111,203,35,248,214,154,153,202,11,122,122,94,200,219,10,195,228,248,114,145,242,140,227,193,38,134,156,240,42,148,186,184,60,143,84,106,86,69,108,85,12,176,205,203,26,228,233,238,138,48,50,65,244,157,158,50,66,43,4,200,160,92,23,67,219,44,142,43,76,18,62,123,173,30,175,192,131,75,89,75,155,170,27,209,200,158,237,186,34,252,68,143,75,232,88,81,176,175,228,222,97,249,19,116,112,133,137,36,206,154,146,131,221,7,63,91,168,43,126,59,159,181,119,77,52,79,57,189,169,171,201,248,183,182,97,105,240,74,125,95,49,174,138,169,181,229,169,148,85,21,208,170,148,169,4,135,192,201,109,225,135,205,2,112,30,209,135,20,211,249,16,63,163,24,152,60,167,209,86,33,201,79,170,3,177,119,37,17,154,202,39,31,146,251,52,182,209,168,240,178,203,225,53,254,184,192,155,201,188,232,30,60,163,95,207,182,171,124,80,223,166,56,3,42,166,154,193,172,206,164,244,11,127,66,198,84,45,185,62,180,65,125,27,20,82,46,236,4,102,101,110,192,182,255,80,46,244,117,20,236,0,190,157,191,16,31,136,48,219,253,11,241,129,252,177,117,139,49,172,34,157,165,44,74,209,251,30,212,236,1,53,123,127,27,106,246,129,154,253,191,13,53,79,129,154,167,127,27,106,14,128,154,131,191,80,78,187,128,239,69,20,85,75,11,149,159,205,182,213,50,131,84,3,27,124,132,44,30,92,32,102,112,77,150,208,10,157,86,124,199,162,142,53,89,138,160,170,209,122,115,60,165,232,25,96,58,81,58,149,123,98,36,21,27,175,12,148,200,92,203,129,97,56,99,115,12,189,131,29,0,194,208,127,254,233,183,74,244,99,119,7,31,82,237,253,242,229,233,202,206,202,233,152,112,201,88,252,42,182,173,7,96,44,189,176,178,179,17,92,171,191,60,36,128,117,216,79,7,247,190,71,238,176,246,222,179,109,124,111,167,30,162,220,39,84,171,130,142,237,157,123,92,120,169,122,21,103,13,191,61,51,164,117,113,76,247,6,191,204,65,108,224,247,215,210,184,95,75,249,202,253,35,43,27,212,198,146,230,44,110,121,23,84,41,178,234,215,18,43,87,144,188,154,93,86,88,243,117,92,58,49,123,233,190,153,89,210,94,233,4,153,54,176,48,107,235,10,91,218,180,39,73,151,61,241,12,103,180,88,213,103,252,6,226,153,110,237,169,142,115,224,249,183,241,73,73,83,99,8,248,21,44,163,61,71,236,180,220,177,247,205,156,179,158,46,253,73,143,181,25,107,111,29,252,115,56,251,117,234,13,188,40,55,28,126,19,107,8,204,122,131,151,251,23,191,247,176,191,74,24,104,191,209,31,24,104,233,174,106,127,225,72,101,246,118,56,96,182,121,177,202,126,94,131,199,226,79,117,249,90,249,221,229,4,65,90,244,102,221,97,242,88,255,149,150,217,216,27,4,113,95,29,110,57,230,178,247,142,73,240,234,9,109,22,184,32,109,112,6,191,225,175,210,177,75,231,67,204,93,23,35,166,166,247,33,139,105,63,182,12,10,222,227,117,13,219,218,35,147,123,183,239,67,149,242,48,123,184,140,53,207,85,25,235,24,186,127,35,49,234,243,225,123,104,153,199,235,80,99,127,68,204,62,209,43,245,201,192,72,32,133,223,233,253,114,252,53,242,165,228,201,122,165,254,55,94,30,168,250,214,163,79,188,86,71,86,221,55,61,184,161,52,153,231,74,24,42,46,188,137,57,68,79,83,101,214,126,145,170,242,142,10,97,85,108,240,199,73,103,244,181,241,36,188,89,146,102,113,83,172,75,191,22,181,90,240,108,27,41,141,165,230,13,74,45,252,14,102,227,175,75,39,112,18,238,47,178,62,144,64,176,234,166,191,106,28,252,109,76,105,42,75,253,15,201,191,92,195,78,133,24,95,168,225,125,79,13,56,65,192,223,81,5,238,161,158,248,243,87,72,255,82,26,132,111,83,73,176,113,197,208,18,10,30,209,122,187,94,50,24,135,60,74,46,151,204,36,143,218,171,91,26,107,189,178,105,173,165,49,185,89,89,114,17,242,146,89,104,222,119,6,143,233,160,170,126,201,150,233,78,21,131,154,84,181,130,202,228,134,97,12,129,118,154,149,64,239,11,120,48,40,98,118,96,132,171,184,13,252,148,171,187,131,195,130,206,207,43,247,49,32,69,135,133,252,43,60,69,134,151,166,106,253,234,176,3,119,248,4,207,244,62,78,178,194,60,56,206,18,172,165,68,76,125,238,103,26,202,21,182,186,143,175,253,197,68,89,87,168,109,208,94,219,207,203,172,26,241,225,41,28,120,37,7,64,127,33,170,97,240,122,211,54,118,149,127,107,168,67,99,135,223,200,151,135,146,73,51,59,131,199,241,48,79,251,53,201,173,45,78,252,243,137,108,185,236,184,150,172,46,115,105,157,136,158,4,87,46,168,209,38,112,155,179,181,250,158,220,162,176,42,156,52,219,134,78,100,183,175,157,100,83,114,194,51,152,24,253,108,95,243,140,62,174,148,119,244,23,187,212,142,159,202,39,9,107,77,197,210,107,234,27,136,134,233,120,50,56,149,29,153,58,178,140,181,232,124,90,220,115,172,207,50,119,97,86,158,88,194,88,59,219,108,213,32,203,69,197,250,26,222,63,159,252,46,45,74,126,149,201,109,144,3,7,227,247,87,234,115,95,166,249,199,134,97,204,179,16,79,68,149,7,198,11,102,170,130,214,31,7,211,223,186,62,252,149,43,56,139,176,248,101,62,100,250,1,195,207,193,208,248,249,172,92,210,229,44,182,190,170,30,66,154,136,155,79,232,248,70,249,53,181,179,180,252,235,168,191,44,233,83,14,2,255,13,7,239,248,23,193,242,121,38,15,171,165,145,220,234,195,196,231,41,142,147,142,14,229,148,173,165,116,166,38,2,132,30,25,163,191,77,178,1,211,48,48,60,150,71,40,135,49,118,230,69,56,164,227,131,213,9,68,35,58,253,84,109,27,98,244,101,172,207,222,76,228,225,199,83,218,88,147,123,48,102,121,204,35,145,67,127,252,132,64,126,58,249,73,82,45,231,175,98,53,58,122,38,28,38,247,84,225,17,33,57,24,10,17,143,164,112,201,141,176,60,43,200,36,180,81,170,106,182,101,18,70,166,78,66,215,200,31,109,208,210,102,59,164,202,10,247,91,165,154,25,90,18,60,249,135,32,191,46,74,93,161,23,47,81,103,172,164,243,30,91,103,239,45,248,231,86,255,117,181,30,57,82,255,54,94,191,55,205,200,40,171,179,68,202,232,199,54,192,245,3,35,234,220,174,126,88,239,16,192,183,244,108,25,158,46,228,201,130,213,253,144,244,134,2,185,230,99,64,45,47,64,153,243,39,36,87,225,10,35,65,121,88,131,193,33,95,251,40,237,14,123,69,252,91,15,148,249,243,16,23,188,88,1,238,125,66,91,80,20,188,52,19,247,193,83,83,67,167,113,82,116,81,198,152,181,238,248,125,109,32,15,102,176,222,199,189,180,120,34,131,51,248,53,4,59,9,130,38,141,106,117,131,87,35,84,100,114,245,244,135,210,232,87,119,184,60,28,77,252,79,43,121,243,70,154,255,197,202,254,112,24,122,56,221,53,26,100,255,209,88,189,125,136,89,113,237,110,185,128,215,177,118,232,169,217,46,35,81,159,182,225,214,103,42,205,66,105,39,150,0,87,101,108,37,65,31,65,145,241,143,0,84,41,170,58,183,146,172,175,114,110,233,131,254,77,197,0,127,196,179,165,141,65,246,223,72,252,155,246,235,253,47,22,254,21,158,78,238,137,52,219,16,31,118,120,101,209,174,250,231,135,171,203,19,205,149,114,18,129,25,179,62,62,175,149,151,212,95,42,147,210,205,179,123,86,9,190,17,1,85,155,42,71,36,130,88,192,35,58,136,158,201,61,234,77,181,247,191,141,116,118,84,49,2,125,212,224,255,3,123,105,163,95,163,135,0,0}; \ No newline at end of file +#define index_html_gz_len 9836 +static const char index_html_gz[] PROGMEM = {31,139,8,0,0,0,0,0,0,3,221,125,107,123,219,54,147,232,247,243,43,16,166,111,76,214,36,37,219,177,227,72,150,178,105,236,180,57,155,139,55,118,218,221,199,235,227,7,146,32,139,9,69,114,73,202,151,117,245,223,207,204,0,32,193,139,108,37,77,187,221,183,23,139,34,128,153,193,96,48,23,96,0,29,60,154,196,227,252,54,17,108,150,207,195,225,1,254,101,33,143,46,7,150,136,44,248,46,248,100,120,48,23,57,103,227,25,79,51,145,15,172,69,62,245,246,161,44,15,242,80,12,223,5,111,131,203,89,206,126,89,140,14,58,242,213,65,24,68,95,88,42,194,129,149,229,183,161,200,102,66,228,22,155,165,98,58,176,102,121,158,100,189,78,103,206,111,198,147,200,31,197,113,158,229,41,79,240,203,56,158,119,138,23,157,29,127,199,127,214,25,103,89,249,206,159,7,80,43,203,44,133,163,10,242,50,200,17,10,124,204,22,35,63,136,203,118,94,30,95,94,134,162,179,237,195,191,85,144,170,168,128,220,160,187,21,21,224,249,156,249,227,48,94,76,166,33,79,5,145,206,63,243,155,78,24,140,76,232,89,24,76,68,218,121,238,63,243,187,53,196,178,232,251,34,206,68,40,198,121,240,223,194,255,156,117,186,254,214,182,191,71,88,203,247,5,254,157,63,173,203,132,171,179,133,216,159,214,251,76,101,247,97,38,89,139,248,92,12,172,171,64,92,39,113,10,162,51,142,163,92,68,32,123,215,193,36,159,13,38,226,42,24,11,143,190,184,65,20,228,1,15,189,108,204,67,49,216,2,16,143,60,239,44,152,178,48,103,111,142,216,243,243,225,255,97,240,207,65,54,78,131,36,103,89,58,94,187,79,56,27,118,179,89,112,5,178,248,204,223,41,191,3,119,1,79,71,130,68,248,7,143,206,68,52,9,166,231,158,55,60,160,254,12,125,156,59,34,245,210,248,250,110,20,167,248,56,138,243,60,158,247,182,146,27,150,197,48,250,236,241,120,60,94,134,124,36,194,187,73,144,37,33,191,237,141,194,120,252,101,233,167,124,18,196,94,156,228,65,28,221,37,124,50,9,162,203,94,151,237,38,55,253,241,34,205,226,180,151,196,1,48,37,93,34,205,115,30,77,188,209,2,160,71,217,93,24,100,185,71,52,244,162,56,18,253,57,79,47,131,168,215,237,23,96,26,109,88,24,20,4,4,17,12,190,240,136,14,213,214,75,113,138,247,182,196,188,31,95,137,116,26,198,215,61,190,200,227,165,63,141,211,185,7,35,147,222,222,105,52,172,203,182,187,208,195,174,89,202,228,51,142,99,26,135,119,52,114,189,237,174,152,87,42,85,57,97,18,34,153,4,253,201,109,95,164,105,156,58,76,126,122,65,52,141,139,38,216,223,165,89,48,142,67,96,85,42,38,253,41,160,246,50,152,1,61,255,25,162,45,43,245,70,2,104,16,119,74,200,122,27,246,70,165,152,79,129,205,101,169,3,165,106,104,71,121,164,187,141,93,94,250,151,60,23,215,252,214,3,70,83,33,112,138,231,61,226,222,242,177,130,192,252,73,26,39,147,248,26,198,53,206,2,28,224,158,146,225,26,119,155,45,188,185,136,22,230,96,73,230,60,134,185,53,157,6,99,47,139,130,233,180,202,141,199,244,78,76,60,85,7,8,190,241,102,130,6,116,183,107,140,168,119,171,198,84,35,187,111,56,252,136,95,141,120,122,55,226,227,47,151,105,188,0,81,82,172,190,28,113,251,233,150,139,255,237,186,254,115,231,81,48,199,57,204,163,188,175,102,1,138,246,34,67,41,148,64,188,81,10,162,232,86,190,245,102,72,150,26,190,199,211,233,116,233,3,63,65,125,0,75,38,28,164,173,129,24,43,41,12,245,9,230,75,210,87,244,228,122,22,228,194,203,197,60,241,146,96,252,5,176,42,238,108,3,115,74,52,61,108,3,228,93,34,249,48,40,118,30,51,26,88,247,49,223,155,108,77,167,172,235,34,13,108,183,251,15,124,224,221,110,151,109,117,187,255,112,250,173,51,75,79,198,29,57,85,102,11,209,130,94,206,19,132,210,175,233,135,178,62,8,105,212,214,10,212,225,216,198,166,204,99,59,98,190,130,140,170,50,89,171,191,48,155,100,95,161,127,123,254,222,222,222,51,232,112,23,190,237,128,197,134,127,232,155,226,67,183,59,101,123,69,165,41,124,219,215,149,16,12,241,71,118,230,138,135,240,87,209,120,215,28,72,96,167,214,70,161,152,230,61,127,183,232,41,246,217,232,126,251,48,39,225,34,243,192,238,192,95,236,96,114,87,153,107,38,167,199,33,244,187,7,186,122,86,103,122,29,6,147,234,179,55,13,82,80,185,241,212,67,79,170,170,236,165,234,44,100,94,207,129,60,78,234,37,82,87,96,223,214,69,27,242,149,88,17,76,43,210,106,193,67,136,124,114,232,52,108,197,35,20,88,13,82,205,61,152,101,250,141,52,60,52,104,133,140,131,213,98,250,255,103,96,193,10,139,164,70,109,231,41,188,164,193,82,47,182,252,167,207,239,97,200,52,16,225,4,234,134,73,187,213,42,117,253,150,191,141,114,82,23,28,208,212,225,109,50,11,64,155,248,89,2,19,8,168,188,227,81,48,231,164,142,241,21,219,202,24,168,127,212,204,130,201,185,208,247,174,197,232,75,144,123,213,154,219,45,85,151,232,42,148,250,29,220,28,168,127,5,182,24,168,208,125,4,89,91,142,226,137,182,156,218,59,216,238,162,41,153,130,203,100,204,106,122,247,47,115,49,9,56,139,163,240,150,129,235,33,68,196,64,85,50,27,129,210,216,176,222,14,218,33,231,174,13,236,46,130,88,7,198,211,253,149,48,186,235,194,120,182,183,191,2,198,214,238,254,154,48,158,63,223,94,5,99,107,15,97,248,243,120,2,142,31,86,96,126,134,254,109,28,121,21,137,109,58,92,66,8,45,150,186,212,7,165,161,204,36,43,229,194,35,61,164,228,123,111,186,215,82,35,131,9,85,152,168,189,189,229,34,244,185,36,98,149,43,102,120,96,213,154,171,28,176,150,122,228,4,41,149,51,158,5,225,196,185,107,136,247,191,124,17,183,211,20,156,232,140,161,132,222,77,211,120,126,7,14,64,148,161,183,213,35,87,217,222,114,88,26,231,224,177,216,93,103,153,199,247,148,239,236,117,39,226,210,129,81,211,51,160,10,127,91,34,208,133,37,160,10,252,149,197,5,120,191,8,83,188,9,60,229,162,226,64,249,99,175,44,135,169,54,47,93,78,240,76,151,224,142,147,223,125,208,145,65,43,138,197,176,213,235,71,7,223,191,140,99,8,251,120,18,100,53,167,255,243,127,45,68,122,11,30,63,4,48,234,11,197,43,21,151,191,21,238,186,33,237,231,122,68,251,48,232,117,67,219,207,43,34,219,135,49,60,16,10,129,71,32,210,108,12,126,50,70,150,91,254,62,132,67,229,59,239,187,224,88,17,53,183,70,204,127,24,89,91,164,12,79,25,120,170,160,84,96,178,26,53,190,119,239,42,1,242,231,21,241,113,43,66,185,52,147,139,155,188,243,153,95,113,249,214,26,78,23,17,169,9,6,238,247,105,252,75,22,218,220,21,110,234,220,241,206,96,123,119,215,21,242,35,165,143,254,21,79,89,230,230,238,120,240,142,231,51,31,196,86,85,119,103,234,77,16,233,55,209,192,30,111,206,156,206,118,63,152,218,227,193,96,230,100,131,124,208,237,139,48,19,119,8,104,52,24,123,179,126,118,13,2,58,179,243,65,52,244,119,95,140,58,246,182,7,175,157,30,60,97,115,119,236,220,141,121,38,24,239,101,3,91,120,169,211,25,109,218,226,32,125,177,215,235,58,253,81,42,56,184,162,88,65,96,133,212,227,88,97,219,44,72,177,128,123,2,11,158,46,179,206,96,111,153,138,124,145,70,119,179,94,230,102,189,220,133,240,112,185,44,56,241,241,231,159,242,248,151,147,95,53,39,182,6,131,1,168,139,5,68,80,121,230,135,34,186,204,103,79,158,216,98,192,253,75,55,133,191,35,151,195,223,212,209,236,105,48,103,220,96,206,108,0,42,24,88,212,5,216,249,139,110,111,214,201,221,209,32,239,32,147,53,71,84,199,199,64,126,215,236,15,114,2,24,177,57,251,177,224,131,139,189,250,113,86,103,7,112,99,115,251,199,89,75,41,242,4,88,178,249,180,40,173,242,36,114,175,122,163,229,114,93,41,194,142,127,122,255,230,244,226,248,229,199,151,239,78,6,119,208,213,119,1,248,233,25,88,237,29,23,88,161,190,237,60,235,226,183,159,72,47,71,34,203,192,187,216,93,186,159,222,92,156,190,252,233,100,112,118,151,243,203,158,149,243,17,152,242,105,96,185,211,20,34,136,73,120,219,179,126,195,239,75,183,172,144,1,189,137,89,227,132,94,152,85,66,49,49,43,188,61,58,172,20,211,74,137,89,225,35,189,48,171,204,255,43,207,205,26,239,254,237,244,212,90,158,35,193,175,223,28,189,61,44,72,230,19,232,242,197,34,19,41,174,64,153,77,94,98,9,43,75,208,249,236,89,159,212,119,6,230,140,133,160,110,193,184,131,43,8,161,82,62,11,50,6,6,47,225,151,80,27,61,244,158,5,83,28,202,225,27,31,25,220,209,132,74,220,9,207,178,107,112,94,76,220,199,197,59,137,85,127,255,30,88,199,226,2,12,184,137,237,213,17,235,176,227,127,61,101,244,94,97,132,190,195,156,58,58,57,222,223,222,219,67,54,72,228,27,175,142,54,152,141,79,239,63,190,222,126,250,182,187,197,40,142,156,242,177,112,24,86,0,64,170,198,198,241,91,240,219,158,117,222,158,238,63,239,118,55,140,138,43,41,205,42,178,48,206,162,6,173,39,239,215,35,243,228,253,198,154,88,82,1,223,235,120,62,30,157,28,173,199,16,170,185,46,46,144,236,58,38,144,238,58,30,24,87,128,79,224,177,20,44,84,190,200,152,242,22,153,221,29,192,35,31,1,44,167,207,34,113,73,129,6,112,23,194,219,12,253,179,224,50,226,33,179,83,129,107,126,128,133,121,219,4,11,157,202,152,131,20,1,208,117,135,32,225,227,47,192,157,84,36,130,231,89,85,70,177,132,21,37,146,252,211,153,96,209,98,62,18,128,110,202,242,0,29,70,92,71,160,90,236,227,107,38,1,2,149,184,204,5,37,163,69,56,202,86,18,147,86,102,54,218,93,69,202,5,200,81,30,167,38,65,191,156,158,30,107,68,186,84,18,245,110,17,230,65,18,6,99,201,41,89,136,163,89,237,29,49,41,21,224,0,102,57,198,119,184,66,151,195,48,143,110,97,154,9,70,240,95,30,191,241,217,167,67,122,96,64,52,192,12,33,160,1,94,11,0,13,131,180,144,120,132,238,168,11,113,8,155,131,199,164,57,197,178,89,188,8,1,170,40,133,8,65,175,169,51,22,121,12,244,130,72,164,32,179,34,13,226,138,226,120,9,197,158,42,102,186,88,50,1,139,48,134,213,4,203,58,216,49,185,184,206,4,200,207,173,49,120,184,44,144,147,191,47,198,64,130,152,64,199,65,42,187,68,177,150,192,53,197,8,170,143,113,249,229,246,130,150,247,13,138,15,117,9,147,37,74,205,2,135,241,59,74,8,134,84,16,44,42,172,186,178,18,35,8,231,217,161,152,114,24,97,18,52,236,79,134,250,153,90,19,131,97,248,244,150,149,236,41,140,201,211,253,253,231,207,117,127,160,153,234,206,122,99,128,198,229,2,236,0,16,82,183,49,76,191,150,221,56,4,142,163,222,72,217,155,99,6,145,32,112,61,67,214,82,213,81,26,127,1,223,150,125,160,37,127,26,21,201,234,91,198,37,249,224,80,204,152,45,110,248,60,9,65,187,206,111,177,157,106,54,198,40,119,127,255,233,74,146,201,4,86,72,134,224,53,24,131,189,201,65,13,71,13,202,169,148,21,165,218,240,208,87,98,126,89,43,51,134,5,7,224,72,82,216,131,119,192,229,172,211,147,124,190,8,38,197,35,18,217,233,209,26,19,188,246,217,137,16,236,227,209,203,195,119,71,4,123,186,72,97,228,96,128,69,206,131,112,181,62,104,118,106,145,76,96,182,61,208,55,89,233,254,46,66,151,146,197,8,122,53,99,70,155,204,103,199,74,212,242,25,40,22,78,19,153,38,59,76,93,136,129,89,172,8,87,146,133,107,26,73,189,5,41,59,170,77,246,90,77,184,235,32,12,113,34,130,236,50,116,53,36,66,80,12,104,221,177,201,87,176,1,109,196,67,92,160,58,95,51,206,38,79,116,99,159,253,54,195,165,27,38,215,11,199,51,240,44,81,73,96,177,75,211,111,186,128,110,125,137,112,63,65,54,66,67,0,239,101,3,234,52,232,62,5,23,184,168,189,152,26,97,235,75,64,139,243,38,71,16,10,88,221,121,163,23,36,191,49,186,80,248,84,153,184,107,163,109,243,219,8,82,178,202,121,43,144,126,11,78,178,132,23,133,11,69,19,170,225,3,151,46,22,147,229,146,2,8,58,217,207,191,252,55,35,24,96,140,38,34,4,181,131,11,113,114,248,36,255,131,41,187,141,23,52,114,248,176,1,114,27,197,168,67,81,28,121,84,56,124,143,52,193,237,36,173,176,221,82,93,180,57,18,111,165,34,169,57,18,111,162,49,132,61,132,91,82,39,191,163,59,1,178,196,231,241,2,166,148,114,49,80,111,194,55,137,2,91,160,24,171,73,136,170,134,204,136,169,231,203,170,133,245,96,128,99,199,95,207,0,200,201,54,13,23,217,76,118,255,138,135,149,136,134,196,158,202,89,89,174,124,17,240,43,230,139,121,197,206,134,64,14,237,115,225,228,207,175,113,105,148,26,147,30,80,243,14,222,240,108,214,222,27,24,79,240,11,81,243,4,115,90,101,205,5,140,45,152,255,12,186,89,131,176,166,193,54,148,74,138,127,194,96,30,52,34,42,5,26,43,48,85,225,171,58,105,234,89,172,132,190,160,130,105,79,12,163,190,219,237,174,246,87,43,179,164,226,208,93,228,179,52,206,243,80,224,131,0,183,43,156,172,116,96,153,174,203,140,186,178,51,175,228,22,118,198,102,48,49,146,138,215,75,202,93,183,4,171,86,216,10,82,248,100,190,67,52,249,36,164,186,215,32,191,104,7,120,36,5,155,182,193,152,13,170,200,228,145,35,21,229,152,99,32,80,67,138,94,179,129,150,225,214,45,224,126,23,19,49,85,184,4,5,166,138,238,221,34,129,154,166,195,180,221,237,206,215,245,191,87,112,23,58,139,187,30,87,65,126,187,6,127,43,181,191,154,195,191,128,135,1,18,69,157,203,42,236,105,242,5,172,13,206,9,218,217,158,114,152,240,105,85,172,186,46,155,243,27,18,84,201,172,173,110,23,222,117,245,188,202,86,11,221,125,124,153,75,225,95,205,138,162,66,75,239,167,60,213,61,192,217,63,134,209,156,8,169,249,72,241,149,51,74,2,19,165,183,81,233,219,206,186,180,75,151,76,105,52,220,101,171,232,230,159,201,102,203,41,169,75,37,213,39,180,110,153,177,235,89,48,158,169,50,35,180,1,117,29,46,38,64,93,160,166,185,132,161,39,59,142,11,4,206,167,232,254,36,113,132,106,29,117,118,169,0,52,245,109,228,181,79,125,17,225,152,93,112,29,230,92,160,157,187,144,139,114,196,128,178,87,71,84,149,21,85,201,36,50,163,170,236,226,107,160,232,227,207,63,253,246,155,12,82,153,45,77,33,188,218,124,245,234,20,189,250,215,159,78,187,251,207,29,151,73,228,153,1,178,128,86,204,123,68,130,118,140,209,78,21,14,18,159,78,129,135,133,15,133,142,144,152,131,218,134,112,31,164,30,121,148,225,35,109,60,2,163,209,219,70,103,243,26,148,4,11,64,191,16,179,209,70,131,123,241,69,115,236,65,62,172,50,208,98,34,171,162,169,187,0,37,52,13,46,235,235,20,196,167,201,2,5,138,97,53,166,171,73,134,21,85,136,86,35,180,36,251,205,94,142,199,168,12,143,49,243,64,213,227,160,9,208,194,199,10,18,246,155,86,12,85,103,52,81,6,213,24,116,182,211,60,133,208,161,177,114,104,16,68,20,203,74,10,99,4,236,127,144,248,25,207,154,173,116,172,73,48,35,24,97,99,4,214,37,58,166,161,174,201,102,149,12,163,202,90,44,206,22,196,99,116,193,33,198,95,208,54,247,215,146,37,245,73,43,77,197,146,73,182,14,61,25,38,200,193,232,210,170,10,134,76,248,165,104,255,45,68,129,88,46,162,10,105,175,209,167,97,99,233,13,54,168,123,95,95,137,2,250,144,98,178,138,228,14,73,186,181,10,69,99,67,179,209,96,91,67,127,18,125,231,238,207,31,63,124,58,190,56,57,125,121,122,116,241,175,71,255,113,50,56,179,148,230,178,228,130,29,60,140,138,245,114,248,18,138,43,1,110,160,53,91,80,157,98,102,195,23,218,82,134,79,201,9,235,139,8,175,130,226,253,5,42,5,4,6,74,72,241,10,10,230,201,2,148,255,133,110,41,72,149,192,67,17,122,195,179,14,183,203,215,210,69,183,226,153,106,120,238,2,59,46,222,125,56,60,66,250,63,76,167,80,120,18,130,29,146,59,137,240,237,53,24,206,242,27,149,65,224,150,232,18,253,28,82,102,18,60,125,136,0,232,167,195,227,139,227,143,31,78,63,188,250,240,246,226,215,163,143,39,111,62,188,7,4,187,238,222,185,123,120,244,250,229,167,183,167,23,101,157,162,202,96,215,45,182,224,92,218,124,7,206,15,30,109,185,97,204,81,146,192,247,197,185,144,193,43,220,156,178,172,71,131,48,30,19,19,253,89,156,229,24,218,57,180,71,117,45,70,39,49,142,233,32,18,215,236,55,253,205,182,174,113,223,206,218,108,52,219,180,122,251,91,150,211,47,26,250,113,4,18,147,241,75,49,208,59,76,54,0,7,180,154,48,137,41,31,8,31,108,26,239,255,96,91,245,204,59,203,241,19,52,211,209,196,182,14,224,105,104,109,230,155,214,65,135,30,157,229,114,73,0,226,95,196,77,5,135,220,209,177,186,55,214,166,240,243,248,132,4,208,222,218,115,224,203,167,4,52,194,43,240,6,108,103,233,98,166,192,149,248,148,134,101,115,73,148,24,32,53,114,204,223,76,152,76,42,237,73,222,130,244,58,62,248,59,182,227,230,84,141,164,4,106,249,18,28,168,17,16,45,168,131,189,178,45,242,140,44,199,229,131,75,145,191,90,164,41,120,182,239,64,8,109,71,14,193,96,32,28,116,88,174,173,119,11,144,7,129,225,142,214,1,111,14,45,172,84,32,81,217,173,5,108,48,249,240,156,37,97,0,35,227,194,163,242,26,50,155,59,191,255,110,231,131,174,227,90,184,231,12,236,6,178,7,3,20,95,156,204,77,140,114,113,1,17,42,238,117,84,102,102,6,163,13,163,11,127,57,253,205,151,110,181,35,38,239,100,91,134,4,147,82,11,3,197,148,58,59,150,174,244,100,200,63,26,92,248,218,233,180,205,113,196,28,217,31,124,220,15,182,239,22,105,216,43,134,11,88,63,23,249,44,158,128,103,248,233,212,114,17,116,239,255,158,124,120,239,75,101,19,76,111,161,189,171,146,65,79,73,13,241,68,45,96,199,81,231,115,134,90,67,233,250,158,137,18,116,215,36,20,20,127,126,34,2,225,229,114,233,44,161,161,220,154,228,161,72,115,120,88,46,221,45,177,227,184,168,163,95,201,212,224,85,221,80,93,176,58,217,45,248,208,224,182,222,21,196,127,56,249,86,234,129,38,73,128,26,166,19,90,10,249,24,95,27,51,193,205,93,46,229,57,24,88,7,121,58,4,105,218,196,167,201,208,114,225,105,227,128,68,85,229,142,107,105,207,206,206,45,54,6,221,158,13,44,51,5,217,146,78,254,192,218,0,121,216,176,58,195,13,151,160,117,52,184,85,128,113,41,118,13,160,249,131,64,39,193,149,134,129,169,173,36,178,22,67,246,169,196,13,120,47,147,126,172,225,70,31,208,216,216,247,104,208,237,71,7,173,26,85,109,106,247,163,205,77,201,167,120,208,90,239,44,58,119,179,1,31,12,226,223,127,143,7,131,123,52,240,147,39,143,218,49,25,51,179,79,157,161,84,97,163,59,172,146,173,187,177,105,103,47,44,166,38,79,207,178,28,224,142,100,142,102,46,206,229,129,92,67,178,116,250,63,174,88,64,247,145,217,232,191,162,149,195,164,160,129,21,131,101,146,156,42,248,29,3,68,38,241,140,103,2,84,246,68,226,177,134,204,218,140,213,48,16,149,67,75,109,146,51,249,18,198,97,216,62,66,146,253,245,94,77,208,61,71,31,102,30,95,9,79,103,124,171,197,187,162,83,186,85,145,45,198,202,188,49,217,20,179,59,130,66,66,36,46,77,131,65,78,7,37,125,73,54,175,48,120,134,142,2,229,164,114,70,228,135,135,27,85,168,70,233,155,204,16,6,5,211,106,28,159,60,249,193,7,237,135,147,21,231,179,130,14,254,84,213,194,53,204,109,215,253,48,250,140,40,191,136,219,12,42,97,10,255,17,7,141,82,52,204,165,0,114,176,40,27,143,53,96,105,74,206,228,224,202,25,114,190,225,244,185,146,219,97,247,201,19,91,73,0,230,106,248,60,207,83,219,34,31,197,121,193,253,105,16,130,106,183,55,206,202,137,123,150,159,75,32,254,24,61,14,219,233,113,178,101,88,224,56,75,199,5,99,172,29,160,12,160,151,25,61,148,227,43,183,90,50,187,90,175,217,27,96,67,217,146,79,38,178,157,125,135,9,20,61,50,216,168,225,136,172,158,88,34,222,178,122,42,166,184,128,84,160,66,92,205,40,86,59,15,192,46,217,84,113,169,37,222,69,150,229,213,225,181,104,65,177,21,238,18,198,79,248,109,193,220,42,148,173,129,223,61,72,91,97,183,161,149,65,211,122,104,85,236,182,54,90,5,187,134,182,8,151,30,68,90,6,86,235,160,44,225,214,16,202,192,225,65,108,42,164,90,7,149,130,184,212,179,9,92,167,138,194,241,36,195,51,152,241,152,113,12,30,152,211,23,250,24,138,26,13,144,252,198,171,86,33,135,41,151,144,123,90,183,194,182,18,242,179,238,57,200,239,217,214,57,252,217,150,51,172,233,139,163,45,207,248,149,248,89,2,121,37,17,182,251,164,24,64,45,38,137,214,162,208,13,240,66,193,157,135,50,233,119,186,160,93,164,186,124,133,250,212,182,232,92,142,37,147,180,72,189,152,74,197,52,250,231,27,216,118,206,19,163,139,165,3,241,3,88,46,233,246,246,181,49,200,222,243,247,118,224,188,0,71,19,52,28,85,128,185,94,69,235,70,16,74,59,189,0,58,30,212,145,107,199,224,207,70,28,33,226,138,119,126,214,176,151,173,52,228,134,71,155,215,61,88,242,223,31,65,21,237,104,196,131,51,116,19,186,253,236,64,107,232,126,6,158,69,124,150,157,15,206,56,252,117,3,252,19,193,159,243,126,233,21,22,86,164,240,11,105,28,31,240,94,219,188,198,187,154,204,246,98,212,173,75,41,93,135,122,168,77,193,194,46,212,4,82,75,219,5,113,195,140,131,44,7,196,185,204,56,246,101,52,146,185,205,216,139,9,159,216,4,76,250,83,250,89,218,30,105,62,160,139,50,253,89,119,210,236,163,105,90,112,94,40,99,4,67,58,11,178,218,168,222,103,136,170,92,196,248,81,51,230,8,69,174,18,130,138,23,6,231,188,96,226,145,35,101,181,201,105,75,61,243,164,158,214,83,194,113,122,237,32,219,102,187,142,175,48,64,83,29,104,234,147,122,64,74,241,236,134,142,220,206,170,238,34,250,252,231,140,111,40,114,28,212,56,146,2,87,135,123,22,122,21,113,38,50,136,70,139,51,113,192,83,217,34,167,174,226,9,4,81,198,177,149,9,135,190,153,57,38,171,195,91,225,188,208,85,179,25,104,91,100,141,252,90,97,70,17,123,206,2,236,31,234,217,4,143,100,255,42,231,125,101,196,244,90,196,156,34,189,142,253,159,147,77,231,63,125,243,195,246,108,255,71,199,121,209,209,138,232,110,206,63,199,105,47,71,245,62,15,34,122,220,62,7,20,0,1,30,119,206,221,20,6,11,49,193,183,93,44,0,125,215,59,163,250,84,147,234,96,209,57,8,48,104,53,113,45,210,38,109,110,225,27,154,196,163,3,21,84,223,228,133,134,228,62,225,26,6,242,115,233,202,184,246,21,250,249,175,227,84,134,182,45,18,129,58,19,164,128,62,120,77,79,224,203,71,3,116,129,97,184,199,82,110,60,165,65,11,33,245,213,139,77,139,217,184,250,2,96,3,30,229,155,150,163,52,242,163,65,46,33,132,72,65,1,128,249,40,235,120,72,2,64,137,138,153,213,180,229,103,85,233,160,186,231,46,154,52,243,117,2,114,7,214,142,23,2,130,47,48,253,184,148,17,53,159,150,154,34,232,147,34,141,162,131,6,105,106,57,178,116,24,220,102,45,61,87,165,56,74,99,219,231,131,234,160,218,185,159,243,203,11,52,62,110,193,42,231,133,5,117,152,198,198,175,192,51,195,29,136,71,16,142,253,135,76,35,136,229,202,240,28,162,16,90,9,142,114,93,221,151,179,79,19,145,45,230,115,136,30,53,169,92,18,18,12,114,31,230,3,110,230,171,144,192,12,59,148,200,228,62,146,5,195,48,17,55,31,208,71,83,67,231,60,26,120,91,104,236,140,160,3,81,78,131,116,126,205,83,225,225,193,119,75,177,217,194,3,240,16,134,161,157,24,165,241,53,184,92,23,168,4,208,196,92,44,210,16,21,117,80,19,109,208,255,89,28,130,7,23,95,170,101,143,226,43,184,113,253,22,105,115,31,24,33,35,152,212,71,213,88,123,84,73,10,94,133,149,206,125,156,188,127,208,165,122,113,11,83,199,71,49,90,182,187,198,10,19,116,23,4,217,229,104,60,208,3,95,164,130,60,20,221,178,56,111,147,4,250,228,10,30,137,72,69,18,103,157,44,152,196,179,142,200,18,76,160,189,152,7,148,44,118,1,117,160,60,164,212,142,142,36,175,13,51,46,167,13,68,3,179,214,12,198,138,87,125,185,86,16,119,105,222,87,188,55,197,115,140,37,229,216,235,85,4,215,250,240,30,151,53,101,59,167,60,221,115,74,139,52,54,56,157,240,53,70,222,214,139,48,214,163,133,117,173,143,139,211,25,234,189,159,234,26,254,101,241,52,194,213,213,226,244,194,253,53,251,245,94,148,219,8,216,19,121,94,6,87,8,242,95,201,35,112,183,186,221,31,185,159,57,202,160,30,163,74,23,215,175,16,28,30,195,250,49,247,103,84,7,226,18,245,25,170,32,167,220,124,208,174,44,150,87,10,60,227,240,128,95,156,29,112,58,118,229,189,62,69,176,162,118,189,75,198,30,232,138,62,5,138,194,114,123,69,82,24,13,204,119,63,226,89,232,78,141,146,242,4,67,3,175,220,159,105,199,24,225,204,111,114,176,177,88,153,211,178,53,224,133,33,133,71,62,216,237,74,183,161,113,224,25,157,13,176,241,198,177,118,130,216,179,102,32,45,180,100,237,210,110,193,63,92,90,185,254,135,67,75,166,120,0,241,68,111,140,180,6,88,180,5,1,6,196,220,62,193,224,170,25,88,85,143,53,86,124,187,234,153,72,169,59,178,132,71,4,68,42,148,19,74,31,214,180,88,68,27,188,249,90,226,186,15,18,167,152,213,70,156,164,187,149,184,56,49,104,35,213,87,185,49,161,176,116,168,160,171,139,107,149,139,56,44,189,208,212,226,228,37,32,8,118,67,121,60,234,98,104,37,187,12,172,207,91,157,52,60,173,241,239,158,6,20,79,167,32,105,0,10,143,115,130,42,200,59,246,214,143,186,144,142,198,226,42,82,32,15,35,145,168,208,204,5,235,216,50,167,3,199,220,154,176,239,64,240,72,81,246,181,20,154,119,8,160,7,27,99,146,52,216,184,178,139,28,181,60,140,76,238,99,174,56,209,1,178,189,84,117,23,137,93,181,7,184,0,32,139,192,106,172,44,195,177,173,162,120,242,164,142,128,102,138,156,124,86,49,11,229,219,148,95,123,178,95,56,36,148,48,209,116,177,238,150,192,111,57,20,163,248,6,116,184,102,98,101,97,81,191,12,64,150,122,122,220,74,239,74,134,234,226,172,218,150,210,72,157,115,48,126,38,119,133,38,186,184,93,37,111,21,153,202,136,168,186,189,170,223,167,222,98,96,174,25,65,219,45,171,64,26,27,55,107,131,212,243,175,14,13,3,62,18,103,112,82,84,110,24,134,139,106,254,188,48,149,14,132,42,149,121,110,107,208,149,233,229,81,28,213,74,118,5,86,235,196,212,193,14,22,226,145,94,120,5,77,45,2,5,74,241,49,94,181,162,214,194,144,55,238,3,221,48,29,50,107,22,40,109,176,114,81,109,213,130,152,5,168,45,71,247,86,197,152,235,178,18,99,205,0,93,93,165,57,56,186,131,48,169,219,195,189,162,94,169,243,138,162,70,88,236,143,192,229,149,245,239,97,154,223,190,121,225,182,168,181,34,4,206,211,34,56,71,200,197,134,20,31,116,251,252,224,121,159,111,110,58,69,68,92,134,203,154,131,27,7,97,48,60,224,234,78,169,199,106,251,134,42,23,65,57,167,93,33,180,111,7,29,14,110,44,180,176,40,50,111,235,66,5,15,48,159,113,171,109,233,166,50,215,176,77,109,86,148,20,88,114,195,160,49,90,168,180,220,154,115,64,235,3,231,174,249,74,45,31,193,219,98,133,105,163,169,155,138,125,96,189,239,98,238,2,63,184,117,171,119,110,161,124,105,238,50,84,246,247,139,205,31,40,0,93,144,98,90,96,15,244,119,22,167,249,107,220,21,232,169,229,33,23,180,109,124,125,52,79,242,91,41,61,88,11,68,17,47,94,185,83,73,2,109,113,59,240,226,0,45,108,17,149,212,14,237,91,230,56,15,239,223,10,131,217,174,67,22,57,230,8,24,162,151,54,67,100,174,199,181,142,82,203,236,83,13,42,97,24,142,126,109,129,77,90,158,134,204,55,110,28,176,156,213,34,66,11,194,230,174,110,163,241,80,110,54,110,148,75,191,122,118,88,196,208,33,101,120,136,27,202,10,145,47,0,172,174,195,225,25,220,206,56,146,131,245,114,50,105,29,157,92,174,85,246,213,167,92,83,121,3,250,133,155,171,129,114,90,168,181,67,14,173,221,202,14,215,27,32,215,86,16,90,86,10,165,80,189,166,232,187,215,58,62,106,221,233,255,217,221,155,51,238,77,95,122,175,187,222,243,243,187,45,247,233,242,247,51,245,184,187,116,126,232,56,47,236,130,66,64,213,61,192,245,11,113,48,216,219,221,221,217,125,97,87,214,36,237,71,91,14,122,84,189,218,107,153,249,49,194,28,73,74,176,199,237,89,157,102,217,189,233,226,69,76,152,61,217,189,121,13,255,88,56,92,206,247,128,81,157,130,197,83,101,85,89,173,88,108,28,44,138,221,241,136,95,49,248,223,203,249,40,179,88,48,193,9,148,47,146,83,252,58,220,112,163,129,86,239,125,117,158,186,117,175,70,238,186,23,115,107,99,51,66,229,89,78,188,13,20,37,126,137,187,226,149,148,2,192,138,58,86,248,58,105,206,84,182,136,220,66,81,150,192,13,112,141,141,154,22,168,159,14,143,11,80,122,91,123,17,182,164,59,32,48,181,78,94,233,49,195,44,183,7,59,93,3,4,211,4,207,112,130,1,150,60,32,142,150,189,151,240,173,242,168,119,235,102,53,196,143,184,152,53,194,56,31,218,233,185,84,65,86,222,83,135,249,24,28,187,135,179,25,212,104,153,0,1,117,104,107,187,64,14,143,38,163,85,2,2,248,210,152,145,248,228,137,205,107,61,42,111,54,82,28,198,71,15,117,130,132,139,95,105,160,149,38,113,121,145,195,0,70,177,245,8,14,222,77,224,227,211,139,58,50,35,237,4,153,214,218,122,69,66,202,3,9,31,58,213,99,216,150,221,129,184,162,116,186,253,84,39,122,180,35,110,73,249,80,158,66,132,71,143,44,214,25,50,122,210,108,125,128,166,213,196,132,57,158,72,255,86,106,228,121,118,34,167,114,194,189,32,75,14,85,107,242,122,49,52,82,16,164,218,168,218,85,25,160,49,51,187,131,173,76,14,96,115,121,182,89,128,216,215,51,82,219,183,124,81,124,164,173,31,210,50,195,65,71,127,91,106,225,146,168,193,22,25,249,185,127,136,112,115,130,148,25,167,223,129,62,252,254,80,194,123,65,249,125,83,225,33,32,127,210,172,80,104,235,200,36,215,30,164,105,181,136,230,41,184,123,40,160,242,168,195,31,158,48,234,68,204,247,39,116,202,195,76,82,122,40,81,212,39,81,53,93,12,245,226,138,68,188,186,164,97,46,158,169,43,193,148,240,165,52,117,250,157,54,124,235,24,152,134,61,148,22,175,25,75,102,30,93,82,198,140,187,202,140,56,74,237,62,154,84,84,158,41,74,215,59,205,101,250,112,224,212,75,178,197,104,30,228,118,99,177,187,45,246,108,201,186,240,103,60,171,197,150,78,51,135,3,23,66,244,181,63,50,89,216,164,64,164,1,15,193,229,121,153,166,252,214,198,62,78,22,99,97,183,249,168,226,76,238,207,156,23,59,124,47,168,149,31,100,178,53,199,132,175,100,145,205,10,39,180,87,180,25,156,129,191,42,223,158,27,111,213,43,87,44,221,59,8,79,129,62,31,164,3,185,117,215,84,148,189,179,243,37,58,189,127,198,118,126,142,113,154,145,58,172,65,75,65,160,53,54,248,196,197,7,220,99,214,225,101,99,13,2,197,185,125,96,21,236,182,241,105,11,78,86,202,228,74,82,140,251,21,87,238,95,66,181,131,128,226,182,246,213,88,35,198,163,27,52,104,23,42,184,196,21,129,60,142,209,72,217,119,73,8,246,21,239,99,234,89,184,116,235,210,213,125,181,248,188,240,127,44,153,67,204,131,8,98,14,185,34,128,249,24,122,109,68,198,72,122,5,238,177,58,89,86,89,46,107,221,53,118,42,153,149,118,203,146,10,174,118,148,55,40,161,247,94,58,242,35,220,102,144,215,214,170,11,87,64,105,154,33,160,166,184,250,90,53,145,183,8,67,145,74,52,149,74,77,126,177,106,117,213,153,139,170,225,25,199,97,200,147,172,120,205,211,75,188,160,93,223,164,91,20,15,171,241,122,234,225,181,139,214,80,110,83,97,7,130,75,146,106,21,117,178,74,117,26,67,0,103,13,191,75,113,145,234,202,32,186,168,246,145,110,254,213,247,196,119,172,234,213,242,92,217,128,42,123,101,7,89,179,195,141,120,11,203,225,131,238,54,55,2,155,98,226,87,57,43,39,72,149,173,245,153,60,212,82,83,68,61,53,208,180,130,41,35,60,122,124,96,45,132,182,54,104,74,73,22,14,171,155,42,5,255,74,100,26,90,177,220,102,96,167,235,164,172,122,141,118,57,42,218,51,176,157,134,8,226,158,185,7,166,33,137,147,69,162,221,8,122,41,110,128,150,137,152,104,147,61,148,247,99,85,134,126,204,83,186,209,221,160,187,28,149,202,141,214,245,65,33,218,61,121,243,229,90,35,83,105,160,135,231,165,252,90,97,152,236,95,38,18,158,114,188,18,168,32,39,184,10,228,92,108,142,35,109,10,168,237,6,21,177,155,234,101,13,242,116,117,69,24,169,32,58,225,170,148,208,10,1,42,80,174,139,193,43,210,24,20,38,9,159,189,86,175,87,224,193,77,199,198,217,131,86,52,178,166,87,159,8,63,209,235,18,58,134,253,230,147,76,177,151,127,97,14,174,80,145,196,217,98,93,192,172,131,167,123,234,19,223,203,230,222,78,225,114,83,224,93,172,128,74,39,181,150,90,54,60,84,199,144,38,85,49,53,146,211,74,89,85,94,167,138,107,74,112,8,156,204,22,94,9,32,0,231,17,157,55,154,45,70,120,218,104,88,4,35,173,186,10,73,126,90,237,136,153,63,70,104,42,39,163,36,247,169,111,227,113,238,166,151,163,107,252,115,129,95,166,139,188,187,255,156,62,158,111,85,249,160,142,112,89,67,90,246,46,58,179,58,220,209,13,254,132,176,166,186,56,254,208,57,142,45,152,144,114,11,110,80,236,161,14,217,214,31,10,88,190,142,130,109,192,183,253,23,226,3,17,102,59,127,33,62,144,63,182,238,138,9,171,72,103,41,139,82,244,190,7,53,187,64,205,238,223,134,154,61,160,102,239,111,67,205,51,160,230,217,223,134,154,125,160,102,255,47,148,211,46,224,123,25,134,213,248,191,242,183,93,183,26,106,144,22,170,134,31,33,212,6,19,136,17,92,155,38,52,92,167,21,199,189,212,133,64,13,15,170,234,173,183,251,83,138,158,33,134,19,165,81,185,199,71,82,190,241,74,71,137,212,181,236,24,186,51,38,199,208,58,84,183,222,240,182,138,138,247,99,86,7,27,82,173,253,234,213,233,202,202,202,232,20,238,82,161,241,171,216,54,31,128,209,104,176,178,114,33,184,70,125,121,189,6,235,176,159,246,239,109,71,230,176,214,238,249,22,182,219,174,187,40,247,9,213,42,167,99,107,251,30,19,94,78,189,138,177,134,79,183,232,210,186,56,102,187,195,95,22,32,54,240,249,181,52,238,213,66,190,50,211,103,101,129,74,1,106,143,226,154,249,106,165,200,170,143,6,43,87,144,188,154,93,134,91,243,117,92,58,41,178,30,191,153,89,82,95,233,0,153,82,141,152,145,100,196,26,233,149,146,116,89,19,111,63,71,141,85,125,199,111,192,159,233,214,222,106,63,7,222,127,27,159,148,52,181,186,128,95,193,50,202,14,99,167,101,110,229,55,115,206,120,219,248,37,157,181,25,107,38,121,254,57,156,253,186,233,13,188,40,83,67,191,137,53,4,102,189,206,203,76,211,239,221,237,175,18,6,202,12,251,3,29,45,205,85,237,135,197,84,100,111,186,3,69,66,30,171,100,94,23,120,12,254,84,247,152,149,221,109,6,8,82,163,183,207,29,38,127,77,99,165,102,46,244,13,130,184,111,29,174,233,115,153,89,126,18,188,122,67,59,250,23,52,27,172,225,111,248,81,26,118,105,124,136,185,235,98,196,208,244,62,100,17,101,206,75,167,224,61,62,215,176,173,221,51,153,101,127,31,170,132,7,233,195,203,88,139,76,45,99,29,67,245,111,36,70,157,178,191,135,150,69,180,14,53,230,89,123,246,137,154,212,7,3,61,129,4,62,147,251,229,248,107,228,75,201,147,209,164,254,211,74,15,172,250,214,189,79,124,86,151,189,221,55,60,152,250,27,47,50,37,12,21,19,222,198,28,162,167,109,101,214,108,72,171,242,150,114,97,149,111,240,199,73,103,116,2,127,26,220,52,164,89,220,228,235,210,175,69,173,230,60,155,74,74,99,169,89,131,114,22,126,7,181,241,215,133,19,56,8,247,47,178,62,16,64,176,106,122,102,213,15,254,54,166,180,45,75,253,15,201,191,220,104,78,132,152,92,168,238,125,207,25,112,130,128,191,227,20,184,135,122,226,207,95,33,253,141,48,8,91,211,146,96,235,142,161,33,20,60,164,77,113,189,101,48,9,120,24,95,54,212,36,15,189,213,37,173,107,189,178,104,173,173,49,153,86,46,185,8,113,201,60,40,218,91,195,39,116,197,91,191,100,203,108,187,138,65,13,170,218,65,101,50,181,27,93,160,237,246,73,160,55,239,31,116,138,152,233,24,225,46,110,11,63,229,238,238,240,32,167,155,39,203,100,3,164,232,32,151,191,95,149,167,248,88,172,90,31,30,116,224,27,190,193,219,240,143,227,52,47,94,28,167,49,174,165,132,76,29,204,44,10,202,29,182,186,141,175,253,80,169,92,87,168,165,210,175,109,231,101,84,141,248,240,178,26,124,146,29,160,31,102,107,233,188,78,175,199,170,242,87,186,58,212,119,248,68,190,60,20,76,22,163,51,124,18,141,178,164,95,147,220,218,230,196,63,159,200,150,219,142,107,201,106,147,75,235,120,244,36,184,114,67,141,210,245,77,206,214,214,247,100,138,194,42,119,178,200,237,57,145,213,190,118,144,139,37,39,188,170,140,209,95,239,154,167,116,12,86,126,163,31,202,83,105,57,149,195,35,107,13,69,163,153,58,173,210,50,28,79,135,167,178,34,83,55,251,49,155,110,118,198,196,96,253,43,0,14,140,202,83,67,24,107,87,0,174,234,100,185,169,88,223,195,251,231,147,223,198,166,228,87,169,220,22,57,176,208,127,63,84,7,179,153,230,31,27,5,17,79,3,188,75,88,254,212,130,96,197,170,160,241,179,122,250,84,242,195,231,145,193,88,4,249,47,139,17,211,47,24,30,220,67,229,231,179,114,75,151,179,200,56,255,62,130,48,17,147,79,232,226,83,121,238,221,106,108,255,90,234,7,93,125,138,65,224,191,209,240,29,255,34,88,182,72,229,53,207,212,147,91,125,13,255,34,81,119,156,176,107,78,209,90,66,183,209,34,64,168,145,50,250,85,159,71,48,12,195,130,199,242,242,241,32,194,202,60,15,70,116,241,182,186,149,107,76,247,6,171,180,33,70,103,152,125,246,102,42,175,13,159,81,98,77,230,66,159,229,5,169,68,14,253,108,16,129,252,116,242,147,164,90,142,95,69,107,116,244,72,88,76,230,84,225,29,57,25,40,10,17,141,165,112,201,108,85,158,230,164,18,60,148,170,154,110,153,6,97,177,78,66,207,200,31,173,208,146,118,61,164,150,21,238,215,74,53,53,212,16,60,249,251,171,95,231,165,174,152,23,175,112,206,24,65,231,61,186,206,204,45,248,231,158,254,235,206,122,228,72,253,22,3,221,110,150,146,82,86,183,190,148,222,143,169,128,235,87,123,212,185,93,189,2,193,34,128,111,233,93,19,158,94,200,147,11,86,247,67,210,9,5,114,207,167,0,213,220,128,42,110,10,145,92,133,39,244,4,229,181,26,5,14,217,236,163,212,59,236,144,248,183,30,168,226,135,85,46,120,190,2,220,251,152,82,80,20,188,36,21,247,193,83,67,67,151,214,146,119,81,250,152,181,234,120,18,122,32,175,208,48,218,99,194,43,222,157,97,13,127,13,64,79,130,160,73,165,90,77,240,106,133,138,76,174,222,211,81,42,253,106,134,203,195,222,196,255,244,36,111,79,164,249,95,60,217,31,118,67,15,102,59,197,12,50,127,171,89,167,15,49,195,175,221,41,55,240,58,70,134,158,26,237,210,19,245,41,13,183,62,82,73,26,72,61,209,0,92,149,177,149,4,125,132,137,140,63,159,81,165,168,106,220,74,178,190,202,184,37,15,218,55,229,3,252,17,203,150,180,58,217,127,35,241,111,203,215,251,95,44,252,43,44,157,204,137,44,210,16,31,54,120,229,162,93,245,87,191,171,219,19,237,43,229,36,2,115,102,92,19,80,91,94,82,191,241,39,165,155,167,247,236,18,124,35,2,90,109,170,92,27,10,98,1,175,232,39,28,152,204,81,111,91,123,255,219,72,103,71,45,70,160,141,26,254,127,212,236,247,215,26,139,0,0}; \ No newline at end of file diff --git a/web/src/css/style.css b/web/src/css/style.css index 591a55ee..100987be 100644 --- a/web/src/css/style.css +++ b/web/src/css/style.css @@ -165,3 +165,6 @@ ul.action-buttons { from { -webkit-transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); } } + +.selectize-delete { float: right; } +.c-selectize-item { margin: 0 1em; } \ No newline at end of file diff --git a/web/src/index.html b/web/src/index.html index da870181..d2e9a435 100644 --- a/web/src/index.html +++ b/web/src/index.html @@ -9,7 +9,7 @@ - +