diff --git a/Arduino/McLighting/McLighting.ino b/Arduino/McLighting/McLighting.ino index 7cb7dac..34a9089 100644 --- a/Arduino/McLighting/McLighting.ino +++ b/Arduino/McLighting/McLighting.ino @@ -369,16 +369,16 @@ void setup() { WiFiManagerParameter custom_mqtt_user("user", "MQTT user", mqtt_user, 32, " maxlength=32"); WiFiManagerParameter custom_mqtt_pass("pass", "MQTT pass", mqtt_pass, 32, " maxlength=32 type=\"password\""); #endif - sprintf(_stripSize, "%d", FXSettings.stripSize); + sprintf(_stripSize, "%d", Config.stripSize); WiFiManagerParameter custom_strip_size("strip_size", "Number of LEDs", _stripSize, 4, " maxlength=4 type=\"number\""); #if !defined(USE_WS2812FX_DMA) char tmp_led_pin[3]; - sprintf(tmp_led_pin, "%d", FXSettings.pin); + sprintf(tmp_led_pin, "%d", Config.pin); WiFiManagerParameter custom_led_pin("led_pin", "LED GPIO", tmp_led_pin, 2, " maxlength=2 type=\"number\""); #endif - sprintf(_rgbOrder, "%s", FXSettings.RGBOrder); + sprintf(_rgbOrder, "%s", Config.RGBOrder); WiFiManagerParameter custom_rgbOrder("rgbOrder", "RGBOrder", _rgbOrder, 4, " maxlength=4"); - sprintf(_fx_options, "%d", fx_options); + sprintf(_fx_options, "%d", segState.options); WiFiManagerParameter custom_fxoptions("fxoptions", "fxOptions", _fx_options, 3, " maxlength=3"); #endif @@ -444,13 +444,13 @@ void setup() { strcpy(mqtt_pass, custom_mqtt_pass.getValue()); #endif strcpy(_stripSize, custom_strip_size.getValue()); - FXSettings.stripSize = constrain(atoi(custom_strip_size.getValue()), 1, MAXLEDS); + Config.stripSize = constrain(atoi(custom_strip_size.getValue()), 1, MAXLEDS); #if !defined(USE_WS2812FX_DMA) checkPin(atoi(custom_led_pin.getValue())); #endif strcpy(_rgbOrder, custom_rgbOrder.getValue()); checkRGBOrder(_rgbOrder); - fx_options = atoi(custom_fxoptions.getValue()); + segState.options = atoi(custom_fxoptions.getValue()); if (updateConfig) { (writeConfigFS(updateConfig)) ? DBG_OUTPUT_PORT.println("WiFiManager config FS Save success!"): DBG_OUTPUT_PORT.println("WiFiManager config FS Save failure!"); } @@ -561,9 +561,8 @@ void setup() { #if defined(ENABLE_REMOTE) irrecv.enableIRIn(); // Start the receiver #endif - fx_speed_actual = fx_speed; - brightness_trans = brightness; - memcpy(hex_colors, hex_colors_trans, sizeof(hex_colors_trans)); + fx_speed_actual = segState.speed[State.segment]; + brightness_trans = State.brightness; initStrip(); strip->setBrightness(0); DBG_OUTPUT_PORT.println("finished Main Setup!"); @@ -625,91 +624,100 @@ void loop() { // Simple statemachine that handles the different modes // *************************************************************************** - if ((mode == OFF) && ((strip->getBrightness() == 0) || !FXSettings.transEffect)) { + if ((State.mode == OFF) && ((strip->getBrightness() == 0) || !Config.transEffect)) { if(strip->isRunning()) { strip->strip_off(); // Workaround: to be shure, delay(10); // that strip is really off. Sometimes strip->stop isn't enought strip->stop(); // should clear memory - autoCount = 0; - autoDelay = 0; + for (uint8_t i = 0; i < Config.segments; i++) { + autoCount[i] = 0; + autoDelay[i] = 0; + } } else { - if (prevmode != mode) { // Start temporarily to clear strip + if (prevmode != State.mode) { // Start temporarily to clear strip strip->start(); strip->strip_off(); // Workaround: to be shure, delay(10); // that strip is really off. Sometimes strip->stop isn't enought strip->stop(); // should clear memory - autoCount = 0; - autoDelay = 0; + for (uint8_t i = 0; i < Config.segments; i++) { + autoCount[i] = 0; + autoDelay[i] = 0; + } } } } - if (mode == OFF) { - if (prevmode != mode) { + if (State.mode == OFF) { + if (prevmode != State.mode) { #if defined(ENABLE_MQTT) snprintf(mqtt_buf, sizeof(mqtt_buf), "OK =off", ""); #endif - if (FXSettings.transEffect) { + if (Config.transEffect) { brightness_trans = 0; } } } - if (mode == SET) { - mode = HOLD; + if (State.mode == SET) { + State.mode = HOLD; // Segment - if (prevsegment != FXSettings.segment) { + if (prevsegment != State.segment) { #if defined(ENABLE_MQTT) - snprintf(mqtt_buf, sizeof(mqtt_buf), "OK Ss%i", FXSettings.segment); + snprintf(mqtt_buf, sizeof(mqtt_buf), "OK Ss%i", State.segment); #endif - prevsegment = FXSettings.segment; + prevsegment = State.segment; } // Mode - if (fx_mode != strip->getMode(FXSettings.segment)) { + if (segState.mode[State.segment] != fx_mode) { + segState.mode[State.segment] = fx_mode; #if defined(ENABLE_MQTT) - snprintf(mqtt_buf, sizeof(mqtt_buf), "OK /%i", fx_mode); + snprintf(mqtt_buf, sizeof(mqtt_buf), "OK /%i", segState.mode[State.segment]); #endif strip->strip_off(); - autoCount = 0; - autoDelay = 0; - strip->setMode(FXSettings.segment, fx_mode); + autoCount[State.segment] = 0; + autoDelay[State.segment] = 0; + //strip->setSpeed(State.segment, segState.speed[State.segment]); + //strip->setColors(State.segment, segState.colors[State.segment]); + strip->setMode(State.segment, segState.mode[State.segment]); } //Color - /*if (memcmp(hex_colors_trans, strip->getColors(selected_segment), sizeof(hex_colors_trans)) != 0) { - + /*if (memcmp(segmentState.colors[State.segment)], strip->getColors(State.segment), sizeof(segmentState.colors[State.segment)])) != 0) { + convertColors(); }*/ // Brightness - if (strip->getBrightness() != brightness) { + if (strip->getBrightness() != State.brightness) { #if defined(ENABLE_MQTT) - snprintf(mqtt_buf, sizeof(mqtt_buf), "OK %%%i", brightness); + snprintf(mqtt_buf, sizeof(mqtt_buf), "OK %%%i", State.brightness); #endif - brightness_trans = brightness; + brightness_trans = State.brightness; } // Speed - if (fx_speed_actual != fx_speed) { + if (fx_speed_actual != segState.speed[State.segment]) { #if defined(ENABLE_MQTT) - snprintf(mqtt_buf, sizeof(mqtt_buf), "OK ?%i", fx_speed); + snprintf(mqtt_buf, sizeof(mqtt_buf), "OK ?%i", segState.speed[State.segment]); #endif } prevmode = SET; - strip->trigger(); + //strip->trigger(); } - if ((mode == HOLD) || ((mode == OFF) && (strip->getBrightness() > 0) && FXSettings.transEffect)) { - if (fx_mode == FX_MODE_CUSTOM_0) { - handleAutoPlay(); - } + if ((State.mode == HOLD) || ((State.mode == OFF) && (strip->getBrightness() > 0) && Config.transEffect)) { if(!strip->isRunning()) strip->start(); strip->service(); + for (uint8_t i = 0; i < Config.segments; i++) { + if (segState.mode[i] == FX_MODE_CUSTOM_0) { handleAutoPlay(i); }; + } } - if (prevmode != mode) { + if (prevmode != State.mode) { convertColors(); - if (memcmp(hex_colors_trans, strip->getColors(FXSettings.segment), sizeof(hex_colors_trans)) != 0) { - convertColorsFade(); + if (memcmp(hexcolors_trans, strip->getColors(prevsegment), sizeof(hexcolors_trans)) != 0) { + DBG_OUTPUT_PORT.println("Color changed!"); + trans_cnt_max = convertColorsFade(prevsegment); trans_cnt = 1; + memcpy(segState.colors[prevsegment], hexcolors_trans, sizeof(hexcolors_trans)); } - strip->setSpeed(FXSettings.segment, convertSpeed(fx_speed_actual)); + strip->setSpeed(State.segment, convertSpeed(fx_speed_actual)); //strip->setBrightness(brightness_actual); #if defined(ENABLE_MQTT) #if ENABLE_MQTT == 0 @@ -724,14 +732,14 @@ void loop() { #endif } - prevmode = mode; + prevmode = State.mode; #if defined(ENABLE_STATE_SAVE) if (updateState){ (writeStateFS(updateState)) ? DBG_OUTPUT_PORT.println("State FS Save Success!") : DBG_OUTPUT_PORT.println("State FS Save failure!"); } if (updateSegState) { - (writeSegmentStateFS(updateSegState, FXSettings.segment)) ? DBG_OUTPUT_PORT.println("Segment State FS Save Success!") : DBG_OUTPUT_PORT.println("Segment State FS Save failure!"); + (writeSegmentStateFS(updateSegState, State.segment)) ? DBG_OUTPUT_PORT.println("Segment State FS Save Success!") : DBG_OUTPUT_PORT.println("Segment State FS Save failure!"); } if (updateConfig) { (writeConfigFS(updateConfig)) ? DBG_OUTPUT_PORT.println("Config FS Save success!"): DBG_OUTPUT_PORT.println("Config FS Save failure!"); @@ -739,62 +747,57 @@ void loop() { #endif // Async color transition - if (memcmp(hex_colors_trans, strip->getColors(FXSettings.segment), sizeof(hex_colors_trans)) != 0) { - if (FXSettings.transEffect) { + if ((segState.mode[prevsegment] != FX_MODE_CUSTOM_0) && (memcmp(hexcolors_trans, strip->getColors(prevsegment), sizeof(hexcolors_trans)) != 0)) { + if (Config.transEffect) { if ((trans_cnt > 0) && (trans_cnt < trans_cnt_max)) { if (colorFadeDelay <= millis()) { - uint32_t hex_colors_actual[3] = {}; - hex_colors_actual[0] = trans(hex_colors_trans[0], hex_colors[0], trans_cnt, trans_cnt_max); - hex_colors_actual[1] = trans(hex_colors_trans[1], hex_colors[1], trans_cnt, trans_cnt_max); - hex_colors_actual[2] = trans(hex_colors_trans[2], hex_colors[2], trans_cnt, trans_cnt_max); - strip->setColors(prevsegment, hex_colors_actual); + uint32_t _hexcolors_new[3] = {}; + _hexcolors_new[0] = trans(hexcolors_trans[0], strip->getColors(prevsegment)[0], trans_cnt, trans_cnt_max); + _hexcolors_new[1] = trans(hexcolors_trans[1], strip->getColors(prevsegment)[1], trans_cnt, trans_cnt_max); + _hexcolors_new[2] = trans(hexcolors_trans[2], strip->getColors(prevsegment)[2], trans_cnt, trans_cnt_max); + strip->setColors(prevsegment, _hexcolors_new); trans_cnt++; colorFadeDelay = millis() + TRANS_COLOR_DELAY; - if (mode == HOLD) strip->trigger(); + if (State.mode == HOLD) strip->trigger(); } } else if (trans_cnt >= trans_cnt_max) { - memcpy(hex_colors, hex_colors_trans, sizeof(hex_colors_trans)); - strip->setColors(prevsegment, hex_colors); - if (mode == HOLD) strip->trigger(); - trans_cnt = 0; + strip->setColors(prevsegment, hexcolors_trans); + if (State.mode == HOLD) strip->trigger(); DBG_OUTPUT_PORT.println("Color transition finished!"); + trans_cnt = 0; } } else { - memcpy(hex_colors, hex_colors_trans, sizeof(hex_colors_trans)); - strip->setColors(prevsegment, hex_colors); - if (mode == HOLD) strip->trigger(); - trans_cnt = 0; + strip->setColors(prevsegment, hexcolors_trans); + if (State.mode == HOLD) strip->trigger(); } } // Async speed transition - if (fx_speed_actual != fx_speed) { - //if (FXSettings.transEffect) { - if (true == false) { + if ((segState.mode[prevsegment] != FX_MODE_CUSTOM_0) && (fx_speed_actual != segState.speed[prevsegment])) { + //if (Config.transEffect) { + if (true == false) { // disabled for the moment if (speedFadeDelay <= millis()) { DBG_OUTPUT_PORT.println("Speed actual: "); DBG_OUTPUT_PORT.println(fx_speed_actual); - DBG_OUTPUT_PORT.println(convertSpeed(fx_speed_actual)); - DBG_OUTPUT_PORT.println(unconvertSpeed(convertSpeed(fx_speed_actual))); - if (fx_speed_actual < fx_speed) { + if (fx_speed_actual < segState.speed[prevsegment]) { fx_speed_actual++; } - if (fx_speed_actual > fx_speed) { + if (fx_speed_actual > segState.speed[prevsegment]) { fx_speed_actual--; } speedFadeDelay = millis() + TRANS_DELAY; strip->setSpeed(prevsegment, convertSpeed(fx_speed_actual)); - if (mode == HOLD) strip->trigger(); + if (State.mode == HOLD) strip->trigger(); } } else { - fx_speed_actual = fx_speed; + fx_speed_actual = segState.speed[State.segment]; strip->setSpeed(prevsegment, convertSpeed(fx_speed_actual)); - if (mode == HOLD) strip->trigger(); + if (State.mode == HOLD) strip->trigger(); } } // Async brightness transition if (strip->getBrightness() != brightness_trans) { - if (FXSettings.transEffect) { + if (Config.transEffect) { if(brightnessFadeDelay <= millis()) { if (strip->getBrightness() < brightness_trans) { strip->increaseBrightness(1); @@ -803,20 +806,20 @@ void loop() { strip->decreaseBrightness(1); } brightnessFadeDelay = millis() + TRANS_DELAY; - //if (mode == HOLD) strip->trigger(); + //if (State.mode == HOLD) strip->trigger(); strip->trigger(); } } else { - brightness_trans = brightness; + brightness_trans = State.brightness; strip->setBrightness(brightness_trans); - if (mode == HOLD) strip->trigger(); + if (State.mode == HOLD) strip->trigger(); } } /* // Segment change only if color and speed transitions are finished, because they are segment specific - if (prevsegment != FXSettings.segment) { - if ((memcmp(hex_colors_trans, strip->getColors(FXSettings.segment), sizeof(hex_colors_trans)) == 0) && (fx_speed_actual == fx_speed)) { - FXSettings.segment = prevsegment; + if (prevsegment != State.segment) { + if ((memcmp(hexcolors_trans, strip->getColors(State.segment), sizeof(hexcolors_trans)) == 0) && (fx_speed_actual == segState.speed[State.segment])) { + State.segment = prevsegment; } } */ diff --git a/Arduino/McLighting/data/index.htm b/Arduino/McLighting/data/index.htm index 592899e..15dee02 100644 --- a/Arduino/McLighting/data/index.htm +++ b/Arduino/McLighting/data/index.htm @@ -910,7 +910,7 @@ input[type=number], label{
- +
@@ -1324,14 +1324,14 @@ var config = { var state = { mode: 0, segment: 0, - brightness: 192 + brightness: 0 } var segstate = { start: 0, stop: 0, mode: null, - speed: 192, + speed: 0, color: {w:0, r:0, g:0, b:0, hex:"00000000", w2:0, r2:0, g2:0, b2:0, hex2:"00000000", w3:0, r3:0, g3:0, b3:0, hex3:"00000000"}, ws_fxopt: 0 } @@ -1466,7 +1466,7 @@ function changeRangeNumVal(){ }); speedNumVal.addEventListener('change', ()=>{ // make sure numbers are entered between 0 to 255 - speed.value = checkNumVal16(speedNumVal, speed.value); + speed.value = checkNumVal8(speedNumVal, speed.value); segstate.speed = speed.value; // Send Speed clearTimeout(sendIt); @@ -1665,7 +1665,7 @@ function readSettings() { document.getElementById("percentage-done").setAttribute("stroke-dasharray", "25,100"); document.getElementById("modal-content").innerHTML = language.en.loadSettings; xhttp("http://" + host + "/uistate.json", false, function(e) { - //console.log("readSettings()", e); + console.log("Read Settings: ", e); tmpsettings = (e && e.substring(0,6) !== "ERROR!") ? JSON.parse(e) : {}; // Replace default settings with saved ones for (var set in settings) { @@ -1827,9 +1827,6 @@ function initSettings() { option.innerHTML = i; selsegment.appendChild(option); } - if (state.segment > config.ws_seg - 1) { - state.segment = config.ws_seg - 1; - } selsegment.value = state.segment; }); var pin = document.getElementById("selectpin"); diff --git a/Arduino/McLighting/data/index.htm.gz b/Arduino/McLighting/data/index.htm.gz index 4383dad..e149892 100644 Binary files a/Arduino/McLighting/data/index.htm.gz and b/Arduino/McLighting/data/index.htm.gz differ diff --git a/Arduino/McLighting/definitions.h b/Arduino/McLighting/definitions.h index 6f6f463..baaa99a 100644 --- a/Arduino/McLighting/definitions.h +++ b/Arduino/McLighting/definitions.h @@ -26,12 +26,12 @@ char HOSTNAME[65] = "McLightingRGBW"; // Friedly hostname is configurable just #if defined(ENABLE_BUTTON_GY33) #define GAMMA 2.5 // Gamma correction for GY-33 sensor #endif -#define ENABLE_REMOTE 13 // If defined, enable Remote Control via TSOP31238. The value defines the input pin (13 / D7) for TSOP31238 Out +//#define ENABLE_REMOTE 13 // If defined, enable Remote Control via TSOP31238. The value defines the input pin (13 / D7) for TSOP31238 Out #define ENABLE_STATE_SAVE // If defined, load saved state on reboot and save state on SPIFFS #define CUSTOM_WS2812FX_ANIMATIONS // uncomment and put animations in "custom_ws2812fx_animations.h" -//#define USE_HTML_MIN_GZ // uncomment for using index.htm & edit.htm from PROGMEM instead of SPIFFS +#define USE_HTML_MIN_GZ // uncomment for using index.htm & edit.htm from PROGMEM instead of SPIFFS #define TRANS_COLOR_DELAY 5 // Delay for color transition #define TRANS_DELAY 10 // Delay for brightness and speed transition @@ -50,7 +50,6 @@ unsigned long speedFadeDelay = 0; uint8_t END_UNIVERSE = START_UNIVERSE; // Total number of Universes to listen for, starting at UNIVERSE #endif -uint8_t num_segments = 1; uint8_t prevsegment = 0; #if defined(ENABLE_REMOTE) @@ -95,9 +94,9 @@ uint8_t prevsegment = 0; // parameters for automatically cycling favorite patterns uint32_t autoParams[][6] = { // main_color, back_color, xtra_color, speed, mode, duration (milliseconds) {0x00ff0000, 0x0000ff00, 0x00000000, 200, 1, 5000}, // blink red/geen for 5 seconds - {0x0000ff00, 0x000000ff, 0x00000000, 200, 3, 10000}, // wipe green/blue for 10 seconds - {0x000000ff, 0x00ff0000, 0x00000000, 60, 14, 10000}, // dual scan blue on red for 10 seconds - {0x000000ff, 0x00ff0000, 0x00000000, 40, 45, 15000}, // fireworks blue/red for 15 seconds + {0x0000ff00, 0x000000ff, 0x00000000, 180, 3, 10000}, // wipe green/blue for 10 seconds + {0x000000ff, 0x00ff0000, 0x00000000, 100, 14, 10000}, // dual scan blue on red for 10 seconds + {0x000000ff, 0x00ff0000, 0x00000000, 100, 45, 15000}, // fireworks blue/red for 15 seconds {0x00ff0000, 0x0000ff00, 0x000000ff, 40, 54, 15000} // tricolor chase red/green/blue for 15 seconds }; @@ -143,26 +142,51 @@ uint32_t autoParams[][6] = { // main_color, back_color, xtra_color, speed, mod // *************************************************************************** #define DBG_OUTPUT_PORT Serial // Set debug output port +uint8_t autoCount[10] = {}; // Global variable for storing the counter for automated playback for each segment +unsigned long autoDelay[10] = {}; // Global variable for storing the time to next auto effect for each segment +struct { + uint16_t start = 0; + uint16_t stop = NUMLEDS - 1; + uint8_t mode[10] = {}; // Global variable for storing the WS2812FX mode to set for each segment + uint8_t speed[10] = {}; // Global variable for storing the speed for effects --> smaller == slower + uint32_t colors[10][3] = {}; // 2 dim. Color array for setting colors of WS2812FX + uint8_t options = FX_OPTIONS; +} segState; + // List of all color modes enum MODE {OFF, HOLD, SET}; -MODE mode = SET; // Standard mode that is active when software starts -MODE prevmode = HOLD; // Do not change +MODE prevmode = HOLD; // Do not change -uint8_t autoCount = 0; // Global variable for storing the counter for automated playback -long autoDelay = 0; // Global variable for storing the time to next auto effect - - uint16_t seg_start = 0; - uint16_t seg_stop = NUMLEDS - 1; - uint16_t fx_speed = 1000; // Global variable for storing the speed for effects --> smaller == slower +struct { + uint8_t segment = 0; // Actual selected segment + MODE mode = SET; // Standard mode that is active when software starts uint8_t brightness = 196; // Global variable for storing the brightness (255 == 100%) - uint8_t fx_mode = 0; // Global variable for storing the WS2812FX mode to set - uint32_t hex_colors[3] = {}; // Color array for setting colors of WS2812FX - uint8_t fx_options = FX_OPTIONS; +} State; +struct { + uint8_t segments = 1; + uint16_t stripSize = NUMLEDS; + char RGBOrder[5] = RGBORDER; + #if defined(USE_WS2812FX_DMA) + #if USE_WS2812FX_DMA == 0 + uint8_t pin = 3; + #endif + #if USE_WS2812FX_DMA == 1 + uint8_t pin = 2; + #endif + #if USE_WS2812FX_DMA == 2 + uint8_t pin = 1; + #endif + #else + uint8_t pin = LED_PIN; + #endif + bool transEffect = false; +} Config; -uint16_t fx_speed_actual = 1000; // Global variable for storing the speed for effects while fading --> smaller == slower +uint8_t fx_speed_actual = 196; // Global variable for storing the speed for effects while fading --> smaller == slower +uint8_t fx_mode = 0; uint8_t brightness_trans = 0; // Global variable for storing the brightness before change -uint32_t hex_colors_trans[3] = {}; // Color array of colors of WS2812FX before fading +uint32_t hexcolors_trans[3] = {}; // Color array of colors of WS2812FX before fading struct ledstate // Data structure to store a state of a single led { uint8_t red; @@ -202,23 +226,3 @@ bool updateConfig = false; // For WiFiManger custom config and config byte KeyPressCount_gy33 = 0; byte prevKeyState_gy33 = HIGH; // button is active low #endif - -struct { - uint8_t segment = 0; - uint16_t stripSize = NUMLEDS; - char RGBOrder[5] = RGBORDER; - #if defined(USE_WS2812FX_DMA) - #if USE_WS2812FX_DMA == 0 - uint8_t pin = 3; - #endif - #if USE_WS2812FX_DMA == 1 - uint8_t pin = 2; - #endif - #if USE_WS2812FX_DMA == 2 - uint8_t pin = 1; - #endif - #else - uint8_t pin = LED_PIN; - #endif - bool transEffect = false; -} FXSettings; diff --git a/Arduino/McLighting/filesystem_functions.h b/Arduino/McLighting/filesystem_functions.h index 9cadb35..994b583 100644 --- a/Arduino/McLighting/filesystem_functions.h +++ b/Arduino/McLighting/filesystem_functions.h @@ -77,14 +77,14 @@ strcpy(mqtt_user, root["mqtt_user"]); strcpy(mqtt_pass, root["mqtt_pass"]); #endif - num_segments = constrain(root["ws_seg"].as(), 1, MAX_NUM_SEGMENTS - 1); - FXSettings.stripSize = constrain(root["ws_cnt"].as(), 1, MAXLEDS); + Config.segments = constrain(root["ws_seg"].as(), 1, MAX_NUM_SEGMENTS - 1); + Config.stripSize = constrain(root["ws_cnt"].as(), 1, MAXLEDS); char _rgbOrder[5]; strcpy(_rgbOrder, root["ws_rgbo"]); checkRGBOrder(_rgbOrder); uint8_t temp_pin; checkPin((uint8_t) root["ws_pin"]); - FXSettings.transEffect = root["ws_trans"].as(); + Config.transEffect = root["ws_trans"].as(); jsonBuffer.clear(); return true; } else { @@ -151,9 +151,9 @@ JsonObject root = jsonBuffer.as(); serializeJson(root, DBG_OUTPUT_PORT); DBG_OUTPUT_PORT.println(""); - FXSettings.segment = root["segment"]; - mode = static_cast(root["mode"].as()); - brightness = root["brightness"]; + State.segment = root["segment"]; + State.mode = static_cast(root["mode"].as()); + State.brightness = root["brightness"]; jsonBuffer.clear(); return true; } else { @@ -199,10 +199,10 @@ } } - bool readSegmentStateFS(uint8_t seg) { + bool readSegmentStateFS(uint8_t _seg) { //read strip state from FS JSON char filename[28]; - snprintf(filename, 28, "/stripstate_segment_%02i.json", seg); + snprintf(filename, 28, "/stripstate_segment_%02i.json", _seg); filename[27] = 0x00; if (SPIFFS.exists(filename)) { //file exists, reading and loading @@ -224,23 +224,23 @@ JsonObject root = jsonBuffer.as(); serializeJson(root, DBG_OUTPUT_PORT); DBG_OUTPUT_PORT.println(""); - seg_start = constrain(root["start"].as(), 0, FXSettings.stripSize - 1) ; - seg_stop = constrain(root["stop"].as(), 0, FXSettings.stripSize - 1); - fx_mode = root["fx_mode"].as(); - fx_speed = root["speed"].as(); - main_color.white = root["color"][0].as(); - main_color.red = root["color"][1].as(); - main_color.green = root["color"][2].as(); - main_color.blue = root["color"][3].as(); - back_color.white = root["color"][4].as(); - back_color.red = root["color"][5].as(); - back_color.green = root["color"][6].as(); - back_color.blue = root["color"][7].as(); - xtra_color.white = root["color"][8].as(); - xtra_color.red = root["color"][9].as(); - xtra_color.green = root["color"][10].as(); - xtra_color.blue = root["color"][11].as(); - fx_options = constrain(root["ws_fxopt"].as(), 0, 255) & 0xFE; + segState.start = constrain(root["start"].as(), 0, Config.stripSize - 1) ; + segState.stop = constrain(root["stop"].as(), 0, Config.stripSize - 1); + segState.mode[_seg] = root["fx_mode"].as(); + segState.speed[_seg] = root["speed"].as(); + main_color.white = root["color"][0].as(); + main_color.red = root["color"][1].as(); + main_color.green = root["color"][2].as(); + main_color.blue = root["color"][3].as(); + back_color.white = root["color"][4].as(); + back_color.red = root["color"][5].as(); + back_color.green = root["color"][6].as(); + back_color.blue = root["color"][7].as(); + xtra_color.white = root["color"][8].as(); + xtra_color.red = root["color"][9].as(); + xtra_color.green = root["color"][10].as(); + xtra_color.blue = root["color"][11].as(); + segState.options = constrain(root["ws_fxopt"].as(), 0, 255) & 0xFE; convertColors(); jsonBuffer.clear(); return true; @@ -254,7 +254,7 @@ } } else { DBG_OUTPUT_PORT.printf("Couldn't find \"/%s\"", filename); - writeSegmentStateFS(true, seg); + writeSegmentStateFS(true, _seg); } //end read return false; diff --git a/Arduino/McLighting/helper_functions.h b/Arduino/McLighting/helper_functions.h index 2642786..e265b4e 100644 --- a/Arduino/McLighting/helper_functions.h +++ b/Arduino/McLighting/helper_functions.h @@ -1,25 +1,55 @@ // Prototypes -bool readSegmentStateFS(uint8_t seg); +bool readSegmentStateFS(uint8_t _seg); // End Prototypes -uint16_t convertSpeed(uint16_t _mcl_speed) { - uint16_t _fx_speed = 61760 * (exp(0.0002336 * _mcl_speed) - exp(-0.03181 * _mcl_speed)); - _fx_speed = SPEED_MAX - _fx_speed; - _fx_speed = constrain(_fx_speed, SPEED_MIN, SPEED_MAX); - //return _fx_speed; - return _mcl_speed; +// Call convertColors whenever main_color, back_color or xtra_color changes. +void convertColors() { + hexcolors_trans[0] = (uint32_t)(main_color.white << 24) | (main_color.red << 16) | (main_color.green << 8) | main_color.blue; + hexcolors_trans[1] = (uint32_t)(back_color.white << 24) | (back_color.red << 16) | (back_color.green << 8) | back_color.blue; + hexcolors_trans[2] = (uint32_t)(xtra_color.white << 24) | (xtra_color.red << 16) | (xtra_color.green << 8) | xtra_color.blue; } -uint8_t unconvertSpeed(uint16_t ws2812_speed) { - //log((SPEED_MAX - ws2812_speed)/61760) = (0.0002336 * mcl_speed) - (-0.03181 * mcl_speed); - //log((SPEED_MAX - ws2812_speed)/61760) = (0.0002336 + 0.03181) * mcl_speed; - uint16_t mcl_speed = (log((SPEED_MAX - ws2812_speed)/61760))/ (0.0002336 + 0.03181); - //uint16_t mcl_speed = 61760 * (exp(0.0002336 * mcl_speed) - exp(-0.03181 * mcl_speed)); - mcl_speed = 255 - mcl_speed; - mcl_speed = constrain(mcl_speed, 0, 255); - return mcl_speed; +/*uint32_t* convertColors2(uint8_t _w, uint8_t _r, uint8_t _g, uint8_t _b, uint8_t _w2, uint8_t _r2, uint8_t _g2, uint8_t _b2, uint8_t _w3, uint8_t _r3, uint8_t _g3, uint8_t _b3) { + uint32_t _hexcolors[3] = {}; + _hexcolors[0] = (uint32_t)(_w << 24) | (_r << 16) | (_g << 8) | _b; + _hexcolors[1] = (uint32_t)(_w2 << 24) | (_r2 << 16) | (_g2 << 8) | _b2; + _hexcolors[2] = (uint32_t)(_w3 << 24) | (_r3 << 16) | (_g3 << 8) | _b3; + return _hexcolors; +}*/ + +uint16_t convertSpeed(uint8_t _mcl_speed) { + uint16_t _fx_speed = 0; + if (_mcl_speed < 50) { + _fx_speed = 65535 - (_mcl_speed * 1000); + } else if (_mcl_speed < 100) { + _fx_speed = 16535 - ((_mcl_speed-49) * 250); + } else if (_mcl_speed < 150) { + _fx_speed = 4035 - ((_mcl_speed-99) * 50); + } else if (_mcl_speed < 200) { + _fx_speed = 1535 - ((_mcl_speed-149) * 25); + } else { + _fx_speed = 285 - ((_mcl_speed-199) * 5); + } + _fx_speed = constrain(_fx_speed, SPEED_MIN, SPEED_MAX); + return _fx_speed; } +/*uint8_t unconvertSpeed(uint16_t _fx_speed) { + uint16_t _mcl_speed = 0; + if (_fx_speed <= 285) { + _mcl_speed = ((285 - _fx_speed)/5) + 199; + } else if (_fx_speed < 1535) { + _mcl_speed = ((1535 - _fx_speed)/25) + 149; + } else if (_fx_speed < 4035) { + _mcl_speed = ((4035 - _fx_speed)/50) + 99; + } else if (_mcl_speed < 16535) { + _mcl_speed = ((16535 - _fx_speed)/250) + 49; + } else { + _mcl_speed = ((65535 - _fx_speed)/1000); + } + return _mcl_speed; +}*/ + bool checkPin(uint8_t pin) { #if defined(USE_WS2812FX_DMA) #if USE_WS2812FX_DMA == 0 @@ -32,8 +62,8 @@ bool checkPin(uint8_t pin) { pin = 2; #endif #endif - if (((pin >= 0 && pin <= 5) || (pin >= 12 && pin <= 16)) && (pin != FXSettings.pin)) { - FXSettings.pin = pin; + if (((pin >= 0 && pin <= 5) || (pin >= 12 && pin <= 16)) && (pin != Config.pin)) { + Config.pin = pin; return true; } return false; @@ -105,22 +135,22 @@ neoPixelType checkRGBOrder(char rgbOrder[5]) { returnOrder = NEO_BGRW; } else { DBG_OUTPUT_PORT.print("invalid input!"); - uint16_t check = checkRGBOrder(FXSettings.RGBOrder); + uint16_t check = checkRGBOrder(Config.RGBOrder); if (check != 0) { returnOrder = static_cast(check); - strcpy(rgbOrder, FXSettings.RGBOrder); + strcpy(rgbOrder, Config.RGBOrder); } else { returnOrder = static_cast(checkRGBOrder(RGBORDER)); strcpy(rgbOrder, RGBORDER); } } DBG_OUTPUT_PORT.println("success!"); - strcpy(FXSettings.RGBOrder, rgbOrder); + strcpy(Config.RGBOrder, rgbOrder); return returnOrder; } // function to Initialize the strip -void initStrip(uint16_t _stripSize = FXSettings.stripSize, char _RGBOrder[5] = FXSettings.RGBOrder, uint8_t _pin = FXSettings.pin){ +void initStrip(uint16_t _stripSize = Config.stripSize, uint8_t _num_segments = Config.segments, char _RGBOrder[5] = Config.RGBOrder, uint8_t _pin = Config.pin){ DBG_OUTPUT_PORT.println("Initializing strip!"); /*#if defined(USE_WS2812FX_DMA) if (dma != NULL) { @@ -134,15 +164,15 @@ void initStrip(uint16_t _stripSize = FXSettings.stripSize, char _RGBOrder[5] = F strip->resetSegments(); strip->resetSegmentRuntimes(); delete(strip); - FXSettings.stripSize = _stripSize; - strcpy(FXSettings.RGBOrder, _RGBOrder); - FXSettings.pin = _pin; + Config.stripSize = _stripSize; + strcpy(Config.RGBOrder, _RGBOrder); + Config.pin = _pin; } if (ledstates != NULL) { delete(ledstates); } - ledstates = new uint8_t [FXSettings.stripSize]; + ledstates = new uint8_t [_stripSize]; #if !defined(LED_TYPE_WS2811) strip = new WS2812FX(_stripSize, _pin, checkRGBOrder(_RGBOrder) + NEO_KHZ800); @@ -167,19 +197,23 @@ void initStrip(uint16_t _stripSize = FXSettings.stripSize, char _RGBOrder[5] = F strip->setCustomShow(DMA_Show); #endif //parameters: index, start, stop, mode, color, speed, options - for (uint8_t seg=0; seg < num_segments; seg++) { - if (seg != FXSettings.segment) { // Read actual segment last - (readSegmentStateFS(seg)) ? DBG_OUTPUT_PORT.println("Segment state config FS read Success!") : DBG_OUTPUT_PORT.println("Segment state config FS read failure!"); - strip->setSegment(seg, seg_start, seg_stop, fx_mode, hex_colors_trans, convertSpeed(fx_speed), fx_options); + for (uint8_t _seg=0; _seg < Config.segments; _seg++) { + if (_seg != State.segment) { // Read actual segment last + (readSegmentStateFS(_seg)) ? DBG_OUTPUT_PORT.println("Segment state config FS read Success!") : DBG_OUTPUT_PORT.println("Segment state config FS read failure!"); + memcpy(segState.colors[_seg], hexcolors_trans, sizeof(hexcolors_trans)); + strip->setSegment(_seg, segState.start, segState.stop, segState.mode[_seg], segState.colors[_seg], convertSpeed(segState.speed[_seg]), segState.options); } } //read actual segment last to set all vars correctly - (readSegmentStateFS(FXSettings.segment)) ? DBG_OUTPUT_PORT.println("Segment state config FS read Success!") : DBG_OUTPUT_PORT.println("Segment state config FS read failure!"); - strip->setSegment(FXSettings.segment, seg_start, seg_stop , 0, hex_colors_trans, convertSpeed(fx_speed), fx_options); - strip->setMode(FXSettings.segment, fx_mode); - fx_speed_actual = fx_speed; + (readSegmentStateFS(State.segment)) ? DBG_OUTPUT_PORT.println("Segment state config FS read Success!") : DBG_OUTPUT_PORT.println("Segment state config FS read failure!"); + memcpy(segState.colors[State.segment], hexcolors_trans, sizeof(hexcolors_trans)); + strip->setSegment(State.segment, segState.start, segState.stop , segState.mode[State.segment], hexcolors_trans, convertSpeed(segState.speed[State.segment]), segState.options); + fx_speed_actual = segState.speed[State.segment]; + fx_mode = segState.mode[State.segment]; + prevsegment = State.segment; strip->setCustomMode(0, F("Autoplay"), handleAuto); strip->setCustomMode(1, F("Custom WS"), handleCustomWS); + strip->setCustomMode(9, F("Segment OFF"), handleSegmentOFF); #if defined(CUSTOM_WS2812FX_ANIMATIONS) strip->setCustomMode(2, F("TV"), handleTV); strip->setCustomMode(3, F("E1.31"), handleE131); @@ -191,7 +225,7 @@ void initStrip(uint16_t _stripSize = FXSettings.stripSize, char _RGBOrder[5] = F if (e131 != NULL) { delete(e131); } e131 = new ESPAsyncE131(END_UNIVERSE - START_UNIVERSE + 1); float universe_leds = 170.0; // a universe has only 512 (0..511) channels: 3*170 or 4*128 <= 512 - if (strstr(FXSettings.RGBOrder, "W") != NULL) { + if (strstr(Config.RGBOrder, "W") != NULL) { //universe_leds = 128.0; } float float_enduni = _stripSize/universe_leds; @@ -209,41 +243,25 @@ void initStrip(uint16_t _stripSize = FXSettings.stripSize, char _RGBOrder[5] = F #endif } - -// Call convertColors whenever main_color, back_color or xtra_color changes. -void convertColors() { - hex_colors_trans[0] = (uint32_t)(main_color.white << 24) | (main_color.red << 16) | (main_color.green << 8) | main_color.blue; - hex_colors_trans[1] = (uint32_t)(back_color.white << 24) | (back_color.red << 16) | (back_color.green << 8) | back_color.blue; - hex_colors_trans[2] = (uint32_t)(xtra_color.white << 24) | (xtra_color.red << 16) | (xtra_color.green << 8) | xtra_color.blue; -} - -uint32_t* convertColors2(uint8_t w, uint8_t r, uint8_t g, uint8_t b, uint8_t w2, uint8_t r2, uint8_t g2, uint8_t b2, uint8_t w3, uint8_t r3, uint8_t g3, uint8_t b3) { - uint32_t hexcolors[3] = {}; - hexcolors[0] = (uint32_t)(w << 24) | (r << 16) | (g << 8) | b; - hexcolors[1] = (uint32_t)(w2 << 24) | (r2 << 16) | (g2 << 8) | b2; - hexcolors[2] = (uint32_t)(w3 << 24) | (r3 << 16) | (g3 << 8) | b3; - return hexcolors; -} - void getSegmentParams(uint8_t _seg) { - seg_start = strip->getSegment(_seg)->start;; - seg_stop = strip->getSegment(_seg)->stop;; - fx_mode = strip->getMode(_seg); - fx_speed = strip->getSpeed(_seg); - fx_speed_actual = fx_speed; - main_color.white = ((strip->getColors(_seg)[0] >> 24) & 0xFF); - main_color.red = ((strip->getColors(_seg)[0] >> 16) & 0xFF); - main_color.green = ((strip->getColors(_seg)[0] >> 8) & 0xFF); - main_color.blue = ((strip->getColors(_seg)[0]) & 0xFF); - back_color.white = ((strip->getColors(_seg)[1] >> 24) & 0xFF); - back_color.red = ((strip->getColors(_seg)[1] >> 16) & 0xFF); - back_color.green = ((strip->getColors(_seg)[1] >> 8) & 0xFF); - back_color.blue = ((strip->getColors(_seg)[1]) & 0xFF); - xtra_color.white = ((strip->getColors(_seg)[2] >> 24) & 0xFF); - xtra_color.red = ((strip->getColors(_seg)[2] >> 16) & 0xFF); - xtra_color.green = ((strip->getColors(_seg)[2] >> 8) & 0xFF); - xtra_color.blue = ((strip->getColors(_seg)[2] >> 0) & 0xFF); - fx_options = strip->getOptions(_seg); + segState.start = strip->getSegment(_seg)->start;; + segState.stop = strip->getSegment(_seg)->stop;; + //segState.mode[_seg] = strip->getMode(_seg); + //segState.speed[_seg] = unconvertSpeed(strip->getSpeed(_seg)); + fx_speed_actual = segState.speed[_seg]; + main_color.white = ((segState.colors[_seg][0] >> 24) & 0xFF); + main_color.red = ((segState.colors[_seg][0] >> 16) & 0xFF); + main_color.green = ((segState.colors[_seg][0] >> 8) & 0xFF); + main_color.blue = ((segState.colors[_seg][0]) & 0xFF); + back_color.white = ((segState.colors[_seg][1] >> 24) & 0xFF); + back_color.red = ((segState.colors[_seg][1] >> 16) & 0xFF); + back_color.green = ((segState.colors[_seg][1] >> 8) & 0xFF); + back_color.blue = ((segState.colors[_seg][1]) & 0xFF); + xtra_color.white = ((segState.colors[_seg][2] >> 24) & 0xFF); + xtra_color.red = ((segState.colors[_seg][2] >> 16) & 0xFF); + xtra_color.green = ((segState.colors[_seg][2] >> 8) & 0xFF); + xtra_color.blue = ((segState.colors[_seg][2] >> 0) & 0xFF); + segState.options = strip->getOptions(_seg); } void setSegmentSize() { @@ -251,30 +269,33 @@ void setSegmentSize() { delay(10); if(strip->isRunning()) strip->stop(); strip->resetSegmentRuntimes(); - strip->setSegment(FXSettings.segment, seg_start, seg_stop , fx_mode, hex_colors_trans, convertSpeed(fx_speed), fx_options); + strip->setSegment(State.segment, segState.start, segState.stop , segState.mode[State.segment], hexcolors_trans, convertSpeed(segState.speed[State.segment]), segState.options); } -void calculateColorTransitionSteps() { +uint8_t calculateColorTransitionSteps(uint8_t _seg) { //compare all colors and calculate steps - trans_cnt_max = 0; - int calculate_max[4] = {}; + int _trans_cnt_max = 0; + int _calculate_max[4] = {}; for (uint8_t i=0; i<3; i++){ for (uint8_t j=0; j<4; j++) { - calculate_max[j] = ((hex_colors[i] >> ((3-j)*8)) & 0xFF) - ((hex_colors_trans[i] >> ((3-j)*8)) & 0xFF); - calculate_max[j] = abs(calculate_max[j]); - trans_cnt_max = max(trans_cnt_max, calculate_max[j]); + _calculate_max[j] = ((strip->getColors(_seg)[i] >> ((3-j)*8)) & 0xFF) - ((hexcolors_trans[i] >> ((3-j)*8)) & 0xFF); + _calculate_max[j] = abs(_calculate_max[j]); + _trans_cnt_max = max(_trans_cnt_max, _calculate_max[j]); } } + return _trans_cnt_max; } -void convertColorsFade() { - if (FXSettings.transEffect) { +uint8_t convertColorsFade(uint8_t _seg) { + if (Config.transEffect) { if (trans_cnt > 1) { - memcpy(hex_colors, strip->getColors(FXSettings.segment), sizeof(hex_colors)); + //memcpy(segState.colors[_seg], strip->getColors(_seg), sizeof(segState.colors[_seg])); DBG_OUTPUT_PORT.println("Color transistion aborted. Restarting...!"); trans_cnt = 1; } - calculateColorTransitionSteps(); + return calculateColorTransitionSteps(_seg); + } else { + return 0; } } diff --git a/Arduino/McLighting/htm_index_gz.h b/Arduino/McLighting/htm_index_gz.h index eb5f9fd..3ed7ca7 100644 --- a/Arduino/McLighting/htm_index_gz.h +++ b/Arduino/McLighting/htm_index_gz.h @@ -1,162 +1,162 @@ #include -#define index_htm_gz_len 20547 +#define index_htm_gz_len 20709 static const char index_htm_gz[] PROGMEM ={ - 0x1f, 0x8b, 0x08, 0x08, 0xbc, 0x16, 0x96, 0x5d, 0x04, 0x00, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x00, 0xdc, 0x5d, 0x59, 0x77, - 0x1b, 0x4b, 0x11, 0x7e, 0xe7, 0x1c, 0xfe, 0xc3, 0x44, 0x81, 0x44, 0xe2, - 0x4a, 0xb2, 0x16, 0xdb, 0x38, 0x72, 0xe4, 0x8b, 0x93, 0xeb, 0x84, 0x40, - 0x36, 0xec, 0x40, 0x80, 0x90, 0x63, 0x46, 0x52, 0x4b, 0x1a, 0x3c, 0x9a, - 0x11, 0x33, 0xa3, 0xc8, 0x8e, 0xf1, 0x3f, 0xe1, 0x1c, 0x5e, 0x78, 0xe1, - 0x0f, 0xf0, 0xc4, 0x13, 0xfc, 0x31, 0xbe, 0xaa, 0xee, 0x9e, 0x9e, 0x4d, - 0xb2, 0xe4, 0x45, 0x2c, 0xbe, 0x37, 0x92, 0xa6, 0xbb, 0xba, 0xaa, 0xba, - 0xba, 0xba, 0xba, 0xba, 0x7a, 0x99, 0xa7, 0x0f, 0xbe, 0x7b, 0xf7, 0xfc, - 0xc3, 0x6f, 0xde, 0x1f, 0x59, 0xe3, 0x68, 0xe2, 0x1e, 0x7c, 0xff, 0x7b, - 0x4f, 0xd5, 0xb7, 0x85, 0xbf, 0xa7, 0x63, 0x61, 0x0f, 0xd4, 0x6f, 0x7e, - 0x8e, 0x9c, 0xc8, 0x15, 0x07, 0x6f, 0xfa, 0xaf, 0x9d, 0xd1, 0x38, 0x72, - 0xbc, 0xd1, 0xd3, 0x2d, 0x4e, 0x49, 0x82, 0x4c, 0x44, 0x64, 0x5b, 0xfd, - 0xb1, 0x1d, 0x84, 0x22, 0xea, 0x96, 0x7e, 0xf9, 0xe1, 0x45, 0x6d, 0xaf, - 0x94, 0xcb, 0xf7, 0xec, 0x89, 0xe8, 0x96, 0xbe, 0x38, 0x62, 0x3e, 0xf5, - 0x83, 0xa8, 0x64, 0xf5, 0x7d, 0x2f, 0x12, 0x1e, 0xe0, 0xe7, 0xce, 0x20, - 0x1a, 0x77, 0x07, 0xe2, 0x8b, 0xd3, 0x17, 0x35, 0x7e, 0xa8, 0x5a, 0x8e, - 0xe7, 0x44, 0x8e, 0xed, 0xd6, 0xc2, 0xbe, 0xed, 0x8a, 0x6e, 0xb3, 0xde, - 0x58, 0x84, 0x6f, 0xe2, 0xf7, 0x1c, 0x17, 0xc5, 0x44, 0xaf, 0x66, 0x4f, - 0xa7, 0xb5, 0xbe, 0x3d, 0xb5, 0x7b, 0xae, 0x48, 0x60, 0xbf, 0x10, 0x61, - 0xaa, 0xac, 0xeb, 0x78, 0x67, 0x56, 0x20, 0xdc, 0x6e, 0x29, 0x1c, 0x83, - 0x8f, 0xfe, 0x2c, 0xb2, 0x1c, 0x00, 0x97, 0xac, 0x71, 0x20, 0x86, 0xdd, - 0xd2, 0x38, 0x8a, 0xa6, 0x61, 0x67, 0x6b, 0x2b, 0xb0, 0xe7, 0xf5, 0x91, - 0x13, 0x8d, 0x67, 0xbd, 0x59, 0x28, 0x02, 0x85, 0xad, 0xde, 0xf7, 0x27, - 0x5b, 0x2f, 0xec, 0xde, 0x6b, 0xbb, 0x57, 0x7b, 0x3d, 0x13, 0x9e, 0xf0, - 0xb6, 0x8c, 0x5c, 0xb6, 0x26, 0x76, 0x18, 0x89, 0x60, 0xeb, 0x30, 0x18, - 0xcc, 0x1c, 0xcf, 0x4f, 0xe6, 0x0c, 0xec, 0xc8, 0xde, 0x1a, 0xda, 0x5f, - 0x88, 0x50, 0x1d, 0x1f, 0x25, 0x2b, 0xba, 0x98, 0x82, 0x79, 0x67, 0x62, - 0x8f, 0xc4, 0xd6, 0x79, 0x4d, 0x32, 0xb0, 0x55, 0xcc, 0x26, 0xaa, 0x85, - 0x0a, 0x46, 0xfe, 0xac, 0x3f, 0xae, 0xdd, 0x3b, 0xa7, 0x59, 0x62, 0xf5, - 0xa9, 0x37, 0x5a, 0x24, 0xbe, 0xe8, 0xc2, 0x15, 0xe1, 0x58, 0x88, 0x28, - 0xcb, 0xd1, 0x10, 0x3c, 0x84, 0xf5, 0x91, 0xef, 0x8f, 0x5c, 0x61, 0x4f, - 0x9d, 0x90, 0x99, 0xe9, 0x87, 0xe1, 0xb7, 0x43, 0x7b, 0xe2, 0xb8, 0x17, - 0xdd, 0x37, 0x36, 0xa8, 0xa3, 0x75, 0xbf, 0x79, 0x05, 0x0a, 0xe9, 0xd6, - 0x61, 0xa4, 0x48, 0xf8, 0x91, 0x75, 0x49, 0xa9, 0x3d, 0xbb, 0x7f, 0x36, - 0x0a, 0xfc, 0x99, 0x37, 0xa8, 0x05, 0x62, 0x2a, 0xec, 0xa8, 0x63, 0x79, - 0xbe, 0xfa, 0xb9, 0x4f, 0x00, 0x53, 0x7b, 0x30, 0x00, 0xdf, 0x1d, 0xab, - 0xc1, 0x8f, 0x13, 0x3b, 0x18, 0x39, 0x9e, 0x7c, 0xba, 0x02, 0x96, 0xaa, - 0xd5, 0xb1, 0x87, 0x20, 0x86, 0xef, 0x9e, 0x18, 0xfa, 0x81, 0x60, 0xb4, - 0xf8, 0x23, 0x85, 0x39, 0x73, 0xa2, 0x5a, 0xcf, 0x3f, 0xaf, 0x85, 0xce, - 0x57, 0x46, 0xe1, 0x78, 0x63, 0xb0, 0xc5, 0x78, 0xf1, 0x57, 0x90, 0x23, - 0x91, 0x52, 0x5f, 0xd1, 0x68, 0xa8, 0xa6, 0x04, 0x25, 0x3a, 0xbb, 0xad, - 0xfa, 0xce, 0x0f, 0x39, 0xbf, 0xe7, 0x0f, 0x2e, 0xf2, 0xf9, 0xcd, 0xfa, - 0x8e, 0x98, 0x28, 0xd4, 0x90, 0xa1, 0xa8, 0x8d, 0x05, 0xc9, 0x1c, 0xe9, - 0xbb, 0xfb, 0x09, 0xd8, 0xb9, 0x4c, 0xdd, 0x6e, 0x34, 0x92, 0xa9, 0x52, - 0x6e, 0x9d, 0xd2, 0x31, 0x3a, 0xc3, 0xdc, 0xbe, 0x28, 0x55, 0x4b, 0x3f, - 0x15, 0xee, 0x17, 0x11, 0x39, 0x7d, 0xfb, 0xad, 0x98, 0x89, 0xe4, 0xb3, - 0x25, 0x13, 0xe2, 0xe7, 0xea, 0x21, 0x49, 0xba, 0x1a, 0xda, 0x5e, 0x58, - 0x0b, 0x51, 0x89, 0xa1, 0xc2, 0xdb, 0xf7, 0x5d, 0x3f, 0xe8, 0x3c, 0x6c, - 0xb5, 0x5a, 0x92, 0xe9, 0x59, 0x14, 0xf9, 0x5e, 0xd5, 0xfa, 0x24, 0x15, - 0x53, 0x3e, 0x96, 0x3e, 0xc7, 0x09, 0x81, 0x40, 0xd7, 0x4e, 0x3c, 0x87, - 0xb3, 0xde, 0xc4, 0x91, 0x09, 0x81, 0xef, 0x26, 0x4a, 0xc8, 0x9a, 0xf7, - 0x67, 0x41, 0x08, 0xf4, 0xd6, 0xd4, 0x77, 0x3c, 0x88, 0x7f, 0x3f, 0x45, - 0xc3, 0xf1, 0xa6, 0xb3, 0xa8, 0x6a, 0xf9, 0xd3, 0x88, 0x9a, 0x76, 0x5a, - 0xb5, 0x42, 0xe1, 0x8a, 0x3e, 0x52, 0x22, 0x71, 0x1e, 0xd9, 0x81, 0xb0, - 0x09, 0x87, 0xac, 0xb9, 0x11, 0xbd, 0xb5, 0xf5, 0x23, 0xeb, 0x64, 0x2a, - 0xfa, 0xce, 0xf0, 0x82, 0x73, 0x74, 0x86, 0xed, 0xf5, 0x85, 0xe5, 0x0f, - 0x91, 0x16, 0x4c, 0x2c, 0xe0, 0x99, 0x08, 0xe8, 0x9e, 0xf5, 0xa3, 0xad, - 0x04, 0x45, 0x89, 0xce, 0xff, 0x22, 0x82, 0xa1, 0xeb, 0xcf, 0x3b, 0xd6, - 0x17, 0x27, 0x74, 0x60, 0x23, 0x18, 0xe5, 0xe1, 0x60, 0x80, 0xaa, 0x85, - 0xd6, 0xef, 0x75, 0xf6, 0xef, 0x2d, 0x54, 0xd4, 0x8a, 0x7c, 0xeb, 0xf7, - 0x63, 0x67, 0x30, 0x10, 0xde, 0xef, 0x41, 0xc8, 0x7a, 0x75, 0x64, 0xed, - 0x6d, 0x3d, 0xd9, 0x6a, 0x36, 0xb6, 0x9a, 0xcd, 0x34, 0xee, 0x4e, 0xa7, - 0x36, 0xf1, 0xbf, 0xd6, 0x86, 0x7e, 0x7f, 0x16, 0xd6, 0x1c, 0xcf, 0x13, - 0x41, 0x4e, 0x86, 0x79, 0x90, 0xac, 0x54, 0xf3, 0x10, 0x39, 0x39, 0xe7, - 0x41, 0x54, 0x07, 0xf1, 0x83, 0x81, 0x08, 0x6a, 0xdc, 0x6d, 0x3a, 0x56, - 0xbe, 0x4b, 0x18, 0x46, 0x4d, 0xf9, 0x00, 0xb9, 0x9b, 0xe5, 0xd2, 0x9f, - 0x45, 0xa4, 0xf3, 0xc4, 0x92, 0x61, 0x3a, 0xc3, 0x60, 0x95, 0x07, 0xa3, - 0xb5, 0x15, 0x90, 0x08, 0x98, 0xee, 0x6c, 0x4f, 0x61, 0x19, 0x02, 0xe8, - 0x04, 0x68, 0x49, 0x14, 0xdc, 0xca, 0xcf, 0xfd, 0x20, 0x10, 0x7d, 0x34, - 0xeb, 0x58, 0xa0, 0x39, 0x6d, 0x8c, 0x18, 0x4e, 0x74, 0x41, 0x8d, 0xcc, - 0x72, 0xb3, 0xfa, 0xae, 0xd3, 0x3f, 0xa3, 0x61, 0x83, 0xcd, 0x72, 0x48, - 0x2d, 0xee, 0xbc, 0x3b, 0x49, 0x37, 0xb4, 0xd6, 0x52, 0xa6, 0xc7, 0x9a, - 0x5a, 0x8b, 0x40, 0x28, 0x24, 0xbd, 0x23, 0xa3, 0xe4, 0x49, 0x7d, 0x7a, - 0xe1, 0x04, 0xb0, 0x33, 0xe7, 0xd6, 0x76, 0xe3, 0x9b, 0xaa, 0xf5, 0x8a, - 0x74, 0xdf, 0x83, 0x3a, 0x1d, 0x9d, 0x4f, 0xd1, 0xdb, 0x20, 0x8d, 0x66, - 0xb3, 0x06, 0xb4, 0xf9, 0xde, 0x90, 0xef, 0x03, 0x39, 0xfb, 0x27, 0x3b, - 0xac, 0xc5, 0x44, 0xa7, 0x80, 0xf0, 0xa2, 0xfd, 0xac, 0x02, 0x48, 0x3e, - 0x38, 0x99, 0xa1, 0x33, 0x86, 0xab, 0x33, 0x70, 0x42, 0xaa, 0xe5, 0xa0, - 0xfa, 0xfd, 0xef, 0x7d, 0xd2, 0xbf, 0x3f, 0xcb, 0x06, 0x9a, 0xda, 0x7d, - 0x88, 0x04, 0x4d, 0x52, 0xdf, 0x96, 0xc0, 0xf5, 0x5e, 0xe4, 0x9d, 0x9e, - 0xca, 0xd1, 0x44, 0x55, 0xda, 0x76, 0x9d, 0x91, 0x57, 0x73, 0x22, 0x31, - 0x09, 0x3b, 0x56, 0x5f, 0x50, 0xe5, 0x92, 0x2c, 0x04, 0xf6, 0xc0, 0x99, - 0x85, 0x31, 0x4d, 0xc3, 0x46, 0x3a, 0x09, 0x84, 0xa7, 0xae, 0x0d, 0x52, - 0x43, 0x57, 0x9c, 0x53, 0x0a, 0xff, 0xe8, 0x58, 0x4d, 0xab, 0x61, 0xd9, - 0xb3, 0xc8, 0xe7, 0xa4, 0x3f, 0xcc, 0xc2, 0x08, 0x3d, 0xbd, 0xa6, 0xe8, - 0x1b, 0x72, 0xc6, 0xc6, 0x27, 0xc1, 0xa7, 0x7e, 0x08, 0x77, 0x01, 0x4a, - 0x4e, 0x23, 0x93, 0x1d, 0x39, 0x5f, 0x58, 0x08, 0x2c, 0x2b, 0x99, 0x41, - 0x15, 0x6b, 0x87, 0x30, 0x4b, 0x3d, 0xa7, 0x5f, 0xeb, 0x89, 0xaf, 0x8e, - 0x08, 0xca, 0x8d, 0x7a, 0x6b, 0xa7, 0x8a, 0xf4, 0x3d, 0xfa, 0xc0, 0xaf, - 0x66, 0x85, 0x0b, 0xcd, 0xc7, 0xa8, 0x61, 0x2d, 0x84, 0x40, 0x58, 0x9e, - 0xf3, 0xc0, 0x9e, 0x72, 0x3a, 0x3b, 0x26, 0x71, 0x55, 0x8c, 0x90, 0xd6, - 0x92, 0xcd, 0xee, 0xf4, 0x3c, 0x29, 0x04, 0x42, 0xc7, 0x83, 0x81, 0x94, - 0x85, 0xa1, 0xd2, 0x6a, 0x36, 0x14, 0xa4, 0x1a, 0x26, 0xac, 0x36, 0x15, - 0x35, 0xd2, 0x6a, 0x98, 0xea, 0x27, 0x47, 0x19, 0xab, 0xb9, 0xcd, 0x60, - 0xe9, 0xd1, 0xc4, 0xda, 0x69, 0x34, 0x56, 0x16, 0x2b, 0xe8, 0x58, 0x7b, - 0x0a, 0x89, 0x31, 0x25, 0x56, 0x53, 0xd3, 0x9f, 0x38, 0x5e, 0x4d, 0x71, - 0xb9, 0x47, 0x70, 0x99, 0xfe, 0x1d, 0xf7, 0x8e, 0x81, 0xe8, 0xfb, 0x81, - 0x4d, 0xc2, 0x67, 0xb5, 0xbc, 0x59, 0x8b, 0x54, 0xa5, 0x06, 0x59, 0xcd, - 0x49, 0xb8, 0xac, 0xa1, 0x61, 0xbb, 0x69, 0xac, 0x73, 0x6b, 0xd4, 0x0c, - 0xc8, 0x9c, 0xc0, 0x74, 0xc3, 0xc0, 0x27, 0x2d, 0x03, 0xf9, 0x46, 0x35, - 0xd9, 0xc9, 0x0c, 0x3f, 0xf4, 0x47, 0x16, 0xab, 0x38, 0x57, 0x65, 0x87, - 0xc5, 0xb9, 0xf1, 0x5f, 0x2e, 0xd7, 0xe8, 0x46, 0xad, 0xd6, 0x73, 0xfd, - 0xfe, 0x99, 0x54, 0x11, 0xd3, 0xea, 0x49, 0xef, 0x63, 0x3f, 0x9d, 0xc5, - 0xf4, 0xa8, 0x89, 0x75, 0x56, 0xb6, 0xc3, 0xe4, 0xdd, 0x17, 0xd5, 0x7d, - 0x64, 0x4e, 0x5c, 0xde, 0xa4, 0x24, 0x9f, 0xe2, 0x66, 0x36, 0xca, 0x13, - 0xeb, 0xdc, 0x5e, 0xe3, 0x87, 0x29, 0xdf, 0xc0, 0x7a, 0xf8, 0xe2, 0xc5, - 0x0b, 0x95, 0x92, 0xb7, 0x43, 0x0f, 0x9c, 0x09, 0xb9, 0xf1, 0xb6, 0x32, - 0x43, 0xb1, 0xa6, 0xeb, 0xb2, 0xdb, 0x7d, 0x7b, 0xb8, 0xd3, 0x30, 0x50, - 0x46, 0x28, 0xf5, 0x19, 0x8c, 0x74, 0xd0, 0xb7, 0x43, 0x76, 0xc6, 0x8c, - 0xca, 0xef, 0x4a, 0x95, 0xcf, 0x1b, 0x57, 0x0d, 0x9f, 0x16, 0xac, 0x0f, - 0xf3, 0x39, 0xd1, 0x92, 0x95, 0x4f, 0xa6, 0x97, 0xe0, 0x2f, 0x60, 0xd5, - 0x37, 0x7a, 0x9b, 0x54, 0x1e, 0xbb, 0x17, 0xfa, 0xee, 0x2c, 0x12, 0x29, - 0x99, 0x68, 0xed, 0x4d, 0xa8, 0xb8, 0x49, 0x1a, 0xeb, 0x9e, 0x64, 0xd0, - 0x49, 0x08, 0x93, 0x92, 0x73, 0x46, 0x73, 0xbd, 0x7f, 0x27, 0x96, 0xf0, - 0x57, 0x8c, 0x8e, 0x03, 0x6a, 0x96, 0xed, 0x8c, 0xc8, 0x87, 0xc3, 0xe1, - 0x42, 0x91, 0x3f, 0x14, 0x4f, 0x9a, 0x62, 0xb7, 0xbd, 0x5c, 0xf2, 0x79, - 0xa8, 0x98, 0x5d, 0xd7, 0xad, 0x61, 0x8e, 0xe6, 0x8d, 0x44, 0x47, 0x3a, - 0xb7, 0x63, 0x7b, 0xe0, 0xcf, 0x55, 0xae, 0x49, 0xa0, 0xce, 0xde, 0x86, - 0x0d, 0xd8, 0xc1, 0xbf, 0x5a, 0x13, 0x1f, 0xc1, 0xa8, 0x67, 0x97, 0x1b, - 0x55, 0xfa, 0xaf, 0xde, 0xaa, 0xa0, 0x6b, 0xb2, 0x89, 0x20, 0x03, 0x85, - 0x9f, 0xc9, 0xcc, 0xe6, 0x36, 0xe7, 0x36, 0x29, 0x77, 0x2f, 0x9f, 0xdb, - 0xaa, 0xc8, 0xf6, 0xa3, 0x09, 0xd0, 0x62, 0xab, 0xb9, 0xcc, 0x3c, 0x1a, - 0xbd, 0x97, 0x5e, 0x31, 0x26, 0x01, 0xb3, 0x40, 0xa0, 0xef, 0x45, 0x34, - 0x77, 0x01, 0x8a, 0xc7, 0xc0, 0x67, 0x3f, 0x4e, 0xf5, 0xce, 0xeb, 0x21, - 0x13, 0xd6, 0xb3, 0x05, 0xeb, 0x79, 0xad, 0xa1, 0x4c, 0x7a, 0xef, 0x56, - 0xf3, 0x46, 0x66, 0xad, 0xc8, 0x68, 0xb1, 0xda, 0x2b, 0xb5, 0x4e, 0x08, - 0x8a, 0x3f, 0x6a, 0x35, 0x9a, 0x76, 0x2d, 0x71, 0xad, 0xeb, 0x13, 0x35, - 0xa5, 0xe2, 0x49, 0x5b, 0x58, 0x9f, 0x0c, 0x50, 0x02, 0x0c, 0x52, 0x11, - 0xad, 0x5c, 0xb2, 0x35, 0x5a, 0x3b, 0xe0, 0x40, 0x7d, 0x30, 0x2f, 0x0b, - 0x11, 0x0c, 0xec, 0xe0, 0x2c, 0x5f, 0xbe, 0x51, 0xb5, 0xe8, 0x7f, 0xae, - 0x8f, 0x2a, 0x0b, 0xb7, 0xe7, 0x03, 0x1c, 0xab, 0x37, 0xfe, 0xc0, 0x76, - 0xad, 0xb2, 0xd1, 0xdb, 0x0a, 0xbb, 0x3a, 0x0f, 0x27, 0x9c, 0x7e, 0x99, - 0x36, 0xdf, 0x43, 0xe7, 0x5c, 0x0c, 0x50, 0x3c, 0xd1, 0x15, 0x9a, 0xc9, - 0x21, 0x07, 0x53, 0xd0, 0x29, 0x92, 0x76, 0xa0, 0x65, 0xec, 0x57, 0xbd, - 0xf6, 0xfb, 0x3c, 0x96, 0xc0, 0xd5, 0x27, 0x2f, 0x8e, 0xf4, 0x15, 0xd8, - 0xb9, 0x39, 0xc4, 0x30, 0xd2, 0x3d, 0x8e, 0x0b, 0x35, 0x92, 0x03, 0x69, - 0xb3, 0xa1, 0xfa, 0x9c, 0x6c, 0xb0, 0x38, 0xc1, 0xcc, 0x07, 0x62, 0x53, - 0x98, 0xea, 0x72, 0xa6, 0xca, 0x52, 0x7f, 0x2b, 0xd2, 0xbb, 0xb3, 0x5d, - 0x97, 0x80, 0xa4, 0x44, 0x24, 0x03, 0xf9, 0x52, 0x49, 0xb5, 0x87, 0x3f, - 0x25, 0x8b, 0x3e, 0x73, 0xa9, 0xdc, 0x7c, 0x4b, 0xbb, 0x5a, 0xda, 0x0d, - 0xac, 0xb3, 0x78, 0xb4, 0xa2, 0x19, 0xef, 0x52, 0x69, 0x85, 0x51, 0xbc, - 0x42, 0x8b, 0x30, 0x14, 0xf4, 0x1f, 0x72, 0xf3, 0x86, 0xdd, 0x58, 0x23, - 0x12, 0x62, 0x56, 0xd3, 0xb7, 0x0b, 0xfd, 0x84, 0xdd, 0x46, 0xca, 0x41, - 0xe7, 0xae, 0x0c, 0x4b, 0xe9, 0x0c, 0xac, 0x87, 0x7b, 0x7b, 0x7b, 0x9c, - 0x65, 0x06, 0x0b, 0xd9, 0xf8, 0xa8, 0x01, 0xf1, 0x6e, 0x3b, 0xca, 0xd9, - 0x37, 0xee, 0x5c, 0x93, 0x65, 0xbd, 0x94, 0x37, 0xd5, 0xe3, 0xa4, 0x20, - 0xd0, 0xe1, 0xfd, 0x19, 0x24, 0xb0, 0xdc, 0x49, 0x6c, 0x32, 0x92, 0x38, - 0xa9, 0x46, 0xfe, 0x59, 0xc2, 0x4f, 0xcb, 0x19, 0x6f, 0x83, 0xb9, 0x1e, - 0xf8, 0x73, 0xc3, 0x61, 0x6d, 0xe0, 0x60, 0x4a, 0x20, 0x95, 0x11, 0x19, - 0x39, 0xc8, 0x7a, 0x20, 0xa0, 0x20, 0xa1, 0x58, 0x58, 0xa2, 0xa6, 0x00, - 0xd2, 0x25, 0xd1, 0x30, 0xb3, 0x89, 0x57, 0x5c, 0x48, 0xe6, 0x15, 0xc1, - 0x6b, 0x62, 0xcb, 0xca, 0x2d, 0xa5, 0x77, 0x60, 0xd5, 0xa9, 0x94, 0x2c, - 0x3f, 0xb1, 0xcf, 0x6b, 0x09, 0xf5, 0x4f, 0x17, 0x20, 0x39, 0x01, 0x2c, - 0x2d, 0x3e, 0xfa, 0x54, 0x60, 0xf0, 0x63, 0xbe, 0x70, 0x4f, 0xab, 0xb5, + 0x1f, 0x8b, 0x08, 0x08, 0x1e, 0x16, 0x9a, 0x5d, 0x04, 0x00, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x00, 0xe4, 0x5d, 0x5b, 0x77, + 0x1b, 0x49, 0x11, 0x7e, 0xe7, 0x1c, 0xfe, 0xc3, 0x44, 0x81, 0x44, 0x62, + 0x25, 0x59, 0x17, 0xdb, 0x38, 0x72, 0xe4, 0xc5, 0xc9, 0x3a, 0xd9, 0x40, + 0x2e, 0x4b, 0x1c, 0x08, 0x10, 0x72, 0xcc, 0x48, 0x6a, 0x49, 0x83, 0x47, + 0x33, 0x62, 0x66, 0x64, 0xd9, 0x31, 0xfe, 0x27, 0x9c, 0xc3, 0x0b, 0x2f, + 0xfc, 0x01, 0x9e, 0x78, 0x82, 0x3f, 0xc6, 0x57, 0xd5, 0xdd, 0xd3, 0x73, + 0x93, 0x2c, 0xf9, 0x22, 0x6e, 0xde, 0x8d, 0xa4, 0xe9, 0xae, 0xae, 0xaa, + 0xae, 0xae, 0xae, 0xae, 0xae, 0xbe, 0xcc, 0xd3, 0x07, 0xdf, 0xbc, 0x7b, + 0xfe, 0xe1, 0xd7, 0xdf, 0x1d, 0x59, 0xe3, 0x68, 0xe2, 0x1e, 0x7c, 0xff, + 0x7b, 0x4f, 0xd5, 0xb7, 0x85, 0xbf, 0xa7, 0x63, 0x61, 0x0f, 0xd4, 0x6f, + 0x7e, 0x8e, 0x9c, 0xc8, 0x15, 0x07, 0x6f, 0xfa, 0xaf, 0x9d, 0xd1, 0x38, + 0x72, 0xbc, 0xd1, 0xd3, 0x2d, 0x4e, 0x49, 0x82, 0x4c, 0x44, 0x64, 0x5b, + 0xfd, 0xb1, 0x1d, 0x84, 0x22, 0xea, 0x96, 0x7e, 0xf1, 0xe1, 0x45, 0x6d, + 0xaf, 0x94, 0xcb, 0xf7, 0xec, 0x89, 0xe8, 0x96, 0xce, 0x1c, 0x31, 0x9f, + 0xfa, 0x41, 0x54, 0xb2, 0xfa, 0xbe, 0x17, 0x09, 0x0f, 0xf0, 0x73, 0x67, + 0x10, 0x8d, 0xbb, 0x03, 0x71, 0xe6, 0xf4, 0x45, 0x8d, 0x1f, 0xaa, 0x96, + 0xe3, 0x39, 0x91, 0x63, 0xbb, 0xb5, 0xb0, 0x6f, 0xbb, 0xa2, 0xdb, 0xac, + 0x37, 0x16, 0xe1, 0x9b, 0xf8, 0x3d, 0xc7, 0x45, 0x31, 0xd1, 0xab, 0xd9, + 0xd3, 0x69, 0xad, 0x6f, 0x4f, 0xed, 0x9e, 0x2b, 0x12, 0xd8, 0x2f, 0x44, + 0x98, 0x2a, 0xeb, 0x3a, 0xde, 0xa9, 0x15, 0x08, 0xb7, 0x5b, 0x0a, 0xc7, + 0xe0, 0xa3, 0x3f, 0x8b, 0x2c, 0x07, 0xc0, 0x25, 0x6b, 0x1c, 0x88, 0x61, + 0xb7, 0x34, 0x8e, 0xa2, 0x69, 0xd8, 0xd9, 0xda, 0x0a, 0xec, 0x79, 0x7d, + 0xe4, 0x44, 0xe3, 0x59, 0x6f, 0x16, 0x8a, 0x40, 0x61, 0xab, 0xf7, 0xfd, + 0xc9, 0xd6, 0x0b, 0xbb, 0xf7, 0xda, 0xee, 0xd5, 0x5e, 0xcf, 0x84, 0x27, + 0xbc, 0x2d, 0x23, 0x97, 0xad, 0x89, 0x1d, 0x46, 0x22, 0xd8, 0x3a, 0x0c, + 0x06, 0x33, 0xc7, 0xf3, 0x93, 0x39, 0x03, 0x3b, 0xb2, 0xb7, 0x86, 0xf6, + 0x19, 0x11, 0xaa, 0xe3, 0xa3, 0x64, 0x45, 0x17, 0x53, 0x30, 0xef, 0x4c, + 0xec, 0x91, 0xd8, 0x3a, 0xaf, 0x49, 0x06, 0xb6, 0x8a, 0xd9, 0x44, 0xb5, + 0x50, 0xc1, 0xc8, 0x9f, 0xf5, 0xc7, 0xb5, 0x7b, 0xe7, 0x34, 0x4b, 0xac, + 0x3e, 0xf5, 0x46, 0x8b, 0xc4, 0x17, 0x5d, 0xb8, 0x22, 0x1c, 0x0b, 0x11, + 0x65, 0x39, 0x1a, 0x82, 0x87, 0xb0, 0x3e, 0xf2, 0xfd, 0x91, 0x2b, 0xec, + 0xa9, 0x13, 0x32, 0x33, 0xfd, 0x30, 0xfc, 0x7a, 0x68, 0x4f, 0x1c, 0xf7, + 0xa2, 0xfb, 0xc6, 0x06, 0x75, 0xb4, 0xee, 0x57, 0xaf, 0x40, 0x21, 0xdd, + 0x3a, 0x8c, 0x14, 0x09, 0x3f, 0xb2, 0x2e, 0x29, 0xb5, 0x67, 0xf7, 0x4f, + 0x47, 0x81, 0x3f, 0xf3, 0x06, 0xb5, 0x40, 0x4c, 0x85, 0x1d, 0x75, 0x2c, + 0xcf, 0x57, 0x3f, 0xf7, 0x09, 0x60, 0x6a, 0x0f, 0x06, 0xe0, 0xbb, 0x63, + 0x35, 0xf8, 0x71, 0x62, 0x07, 0x23, 0xc7, 0x93, 0x4f, 0x57, 0xc0, 0x52, + 0xb5, 0x3a, 0xf6, 0x10, 0xc4, 0xf0, 0xdd, 0x13, 0x43, 0x3f, 0x10, 0x8c, + 0x16, 0x7f, 0xa4, 0x30, 0xa7, 0x4e, 0x54, 0xeb, 0xf9, 0xe7, 0xb5, 0xd0, + 0xf9, 0xc2, 0x28, 0x1c, 0x6f, 0x0c, 0xb6, 0x18, 0x2f, 0xfe, 0x0a, 0x72, + 0x24, 0x52, 0xea, 0x2b, 0x1a, 0x0d, 0xd5, 0x94, 0xa0, 0x44, 0x67, 0xb7, + 0x55, 0xdf, 0xf9, 0x21, 0xe7, 0xf7, 0xfc, 0xc1, 0x45, 0x3e, 0xbf, 0x59, + 0xdf, 0x11, 0x13, 0x85, 0x1a, 0x32, 0x14, 0xb5, 0xb1, 0x20, 0x99, 0x23, + 0x7d, 0x77, 0x3f, 0x01, 0x3b, 0x97, 0xa9, 0xdb, 0x8d, 0x46, 0x32, 0x55, + 0xca, 0xad, 0x53, 0x7a, 0x8f, 0xce, 0x30, 0xb7, 0x2f, 0x4a, 0xd5, 0xd2, + 0xb7, 0xc2, 0x3d, 0x13, 0x91, 0xd3, 0xb7, 0xdf, 0x8a, 0x99, 0x48, 0x3e, + 0x5b, 0x32, 0x21, 0x7e, 0xae, 0x1e, 0x92, 0xa4, 0xab, 0xa1, 0xed, 0x85, + 0xb5, 0x10, 0x95, 0x18, 0x2a, 0xbc, 0x7d, 0xdf, 0xf5, 0x83, 0xce, 0xc3, + 0x56, 0xab, 0x25, 0x99, 0x9e, 0x45, 0x91, 0xef, 0x55, 0xad, 0x4f, 0x52, + 0x31, 0xe5, 0x63, 0xe9, 0x73, 0x9c, 0x10, 0x08, 0x74, 0xed, 0xc4, 0x73, + 0x38, 0xeb, 0x4d, 0x1c, 0x99, 0x10, 0xf8, 0x6e, 0xa2, 0x84, 0xac, 0x79, + 0x7f, 0x16, 0x84, 0x40, 0x6f, 0x4d, 0x7d, 0xc7, 0x83, 0xf8, 0xf7, 0x53, + 0x34, 0x1c, 0x6f, 0x3a, 0x8b, 0xaa, 0x96, 0x3f, 0x8d, 0xa8, 0x69, 0xa7, + 0x55, 0x2b, 0x14, 0xae, 0xe8, 0x23, 0x25, 0x12, 0xe7, 0x91, 0x1d, 0x08, + 0x9b, 0x70, 0xc8, 0x9a, 0x1b, 0xd1, 0x5b, 0x5b, 0x3f, 0xb2, 0x8e, 0xa7, + 0xa2, 0xef, 0x0c, 0x2f, 0x38, 0x47, 0x67, 0xd8, 0x5e, 0x5f, 0x58, 0xfe, + 0x10, 0x69, 0xc1, 0xc4, 0x02, 0x9e, 0x89, 0x80, 0xee, 0x59, 0x3f, 0xda, + 0x4a, 0x50, 0x94, 0xe8, 0xfc, 0x33, 0x11, 0x0c, 0x5d, 0x7f, 0xde, 0xb1, + 0xce, 0x9c, 0xd0, 0x81, 0x8d, 0x60, 0x94, 0x87, 0x83, 0x01, 0xaa, 0x16, + 0x5a, 0xbf, 0xd3, 0xd9, 0xbf, 0xb3, 0x50, 0x51, 0x2b, 0xf2, 0xad, 0xdf, + 0x8d, 0x9d, 0xc1, 0x40, 0x78, 0xbf, 0x03, 0x21, 0xeb, 0xd5, 0x91, 0xb5, + 0xb7, 0xf5, 0x64, 0xab, 0xd9, 0xd8, 0x6a, 0x36, 0xd3, 0xb8, 0x3b, 0x9d, + 0xda, 0xc4, 0xff, 0x52, 0x1b, 0xfa, 0xfd, 0x59, 0x58, 0x73, 0x3c, 0x4f, + 0x04, 0x39, 0x19, 0xe6, 0x41, 0xb2, 0x52, 0xcd, 0x43, 0xe4, 0xe4, 0x9c, + 0x07, 0x51, 0x1d, 0xc4, 0x0f, 0x06, 0x22, 0xa8, 0x71, 0xb7, 0xe9, 0x58, + 0xf9, 0x2e, 0x61, 0x18, 0x35, 0xe5, 0x03, 0xe4, 0x6e, 0x96, 0x4b, 0x7f, + 0x16, 0x91, 0xce, 0x13, 0x4b, 0x86, 0xe9, 0x0c, 0x83, 0x55, 0x1e, 0x8c, + 0xd6, 0x56, 0x40, 0x22, 0x60, 0xba, 0xb3, 0x3d, 0x85, 0x65, 0x08, 0xa0, + 0x13, 0xa0, 0x25, 0x51, 0x70, 0x2b, 0x3f, 0xf7, 0x83, 0x40, 0xf4, 0xd1, + 0xac, 0x63, 0x81, 0xe6, 0xb4, 0x31, 0x62, 0x38, 0xd1, 0x05, 0x35, 0x32, + 0xcb, 0xcd, 0xea, 0xbb, 0x4e, 0xff, 0x94, 0x86, 0x0d, 0x36, 0xcb, 0x21, + 0xb5, 0xb8, 0xf3, 0xee, 0x38, 0xdd, 0xd0, 0x5a, 0x4b, 0x99, 0x1e, 0x6b, + 0x6a, 0x2d, 0x02, 0xa1, 0x90, 0xf4, 0x8e, 0x8c, 0x92, 0x27, 0xf5, 0xe9, + 0x85, 0x13, 0xc0, 0xce, 0x9c, 0x5b, 0xdb, 0x8d, 0xaf, 0xaa, 0xd6, 0x2b, + 0xd2, 0x7d, 0x0f, 0xea, 0x74, 0x74, 0x3e, 0x45, 0x6f, 0x83, 0x34, 0x9a, + 0xcd, 0x1a, 0xd0, 0xe6, 0x7b, 0x43, 0xbe, 0x0f, 0xe4, 0xec, 0x9f, 0xec, + 0xb0, 0x16, 0x13, 0x9d, 0x02, 0xc2, 0x8b, 0xf6, 0xb3, 0x0a, 0x20, 0xf9, + 0xe0, 0x64, 0x86, 0xce, 0x18, 0xae, 0xce, 0xc0, 0x09, 0xa9, 0x96, 0x83, + 0xea, 0xf7, 0xbf, 0xf7, 0x49, 0xff, 0xfe, 0x2c, 0x1b, 0x68, 0x6a, 0xf7, + 0x21, 0x12, 0x34, 0x49, 0x7d, 0x5b, 0x02, 0xd7, 0x7b, 0x91, 0x77, 0x72, + 0x22, 0x47, 0x13, 0x55, 0x69, 0xdb, 0x75, 0x46, 0x5e, 0xcd, 0x89, 0xc4, + 0x24, 0xec, 0x58, 0x7d, 0x41, 0x95, 0x4b, 0xb2, 0x10, 0xd8, 0x03, 0x67, + 0x16, 0xc6, 0x34, 0x0d, 0x1b, 0xe9, 0x24, 0x10, 0x9e, 0xba, 0x36, 0x48, + 0x0d, 0x5d, 0x71, 0x4e, 0x29, 0xfc, 0xa3, 0x63, 0x35, 0xad, 0x86, 0x65, + 0xcf, 0x22, 0x9f, 0x93, 0x7e, 0x3f, 0x0b, 0x23, 0xf4, 0xf4, 0x9a, 0xa2, + 0x6f, 0xc8, 0x19, 0x1b, 0x9f, 0x04, 0x9f, 0xfa, 0x21, 0xdc, 0x05, 0x28, + 0x39, 0x8d, 0x4c, 0x76, 0xe4, 0x9c, 0xb1, 0x10, 0x58, 0x56, 0x32, 0x83, + 0x2a, 0xd6, 0x0e, 0x61, 0x96, 0x7a, 0x4e, 0xbf, 0xd6, 0x13, 0x5f, 0x1c, + 0x11, 0x94, 0x1b, 0xf5, 0xd6, 0x4e, 0x15, 0xe9, 0x7b, 0xf4, 0x81, 0x5f, + 0xcd, 0x0a, 0x17, 0x9a, 0x8f, 0x51, 0xc3, 0x5a, 0x08, 0x81, 0xb0, 0x3c, + 0xe7, 0x81, 0x3d, 0xe5, 0x74, 0x76, 0x4c, 0xe2, 0xaa, 0x18, 0x21, 0xad, + 0x25, 0x9b, 0xdd, 0xe9, 0x79, 0x52, 0x08, 0x84, 0x8e, 0x07, 0x03, 0x29, + 0x0b, 0x43, 0xa5, 0xd5, 0x6c, 0x28, 0x48, 0x35, 0x4c, 0x58, 0x6d, 0x2a, + 0x6a, 0xa4, 0xd5, 0x30, 0xd5, 0x4f, 0x8e, 0x32, 0x56, 0x73, 0x9b, 0xc1, + 0xd2, 0xa3, 0x89, 0xb5, 0xd3, 0x68, 0xac, 0x2c, 0x56, 0xd0, 0xb1, 0xf6, + 0x14, 0x12, 0x63, 0x4a, 0xac, 0xa6, 0xa6, 0x3f, 0x71, 0xbc, 0x9a, 0xe2, + 0x72, 0x8f, 0xe0, 0x32, 0xfd, 0x3b, 0xee, 0x1d, 0x03, 0xd1, 0xf7, 0x03, + 0x9b, 0x84, 0xcf, 0x6a, 0x79, 0xb3, 0x16, 0xa9, 0x4a, 0x0d, 0xb2, 0x9a, + 0x93, 0x70, 0x59, 0x43, 0xc3, 0x76, 0xd3, 0x58, 0xe7, 0xd6, 0xa8, 0x19, + 0x90, 0x39, 0x81, 0xe9, 0x86, 0x81, 0x4f, 0x5a, 0x06, 0xf2, 0x8d, 0x6a, + 0xb2, 0x93, 0x19, 0x7e, 0xe8, 0x8f, 0x2c, 0x56, 0x71, 0xae, 0xca, 0x0e, + 0x8b, 0x73, 0xe3, 0xbf, 0x5c, 0xae, 0xd1, 0x8d, 0x5a, 0xad, 0xe7, 0xfa, + 0xfd, 0x53, 0xa9, 0x22, 0xa6, 0xd5, 0x93, 0xde, 0xc7, 0x7e, 0x3a, 0x8b, + 0xe9, 0x51, 0x13, 0xeb, 0xac, 0x6c, 0x87, 0xc9, 0xbb, 0x2f, 0xaa, 0xfb, + 0xc8, 0x9c, 0xb8, 0xbc, 0x49, 0x49, 0x3e, 0xc5, 0xcd, 0x6c, 0x94, 0x27, + 0xd6, 0xb9, 0xbd, 0xc6, 0x0f, 0x53, 0xbe, 0x81, 0xf5, 0xf0, 0xc5, 0x8b, + 0x17, 0x2a, 0x25, 0x6f, 0x87, 0x1e, 0x38, 0x13, 0x72, 0xe3, 0x6d, 0x65, + 0x86, 0x62, 0x4d, 0xd7, 0x65, 0xb7, 0xfb, 0xf6, 0x70, 0xa7, 0x61, 0xa0, + 0x8c, 0x50, 0xea, 0x33, 0x18, 0xe9, 0xa0, 0x6f, 0x87, 0xec, 0x8c, 0x19, + 0x95, 0xdf, 0x95, 0x2a, 0x9f, 0x37, 0xae, 0x1a, 0x3e, 0x2d, 0x58, 0x1f, + 0xe6, 0x73, 0xa2, 0x25, 0x2b, 0x9f, 0x4c, 0x2f, 0xc1, 0x5f, 0xc0, 0xaa, + 0x6f, 0xf4, 0x36, 0xa9, 0x3c, 0x76, 0x2f, 0xf4, 0xdd, 0x59, 0x24, 0x52, + 0x32, 0xd1, 0xda, 0x9b, 0x50, 0x71, 0x93, 0x34, 0xd6, 0x3d, 0xc9, 0xa0, + 0x93, 0x10, 0x26, 0x25, 0xe7, 0x8c, 0xe6, 0x7a, 0xff, 0x4e, 0x2c, 0xe1, + 0x2f, 0x18, 0x1d, 0x07, 0xd4, 0x2c, 0xdb, 0x19, 0x91, 0x0f, 0x87, 0xc3, + 0x85, 0x22, 0x7f, 0x28, 0x9e, 0x34, 0xc5, 0x6e, 0x7b, 0xb9, 0xe4, 0xf3, + 0x50, 0x31, 0xbb, 0xae, 0x5b, 0xc3, 0x1c, 0xcd, 0x1b, 0x89, 0x8e, 0x74, + 0x6e, 0xc7, 0xf6, 0xc0, 0x9f, 0xab, 0x5c, 0x93, 0x40, 0x9d, 0xbd, 0x0d, + 0x1b, 0xb0, 0x83, 0x7f, 0xb5, 0x26, 0x3e, 0x82, 0x51, 0xcf, 0x2e, 0x37, + 0xaa, 0xf4, 0x5f, 0xbd, 0x55, 0x41, 0xd7, 0x64, 0x13, 0x41, 0x06, 0x0a, + 0x3f, 0x93, 0x99, 0xcd, 0x6d, 0xce, 0x6d, 0x52, 0xee, 0x5e, 0x3e, 0xb7, + 0x55, 0x91, 0xed, 0x47, 0x13, 0xa0, 0xc5, 0x56, 0x73, 0x99, 0x79, 0x34, + 0x7a, 0x2f, 0xbd, 0x62, 0x4c, 0x02, 0x66, 0x81, 0x40, 0xdf, 0x8b, 0x68, + 0xee, 0x02, 0x14, 0x8f, 0x81, 0xcf, 0x7e, 0x9c, 0xea, 0x9d, 0xd7, 0x43, + 0x26, 0xac, 0x67, 0x0b, 0xd6, 0xf3, 0x5a, 0x43, 0x99, 0xf4, 0xde, 0xad, + 0xe6, 0x8d, 0xcc, 0x5a, 0x91, 0xd1, 0x62, 0xb5, 0x57, 0x6a, 0x9d, 0x10, + 0x14, 0x7f, 0xd4, 0x6a, 0x34, 0xed, 0x5a, 0xe2, 0x5a, 0xd7, 0x27, 0x6a, + 0x4a, 0xc5, 0x93, 0xb6, 0xb0, 0x3e, 0x19, 0xa0, 0x04, 0x18, 0xa4, 0x22, + 0x5a, 0xb9, 0x64, 0x6b, 0xb4, 0x76, 0xc0, 0x81, 0xfa, 0x60, 0x5e, 0x16, + 0x22, 0x18, 0xd8, 0xc1, 0x69, 0xbe, 0x7c, 0xa3, 0x6a, 0xd1, 0xff, 0x5c, + 0x1f, 0x55, 0x16, 0x6e, 0xcf, 0x07, 0x38, 0x56, 0x6f, 0xfc, 0x81, 0xed, + 0x5a, 0x65, 0xa3, 0xb7, 0x15, 0x76, 0x75, 0x1e, 0x4e, 0x38, 0xfd, 0x32, + 0x6d, 0xbe, 0x87, 0xce, 0xb9, 0x18, 0xa0, 0x78, 0xa2, 0x2b, 0x34, 0x93, + 0x43, 0x0e, 0xa6, 0xa0, 0x53, 0x24, 0xed, 0x40, 0xcb, 0xd8, 0xaf, 0x7a, + 0xed, 0xf7, 0x79, 0x2c, 0x81, 0xab, 0x4f, 0x5e, 0x1c, 0xe9, 0x2b, 0xb0, + 0x73, 0x73, 0x88, 0x61, 0xa4, 0x7b, 0x1c, 0x17, 0x6a, 0x24, 0x07, 0xd2, + 0x66, 0x43, 0xf5, 0x39, 0xd9, 0x60, 0x71, 0x82, 0x99, 0x0f, 0xc4, 0xa6, + 0x30, 0xd5, 0xe5, 0x4c, 0x95, 0xa5, 0xfe, 0x56, 0xa4, 0x77, 0x67, 0xbb, + 0x2e, 0x01, 0x49, 0x89, 0x48, 0x06, 0xf2, 0xa5, 0x92, 0x6a, 0x0f, 0x7f, + 0x4a, 0x16, 0x7d, 0xe6, 0x52, 0xb9, 0xf9, 0x96, 0x76, 0xb5, 0xb4, 0x1b, + 0x58, 0x67, 0xf1, 0x68, 0x45, 0x33, 0xde, 0xa5, 0xd2, 0x0a, 0xa3, 0x78, + 0x85, 0x16, 0x61, 0x28, 0xe8, 0x3f, 0xe4, 0xe6, 0x0d, 0xbb, 0xb1, 0x46, + 0x24, 0xc4, 0xac, 0xa6, 0x6f, 0x17, 0xfa, 0x09, 0xbb, 0x8d, 0x94, 0x83, + 0xce, 0x5d, 0x19, 0x96, 0xd2, 0x19, 0x58, 0x0f, 0xf7, 0xf6, 0xf6, 0x38, + 0xcb, 0x0c, 0x16, 0xb2, 0xf1, 0x51, 0x03, 0xe2, 0xdd, 0x76, 0x94, 0xb3, + 0x6f, 0xdc, 0xb9, 0x26, 0xcb, 0x7a, 0x29, 0x6f, 0xaa, 0xc7, 0x49, 0x41, + 0xa0, 0xc3, 0xfb, 0x33, 0x48, 0x60, 0xb9, 0x93, 0xd8, 0x64, 0x24, 0x71, + 0x52, 0x8d, 0xfc, 0xb3, 0x84, 0x9f, 0x96, 0x33, 0xde, 0x06, 0x73, 0x3d, + 0xf0, 0xe7, 0x86, 0xc3, 0xda, 0xc0, 0xc1, 0x94, 0x40, 0x2a, 0x23, 0x32, + 0x72, 0x90, 0xf5, 0x40, 0x40, 0x41, 0x42, 0xb1, 0xb0, 0x44, 0x4d, 0x01, + 0xa4, 0x4b, 0xa2, 0x61, 0x66, 0x13, 0xaf, 0xb8, 0x90, 0xcc, 0x2b, 0x82, + 0xd7, 0xc4, 0x96, 0x95, 0x5b, 0x4a, 0xef, 0xc0, 0xaa, 0x53, 0x29, 0x59, + 0x7e, 0x62, 0x9f, 0xd7, 0x12, 0xea, 0x9f, 0x2e, 0x40, 0x72, 0x02, 0x58, + 0x5a, 0x7c, 0xf4, 0xa9, 0xc0, 0xe0, 0xc7, 0x9c, 0x71, 0x4f, 0xab, 0xb5, 0x09, 0x2c, 0x33, 0x32, 0x40, 0x1f, 0xda, 0xea, 0x5f, 0xad, 0x95, 0x1e, 0x1b, 0x1a, 0x72, 0x70, 0x50, 0xb9, 0xdb, 0xf8, 0xd7, 0xc8, 0x02, 0x34, 0xb7, 0x25, 0x04, 0xeb, 0xd5, 0x5e, 0x21, 0x44, 0xab, 0x92, 0xf0, 0x2c, @@ -235,7 +235,7 @@ static const char index_htm_gz[] PROGMEM ={ 0x14, 0x8b, 0xcd, 0xdc, 0x82, 0xb8, 0xa2, 0x51, 0x88, 0x5b, 0x42, 0xf0, 0xe6, 0x2d, 0x9b, 0x96, 0x6a, 0x70, 0x7e, 0x43, 0x9e, 0x09, 0xf8, 0xd1, 0x16, 0xad, 0xa0, 0x3b, 0x41, 0x1f, 0x47, 0x8d, 0xe8, 0xd4, 0x58, 0x74, - 0x7a, 0x2a, 0x9f, 0xd4, 0xd2, 0xb0, 0xe7, 0x4c, 0xd4, 0xc6, 0xe1, 0x24, + 0x72, 0x22, 0x9f, 0xd4, 0xd2, 0xb0, 0xe7, 0x4c, 0xd4, 0xc6, 0xe1, 0x24, 0x50, 0x6d, 0xe8, 0xc0, 0xe4, 0x63, 0xc5, 0x4d, 0x6e, 0x84, 0x91, 0xfb, 0xed, 0xe9, 0x38, 0x86, 0x45, 0x85, 0x12, 0xfb, 0x45, 0x03, 0x3f, 0xc2, 0x66, 0xb6, 0x72, 0xed, 0x49, 0x63, 0x20, 0x46, 0x72, 0xf7, 0x55, 0xab, @@ -243,9 +243,9 @@ static const char index_htm_gz[] PROGMEM ={ 0x52, 0x86, 0xdb, 0x96, 0xdb, 0xb2, 0x72, 0xec, 0x39, 0xde, 0xd0, 0x5f, 0xc6, 0x9c, 0x3e, 0x79, 0x40, 0xec, 0x01, 0xf7, 0xdc, 0x0e, 0x06, 0xe1, 0x7e, 0x7a, 0x63, 0xfd, 0x7e, 0x9a, 0x4b, 0xf9, 0xd3, 0x05, 0xa3, 0xbf, - 0x29, 0x63, 0xcf, 0x86, 0x98, 0xa8, 0x15, 0xc3, 0x9f, 0x9c, 0x89, 0x8b, + 0x2e, 0x63, 0xcf, 0x86, 0x98, 0xa8, 0x15, 0xc3, 0x9f, 0x9c, 0x8a, 0x8b, 0x61, 0x80, 0xa3, 0x6d, 0x61, 0xbe, 0xf2, 0x6a, 0xc3, 0x00, 0x38, 0xc1, - 0xc1, 0x85, 0xc0, 0x3f, 0x13, 0xd8, 0xa3, 0x17, 0x22, 0x37, 0xb0, 0x89, + 0xc1, 0x85, 0xc0, 0x3f, 0x15, 0xd8, 0xa3, 0x17, 0x22, 0x37, 0xb0, 0x89, 0x00, 0x69, 0xcb, 0xbe, 0x75, 0x95, 0xc3, 0x92, 0xe7, 0x52, 0xe3, 0x91, 0xdf, 0x31, 0x93, 0x7a, 0x0b, 0xde, 0x42, 0x36, 0x2b, 0x09, 0x15, 0xa1, 0xe3, 0x38, 0x1e, 0x36, 0xa4, 0xd1, 0x3e, 0x86, 0x2d, 0xeb, 0x83, 0x8f, @@ -264,62 +264,62 @@ static const char index_htm_gz[] PROGMEM ={ 0x36, 0xa2, 0xab, 0xbd, 0xa7, 0xc9, 0x1e, 0x7f, 0xa5, 0xbb, 0x99, 0xd1, 0x92, 0x64, 0x5f, 0x53, 0x5d, 0xf5, 0x5e, 0x90, 0xe6, 0x38, 0xd6, 0x95, 0x33, 0xd8, 0x17, 0x60, 0x30, 0x04, 0xf2, 0xc4, 0x35, 0xf6, 0x7b, 0xc1, - 0x0a, 0x8b, 0x72, 0x4c, 0x9d, 0x5c, 0x0c, 0xac, 0x70, 0xee, 0x44, 0xfd, - 0xb1, 0x55, 0xc3, 0xfe, 0xef, 0x30, 0xc2, 0x71, 0x64, 0xda, 0xf5, 0xdb, - 0x1f, 0x8b, 0xfe, 0x99, 0xde, 0xf6, 0x5b, 0x57, 0x10, 0x97, 0x8b, 0xb6, - 0x2d, 0xe5, 0x37, 0x91, 0xcb, 0xa3, 0x18, 0xe9, 0x7e, 0x9f, 0xb6, 0x3c, - 0xe6, 0x59, 0x7b, 0x45, 0xb9, 0x43, 0x38, 0x6a, 0xff, 0x51, 0xcc, 0x80, - 0x3c, 0xbd, 0x65, 0x65, 0xce, 0x50, 0x25, 0x71, 0x34, 0x52, 0x08, 0x1a, - 0xba, 0x34, 0x36, 0xe1, 0xc9, 0xf1, 0x75, 0xd1, 0xb1, 0x84, 0xfc, 0x3e, - 0x6f, 0xb3, 0xbf, 0x39, 0xbb, 0xed, 0x39, 0x30, 0xc8, 0xcd, 0x51, 0x88, - 0xc6, 0x22, 0xdb, 0xd9, 0xeb, 0xf5, 0x90, 0xb5, 0x60, 0xfb, 0xcb, 0xb6, - 0xec, 0x21, 0xf9, 0x34, 0xc3, 0xb5, 0x3a, 0x49, 0xbb, 0x94, 0xf9, 0x78, - 0xdf, 0x7c, 0xa9, 0x94, 0xaa, 0x7f, 0x6b, 0x37, 0x29, 0x61, 0xf5, 0x6c, - 0xaa, 0x23, 0xc5, 0x6b, 0xea, 0xb0, 0xbd, 0x68, 0x04, 0x90, 0xdb, 0xb4, - 0x6e, 0x56, 0x0d, 0x6e, 0xb2, 0x0e, 0xab, 0x13, 0x54, 0xed, 0x1b, 0x2b, - 0x6e, 0x8c, 0x62, 0x4a, 0xc9, 0x42, 0x7c, 0xb0, 0xd1, 0x14, 0x29, 0xd8, - 0x97, 0x28, 0xcf, 0x3f, 0x2c, 0x23, 0x64, 0xe4, 0x97, 0xe6, 0x3e, 0x3f, - 0xe2, 0xfe, 0xba, 0x4c, 0xe2, 0xa9, 0xc8, 0x5a, 0x4e, 0xc2, 0x6b, 0x61, - 0x96, 0xe7, 0x9b, 0x06, 0xac, 0x73, 0xfd, 0x40, 0x3f, 0x3b, 0x32, 0x2a, - 0x05, 0xcf, 0xc3, 0xa6, 0x58, 0xce, 0x1f, 0x6a, 0x51, 0x25, 0x20, 0x1b, - 0xb4, 0x9a, 0x3a, 0x0a, 0xb5, 0xa4, 0x6b, 0xa6, 0x0f, 0x35, 0x5b, 0x7c, - 0x40, 0x39, 0xb5, 0x4f, 0xb5, 0x65, 0xf6, 0xa9, 0xda, 0xb6, 0xbd, 0xec, - 0x1c, 0x9d, 0xd9, 0xe3, 0x9e, 0x12, 0xba, 0x3a, 0x23, 0xca, 0x2d, 0xa8, - 0x8f, 0x88, 0x2e, 0x45, 0xbf, 0x90, 0x40, 0xec, 0x95, 0x18, 0x05, 0xd5, - 0xc6, 0x8a, 0xb1, 0x6b, 0x2b, 0x23, 0x7d, 0x1f, 0x4e, 0xaa, 0xa9, 0xa4, - 0xcb, 0x14, 0x83, 0xdb, 0x6c, 0x4b, 0xf2, 0xea, 0x42, 0xdb, 0x58, 0x99, - 0x8f, 0x05, 0x35, 0x6d, 0xaa, 0x1d, 0x81, 0x59, 0xec, 0x1d, 0xd5, 0x26, - 0x97, 0xa9, 0xee, 0xf6, 0xf8, 0x0d, 0x76, 0x23, 0x5a, 0xb2, 0xe9, 0x42, - 0x32, 0xb7, 0x72, 0x9b, 0xa6, 0xf5, 0x9c, 0x79, 0xc5, 0xff, 0xec, 0x13, - 0x59, 0xde, 0x6c, 0xd2, 0x23, 0x80, 0x9e, 0x88, 0xe6, 0x34, 0x8b, 0x68, - 0x00, 0x94, 0xce, 0x83, 0xc0, 0x9c, 0xd1, 0xe9, 0x0a, 0x95, 0x0f, 0x1f, - 0x48, 0xb8, 0x83, 0xf0, 0x71, 0xd6, 0xd3, 0x4a, 0x3a, 0x5b, 0xa9, 0xaa, - 0x6c, 0x53, 0x55, 0xda, 0xfc, 0x17, 0x4b, 0xc9, 0xb5, 0x7b, 0xc2, 0x95, - 0x07, 0xb2, 0xf9, 0x67, 0x5a, 0x2a, 0x7b, 0x69, 0x73, 0x10, 0xbb, 0x82, - 0x79, 0x3f, 0x2e, 0xc5, 0xc4, 0xe1, 0xe1, 0x61, 0xc2, 0x6e, 0x73, 0x8b, - 0x16, 0x6a, 0x49, 0x5e, 0xe4, 0x34, 0xa2, 0x88, 0x88, 0xb9, 0x6d, 0x19, - 0x6e, 0x73, 0xaa, 0x23, 0x05, 0x80, 0xd3, 0xc6, 0x92, 0xe7, 0x85, 0xc3, - 0x89, 0xae, 0xa6, 0x96, 0x18, 0xa3, 0x90, 0x23, 0x94, 0x6e, 0x84, 0x3c, - 0xd6, 0xcb, 0x15, 0x6a, 0xd8, 0x6c, 0x36, 0xf3, 0x23, 0x91, 0x91, 0x1c, - 0xd7, 0x2d, 0x3e, 0x89, 0x95, 0xb3, 0x92, 0xb9, 0x63, 0xc2, 0x66, 0x84, - 0xe3, 0x2d, 0xa6, 0xd4, 0x56, 0xe9, 0xa3, 0x9b, 0x72, 0xc6, 0xb6, 0xa4, - 0x17, 0x2e, 0xee, 0x88, 0x59, 0x4b, 0xab, 0x40, 0xac, 0x06, 0xed, 0x8e, - 0x14, 0x76, 0x98, 0xdb, 0xd1, 0x6c, 0xa4, 0xdf, 0xe0, 0x3f, 0x12, 0xe2, - 0x52, 0x81, 0x49, 0xbb, 0x7b, 0xb9, 0x80, 0xb9, 0x9d, 0xc6, 0x5e, 0x7f, - 0xd8, 0xcf, 0x74, 0xcb, 0x80, 0xd5, 0x5e, 0xa1, 0x5c, 0xd8, 0x20, 0x0c, - 0xf5, 0xf9, 0xd2, 0x8c, 0x50, 0xb1, 0x46, 0xe6, 0xbb, 0xe1, 0x42, 0x79, - 0x25, 0xe6, 0xea, 0x8b, 0x6b, 0xba, 0xcd, 0x7f, 0x55, 0xa9, 0x7e, 0xd9, - 0x64, 0xe2, 0x7d, 0x19, 0x83, 0xd5, 0x7c, 0x52, 0xa7, 0xa3, 0x47, 0x0e, - 0x59, 0xaa, 0x16, 0x8d, 0x21, 0x2b, 0xae, 0x49, 0x7c, 0x06, 0x3e, 0xc9, - 0xa4, 0x86, 0x2e, 0xc8, 0xbc, 0xb2, 0x58, 0x6e, 0x6a, 0x48, 0x63, 0x3c, - 0x29, 0x81, 0xad, 0x45, 0x3c, 0x1e, 0xe8, 0x1b, 0x99, 0x81, 0x7e, 0xbb, - 0x48, 0xae, 0x04, 0xf7, 0xc3, 0x22, 0x6f, 0x27, 0xa7, 0xcf, 0x0f, 0xfb, - 0xfc, 0xb7, 0x48, 0x41, 0x05, 0xff, 0x15, 0x8a, 0x7f, 0x7b, 0x45, 0xf1, - 0x3f, 0xec, 0xb1, 0x1b, 0xa5, 0xba, 0xfc, 0x27, 0xd8, 0xd6, 0xae, 0x4c, - 0x31, 0xe3, 0x47, 0xde, 0x97, 0x8a, 0xb5, 0xf7, 0x61, 0x38, 0x15, 0x18, - 0xe4, 0x93, 0xa5, 0x39, 0x65, 0xa5, 0xc2, 0x5b, 0x3f, 0x52, 0x06, 0xfa, - 0x23, 0x6e, 0x53, 0x71, 0x13, 0x43, 0xc9, 0xe9, 0x9c, 0x12, 0x4e, 0xfb, - 0xb6, 0xf7, 0xc5, 0x0e, 0x35, 0xa6, 0x45, 0xa7, 0x91, 0x75, 0xf8, 0x93, + 0x0a, 0x8b, 0xf2, 0x9e, 0x3a, 0xb9, 0x18, 0x58, 0xe1, 0xdc, 0x89, 0xfa, + 0x63, 0xab, 0x86, 0xfd, 0xdf, 0x61, 0x84, 0xe3, 0xc8, 0xb4, 0xeb, 0xb7, + 0x3f, 0x16, 0xfd, 0x53, 0xbd, 0xed, 0xb7, 0xae, 0x20, 0x2e, 0x17, 0x6d, + 0x5b, 0xca, 0x6f, 0x22, 0x97, 0x47, 0x31, 0xd2, 0xfd, 0x3e, 0x6d, 0x79, + 0xcc, 0xb3, 0xf6, 0x8a, 0x72, 0x87, 0x70, 0xd4, 0xfe, 0xa3, 0x98, 0x01, + 0x79, 0x7a, 0xcb, 0xca, 0x9c, 0xa1, 0x4a, 0xe2, 0x68, 0xa4, 0x10, 0x34, + 0x74, 0x69, 0x6c, 0xc2, 0x93, 0xe3, 0xeb, 0xa2, 0x63, 0x09, 0xf9, 0x7d, + 0xde, 0x66, 0x7f, 0x73, 0x76, 0xdb, 0x73, 0x60, 0x90, 0x9b, 0xa3, 0x10, + 0x8d, 0x45, 0xb6, 0xb3, 0xd7, 0xeb, 0x21, 0x6b, 0xc1, 0xf6, 0x97, 0x6d, + 0xd9, 0x43, 0xf2, 0x69, 0x86, 0x6b, 0x75, 0x92, 0x76, 0x29, 0xf3, 0xf1, + 0xbe, 0xf9, 0x52, 0x29, 0x55, 0xff, 0xd6, 0x6e, 0x52, 0xc2, 0xea, 0xd9, + 0x54, 0x47, 0x8a, 0xd7, 0xd4, 0x61, 0x7b, 0xd1, 0x08, 0x20, 0xb7, 0x69, + 0xdd, 0xac, 0x1a, 0xdc, 0x64, 0x1d, 0x56, 0x27, 0xa8, 0xda, 0x57, 0x56, + 0xdc, 0x18, 0xc5, 0x94, 0x92, 0x85, 0xf8, 0x60, 0xa3, 0x29, 0x52, 0xb0, + 0x2f, 0x51, 0x9e, 0x7f, 0x58, 0x46, 0xc8, 0xc8, 0x2f, 0xcd, 0x7d, 0x7e, + 0xc4, 0xfd, 0x55, 0x99, 0xc4, 0x53, 0x91, 0xb5, 0x9c, 0x84, 0xd7, 0xc2, + 0x2c, 0xcf, 0x37, 0x0d, 0x58, 0xe7, 0xfa, 0x81, 0x7e, 0x76, 0x64, 0x54, + 0x0a, 0x9e, 0x87, 0x4d, 0xb1, 0x9c, 0x3f, 0xd4, 0xa2, 0x4a, 0x40, 0x36, + 0x68, 0x35, 0x75, 0x14, 0x6a, 0x49, 0xd7, 0x4c, 0x1f, 0x6a, 0xb6, 0xf8, + 0x80, 0x72, 0x6a, 0x9f, 0x6a, 0xcb, 0xec, 0x53, 0xb5, 0x6d, 0x7b, 0xd9, + 0x39, 0x3a, 0xb3, 0xc7, 0x3d, 0x25, 0x74, 0x75, 0x46, 0x94, 0x5b, 0x50, + 0x1f, 0x11, 0x5d, 0x8a, 0x7e, 0x21, 0x81, 0xd8, 0x2b, 0x31, 0x0a, 0xaa, + 0x8d, 0x15, 0x63, 0xd7, 0x56, 0x46, 0xfa, 0x3e, 0x9c, 0x54, 0x53, 0x49, + 0x97, 0x29, 0x06, 0xb7, 0xd9, 0x96, 0xe4, 0xd5, 0x85, 0xb6, 0xb1, 0x32, + 0x1f, 0x0b, 0x6a, 0xda, 0x54, 0x3b, 0x02, 0xb3, 0xd8, 0x3b, 0xaa, 0x4d, + 0x2e, 0x53, 0xdd, 0xed, 0xf1, 0x1b, 0xec, 0x46, 0xb4, 0x64, 0xd3, 0x85, + 0x64, 0x6e, 0xe5, 0x36, 0x4d, 0xeb, 0x39, 0xf3, 0x8a, 0xff, 0xd9, 0x27, + 0xb2, 0xbc, 0xd9, 0xa4, 0x47, 0x00, 0x3d, 0x11, 0xcd, 0x69, 0x16, 0xd1, + 0x00, 0x28, 0x9d, 0x07, 0x81, 0x39, 0xa3, 0xd3, 0x15, 0x2a, 0x1f, 0x3e, + 0x90, 0x70, 0x07, 0xe1, 0xe3, 0xac, 0xa7, 0x95, 0x74, 0xb6, 0x52, 0x55, + 0xd9, 0xa6, 0xaa, 0xb4, 0xf9, 0x2f, 0x96, 0x92, 0x6b, 0xf7, 0x84, 0x2b, + 0x0f, 0x64, 0xf3, 0xcf, 0xb4, 0x54, 0xf6, 0xd2, 0xe6, 0x20, 0x76, 0x05, + 0xf3, 0x7e, 0x5c, 0x8a, 0x89, 0xc3, 0xc3, 0xc3, 0x84, 0xdd, 0xe6, 0x16, + 0x2d, 0xd4, 0x92, 0xbc, 0xc8, 0x69, 0x44, 0x11, 0x11, 0x73, 0xdb, 0x32, + 0xdc, 0xe6, 0x54, 0x47, 0x0a, 0x00, 0xa7, 0x8d, 0x25, 0xcf, 0x0b, 0x87, + 0x13, 0x5d, 0x4d, 0x2d, 0x31, 0x46, 0x21, 0x47, 0x28, 0xdd, 0x08, 0x79, + 0xac, 0x97, 0x2b, 0xd4, 0xb0, 0xd9, 0x6c, 0xe6, 0x47, 0x22, 0x23, 0x39, + 0xae, 0x5b, 0x7c, 0x12, 0x2b, 0x67, 0x25, 0x73, 0xc7, 0x84, 0xcd, 0x08, + 0xc7, 0x5b, 0x4c, 0xa9, 0xad, 0xd2, 0x47, 0x37, 0xe5, 0x8c, 0x6d, 0x49, + 0x2f, 0x5c, 0xdc, 0x11, 0xb3, 0x96, 0x56, 0x81, 0x58, 0x0d, 0xda, 0x1d, + 0x29, 0xec, 0x30, 0xb7, 0xa3, 0xd9, 0x48, 0xbf, 0xc1, 0x7f, 0x24, 0xc4, + 0xa5, 0x02, 0x93, 0x76, 0xf7, 0x72, 0x01, 0x73, 0x3b, 0x8d, 0xbd, 0xfe, + 0xb0, 0x9f, 0xe9, 0x96, 0x01, 0xab, 0xbd, 0x42, 0xb9, 0xb0, 0x41, 0x18, + 0xea, 0xf3, 0xa5, 0x19, 0xa1, 0x62, 0x8d, 0xcc, 0x77, 0xc3, 0x85, 0xf2, + 0x4a, 0xcc, 0xd5, 0x17, 0xd7, 0x74, 0x9b, 0xff, 0xaa, 0x52, 0xfd, 0xb2, + 0xc9, 0xc4, 0xfb, 0x32, 0x06, 0xab, 0xf9, 0xa4, 0x4e, 0x47, 0x8f, 0x1c, + 0xb2, 0x54, 0x2d, 0x1a, 0x43, 0x56, 0x5c, 0x93, 0xf8, 0x0c, 0x7c, 0x92, + 0x49, 0x0d, 0x5d, 0x90, 0x79, 0x65, 0xb1, 0xdc, 0xd4, 0x90, 0xc6, 0x78, + 0x52, 0x02, 0x5b, 0x8b, 0x78, 0x3c, 0xd0, 0x37, 0x32, 0x03, 0xfd, 0x76, + 0x91, 0x5c, 0x09, 0xee, 0x87, 0x45, 0xde, 0x4e, 0x4e, 0x9f, 0x1f, 0xf6, + 0xf9, 0x6f, 0x91, 0x82, 0x0a, 0xfe, 0x2b, 0x14, 0xff, 0xf6, 0x8a, 0xe2, + 0x7f, 0xd8, 0x63, 0x37, 0x4a, 0x75, 0xf9, 0x4f, 0xb0, 0xad, 0x5d, 0x99, + 0x62, 0xc6, 0x8f, 0xbc, 0x2f, 0x15, 0x6b, 0xef, 0xc3, 0x70, 0x2a, 0x30, + 0xc8, 0x27, 0x4b, 0x73, 0xca, 0x4a, 0x85, 0xb7, 0x7e, 0xa4, 0x0c, 0xf4, + 0x47, 0xdc, 0xa6, 0xe2, 0x26, 0x86, 0x92, 0x93, 0x39, 0x25, 0x9c, 0xf4, + 0x6d, 0xef, 0xcc, 0x0e, 0x35, 0xa6, 0x45, 0xa7, 0x91, 0x75, 0xf8, 0x93, 0x37, 0x09, 0x9b, 0x50, 0x52, 0x3e, 0xd9, 0x98, 0x32, 0xe3, 0x12, 0x5f, 0x7f, 0x50, 0x3a, 0xf6, 0x54, 0xec, 0x69, 0x6d, 0x0c, 0xb9, 0xf0, 0xf9, 0xc2, 0x5a, 0xf1, 0xd1, 0x40, 0xf2, 0x37, 0x16, 0x9f, 0xad, 0x56, 0xea, @@ -329,1390 +329,1403 @@ static const char index_htm_gz[] PROGMEM ={ 0x3b, 0x81, 0x98, 0x14, 0xb9, 0x02, 0x0d, 0x93, 0x93, 0x9c, 0x51, 0xd4, 0xf7, 0x74, 0xea, 0x42, 0x1b, 0x6f, 0x34, 0x78, 0x99, 0xef, 0x71, 0x95, 0xb8, 0x15, 0x67, 0x4b, 0x5f, 0x8b, 0x23, 0x9f, 0x12, 0x37, 0x34, 0x3d, - 0xa5, 0xdb, 0x66, 0x0e, 0x12, 0xa0, 0x03, 0xe7, 0x8b, 0xe5, 0x0c, 0x70, - 0x81, 0x06, 0x02, 0x76, 0x10, 0xfc, 0x29, 0x42, 0x51, 0x1e, 0x38, 0x2b, - 0xc9, 0xab, 0x2e, 0xba, 0x25, 0x2d, 0x25, 0x6a, 0x88, 0x92, 0x2a, 0x18, - 0x17, 0x1e, 0x37, 0x0f, 0x14, 0x3c, 0x88, 0x34, 0xb3, 0xb9, 0xd3, 0x83, - 0x37, 0x4e, 0x3f, 0xf0, 0x43, 0x7f, 0x18, 0xbd, 0x3a, 0x7a, 0xba, 0x35, - 0x4d, 0x92, 0xdd, 0x02, 0xdd, 0x22, 0x36, 0xf8, 0x74, 0xa3, 0xa6, 0x93, - 0xca, 0xed, 0xbb, 0x76, 0x18, 0x32, 0x80, 0x39, 0xfe, 0xa8, 0x01, 0x53, - 0xc0, 0xe1, 0x97, 0x91, 0x45, 0xb7, 0x46, 0xa1, 0x63, 0x77, 0x4b, 0xe8, - 0xba, 0xb4, 0xa0, 0xb0, 0xd7, 0x6e, 0x3c, 0xd9, 0xdb, 0xdb, 0x6d, 0x25, - 0x7f, 0x97, 0xa4, 0xde, 0x74, 0x4b, 0xad, 0x46, 0xa3, 0xa4, 0x54, 0x46, - 0x3d, 0x9c, 0x4f, 0x5c, 0x2f, 0x94, 0xf7, 0x13, 0xe1, 0x7a, 0xa2, 0xf9, - 0x7c, 0x5e, 0x9f, 0xb7, 0xeb, 0x7e, 0x30, 0xda, 0x42, 0x6e, 0x63, 0x0b, - 0x04, 0x34, 0xe1, 0x1c, 0x71, 0x19, 0x3d, 0x53, 0xe1, 0xb6, 0x6e, 0xe9, - 0xa1, 0x18, 0xd2, 0x7f, 0x25, 0x1d, 0x7f, 0x53, 0x14, 0x41, 0x9b, 0xe2, - 0x73, 0xdd, 0x12, 0x4b, 0xd5, 0xea, 0x83, 0x51, 0x2c, 0xdc, 0x3c, 0x69, - 0xee, 0x6c, 0x3f, 0xd9, 0x6e, 0x37, 0x91, 0x70, 0x91, 0x49, 0x08, 0xf0, - 0xbc, 0x93, 0x78, 0xde, 0x5a, 0x4e, 0x9f, 0x45, 0x49, 0x87, 0xe0, 0x21, - 0x23, 0x7b, 0x84, 0xb0, 0x1f, 0x91, 0xd1, 0x12, 0x2c, 0x0a, 0xa4, 0x96, - 0x0c, 0xc7, 0x8d, 0x86, 0xdd, 0xef, 0x37, 0xf3, 0x1c, 0x67, 0x43, 0x88, - 0xc4, 0x62, 0xa3, 0x8a, 0x51, 0x2c, 0xce, 0xa1, 0x5e, 0x84, 0xfb, 0xb4, - 0xba, 0x25, 0x36, 0x5b, 0xf7, 0x56, 0xc5, 0x91, 0xae, 0x48, 0x3e, 0xe4, - 0xaa, 0x9b, 0xa5, 0xb0, 0x1c, 0xf5, 0xae, 0xb4, 0x60, 0xc0, 0x57, 0x96, - 0xad, 0x0b, 0xe6, 0x62, 0xa7, 0x24, 0xcf, 0xc0, 0x4c, 0x00, 0x46, 0x41, - 0x78, 0x41, 0x55, 0x03, 0x41, 0x3c, 0x06, 0x50, 0x4f, 0xd5, 0x51, 0xbd, - 0xfe, 0xd8, 0x07, 0xd7, 0xf2, 0xf2, 0x88, 0x52, 0x1c, 0xcc, 0x03, 0x20, - 0x6e, 0x33, 0x6b, 0x36, 0x7e, 0xf8, 0x74, 0x8b, 0xe0, 0x56, 0x62, 0x29, - 0xa5, 0xd5, 0x85, 0x5c, 0xb5, 0x1a, 0xb7, 0xe6, 0xaa, 0x55, 0x3a, 0x58, - 0xca, 0xd2, 0xd3, 0xad, 0x51, 0x51, 0x7f, 0x22, 0x7d, 0x37, 0xe9, 0xa6, - 0xfb, 0xae, 0xd2, 0x9d, 0x75, 0x80, 0x0e, 0x94, 0x17, 0x81, 0xc4, 0x07, - 0x35, 0x56, 0x33, 0x39, 0x9e, 0x2d, 0x8b, 0xc9, 0xc3, 0x52, 0xa6, 0x50, - 0xd2, 0x08, 0xd3, 0xc8, 0x95, 0x3e, 0x5a, 0x96, 0x4e, 0x23, 0x8b, 0xac, - 0x92, 0x16, 0x85, 0xae, 0x69, 0x0e, 0xac, 0x69, 0x2f, 0x32, 0x45, 0xd9, - 0x83, 0x6a, 0x31, 0x2f, 0x6a, 0xf8, 0xa1, 0x5d, 0x35, 0x1a, 0xc7, 0x4a, - 0x78, 0xe8, 0xdc, 0x17, 0x6a, 0x4c, 0x17, 0xd5, 0xb1, 0xb8, 0x56, 0x28, - 0xcb, 0x0b, 0x2f, 0xb1, 0x78, 0x8b, 0x72, 0x96, 0x62, 0x02, 0x90, 0xa7, - 0x5b, 0x01, 0x9d, 0x37, 0x12, 0x83, 0xd8, 0x4c, 0xc8, 0x81, 0x0f, 0xe5, - 0x1d, 0xcb, 0xc6, 0x8c, 0xbb, 0x26, 0x9f, 0xc1, 0x6d, 0x30, 0x33, 0xb6, - 0x24, 0x7d, 0x0b, 0x40, 0xe9, 0x60, 0xee, 0x0c, 0x9d, 0xa7, 0x5b, 0xce, - 0xc1, 0x23, 0xaf, 0x17, 0x4e, 0xf7, 0xe5, 0x27, 0x13, 0xd1, 0x05, 0xd2, - 0x4b, 0x4c, 0xa5, 0x03, 0xaa, 0x32, 0x2a, 0x4b, 0x20, 0x07, 0x92, 0x9d, - 0x83, 0x98, 0x15, 0x95, 0x2c, 0xbf, 0xae, 0xad, 0x01, 0xb4, 0x26, 0x2e, - 0xb9, 0x26, 0xd7, 0x21, 0x3a, 0x95, 0xed, 0x9e, 0x12, 0xf3, 0xa7, 0xfe, - 0x70, 0x78, 0xdb, 0x0a, 0x80, 0x93, 0x1b, 0xd6, 0x01, 0xea, 0xc9, 0x73, - 0x22, 0x69, 0x0b, 0xb2, 0x4d, 0xb1, 0x2a, 0x16, 0x49, 0x9c, 0xf0, 0x20, - 0x66, 0xe2, 0xb8, 0x45, 0x6d, 0xaa, 0x2e, 0x3a, 0xf3, 0xbd, 0xe7, 0x74, - 0x95, 0x15, 0xae, 0x54, 0x0c, 0x4f, 0x03, 0xa1, 0xca, 0x95, 0x2b, 0x24, - 0xbe, 0x45, 0xb2, 0xa2, 0x03, 0x73, 0x98, 0x25, 0x8a, 0xb9, 0x91, 0x92, - 0xac, 0x75, 0x5c, 0x3e, 0xae, 0x32, 0x13, 0x59, 0x52, 0x77, 0xad, 0x99, - 0xe9, 0x34, 0x74, 0xf0, 0x25, 0xc3, 0xbf, 0x3a, 0xf4, 0x0f, 0x67, 0x85, - 0x0f, 0xa1, 0x5f, 0xd7, 0x45, 0xf9, 0xc0, 0x2d, 0x1f, 0x9e, 0xc0, 0x06, - 0xf9, 0xb8, 0x7f, 0x26, 0xdd, 0x5c, 0x0e, 0x21, 0xac, 0xd2, 0x4b, 0xf3, - 0x76, 0xaa, 0xc0, 0x5d, 0x5b, 0x3a, 0x00, 0x49, 0xb7, 0x9c, 0x9b, 0x28, - 0xef, 0xad, 0x97, 0xd0, 0x18, 0x7d, 0xd9, 0x18, 0xbe, 0x77, 0xc2, 0xde, - 0x2f, 0xfb, 0xf8, 0x65, 0xf1, 0x05, 0xa8, 0x2b, 0x94, 0xcd, 0xb7, 0x2c, - 0x4e, 0xe0, 0x9a, 0x2e, 0x00, 0x81, 0xa4, 0x25, 0x2e, 0xc5, 0xc4, 0xa2, - 0x1a, 0x19, 0x0e, 0x80, 0xa4, 0x19, 0x2b, 0x47, 0x81, 0x7f, 0x9d, 0x38, - 0x99, 0x4e, 0x0c, 0x3c, 0xcf, 0xf1, 0xf7, 0x76, 0x36, 0x29, 0x37, 0x2b, - 0x4b, 0x6a, 0x6d, 0x54, 0xf3, 0x80, 0xf1, 0xeb, 0x9e, 0xd2, 0xec, 0xc8, - 0x54, 0xc3, 0xcb, 0x4f, 0xc5, 0x79, 0xb3, 0x40, 0xc5, 0x57, 0x51, 0x9a, - 0xa5, 0x15, 0x6c, 0xad, 0x56, 0xc1, 0xf6, 0xe2, 0x0a, 0xb6, 0x6e, 0x52, - 0xc1, 0x56, 0x51, 0x05, 0x5b, 0xf7, 0x51, 0xc1, 0xf6, 0xad, 0x2b, 0xd8, - 0xbe, 0x49, 0x05, 0xdb, 0x45, 0x15, 0x6c, 0xdf, 0xb2, 0x82, 0x9c, 0xb7, - 0xa2, 0xa9, 0x58, 0xd6, 0xd7, 0xf7, 0x56, 0xe9, 0xd1, 0x3a, 0x5e, 0x11, - 0xf7, 0xec, 0xb8, 0xd0, 0xb5, 0xa6, 0x00, 0xb5, 0xe5, 0xab, 0x30, 0x56, - 0xf2, 0x59, 0x96, 0xb5, 0xa0, 0x09, 0xd0, 0x96, 0x0e, 0xae, 0x6d, 0xf9, - 0xad, 0xeb, 0x35, 0xe3, 0x3a, 0xd2, 0x1c, 0x6e, 0xa0, 0x2d, 0x07, 0xf0, - 0xd2, 0x69, 0x9c, 0x0c, 0x68, 0x88, 0xe2, 0xc4, 0xeb, 0x4a, 0xca, 0x50, - 0xa5, 0x0c, 0x94, 0xcb, 0x38, 0x5b, 0x09, 0x95, 0x60, 0x34, 0xd0, 0xa1, - 0x6b, 0xeb, 0x2c, 0x8b, 0x7f, 0xb1, 0xdd, 0x19, 0xca, 0x23, 0x74, 0xac, - 0xaf, 0xb4, 0xe5, 0x08, 0x51, 0x89, 0x16, 0xf8, 0x31, 0x59, 0xc3, 0xb7, - 0x7d, 0xce, 0xd9, 0x31, 0xee, 0xd2, 0xe6, 0x04, 0x32, 0x0a, 0x04, 0x0d, - 0x8e, 0xfc, 0x75, 0x4b, 0xa1, 0x30, 0x8e, 0x7b, 0x13, 0x0b, 0x63, 0xdf, - 0xa0, 0x60, 0x7a, 0xe0, 0xae, 0x74, 0x40, 0x9f, 0xb7, 0x14, 0x0b, 0xa1, - 0xb8, 0x37, 0xa9, 0x10, 0xf2, 0x0d, 0x0a, 0x85, 0x56, 0x14, 0x41, 0x8f, - 0xbe, 0x6e, 0x2b, 0x16, 0xc2, 0x71, 0x7f, 0x72, 0x21, 0xec, 0x9b, 0x14, - 0x8c, 0x8c, 0x82, 0xc6, 0x96, 0x51, 0x87, 0xba, 0xf6, 0xd4, 0xcd, 0x30, - 0x6d, 0xf9, 0xbd, 0xbf, 0x96, 0x8f, 0x6e, 0xe9, 0x0b, 0xca, 0x20, 0xf0, - 0x1e, 0xa6, 0xfa, 0xf0, 0x73, 0x06, 0x22, 0x24, 0xa7, 0x8b, 0xdc, 0xd0, - 0x5b, 0x8a, 0x5f, 0x32, 0x7c, 0x6f, 0xf2, 0x97, 0xe8, 0x37, 0xd8, 0x00, - 0x1c, 0x48, 0xbe, 0x5b, 0xf9, 0xd3, 0x3c, 0x67, 0x22, 0x82, 0x3b, 0x10, - 0x36, 0x98, 0xbb, 0xc7, 0x01, 0x03, 0xd8, 0x6f, 0x3f, 0x64, 0x48, 0x4c, - 0x62, 0xc4, 0x57, 0x43, 0x97, 0x56, 0xf3, 0xff, 0x29, 0xa2, 0xb0, 0x7f, - 0x6d, 0x9d, 0xd6, 0x9b, 0xc8, 0xac, 0xea, 0xec, 0xb4, 0x54, 0xdd, 0xd9, - 0xa5, 0x3b, 0x11, 0xa3, 0xd7, 0x3d, 0x77, 0x19, 0x8f, 0x88, 0xcb, 0xc6, - 0xa0, 0x88, 0xca, 0xae, 0x40, 0x98, 0x89, 0xcb, 0x32, 0x09, 0x4a, 0x90, - 0x50, 0x2c, 0x9c, 0xd4, 0x52, 0x7e, 0x4c, 0x7c, 0xf1, 0xca, 0x60, 0x51, - 0x08, 0x5b, 0x85, 0xf1, 0x9f, 0x60, 0x85, 0xc7, 0x22, 0x67, 0x48, 0x22, - 0x5b, 0x81, 0xbd, 0xa7, 0x5b, 0x2b, 0xf4, 0x8f, 0xad, 0xdb, 0xfb, 0x56, - 0x32, 0x52, 0x87, 0xdb, 0xbf, 0x11, 0x39, 0xcc, 0xab, 0x85, 0x5a, 0x29, - 0xb8, 0xa5, 0x76, 0xb0, 0xc1, 0x0e, 0x15, 0x91, 0xeb, 0x1b, 0x72, 0x1e, - 0xbe, 0x91, 0xa0, 0xab, 0x35, 0xa4, 0xe9, 0x95, 0x0a, 0x63, 0x29, 0x4d, - 0xf0, 0x76, 0x2d, 0xc7, 0x2b, 0x9a, 0x14, 0xb8, 0xbd, 0xbf, 0xa6, 0x58, - 0x67, 0x7e, 0xa0, 0xd3, 0x6e, 0x39, 0xa1, 0x4f, 0x2e, 0x4d, 0xe0, 0xd5, - 0x10, 0x0b, 0xfb, 0xaf, 0x24, 0x57, 0x44, 0x34, 0xc6, 0xa0, 0xaf, 0x13, - 0x5d, 0x4f, 0x79, 0x24, 0x27, 0xd7, 0x46, 0x23, 0x57, 0x34, 0x28, 0x8b, - 0x8c, 0xc8, 0x76, 0xc2, 0x30, 0xbc, 0x86, 0x89, 0x9d, 0x5d, 0xab, 0x54, - 0x49, 0x8b, 0xe0, 0xaa, 0x12, 0xc5, 0x06, 0xe1, 0xda, 0xde, 0xbc, 0x6a, - 0xb4, 0x33, 0xcf, 0xb0, 0xd9, 0x47, 0x70, 0x34, 0x1c, 0x92, 0x51, 0x32, - 0x3c, 0x2f, 0x42, 0x96, 0x9d, 0xb2, 0x25, 0xee, 0x8c, 0xbd, 0xbe, 0x8f, - 0xf2, 0xd8, 0xa7, 0xd9, 0x91, 0x7b, 0xfa, 0x4a, 0xeb, 0x76, 0x3c, 0xbd, - 0x33, 0xb1, 0xa4, 0x95, 0xa2, 0x96, 0xab, 0xc5, 0x4a, 0x38, 0x69, 0x9e, - 0xad, 0x51, 0xe4, 0x30, 0xf4, 0x46, 0x72, 0x37, 0x53, 0x7a, 0xb2, 0x6b, - 0xf1, 0xd2, 0xcc, 0x0a, 0x93, 0x74, 0xfa, 0xbb, 0x7e, 0xa4, 0xbf, 0x49, - 0x57, 0xbd, 0xbe, 0x4d, 0xa5, 0xaa, 0xbc, 0x47, 0xa4, 0x42, 0x04, 0xf7, - 0xdc, 0x9c, 0x89, 0xf2, 0x6a, 0xc7, 0x0b, 0xc5, 0x37, 0x79, 0x53, 0x47, - 0xe2, 0x55, 0x1c, 0x78, 0x04, 0x2a, 0x8e, 0xab, 0xc8, 0x5a, 0xdd, 0x83, - 0x1a, 0x4c, 0xb9, 0xba, 0xc4, 0xcb, 0xb5, 0xf1, 0x03, 0xd3, 0xf8, 0xa6, - 0xe0, 0x1d, 0x36, 0x37, 0x0b, 0x65, 0x65, 0xa9, 0xc8, 0x45, 0xb8, 0xfb, - 0xb0, 0xe9, 0x0b, 0x15, 0x65, 0x25, 0xe7, 0xe6, 0xa7, 0x7e, 0x18, 0xd1, - 0x42, 0x8a, 0x54, 0xa0, 0x95, 0x1a, 0xc4, 0x0c, 0x88, 0x63, 0x59, 0xf8, - 0x7e, 0xc7, 0xc3, 0xb5, 0xeb, 0x6d, 0xd1, 0x75, 0x1f, 0x2b, 0x55, 0xfe, - 0xcd, 0x2f, 0x3e, 0x7c, 0x20, 0x01, 0xdc, 0xa8, 0xf2, 0x93, 0x3f, 0x46, - 0xd1, 0x29, 0x24, 0x70, 0x4b, 0x3f, 0xee, 0x1e, 0x6a, 0xbf, 0x5a, 0xcb, - 0x53, 0xe5, 0xdf, 0xfb, 0xc1, 0x3a, 0x95, 0x97, 0x13, 0x94, 0xcc, 0xa4, - 0x62, 0x77, 0x67, 0xa7, 0xbd, 0x93, 0x10, 0x09, 0xce, 0x31, 0xfd, 0xf7, - 0x89, 0x64, 0x77, 0x65, 0x91, 0xfc, 0x32, 0xbc, 0xd6, 0x9a, 0x2e, 0xd1, - 0x07, 0xda, 0x94, 0xf3, 0x3f, 0x5c, 0xf9, 0xf7, 0x28, 0xbb, 0x46, 0xe5, - 0xa7, 0x00, 0x9f, 0xa3, 0x26, 0x09, 0x01, 0x50, 0xd2, 0x7f, 0x44, 0x00, - 0xab, 0x84, 0xbe, 0x6f, 0xe9, 0xfb, 0xb5, 0xd3, 0x93, 0xc2, 0xe7, 0xde, - 0x8d, 0xfb, 0x4e, 0x53, 0xf5, 0x9d, 0x27, 0xa5, 0xf4, 0x44, 0xb1, 0xef, - 0xdd, 0xb2, 0xeb, 0xec, 0xdc, 0x48, 0x76, 0xab, 0x56, 0xfa, 0xb9, 0x3f, - 0xbb, 0x79, 0x9d, 0x33, 0xf6, 0xc2, 0xd4, 0xbb, 0xef, 0xcf, 0xfe, 0xbb, - 0xab, 0x7d, 0xfc, 0xf2, 0xd9, 0xbb, 0xd5, 0x7d, 0x7c, 0xf9, 0x13, 0x3b, - 0xf7, 0xfc, 0x0d, 0x7a, 0xf9, 0xed, 0x94, 0x47, 0xe8, 0xdd, 0xb6, 0x8d, - 0x9a, 0xbb, 0xc9, 0x06, 0xc2, 0xf1, 0xd2, 0xff, 0x44, 0xf3, 0x6c, 0xb8, - 0x47, 0xbf, 0x7b, 0xff, 0xe1, 0xf8, 0xe8, 0x57, 0xeb, 0xb6, 0x33, 0xde, - 0xb6, 0x86, 0x73, 0xb3, 0xff, 0xa1, 0x96, 0x06, 0xcb, 0x2f, 0x0e, 0xbf, - 0x3b, 0xba, 0x01, 0xcf, 0x38, 0x5f, 0xb6, 0xc9, 0x49, 0x68, 0x86, 0xe9, - 0x97, 0x87, 0x6f, 0xde, 0x1c, 0xde, 0x80, 0xeb, 0x91, 0x3d, 0x99, 0xd8, - 0xff, 0x39, 0xb6, 0x4f, 0x5e, 0xfd, 0xf6, 0x26, 0xb2, 0xc6, 0x34, 0xe0, - 0xae, 0x65, 0xbd, 0x81, 0xae, 0xb1, 0xab, 0xea, 0x3e, 0x3a, 0x89, 0xec, - 0xdb, 0x3b, 0x89, 0x3f, 0xfa, 0x43, 0xf8, 0x05, 0x41, 0x74, 0x7e, 0x87, - 0xa8, 0x8e, 0x1b, 0x87, 0x91, 0x7d, 0x5b, 0x4f, 0xf1, 0xc9, 0x8d, 0x0c, - 0xcb, 0x8a, 0xd5, 0xf6, 0xa7, 0xf7, 0x53, 0x6b, 0x7f, 0xfa, 0x9f, 0xa8, - 0xf4, 0x7d, 0xab, 0xcc, 0x62, 0x1f, 0x53, 0x1f, 0x92, 0x91, 0x27, 0x64, - 0x94, 0xcb, 0x69, 0xb6, 0xe5, 0x28, 0x87, 0x73, 0xe9, 0x0c, 0x5e, 0xe3, - 0x2e, 0xba, 0x45, 0x9e, 0xb8, 0x5c, 0x61, 0x3f, 0xc6, 0x1b, 0x9b, 0x86, - 0x45, 0x7e, 0x4e, 0x35, 0x9c, 0x8a, 0x07, 0x98, 0x7d, 0x06, 0x13, 0x00, - 0x96, 0xf4, 0x82, 0x8a, 0x3a, 0x97, 0xb5, 0x22, 0x8d, 0x17, 0x98, 0xf5, - 0xaf, 0x44, 0x83, 0xc2, 0x03, 0x37, 0xa4, 0xf1, 0x0c, 0x3b, 0x45, 0x57, - 0xa2, 0x41, 0x27, 0x23, 0x6e, 0x4a, 0x23, 0x5a, 0x4d, 0x54, 0xbd, 0xe8, - 0xa6, 0x92, 0x02, 0x05, 0x6c, 0xad, 0x59, 0x95, 0x08, 0xb4, 0x65, 0x2d, - 0x3a, 0x8c, 0x76, 0xcd, 0xfe, 0x71, 0x57, 0x8a, 0xed, 0xda, 0x5f, 0xc4, - 0x5b, 0x0a, 0x81, 0xaf, 0x61, 0x3c, 0xcc, 0x24, 0x92, 0x8b, 0x7b, 0x28, - 0x7e, 0x17, 0x93, 0x28, 0x7d, 0xb0, 0x42, 0x1d, 0xfb, 0xe5, 0xd7, 0x89, - 0xdc, 0x93, 0xe5, 0x88, 0xa5, 0x15, 0x6f, 0x9a, 0x4c, 0x45, 0xf2, 0x6b, - 0x21, 0xaa, 0xa5, 0x57, 0x26, 0x65, 0x7e, 0x3c, 0x22, 0x26, 0xdf, 0x35, - 0x43, 0xef, 0x7d, 0x4c, 0xbc, 0xdf, 0x2f, 0xf9, 0xae, 0xcc, 0x6b, 0xd6, - 0x61, 0xf9, 0xe5, 0x67, 0xd9, 0xc5, 0x58, 0xa2, 0x8a, 0xb5, 0x58, 0xfe, - 0x3e, 0x51, 0xac, 0xc4, 0xfb, 0x2d, 0x57, 0x5d, 0x0b, 0xc9, 0x40, 0xc8, - 0xf7, 0x47, 0x70, 0xed, 0xe4, 0xcf, 0xb8, 0xa1, 0xe2, 0xd3, 0xec, 0x2c, - 0xe6, 0x05, 0x02, 0x3b, 0x78, 0x6a, 0x67, 0xde, 0xea, 0x2c, 0xdf, 0x31, - 0xbd, 0xf4, 0xc5, 0xd2, 0xa5, 0x04, 0x39, 0x7e, 0x65, 0x19, 0x44, 0x89, - 0xa6, 0xa5, 0x97, 0x82, 0x9f, 0xf6, 0x5c, 0x1b, 0xcf, 0x07, 0xef, 0x03, - 0xff, 0x0f, 0xe4, 0x79, 0x8c, 0x7d, 0x8a, 0xe5, 0xd9, 0x07, 0x38, 0xe4, - 0xff, 0xcf, 0xbf, 0xe1, 0x18, 0x58, 0xf3, 0x89, 0xac, 0x93, 0xb5, 0xce, - 0x9e, 0xe7, 0xc2, 0x26, 0xf4, 0xa7, 0xc2, 0x5b, 0xd0, 0x84, 0xba, 0xd9, - 0x94, 0xa6, 0xdd, 0xbe, 0xdd, 0xe2, 0xb6, 0x72, 0xe2, 0xfd, 0xb1, 0xb9, - 0x96, 0x92, 0xe2, 0x58, 0xb6, 0xbb, 0x1e, 0x77, 0xf9, 0x38, 0xd3, 0xa4, - 0x6b, 0xe5, 0x0c, 0xad, 0x32, 0xf6, 0xcd, 0xe2, 0x15, 0x75, 0xd8, 0x9c, - 0x5b, 0xa7, 0x58, 0xcd, 0xe1, 0x88, 0x5e, 0xea, 0xcd, 0x17, 0x91, 0xbc, - 0x1b, 0x96, 0x1f, 0xbf, 0x39, 0x79, 0x75, 0xf4, 0xb8, 0xf2, 0xa0, 0xdb, - 0xad, 0x35, 0xad, 0x3f, 0xfd, 0xc9, 0x32, 0xb0, 0x38, 0xdf, 0xf7, 0x2b, - 0x84, 0x9d, 0xa1, 0xa5, 0x06, 0xf8, 0x43, 0xe0, 0x0c, 0x50, 0x7a, 0xeb, - 0x71, 0xc5, 0x3a, 0x88, 0xdf, 0x81, 0x60, 0xfe, 0xa8, 0x2a, 0x78, 0x85, - 0x73, 0xdd, 0xf5, 0x47, 0xe5, 0x12, 0xde, 0x74, 0x3c, 0x10, 0x91, 0xdc, - 0x74, 0x5d, 0xd9, 0x4f, 0x03, 0x0e, 0x70, 0x0a, 0x73, 0x42, 0x6c, 0xa0, - 0x41, 0x8f, 0xe4, 0x9b, 0x96, 0x9f, 0x5d, 0xbc, 0x1a, 0x94, 0x73, 0x67, - 0x8d, 0x2a, 0x75, 0xd6, 0xb4, 0xba, 0x3e, 0x1b, 0xdd, 0xb5, 0x1e, 0x73, - 0x3f, 0x79, 0xbc, 0x2a, 0xc2, 0x78, 0x1d, 0xad, 0x08, 0xd5, 0x18, 0xb5, - 0x49, 0x62, 0x4a, 0x1d, 0x94, 0x52, 0xa2, 0xcc, 0x0b, 0x97, 0x4f, 0xd9, - 0xe9, 0x85, 0x30, 0xd4, 0x71, 0xc8, 0x6f, 0x98, 0x47, 0xd5, 0x01, 0xfa, - 0x23, 0xdc, 0x5f, 0x63, 0x61, 0x5b, 0x85, 0x05, 0xaf, 0x02, 0xa7, 0xa4, - 0xe7, 0x9e, 0x3e, 0x3a, 0xc0, 0xe7, 0x59, 0x19, 0xe0, 0xb9, 0x3f, 0xbd, - 0xa0, 0xcb, 0x96, 0xe2, 0x1c, 0xc1, 0x07, 0xa5, 0x4b, 0xa4, 0x6a, 0xe5, - 0x23, 0x6f, 0xe4, 0x3a, 0xe1, 0xb8, 0x62, 0x7d, 0x91, 0xa2, 0xaf, 0x66, - 0x20, 0x9d, 0xa8, 0xce, 0x48, 0x5e, 0x0d, 0x2d, 0x3b, 0x89, 0xda, 0x72, - 0x42, 0xf8, 0x61, 0x61, 0x48, 0x77, 0x23, 0x51, 0x78, 0x2a, 0xac, 0x12, - 0xd2, 0x0b, 0x7e, 0xc1, 0x0e, 0xb1, 0x68, 0xcf, 0x5c, 0x7e, 0x15, 0xb5, - 0xc2, 0x0f, 0x24, 0x7c, 0x36, 0x10, 0xae, 0x9a, 0xe5, 0xea, 0x9a, 0x74, - 0x75, 0x73, 0x0a, 0xaf, 0x93, 0x68, 0x59, 0x06, 0x38, 0xa5, 0x98, 0x37, - 0xee, 0x60, 0x50, 0xe5, 0x4b, 0x55, 0x93, 0x4d, 0xdb, 0xdc, 0x29, 0xcb, - 0xf4, 0xdd, 0x64, 0xae, 0x2a, 0x67, 0x32, 0x7f, 0xf9, 0xca, 0xfa, 0x55, - 0xbb, 0x8c, 0xf8, 0xc2, 0xc7, 0x4a, 0x12, 0x2e, 0xde, 0x16, 0x0f, 0xe0, - 0xf8, 0x77, 0x12, 0x00, 0xcd, 0x96, 0x84, 0x91, 0x8f, 0x79, 0xb0, 0x78, - 0xaf, 0x39, 0x60, 0x8e, 0xf5, 0xef, 0x02, 0x42, 0x47, 0x41, 0xe0, 0x07, - 0x4d, 0x00, 0x21, 0xc0, 0xe3, 0x0e, 0xe0, 0x58, 0x45, 0x2a, 0x87, 0xc5, - 0x64, 0xd8, 0xad, 0x5b, 0xd0, 0x79, 0x1c, 0xc7, 0x5c, 0x84, 0xa2, 0x05, - 0x14, 0x10, 0x01, 0x56, 0xc9, 0xeb, 0xd6, 0x7b, 0x97, 0xce, 0x28, 0xe3, - 0x54, 0xa5, 0x6c, 0xd1, 0xe3, 0xa3, 0xe7, 0xef, 0xde, 0xbe, 0x3d, 0x7a, - 0xfe, 0x41, 0xbd, 0x3f, 0x9a, 0x10, 0x47, 0x01, 0xda, 0x7e, 0x04, 0x85, - 0xac, 0x27, 0x11, 0xba, 0xb8, 0xd5, 0xea, 0x0d, 0x8d, 0x80, 0x40, 0xa6, - 0x6f, 0xb8, 0x9a, 0xd0, 0xb3, 0x55, 0xaf, 0x03, 0xd0, 0xda, 0xda, 0xc2, - 0x6b, 0x11, 0x9d, 0x30, 0x6e, 0xaa, 0x1a, 0x8e, 0x55, 0x11, 0x0c, 0x92, - 0xc0, 0xb8, 0x51, 0x0f, 0x5c, 0xe0, 0xa5, 0xec, 0x08, 0x67, 0x30, 0x5e, - 0x24, 0x5e, 0x88, 0xa8, 0x92, 0x26, 0xa6, 0x46, 0x86, 0x24, 0x3d, 0x55, - 0xf0, 0xde, 0x48, 0x7e, 0x14, 0xbd, 0x10, 0x1d, 0x97, 0x24, 0x2e, 0xc5, - 0xc7, 0xaa, 0x2a, 0x13, 0x45, 0xa4, 0xc8, 0xa6, 0x8b, 0x1c, 0xe3, 0x70, - 0xe2, 0x05, 0x0a, 0xf0, 0x77, 0x11, 0x00, 0xb7, 0x00, 0x00, 0xf8, 0x9b, - 0x53, 0x80, 0xd4, 0xdc, 0xc9, 0x23, 0x65, 0x88, 0x57, 0x49, 0x71, 0xbb, - 0x18, 0xd9, 0xdf, 0x43, 0x0d, 0x45, 0x92, 0x93, 0x24, 0x9b, 0xca, 0x90, - 0x21, 0xeb, 0xa3, 0xfc, 0x95, 0xcc, 0x9c, 0x98, 0x43, 0x90, 0x00, 0x78, - 0x35, 0x24, 0xab, 0x81, 0x86, 0x00, 0xab, 0xc4, 0x98, 0xda, 0x79, 0x81, - 0x17, 0x7a, 0x63, 0x80, 0x43, 0x0a, 0xcb, 0xcb, 0x8b, 0x30, 0x4f, 0xf1, - 0xbd, 0x51, 0xac, 0x6d, 0x67, 0x42, 0x4c, 0xe9, 0xb2, 0x85, 0x09, 0x8c, - 0x34, 0xca, 0xd9, 0x91, 0x95, 0xea, 0x6b, 0x03, 0x5f, 0x84, 0xde, 0xe3, - 0x88, 0x8c, 0xc2, 0x19, 0xc0, 0xf2, 0x2f, 0x12, 0x4f, 0xa9, 0x2d, 0xa6, - 0x1d, 0xb3, 0x29, 0x16, 0x9d, 0xfd, 0xda, 0x80, 0xac, 0x8d, 0xb2, 0xc6, - 0x78, 0x4f, 0xe9, 0x19, 0x2e, 0x7e, 0x18, 0x07, 0xe0, 0xa3, 0x1a, 0xbf, - 0x97, 0x1c, 0x12, 0x3f, 0x1a, 0x8c, 0x44, 0xaa, 0x51, 0xd8, 0x7d, 0xa5, - 0x26, 0xa6, 0xef, 0x74, 0xb7, 0x1c, 0x50, 0x43, 0xa6, 0xfb, 0x2a, 0x6f, - 0x56, 0x45, 0xf2, 0x4b, 0xfa, 0x4e, 0x66, 0xd0, 0x7e, 0x4d, 0xa4, 0x3f, - 0xc3, 0x57, 0x32, 0x99, 0xa7, 0x42, 0x24, 0x49, 0x7c, 0x27, 0x33, 0xa8, - 0x59, 0x4e, 0x81, 0x0c, 0x2c, 0x13, 0x71, 0xec, 0x00, 0x44, 0x42, 0xe6, - 0x7e, 0x0a, 0x95, 0x4d, 0x12, 0xf2, 0xe8, 0x7e, 0x8a, 0x6c, 0x71, 0x17, - 0xc2, 0x5e, 0x54, 0x96, 0xf2, 0x64, 0xc1, 0x46, 0xb2, 0x58, 0x1c, 0x15, - 0x47, 0xb9, 0x13, 0xfe, 0x6d, 0xa9, 0xad, 0x61, 0x49, 0x28, 0x1d, 0x4e, - 0x00, 0xd0, 0x0b, 0x7a, 0x63, 0x97, 0xf5, 0xfa, 0xe8, 0x3b, 0x5c, 0x42, - 0xa4, 0x4a, 0x8b, 0xc1, 0xc2, 0x32, 0xfe, 0x94, 0x7a, 0xa7, 0xbd, 0x5a, - 0x09, 0xbd, 0xdb, 0x87, 0xc5, 0xa3, 0x3b, 0x95, 0xa5, 0xd3, 0xf2, 0x5c, - 0xeb, 0xe1, 0xcb, 0xb0, 0x2e, 0x53, 0xf2, 0xc0, 0x66, 0xc1, 0x94, 0x80, - 0xd5, 0xcf, 0x3c, 0x94, 0x59, 0x59, 0x04, 0x14, 0xfd, 0xb4, 0x4e, 0x44, - 0x80, 0x41, 0xac, 0x18, 0xee, 0xbd, 0xcf, 0x02, 0xa1, 0xb1, 0x8d, 0x7f, - 0x66, 0xa1, 0xcc, 0xba, 0x94, 0xc6, 0x46, 0xbf, 0x73, 0x84, 0xd3, 0xab, - 0x38, 0x1a, 0xf4, 0xbd, 0x5a, 0xa2, 0xc9, 0x80, 0x9a, 0x25, 0x0c, 0x00, - 0xbe, 0xe5, 0xa6, 0x25, 0xa9, 0x9e, 0xa8, 0xdd, 0x7c, 0x69, 0x68, 0x13, - 0xfb, 0x27, 0x09, 0x45, 0x18, 0xf7, 0xb9, 0x15, 0x38, 0x25, 0x05, 0x69, - 0xc2, 0xe5, 0x00, 0xc4, 0x97, 0xf5, 0x8e, 0xe6, 0x27, 0x29, 0x90, 0x38, - 0x44, 0x1d, 0xa3, 0x7a, 0xf9, 0xfe, 0xd5, 0x3b, 0x8b, 0x12, 0xf2, 0x60, - 0xef, 0xa6, 0xec, 0x4a, 0xc4, 0xa0, 0xea, 0x39, 0x03, 0x69, 0x82, 0xb7, - 0x44, 0x55, 0x5e, 0x62, 0x98, 0x05, 0x31, 0xc1, 0x52, 0x52, 0x3d, 0xd8, - 0x2c, 0xeb, 0x84, 0xb6, 0x40, 0xe6, 0xc0, 0x4c, 0x78, 0x92, 0xba, 0x22, - 0x85, 0x1b, 0xd1, 0x8d, 0x03, 0xf5, 0xca, 0xd0, 0x2c, 0xb4, 0x89, 0x0a, - 0x02, 0x58, 0x89, 0xce, 0x3a, 0x71, 0xbe, 0x66, 0xa9, 0x9b, 0x50, 0x87, - 0xd1, 0x30, 0x3e, 0x18, 0x3f, 0x84, 0x1b, 0x2e, 0xcd, 0x44, 0xba, 0x4e, - 0x71, 0xc0, 0x02, 0xf0, 0x78, 0x05, 0x70, 0xa6, 0xa1, 0xe3, 0x50, 0x03, - 0xe5, 0x8a, 0xf3, 0x74, 0x13, 0xc4, 0x31, 0x02, 0x32, 0x19, 0xe6, 0xa2, - 0x87, 0x3c, 0x48, 0xe4, 0x11, 0x04, 0x8f, 0xc5, 0x19, 0xe2, 0x66, 0x7e, - 0x4e, 0xec, 0xea, 0x7e, 0x26, 0x41, 0x53, 0x90, 0xc9, 0x0d, 0x28, 0x31, - 0xa8, 0x2c, 0x6f, 0x4d, 0x39, 0x35, 0x05, 0x2e, 0xb7, 0x40, 0x90, 0x41, - 0xa4, 0x1f, 0x19, 0x63, 0x26, 0x98, 0xda, 0x47, 0xfa, 0x4e, 0x66, 0xe4, - 0xf6, 0xeb, 0x50, 0x9d, 0xe3, 0x34, 0x4b, 0x27, 0x66, 0x7c, 0x23, 0x0a, - 0xb8, 0x91, 0x53, 0x45, 0xbd, 0x0a, 0x2d, 0xf7, 0x85, 0xcc, 0x37, 0x3d, - 0x27, 0xc1, 0xcc, 0x44, 0x1d, 0x50, 0x87, 0xf1, 0x81, 0xc2, 0xc4, 0x80, - 0x61, 0x9d, 0x10, 0x88, 0xc5, 0x30, 0x56, 0xf9, 0x77, 0xa5, 0xfd, 0xdf, - 0x95, 0x50, 0x65, 0x9c, 0x8a, 0xa6, 0x71, 0x30, 0xe5, 0xaf, 0x25, 0xe7, - 0x97, 0xe4, 0x02, 0x9d, 0x50, 0x39, 0x9d, 0x90, 0x01, 0x64, 0xdb, 0xaf, - 0xf3, 0x64, 0x42, 0x16, 0x22, 0x3d, 0x94, 0x53, 0x52, 0xc2, 0x27, 0x59, - 0x34, 0x84, 0x1b, 0x14, 0x53, 0x39, 0x15, 0xfc, 0xa9, 0xcf, 0x46, 0x2a, - 0x39, 0x31, 0x2c, 0x49, 0xa0, 0x2b, 0x05, 0xec, 0xb9, 0x0b, 0x5d, 0xdb, - 0xb7, 0x02, 0x1d, 0x17, 0x09, 0x83, 0xf0, 0x7e, 0xbd, 0x5b, 0x74, 0xd6, - 0x9e, 0xef, 0x61, 0x1a, 0xb5, 0xc4, 0xbb, 0xf5, 0x1c, 0x58, 0xef, 0x18, - 0x70, 0x91, 0x7f, 0xfb, 0x2b, 0x00, 0xd0, 0xa8, 0xef, 0x4f, 0x01, 0x3f, - 0x9b, 0x2f, 0xf3, 0x72, 0x7f, 0x0e, 0xcd, 0x89, 0x91, 0x3a, 0x84, 0xd4, - 0x82, 0x4f, 0x91, 0xf4, 0x73, 0x97, 0x7b, 0xb8, 0x67, 0x02, 0xd6, 0x72, - 0x24, 0x20, 0xe7, 0x1e, 0x7e, 0x0d, 0xea, 0xd6, 0x4b, 0xd1, 0x0b, 0x66, - 0xce, 0x99, 0x05, 0xb3, 0x92, 0x61, 0xc3, 0x3a, 0xf3, 0xfc, 0xa9, 0xe5, - 0x4f, 0xe2, 0x67, 0x68, 0x22, 0x97, 0x0b, 0xc4, 0x62, 0xaf, 0x97, 0xbf, - 0xd1, 0x1c, 0x03, 0x71, 0x1f, 0xde, 0x59, 0xc6, 0xe5, 0x7d, 0x45, 0x57, - 0x01, 0xba, 0x2e, 0x9e, 0x84, 0x77, 0xaf, 0x34, 0xd5, 0x48, 0x9c, 0x1c, - 0x93, 0x43, 0xd3, 0x02, 0x4b, 0x3c, 0xde, 0x9f, 0xbb, 0xb6, 0x1d, 0x2c, - 0x71, 0x78, 0x5f, 0x50, 0xcc, 0xba, 0xe7, 0xfc, 0x41, 0x72, 0x8f, 0x38, - 0xa1, 0xa7, 0xbd, 0x5e, 0xa1, 0x9d, 0x5e, 0xd5, 0x54, 0xba, 0x15, 0xee, - 0xa1, 0x86, 0x22, 0xc1, 0xcc, 0x02, 0x97, 0x17, 0xb5, 0x08, 0xfb, 0xe3, - 0xd9, 0x7c, 0xa9, 0xdf, 0x7b, 0x88, 0x4b, 0xbd, 0x66, 0xe8, 0x01, 0xa8, - 0x11, 0x42, 0x22, 0xfd, 0x31, 0xc8, 0x09, 0x11, 0xe2, 0xfa, 0x9c, 0x11, - 0xb1, 0x86, 0x2a, 0x40, 0x6f, 0x79, 0x76, 0x5b, 0x4f, 0xbb, 0xb6, 0x73, - 0x11, 0x9c, 0x45, 0xac, 0xd5, 0x85, 0x8e, 0xad, 0xd1, 0x51, 0xba, 0x97, - 0x6c, 0x68, 0x47, 0xa1, 0x2f, 0xb0, 0x01, 0xf0, 0x0f, 0x67, 0xc6, 0xaf, - 0xfd, 0xea, 0xdb, 0xa0, 0x2d, 0x1d, 0x5b, 0xf8, 0x02, 0xda, 0xb5, 0xcd, - 0xbb, 0xb4, 0xdc, 0x24, 0x62, 0x56, 0xe4, 0xd2, 0xfa, 0xfe, 0x02, 0x9f, - 0xd6, 0x5f, 0xe0, 0xd3, 0xda, 0xb3, 0x79, 0xa1, 0x53, 0xeb, 0x44, 0x8b, - 0x5d, 0xda, 0x97, 0x40, 0x4a, 0xee, 0xe8, 0x84, 0xdc, 0xd1, 0xb1, 0x3f, - 0x02, 0xef, 0x83, 0xc5, 0x7e, 0x6c, 0xb6, 0x80, 0x6b, 0x73, 0x81, 0xeb, - 0xfd, 0x57, 0xe8, 0xcb, 0x35, 0x2e, 0xec, 0x11, 0x6d, 0x44, 0x14, 0xe4, - 0x0b, 0xb1, 0xd2, 0x8d, 0x67, 0xce, 0xc0, 0x19, 0x09, 0x5d, 0x48, 0xd7, - 0x38, 0xef, 0xc5, 0xda, 0xd1, 0xca, 0xc5, 0x8a, 0x5d, 0xd9, 0xc9, 0xea, - 0xae, 0x2c, 0xd5, 0xe2, 0x83, 0x6d, 0xbb, 0x9b, 0xf4, 0x64, 0x85, 0xb7, - 0xaa, 0x23, 0x3b, 0x92, 0x4a, 0x09, 0x39, 0x7a, 0xb6, 0x3d, 0x59, 0xc1, - 0x9d, 0x9d, 0xdb, 0xe8, 0x12, 0x73, 0xff, 0x2e, 0x1d, 0x5a, 0xb4, 0x03, - 0x2b, 0xc7, 0x6d, 0x1c, 0xd5, 0x15, 0x5c, 0xde, 0xac, 0x2f, 0xeb, 0xe3, - 0x59, 0xfc, 0x3f, 0xb8, 0xb2, 0xa4, 0x61, 0x53, 0x1b, 0xe6, 0xc9, 0xb6, - 0xce, 0xc8, 0x2c, 0x08, 0x6f, 0xa1, 0x2f, 0x7b, 0xe8, 0x8e, 0xc4, 0x04, - 0x9d, 0x71, 0x89, 0x3b, 0x7b, 0x16, 0x2e, 0xf6, 0x67, 0x0f, 0xd1, 0xf6, - 0x22, 0x80, 0x47, 0xbb, 0xd8, 0xa1, 0xfd, 0x39, 0x86, 0x5b, 0xc4, 0xa9, - 0x97, 0x38, 0xb4, 0x2f, 0xc5, 0x19, 0x66, 0xf0, 0xe8, 0x7f, 0x04, 0x7a, - 0xbd, 0x3b, 0x4b, 0xb5, 0x63, 0x6b, 0x67, 0x9d, 0x39, 0xe2, 0xeb, 0x12, - 0x8f, 0xf6, 0x4c, 0xb8, 0x85, 0x1e, 0xad, 0x73, 0xbd, 0x43, 0xfb, 0xee, - 0x0b, 0x6a, 0x85, 0x8e, 0x1b, 0x0a, 0x4e, 0x12, 0xde, 0x12, 0x7f, 0x96, - 0xbe, 0x2c, 0x76, 0x6a, 0xc9, 0x85, 0xb8, 0xd6, 0xa1, 0x45, 0x1d, 0x12, - 0xe3, 0x04, 0x0d, 0x87, 0x33, 0xd7, 0x78, 0xb3, 0x23, 0x81, 0x01, 0x49, - 0x50, 0x14, 0x7b, 0xa9, 0x3b, 0x9b, 0x72, 0x11, 0xfc, 0x29, 0x08, 0xd9, - 0x5e, 0x91, 0x57, 0x9b, 0x81, 0x03, 0x76, 0x32, 0xb6, 0x39, 0xd0, 0xfc, - 0xc0, 0x3d, 0x16, 0x91, 0xc6, 0x9b, 0x1b, 0xab, 0x57, 0x72, 0x6e, 0xa5, - 0xfe, 0x65, 0xdc, 0xdb, 0x81, 0x58, 0xe8, 0xde, 0x7e, 0x27, 0x66, 0x51, - 0xd8, 0xbf, 0xe7, 0xc8, 0x2d, 0xf9, 0x36, 0xb3, 0x6b, 0x7c, 0x5b, 0x44, - 0xe8, 0xd1, 0x8c, 0x5e, 0xb4, 0xc8, 0xab, 0xfd, 0xe8, 0x90, 0x23, 0x6e, - 0xdc, 0xa4, 0x6b, 0xdc, 0x5a, 0x0f, 0x7a, 0xed, 0xb1, 0xd7, 0x30, 0x71, - 0x92, 0x0e, 0x6d, 0xc2, 0xcf, 0xb2, 0x7e, 0x8a, 0xdd, 0xeb, 0x96, 0x08, - 0x97, 0xbb, 0xb8, 0x13, 0xdb, 0xe5, 0xa8, 0xfb, 0x0c, 0xb8, 0xea, 0xd6, - 0x33, 0xe1, 0xcd, 0xa2, 0xaf, 0xc2, 0xfa, 0xf8, 0xea, 0xe8, 0xbb, 0xa3, - 0x63, 0xeb, 0x57, 0x47, 0xc7, 0xcf, 0x5e, 0xbd, 0xfd, 0xee, 0xe8, 0x6d, - 0xd5, 0x9a, 0x4d, 0x08, 0x95, 0xe7, 0xf7, 0xc7, 0x54, 0xe2, 0xeb, 0x8c, - 0x5b, 0xcf, 0x59, 0xea, 0xdd, 0xbe, 0x26, 0x93, 0x85, 0x07, 0xe7, 0xbe, - 0x82, 0xab, 0x4a, 0x75, 0x63, 0x5a, 0x47, 0x8e, 0xd4, 0xcb, 0x19, 0xe9, - 0xe5, 0x7d, 0x11, 0x55, 0x83, 0xb3, 0x99, 0x88, 0x40, 0x5a, 0x2b, 0xc5, - 0x73, 0x5f, 0x88, 0x20, 0x72, 0x46, 0x0b, 0x03, 0xba, 0x0c, 0x31, 0x76, - 0xa1, 0x03, 0x3d, 0xe1, 0x4c, 0xac, 0xd7, 0xec, 0xe2, 0x92, 0x4a, 0x1c, - 0xea, 0xc0, 0x6e, 0x58, 0x23, 0x61, 0x56, 0xd1, 0x91, 0xf0, 0xf2, 0x7d, - 0xd9, 0x14, 0xa6, 0xf1, 0xee, 0xc5, 0x9b, 0x17, 0x49, 0xc6, 0x96, 0x04, - 0x78, 0x67, 0xcb, 0x1c, 0xdd, 0x8f, 0x50, 0x7b, 0x8c, 0x30, 0x58, 0x33, - 0xc2, 0x30, 0x08, 0x85, 0xc0, 0x95, 0xb8, 0x33, 0x9e, 0xe5, 0x82, 0xe7, - 0x2a, 0xf8, 0x42, 0xdc, 0x31, 0x9a, 0xe3, 0x1a, 0x18, 0x74, 0x53, 0x47, - 0x0c, 0x61, 0xaa, 0xe0, 0x2b, 0x0e, 0x49, 0x7f, 0x9f, 0x71, 0x3d, 0x21, - 0x86, 0x33, 0xa1, 0x10, 0xd0, 0xc5, 0x9b, 0x55, 0x7c, 0x85, 0x61, 0xca, - 0x27, 0x56, 0x3d, 0xc1, 0x99, 0xe4, 0xdd, 0x61, 0x6b, 0x38, 0xf3, 0xce, - 0x48, 0x78, 0x0e, 0xa4, 0xaf, 0x51, 0x7a, 0x62, 0x3c, 0x51, 0x28, 0x71, - 0x5d, 0x3c, 0x7e, 0xd9, 0x67, 0xd1, 0x0c, 0x7a, 0x83, 0x5f, 0xcf, 0x94, - 0x8f, 0x3c, 0x47, 0xde, 0xd7, 0xfa, 0xb3, 0x7a, 0x3e, 0xfe, 0x3b, 0x10, - 0x4b, 0x22, 0xc0, 0x2f, 0xec, 0xa0, 0x27, 0x8a, 0xdc, 0xe5, 0xa8, 0xd8, - 0x5b, 0xfe, 0xd7, 0x3f, 0x16, 0x79, 0xcb, 0x85, 0xce, 0xb2, 0x70, 0xfe, - 0xf5, 0x97, 0xc5, 0xee, 0xf2, 0xe1, 0xd9, 0x57, 0x41, 0xbe, 0x46, 0x80, - 0xf0, 0x38, 0xd5, 0xcb, 0x7a, 0xcb, 0xce, 0x8e, 0x07, 0x7a, 0xff, 0xfa, - 0xfb, 0xbf, 0xfe, 0x22, 0x82, 0x45, 0x9e, 0xf3, 0xb2, 0xb2, 0x67, 0x2e, - 0x3d, 0x06, 0x8b, 0x7c, 0x68, 0xe3, 0x43, 0xcc, 0xff, 0xf5, 0xd7, 0x31, - 0x24, 0xb8, 0xc8, 0x83, 0x8e, 0x1d, 0x68, 0xd8, 0x06, 0xb4, 0x31, 0x43, - 0x63, 0x00, 0x8c, 0xfd, 0xb6, 0x05, 0x2e, 0xb4, 0x88, 0xbe, 0xae, 0x5e, - 0xee, 0x36, 0xe1, 0xe0, 0x69, 0x00, 0x87, 0x13, 0x4b, 0x01, 0xb3, 0x50, - 0x55, 0x64, 0x93, 0x7e, 0xf4, 0xec, 0x3f, 0x16, 0x11, 0x3e, 0xf4, 0xbe, - 0xda, 0x63, 0x57, 0x4b, 0x53, 0xac, 0x14, 0x0e, 0x96, 0x65, 0x96, 0x3b, - 0xc7, 0xc7, 0xc2, 0x41, 0xf7, 0x1e, 0xfa, 0xf0, 0x03, 0x6f, 0xee, 0x6c, - 0x17, 0x47, 0x85, 0x85, 0x97, 0x68, 0xa5, 0x3b, 0x71, 0xab, 0x5f, 0x92, - 0x77, 0x34, 0xaf, 0xaf, 0xe2, 0x58, 0xff, 0x1c, 0x8e, 0x75, 0x7d, 0x25, - 0x9f, 0xfa, 0x25, 0x77, 0xba, 0xa5, 0x6e, 0xf5, 0xab, 0x38, 0x34, 0x4c, - 0x76, 0x23, 0x55, 0xaf, 0xa5, 0x51, 0x62, 0xfb, 0x66, 0x51, 0xe2, 0x9f, - 0x72, 0x28, 0x7a, 0xb4, 0x24, 0x4a, 0xfc, 0x01, 0xeb, 0x2e, 0xcb, 0x7d, - 0x6a, 0xdd, 0x01, 0x2d, 0x06, 0x5d, 0xe6, 0x55, 0x53, 0x95, 0xe6, 0x36, - 0x60, 0x2f, 0xa6, 0x99, 0x7a, 0xe5, 0xbd, 0xea, 0x9f, 0x07, 0xc2, 0x09, - 0x8b, 0x9c, 0xea, 0x63, 0x7b, 0x70, 0x9d, 0x4f, 0xfd, 0xaf, 0x3f, 0xf7, - 0x12, 0x4e, 0x35, 0xfc, 0xfd, 0x6b, 0x7d, 0x6a, 0x8c, 0x07, 0x5f, 0x9c, - 0xa5, 0x4e, 0xf5, 0x5c, 0x38, 0x11, 0x00, 0xae, 0x09, 0x11, 0x6b, 0x97, - 0x6e, 0x99, 0x4b, 0x9d, 0xf1, 0x49, 0x70, 0x1d, 0x83, 0x03, 0x33, 0x13, - 0x14, 0x7a, 0xd5, 0x29, 0x50, 0x60, 0xd7, 0xc0, 0xd1, 0x83, 0x2c, 0x74, - 0xa1, 0xc7, 0x70, 0xa2, 0xc0, 0xd9, 0x6b, 0x48, 0xd3, 0x5d, 0xe4, 0x33, - 0xac, 0x10, 0x50, 0x46, 0xac, 0xe9, 0xa7, 0x3a, 0xa0, 0x2c, 0x5f, 0x5d, - 0x84, 0x9d, 0x23, 0x72, 0x0b, 0x85, 0x39, 0xff, 0x60, 0x36, 0x51, 0xbc, - 0x3c, 0x7e, 0x86, 0x92, 0xf8, 0xd4, 0x68, 0x5f, 0x3e, 0x3b, 0x46, 0x02, - 0x3e, 0x75, 0x02, 0xda, 0x40, 0xb6, 0x44, 0x9c, 0xf0, 0xec, 0x25, 0x12, - 0xf0, 0xa9, 0x13, 0x9e, 0x1d, 0x53, 0x02, 0x3e, 0xe3, 0x84, 0x97, 0x84, - 0x03, 0x9f, 0x3a, 0xe1, 0xa3, 0x24, 0x43, 0x5f, 0x71, 0x92, 0x24, 0x44, - 0x5f, 0x71, 0x92, 0x24, 0x45, 0x5f, 0x71, 0x92, 0x24, 0x46, 0x5f, 0x71, - 0x92, 0x24, 0x87, 0x2f, 0x93, 0x24, 0x09, 0xd2, 0x57, 0x5c, 0x8d, 0x8f, - 0x4c, 0x91, 0xbe, 0x4c, 0x92, 0xac, 0xda, 0xc7, 0x44, 0xdd, 0x3e, 0x32, - 0x45, 0xfa, 0x8a, 0x79, 0xff, 0xc8, 0xe8, 0xe9, 0xcb, 0x24, 0xc9, 0xfa, - 0x7c, 0x4c, 0xa0, 0x3f, 0xfe, 0x48, 0x05, 0xe9, 0xcb, 0x08, 0xee, 0x23, - 0x41, 0xd1, 0x97, 0x11, 0x1d, 0x43, 0xd1, 0x97, 0x11, 0xde, 0x47, 0x29, - 0xbd, 0x8f, 0x09, 0xf1, 0x71, 0x12, 0x7d, 0x19, 0x01, 0x32, 0x2e, 0xfa, - 0x32, 0x14, 0xb9, 0x47, 0xd0, 0x57, 0x8e, 0x62, 0x31, 0x94, 0x69, 0x2e, - 0x4a, 0xa2, 0x2f, 0x43, 0x91, 0x93, 0xf0, 0x55, 0x98, 0x94, 0xd6, 0x19, - 0x73, 0x96, 0xc2, 0x68, 0x4d, 0xa3, 0x83, 0x8f, 0xd2, 0xdb, 0x77, 0xc7, - 0x6f, 0x0e, 0x5f, 0x6b, 0x0c, 0xcd, 0xd6, 0x1e, 0x91, 0x39, 0xc2, 0x1c, - 0xe4, 0xe4, 0x28, 0x8b, 0xc3, 0x9c, 0x6d, 0x50, 0x48, 0x24, 0x16, 0xc2, - 0xf1, 0xf6, 0x28, 0xc6, 0xb0, 0x8b, 0x04, 0xb2, 0xf3, 0xa7, 0xbf, 0x7e, - 0x71, 0x78, 0xf2, 0x41, 0x27, 0xb7, 0x5b, 0x3a, 0x39, 0x99, 0xba, 0xbd, - 0xa7, 0x53, 0xdf, 0x1c, 0x7d, 0xf7, 0xea, 0x97, 0x6f, 0x74, 0xfa, 0xee, - 0xb6, 0x4e, 0x3f, 0x79, 0xfd, 0x2e, 0xae, 0xde, 0x5e, 0x23, 0x46, 0x9d, - 0x4c, 0x7e, 0x62, 0x28, 0x26, 0xd3, 0x9b, 0xcd, 0x98, 0xe4, 0xcb, 0xd7, - 0x87, 0xcf, 0x5f, 0x1d, 0xbe, 0x8e, 0xeb, 0x63, 0x6a, 0x64, 0xce, 0x3d, - 0xc8, 0x2a, 0x99, 0x1a, 0x59, 0x3c, 0x04, 0xc5, 0xa4, 0x91, 0xc6, 0x09, - 0x59, 0x99, 0x98, 0x33, 0x08, 0x69, 0x04, 0x18, 0x97, 0xc0, 0x3c, 0x24, - 0x1b, 0x8b, 0xb6, 0x25, 0x53, 0xb3, 0x55, 0xdd, 0xd6, 0xc9, 0xaf, 0x0f, - 0x8f, 0x5f, 0x1e, 0xc5, 0x02, 0xd0, 0xa9, 0xbf, 0x96, 0xc9, 0x86, 0x73, - 0xda, 0x11, 0xf6, 0x80, 0xb6, 0x54, 0x99, 0x89, 0x2c, 0xdd, 0x25, 0x1b, - 0xef, 0x6e, 0x29, 0xd7, 0x1c, 0x67, 0x28, 0xea, 0x13, 0xac, 0x5b, 0xfd, - 0x21, 0xac, 0x30, 0x60, 0xc1, 0x56, 0xc8, 0x29, 0x82, 0xf9, 0xb4, 0x6b, - 0x70, 0xab, 0x18, 0x49, 0x62, 0xcb, 0xd6, 0x71, 0x02, 0x00, 0xee, 0xdd, - 0x09, 0xe7, 0x77, 0xe1, 0xe0, 0x73, 0xa0, 0xab, 0x5c, 0xb9, 0x2c, 0xd1, - 0x66, 0x0e, 0x9a, 0xef, 0x60, 0xef, 0xd3, 0x3e, 0x95, 0x10, 0x26, 0x37, - 0xaa, 0x7a, 0x95, 0xcb, 0x40, 0x44, 0xb3, 0xc0, 0x2b, 0x8b, 0xee, 0xbb, - 0x1e, 0xd9, 0xb9, 0x3a, 0x66, 0x40, 0x30, 0x72, 0x91, 0x4f, 0x7b, 0x1d, - 0xdf, 0x0d, 0xff, 0xf4, 0xa7, 0xcb, 0xd3, 0xd3, 0x29, 0x3d, 0x9f, 0x9e, - 0x76, 0x3e, 0x7d, 0xbe, 0x22, 0x0b, 0x4a, 0x17, 0xfd, 0x23, 0xba, 0x78, - 0x48, 0xf7, 0x3b, 0x3f, 0x7a, 0x14, 0x63, 0x13, 0xd5, 0xa8, 0x72, 0x29, - 0xea, 0x31, 0x78, 0x37, 0xba, 0xfa, 0xd3, 0x9f, 0xd2, 0xb9, 0x43, 0xdc, - 0x43, 0x49, 0x3c, 0x78, 0xfc, 0x4e, 0x90, 0x4a, 0x54, 0x1f, 0xdb, 0xe1, - 0xbb, 0xb9, 0x07, 0x7a, 0x53, 0x98, 0xf4, 0x8b, 0xb2, 0x57, 0x79, 0xf4, - 0xa8, 0x2c, 0x3e, 0x79, 0x9f, 0xbb, 0x11, 0x3e, 0x2a, 0x57, 0x15, 0x66, - 0xf1, 0x6a, 0x5f, 0x61, 0x41, 0x19, 0xc9, 0x73, 0xfc, 0xec, 0xa3, 0x86, - 0xb4, 0x43, 0xa6, 0x0e, 0x29, 0xa0, 0x92, 0x33, 0x34, 0x77, 0x00, 0xba, - 0x82, 0xc1, 0xaa, 0x51, 0x9d, 0x59, 0x51, 0x6f, 0x7d, 0xc0, 0x3d, 0xd3, - 0xdd, 0xae, 0xf7, 0xad, 0xaa, 0x66, 0x9f, 0xa7, 0x08, 0xa0, 0xd8, 0x29, - 0xfb, 0x49, 0x30, 0xf3, 0xbb, 0x8a, 0xfb, 0x4b, 0x2d, 0xbf, 0x72, 0xc5, - 0x0c, 0x1b, 0xa1, 0x69, 0x89, 0x59, 0xc9, 0xaa, 0x29, 0x2e, 0xd4, 0xbe, - 0xd4, 0xa8, 0xca, 0x4f, 0x8c, 0x50, 0x5c, 0x5d, 0x95, 0x2b, 0x55, 0xbf, - 0x6b, 0xa0, 0x13, 0xec, 0xab, 0x26, 0x20, 0x0a, 0x7e, 0x57, 0xd4, 0xfb, - 0x78, 0xfd, 0x6c, 0x99, 0x8a, 0x56, 0x4b, 0x3c, 0xcb, 0x2c, 0x21, 0xf3, - 0x4f, 0x7f, 0xa2, 0x84, 0x7d, 0x45, 0xd3, 0xaf, 0xab, 0xe8, 0x77, 0x37, - 0xd2, 0xbf, 0xaa, 0x7e, 0x9d, 0x81, 0x41, 0xd5, 0xbf, 0x52, 0x60, 0x51, - 0xd9, 0xab, 0x8a, 0x4a, 0xd5, 0xbb, 0x42, 0xfd, 0xaa, 0xc1, 0x12, 0xda, - 0x55, 0x1f, 0xd4, 0x7d, 0xec, 0xaa, 0x6e, 0x40, 0x36, 0x11, 0x84, 0x1f, - 0x75, 0x9b, 0xa2, 0x5d, 0xa9, 0xc6, 0x69, 0x1e, 0xd2, 0xb0, 0x6b, 0xb5, - 0x54, 0x61, 0xdd, 0x09, 0xd2, 0x4c, 0xf6, 0x5d, 0x3f, 0xc4, 0xcc, 0xce, - 0xcf, 0x30, 0x19, 0xd4, 0x31, 0x75, 0x7d, 0x8e, 0x65, 0x5a, 0xaf, 0xfb, - 0xa0, 0x51, 0x0d, 0xd0, 0x36, 0x03, 0xf0, 0x8b, 0x1f, 0x10, 0x79, 0xe8, - 0x7b, 0x5d, 0xaf, 0x1a, 0x14, 0x32, 0xea, 0x24, 0x85, 0xec, 0x0c, 0xcb, - 0x98, 0x02, 0xf0, 0x96, 0x4a, 0xac, 0x11, 0x3f, 0xe8, 0x42, 0x98, 0xa4, - 0x74, 0xb1, 0x8e, 0x57, 0x24, 0x06, 0x93, 0x70, 0x55, 0x0d, 0xbb, 0x97, - 0x38, 0x78, 0xa2, 0x7a, 0x04, 0xe3, 0xf9, 0x4e, 0xd0, 0x65, 0x0f, 0x4d, - 0xb1, 0x5d, 0x45, 0x87, 0x2b, 0xca, 0x68, 0x7f, 0xb3, 0x2d, 0xda, 0x3f, - 0x7a, 0x63, 0x47, 0xe3, 0x3a, 0xdc, 0xa8, 0x81, 0x3f, 0x29, 0x57, 0x08, - 0xf4, 0x97, 0x53, 0xda, 0xc7, 0xd7, 0xd9, 0x11, 0xed, 0x6a, 0x90, 0x2d, - 0xf5, 0x12, 0xb3, 0xe1, 0x17, 0x36, 0x29, 0x5a, 0xa7, 0x59, 0x6f, 0x57, - 0x4d, 0xee, 0x07, 0x14, 0x41, 0x4c, 0xaf, 0xb3, 0x8d, 0x52, 0xcc, 0x47, - 0x14, 0x50, 0x8c, 0xbb, 0xb9, 0xd5, 0xa8, 0x0e, 0x44, 0x6f, 0x36, 0xea, - 0x3c, 0x68, 0x5e, 0xed, 0x67, 0x75, 0x27, 0xd1, 0x20, 0x02, 0x8a, 0xc4, - 0xea, 0x90, 0x11, 0xfe, 0xe5, 0x95, 0x14, 0xbe, 0xdf, 0x65, 0x21, 0xb3, - 0x6a, 0x9d, 0xba, 0x0e, 0x79, 0xa5, 0x22, 0x40, 0x9d, 0xb9, 0xf5, 0xd1, - 0x37, 0xab, 0x4a, 0x21, 0xe8, 0x27, 0x6d, 0x57, 0xa6, 0x6f, 0x6e, 0x21, - 0xea, 0xb7, 0x55, 0x59, 0x0c, 0xe4, 0x83, 0x0b, 0x9e, 0xbd, 0x60, 0x93, - 0xaf, 0x4a, 0x0b, 0xc7, 0xb4, 0xef, 0x31, 0x96, 0x0e, 0xda, 0x4c, 0x65, - 0xa8, 0x84, 0xd7, 0x10, 0x6f, 0xf7, 0x81, 0x86, 0xee, 0x21, 0xd4, 0x18, - 0x5c, 0x7c, 0x90, 0x1b, 0xa1, 0x5d, 0xbf, 0x57, 0x52, 0xe9, 0x4c, 0xe9, - 0x39, 0x74, 0x43, 0x0c, 0x0c, 0xb0, 0xe2, 0xe8, 0x17, 0x33, 0x81, 0xc3, - 0x0b, 0x9f, 0x3e, 0xcb, 0x54, 0xdf, 0x63, 0xd8, 0xae, 0xac, 0xa6, 0x4e, - 0xe3, 0x5a, 0x64, 0xd2, 0x54, 0xf1, 0x4c, 0x2a, 0xd5, 0x2d, 0x95, 0x74, - 0x3a, 0x46, 0xd3, 0xb9, 0xe2, 0x1d, 0xd2, 0x53, 0xaa, 0xee, 0xd7, 0x4f, - 0x59, 0xf0, 0xe5, 0x12, 0x15, 0xb1, 0xf8, 0x02, 0x5c, 0xa5, 0xc8, 0x51, - 0x17, 0x99, 0xbe, 0x9c, 0x4a, 0xd5, 0xe3, 0x06, 0xaf, 0x02, 0x6f, 0xdc, - 0x19, 0xbe, 0x4d, 0x64, 0x74, 0xa2, 0xfd, 0x3e, 0xf4, 0x39, 0x50, 0x4d, - 0x5c, 0xf6, 0x63, 0xe1, 0xa8, 0x94, 0x4a, 0x15, 0x49, 0x33, 0x86, 0x55, - 0x29, 0x5d, 0xd8, 0x51, 0x0d, 0x9e, 0xb7, 0x1d, 0x80, 0xc6, 0x05, 0xfa, - 0x88, 0x2e, 0x80, 0x69, 0x24, 0x5f, 0x55, 0x3d, 0xc6, 0x30, 0x0f, 0xeb, - 0x09, 0xf9, 0x22, 0xc1, 0x3c, 0x21, 0x3b, 0x25, 0xce, 0x3a, 0x6c, 0xe9, - 0x11, 0xa6, 0xe7, 0x06, 0xb9, 0x88, 0xb1, 0x4b, 0x4c, 0x21, 0xae, 0x76, - 0x45, 0xe2, 0x15, 0x30, 0xe7, 0x5b, 0xc2, 0x57, 0x82, 0x7c, 0xf4, 0x48, - 0xfd, 0xa2, 0xf2, 0x48, 0x35, 0x8a, 0x55, 0xa7, 0xc4, 0x3c, 0x95, 0x28, - 0x49, 0x85, 0x6c, 0xc1, 0x11, 0x89, 0xf5, 0xb5, 0x2a, 0x45, 0x2a, 0x0c, - 0x8a, 0x57, 0xa9, 0x86, 0x51, 0xc1, 0x86, 0x05, 0x6d, 0xa3, 0x38, 0xd3, - 0xcd, 0xc3, 0x9c, 0xa9, 0x34, 0x30, 0x67, 0x1e, 0x72, 0xfc, 0xa9, 0xf4, - 0x3b, 0x61, 0x91, 0xe7, 0x0e, 0x0b, 0x18, 0x64, 0xcd, 0x54, 0xec, 0x55, - 0x85, 0x22, 0x2b, 0x99, 0x31, 0xf1, 0xec, 0xb2, 0x52, 0xc8, 0xd2, 0x87, - 0x57, 0x6f, 0x8e, 0xde, 0xfd, 0xf2, 0x43, 0x09, 0x2a, 0x14, 0xc3, 0x7e, - 0x5b, 0x8a, 0xa4, 0x26, 0x94, 0x3a, 0x12, 0x4c, 0xd6, 0x92, 0x11, 0x3f, - 0x7a, 0x14, 0xff, 0xe4, 0x1a, 0x1a, 0xb2, 0xe7, 0xa2, 0x6f, 0x49, 0xda, - 0x71, 0x9d, 0x4b, 0x19, 0x11, 0x70, 0xf6, 0x0d, 0x05, 0x40, 0x98, 0x34, - 0xf3, 0x19, 0x69, 0x3c, 0x47, 0xff, 0x5c, 0xd4, 0x5c, 0xd4, 0x77, 0x93, - 0x8d, 0x75, 0x9a, 0xec, 0x18, 0x21, 0x0d, 0x75, 0x39, 0x8b, 0x82, 0x2a, - 0x1a, 0x52, 0xb2, 0xea, 0x8c, 0x05, 0xe9, 0xea, 0x67, 0xbe, 0x71, 0x29, - 0xf5, 0xb6, 0x4d, 0x3b, 0x0b, 0xdc, 0xae, 0x50, 0xbf, 0x79, 0x54, 0xc7, - 0xbc, 0x3d, 0x54, 0x83, 0x73, 0xdc, 0xfb, 0xbb, 0x9e, 0x7a, 0x36, 0xb2, - 0x50, 0x14, 0x94, 0xa3, 0x20, 0x87, 0x20, 0xed, 0xa2, 0x80, 0x44, 0x49, - 0xed, 0xe5, 0x7e, 0xf5, 0x16, 0x73, 0x89, 0x4b, 0x8c, 0xf7, 0x9d, 0x7c, - 0xff, 0x6e, 0x5c, 0x55, 0xb1, 0x6a, 0x80, 0x60, 0x21, 0x4d, 0xb4, 0x3b, - 0xb0, 0xa8, 0xc0, 0x3e, 0x74, 0x46, 0x33, 0xfd, 0x0c, 0xf1, 0x2f, 0x44, - 0xff, 0xee, 0xfd, 0xd1, 0xdb, 0x85, 0x88, 0x9b, 0xb7, 0x40, 0xfc, 0xfc, - 0xf5, 0xbb, 0x93, 0x65, 0x4c, 0xb7, 0x6e, 0x89, 0xfb, 0xe8, 0xbb, 0x85, - 0xa8, 0xdb, 0x37, 0x46, 0x1d, 0xfb, 0x63, 0xab, 0x09, 0x5e, 0xd4, 0x0d, - 0xd0, 0x9d, 0xd0, 0xa4, 0xd6, 0x58, 0x42, 0x8d, 0xb2, 0xef, 0x84, 0x8e, - 0x6a, 0x9c, 0x25, 0xa4, 0x08, 0xe2, 0xae, 0x6a, 0x25, 0x9b, 0x6b, 0x09, - 0x31, 0x09, 0x70, 0x27, 0xb4, 0xcc, 0x18, 0xb6, 0x90, 0x9e, 0xec, 0x81, - 0xf3, 0xf0, 0x5b, 0xfa, 0x91, 0x19, 0x06, 0x3b, 0x59, 0xbf, 0x03, 0x8e, - 0x1e, 0x23, 0x31, 0xd6, 0x29, 0x0b, 0x81, 0x5e, 0xaf, 0x11, 0x91, 0x4b, - 0x6b, 0x70, 0x1a, 0x80, 0xca, 0x9d, 0x54, 0xcd, 0xb8, 0x53, 0x0b, 0xab, - 0xc6, 0xbe, 0x25, 0xdc, 0xc1, 0x72, 0xd6, 0x01, 0xab, 0x36, 0xee, 0x86, - 0x87, 0xde, 0x0c, 0x21, 0x3e, 0x2c, 0xa9, 0x1c, 0x4e, 0x96, 0xf2, 0x91, - 0x77, 0xc8, 0xea, 0x28, 0x34, 0xeb, 0x8b, 0x72, 0x72, 0x1e, 0xa3, 0xc1, - 0x4b, 0x72, 0x85, 0xac, 0xd4, 0xd5, 0x7e, 0x77, 0xf4, 0xad, 0xf8, 0x06, - 0x73, 0x0e, 0x44, 0x2b, 0x47, 0x38, 0x60, 0x19, 0x59, 0x89, 0x79, 0xe0, - 0x33, 0x78, 0x81, 0x32, 0x97, 0xaf, 0xfc, 0xe2, 0x5f, 0xbd, 0x8b, 0x48, - 0xbc, 0x66, 0xd8, 0xaa, 0xb8, 0x42, 0x4d, 0xbf, 0x29, 0xe7, 0x9b, 0x38, - 0xcd, 0x78, 0xe7, 0x8e, 0xc4, 0x21, 0xce, 0x31, 0x14, 0x84, 0x64, 0xd9, - 0xd7, 0xd0, 0x36, 0x53, 0xa8, 0x53, 0x2a, 0xdd, 0x09, 0x1b, 0x7a, 0xbc, - 0x59, 0x83, 0x09, 0x5d, 0xe4, 0xae, 0x58, 0x08, 0x68, 0x8d, 0x15, 0x6b, - 0x4d, 0xd1, 0x3a, 0xfd, 0xce, 0x14, 0xea, 0xdc, 0xb9, 0x29, 0x9d, 0x05, - 0xeb, 0x88, 0x63, 0x16, 0xac, 0x26, 0x89, 0x04, 0x89, 0xba, 0x9c, 0x58, - 0xa4, 0x14, 0xda, 0xcc, 0xa6, 0x04, 0xc5, 0x16, 0x78, 0x7a, 0x5b, 0x34, - 0x65, 0x69, 0x14, 0xcf, 0x86, 0xf4, 0x5c, 0x26, 0xef, 0xe7, 0x2c, 0x93, - 0x1d, 0xce, 0x50, 0x52, 0xaa, 0xb2, 0xa2, 0x06, 0x82, 0x29, 0x32, 0x5b, - 0x6c, 0xd5, 0xd2, 0x4e, 0x55, 0x07, 0x2f, 0x6e, 0x62, 0x14, 0x16, 0x3f, - 0x0e, 0x4a, 0x45, 0x40, 0x38, 0x8f, 0xf2, 0x47, 0xea, 0xbc, 0x03, 0xba, - 0x01, 0x00, 0x8b, 0x7b, 0x71, 0x47, 0x2c, 0x55, 0xae, 0x52, 0xa2, 0x88, - 0xe7, 0xad, 0x19, 0x71, 0x2c, 0x9f, 0xf3, 0xe5, 0xa7, 0x71, 0xf9, 0x59, - 0xa3, 0x31, 0xad, 0xd7, 0xd7, 0x5c, 0x75, 0x7b, 0xe3, 0x27, 0x33, 0x13, - 0x59, 0x8f, 0x4b, 0x56, 0xd4, 0x24, 0xa4, 0xab, 0xc2, 0x13, 0x99, 0x94, - 0x37, 0xba, 0x94, 0x83, 0xae, 0xe4, 0x80, 0x47, 0x66, 0xa6, 0x6f, 0x24, - 0x48, 0x88, 0xe0, 0xc2, 0x2b, 0xfa, 0x66, 0x8e, 0x04, 0x06, 0xd2, 0x80, - 0x4a, 0xc8, 0x12, 0x36, 0x6f, 0x38, 0xa7, 0xb3, 0x70, 0x8c, 0x52, 0x19, - 0x36, 0x71, 0xd6, 0x33, 0xe5, 0x8d, 0x66, 0x04, 0x9f, 0x99, 0xb7, 0x7f, - 0x12, 0x9f, 0x1f, 0x3d, 0xca, 0xa7, 0x49, 0xdc, 0x51, 0xae, 0x31, 0xe9, - 0x8d, 0x2e, 0xeb, 0x62, 0x2f, 0xe7, 0x13, 0xbb, 0x05, 0x14, 0xf1, 0x06, - 0x36, 0x2c, 0xec, 0x14, 0xcd, 0x23, 0xb9, 0x35, 0xaf, 0x32, 0xf5, 0x54, - 0x42, 0x32, 0xf4, 0x4d, 0x58, 0x4f, 0xce, 0xf1, 0xbb, 0x8d, 0xfd, 0xe8, - 0xa9, 0x8d, 0x35, 0x35, 0x5e, 0x8b, 0x56, 0x43, 0xc6, 0x7e, 0xf4, 0xcd, - 0x37, 0x15, 0xf1, 0x29, 0xfa, 0xdc, 0x8d, 0x73, 0xf0, 0xb0, 0x9f, 0x72, - 0xc5, 0xeb, 0x8c, 0xf8, 0xd1, 0xa3, 0xc4, 0xd9, 0x61, 0x3a, 0x7a, 0xec, - 0x5e, 0x94, 0x55, 0x4a, 0xf5, 0x13, 0x96, 0x11, 0x4e, 0x0e, 0x4a, 0x9f, - 0x29, 0xdc, 0xd7, 0xb7, 0xa3, 0x7c, 0x1b, 0x9c, 0xc2, 0xba, 0xbc, 0x85, - 0x35, 0xe7, 0x48, 0x4d, 0x92, 0x45, 0xc9, 0x5e, 0x8a, 0x1c, 0x38, 0x15, - 0xf5, 0x25, 0xe1, 0x9d, 0x6c, 0x34, 0x60, 0x59, 0x24, 0x08, 0xb1, 0x37, - 0x20, 0x2b, 0x0a, 0x32, 0x55, 0x03, 0x83, 0xc5, 0x07, 0x96, 0xc2, 0x40, - 0x94, 0x5f, 0x75, 0xa8, 0xb8, 0x7d, 0x9e, 0x2f, 0xde, 0x37, 0xc5, 0x1d, - 0x14, 0x2f, 0x0c, 0x70, 0x39, 0xd5, 0x59, 0x37, 0xd0, 0xa1, 0xa5, 0x6c, - 0x97, 0x3d, 0x68, 0x40, 0x13, 0x90, 0x2f, 0xa3, 0x5c, 0x53, 0x7f, 0x5e, - 0xf6, 0x72, 0xdd, 0xba, 0xd6, 0xac, 0x54, 0x0e, 0xfa, 0x0c, 0xd7, 0xaf, - 0x54, 0x53, 0x5d, 0xc1, 0xa3, 0xb7, 0xcf, 0x0d, 0x88, 0x4c, 0xa9, 0x3a, - 0xab, 0x54, 0x67, 0x19, 0x79, 0xcf, 0x6d, 0x27, 0x2a, 0x96, 0xb3, 0xe6, - 0x87, 0xa2, 0xa8, 0x18, 0x0f, 0xb0, 0x69, 0x5b, 0xa4, 0xe6, 0x71, 0x89, - 0xf8, 0x48, 0x54, 0xcd, 0xb4, 0x5c, 0x19, 0xed, 0xba, 0xa0, 0x65, 0x7f, - 0x19, 0xb8, 0x09, 0xd5, 0xe7, 0x38, 0x61, 0xce, 0x59, 0x11, 0x2a, 0x38, - 0xa8, 0xe8, 0x52, 0x2b, 0x43, 0x7d, 0xbe, 0xd0, 0x2c, 0x73, 0x9f, 0xe0, - 0x75, 0xf9, 0x44, 0x09, 0xc9, 0x39, 0x34, 0xa2, 0xcc, 0x20, 0x79, 0xff, - 0x67, 0x11, 0xca, 0x88, 0xe1, 0xa3, 0x7a, 0x84, 0x95, 0x43, 0x0d, 0x13, - 0x5d, 0x45, 0x63, 0xba, 0x46, 0xe6, 0x88, 0x67, 0xf5, 0x58, 0xd2, 0xfe, - 0x62, 0xd3, 0xcd, 0x15, 0xbf, 0x3c, 0x7e, 0x9d, 0xb1, 0xd2, 0xda, 0xe4, - 0x2d, 0x10, 0x21, 0x61, 0x7e, 0x90, 0x8b, 0xc5, 0x3d, 0x7a, 0x54, 0x68, - 0xc3, 0x2b, 0x97, 0x05, 0x51, 0xbb, 0x86, 0x8c, 0x76, 0x65, 0x14, 0xdf, - 0x83, 0x87, 0x66, 0x22, 0x94, 0x50, 0x5d, 0x13, 0x71, 0xfc, 0x36, 0x4c, - 0xe4, 0x74, 0x10, 0xa9, 0x05, 0x68, 0x2e, 0xc4, 0x99, 0x54, 0xca, 0x00, - 0x25, 0xf2, 0x31, 0xd0, 0xa0, 0x3a, 0x43, 0xc1, 0x38, 0x36, 0x5b, 0xb5, - 0x4d, 0x81, 0xd9, 0xb7, 0x4e, 0xb9, 0xd2, 0x99, 0x51, 0xdd, 0x72, 0xaa, - 0xda, 0xf5, 0x2b, 0x29, 0xe5, 0x03, 0x2b, 0x56, 0x20, 0x79, 0xc1, 0x37, - 0x6d, 0x46, 0x81, 0xfd, 0xce, 0x39, 0xd2, 0xa5, 0x83, 0x2e, 0x05, 0xa1, - 0xf7, 0xf1, 0x4a, 0x70, 0x71, 0x59, 0x80, 0xf6, 0x9b, 0x6f, 0xd2, 0x2a, - 0xad, 0xd8, 0xcd, 0x63, 0xd2, 0xaa, 0x2f, 0xcd, 0xad, 0xb6, 0xb4, 0x34, - 0xd8, 0xc7, 0x2a, 0x13, 0x47, 0xa2, 0xcb, 0xe3, 0xae, 0x8d, 0xb8, 0x77, - 0x0b, 0x26, 0x72, 0xac, 0xa7, 0x66, 0x95, 0x54, 0xb3, 0xbf, 0xf5, 0x2d, - 0xd9, 0xee, 0xb1, 0x18, 0xe4, 0xb5, 0x0f, 0xb4, 0xa2, 0xfc, 0xc5, 0xc1, - 0xc6, 0x32, 0x15, 0x8b, 0x1c, 0xb3, 0x15, 0x94, 0x5d, 0xa9, 0x5c, 0x61, - 0x45, 0x2a, 0x88, 0x18, 0xa6, 0x7a, 0x40, 0x59, 0x70, 0x74, 0xa3, 0x72, - 0x95, 0x05, 0xa7, 0x15, 0x98, 0xd4, 0x20, 0xfe, 0xad, 0xc8, 0xc6, 0x71, - 0x3b, 0x28, 0x9c, 0x93, 0xc4, 0x25, 0xb0, 0xc1, 0x88, 0xc5, 0x51, 0x92, - 0x0e, 0x60, 0xe2, 0x07, 0x72, 0xb2, 0x68, 0xb4, 0xec, 0x26, 0x13, 0xbf, - 0xa5, 0x7e, 0x6d, 0x73, 0xd7, 0x35, 0x89, 0x95, 0x8e, 0x4a, 0x45, 0x89, - 0xdc, 0x94, 0x2b, 0x15, 0xcd, 0xcc, 0xb1, 0x45, 0x29, 0x18, 0x41, 0x93, - 0x42, 0x37, 0x30, 0x2b, 0xc5, 0x54, 0x85, 0x0e, 0x5f, 0x69, 0x10, 0xf4, - 0xb5, 0x3e, 0x1b, 0x92, 0xab, 0x64, 0xa7, 0xcb, 0x80, 0xa5, 0xba, 0x5e, - 0x52, 0x4d, 0x74, 0xcc, 0x4e, 0xc7, 0xba, 0xf2, 0xf1, 0xc2, 0x32, 0x2f, - 0x10, 0x95, 0xe5, 0x6f, 0x1d, 0xf8, 0x53, 0x80, 0xf9, 0x41, 0xd3, 0x09, - 0x0b, 0x1d, 0x32, 0x52, 0xd8, 0x02, 0x17, 0xf5, 0x1a, 0xa7, 0x53, 0xb1, - 0x9a, 0xd7, 0xd4, 0x7d, 0xe8, 0xf2, 0x65, 0x81, 0xbf, 0x99, 0x8f, 0xef, - 0x31, 0xf7, 0x1c, 0x32, 0xd3, 0x0c, 0x63, 0x44, 0xed, 0x8f, 0xc9, 0xa6, - 0xe6, 0x04, 0x66, 0x62, 0xd5, 0x0b, 0xa5, 0x25, 0x41, 0x2c, 0xbe, 0x27, - 0xa5, 0x92, 0xf7, 0x1b, 0x1b, 0x69, 0x8c, 0xf9, 0xd8, 0x5d, 0x46, 0x2a, - 0x25, 0x25, 0x67, 0x96, 0x3d, 0x2d, 0x16, 0x7e, 0x1b, 0xd5, 0x13, 0x49, - 0xe0, 0xb2, 0x43, 0x1f, 0x29, 0xac, 0x39, 0x71, 0x64, 0x99, 0x35, 0x01, - 0x01, 0xc3, 0x77, 0xa6, 0x48, 0xc9, 0xc8, 0xb8, 0xc8, 0xeb, 0x92, 0x4b, - 0x09, 0xa5, 0xdc, 0xba, 0xc3, 0x35, 0xa5, 0xd4, 0x4a, 0x59, 0xbe, 0x11, - 0xae, 0x29, 0x17, 0xbf, 0x48, 0xa2, 0x20, 0x9e, 0x7e, 0x6d, 0x59, 0xb9, - 0x84, 0x98, 0x57, 0xdb, 0xb4, 0x6a, 0xca, 0x6e, 0xb7, 0x96, 0xc8, 0x24, - 0x7c, 0x5e, 0x5e, 0x48, 0x5f, 0x57, 0x58, 0x28, 0xb2, 0xbe, 0xa4, 0x50, - 0xe8, 0x66, 0x62, 0x42, 0xc1, 0x9b, 0xca, 0x28, 0xd9, 0x11, 0x53, 0x42, - 0x4a, 0x66, 0xb0, 0x98, 0xf2, 0x4b, 0x43, 0x39, 0x90, 0xcc, 0x52, 0x11, - 0xd1, 0xc2, 0x22, 0x31, 0xfe, 0x8f, 0xb7, 0x2e, 0xd0, 0xcd, 0xda, 0xd8, - 0xb1, 0x80, 0xd3, 0x72, 0x78, 0xe5, 0x3c, 0x1c, 0xe1, 0x3e, 0x6f, 0x76, - 0xae, 0xeb, 0x2b, 0xc7, 0x01, 0x47, 0xb7, 0xf9, 0x48, 0xa8, 0x6e, 0xd7, - 0x2a, 0x11, 0x84, 0x4b, 0x8f, 0x25, 0xba, 0xb9, 0xc7, 0xa4, 0x97, 0xf4, - 0xc5, 0x3c, 0x1a, 0x63, 0xa9, 0xf9, 0xa4, 0x55, 0x6f, 0xee, 0xee, 0xd5, - 0x9b, 0x78, 0x57, 0x70, 0xab, 0xd9, 0x2e, 0xc9, 0x97, 0x82, 0xf3, 0xf2, - 0x39, 0xa6, 0x93, 0x34, 0xaa, 0x10, 0xd4, 0x9c, 0x36, 0x24, 0x94, 0xac, - 0x6f, 0xb8, 0x18, 0xbe, 0x4a, 0x9d, 0xbd, 0x66, 0x49, 0x73, 0x17, 0x1f, - 0xc6, 0x35, 0x7b, 0x2a, 0x5c, 0x9b, 0xf7, 0x3d, 0x9b, 0xed, 0x63, 0x11, - 0x1d, 0xdc, 0x3e, 0x1d, 0xca, 0x1d, 0x78, 0x0f, 0x5f, 0xf0, 0x5f, 0x3a, - 0x4f, 0x6f, 0x0f, 0x7e, 0xd8, 0xc0, 0x5f, 0x36, 0x93, 0xae, 0x6f, 0xa3, - 0xbc, 0x36, 0xff, 0x65, 0xf2, 0x22, 0x4f, 0x16, 0xdb, 0x6b, 0x3c, 0x6f, - 0xe4, 0xb2, 0xb0, 0xe9, 0x43, 0x52, 0x04, 0xd6, 0x38, 0xf7, 0x8b, 0x13, - 0x3a, 0x3d, 0xc7, 0x75, 0x22, 0xec, 0x39, 0xff, 0xf4, 0x59, 0x26, 0xaa, - 0x43, 0xda, 0xa7, 0xd4, 0xbe, 0xb4, 0xbd, 0x4d, 0x1f, 0xbe, 0x8e, 0x37, - 0xbe, 0x9d, 0x7a, 0x6a, 0xe7, 0x1b, 0x6f, 0xef, 0x90, 0x35, 0x97, 0xe1, - 0x07, 0x53, 0xef, 0xb1, 0xd9, 0xfd, 0xaa, 0xcb, 0xc6, 0x37, 0xa3, 0x67, - 0xd3, 0xa6, 0xbc, 0xaf, 0xb5, 0xa1, 0x92, 0xe2, 0x0b, 0xb3, 0x73, 0x60, - 0x70, 0x11, 0x4c, 0x1a, 0xb5, 0x49, 0x48, 0x7b, 0x8a, 0x9b, 0xe6, 0xb9, - 0xef, 0x11, 0x1e, 0xf3, 0x4c, 0xbb, 0xcd, 0xd2, 0x25, 0x70, 0x67, 0x6d, - 0x0a, 0x62, 0x78, 0xee, 0x4f, 0x13, 0x65, 0x84, 0x47, 0xe1, 0x13, 0x2a, - 0x37, 0xef, 0xe0, 0x38, 0x24, 0xdc, 0x26, 0x64, 0x2c, 0xd8, 0x4b, 0x48, - 0xf7, 0x55, 0x99, 0xfa, 0xe3, 0x2e, 0x10, 0xb3, 0x15, 0x47, 0x1f, 0xda, - 0x33, 0x88, 0xe9, 0x52, 0xcb, 0xd4, 0xa3, 0x3f, 0x8d, 0x9f, 0xf8, 0x34, - 0xaa, 0x79, 0x52, 0xcd, 0x7f, 0x39, 0xef, 0xe0, 0xdd, 0xfe, 0x01, 0x7d, - 0x8c, 0xe8, 0xa3, 0x47, 0x1f, 0x63, 0x71, 0xde, 0x29, 0x35, 0xd4, 0x1f, - 0xf6, 0xef, 0xcf, 0x5b, 0x0c, 0xc4, 0x9f, 0x23, 0xfe, 0xec, 0xb5, 0x14, - 0x5c, 0x2b, 0x0d, 0xd8, 0x66, 0x40, 0xfe, 0x1c, 0xf1, 0x67, 0xaf, 0xad, - 0x00, 0xdb, 0x09, 0x40, 0x7d, 0x46, 0x46, 0xbe, 0x74, 0xcb, 0xe3, 0xdd, - 0xde, 0xe8, 0x17, 0x2a, 0x95, 0x5f, 0x0f, 0xc5, 0x09, 0xb1, 0x00, 0x5b, - 0x7b, 0xcd, 0xd6, 0xf0, 0xfc, 0x54, 0xd6, 0x80, 0x76, 0x92, 0x24, 0x2b, - 0x71, 0x8a, 0x00, 0x55, 0xdc, 0x3e, 0xf2, 0xcc, 0x6d, 0x42, 0xcb, 0x8c, - 0x6f, 0x9c, 0x2a, 0x69, 0x5e, 0xe2, 0x7b, 0x6a, 0x20, 0x92, 0xe5, 0x80, - 0xf4, 0xb4, 0x18, 0xc8, 0xc8, 0xd0, 0x09, 0x75, 0xba, 0x18, 0xa4, 0x1b, - 0x12, 0xfb, 0xf2, 0x31, 0x41, 0x19, 0x9f, 0xf2, 0xee, 0x56, 0x78, 0xa1, - 0xa6, 0x0c, 0xdd, 0x50, 0x25, 0x5b, 0x35, 0x55, 0x07, 0xb9, 0x27, 0x34, - 0x46, 0x63, 0x5a, 0x9c, 0x22, 0x24, 0xaf, 0xa2, 0x7d, 0x3e, 0x43, 0x41, - 0x6f, 0xf7, 0xa2, 0xab, 0x8b, 0xa6, 0x01, 0xf9, 0x44, 0x74, 0x3e, 0x22, - 0x0a, 0xe5, 0x75, 0x24, 0x1e, 0x5d, 0xb7, 0x63, 0xf6, 0x3e, 0xfd, 0x0a, - 0x47, 0x90, 0x5d, 0xd7, 0xb6, 0x7e, 0x16, 0x5a, 0xb4, 0xf1, 0x99, 0x37, - 0xf7, 0x5a, 0x27, 0xea, 0x4d, 0x9a, 0xbd, 0x0b, 0xeb, 0x25, 0x12, 0x46, - 0xb6, 0xf5, 0x2b, 0x07, 0xe7, 0x65, 0xfc, 0xef, 0x7f, 0x8f, 0x36, 0x33, - 0x01, 0xbf, 0x3c, 0x9f, 0x35, 0xb0, 0x10, 0x7b, 0x09, 0x2e, 0x4e, 0xe4, - 0xe6, 0xad, 0xe0, 0xfb, 0xdf, 0x8b, 0x37, 0x48, 0xfc, 0x31, 0x2c, 0x87, - 0x9c, 0x7a, 0xe4, 0x56, 0x94, 0x06, 0x4a, 0xd7, 0xcf, 0xdc, 0xf9, 0x95, - 0x2a, 0x6a, 0xa0, 0xa5, 0x91, 0x63, 0x22, 0x32, 0x8d, 0xd9, 0xe2, 0x4b, - 0x08, 0x71, 0x55, 0x97, 0x0b, 0xcf, 0x3c, 0x00, 0xdd, 0x2e, 0x51, 0x78, - 0xfc, 0x10, 0x3f, 0x1f, 0x57, 0xaa, 0xf2, 0x40, 0x82, 0x4e, 0xe3, 0x07, - 0xa4, 0xf2, 0x69, 0x04, 0x9d, 0x48, 0xbf, 0x91, 0xc6, 0x47, 0x11, 0xe2, - 0x44, 0x7a, 0xa0, 0x54, 0xa5, 0x5c, 0x3a, 0x59, 0x3e, 0x21, 0x5d, 0xaa, - 0x97, 0x4e, 0xc6, 0x03, 0x51, 0xdb, 0xb7, 0x62, 0xde, 0x22, 0x6a, 0xf9, - 0x2c, 0x6b, 0x38, 0x78, 0xf0, 0x2b, 0xdb, 0xd5, 0x85, 0x64, 0x42, 0xcc, - 0x63, 0x3a, 0x53, 0x27, 0x69, 0x66, 0xd3, 0xb9, 0x2a, 0x45, 0x73, 0x9d, - 0xc9, 0xd5, 0x49, 0x86, 0xfd, 0x74, 0x7e, 0x9c, 0x16, 0xd7, 0x23, 0x9d, - 0xaf, 0x93, 0x50, 0xa1, 0x84, 0xac, 0x55, 0xf3, 0x7f, 0x27, 0x2f, 0x5b, - 0xe3, 0x3a, 0x49, 0xa5, 0x53, 0x29, 0xba, 0x74, 0xea, 0x45, 0xa7, 0x19, - 0x14, 0xfc, 0xd2, 0x11, 0x23, 0x8f, 0xd7, 0x3d, 0x4d, 0x93, 0x33, 0x3e, - 0xd1, 0x1b, 0xed, 0x90, 0xfc, 0x39, 0x96, 0x49, 0x11, 0x00, 0x67, 0x7c, - 0xd6, 0x72, 0x29, 0x82, 0xa0, 0xf4, 0xcf, 0x5a, 0x36, 0x85, 0x10, 0x9c, - 0xf1, 0xd9, 0xc8, 0xa7, 0x08, 0x46, 0xe6, 0x00, 0x68, 0x5f, 0xa9, 0x9c, - 0xaa, 0x92, 0xba, 0xeb, 0xc4, 0x28, 0xb4, 0xce, 0x78, 0xce, 0xe9, 0x65, - 0xdb, 0x05, 0x2e, 0xd9, 0xfd, 0xe2, 0x51, 0x9b, 0x46, 0xf9, 0x07, 0xc8, - 0xe0, 0x84, 0x15, 0x6e, 0xb8, 0x93, 0x2f, 0xfb, 0xc5, 0xc0, 0xcd, 0x96, - 0xba, 0x1e, 0xdb, 0x27, 0x7d, 0xe3, 0x5d, 0x2f, 0xbe, 0x14, 0x85, 0x89, - 0x82, 0xde, 0xef, 0x31, 0x0a, 0x94, 0x7f, 0x70, 0x09, 0xe9, 0xd5, 0xf9, - 0x8e, 0xd1, 0xab, 0xaa, 0xf5, 0x83, 0x4b, 0x16, 0x55, 0xe2, 0x99, 0x04, - 0xa3, 0x1e, 0x2b, 0xbf, 0xdf, 0x5f, 0x95, 0x13, 0xbc, 0xea, 0xb7, 0x88, - 0x13, 0x07, 0x16, 0x2b, 0xf8, 0xe9, 0x87, 0x37, 0xaf, 0xc9, 0xd1, 0x78, - 0x48, 0x10, 0x60, 0xe1, 0x83, 0x0f, 0xe8, 0xf2, 0x27, 0x92, 0xaf, 0xa2, - 0x54, 0xb5, 0x62, 0x9e, 0x54, 0xa3, 0xea, 0x07, 0xc3, 0xcd, 0xe7, 0xe4, - 0x6d, 0x82, 0x90, 0xf4, 0x09, 0x0c, 0x91, 0x14, 0xb3, 0x49, 0x4e, 0x79, - 0x5f, 0xd2, 0x9a, 0x25, 0x4b, 0xc9, 0x14, 0xb0, 0x52, 0x38, 0xb7, 0xb4, - 0x2e, 0x29, 0x5d, 0xfa, 0x2a, 0x65, 0x74, 0x53, 0x48, 0x63, 0xa7, 0xa1, - 0x8b, 0x5f, 0x59, 0x14, 0x71, 0x58, 0xab, 0x65, 0x9a, 0xa5, 0x6b, 0x5b, - 0xc2, 0x88, 0xab, 0x1e, 0x80, 0x5c, 0x2a, 0x61, 0x94, 0x4d, 0xe8, 0xad, - 0xd9, 0x1e, 0x44, 0x3f, 0x2f, 0xff, 0x04, 0x42, 0x8c, 0x94, 0x2b, 0xe3, - 0xa3, 0xf7, 0x66, 0xaf, 0x57, 0x9f, 0x56, 0xae, 0x42, 0xb9, 0x94, 0x5e, - 0x6b, 0xcd, 0x2a, 0xb5, 0x56, 0xa8, 0x52, 0x6b, 0x65, 0x84, 0xf4, 0xaa, - 0xec, 0xf5, 0xea, 0xd4, 0xce, 0xd5, 0x29, 0x97, 0xd2, 0x6b, 0xaf, 0x59, - 0xa7, 0xf6, 0x0a, 0x75, 0x6a, 0x6b, 0x2d, 0x34, 0x63, 0x1b, 0xdf, 0x3e, - 0x09, 0x73, 0xcc, 0x30, 0x14, 0x7c, 0x8a, 0xef, 0x2d, 0x9b, 0x8f, 0x31, - 0x96, 0x7d, 0xf7, 0xee, 0x0d, 0x5c, 0x06, 0x7d, 0xaa, 0xd1, 0xd8, 0x21, - 0x09, 0x2f, 0x4d, 0x79, 0x58, 0x56, 0x43, 0xab, 0x19, 0x76, 0x64, 0x57, - 0xb3, 0xba, 0xa6, 0x3f, 0x4a, 0xca, 0xb2, 0x53, 0xa6, 0x61, 0x64, 0x5a, - 0x12, 0x8a, 0x7b, 0x6b, 0x1a, 0x88, 0x93, 0x52, 0x30, 0xd4, 0xed, 0x33, - 0x40, 0x9c, 0x96, 0x86, 0x32, 0x43, 0x92, 0x01, 0x53, 0x89, 0x49, 0x38, - 0x33, 0x32, 0x19, 0x30, 0x99, 0xa6, 0xa0, 0x8a, 0x05, 0x56, 0x28, 0x25, - 0x23, 0x24, 0x86, 0x95, 0x2e, 0x0c, 0x2b, 0x83, 0x11, 0x14, 0xf0, 0xc8, - 0x37, 0x7d, 0xf5, 0x46, 0x0a, 0x11, 0xa7, 0xab, 0x71, 0x2a, 0xa7, 0x4a, - 0x85, 0x36, 0xb7, 0x81, 0x35, 0xf2, 0xdf, 0x27, 0xc5, 0xba, 0xac, 0x64, - 0xa3, 0x9a, 0xb6, 0xd0, 0x5c, 0xd6, 0x08, 0x7b, 0x79, 0x51, 0x14, 0xce, - 0x9a, 0x73, 0xd3, 0x04, 0xcb, 0xf9, 0x65, 0x10, 0x4d, 0x73, 0xd1, 0xa3, - 0xc1, 0x6a, 0x9a, 0x6c, 0x39, 0x5a, 0x09, 0xa3, 0x11, 0x2d, 0x7f, 0x36, - 0x98, 0xc9, 0x37, 0xe5, 0xeb, 0x73, 0xbb, 0x09, 0x22, 0x38, 0x2d, 0xeb, - 0x0e, 0xf8, 0x3c, 0xd2, 0xa7, 0xc6, 0xe7, 0x7d, 0x33, 0x84, 0x26, 0x51, - 0x58, 0x07, 0x5d, 0xab, 0xb9, 0x97, 0xba, 0xb1, 0x96, 0x11, 0xd5, 0x39, - 0x38, 0xfb, 0xd6, 0x9e, 0x40, 0x5d, 0xd2, 0x09, 0x14, 0xec, 0xc7, 0x38, - 0x8d, 0xad, 0x12, 0x5b, 0xbf, 0xeb, 0xe9, 0x77, 0x0c, 0xff, 0xae, 0xb7, - 0x35, 0xaa, 0x5a, 0x25, 0x3c, 0x62, 0xa7, 0xfe, 0x59, 0x29, 0x3d, 0x26, - 0xdc, 0x1c, 0x37, 0x21, 0x53, 0xa8, 0x35, 0x25, 0x83, 0xfb, 0xfb, 0xdf, - 0x8b, 0x35, 0x4e, 0xbd, 0xba, 0x2d, 0xaf, 0x72, 0x37, 0xd4, 0xb7, 0x9b, - 0x2a, 0xdb, 0x4d, 0x35, 0xed, 0x3e, 0xd4, 0xec, 0x4e, 0x75, 0x4c, 0x9b, - 0x88, 0xfe, 0x98, 0x5e, 0x25, 0x6c, 0x05, 0xfc, 0xc9, 0xf9, 0x34, 0x83, - 0x51, 0x86, 0x55, 0xfa, 0xe9, 0xc6, 0x48, 0x28, 0xe8, 0x63, 0x7c, 0x28, - 0x73, 0x96, 0x37, 0xa7, 0xf9, 0x28, 0xd4, 0x63, 0x59, 0xea, 0x71, 0xd5, - 0x2a, 0x57, 0xba, 0x07, 0x97, 0x29, 0x8f, 0x66, 0x62, 0x9f, 0xe1, 0xf8, - 0x06, 0xee, 0x15, 0x89, 0x4d, 0xb9, 0x8d, 0xdf, 0x74, 0x2c, 0x95, 0x66, - 0x2c, 0x3d, 0x9c, 0x12, 0xa7, 0x59, 0x4a, 0x03, 0xb3, 0x32, 0x3a, 0xc8, - 0x9c, 0x3a, 0x63, 0x1d, 0xdb, 0x3e, 0x7e, 0x87, 0xa0, 0x62, 0x27, 0x66, - 0x23, 0xe1, 0x5e, 0x69, 0xfd, 0xd2, 0xbd, 0x25, 0xed, 0xb0, 0x71, 0x20, - 0xa9, 0x59, 0xb1, 0x92, 0x63, 0x5e, 0x72, 0x30, 0xb8, 0xbe, 0x70, 0x2b, - 0x5d, 0xb8, 0xb5, 0x5e, 0xe9, 0x76, 0xba, 0x74, 0x7b, 0x41, 0xe9, 0xbc, - 0x79, 0x36, 0x99, 0x19, 0x47, 0x3b, 0xee, 0x4f, 0x95, 0x64, 0x0f, 0xd8, - 0x64, 0xeb, 0x30, 0xc1, 0xc2, 0xf6, 0x49, 0xb0, 0xa2, 0xbc, 0xde, 0x1b, - 0xb6, 0xd1, 0x48, 0x0f, 0xc6, 0xab, 0xca, 0xb9, 0x95, 0x2e, 0xde, 0x5a, - 0xb7, 0x7c, 0x3b, 0x5d, 0xbe, 0xad, 0xcb, 0xdf, 0x69, 0x4b, 0x91, 0x3d, - 0xd9, 0x64, 0x43, 0x11, 0xbd, 0xc2, 0x76, 0x32, 0x8c, 0xc8, 0xf9, 0xc8, - 0x0d, 0x5b, 0xa9, 0xa7, 0xbc, 0xa1, 0x55, 0x85, 0xdc, 0x4a, 0x97, 0x6e, - 0xad, 0x59, 0xbc, 0x9d, 0x2e, 0xde, 0x56, 0xc5, 0xef, 0xb4, 0x89, 0xc8, - 0x40, 0x6f, 0xb4, 0x8d, 0x88, 0x60, 0x71, 0x23, 0x25, 0x58, 0x91, 0x73, - 0xfa, 0x9b, 0x36, 0xd3, 0x5c, 0xf9, 0xa3, 0x2b, 0x0b, 0xba, 0x95, 0x2e, - 0xde, 0x5a, 0xb7, 0x7c, 0x3b, 0x5d, 0xbe, 0xad, 0xca, 0xdf, 0x6d, 0x4b, - 0xc9, 0x41, 0x6f, 0x93, 0x4d, 0x25, 0x29, 0x16, 0xb6, 0x55, 0x92, 0x19, - 0x1d, 0x5d, 0xc9, 0xb5, 0x96, 0x14, 0x8a, 0x09, 0xdb, 0xc6, 0xce, 0xdf, - 0x7a, 0x72, 0xd1, 0x91, 0x82, 0x67, 0x31, 0xa2, 0xbb, 0x0d, 0x17, 0x18, - 0x06, 0xf3, 0x31, 0x83, 0x8a, 0x99, 0xa4, 0x6c, 0xd6, 0x23, 0x60, 0x82, - 0x85, 0xa2, 0x4f, 0xb0, 0xa2, 0xc2, 0x7a, 0x0b, 0x04, 0xcf, 0x79, 0x99, - 0xc9, 0x54, 0x5e, 0xaa, 0x27, 0x94, 0x7b, 0xb7, 0x02, 0x65, 0x82, 0xc5, - 0xb2, 0xbc, 0x32, 0xde, 0x57, 0xaa, 0x52, 0x9e, 0xaa, 0x4f, 0x7f, 0x16, - 0xe0, 0x3b, 0x11, 0x50, 0x53, 0x39, 0x7a, 0x32, 0x40, 0x42, 0x4a, 0xcd, - 0x05, 0x6c, 0x17, 0x3b, 0x57, 0xcb, 0xfa, 0xaa, 0xa0, 0x4f, 0x7a, 0xad, - 0xab, 0x4e, 0x29, 0x9f, 0x3f, 0x95, 0x12, 0xd7, 0xcb, 0x94, 0x52, 0xe1, - 0xa7, 0x14, 0xda, 0xae, 0xa2, 0x9b, 0x9a, 0x15, 0xe4, 0x88, 0x3f, 0xb5, - 0x1a, 0xeb, 0x92, 0xa6, 0xab, 0x69, 0xd6, 0xa0, 0x9b, 0x8c, 0x92, 0x2b, - 0xc8, 0xec, 0x24, 0x38, 0x13, 0x9d, 0xa7, 0xb7, 0x64, 0x04, 0xd8, 0xca, - 0x91, 0x99, 0xf9, 0xb2, 0x21, 0x62, 0x18, 0x9e, 0xf9, 0x9a, 0x39, 0x98, - 0x5c, 0x09, 0xe8, 0xf2, 0x36, 0x2f, 0x56, 0xe2, 0x58, 0x79, 0x35, 0x93, - 0x50, 0xcb, 0x02, 0x0d, 0x67, 0xcf, 0x99, 0x15, 0xdc, 0xea, 0x1e, 0x58, - 0x97, 0x0b, 0x8d, 0xd6, 0xaa, 0x7d, 0x3a, 0xe7, 0x79, 0xa7, 0x73, 0x4d, - 0x84, 0x23, 0x67, 0x0a, 0x3e, 0xa0, 0xb7, 0x8e, 0xe8, 0xca, 0x35, 0xef, - 0x39, 0xe3, 0x50, 0x55, 0x8a, 0x7c, 0xd6, 0x4d, 0xe9, 0xf3, 0x9b, 0x02, - 0xc6, 0x8f, 0x27, 0x46, 0x69, 0xc7, 0x84, 0xac, 0x35, 0x17, 0x4a, 0x69, - 0x66, 0xc2, 0xb7, 0xfc, 0x3f, 0xaa, 0x3f, 0xd7, 0x67, 0x2d, 0x09, 0x90, - 0x87, 0xf1, 0x7f, 0x24, 0x00, 0xaa, 0xce, 0x5a, 0xf5, 0xa7, 0x81, 0xfb, - 0xff, 0x49, 0x00, 0x54, 0x9f, 0xf5, 0x24, 0x20, 0xc7, 0xc3, 0x75, 0x44, - 0xf0, 0x5f, 0x51, 0x51, 0xc9, 0xf6, 0x5a, 0x35, 0xc5, 0x40, 0xb5, 0x9e, - 0xb5, 0xdb, 0x54, 0x5d, 0xc0, 0xd8, 0xca, 0x86, 0xeb, 0x2a, 0x79, 0x8d, - 0xc5, 0xab, 0xc9, 0x54, 0x46, 0xa8, 0xe5, 0x7b, 0x54, 0xe8, 0x2c, 0xbf, - 0xba, 0x7e, 0x22, 0x31, 0x42, 0x9c, 0xd3, 0x1d, 0x16, 0xe5, 0x59, 0x80, - 0xf1, 0x76, 0xea, 0xd3, 0x7d, 0xcd, 0xb4, 0xbd, 0x8b, 0xe2, 0x30, 0x15, - 0xcb, 0x0c, 0x15, 0x80, 0x0a, 0xd4, 0x40, 0xf1, 0xeb, 0x37, 0xaf, 0x7f, - 0x8a, 0x12, 0xc7, 0xe2, 0x8f, 0x08, 0xa7, 0x44, 0xba, 0x66, 0x04, 0x80, - 0x03, 0xa1, 0xbc, 0x95, 0x3f, 0xa4, 0xad, 0xfc, 0x52, 0x38, 0x28, 0x93, - 0x74, 0x08, 0x52, 0xbe, 0xb3, 0xdc, 0x4e, 0x63, 0x36, 0xff, 0xb3, 0xf3, - 0xbc, 0x6d, 0x3d, 0x7a, 0x64, 0x71, 0x06, 0x61, 0x99, 0x85, 0xd2, 0x23, - 0x6f, 0x14, 0xbe, 0xa4, 0x2a, 0x92, 0xa3, 0x97, 0x42, 0x13, 0x4e, 0xb1, - 0xbe, 0x2e, 0xe8, 0xc2, 0x28, 0xc5, 0x51, 0x92, 0x94, 0x86, 0x7e, 0x00, - 0x6c, 0x8f, 0x1f, 0x83, 0x46, 0x9c, 0x54, 0x31, 0x98, 0xcd, 0x5f, 0x2c, - 0x83, 0x18, 0x2a, 0x81, 0xd3, 0x38, 0x05, 0x4b, 0x4b, 0x96, 0x4e, 0x66, - 0xfd, 0x3e, 0x46, 0xfc, 0x07, 0xa5, 0x5c, 0x61, 0xf9, 0x98, 0xc7, 0x73, - 0xad, 0x70, 0x2a, 0x09, 0xf4, 0x47, 0xc7, 0xc7, 0xef, 0x8e, 0x1f, 0x58, - 0xb9, 0x17, 0x1f, 0x49, 0x7a, 0x19, 0x5a, 0x57, 0x89, 0x80, 0x2a, 0xb5, - 0x72, 0x85, 0xdb, 0x8b, 0x8f, 0x8e, 0x97, 0xde, 0xbf, 0xa3, 0x5b, 0x63, - 0x2c, 0xd6, 0x80, 0x28, 0x88, 0x5d, 0x47, 0xc9, 0x99, 0x01, 0x7b, 0x79, - 0x54, 0x04, 0xc5, 0x00, 0xa4, 0xb4, 0x8c, 0x36, 0xeb, 0xd4, 0x61, 0x8d, - 0x84, 0x2f, 0xcf, 0x8c, 0xdb, 0x5e, 0x69, 0x5b, 0x89, 0x3e, 0x33, 0xbb, - 0x94, 0xb6, 0x00, 0xcc, 0xbb, 0x34, 0x70, 0xf8, 0x4b, 0xed, 0x87, 0x30, - 0xba, 0x23, 0x57, 0x55, 0x4d, 0x0f, 0x4a, 0xbd, 0xa2, 0xec, 0xa5, 0xf4, - 0xb5, 0xe4, 0xf6, 0x0d, 0x3e, 0x70, 0x8d, 0x4d, 0x43, 0x36, 0x5e, 0xdc, - 0x74, 0xf2, 0xa1, 0x03, 0x5c, 0xb9, 0x29, 0xa3, 0xa0, 0xf6, 0x47, 0x14, - 0x73, 0xd6, 0x93, 0x3b, 0xc5, 0x11, 0xef, 0xdc, 0xad, 0xb0, 0x6a, 0x28, - 0xa1, 0x96, 0xb2, 0x3a, 0xa1, 0x50, 0x77, 0xad, 0x9f, 0x9d, 0xbc, 0x7b, - 0x5b, 0x9f, 0xda, 0x01, 0x9f, 0x7a, 0x2e, 0xd0, 0x33, 0xb5, 0xe3, 0x7c, - 0xa2, 0xc2, 0xd8, 0x8c, 0xd4, 0x5c, 0x85, 0x91, 0xc1, 0x9b, 0x23, 0x10, - 0x9f, 0x99, 0x86, 0x91, 0x9e, 0xc4, 0xc6, 0xc6, 0xfc, 0x65, 0xa8, 0x31, - 0x58, 0x1d, 0x5b, 0x98, 0xb8, 0x42, 0xf1, 0x83, 0x3a, 0xb5, 0x61, 0x5e, - 0xed, 0x56, 0xfc, 0x67, 0xa6, 0x06, 0x4c, 0x5b, 0x1e, 0x5e, 0xb9, 0x54, - 0xb7, 0xc9, 0x1a, 0x6c, 0x55, 0xbc, 0x4b, 0x4f, 0x3e, 0x32, 0x9c, 0x9e, - 0x04, 0x99, 0xbf, 0xbc, 0x66, 0xe7, 0x93, 0xd7, 0xee, 0x01, 0xba, 0x7d, - 0xd5, 0xd9, 0xfa, 0x95, 0x5f, 0x3c, 0x87, 0x93, 0x6b, 0x7d, 0x3c, 0xc0, - 0x03, 0xcf, 0xac, 0xc2, 0x29, 0xc7, 0x1c, 0x18, 0x3d, 0x89, 0x34, 0x83, - 0x11, 0x1b, 0xf2, 0xe7, 0x27, 0x1e, 0x3a, 0x56, 0xcf, 0x0e, 0xca, 0x49, - 0xe0, 0xf8, 0x3e, 0xd3, 0xaa, 0xa5, 0x76, 0x1c, 0xd2, 0x34, 0xa6, 0xd1, - 0x28, 0xea, 0x64, 0x94, 0x96, 0xeb, 0x00, 0xcf, 0x79, 0xdb, 0xd9, 0x4a, - 0x3d, 0x40, 0xee, 0x50, 0xbb, 0x56, 0xfd, 0x0b, 0x95, 0x5f, 0x96, 0xbd, - 0x73, 0xc5, 0xff, 0x77, 0x79, 0x47, 0xa2, 0xdc, 0x3a, 0x11, 0xfb, 0x15, - 0x13, 0x8e, 0xe7, 0x40, 0x92, 0x36, 0xe9, 0xeb, 0x03, 0x5e, 0x08, 0x0c, - 0x94, 0x73, 0x86, 0x6b, 0xe8, 0xe3, 0x9a, 0x4e, 0xe7, 0x4d, 0x92, 0xba, - 0x6d, 0x20, 0x4d, 0x82, 0xed, 0xd0, 0x76, 0x4a, 0x19, 0xfe, 0x90, 0x5f, - 0x42, 0xd2, 0xee, 0x5a, 0x7b, 0xd9, 0x5e, 0x9b, 0x86, 0xb3, 0x03, 0x2f, - 0xc9, 0xae, 0xa4, 0xd5, 0x6a, 0xb5, 0xda, 0x5b, 0x22, 0xcf, 0x31, 0x41, - 0xaa, 0x0f, 0x50, 0x8c, 0xed, 0xef, 0x16, 0x00, 0x52, 0x5c, 0x83, 0x8c, - 0x9c, 0xbe, 0x21, 0xab, 0xc0, 0x10, 0x13, 0x03, 0x61, 0x5c, 0x4b, 0xba, - 0xb8, 0xbd, 0x57, 0x4a, 0x9a, 0x21, 0x26, 0x26, 0x46, 0x20, 0xf1, 0xcd, - 0x3a, 0x2d, 0x27, 0xce, 0x10, 0x13, 0x03, 0x23, 0x94, 0x38, 0x5e, 0x28, - 0xac, 0x26, 0x4e, 0x10, 0x13, 0x13, 0x23, 0x90, 0x38, 0xde, 0x4c, 0xac, - 0x26, 0x4e, 0x10, 0x13, 0x13, 0xa3, 0x9e, 0xb8, 0xb8, 0xe2, 0x08, 0xe9, - 0x65, 0xc4, 0x15, 0xc4, 0x44, 0x03, 0x0f, 0x22, 0x3b, 0x5f, 0xe5, 0xd5, - 0x64, 0x09, 0x62, 0xc2, 0xe0, 0x01, 0x72, 0x96, 0x17, 0x2e, 0xa3, 0x28, - 0xdc, 0x30, 0xcb, 0xe2, 0x18, 0x73, 0xa2, 0x53, 0x1a, 0x57, 0x63, 0x69, - 0x97, 0x35, 0x01, 0xcf, 0x24, 0x05, 0xe6, 0x69, 0xbe, 0xdc, 0xe2, 0xe0, - 0xd8, 0xf9, 0x96, 0x86, 0xec, 0x00, 0x63, 0xea, 0x56, 0x67, 0xb3, 0x58, - 0x55, 0x4b, 0x89, 0x20, 0x26, 0x1a, 0x78, 0x90, 0x94, 0xe8, 0xd2, 0x69, - 0x29, 0x59, 0x86, 0x98, 0xe8, 0x08, 0x01, 0x0d, 0x40, 0x97, 0x54, 0xe9, - 0x7e, 0x6a, 0x05, 0x75, 0xe7, 0x26, 0x2b, 0x14, 0x63, 0x21, 0xff, 0x2f, - 0xc6, 0x13, 0x25, 0x3f, 0x57, 0x99, 0x40, 0x5d, 0x03, 0x2b, 0x40, 0x0b, - 0x3e, 0xe0, 0x1d, 0x0c, 0x37, 0xa4, 0xe1, 0xf1, 0xba, 0x71, 0x9e, 0xdd, - 0xe9, 0x40, 0xb1, 0xf5, 0x93, 0xda, 0xd6, 0xe4, 0x45, 0xe4, 0x5c, 0xbd, - 0x10, 0xff, 0xce, 0xff, 0xbe, 0x0b, 0x61, 0x6c, 0xa2, 0x07, 0x80, 0x8c, - 0x02, 0x60, 0x0e, 0x2c, 0x98, 0x7b, 0xff, 0x66, 0x24, 0xb5, 0x9e, 0x98, - 0xb8, 0xe2, 0x9c, 0xa7, 0x17, 0x51, 0xe4, 0x5c, 0x12, 0xba, 0x67, 0xfa, - 0x89, 0x80, 0x4f, 0x23, 0x1c, 0xc8, 0x11, 0x78, 0x40, 0x13, 0x28, 0x1c, - 0xce, 0xa3, 0x7e, 0xf4, 0xc9, 0xfb, 0x5a, 0xc6, 0xe2, 0x4c, 0xa6, 0x7e, - 0x4c, 0x42, 0xd1, 0x72, 0x84, 0x94, 0xba, 0xda, 0xed, 0x08, 0x0c, 0x79, - 0x3c, 0x51, 0x62, 0x57, 0x0e, 0xef, 0xa4, 0xe4, 0xe3, 0xce, 0xfb, 0x9f, - 0x7c, 0xd3, 0xd1, 0xa1, 0xb3, 0xcd, 0xaa, 0x02, 0xfa, 0xf8, 0xcb, 0x77, - 0x3f, 0x37, 0xc0, 0x17, 0xf3, 0x75, 0x05, 0xf8, 0x27, 0x06, 0xec, 0x2c, - 0xaf, 0x22, 0xfd, 0xde, 0xd7, 0xcf, 0x9e, 0x7d, 0x61, 0x12, 0x9f, 0x35, - 0xe2, 0x3c, 0xbf, 0xc9, 0x5d, 0x68, 0x58, 0xc3, 0x91, 0x2a, 0xc5, 0x96, - 0x3c, 0x63, 0x4b, 0x94, 0x5d, 0x45, 0x0a, 0x0b, 0xc5, 0xd7, 0xc6, 0x09, - 0x5c, 0xf6, 0xc2, 0x5b, 0x24, 0x31, 0x90, 0xd5, 0xb2, 0x4c, 0x95, 0x34, - 0x42, 0x3c, 0x4b, 0x20, 0x48, 0x33, 0xf0, 0x01, 0xa9, 0xab, 0x65, 0x81, - 0x01, 0x43, 0x54, 0x15, 0x3c, 0x9a, 0x73, 0x90, 0x91, 0x89, 0x62, 0x89, - 0x93, 0xc9, 0x33, 0x12, 0xbc, 0x50, 0x80, 0x3c, 0x67, 0x3b, 0x1c, 0x81, - 0x63, 0x89, 0x81, 0x9b, 0xe2, 0x8c, 0x65, 0xb0, 0x69, 0x05, 0x17, 0xd7, - 0x0b, 0x2d, 0xbd, 0xe0, 0x56, 0xec, 0x39, 0x17, 0x0f, 0x2a, 0x24, 0x12, - 0x34, 0xb8, 0x49, 0x1c, 0x12, 0x56, 0x90, 0x0a, 0xc4, 0x29, 0x28, 0xb7, - 0x1d, 0xc6, 0x9a, 0xd1, 0x0c, 0x9b, 0x17, 0x6b, 0xca, 0x4a, 0xeb, 0x51, - 0x5a, 0x07, 0x46, 0xef, 0x44, 0x1d, 0xda, 0xbc, 0x7f, 0x3e, 0x5b, 0xdf, - 0x3c, 0x87, 0x23, 0x00, 0xa0, 0x98, 0xc8, 0xe0, 0xde, 0xd1, 0x53, 0x2d, - 0x4f, 0x23, 0x5b, 0x26, 0xa0, 0x7c, 0x7d, 0x71, 0xb1, 0x4c, 0x44, 0xa7, - 0xa3, 0x75, 0x3d, 0x4b, 0x08, 0x95, 0xbc, 0xc2, 0xb6, 0x40, 0xb6, 0xd9, - 0x84, 0x50, 0x8a, 0x6a, 0xc2, 0x33, 0x4b, 0x3b, 0x00, 0xb4, 0x2c, 0x6b, - 0x96, 0xeb, 0x59, 0x46, 0x79, 0x1c, 0x29, 0x3e, 0xca, 0xae, 0x9e, 0x44, - 0x57, 0x67, 0x8f, 0xa3, 0x25, 0x9c, 0x94, 0xdf, 0x2c, 0x47, 0xa8, 0x96, - 0x71, 0xb9, 0x70, 0x22, 0x91, 0x48, 0xc2, 0x20, 0x8d, 0xad, 0xb4, 0xa8, - 0x62, 0x05, 0xdc, 0x35, 0xb8, 0x02, 0x56, 0x6c, 0x0b, 0x95, 0x26, 0x1c, - 0x2e, 0x42, 0xac, 0x2d, 0xda, 0x8d, 0x63, 0x9d, 0x83, 0x83, 0x97, 0x3b, - 0xe3, 0x60, 0xec, 0xfe, 0xd9, 0x7a, 0x85, 0x24, 0x40, 0xd5, 0xde, 0xcd, - 0x61, 0x0d, 0x01, 0x3d, 0x22, 0xa1, 0x07, 0xd7, 0xeb, 0x1f, 0x21, 0x6f, - 0x9a, 0x5d, 0x4e, 0xd3, 0x14, 0x5f, 0x9b, 0x23, 0xdd, 0xde, 0x70, 0x7f, - 0x3f, 0xa8, 0xbe, 0xa0, 0x77, 0xb2, 0x3f, 0x56, 0x0c, 0xb2, 0x7a, 0x7c, - 0x8c, 0x71, 0xed, 0x4a, 0x6a, 0xbb, 0xa0, 0x4d, 0x28, 0xf0, 0xd3, 0xba, - 0x5e, 0xd5, 0xae, 0xa7, 0x2c, 0x7b, 0x6e, 0x8a, 0xd6, 0x5e, 0x47, 0xe5, - 0x57, 0x1b, 0x7e, 0x42, 0x15, 0xb6, 0xa4, 0x7a, 0xc7, 0x5c, 0x3b, 0x81, - 0x1e, 0xdc, 0xdd, 0x9b, 0xfb, 0x81, 0x5f, 0x89, 0x7b, 0x64, 0x45, 0x88, - 0xef, 0xa2, 0x84, 0xeb, 0x45, 0x7e, 0x29, 0x3c, 0x64, 0x47, 0x20, 0xf8, - 0x8c, 0x91, 0xce, 0xa1, 0xc7, 0xc7, 0xf2, 0x3d, 0x17, 0x0c, 0x4f, 0x05, - 0x46, 0xd7, 0xb7, 0x97, 0xf4, 0x82, 0xca, 0xb5, 0x7d, 0xb6, 0x42, 0x7a, - 0x97, 0xa6, 0x5d, 0x90, 0xbb, 0x4d, 0x4a, 0xf7, 0x33, 0x62, 0xad, 0xd2, - 0x78, 0xb2, 0x75, 0xda, 0x75, 0xe7, 0x6e, 0x46, 0x3e, 0x48, 0xc6, 0x46, - 0xf1, 0x4f, 0x6f, 0xc8, 0x45, 0x44, 0x21, 0xec, 0x07, 0x58, 0xaf, 0xca, - 0x4d, 0x30, 0x0e, 0x8b, 0xf9, 0xb9, 0xd8, 0x7f, 0xaa, 0x9d, 0xe6, 0x28, - 0x15, 0xc0, 0x40, 0x20, 0x72, 0x73, 0x2d, 0x5a, 0x5a, 0x41, 0xb5, 0x0d, - 0x5d, 0x70, 0xfd, 0xa3, 0x43, 0x31, 0x01, 0x73, 0x0b, 0xab, 0xca, 0x3c, - 0xa9, 0x88, 0x3e, 0x53, 0xa7, 0xc3, 0x1c, 0xcc, 0x5d, 0xc6, 0xbd, 0xcf, - 0x22, 0x7c, 0x60, 0x00, 0x66, 0x5d, 0x44, 0x85, 0x8f, 0xce, 0xd3, 0xf5, - 0x95, 0x0a, 0x02, 0xaf, 0xc7, 0x8f, 0x1f, 0xf0, 0x2e, 0x9f, 0x71, 0x00, - 0x29, 0x64, 0x96, 0xac, 0x50, 0x5e, 0xae, 0x0e, 0x11, 0x51, 0x50, 0x22, - 0xbd, 0xbf, 0xf9, 0xf5, 0x48, 0x03, 0xb0, 0x55, 0x09, 0x69, 0xb8, 0xba, - 0xe4, 0xef, 0x62, 0x04, 0x5b, 0xaa, 0x6d, 0xa5, 0x87, 0xa8, 0x88, 0x06, - 0xaa, 0x37, 0xb1, 0x55, 0xaf, 0x12, 0xde, 0x34, 0x23, 0x94, 0x66, 0xeb, - 0x22, 0x7f, 0x28, 0x51, 0x26, 0x71, 0x61, 0xaf, 0x66, 0xeb, 0xb3, 0x5b, - 0xdb, 0x88, 0xc9, 0x39, 0xc9, 0xa4, 0xac, 0x64, 0x91, 0x0f, 0x48, 0xc5, - 0xfc, 0xd3, 0xdc, 0xde, 0xc3, 0x5f, 0xd6, 0xf6, 0x9e, 0x31, 0x7a, 0x90, - 0xbd, 0x52, 0xf8, 0x4e, 0x83, 0xf2, 0x83, 0xc8, 0x01, 0xcd, 0x4b, 0xbf, - 0x38, 0x2f, 0xe6, 0x13, 0xb0, 0xe7, 0xd7, 0x1f, 0x72, 0xd3, 0x79, 0x69, - 0xe7, 0xa9, 0xa7, 0x75, 0x68, 0xb7, 0xf9, 0x25, 0x28, 0x82, 0xf6, 0x9d, - 0x05, 0xbb, 0x72, 0xda, 0xdb, 0x23, 0x7c, 0xff, 0xf2, 0xc4, 0x9a, 0x28, - 0x1b, 0x27, 0x11, 0x6e, 0xb3, 0xb3, 0x24, 0xac, 0x3e, 0x61, 0x76, 0x22, - 0xe3, 0xdc, 0x01, 0x44, 0x76, 0xf5, 0x3e, 0xe0, 0xc9, 0xc3, 0x87, 0x0f, - 0xe5, 0xcf, 0xd8, 0x98, 0x72, 0x2e, 0xd7, 0x33, 0x99, 0xff, 0x1e, 0x7c, - 0x8d, 0x4f, 0xc8, 0xdc, 0x0a, 0x93, 0xb1, 0x38, 0xbf, 0x2d, 0x24, 0xd7, - 0x3d, 0xed, 0x45, 0x77, 0xe2, 0xc9, 0xe8, 0x23, 0xec, 0x85, 0x0b, 0xf1, - 0x32, 0x77, 0x0f, 0x07, 0x89, 0x47, 0x8a, 0xe7, 0xa2, 0x44, 0x39, 0x02, - 0xc7, 0x8f, 0x14, 0xfa, 0xa3, 0x1e, 0x95, 0xd4, 0x8b, 0x1e, 0x19, 0xc3, - 0x0b, 0x9d, 0x95, 0x7b, 0x17, 0x06, 0xc7, 0x80, 0x2e, 0x62, 0x0a, 0xf5, - 0x0a, 0xaa, 0xdd, 0xfa, 0xb1, 0x2b, 0x01, 0xd3, 0xa5, 0x61, 0x58, 0xc3, - 0xd6, 0x43, 0x58, 0x48, 0x8d, 0xc5, 0xaf, 0x8f, 0x8e, 0x3e, 0x38, 0x3e, - 0xb6, 0x1a, 0x00, 0xed, 0x5c, 0x8f, 0x87, 0x94, 0x90, 0xa5, 0xad, 0xdd, - 0x03, 0x68, 0xcc, 0x82, 0x69, 0x40, 0x26, 0x0e, 0x41, 0x80, 0xe2, 0x01, - 0x2d, 0x72, 0x1b, 0x5b, 0xeb, 0xa2, 0x0b, 0x81, 0x58, 0xc4, 0xec, 0x59, - 0xf5, 0x8f, 0x60, 0x93, 0x2e, 0x16, 0xfd, 0x42, 0x20, 0x9e, 0x9a, 0xb6, - 0xaf, 0x5f, 0xe0, 0x3a, 0xde, 0x1e, 0x02, 0xcc, 0x69, 0x6e, 0x22, 0x2e, - 0xb8, 0xb8, 0x1d, 0xf5, 0x05, 0xed, 0x67, 0x71, 0x24, 0x53, 0x3a, 0x21, - 0x6f, 0x3e, 0x0f, 0xc7, 0xae, 0xb3, 0x59, 0xe3, 0x2c, 0x26, 0xc4, 0xb4, - 0x68, 0x07, 0x48, 0x3a, 0x63, 0xa0, 0x7f, 0x48, 0xc4, 0x31, 0x3c, 0x5e, - 0x9a, 0x19, 0xf6, 0xb9, 0x24, 0x06, 0xf8, 0x5e, 0x34, 0x34, 0x6f, 0xdd, - 0x13, 0x61, 0x97, 0x2e, 0x1a, 0xfb, 0x10, 0xca, 0x78, 0x78, 0x61, 0xb3, - 0x7a, 0xef, 0xed, 0x94, 0x62, 0xf1, 0x4d, 0x07, 0x1a, 0x19, 0x2d, 0xc1, - 0x7d, 0xf4, 0x64, 0x83, 0x69, 0x4d, 0xb6, 0x5e, 0x1d, 0xab, 0x58, 0x37, - 0x70, 0x12, 0x0b, 0x5b, 0x32, 0x4b, 0xb8, 0x91, 0x53, 0xb0, 0x65, 0xdf, - 0x02, 0x8c, 0x44, 0xbe, 0x64, 0xc4, 0x28, 0xbf, 0x08, 0xff, 0x4f, 0xe0, - 0x4f, 0x81, 0x01, 0x09, 0xcc, 0x36, 0x33, 0x3a, 0x06, 0x0d, 0x8c, 0x4c, - 0x40, 0x79, 0x61, 0x4c, 0x3b, 0x90, 0x85, 0x52, 0x3c, 0x93, 0xea, 0xec, - 0xbd, 0xdb, 0x23, 0xb5, 0x68, 0x89, 0x3b, 0x82, 0x25, 0x7a, 0x1e, 0xff, - 0x7c, 0x99, 0x5c, 0x80, 0x3d, 0x52, 0x13, 0x72, 0x1e, 0xfc, 0x17, 0xb4, - 0x27, 0x02, 0x1f, 0x6f, 0x45, 0x37, 0xf2, 0xe8, 0x08, 0x7e, 0xbd, 0xf6, - 0x9a, 0x21, 0xf3, 0x9b, 0x93, 0xc5, 0xa9, 0xbe, 0x1a, 0xa2, 0x04, 0xff, - 0x43, 0x08, 0x5e, 0xb8, 0xbe, 0x29, 0x1f, 0x43, 0x70, 0xca, 0x41, 0xc7, - 0x6a, 0x1c, 0xa8, 0x45, 0xfd, 0xa3, 0x2e, 0x57, 0x46, 0x37, 0x26, 0x2f, - 0x75, 0x8c, 0x1c, 0x38, 0x8c, 0xbc, 0xd9, 0xd1, 0xc5, 0x9d, 0xc8, 0x77, - 0xae, 0x22, 0xd6, 0x4f, 0x34, 0x5d, 0x9d, 0x15, 0x57, 0xaa, 0xf2, 0xb5, - 0xd5, 0x10, 0x80, 0x65, 0x5d, 0xd1, 0xe7, 0xc6, 0x3f, 0xe9, 0xa4, 0xc8, - 0xab, 0xd4, 0x0e, 0xe8, 0x13, 0x43, 0xe8, 0x94, 0xf2, 0x07, 0x2d, 0xfe, - 0x4e, 0xf5, 0x4b, 0xeb, 0x5e, 0x02, 0x17, 0x61, 0x04, 0x66, 0x80, 0xe9, - 0xc5, 0x9f, 0x85, 0xe1, 0xe3, 0xee, 0x9b, 0x9f, 0xc0, 0x75, 0x18, 0x01, - 0xef, 0x25, 0x8f, 0xca, 0x4b, 0x11, 0xee, 0x85, 0x88, 0x7b, 0xeb, 0x9e, - 0x9a, 0x77, 0x52, 0x0c, 0x63, 0x43, 0x31, 0xcd, 0xa2, 0xe6, 0x50, 0x3f, - 0x64, 0xbb, 0x70, 0x8f, 0xc0, 0x8c, 0x2a, 0x75, 0x52, 0x88, 0x4e, 0x17, - 0xa0, 0x8b, 0x11, 0xfa, 0xfc, 0x97, 0xca, 0xf7, 0x4e, 0x7c, 0xed, 0x59, - 0x2f, 0x62, 0xfa, 0x67, 0xbd, 0x48, 0x97, 0x7c, 0x76, 0x55, 0xed, 0x9f, - 0x41, 0x94, 0xad, 0x4f, 0x78, 0xff, 0x0c, 0xff, 0x24, 0x8e, 0xb5, 0xc0, - 0xa6, 0x86, 0xea, 0xf4, 0x88, 0x51, 0x17, 0xd8, 0xbb, 0x66, 0x3e, 0x41, - 0xd8, 0xd3, 0x41, 0x11, 0x3b, 0x94, 0xb1, 0x08, 0xc4, 0xd8, 0x5f, 0x10, - 0x64, 0xac, 0xae, 0x49, 0x50, 0x4a, 0x43, 0x8c, 0xd1, 0x6f, 0xcc, 0x00, - 0x8d, 0xae, 0xbf, 0x9e, 0x41, 0x5f, 0x5a, 0x5f, 0x25, 0xf9, 0x25, 0x50, - 0x8a, 0x2e, 0x93, 0x34, 0xb1, 0x66, 0x8b, 0xb4, 0x14, 0xc9, 0xa4, 0x3f, - 0x98, 0xaa, 0x96, 0x94, 0x40, 0xdc, 0x94, 0x8c, 0xa6, 0x38, 0x06, 0x5d, - 0xb5, 0xb3, 0x1a, 0xf0, 0x4a, 0xc7, 0x54, 0x30, 0xf7, 0xb3, 0xc8, 0xaa, - 0xd2, 0xca, 0x4b, 0x74, 0x2b, 0x24, 0x8f, 0x2f, 0x2b, 0xeb, 0x23, 0x61, - 0xb8, 0x3a, 0x2a, 0x41, 0xd1, 0xb6, 0x8f, 0x46, 0x4d, 0xb0, 0x26, 0x35, - 0x73, 0xce, 0x58, 0xad, 0xb2, 0xc6, 0xae, 0x10, 0x3a, 0x47, 0x97, 0x60, - 0x13, 0x6c, 0xcc, 0xae, 0xaf, 0xb2, 0x7c, 0xbe, 0x5a, 0x51, 0xdb, 0x02, - 0x48, 0x55, 0x97, 0xd1, 0xec, 0xfa, 0x16, 0x19, 0x36, 0x60, 0xf3, 0x1a, - 0x6b, 0xac, 0x31, 0x99, 0x8a, 0x3a, 0x5f, 0x61, 0xa5, 0x1d, 0xe4, 0xf2, - 0x5a, 0xc3, 0x41, 0x6f, 0x7d, 0xad, 0x01, 0x88, 0x6b, 0xad, 0x52, 0xdc, - 0x5a, 0xab, 0x0c, 0x0b, 0xb0, 0x6d, 0xad, 0x25, 0x6b, 0xea, 0x7b, 0x65, - 0xad, 0x37, 0x50, 0x6b, 0x07, 0xd9, 0x5f, 0x6b, 0x75, 0x02, 0x5d, 0x5b, - 0x6b, 0x04, 0xe2, 0x5a, 0xab, 0x14, 0xa7, 0xd6, 0x2a, 0xc3, 0x06, 0x6c, - 0x59, 0x6b, 0xc1, 0x1a, 0x93, 0xa9, 0xaa, 0xf5, 0x16, 0x6a, 0xed, 0x20, - 0x57, 0xb4, 0x35, 0xcc, 0x36, 0x6a, 0x6b, 0x8d, 0x40, 0x5c, 0x6b, 0x95, - 0xe2, 0xd4, 0x5a, 0x65, 0xd8, 0x80, 0x2d, 0x6b, 0x2d, 0x58, 0x63, 0x32, - 0x55, 0xb5, 0xc6, 0xa1, 0xde, 0x41, 0xf6, 0xd6, 0x1a, 0x86, 0x5a, 0xe9, - 0x2f, 0xa8, 0xbc, 0xda, 0x6a, 0x6a, 0x0b, 0x80, 0xfa, 0x08, 0x6b, 0xcd, - 0x31, 0xcd, 0x5b, 0x01, 0x6a, 0xa2, 0xb9, 0xe3, 0x61, 0x73, 0x51, 0x33, - 0x66, 0x2e, 0x38, 0x5b, 0xab, 0x6a, 0xfd, 0x10, 0xc9, 0xb0, 0xe6, 0x54, - 0x4a, 0x26, 0x8e, 0x2d, 0xa8, 0x26, 0xfd, 0x57, 0xa7, 0x03, 0x64, 0x99, - 0x46, 0x79, 0x83, 0x1e, 0x67, 0xd0, 0x9e, 0x06, 0xa2, 0xaf, 0x2d, 0xc9, - 0x39, 0x91, 0xcc, 0xcf, 0x82, 0x5a, 0x73, 0xbe, 0x62, 0x9b, 0xa5, 0x23, - 0xab, 0x3a, 0x9b, 0x4d, 0xea, 0x02, 0xb6, 0x50, 0x65, 0x75, 0x67, 0xc4, - 0x2d, 0xcf, 0xaf, 0xca, 0x19, 0x56, 0xdd, 0x44, 0x36, 0xc6, 0x6a, 0x68, - 0xc2, 0x24, 0x8a, 0x35, 0x21, 0x9e, 0x2f, 0xd2, 0x2c, 0xa7, 0x96, 0x75, - 0xf6, 0x47, 0x18, 0x4a, 0xba, 0xe6, 0x23, 0x30, 0x3f, 0xb2, 0x67, 0xb1, - 0xdf, 0x4e, 0xed, 0xff, 0x8c, 0xea, 0x37, 0x53, 0xff, 0x80, 0x2e, 0x10, - 0xdc, 0x0d, 0xb4, 0x6a, 0x87, 0x77, 0x07, 0x43, 0x19, 0x37, 0x8b, 0x55, - 0xbd, 0x0e, 0x02, 0x90, 0xaa, 0x30, 0x22, 0x78, 0xf4, 0x0e, 0x52, 0x39, - 0xbf, 0x95, 0xba, 0x09, 0x46, 0xe0, 0xdf, 0x2a, 0x2d, 0x53, 0x83, 0x23, - 0xe3, 0x78, 0x7b, 0x18, 0xde, 0xee, 0xa9, 0xaf, 0x15, 0x42, 0x95, 0x2f, - 0x45, 0x18, 0x66, 0xf7, 0xe6, 0x31, 0x60, 0x55, 0xc1, 0xec, 0x88, 0x75, - 0x85, 0x06, 0x8d, 0x89, 0xf5, 0xa6, 0x92, 0xa0, 0xdc, 0x86, 0xc3, 0xe4, - 0x31, 0x43, 0xb4, 0x6a, 0x3a, 0x29, 0x6e, 0xfc, 0xa8, 0x6a, 0x3c, 0x5c, - 0x9a, 0x5b, 0x58, 0xde, 0xd6, 0x23, 0x3f, 0x78, 0xd5, 0xcd, 0x77, 0x41, - 0x30, 0x85, 0x80, 0xe9, 0x97, 0x25, 0x5b, 0xf0, 0x7e, 0xdc, 0xe9, 0x19, - 0x57, 0xd5, 0xfa, 0x43, 0x1d, 0xde, 0xea, 0x22, 0x94, 0xc4, 0xd9, 0x8d, - 0xa6, 0x7a, 0x4c, 0x00, 0xa8, 0xe1, 0x67, 0xd5, 0x18, 0x71, 0x82, 0x52, - 0x60, 0x8c, 0x12, 0x09, 0xac, 0x37, 0xb5, 0x02, 0x58, 0x6f, 0xb8, 0xfe, - 0xf0, 0xa3, 0x51, 0xf5, 0x01, 0xdc, 0xac, 0x3d, 0xa4, 0x68, 0x99, 0xcd, - 0xeb, 0x4e, 0xfc, 0xe2, 0x47, 0x45, 0xcd, 0x4f, 0xa1, 0xe6, 0x0c, 0xef, - 0xad, 0xf8, 0x7c, 0xbd, 0x0d, 0x99, 0xe1, 0x20, 0x18, 0xb7, 0x3e, 0xfd, - 0x72, 0x54, 0x9b, 0xea, 0xcc, 0x10, 0x8d, 0xc6, 0x7e, 0xfb, 0x86, 0x23, - 0xe1, 0x57, 0xa9, 0xf6, 0xdc, 0x54, 0xed, 0x39, 0x8f, 0xfc, 0x6d, 0xd4, - 0xb3, 0x45, 0x93, 0x1a, 0x52, 0x14, 0xc1, 0x70, 0xeb, 0xc5, 0x28, 0xe0, - 0xaa, 0x4c, 0x20, 0x43, 0xfd, 0x83, 0x8c, 0xa0, 0x60, 0xc8, 0x31, 0x83, - 0x22, 0xb9, 0xde, 0x10, 0x4a, 0x38, 0xa5, 0x2f, 0xb1, 0x7d, 0xa3, 0xf2, - 0x15, 0x0c, 0x14, 0x8c, 0x38, 0x0c, 0xdc, 0x4a, 0x75, 0x04, 0xb5, 0x89, - 0x59, 0xde, 0x2f, 0x91, 0x8c, 0x32, 0xcc, 0xbf, 0x65, 0x8c, 0x5e, 0x4e, - 0x10, 0x21, 0x77, 0xab, 0xd4, 0x6d, 0x0d, 0xea, 0x66, 0x97, 0xe4, 0xd3, - 0x04, 0x55, 0x58, 0x90, 0x2a, 0x20, 0x60, 0x80, 0x2e, 0x20, 0xd8, 0x3f, - 0x4b, 0x19, 0x90, 0x23, 0x47, 0x1b, 0x64, 0x7a, 0x90, 0x3a, 0x20, 0x60, - 0xa5, 0x3e, 0x0c, 0x47, 0x88, 0xc4, 0xd0, 0x2d, 0xf6, 0x7b, 0xfe, 0x39, - 0x0a, 0x41, 0xc4, 0x83, 0x34, 0x82, 0x20, 0x03, 0x54, 0x82, 0xe0, 0xfe, - 0x59, 0x3a, 0x41, 0x2c, 0x39, 0x4a, 0xa1, 0x32, 0x82, 0xb4, 0x82, 0x20, - 0xab, 0xd4, 0x02, 0x8c, 0x84, 0x09, 0xfc, 0x6f, 0xd6, 0x0a, 0xa0, 0x15, - 0x66, 0x26, 0x00, 0x30, 0xc4, 0x4c, 0x00, 0xd8, 0x3f, 0xcc, 0x4c, 0x20, - 0x47, 0xae, 0x46, 0x50, 0x7a, 0x98, 0x99, 0x00, 0xc0, 0x4a, 0x33, 0xf1, - 0xa4, 0xab, 0x83, 0xfe, 0x3b, 0x6d, 0x04, 0xf9, 0xee, 0x26, 0xd7, 0xdd, - 0xee, 0xc9, 0x83, 0xe6, 0xd7, 0xbb, 0xdd, 0x01, 0x84, 0x79, 0x23, 0x6a, - 0x22, 0xd0, 0x85, 0xb4, 0xb3, 0x13, 0xfa, 0xa1, 0x4e, 0xfa, 0x3e, 0xc1, - 0xb3, 0xef, 0x53, 0xc1, 0x82, 0x7f, 0xd5, 0x3a, 0xff, 0xb1, 0x7a, 0xdf, - 0x53, 0x40, 0xe0, 0x45, 0x5d, 0xd6, 0x56, 0x91, 0x36, 0xa0, 0x73, 0x78, - 0x72, 0xc5, 0xc1, 0x57, 0x7a, 0x34, 0x77, 0xe6, 0xe2, 0x7a, 0xd3, 0x7c, - 0x91, 0xce, 0x19, 0x15, 0x8f, 0x1b, 0xd3, 0xe9, 0xb5, 0x76, 0x46, 0x09, - 0xe7, 0x67, 0x74, 0x6f, 0x90, 0xd2, 0xc5, 0xc9, 0x9a, 0x64, 0x2a, 0x5f, - 0xcb, 0xfb, 0x82, 0x8a, 0x38, 0x17, 0xde, 0x68, 0x2b, 0xd5, 0xcb, 0x1b, - 0xf0, 0x6c, 0xd6, 0x02, 0x6e, 0x1d, 0x14, 0xcc, 0x46, 0x85, 0x27, 0x76, - 0xc9, 0xb5, 0x9f, 0xf3, 0x92, 0x0d, 0xc6, 0xdc, 0x79, 0xf5, 0x51, 0x6d, - 0x0f, 0xf2, 0xbe, 0x83, 0xa0, 0xc4, 0xe5, 0xa5, 0xc6, 0x72, 0x2f, 0x7d, - 0x66, 0x52, 0x8a, 0xdd, 0x66, 0x0b, 0xcb, 0x53, 0x9d, 0x4a, 0xbe, 0xac, - 0xdb, 0x5e, 0x55, 0xa0, 0xe1, 0xaf, 0x3f, 0x7c, 0x54, 0x66, 0x17, 0xa4, - 0x2e, 0x9d, 0x6e, 0xf3, 0x7b, 0xe4, 0x6e, 0xb7, 0x4e, 0x86, 0x20, 0xf4, - 0x68, 0x57, 0x7f, 0xf6, 0x05, 0x9f, 0x1d, 0xd7, 0xbb, 0xd3, 0x29, 0xaf, - 0xe7, 0xfe, 0x43, 0xd6, 0x53, 0xab, 0x97, 0x77, 0x15, 0xba, 0xbc, 0x9a, - 0x2e, 0x56, 0xb5, 0x37, 0x23, 0xfa, 0x08, 0xa5, 0x74, 0x5e, 0x61, 0xb9, - 0x76, 0x53, 0x8b, 0xd8, 0xa0, 0x83, 0x36, 0xda, 0x27, 0xf3, 0x11, 0x83, - 0x32, 0xb4, 0x32, 0x9d, 0xb3, 0xef, 0xcb, 0xe4, 0x86, 0xc0, 0xaa, 0x58, - 0x61, 0xe8, 0xdb, 0xc5, 0x4f, 0x68, 0x5c, 0x62, 0xba, 0x23, 0xfd, 0x09, - 0x8c, 0xc5, 0x0a, 0x5d, 0x5e, 0x6d, 0x8b, 0x87, 0xbd, 0x51, 0xb7, 0x37, - 0x7c, 0xd2, 0x7d, 0x75, 0xf4, 0xe6, 0x9b, 0xdd, 0xd7, 0xca, 0xe1, 0x0e, - 0x14, 0xdc, 0xe1, 0x1b, 0xaf, 0x57, 0xc1, 0x1d, 0x2a, 0xb8, 0xe1, 0xf0, - 0x71, 0xb7, 0xbb, 0x37, 0x84, 0x9b, 0x5b, 0x21, 0x4e, 0x7e, 0xf3, 0xf5, - 0x7a, 0x39, 0x9b, 0x36, 0xe8, 0x3c, 0x54, 0x68, 0x08, 0xe5, 0xf3, 0xf5, - 0x3a, 0x4f, 0x76, 0x41, 0xd8, 0x66, 0x59, 0xb5, 0x4a, 0x0c, 0x32, 0x27, - 0x7f, 0xaa, 0xa3, 0x43, 0xb4, 0xe2, 0x8f, 0x5e, 0x1c, 0x0e, 0x87, 0x8f, - 0xa2, 0xa7, 0xf0, 0xe5, 0x83, 0x0f, 0x3e, 0x78, 0x14, 0x42, 0x99, 0x58, - 0xde, 0x1d, 0x61, 0x7a, 0x9a, 0xd2, 0x8e, 0xba, 0xdd, 0x9f, 0x30, 0x96, - 0x49, 0x7d, 0x7f, 0x42, 0x28, 0xd5, 0x9f, 0x14, 0x56, 0x59, 0x7f, 0xc2, - 0x3c, 0x1d, 0xb2, 0xd1, 0x06, 0x8f, 0x4b, 0x0b, 0xb8, 0x33, 0x4b, 0x0c, - 0x11, 0x13, 0x5d, 0xa5, 0xb5, 0x05, 0xe4, 0x23, 0x5e, 0x22, 0x15, 0xd4, - 0xb1, 0x7a, 0xa9, 0x20, 0x94, 0x92, 0x8a, 0xc2, 0x2a, 0x93, 0x0a, 0xe6, - 0x99, 0x90, 0xed, 0xa5, 0x22, 0xb8, 0x53, 0x74, 0xc2, 0xa5, 0x22, 0xaf, - 0xcc, 0x37, 0xe9, 0x4b, 0x08, 0x10, 0x42, 0x5a, 0xdd, 0xad, 0x79, 0x78, - 0xca, 0xc5, 0x61, 0xdb, 0xae, 0x48, 0xe3, 0x76, 0xf7, 0xae, 0x68, 0x8b, - 0xd5, 0xc2, 0x0e, 0xa9, 0xc3, 0xe2, 0x63, 0x67, 0x32, 0x57, 0x6b, 0x99, - 0x1d, 0xd2, 0x87, 0xa5, 0x51, 0x7b, 0xf6, 0xe5, 0xfd, 0xc4, 0x3c, 0xb9, - 0xc9, 0xf7, 0xe8, 0xd9, 0x9e, 0xe8, 0xe7, 0x67, 0xc9, 0x46, 0xdc, 0x2e, - 0x8f, 0x20, 0x89, 0x69, 0x46, 0xe8, 0x83, 0x1a, 0x9d, 0x17, 0x86, 0x0e, - 0xc6, 0x88, 0xfa, 0xcf, 0x1e, 0x8b, 0x95, 0xb3, 0xf0, 0x2c, 0xe4, 0xc2, - 0x2b, 0xbf, 0x69, 0xe4, 0x55, 0xbc, 0xff, 0xb2, 0xab, 0xa0, 0xe9, 0x5e, - 0x78, 0xe5, 0x3f, 0x01, 0x01, 0xf7, 0x5c, 0xeb, 0x46, 0xa0, 0xd1, 0x68, - 0xe4, 0x1d, 0xdf, 0xee, 0x83, 0x95, 0xe4, 0x38, 0xb9, 0x00, 0x17, 0xe8, - 0xed, 0xc6, 0x3a, 0xf8, 0x0b, 0xb8, 0x29, 0xb7, 0x1b, 0xf2, 0xc2, 0xa1, - 0xde, 0x0e, 0x08, 0xd3, 0x05, 0xd9, 0xdd, 0x90, 0xc6, 0xab, 0xb3, 0xbb, - 0xa1, 0x8c, 0x97, 0x6a, 0x77, 0x44, 0x5a, 0xb8, 0x33, 0xdb, 0x0d, 0xed, - 0x6c, 0x93, 0xec, 0xaa, 0x19, 0x95, 0xb1, 0x69, 0x47, 0xda, 0x99, 0xaf, - 0xe4, 0x01, 0x8b, 0x22, 0x00, 0x32, 0x66, 0x2b, 0x79, 0xe9, 0x92, 0x08, - 0xb2, 0x74, 0xb8, 0x3f, 0xb1, 0x1e, 0x22, 0xc6, 0x24, 0x95, 0xf0, 0x89, - 0x8a, 0x22, 0xd2, 0x87, 0xfd, 0x9a, 0x26, 0xe3, 0x43, 0xbe, 0x0a, 0xa1, - 0x2e, 0xf6, 0x69, 0xea, 0x17, 0xbd, 0x2e, 0xf5, 0x46, 0x3b, 0x11, 0x0f, - 0xbc, 0x04, 0xaf, 0xe4, 0x46, 0xd8, 0xca, 0xe7, 0xd3, 0x79, 0xbe, 0x80, - 0x9d, 0x40, 0xf1, 0x18, 0x3f, 0xee, 0x96, 0x2b, 0x4b, 0x16, 0xa4, 0x2d, - 0x40, 0xd5, 0x52, 0x98, 0xac, 0x42, 0x63, 0x00, 0xda, 0x80, 0x6d, 0xb2, - 0x33, 0xe4, 0xa5, 0x06, 0xa5, 0x18, 0xa5, 0x36, 0xae, 0xaf, 0x9c, 0x20, - 0x50, 0xb4, 0xb8, 0xf3, 0xe9, 0x3c, 0x91, 0x41, 0x25, 0x9a, 0x78, 0x79, - 0x95, 0xeb, 0xf8, 0x72, 0xe7, 0x82, 0xbc, 0xc8, 0xa9, 0x06, 0xc1, 0x06, - 0xad, 0x03, 0xc9, 0x57, 0xf5, 0x10, 0x99, 0x17, 0x84, 0xde, 0xd9, 0x85, - 0x75, 0x29, 0x11, 0xca, 0xd6, 0xd3, 0x36, 0xe4, 0x76, 0x40, 0x35, 0xcd, - 0xc3, 0x4e, 0x32, 0xd4, 0x6b, 0xec, 0x49, 0x3d, 0x7f, 0x0e, 0xde, 0x34, - 0x95, 0xda, 0xcf, 0x4f, 0x59, 0xe8, 0xb5, 0x14, 0x1c, 0x4a, 0x44, 0x1d, - 0xfb, 0x59, 0x34, 0x00, 0x17, 0xcf, 0xb3, 0x94, 0x17, 0x84, 0xae, 0xfb, - 0x52, 0x8a, 0xfe, 0x4c, 0x9a, 0xd1, 0x6b, 0x13, 0xf6, 0x47, 0xe0, 0x3c, - 0x02, 0xc5, 0x8c, 0x44, 0x38, 0x62, 0x86, 0x67, 0x62, 0x49, 0x46, 0x0f, - 0x61, 0x54, 0x70, 0xc1, 0x48, 0xe8, 0x5f, 0xa6, 0x21, 0x99, 0x8f, 0x5b, - 0xaf, 0xa6, 0x1b, 0xe7, 0x61, 0x2b, 0xff, 0xd9, 0xef, 0xbb, 0x1c, 0x3e, - 0x6b, 0x0c, 0x9a, 0x7a, 0xdc, 0xa5, 0xbb, 0x9a, 0x09, 0xab, 0x97, 0x35, - 0x13, 0x33, 0xfa, 0xce, 0x9f, 0x9b, 0x1f, 0xea, 0x73, 0xc4, 0x72, 0xb6, - 0x24, 0x57, 0x4d, 0x3d, 0x16, 0x99, 0xed, 0x46, 0xba, 0xe1, 0x7f, 0xe6, - 0x24, 0xab, 0x2d, 0x9f, 0x38, 0x75, 0xba, 0x4e, 0xb3, 0xd2, 0x83, 0x46, - 0xbb, 0x59, 0xa7, 0xcb, 0xe5, 0x5f, 0xd5, 0xa2, 0x28, 0x57, 0x21, 0x9d, - 0x68, 0xd2, 0xa4, 0x79, 0xc7, 0x7e, 0x72, 0x04, 0x60, 0xca, 0x86, 0x92, - 0xda, 0x89, 0xe7, 0xef, 0xd4, 0x8e, 0x89, 0x2f, 0xdf, 0x5f, 0x8b, 0xea, - 0x4a, 0xdc, 0xbb, 0x1b, 0xca, 0xb5, 0x7e, 0x37, 0x8c, 0xd9, 0x47, 0x13, - 0x53, 0xe9, 0x3b, 0x90, 0xab, 0xb2, 0x79, 0x7c, 0xa6, 0x07, 0xa5, 0x58, - 0x43, 0x9c, 0xf5, 0x1a, 0xf7, 0x81, 0x57, 0x7d, 0x61, 0xaa, 0x1c, 0xa2, - 0xc6, 0x0d, 0xb4, 0x36, 0xcc, 0x28, 0xe9, 0x2d, 0xf6, 0x80, 0x0b, 0xd5, - 0x26, 0x6c, 0x68, 0x2c, 0xf0, 0xb7, 0x80, 0x89, 0x25, 0x8f, 0x61, 0xd5, - 0x65, 0xdc, 0x3b, 0x8f, 0x68, 0xcd, 0x97, 0xd5, 0x57, 0x19, 0xe8, 0xf2, - 0xf5, 0xe5, 0x6d, 0x2f, 0xc2, 0x70, 0xda, 0x50, 0xa7, 0xda, 0xb7, 0xad, - 0xb2, 0x7c, 0x49, 0xa0, 0x68, 0xea, 0x1b, 0xe3, 0xc0, 0x1d, 0xc8, 0xaa, - 0xf4, 0xd2, 0x59, 0x66, 0x0c, 0xc5, 0xe2, 0x78, 0xa9, 0x5e, 0x6e, 0xd3, - 0x29, 0xe6, 0x8b, 0xd3, 0xb3, 0xd1, 0xeb, 0xa3, 0xd7, 0xe9, 0x18, 0xf3, - 0xc5, 0xc7, 0xf3, 0xe9, 0xf9, 0xe1, 0x7e, 0x87, 0xa7, 0x58, 0xef, 0xae, - 0x16, 0x57, 0x53, 0xaa, 0xc4, 0x22, 0x23, 0x86, 0xcf, 0x84, 0x6f, 0x16, - 0x12, 0x01, 0xbd, 0xa4, 0x8a, 0xf1, 0x81, 0xbb, 0x78, 0x03, 0x1e, 0x41, - 0x29, 0x43, 0xfc, 0xd2, 0xf5, 0x3d, 0x57, 0xed, 0xa0, 0x18, 0xe0, 0x34, - 0x9c, 0xc8, 0x88, 0x12, 0xfc, 0x01, 0x14, 0xee, 0x02, 0xde, 0xb9, 0x1a, - 0xc4, 0x84, 0x6d, 0x88, 0xee, 0xa5, 0x48, 0xd9, 0x1d, 0x74, 0xf4, 0x6d, - 0x32, 0x3b, 0x5e, 0xc3, 0x8c, 0x3d, 0xa7, 0x3b, 0x0b, 0xe4, 0x02, 0x7a, - 0x99, 0x50, 0xd0, 0x70, 0x79, 0x00, 0x0e, 0xe4, 0xef, 0xec, 0xa0, 0xc7, - 0x92, 0xa3, 0xa7, 0xd1, 0x10, 0x6b, 0x26, 0x72, 0xe1, 0x16, 0xe0, 0x57, - 0x49, 0x9e, 0x2e, 0x30, 0x4e, 0xf2, 0x48, 0xa6, 0xa5, 0x09, 0xe3, 0xbc, - 0x9f, 0x2c, 0xa7, 0xb7, 0x1f, 0xa5, 0xeb, 0xeb, 0x0f, 0xa7, 0x18, 0xc6, - 0x97, 0x81, 0x28, 0xfe, 0x3c, 0x87, 0xa4, 0x36, 0x23, 0xa9, 0x4a, 0xfc, - 0x77, 0x97, 0x4b, 0xd3, 0x15, 0x80, 0xf9, 0x14, 0x94, 0x62, 0xc9, 0x47, - 0x9b, 0x75, 0x0e, 0xba, 0xb0, 0x80, 0x01, 0xec, 0x36, 0xc2, 0x69, 0x9e, - 0xc6, 0x70, 0xa6, 0xbd, 0xc6, 0xf6, 0xc6, 0x5f, 0x66, 0x17, 0x1c, 0x31, - 0x26, 0x3a, 0x0e, 0xbd, 0x21, 0x0d, 0x64, 0x0c, 0xa5, 0xc4, 0x54, 0xe5, - 0xa8, 0xf3, 0xd9, 0x74, 0xb5, 0xa5, 0x92, 0x28, 0xf5, 0xec, 0xe9, 0xd3, - 0x0a, 0x66, 0xc9, 0x9b, 0xc0, 0xdd, 0x8f, 0x49, 0xb2, 0x39, 0x22, 0x60, - 0x51, 0xd9, 0x7b, 0x6d, 0xc2, 0x5e, 0xcb, 0x1e, 0xb4, 0xc2, 0xc9, 0xa9, - 0x0e, 0x56, 0x1e, 0x49, 0x1a, 0xed, 0x83, 0xb1, 0xe2, 0xa9, 0x5c, 0x1b, - 0x33, 0x8d, 0x3e, 0x40, 0x52, 0xd7, 0x31, 0xa7, 0x9e, 0x90, 0x5a, 0x36, - 0xf5, 0x6c, 0x3c, 0xed, 0x04, 0x5a, 0x35, 0xa6, 0xc1, 0x7c, 0xfb, 0x2b, - 0x6b, 0x55, 0xda, 0xf4, 0xd5, 0x0a, 0x02, 0x34, 0x59, 0x43, 0x08, 0x8c, - 0x1c, 0xa9, 0xc3, 0x1a, 0x4b, 0x1e, 0xc5, 0x6f, 0x53, 0xe8, 0xac, 0x34, - 0x00, 0x09, 0x38, 0x50, 0x7c, 0xf1, 0xb3, 0xe4, 0x76, 0x89, 0xaa, 0xfd, - 0x58, 0xd5, 0x5e, 0x40, 0xb3, 0xea, 0xe0, 0x43, 0x40, 0x5b, 0x75, 0x30, - 0x4d, 0x3e, 0xa6, 0x1c, 0x40, 0xf7, 0xb8, 0x72, 0x7c, 0x19, 0xb1, 0x5f, - 0x5a, 0xd7, 0x25, 0x07, 0x70, 0x44, 0x42, 0x90, 0x8b, 0xb4, 0xaf, 0x54, - 0x7f, 0x02, 0xce, 0x8a, 0x8e, 0x1b, 0xfb, 0xe3, 0xfa, 0x83, 0x8e, 0x4e, - 0xd3, 0xb3, 0xed, 0x62, 0xb5, 0x86, 0xaf, 0xdc, 0x9d, 0xa1, 0xf4, 0x72, - 0xa7, 0x1f, 0x47, 0x05, 0x75, 0x14, 0x14, 0xab, 0x06, 0xd5, 0x13, 0xc8, - 0x20, 0x7d, 0x9d, 0x40, 0xb5, 0xd2, 0x4a, 0xcf, 0xd1, 0x98, 0x20, 0x90, - 0x9c, 0x92, 0xd1, 0x1f, 0x1e, 0xf5, 0xd4, 0x89, 0xed, 0x43, 0xbf, 0x9a, - 0xc1, 0xe4, 0x2c, 0x9c, 0xbf, 0x80, 0x1e, 0xf3, 0xda, 0x6b, 0x16, 0xce, - 0x9f, 0xeb, 0x3b, 0x16, 0xf7, 0xba, 0xa5, 0x76, 0x7e, 0x77, 0x3a, 0x7e, - 0x24, 0xd3, 0x15, 0xdb, 0x6b, 0xd0, 0xb8, 0x75, 0x95, 0xb0, 0xe7, 0x11, - 0x63, 0xaf, 0xb4, 0xc9, 0x5a, 0x05, 0x8b, 0xfb, 0x7d, 0xe8, 0x5f, 0x3b, - 0x91, 0x78, 0xbf, 0xbf, 0x53, 0x89, 0xff, 0x59, 0xe1, 0xa9, 0xae, 0x59, - 0x67, 0x69, 0xdf, 0x9a, 0x44, 0x6c, 0xe0, 0x3c, 0x8c, 0x84, 0xba, 0x3c, - 0xbd, 0x0f, 0x6a, 0x3b, 0x9a, 0x92, 0x04, 0xb7, 0xdd, 0x07, 0x04, 0xbd, - 0x5e, 0x05, 0x36, 0xda, 0x7d, 0x80, 0x77, 0x1a, 0xb0, 0x22, 0xc5, 0x88, - 0xae, 0x8f, 0xbf, 0x24, 0x26, 0x96, 0xcb, 0x80, 0x81, 0x54, 0x29, 0x80, - 0x59, 0x24, 0x85, 0x8f, 0x4d, 0x4c, 0xb2, 0x7f, 0x3e, 0x5d, 0x2c, 0x13, - 0xe9, 0xa3, 0xa4, 0x5a, 0xb6, 0xc0, 0xb0, 0xc9, 0xb2, 0xc3, 0xb0, 0xc9, - 0x6e, 0xb5, 0x6d, 0x05, 0xfc, 0x6d, 0xba, 0x2c, 0xb1, 0xa5, 0xb5, 0x4b, - 0xa9, 0x72, 0xe7, 0x8a, 0x4f, 0x5e, 0xdf, 0x8d, 0x73, 0xc5, 0x27, 0xaf, - 0x3f, 0x9c, 0x73, 0x45, 0xcb, 0xb3, 0x11, 0x39, 0x5a, 0x04, 0xc9, 0x64, - 0x20, 0x19, 0x7d, 0x68, 0xfd, 0xf6, 0x32, 0x59, 0x89, 0x41, 0x95, 0x45, - 0xba, 0xc8, 0x68, 0x06, 0xd6, 0xa3, 0xa8, 0x25, 0xe4, 0xdb, 0x81, 0xa4, - 0x2e, 0x87, 0x5f, 0x48, 0x4d, 0x7f, 0x4e, 0x52, 0x5f, 0x6b, 0xf0, 0x88, - 0xe0, 0x86, 0x07, 0x71, 0x75, 0xbc, 0x68, 0x27, 0x2a, 0xcd, 0x5d, 0xe2, - 0x2d, 0x8a, 0xd6, 0x4f, 0xce, 0x5c, 0x07, 0x67, 0x04, 0x92, 0x26, 0xe7, - 0x69, 0x92, 0x5d, 0x3e, 0xa7, 0x5d, 0x52, 0x58, 0x84, 0x8a, 0xa1, 0xff, - 0x13, 0xf9, 0x2b, 0xa6, 0xbe, 0xc6, 0xd7, 0xbd, 0x5e, 0xea, 0x74, 0x7b, - 0x34, 0xe9, 0xdd, 0xc7, 0xb2, 0x1a, 0x18, 0x2e, 0x9e, 0xa9, 0x48, 0x2d, - 0x6e, 0x60, 0x25, 0xc2, 0x7a, 0x89, 0xa4, 0xdb, 0x6a, 0xe0, 0x09, 0x50, - 0x41, 0x5b, 0x81, 0x41, 0x08, 0x2f, 0x37, 0x24, 0x11, 0xae, 0xc5, 0x40, - 0x5c, 0xa8, 0x71, 0x48, 0x01, 0x6d, 0x55, 0xf9, 0x2b, 0x0c, 0xa1, 0x62, - 0x9c, 0xa7, 0x97, 0x05, 0xab, 0xe3, 0xe6, 0x97, 0x8b, 0xa8, 0x11, 0x2a, - 0x40, 0x33, 0xd4, 0x23, 0x89, 0x7a, 0xd0, 0x1c, 0xf5, 0x57, 0x89, 0xfa, - 0x58, 0x43, 0xbd, 0xdf, 0x69, 0x0f, 0xa4, 0x59, 0x42, 0xd3, 0x2e, 0x28, - 0x16, 0x42, 0xb5, 0x9d, 0xd0, 0xf6, 0xd0, 0x46, 0x91, 0x04, 0x8b, 0xfe, - 0xe6, 0xed, 0x93, 0xde, 0x4a, 0x7f, 0xba, 0xbe, 0x88, 0x68, 0x44, 0xcc, - 0xca, 0x6a, 0x41, 0xb9, 0x7a, 0x2d, 0x28, 0xc1, 0x5b, 0x15, 0xca, 0xd1, - 0x2b, 0xa3, 0x1c, 0xb7, 0xd1, 0x67, 0xd3, 0x2a, 0xe1, 0xd4, 0xc1, 0x1d, - 0x13, 0xf3, 0xf4, 0xf6, 0x88, 0x9e, 0x11, 0xbe, 0x3d, 0xd1, 0xc6, 0x90, - 0x01, 0xaf, 0x9b, 0x89, 0xb3, 0x86, 0x13, 0x22, 0xd7, 0xae, 0xf0, 0x5f, - 0xfd, 0x64, 0xb3, 0x95, 0x65, 0x09, 0xb2, 0x2e, 0xca, 0x8a, 0x35, 0xae, - 0x90, 0x35, 0xe6, 0xb7, 0x29, 0xbb, 0xd3, 0xc6, 0x6d, 0x9f, 0x2c, 0x97, - 0x66, 0x4d, 0xc3, 0xe8, 0x35, 0x7f, 0x0b, 0x41, 0x7a, 0x08, 0xfe, 0x48, - 0xf3, 0xfc, 0x37, 0x74, 0x5d, 0xff, 0xf9, 0x75, 0x59, 0x5e, 0xc7, 0x10, - 0x2e, 0x5c, 0x03, 0xfa, 0x68, 0xe1, 0x0d, 0x29, 0x28, 0x18, 0x0c, 0x6b, - 0x36, 0x92, 0x97, 0xa4, 0xc9, 0xff, 0x64, 0x32, 0x40, 0xda, 0x3a, 0x87, - 0xa0, 0xa8, 0x61, 0xc1, 0x5e, 0x0a, 0xcc, 0xbd, 0xbd, 0xa0, 0x4d, 0xd1, - 0x47, 0x64, 0xaa, 0x1f, 0xa9, 0x43, 0x5e, 0x19, 0x11, 0x0f, 0x9b, 0x6c, - 0x05, 0xbd, 0xd5, 0x3d, 0x76, 0x32, 0xab, 0x00, 0xe5, 0x03, 0xbb, 0xf0, - 0xef, 0x9f, 0x88, 0x31, 0x03, 0x0c, 0x24, 0x8e, 0x87, 0x62, 0xde, 0x0e, - 0x8e, 0x26, 0x0a, 0x2a, 0x20, 0xa8, 0x0c, 0xc7, 0x83, 0x0d, 0x8e, 0x19, - 0xe2, 0x04, 0xba, 0xb5, 0x08, 0x59, 0x85, 0xb2, 0x24, 0xc8, 0x0b, 0x5a, - 0x74, 0xc4, 0xe1, 0x3a, 0xd1, 0x55, 0x9a, 0x07, 0xd8, 0x8a, 0xc6, 0x1b, - 0x52, 0x00, 0xe8, 0xa3, 0xa7, 0xbc, 0x63, 0xe9, 0x60, 0xe4, 0x98, 0x62, - 0xad, 0x89, 0x97, 0xc2, 0x19, 0xb9, 0xe6, 0xaa, 0x95, 0x4b, 0x26, 0x51, - 0x5d, 0xa1, 0x18, 0x4e, 0x1f, 0x26, 0x3a, 0xf0, 0x38, 0x0a, 0xba, 0x00, - 0xe9, 0x75, 0x1e, 0x11, 0x10, 0x0e, 0x85, 0xd8, 0x77, 0x19, 0x8a, 0x14, - 0x4b, 0x94, 0x3f, 0x61, 0xd0, 0x71, 0xc8, 0x1b, 0x7f, 0xf7, 0x9d, 0x7e, - 0x20, 0x2f, 0xeb, 0x8d, 0xcb, 0x0a, 0xf3, 0x42, 0xf9, 0x93, 0x02, 0x74, - 0x1c, 0xf0, 0xda, 0xde, 0x7d, 0x33, 0x1f, 0xc2, 0xc8, 0x75, 0x36, 0x7a, - 0x63, 0x38, 0x3a, 0xbf, 0x79, 0x5e, 0xde, 0x29, 0x2c, 0x98, 0x89, 0x89, - 0x17, 0xd6, 0x4d, 0xe8, 0x12, 0x51, 0x70, 0x0f, 0x31, 0x42, 0x12, 0x33, - 0x7e, 0x4d, 0xc7, 0xa8, 0xec, 0x13, 0x76, 0x94, 0x64, 0xa6, 0x1a, 0xd6, - 0x1b, 0xac, 0xfa, 0xd0, 0x25, 0x8a, 0xe0, 0xfa, 0x98, 0xa1, 0x4a, 0x98, - 0x00, 0x84, 0x80, 0x1b, 0xd7, 0x62, 0xa4, 0x06, 0xc6, 0x30, 0x00, 0xe3, - 0xc2, 0xc0, 0x18, 0x05, 0x60, 0xcc, 0x0c, 0x8c, 0x83, 0x00, 0x0c, 0xb8, - 0xa4, 0x29, 0x9c, 0x6a, 0x3c, 0x5b, 0x7f, 0x9c, 0xdc, 0xc4, 0x27, 0x7a, - 0x9d, 0x7a, 0x06, 0xbf, 0x3d, 0x83, 0x97, 0x9e, 0x51, 0xce, 0x69, 0xb7, - 0xbe, 0xa4, 0xeb, 0x91, 0xc1, 0xdc, 0xe3, 0x00, 0xe6, 0x52, 0x13, 0xe5, - 0x30, 0x00, 0xe5, 0xc2, 0x44, 0x79, 0x12, 0x80, 0x32, 0x33, 0x51, 0x5e, - 0x0f, 0x40, 0x01, 0xa9, 0x8d, 0x4a, 0xc4, 0xf6, 0xd8, 0x10, 0xcd, 0xa1, - 0xf1, 0xeb, 0x09, 0xfe, 0xe2, 0x82, 0xc2, 0xc4, 0x76, 0x60, 0x70, 0xf7, - 0x46, 0x00, 0x77, 0xa9, 0x89, 0xf2, 0x66, 0x00, 0xca, 0x85, 0x89, 0x32, - 0x0c, 0x51, 0xe8, 0x99, 0x85, 0x13, 0xa2, 0xd2, 0x20, 0xb8, 0x83, 0x12, - 0xc1, 0xbd, 0x61, 0x08, 0xe7, 0x4d, 0x53, 0xfb, 0x2c, 0x65, 0x1c, 0x82, - 0xe8, 0x1e, 0x62, 0x78, 0x2d, 0x09, 0xed, 0x3f, 0x2c, 0xb7, 0x68, 0xa5, - 0x4e, 0x61, 0x07, 0x69, 0x09, 0x43, 0x51, 0xb9, 0x23, 0x58, 0x90, 0x7b, - 0x05, 0x92, 0xdf, 0xf9, 0x2b, 0xc8, 0xbd, 0x0c, 0xa7, 0xc2, 0xe1, 0xeb, - 0xe0, 0x5a, 0x22, 0x05, 0x98, 0xc8, 0x0a, 0xc1, 0x8c, 0x5a, 0x09, 0x66, - 0xd4, 0x4a, 0x32, 0xa3, 0x36, 0xa2, 0x19, 0xb5, 0x92, 0xcd, 0xa8, 0x91, - 0x70, 0x4a, 0x64, 0x73, 0xd0, 0x4a, 0x36, 0x07, 0xad, 0x64, 0x73, 0xd0, - 0x46, 0x36, 0x07, 0xad, 0x64, 0x73, 0x10, 0x2e, 0x1b, 0xff, 0xe4, 0x53, - 0x04, 0xc6, 0x6c, 0x34, 0xe9, 0xac, 0x08, 0x1e, 0x79, 0xe7, 0xb8, 0x36, - 0xb5, 0xe3, 0x47, 0x86, 0xf8, 0x5f, 0x2d, 0x73, 0xb8, 0x1a, 0x32, 0xd3, - 0xaa, 0x08, 0x3f, 0x79, 0x57, 0x1f, 0x80, 0x32, 0xc8, 0x5f, 0x6a, 0x99, - 0x7f, 0xd4, 0xa0, 0x29, 0xa9, 0x72, 0xe7, 0x59, 0xcb, 0x9f, 0x27, 0x86, - 0x65, 0x2d, 0x7f, 0x00, 0xe3, 0xe5, 0x8f, 0xb2, 0xc2, 0xa6, 0xcc, 0x15, - 0x41, 0x30, 0xef, 0xea, 0xc3, 0x60, 0x06, 0xf9, 0x20, 0x2d, 0xf5, 0x39, - 0x1a, 0xcc, 0x9f, 0x3f, 0x8e, 0xe6, 0x5d, 0x7d, 0x24, 0xcd, 0x28, 0xc4, - 0x5b, 0x68, 0xa9, 0x77, 0xd0, 0x10, 0xfe, 0x2a, 0x42, 0x71, 0xde, 0x55, - 0x04, 0xe3, 0x0c, 0x59, 0x94, 0xcd, 0x57, 0x56, 0xe3, 0x32, 0xad, 0x40, - 0xce, 0x80, 0x42, 0x2d, 0x67, 0x66, 0x3c, 0xcf, 0x80, 0xe5, 0xe2, 0x7c, - 0xbd, 0x2d, 0x61, 0x6c, 0x1e, 0xb6, 0x62, 0xfc, 0xcb, 0xe2, 0x81, 0x86, - 0xbd, 0xce, 0xb3, 0xea, 0xf1, 0x17, 0xc4, 0x18, 0x8d, 0xa2, 0xf0, 0x18, - 0x93, 0x61, 0x15, 0xba, 0x6e, 0x10, 0x70, 0x92, 0xfe, 0xcc, 0x6b, 0xb0, - 0xbb, 0x29, 0x54, 0xdb, 0xa7, 0x0c, 0x1b, 0xe8, 0xf6, 0x0b, 0xd0, 0xfa, - 0xd5, 0x5e, 0x30, 0xec, 0xa8, 0x09, 0xf0, 0x41, 0x15, 0x30, 0x68, 0x76, - 0xd0, 0x28, 0x1b, 0x1e, 0x2f, 0xf6, 0xae, 0x22, 0x62, 0x6c, 0x6d, 0x3f, - 0x04, 0x18, 0xaf, 0xf6, 0x42, 0x7a, 0x60, 0x2f, 0x24, 0x77, 0x30, 0xe1, - 0xbd, 0xb0, 0x71, 0x18, 0xda, 0x80, 0x3e, 0xa8, 0x5e, 0xb1, 0x06, 0xba, - 0x66, 0x6b, 0x4e, 0x5d, 0xbc, 0x62, 0x0d, 0xf4, 0xf4, 0xd5, 0x9c, 0xbc, - 0x7c, 0xc5, 0x1a, 0xe4, 0x32, 0xaa, 0x39, 0x75, 0xf1, 0x86, 0xb5, 0xda, - 0xff, 0xd0, 0x38, 0x6a, 0xa3, 0x94, 0xd5, 0x21, 0x81, 0xef, 0x9a, 0x04, - 0x05, 0x6e, 0xec, 0x2f, 0x46, 0xd5, 0xa7, 0xb4, 0x90, 0x71, 0xc9, 0xdc, - 0x15, 0x63, 0x5e, 0x35, 0xda, 0x2f, 0x85, 0x5d, 0x93, 0x60, 0xed, 0x06, - 0x78, 0xbe, 0x6d, 0x86, 0x81, 0x6a, 0x9c, 0x8b, 0x20, 0x6e, 0x49, 0x2a, - 0x5e, 0x3f, 0x05, 0x84, 0x2a, 0x7e, 0xc8, 0x5b, 0xc3, 0xd1, 0xdb, 0xd1, - 0xbe, 0xbf, 0x34, 0xff, 0xc5, 0x7f, 0xba, 0xd0, 0x75, 0x17, 0x51, 0x14, - 0xb3, 0xa7, 0x4c, 0xad, 0x17, 0x2d, 0xce, 0xc4, 0x4f, 0x82, 0xe3, 0x1b, - 0x8d, 0x81, 0xcb, 0x00, 0x4a, 0x0e, 0xb8, 0x80, 0x6f, 0x2f, 0xd6, 0x23, - 0xcf, 0x3a, 0xdd, 0x8d, 0x27, 0xe2, 0x02, 0xf8, 0x63, 0x94, 0x94, 0x95, - 0x44, 0x4f, 0xa2, 0xa2, 0xaf, 0xe8, 0x5f, 0x20, 0x69, 0x41, 0x96, 0x47, - 0x36, 0xa9, 0xe2, 0x3c, 0x43, 0xc5, 0xca, 0xd3, 0xf5, 0x32, 0x2b, 0x07, - 0x54, 0xe7, 0x23, 0x84, 0xe0, 0xc2, 0xa9, 0x7c, 0x59, 0x05, 0xbc, 0xdc, - 0xa0, 0x17, 0x1b, 0xf4, 0x56, 0xcc, 0x2f, 0x67, 0x5e, 0xaf, 0x12, 0x1f, - 0x1c, 0xb3, 0xf4, 0xae, 0xe4, 0xac, 0x20, 0xe7, 0x50, 0x38, 0xd4, 0xfe, - 0xa2, 0x14, 0x1f, 0x70, 0x59, 0x3f, 0x74, 0x77, 0x9b, 0x9b, 0x3c, 0x05, - 0x84, 0xd2, 0xdd, 0x9a, 0xf3, 0xc5, 0xe0, 0x4f, 0x65, 0xb4, 0x46, 0xe8, - 0x9b, 0xbe, 0xe6, 0xe3, 0x03, 0x78, 0x71, 0xdd, 0xa3, 0xe9, 0x03, 0xa4, - 0x66, 0xc7, 0x5a, 0xb5, 0xd4, 0x0a, 0x37, 0x15, 0x3e, 0x8a, 0xde, 0xdb, - 0x63, 0x74, 0xb7, 0xbc, 0x54, 0xcf, 0x85, 0xb4, 0xca, 0x3b, 0xc2, 0x9c, - 0xb7, 0xbd, 0xfc, 0x40, 0xac, 0x09, 0xf2, 0xa8, 0xbb, 0xea, 0xc5, 0xd2, - 0x1c, 0xdf, 0xe6, 0x45, 0x74, 0x14, 0xc9, 0x27, 0x9d, 0xee, 0xa5, 0x2c, - 0xba, 0xd9, 0x20, 0x8f, 0x30, 0x49, 0xaf, 0xdc, 0x13, 0xcb, 0xe3, 0x08, - 0x81, 0xe8, 0x8c, 0x52, 0x01, 0x8e, 0xfd, 0x87, 0xa1, 0x06, 0x31, 0xbe, - 0x97, 0xac, 0x92, 0x5e, 0x98, 0xc0, 0xc5, 0x0d, 0x2a, 0x24, 0xe4, 0xce, - 0x6a, 0xe5, 0x3d, 0xf0, 0x32, 0x2e, 0xf5, 0x4b, 0x76, 0xf9, 0x9a, 0x78, - 0x46, 0xf4, 0xc1, 0x36, 0x5d, 0x7a, 0x8e, 0xaf, 0x5d, 0x8e, 0xd9, 0x08, - 0x7a, 0x2f, 0x42, 0xab, 0xb7, 0x76, 0xcf, 0xc5, 0xfe, 0x11, 0x76, 0x36, - 0x4a, 0x8f, 0x33, 0x3a, 0x9e, 0xf3, 0x45, 0x1b, 0x13, 0x18, 0x74, 0x8a, - 0x22, 0x80, 0x80, 0x70, 0xdd, 0x8b, 0x7d, 0x18, 0xf6, 0xda, 0xa0, 0x81, - 0xcd, 0x6b, 0x89, 0xd9, 0x06, 0x8d, 0xb6, 0xb8, 0x5a, 0x23, 0xb6, 0xe4, - 0x15, 0x77, 0xc8, 0xda, 0xe2, 0xb5, 0x2c, 0x12, 0x97, 0x1d, 0xad, 0xca, - 0x24, 0xc4, 0xea, 0x42, 0xa1, 0x73, 0xd8, 0xaa, 0x73, 0x6f, 0x77, 0x52, - 0xff, 0xb8, 0xa1, 0xc0, 0x67, 0x79, 0xd8, 0x03, 0x2c, 0x80, 0x33, 0x9d, - 0x72, 0xf2, 0xf3, 0x25, 0xa0, 0x51, 0xfe, 0x7a, 0x09, 0x32, 0xe9, 0xe1, - 0x52, 0x83, 0x41, 0x80, 0x7b, 0x8e, 0x3e, 0x84, 0xa9, 0x23, 0xff, 0x68, - 0x18, 0xfd, 0xf2, 0x8b, 0x9e, 0x44, 0xbb, 0xf6, 0x38, 0x27, 0xa2, 0x24, - 0xf7, 0x30, 0xf4, 0xf0, 0xf5, 0x2e, 0x30, 0x24, 0x46, 0x91, 0xaf, 0x8f, - 0x9f, 0x7d, 0xf1, 0x59, 0x04, 0x7d, 0xfd, 0xb3, 0x2f, 0xde, 0xff, 0xc0, - 0x8a, 0xf4, 0x54, 0xf9, 0xc4, 0x4d, 0x76, 0x71, 0xff, 0xab, 0x5e, 0x89, - 0xff, 0xe0, 0x0f, 0x7b, 0x05, 0xd9, 0x46, 0xef, 0xbc, 0xc2, 0xc2, 0x7e, - 0x08, 0x18, 0x60, 0xce, 0x45, 0x34, 0x56, 0xd5, 0x2a, 0xb1, 0xd1, 0xbb, - 0x4b, 0x6f, 0xbb, 0xbd, 0x2d, 0x4e, 0x56, 0xea, 0x6f, 0x01, 0x3e, 0xe4, - 0xfc, 0x01, 0x58, 0xf0, 0xd0, 0x23, 0x69, 0x1f, 0x3e, 0x01, 0x6e, 0xe8, - 0xd5, 0xd7, 0xd7, 0xcf, 0xbe, 0xf8, 0xf2, 0xd3, 0x77, 0xbf, 0x37, 0x24, - 0xaf, 0xcc, 0x34, 0xc1, 0xcb, 0x37, 0xb4, 0x31, 0x8e, 0x98, 0xf6, 0xc4, - 0xac, 0xd4, 0x9e, 0xc3, 0x34, 0xab, 0x14, 0x56, 0xdc, 0xe2, 0x60, 0xe0, - 0x6a, 0xca, 0x74, 0xc0, 0x5d, 0x42, 0x99, 0x37, 0x55, 0x2a, 0xeb, 0xfa, - 0xba, 0xa8, 0xab, 0xd0, 0xfe, 0xe7, 0xdf, 0x1e, 0x0b, 0xe4, 0x3f, 0xa7, - 0xfc, 0x3e, 0xfd, 0x54, 0x3d, 0xa1, 0x99, 0xbe, 0xb0, 0x06, 0xb6, 0xd3, - 0x5c, 0xb3, 0x2b, 0x4a, 0x90, 0xda, 0xce, 0xd8, 0xaa, 0x43, 0x6a, 0x1d, - 0x25, 0xa0, 0x5b, 0x52, 0xeb, 0xfc, 0x97, 0xf5, 0xea, 0x0d, 0xa1, 0x57, - 0xcf, 0xbe, 0xf9, 0xd7, 0x54, 0x12, 0x81, 0x9b, 0xd6, 0xf2, 0x4d, 0x39, - 0x7a, 0x7c, 0x30, 0x1c, 0x1c, 0x0c, 0xff, 0x35, 0x35, 0x6d, 0xde, 0x9c, - 0x4f, 0xf6, 0x65, 0x45, 0x3f, 0x5c, 0xa4, 0xc9, 0x68, 0x7f, 0x38, 0xfa, - 0xd7, 0xd4, 0x95, 0x80, 0xeb, 0xe3, 0xff, 0xff, 0xe9, 0x1a, 0x20, 0xf0, - 0x5f, 0x56, 0x05, 0x2b, 0x74, 0xb2, 0x3d, 0xe3, 0xd9, 0x6f, 0xf4, 0x8a, - 0xbd, 0xb3, 0x3e, 0x3f, 0x6f, 0xe4, 0x93, 0x87, 0x07, 0xd2, 0x56, 0x12, - 0x6c, 0xaa, 0x07, 0xae, 0x20, 0x1b, 0x20, 0x54, 0xa8, 0xbe, 0x3b, 0x1b, - 0x76, 0x4b, 0x71, 0x57, 0x60, 0x01, 0x7e, 0xba, 0xda, 0xcc, 0xe7, 0x05, - 0x66, 0xe9, 0x84, 0xde, 0x65, 0x94, 0x6b, 0xd7, 0x82, 0x4f, 0xc0, 0x6b, - 0xb7, 0x2e, 0x23, 0xc4, 0xa6, 0x5c, 0x6a, 0x1a, 0xe1, 0x5d, 0xcb, 0x5e, - 0x19, 0xef, 0x6b, 0x5d, 0x3f, 0x0d, 0x60, 0x76, 0x50, 0xc7, 0x43, 0xc2, - 0x94, 0x63, 0x20, 0xf2, 0xb0, 0xb9, 0xa4, 0xc2, 0x70, 0xeb, 0x51, 0xe1, - 0xc0, 0x20, 0xc9, 0xa9, 0x32, 0x84, 0xfc, 0x1c, 0x8b, 0xbb, 0xe3, 0xf9, - 0x2c, 0x48, 0x65, 0x96, 0xc0, 0x7c, 0x21, 0xc3, 0x67, 0x0e, 0x17, 0x49, - 0x5a, 0x00, 0xe9, 0xec, 0x18, 0xb7, 0x90, 0x87, 0xac, 0xb7, 0xfe, 0x8b, - 0x98, 0x92, 0x02, 0x80, 0xf9, 0x0d, 0x17, 0x4c, 0x51, 0x3f, 0x84, 0x3e, - 0x0a, 0x9b, 0xb3, 0x72, 0x4f, 0x2e, 0x33, 0xe7, 0xb7, 0x12, 0x3f, 0x02, - 0x93, 0x20, 0x3a, 0xb9, 0x42, 0x76, 0x79, 0xd9, 0x77, 0xcd, 0x0b, 0x7c, - 0xd4, 0x6e, 0x2d, 0x16, 0xcf, 0x57, 0xe8, 0x65, 0xb2, 0x2c, 0x8f, 0x04, - 0x67, 0x89, 0x8d, 0x14, 0x07, 0x57, 0x96, 0x16, 0xde, 0x3b, 0x80, 0xc7, - 0xd7, 0x41, 0xbd, 0xa8, 0x7c, 0xb1, 0xd9, 0x83, 0xff, 0x72, 0x81, 0xcf, - 0x60, 0x3e, 0x22, 0x64, 0x68, 0x04, 0x7e, 0xf0, 0x05, 0xaf, 0xa2, 0x90, - 0x17, 0xb1, 0x10, 0xbe, 0x9b, 0xa6, 0x9f, 0xd3, 0xf5, 0x8c, 0x5b, 0x3b, - 0xc6, 0xaf, 0x0b, 0xe3, 0xd7, 0xec, 0xb4, 0xab, 0xd9, 0x9d, 0xe0, 0xbb, - 0x54, 0xcc, 0x43, 0x05, 0x13, 0x23, 0x93, 0x0b, 0xf3, 0xe7, 0x85, 0xf9, - 0x73, 0x36, 0x0a, 0x65, 0xe4, 0xa0, 0x84, 0x91, 0x2a, 0x4e, 0x0e, 0x4c, - 0x4e, 0xcc, 0x9f, 0x17, 0xe6, 0xcf, 0xd9, 0x81, 0xc1, 0xc9, 0x3d, 0x7e, - 0x0a, 0x7f, 0x15, 0x46, 0x38, 0xf6, 0x23, 0xe5, 0xb1, 0x82, 0xde, 0x95, - 0x4c, 0x57, 0x3f, 0x4f, 0xab, 0x96, 0x01, 0x8f, 0xf4, 0x98, 0xf7, 0x02, - 0x9a, 0xfc, 0x9c, 0xc9, 0x47, 0x29, 0xe8, 0x47, 0x15, 0xb0, 0x45, 0x06, - 0xe2, 0x1e, 0x89, 0xb4, 0xf8, 0xd1, 0xe8, 0x8c, 0xe0, 0x0c, 0xbf, 0x04, - 0x57, 0x9b, 0xf5, 0x0a, 0x08, 0x8b, 0x7a, 0xce, 0x0b, 0x71, 0xa4, 0x49, - 0xbe, 0x4d, 0x57, 0x51, 0xdc, 0xd9, 0x47, 0x41, 0x88, 0x7e, 0x0f, 0xd9, - 0x83, 0x7c, 0x7d, 0x9c, 0xa7, 0x60, 0xa1, 0x62, 0x70, 0x66, 0x0a, 0xe3, - 0xe9, 0x72, 0x01, 0x4b, 0x9b, 0xfe, 0x08, 0xd3, 0xbf, 0xde, 0x6c, 0xe0, - 0x14, 0x62, 0x9a, 0x25, 0xb1, 0x63, 0x54, 0x58, 0x90, 0xf0, 0xc5, 0x29, - 0x82, 0x79, 0x50, 0x20, 0x70, 0x92, 0xd4, 0x85, 0x52, 0x3d, 0x19, 0xc3, - 0xb2, 0x8c, 0x51, 0x59, 0x06, 0x34, 0x80, 0xcb, 0xcf, 0x7a, 0x75, 0x4c, - 0x3d, 0x9e, 0xda, 0x40, 0xb8, 0x5e, 0x33, 0xba, 0xcd, 0x0b, 0x9e, 0xfd, - 0x47, 0xc3, 0x7d, 0xcb, 0x66, 0xad, 0x4c, 0x28, 0x21, 0x0f, 0x36, 0x29, - 0x7d, 0xbe, 0x9f, 0x9c, 0x4f, 0xb7, 0xcb, 0x9c, 0x24, 0xc0, 0xd4, 0x04, - 0x08, 0x47, 0xbe, 0xc8, 0xd7, 0xdb, 0xf9, 0x25, 0x86, 0xdd, 0x64, 0x63, - 0xa5, 0xe8, 0x92, 0xb3, 0x3c, 0x09, 0x3f, 0x4d, 0xa1, 0xed, 0xd8, 0x64, - 0x61, 0x99, 0x90, 0x69, 0x4d, 0x7a, 0x6e, 0x9e, 0x46, 0x9f, 0x4d, 0xf3, - 0xcb, 0x01, 0x4d, 0x67, 0x62, 0x1d, 0xf3, 0x19, 0x96, 0x42, 0xa7, 0x72, - 0x83, 0x0d, 0x2c, 0x5e, 0xbf, 0x8b, 0xfa, 0x40, 0x7d, 0x00, 0x26, 0x12, - 0x4c, 0xc5, 0xa7, 0xc9, 0x79, 0xde, 0xed, 0x99, 0x94, 0x6e, 0x43, 0x29, - 0x7d, 0xcf, 0x94, 0x30, 0x6f, 0xd3, 0xd5, 0xac, 0xaa, 0x52, 0xf5, 0xf2, - 0xca, 0x93, 0xcb, 0x25, 0xac, 0x78, 0x8b, 0x8a, 0x89, 0x22, 0xbf, 0x0b, - 0xe1, 0x5c, 0x80, 0x7e, 0xef, 0xe7, 0x8d, 0xdb, 0x91, 0xdd, 0xfc, 0x63, - 0x17, 0xa1, 0x9e, 0xf6, 0xc9, 0x15, 0xd4, 0xf1, 0x7d, 0x68, 0xff, 0x18, - 0xf8, 0x1a, 0xdc, 0xf4, 0x22, 0xfc, 0xb8, 0x85, 0xf7, 0x4f, 0xf0, 0x5f, - 0x97, 0x1e, 0x0a, 0x21, 0x21, 0xf6, 0x3a, 0xfc, 0x5c, 0xd2, 0x60, 0x25, - 0xa7, 0x04, 0xcb, 0x57, 0x23, 0x19, 0x1c, 0xbf, 0x3d, 0x26, 0xd7, 0x3c, - 0xe8, 0x93, 0xc7, 0xcc, 0x94, 0xf8, 0x9c, 0x78, 0xd2, 0x81, 0xd2, 0xa0, - 0x37, 0x4a, 0x72, 0xa7, 0xd1, 0x84, 0x8b, 0xf7, 0x00, 0xa7, 0x26, 0x28, - 0x5f, 0xd6, 0x77, 0x20, 0x2f, 0x7c, 0x90, 0x43, 0x1f, 0xe4, 0xcc, 0x07, - 0x39, 0xf2, 0x41, 0x5e, 0x6b, 0x90, 0x3c, 0xf4, 0xf2, 0x55, 0x50, 0x93, - 0x23, 0xeb, 0xc6, 0xa7, 0xcb, 0x04, 0x5f, 0xec, 0x74, 0x8b, 0x75, 0xaf, - 0xb5, 0xb8, 0x67, 0x8a, 0xd8, 0x1a, 0x95, 0xe7, 0xa5, 0xfe, 0x93, 0x4f, - 0xef, 0x19, 0xac, 0x75, 0xa2, 0xe1, 0x86, 0x7f, 0x31, 0x4c, 0x89, 0xd4, - 0x2c, 0x43, 0xe1, 0x95, 0xb6, 0xd1, 0x8b, 0xd1, 0xaf, 0xf0, 0x49, 0xff, - 0x7e, 0x2f, 0x82, 0xff, 0xa4, 0xc9, 0xbe, 0x5e, 0x9c, 0xe5, 0x97, 0xc5, - 0xaf, 0xcb, 0x04, 0xc7, 0x7c, 0x6d, 0x10, 0x51, 0xb4, 0x43, 0x82, 0xeb, - 0xe8, 0xa5, 0x12, 0x9b, 0x94, 0x0e, 0xd5, 0x70, 0xa7, 0x5b, 0x0c, 0xf4, - 0x2d, 0x0e, 0x2c, 0xb1, 0x56, 0x62, 0x51, 0xe8, 0xde, 0xab, 0xaf, 0x4a, - 0xd0, 0x57, 0xa3, 0xf7, 0x01, 0x32, 0x93, 0x1d, 0x08, 0x47, 0x04, 0x95, - 0xb1, 0xc7, 0xb2, 0xd1, 0xa8, 0x19, 0xd6, 0x73, 0x9e, 0x40, 0xfd, 0xd3, - 0xef, 0xa2, 0x89, 0x51, 0xe3, 0x68, 0x2f, 0x1a, 0x8d, 0x6d, 0xa0, 0xef, - 0x01, 0xc8, 0x10, 0x84, 0x82, 0x72, 0xdf, 0xd5, 0x49, 0xaa, 0x3d, 0x85, - 0x19, 0x24, 0x4f, 0x2c, 0x89, 0xde, 0x59, 0x7f, 0x05, 0x27, 0xab, 0xdb, - 0xcc, 0x65, 0xe9, 0xf1, 0xe0, 0x50, 0x03, 0x85, 0xa3, 0x55, 0x0d, 0x34, - 0x36, 0x60, 0xfb, 0xf0, 0x9e, 0xbe, 0x6b, 0xb2, 0x47, 0xe0, 0xd1, 0x6c, - 0x9d, 0x82, 0xc2, 0x61, 0x22, 0x37, 0xfd, 0x2c, 0xb9, 0x58, 0xac, 0xbe, - 0x04, 0xab, 0x15, 0x77, 0x6d, 0x70, 0xd1, 0x76, 0x26, 0xf8, 0x34, 0x9d, - 0xbb, 0xf5, 0xd3, 0xb9, 0x21, 0xfd, 0x19, 0x41, 0xb3, 0x90, 0x25, 0xfc, - 0xf2, 0x93, 0x9e, 0x38, 0xe0, 0x64, 0xe2, 0xd4, 0x16, 0xf8, 0x1a, 0xd3, - 0x60, 0xea, 0x69, 0x14, 0x83, 0xc9, 0xcb, 0x28, 0x73, 0x15, 0x4d, 0xc9, - 0x82, 0x22, 0x90, 0x64, 0xe2, 0x85, 0xae, 0xc9, 0xc6, 0x72, 0xb1, 0x4a, - 0xbe, 0xa5, 0xca, 0x4e, 0xa2, 0xc7, 0x63, 0x33, 0x4f, 0x3c, 0x7f, 0x3f, - 0xc6, 0x15, 0x36, 0xe4, 0x76, 0x5e, 0xdc, 0xa7, 0xbf, 0x8e, 0x17, 0x2a, - 0xee, 0x5a, 0xc9, 0xf4, 0xe4, 0xba, 0x10, 0x47, 0xc1, 0xf3, 0xf9, 0x62, - 0xb9, 0x14, 0x4e, 0xc8, 0x66, 0xc9, 0x74, 0x9b, 0x2f, 0xce, 0xb7, 0x4b, - 0xe5, 0xfb, 0x55, 0x81, 0xe4, 0xd3, 0x1f, 0x93, 0x15, 0xbd, 0x05, 0xa5, - 0x4b, 0x2a, 0x4f, 0xa3, 0xcb, 0x3c, 0xdf, 0x3c, 0x85, 0xc7, 0xe8, 0x39, - 0xac, 0xf2, 0x61, 0x8c, 0x4d, 0xcf, 0x97, 0xeb, 0x6b, 0xb0, 0x4a, 0x57, - 0x7b, 0x3f, 0x6d, 0x93, 0x8c, 0x4e, 0x46, 0xf7, 0x86, 0x6f, 0x8c, 0x9e, - 0x1c, 0xbe, 0xb1, 0xff, 0x78, 0x6f, 0xb6, 0x5d, 0x2c, 0xf1, 0x40, 0xbd, - 0x3f, 0xed, 0x13, 0xd9, 0x3e, 0xcd, 0xa9, 0xfa, 0x8b, 0x55, 0xff, 0x32, - 0xbf, 0x5a, 0x1e, 0x5a, 0x21, 0xd8, 0xc0, 0x38, 0x2c, 0x85, 0x89, 0x91, - 0x5f, 0xdf, 0x82, 0x09, 0xe4, 0x93, 0xe2, 0xd7, 0x6b, 0xd6, 0xdc, 0x9a, - 0x43, 0xed, 0xbe, 0x2b, 0x11, 0x63, 0x01, 0xd8, 0x87, 0xf9, 0x2f, 0xb7, - 0x14, 0x68, 0xcc, 0xf0, 0x0d, 0xdb, 0x1b, 0x3c, 0xcc, 0x42, 0x15, 0x12, - 0xe1, 0x94, 0x82, 0xfb, 0x35, 0xca, 0xcd, 0xc5, 0xe9, 0xc6, 0xb3, 0xb5, - 0xa3, 0x43, 0x0a, 0xd4, 0xd6, 0x35, 0x73, 0x80, 0x55, 0x58, 0x6e, 0x2a, - 0x90, 0x30, 0x53, 0x75, 0x9d, 0xb4, 0x72, 0x58, 0x14, 0x56, 0x06, 0x54, - 0xd6, 0x97, 0x4c, 0x0a, 0xcc, 0x49, 0xcc, 0xaa, 0x5f, 0x6d, 0xdc, 0x5c, - 0xd4, 0x9e, 0x42, 0x1f, 0x2f, 0xb3, 0x65, 0x0c, 0x63, 0x92, 0x6a, 0x2b, - 0x3c, 0xd8, 0x46, 0xcf, 0x0f, 0x78, 0xe3, 0xe0, 0xe5, 0x6e, 0xa7, 0x04, - 0x3b, 0x0e, 0x2b, 0xf4, 0x9e, 0x55, 0x16, 0x8d, 0x49, 0x93, 0x2e, 0x9f, - 0x5f, 0x2e, 0xb2, 0x41, 0x75, 0x2f, 0x4f, 0x85, 0x30, 0x75, 0xf9, 0xb1, - 0xc8, 0x80, 0xfa, 0x16, 0xe1, 0x8e, 0x96, 0xf0, 0x28, 0xfa, 0x7a, 0x81, - 0x3d, 0x3e, 0xc4, 0x72, 0x00, 0x97, 0xe1, 0x96, 0x03, 0x25, 0x81, 0x46, - 0x41, 0xa2, 0xb3, 0x35, 0xbc, 0xba, 0x7d, 0x7e, 0x81, 0xdc, 0x41, 0x32, - 0xcf, 0xa1, 0x64, 0xc4, 0xc1, 0x4f, 0xc1, 0x54, 0x4c, 0xd3, 0x8f, 0x44, - 0xb6, 0x1a, 0xe0, 0x86, 0xaf, 0xe3, 0xa7, 0x22, 0xcd, 0xe8, 0x14, 0x59, - 0x46, 0xbc, 0x5a, 0xca, 0xd7, 0x1b, 0x04, 0x86, 0x03, 0x67, 0x0c, 0xca, - 0x52, 0x0b, 0x0a, 0xb3, 0x32, 0x75, 0xc0, 0x4c, 0x86, 0xa3, 0xa4, 0xfd, - 0x75, 0x02, 0xe3, 0x52, 0x28, 0x45, 0x0a, 0x20, 0xbc, 0x9a, 0xe0, 0xd8, - 0x52, 0xd9, 0xda, 0x68, 0x16, 0xcb, 0x0d, 0xe5, 0x68, 0x77, 0x86, 0xb2, - 0x76, 0x60, 0x16, 0x66, 0xdc, 0x3f, 0x34, 0xf3, 0x6c, 0x40, 0x19, 0xad, - 0x65, 0x92, 0x4b, 0x6d, 0xf3, 0x0d, 0xcd, 0x0c, 0xb3, 0xc0, 0x29, 0xb2, - 0xd3, 0xe2, 0x3c, 0x71, 0x06, 0x6d, 0x2a, 0xb4, 0x96, 0xbf, 0x77, 0x99, - 0x02, 0x4d, 0x15, 0x81, 0x00, 0x11, 0x52, 0x73, 0x6a, 0xcd, 0xda, 0x22, - 0xc8, 0x0d, 0xe4, 0xf7, 0x05, 0xe6, 0x18, 0x7e, 0xbc, 0x15, 0x15, 0xdf, - 0xcd, 0x03, 0x76, 0xc6, 0xb8, 0xd5, 0x31, 0x6e, 0x35, 0x8c, 0x5b, 0x0b, - 0x43, 0x71, 0x71, 0x92, 0xc2, 0xec, 0xfe, 0x72, 0x81, 0x13, 0xd4, 0x9b, - 0xdb, 0xd1, 0x66, 0xbd, 0x9c, 0xa6, 0x31, 0x4c, 0xf8, 0x6f, 0x91, 0x53, - 0xcf, 0xcb, 0xfc, 0xe8, 0x6d, 0x49, 0xb1, 0xec, 0xfe, 0x58, 0xf6, 0xe3, - 0x62, 0x43, 0x6e, 0x87, 0x81, 0xca, 0x6d, 0x17, 0xc4, 0x03, 0x56, 0x60, - 0xb1, 0x02, 0xd1, 0x64, 0xa0, 0x2c, 0xd3, 0x1c, 0xc6, 0x57, 0x1a, 0x7d, - 0xb3, 0xc5, 0x19, 0x7c, 0x9e, 0x6b, 0xe3, 0xac, 0xd7, 0x03, 0x16, 0x4c, - 0xed, 0xb6, 0x9e, 0x1b, 0x4a, 0x6e, 0x35, 0xce, 0xe8, 0xb9, 0x03, 0xb0, - 0x36, 0x82, 0x6f, 0x31, 0x54, 0xc8, 0xe1, 0x9f, 0x76, 0xd1, 0x16, 0x17, - 0x5b, 0x51, 0x3e, 0x15, 0x4c, 0xd6, 0x04, 0xef, 0x92, 0xd1, 0xf6, 0xa2, - 0x60, 0x67, 0x91, 0x45, 0x9b, 0xc5, 0x4d, 0xb2, 0x84, 0x34, 0x82, 0xa1, - 0xe6, 0x11, 0x6d, 0x45, 0x1e, 0x6d, 0x06, 0x6e, 0xd9, 0xe9, 0xfa, 0xfa, - 0x53, 0x71, 0x01, 0x73, 0xa2, 0x35, 0xf5, 0xd8, 0x05, 0x9c, 0x9e, 0xfd, - 0xb0, 0xcd, 0xf2, 0xe4, 0x0c, 0x66, 0x7d, 0xd0, 0x9a, 0xaf, 0x29, 0x40, - 0x39, 0x89, 0x83, 0x71, 0x1a, 0x5a, 0x5c, 0x0c, 0xe3, 0x27, 0xfd, 0x43, - 0x72, 0x32, 0x7a, 0x8a, 0x2e, 0x5e, 0x4e, 0xf6, 0xd1, 0x4e, 0xc3, 0xf7, - 0x18, 0x18, 0xd2, 0x25, 0x0a, 0x1c, 0x7b, 0x79, 0xec, 0x96, 0x17, 0x8d, - 0x73, 0xc9, 0x5b, 0x7f, 0xd1, 0xb7, 0x3b, 0x2a, 0x9a, 0xc4, 0xc9, 0x33, - 0x26, 0x2c, 0x32, 0x81, 0x0d, 0x60, 0x29, 0xe6, 0x34, 0xf9, 0x69, 0xbb, - 0x48, 0x81, 0xe0, 0xe3, 0x28, 0x5b, 0xae, 0xf3, 0x4c, 0xc9, 0x9d, 0x49, - 0xba, 0x14, 0xa9, 0xb9, 0x68, 0x2e, 0xa1, 0x04, 0x0a, 0x35, 0x8a, 0xb9, - 0x8a, 0xaf, 0x72, 0x93, 0x74, 0x71, 0x96, 0xc1, 0x1c, 0x8c, 0x7d, 0xba, - 0x73, 0x49, 0x8b, 0x26, 0xd0, 0x1b, 0x4f, 0x93, 0x65, 0x53, 0xd8, 0xa0, - 0x99, 0x4a, 0xcf, 0x62, 0x69, 0xb4, 0x57, 0xde, 0xb8, 0x6a, 0xf1, 0x35, - 0x1c, 0xec, 0x7b, 0x4b, 0x39, 0x81, 0x45, 0x52, 0x4f, 0xac, 0xf0, 0x7a, - 0xb4, 0x96, 0xa3, 0xc5, 0x6b, 0xf6, 0xf3, 0x08, 0xd6, 0xcc, 0x31, 0xb0, - 0xd0, 0xd3, 0xca, 0xea, 0x09, 0x6a, 0x5d, 0x9f, 0x0e, 0x2d, 0x37, 0x97, - 0x53, 0x54, 0xb4, 0xc3, 0x43, 0xbb, 0x18, 0x92, 0xd9, 0x09, 0x09, 0x07, - 0x69, 0x43, 0x79, 0xe3, 0xb2, 0x7c, 0x90, 0xd7, 0x10, 0x60, 0x04, 0x3b, - 0x55, 0x50, 0x23, 0x80, 0x22, 0x6e, 0xab, 0x80, 0x0e, 0x00, 0x48, 0x30, - 0x56, 0xb6, 0xbb, 0x6c, 0x8e, 0xf1, 0x9b, 0xad, 0xb6, 0xc3, 0x40, 0x1a, - 0x44, 0x23, 0xe3, 0xbe, 0xb5, 0xa1, 0x6b, 0x1a, 0x24, 0xd3, 0x42, 0x43, - 0x81, 0x34, 0x56, 0x67, 0x3f, 0xa5, 0x79, 0x7c, 0x03, 0x6d, 0x8c, 0x7c, - 0xdc, 0xc2, 0xe7, 0xad, 0x6e, 0x62, 0xc1, 0x0e, 0x28, 0x40, 0x28, 0x6a, - 0x35, 0x8a, 0x61, 0x0f, 0xe3, 0x86, 0x00, 0x78, 0xef, 0x4d, 0x19, 0x40, - 0xab, 0x6c, 0x65, 0x4a, 0xe0, 0x53, 0x77, 0x4e, 0x0b, 0x3f, 0x41, 0xfd, - 0xa0, 0x93, 0xfc, 0xfe, 0x5b, 0x2f, 0xfa, 0xfd, 0xb7, 0x53, 0x48, 0x80, - 0xe5, 0xb2, 0xca, 0x56, 0x34, 0x01, 0x11, 0x04, 0x4b, 0x80, 0x50, 0x2f, - 0x98, 0x1f, 0x33, 0x1c, 0x17, 0x1c, 0x23, 0x6d, 0xe0, 0x5a, 0xce, 0x39, - 0x70, 0xd9, 0x14, 0x6b, 0x73, 0x10, 0xd2, 0x5c, 0x40, 0xb5, 0xf8, 0xaa, - 0xd6, 0x18, 0x43, 0x48, 0xf3, 0x4b, 0xe8, 0xcf, 0xa0, 0x2b, 0x22, 0x0b, - 0xa8, 0x31, 0xb8, 0x26, 0x23, 0x20, 0x34, 0x04, 0x18, 0xf8, 0x00, 0x06, - 0xa0, 0x38, 0xce, 0x81, 0x2e, 0x26, 0x69, 0x00, 0x6e, 0x3c, 0x8c, 0xfa, - 0x52, 0x92, 0xb3, 0x2c, 0x8e, 0x09, 0xeb, 0x65, 0x9c, 0xc4, 0xf7, 0x61, - 0xc6, 0xaf, 0xcb, 0x3c, 0x1d, 0x82, 0x96, 0xc3, 0xff, 0xb3, 0xa1, 0xb1, - 0x01, 0x48, 0x08, 0x6f, 0xc3, 0xc2, 0x01, 0x6e, 0x69, 0x51, 0x99, 0xae, - 0xbf, 0xc5, 0xf8, 0x84, 0x71, 0x51, 0xa3, 0x4e, 0x44, 0xe1, 0xd0, 0x64, - 0xa0, 0x1b, 0xa7, 0xe6, 0x7a, 0xdd, 0xa0, 0x39, 0xd4, 0x69, 0x8e, 0xaa, - 0x69, 0x02, 0x2d, 0x49, 0xb6, 0x9a, 0xe6, 0x48, 0xa7, 0x79, 0x50, 0x4d, - 0x73, 0x9f, 0x69, 0xde, 0x54, 0xd1, 0x3c, 0xd0, 0x69, 0x3e, 0xae, 0xa5, - 0x59, 0xb0, 0x5a, 0x45, 0xf3, 0xb1, 0x4e, 0xf3, 0xb0, 0xb6, 0xee, 0xfb, - 0x21, 0x34, 0x0f, 0x75, 0x9a, 0x4f, 0xc2, 0xda, 0x68, 0x9f, 0xeb, 0x4e, - 0x9d, 0x9e, 0x15, 0xe2, 0xaa, 0xd0, 0xc0, 0xbe, 0x2c, 0x9b, 0xa0, 0x78, - 0xfa, 0x71, 0x01, 0xc4, 0x88, 0x16, 0xf9, 0x6a, 0xba, 0x82, 0x04, 0xf9, - 0x39, 0xa3, 0xcf, 0x53, 0x6d, 0xd6, 0xa9, 0xee, 0xef, 0xa7, 0xbd, 0x8b, - 0xde, 0x8c, 0xa8, 0x2a, 0x1f, 0x4b, 0x20, 0xb0, 0xa1, 0x1a, 0xb2, 0xc0, - 0x36, 0x9e, 0x9a, 0x7d, 0x1c, 0x52, 0x40, 0x87, 0xa1, 0x2c, 0xf1, 0xe5, - 0x42, 0x7e, 0x81, 0x72, 0x9d, 0x7d, 0x71, 0x7a, 0x1c, 0xb2, 0x84, 0x31, - 0x2e, 0x46, 0x07, 0x9b, 0xfa, 0x3e, 0x16, 0x25, 0x0c, 0xf0, 0x9f, 0x67, - 0x6a, 0x93, 0x89, 0x5a, 0x94, 0x92, 0x69, 0xbc, 0x5a, 0xac, 0x0a, 0x97, - 0x52, 0x03, 0xd3, 0xc7, 0x3c, 0x03, 0x95, 0x3b, 0xb2, 0x3b, 0x29, 0x60, - 0x4e, 0x95, 0x1c, 0xab, 0xca, 0x26, 0xad, 0x2f, 0x92, 0xe9, 0x12, 0x12, - 0x3d, 0x3d, 0x39, 0x3e, 0xfa, 0xea, 0x93, 0x2f, 0x9f, 0xe1, 0xbe, 0x57, - 0xb5, 0xc3, 0x79, 0x42, 0x9d, 0x63, 0x30, 0x72, 0x7c, 0x49, 0x57, 0xed, - 0x7a, 0x9e, 0x85, 0x62, 0x61, 0xc1, 0xad, 0x4e, 0xdf, 0x8d, 0x05, 0x12, - 0xaa, 0x3a, 0xbb, 0x71, 0x83, 0x0e, 0x74, 0xde, 0xff, 0xe2, 0x33, 0x3a, - 0x91, 0x81, 0xb4, 0xf5, 0xf4, 0x2c, 0x39, 0x83, 0x95, 0xa8, 0x6a, 0x80, - 0xe2, 0x28, 0x82, 0xdb, 0x1c, 0x0a, 0xc2, 0x96, 0x4d, 0xb7, 0xab, 0x28, - 0x5b, 0xac, 0xe6, 0x49, 0x04, 0xe8, 0xe8, 0x13, 0x6f, 0x49, 0xb8, 0x14, - 0xe8, 0x22, 0x45, 0xff, 0x7f, 0x72, 0x13, 0x35, 0xc9, 0xe9, 0xdd, 0x8e, - 0x5a, 0x37, 0x50, 0x9e, 0xba, 0x38, 0x5f, 0xe5, 0xc4, 0x94, 0x3d, 0x03, - 0x3e, 0x8c, 0xcb, 0x4d, 0x50, 0x81, 0x01, 0xb2, 0x48, 0xdc, 0x14, 0x4b, - 0x49, 0xc3, 0x89, 0x60, 0xc1, 0xb1, 0x78, 0x25, 0xaf, 0x58, 0x31, 0x17, - 0x1e, 0xd0, 0xc9, 0x55, 0xa8, 0x3c, 0x6b, 0x1f, 0x50, 0xe5, 0x94, 0x87, - 0x0f, 0x87, 0x86, 0xd0, 0xdb, 0xe7, 0xad, 0xbd, 0x6c, 0x9e, 0x2e, 0x36, - 0xf9, 0xdb, 0x90, 0x44, 0x3f, 0x67, 0xeb, 0xb3, 0x5b, 0xf8, 0xf1, 0xd6, - 0x1e, 0x6e, 0xf6, 0xc0, 0x97, 0x3f, 0x00, 0xb5, 0x95, 0x2d, 0xd2, 0x23, - 0xa0, 0x01, 0x00 + 0xa5, 0xdb, 0x66, 0x0e, 0x12, 0xa0, 0x03, 0xe7, 0xcc, 0x72, 0x06, 0xb8, + 0x40, 0x03, 0x01, 0x3b, 0x08, 0xfe, 0x04, 0xa1, 0x28, 0x0f, 0x9c, 0x95, + 0xe4, 0x55, 0x17, 0xdd, 0x92, 0x96, 0x12, 0x35, 0x44, 0x49, 0x15, 0x8c, + 0x0b, 0x8f, 0x9b, 0x07, 0x0a, 0x1e, 0x44, 0x9a, 0xd9, 0xdc, 0xe9, 0xc1, + 0x1b, 0xa7, 0x1f, 0xf8, 0xa1, 0x3f, 0x8c, 0x5e, 0x1d, 0x3d, 0xdd, 0x9a, + 0x26, 0xc9, 0x6e, 0x81, 0x6e, 0x11, 0x1b, 0x7c, 0xba, 0x51, 0xd3, 0x49, + 0xe5, 0xf6, 0x5d, 0x3b, 0x0c, 0x19, 0xc0, 0x1c, 0x7f, 0xd4, 0x80, 0x29, + 0xe0, 0xf0, 0x6c, 0x64, 0xd1, 0xad, 0x51, 0xe8, 0xd8, 0xdd, 0x12, 0xba, + 0x2e, 0x2d, 0x28, 0xec, 0xb5, 0x1b, 0x4f, 0xf6, 0xf6, 0x76, 0x5b, 0xc9, + 0xdf, 0x25, 0xa9, 0x37, 0xdd, 0x52, 0xab, 0xd1, 0x28, 0x29, 0x95, 0x51, + 0x0f, 0xe7, 0x13, 0xd7, 0x0b, 0xe5, 0xfd, 0x44, 0xb8, 0x9e, 0x68, 0x3e, + 0x9f, 0xd7, 0xe7, 0xed, 0xba, 0x1f, 0x8c, 0xb6, 0x90, 0xdb, 0xd8, 0x02, + 0x01, 0x4d, 0x38, 0x47, 0x5c, 0x46, 0xcf, 0x54, 0xb8, 0xad, 0x5b, 0x7a, + 0x28, 0x86, 0xf4, 0x5f, 0x49, 0xc7, 0xdf, 0x14, 0x45, 0xd0, 0xa6, 0xf8, + 0x5c, 0xb7, 0xc4, 0x52, 0xb5, 0xfa, 0x60, 0x14, 0x0b, 0x37, 0x4f, 0x9a, + 0x3b, 0xdb, 0x4f, 0xb6, 0xdb, 0x4d, 0x24, 0x5c, 0x64, 0x12, 0x02, 0x3c, + 0xef, 0x24, 0x9e, 0xb7, 0x96, 0xd3, 0x67, 0x51, 0xd2, 0x21, 0x78, 0xc8, + 0xc8, 0x1e, 0x21, 0xec, 0x47, 0x64, 0xb4, 0x04, 0x8b, 0x02, 0xa9, 0x25, + 0xc3, 0x71, 0xa3, 0x61, 0xf7, 0xfb, 0xcd, 0x3c, 0xc7, 0xd9, 0x10, 0x22, + 0xb1, 0xd8, 0xa8, 0x62, 0x14, 0x8b, 0x73, 0xa8, 0x17, 0xe1, 0x3e, 0xad, + 0x6e, 0x89, 0xcd, 0xd6, 0xbd, 0x55, 0x71, 0xa4, 0x2b, 0x92, 0x0f, 0xb9, + 0xea, 0x66, 0x29, 0x2c, 0x47, 0xbd, 0x2b, 0x2d, 0x18, 0xf0, 0x95, 0x65, + 0xeb, 0x82, 0xb9, 0xd8, 0x29, 0xc9, 0x33, 0x30, 0x13, 0x80, 0x51, 0x10, + 0x5e, 0x50, 0xd5, 0x40, 0x10, 0x8f, 0x01, 0xd4, 0x53, 0x75, 0x54, 0xaf, + 0x3f, 0xf6, 0xc1, 0xb5, 0xbc, 0x3c, 0xa2, 0x14, 0x07, 0xf3, 0x00, 0x88, + 0xdb, 0xcc, 0x9a, 0x8d, 0x1f, 0x3e, 0xdd, 0x22, 0xb8, 0x95, 0x58, 0x4a, + 0x69, 0x75, 0x21, 0x57, 0xad, 0xc6, 0xad, 0xb9, 0x6a, 0x95, 0x0e, 0x96, + 0xb2, 0xf4, 0x74, 0x6b, 0x54, 0xd4, 0x9f, 0x48, 0xdf, 0x4d, 0xba, 0xe9, + 0xbe, 0xab, 0x74, 0x67, 0x1d, 0xa0, 0x03, 0xe5, 0x45, 0x20, 0xf1, 0x41, + 0x8d, 0xd5, 0x4c, 0x8e, 0x67, 0xcb, 0x62, 0xf2, 0xb0, 0x94, 0x29, 0x94, + 0x34, 0xc2, 0x34, 0x72, 0xa5, 0x8f, 0x96, 0xa5, 0xd3, 0xc8, 0x22, 0xab, + 0xa4, 0x45, 0xa1, 0x6b, 0x9a, 0x03, 0x6b, 0xda, 0x8b, 0x4c, 0x51, 0xf6, + 0xa0, 0x5a, 0xcc, 0x8b, 0x1a, 0x7e, 0x68, 0x57, 0x8d, 0xc6, 0xb1, 0x12, + 0x1e, 0x3a, 0xf7, 0x85, 0x1a, 0xd3, 0x45, 0x75, 0x2c, 0xae, 0x15, 0xca, + 0xf2, 0xc2, 0x4b, 0x2c, 0xde, 0xa2, 0x9c, 0xa5, 0x98, 0x00, 0xe4, 0xe9, + 0x56, 0x40, 0xe7, 0x8d, 0xc4, 0x20, 0x36, 0x13, 0x72, 0xe0, 0x43, 0x79, + 0xc7, 0xb2, 0x31, 0xe3, 0xae, 0xc9, 0x67, 0x70, 0x1b, 0xcc, 0x8c, 0x2d, + 0x49, 0xdf, 0x02, 0x50, 0x3a, 0x98, 0x3b, 0x43, 0xe7, 0xe9, 0x96, 0x73, + 0xf0, 0xc8, 0xeb, 0x85, 0xd3, 0x7d, 0xf9, 0xc9, 0x44, 0x74, 0x81, 0xf4, + 0x12, 0x53, 0xe9, 0x80, 0xaa, 0x8c, 0xca, 0x12, 0xc8, 0x81, 0x64, 0xe7, + 0x20, 0x66, 0x45, 0x25, 0xcb, 0xaf, 0x6b, 0x6b, 0x00, 0xad, 0x89, 0x4b, + 0xae, 0xc9, 0x75, 0x88, 0x4e, 0x65, 0xbb, 0x27, 0xc4, 0xfc, 0x89, 0x3f, + 0x1c, 0xde, 0xb6, 0x02, 0xe0, 0xe4, 0x86, 0x75, 0x80, 0x7a, 0xf2, 0x9c, + 0x48, 0xda, 0x82, 0x6c, 0x53, 0xac, 0x8a, 0x45, 0x12, 0x27, 0x3c, 0x88, + 0x99, 0x38, 0x6e, 0x51, 0x9b, 0xaa, 0x8b, 0xce, 0x7c, 0xef, 0x39, 0x5d, + 0x65, 0x85, 0x2b, 0x15, 0xc3, 0x93, 0x40, 0xa8, 0x72, 0xe5, 0x0a, 0x89, + 0x6f, 0x91, 0xac, 0xe8, 0xc0, 0x1c, 0x66, 0x89, 0x62, 0x6e, 0xa4, 0x24, + 0x6b, 0x1d, 0x97, 0x8f, 0xab, 0xcc, 0x44, 0x96, 0xd4, 0x5d, 0x6b, 0x66, + 0x3a, 0x0d, 0x1d, 0x7c, 0xc9, 0xf0, 0xaf, 0x0e, 0xfd, 0xc3, 0x59, 0xe1, + 0x43, 0xe8, 0xd7, 0x75, 0x51, 0x3e, 0x70, 0xcb, 0x87, 0x27, 0xb0, 0x41, + 0x3e, 0xee, 0x9f, 0x49, 0x37, 0x97, 0x43, 0x08, 0xab, 0xf4, 0xd2, 0xbc, + 0x9d, 0x2a, 0x70, 0xd7, 0x96, 0x0e, 0x40, 0xd2, 0x2d, 0xe7, 0x26, 0xca, + 0x7b, 0xeb, 0x25, 0x34, 0x46, 0x5f, 0x36, 0x86, 0xef, 0x1d, 0xb3, 0xf7, + 0xcb, 0x3e, 0x7e, 0x59, 0x9c, 0x01, 0x75, 0x85, 0xb2, 0xf9, 0x96, 0xc5, + 0x09, 0x5c, 0xd3, 0x05, 0x20, 0x90, 0xb4, 0xc4, 0xa5, 0x98, 0x58, 0x54, + 0x23, 0xc3, 0x01, 0x90, 0x34, 0x63, 0xe5, 0x28, 0xf0, 0xaf, 0x13, 0x27, + 0xd3, 0x89, 0x81, 0xe7, 0x39, 0xfe, 0xde, 0xce, 0x26, 0xe5, 0x66, 0x65, + 0x49, 0xad, 0x8d, 0x6a, 0x1e, 0x30, 0x7e, 0xdd, 0x53, 0x9a, 0x1d, 0x99, + 0x6a, 0x78, 0xf9, 0x56, 0x9c, 0x37, 0x0b, 0x54, 0x7c, 0x15, 0xa5, 0x59, + 0x5a, 0xc1, 0xd6, 0x6a, 0x15, 0x6c, 0x2f, 0xae, 0x60, 0xeb, 0x26, 0x15, + 0x6c, 0x15, 0x55, 0xb0, 0x75, 0x1f, 0x15, 0x6c, 0xdf, 0xba, 0x82, 0xed, + 0x9b, 0x54, 0xb0, 0x5d, 0x54, 0xc1, 0xf6, 0x2d, 0x2b, 0xc8, 0x79, 0x2b, + 0x9a, 0x8a, 0x65, 0x7d, 0x7d, 0x6f, 0x95, 0x1e, 0xad, 0xe3, 0x15, 0x71, + 0xcf, 0x8e, 0x0b, 0x5d, 0x6b, 0x0a, 0x50, 0x5b, 0xbe, 0x0a, 0x63, 0x25, + 0x9f, 0x65, 0x59, 0x0b, 0x9a, 0x00, 0x6d, 0xe9, 0xe0, 0xda, 0x96, 0xdf, + 0xba, 0x5e, 0x33, 0xae, 0x23, 0xcd, 0xe1, 0x06, 0xda, 0x72, 0x00, 0x2f, + 0x9d, 0xc6, 0xc9, 0x80, 0x86, 0x28, 0x4e, 0xbc, 0xae, 0xa4, 0x0c, 0x55, + 0xca, 0x40, 0xb9, 0x8c, 0xb3, 0x95, 0x50, 0x09, 0x46, 0x03, 0x1d, 0xba, + 0xb6, 0xce, 0xb2, 0xf8, 0x99, 0xed, 0xce, 0x50, 0x1e, 0xa1, 0x63, 0x7d, + 0xa5, 0x2d, 0x47, 0x88, 0x4a, 0xb4, 0xc0, 0x8f, 0xc9, 0x1a, 0xbe, 0xed, + 0x73, 0xce, 0x8e, 0x71, 0x97, 0x36, 0x27, 0x90, 0x51, 0x20, 0x68, 0x70, + 0xe4, 0xaf, 0x5b, 0x0a, 0x85, 0x71, 0xdc, 0x9b, 0x58, 0x18, 0xfb, 0x06, + 0x05, 0xd3, 0x03, 0x77, 0xa5, 0x03, 0xfa, 0xbc, 0xa5, 0x58, 0x08, 0xc5, + 0xbd, 0x49, 0x85, 0x90, 0x6f, 0x50, 0x28, 0xb4, 0xa2, 0x08, 0x7a, 0xf4, + 0x75, 0x5b, 0xb1, 0x10, 0x8e, 0xfb, 0x93, 0x0b, 0x61, 0xdf, 0xa4, 0x60, + 0x64, 0x14, 0x34, 0xb6, 0x8c, 0x3a, 0xd4, 0xb5, 0xa7, 0x6e, 0x86, 0x69, + 0xcb, 0xef, 0xfd, 0xb5, 0x7c, 0x74, 0x4b, 0x5f, 0x50, 0x06, 0x81, 0xf7, + 0x30, 0xd5, 0x87, 0x9f, 0x33, 0x10, 0x21, 0x39, 0x5d, 0xe4, 0x86, 0xde, + 0x52, 0xfc, 0x92, 0xe1, 0x7b, 0x93, 0xbf, 0x44, 0xbf, 0xc1, 0x06, 0xe0, + 0x40, 0xf2, 0xdd, 0xca, 0x9f, 0xe6, 0x39, 0x13, 0x11, 0xdc, 0x81, 0xb0, + 0xc1, 0xdc, 0x3d, 0x0e, 0x18, 0xc0, 0x7e, 0xfb, 0x21, 0x43, 0x62, 0x12, + 0x23, 0xbe, 0x1a, 0xba, 0xb4, 0x9a, 0xff, 0x4f, 0x11, 0x85, 0xfd, 0x6b, + 0xeb, 0xb4, 0xde, 0x44, 0x66, 0x55, 0x67, 0xa7, 0xa5, 0xea, 0xce, 0x2e, + 0xdd, 0xb1, 0x18, 0xbd, 0xee, 0xb9, 0xcb, 0x78, 0x44, 0x5c, 0x36, 0x06, + 0x45, 0x54, 0x76, 0x05, 0xc2, 0x4c, 0x5c, 0x96, 0x49, 0x50, 0x82, 0x84, + 0x62, 0xe1, 0xa4, 0x96, 0xf2, 0x63, 0xe2, 0x8b, 0x57, 0x06, 0x8b, 0x42, + 0xd8, 0x2a, 0x8c, 0xff, 0x04, 0x2b, 0x3c, 0x16, 0x39, 0x43, 0x12, 0xd9, + 0x0a, 0xec, 0x3d, 0xdd, 0x5a, 0xa1, 0x7f, 0x6c, 0xdd, 0xde, 0xb7, 0x92, + 0x91, 0x3a, 0xdc, 0xfe, 0x8d, 0xc8, 0x61, 0x5e, 0x2d, 0xd4, 0x4a, 0xc1, + 0x2d, 0xb5, 0x83, 0x0d, 0x76, 0xa8, 0x88, 0x5c, 0xdf, 0x90, 0xf3, 0xf0, + 0x8d, 0x04, 0x5d, 0xad, 0x21, 0x4d, 0xaf, 0x54, 0x18, 0x4b, 0x69, 0x82, + 0xb7, 0x6b, 0x39, 0x5e, 0xd1, 0xa4, 0xc0, 0xed, 0xfd, 0x35, 0xc5, 0x3a, + 0xf3, 0x03, 0x9d, 0x76, 0xcb, 0x09, 0x7d, 0x72, 0x69, 0x02, 0xaf, 0x86, + 0x58, 0xd8, 0x7f, 0x25, 0xb9, 0x22, 0xa2, 0x31, 0x06, 0x7d, 0x9d, 0xe8, + 0x7a, 0xca, 0x23, 0x39, 0xb9, 0x36, 0x1a, 0xb9, 0xa2, 0x41, 0x59, 0x64, + 0x44, 0xb6, 0x13, 0x86, 0xe1, 0x35, 0x4c, 0xec, 0xec, 0x5a, 0xa5, 0x4a, + 0x5a, 0x04, 0x57, 0x95, 0x28, 0x36, 0x08, 0xd7, 0xf6, 0xe6, 0x55, 0xa3, + 0x9d, 0x79, 0x86, 0xcd, 0x3e, 0x82, 0xa3, 0xe1, 0x90, 0x8c, 0x92, 0xe1, + 0x79, 0x11, 0xb2, 0xec, 0x94, 0x2d, 0x71, 0x67, 0xec, 0xf5, 0x7d, 0x94, + 0xc7, 0x3e, 0xcd, 0x8e, 0xdc, 0xd3, 0x57, 0x5a, 0xb7, 0xe3, 0xe9, 0x9d, + 0x89, 0x25, 0xad, 0x14, 0xb5, 0x5c, 0x2d, 0x56, 0xc2, 0x49, 0xf3, 0x6c, + 0x8d, 0x22, 0x87, 0xa1, 0x37, 0x92, 0xbb, 0x99, 0xd2, 0x93, 0x5d, 0x8b, + 0x97, 0x66, 0x56, 0x98, 0xa4, 0xd3, 0xdf, 0xf5, 0x23, 0xfd, 0x4d, 0xba, + 0xea, 0xf5, 0x6d, 0x2a, 0x55, 0xe5, 0x3b, 0x44, 0x2a, 0x44, 0x70, 0xcf, + 0xcd, 0x99, 0x28, 0xaf, 0x76, 0xbc, 0x50, 0x7c, 0x93, 0x37, 0x75, 0x24, + 0x5e, 0xc5, 0x81, 0x47, 0xa0, 0xe2, 0xb8, 0x8a, 0xac, 0xd5, 0x3d, 0xa8, + 0xc1, 0x94, 0xab, 0x4b, 0xbc, 0x5c, 0x1b, 0x3f, 0x30, 0x8d, 0x6f, 0x0a, + 0xde, 0x61, 0x73, 0xb3, 0x50, 0x56, 0x96, 0x8a, 0x5c, 0x84, 0xbb, 0x0f, + 0x9b, 0xbe, 0x50, 0x51, 0x56, 0x72, 0x6e, 0xbe, 0xf5, 0xc3, 0x88, 0x16, + 0x52, 0xa4, 0x02, 0xad, 0xd4, 0x20, 0x66, 0x40, 0x1c, 0xcb, 0xc2, 0xf7, + 0x3b, 0x1e, 0xae, 0x5d, 0x6f, 0x8b, 0xae, 0xfb, 0x58, 0xa9, 0xf2, 0x6f, + 0x7e, 0xfe, 0xe1, 0x03, 0x09, 0xe0, 0x46, 0x95, 0x9f, 0xfc, 0x21, 0x8a, + 0x4e, 0x20, 0x81, 0x5b, 0xfa, 0x71, 0xf7, 0x50, 0xfb, 0xd5, 0x5a, 0x9e, + 0x2a, 0xff, 0x9d, 0x1f, 0xac, 0x53, 0x79, 0x39, 0x41, 0xc9, 0x4c, 0x2a, + 0x76, 0x77, 0x76, 0xda, 0x3b, 0x09, 0x91, 0xe0, 0x1c, 0xd3, 0x7f, 0x9e, + 0x48, 0x76, 0x57, 0x16, 0xc9, 0x2f, 0xc2, 0x6b, 0xad, 0xe9, 0x12, 0x7d, + 0xa0, 0x4d, 0x39, 0xff, 0xc5, 0x95, 0xff, 0x0e, 0x65, 0xd7, 0xa8, 0xfc, + 0x14, 0xe0, 0x73, 0xd4, 0x24, 0x21, 0x00, 0x4a, 0xfa, 0xb7, 0x08, 0x60, + 0x95, 0xd0, 0xf7, 0x2d, 0x7d, 0xbf, 0x76, 0x7a, 0x52, 0xf8, 0xdc, 0xbb, + 0x71, 0xdf, 0x69, 0xaa, 0xbe, 0xf3, 0xa4, 0x94, 0x9e, 0x28, 0xf6, 0xbd, + 0x5b, 0x76, 0x9d, 0x9d, 0x1b, 0xc9, 0x6e, 0xd5, 0x4a, 0x3f, 0xf7, 0x67, + 0x37, 0xaf, 0x73, 0xc6, 0x5e, 0x98, 0x7a, 0xf7, 0xfd, 0xd9, 0x7f, 0x76, + 0xb5, 0xdf, 0xbf, 0x7c, 0xf6, 0x6e, 0x75, 0x1f, 0x5f, 0xfe, 0xc4, 0xce, + 0x3d, 0x7f, 0x83, 0x5e, 0x7e, 0x3b, 0xe5, 0x11, 0x7a, 0xb7, 0x6d, 0xa3, + 0xe6, 0x6e, 0xb2, 0x81, 0x70, 0xbc, 0xf4, 0xdf, 0xd1, 0x3c, 0x1b, 0xe8, + 0xd1, 0xbb, 0x4a, 0x6c, 0xa3, 0xe3, 0xc8, 0xbe, 0xfd, 0x48, 0xf8, 0xa3, + 0xdf, 0x87, 0x67, 0x88, 0x14, 0xf2, 0x8b, 0x12, 0x75, 0x70, 0x2c, 0x8c, + 0xec, 0xdb, 0x0e, 0x87, 0x4f, 0x6e, 0x24, 0xbd, 0x15, 0xab, 0xed, 0x4f, + 0xef, 0xa7, 0xd6, 0xfe, 0xf4, 0xdf, 0x51, 0xe9, 0x0d, 0xa8, 0x4c, 0xb2, + 0xa7, 0xbd, 0xfb, 0xee, 0xc3, 0xfb, 0xa3, 0x5f, 0xae, 0x6b, 0x1a, 0xf0, + 0x82, 0x3e, 0x1c, 0xb5, 0xfe, 0x37, 0x19, 0x07, 0xb0, 0xfc, 0xe2, 0xf0, + 0x9b, 0xa3, 0x1b, 0xf0, 0x8c, 0x23, 0x89, 0x9b, 0x8c, 0x5b, 0x64, 0x98, + 0x7e, 0x79, 0xf8, 0xe6, 0xcd, 0xe1, 0x0d, 0xb8, 0x1e, 0xd9, 0x93, 0x89, + 0xfd, 0xef, 0x63, 0xfb, 0xf8, 0xd5, 0x6f, 0x6e, 0x22, 0x6b, 0xcc, 0x1c, + 0xef, 0x5a, 0xd6, 0xf7, 0xdd, 0x35, 0x16, 0xfb, 0x98, 0xfa, 0x90, 0x8c, + 0x3c, 0x21, 0xa3, 0x5c, 0x4e, 0xb3, 0x2d, 0x47, 0x39, 0x9c, 0x4b, 0x67, + 0xf0, 0x1a, 0x77, 0xd1, 0x2d, 0xf2, 0xc4, 0xe5, 0x0a, 0xfb, 0x31, 0xde, + 0xd8, 0x34, 0x2c, 0xf2, 0x73, 0xca, 0xa6, 0xa9, 0x78, 0x80, 0xd9, 0x67, + 0x30, 0x01, 0x60, 0x49, 0x2f, 0xa8, 0xa8, 0x73, 0x59, 0x2b, 0xd2, 0x78, + 0x81, 0x59, 0xff, 0x4a, 0x34, 0x28, 0x3c, 0x70, 0x43, 0x1a, 0xcf, 0xb0, + 0x53, 0x74, 0x25, 0x1a, 0x74, 0x32, 0xe2, 0xa6, 0x34, 0xa2, 0xd5, 0x44, + 0xd5, 0x8b, 0x6e, 0x2a, 0x29, 0x50, 0xc0, 0xd6, 0x9a, 0x55, 0x89, 0x40, + 0x5b, 0xd6, 0xa2, 0xc3, 0x68, 0xd7, 0xec, 0x1f, 0x77, 0xa5, 0xd8, 0xae, + 0x7d, 0x26, 0xde, 0x52, 0x08, 0x7c, 0x8d, 0x71, 0xd5, 0x4c, 0x22, 0xb9, + 0xb8, 0x87, 0xe2, 0x77, 0x31, 0x89, 0xd2, 0x07, 0x2b, 0xd4, 0xb1, 0x5f, + 0x7e, 0x9d, 0xc8, 0x3d, 0x0d, 0xaa, 0xb1, 0xb4, 0xe2, 0x4d, 0x93, 0xa9, + 0x48, 0x7e, 0x2d, 0x44, 0xb5, 0xf4, 0xca, 0xa4, 0xcc, 0x8f, 0xcd, 0x5b, + 0xf2, 0x5d, 0x33, 0xf4, 0xde, 0xc7, 0xc4, 0xfb, 0xfd, 0x92, 0xef, 0xca, + 0xbc, 0x66, 0x1d, 0x96, 0x5f, 0x7e, 0x96, 0x5d, 0x8c, 0x25, 0xaa, 0x58, + 0x8b, 0xe5, 0xef, 0x63, 0xc5, 0x4a, 0xbc, 0xdf, 0x72, 0xd5, 0xb5, 0x90, + 0x0c, 0x84, 0x7c, 0x7f, 0x04, 0xd7, 0x4e, 0xfe, 0x8c, 0x1b, 0x2a, 0x3e, + 0xcd, 0xce, 0x62, 0x5e, 0x20, 0xb0, 0x83, 0xa7, 0x76, 0xe6, 0xad, 0xce, + 0xf2, 0x1d, 0xd3, 0x4b, 0x5f, 0x2c, 0x5d, 0x4a, 0x90, 0xe3, 0x57, 0x96, + 0x41, 0x94, 0x68, 0x5a, 0x7a, 0x29, 0xf8, 0x49, 0xcf, 0xb5, 0xf1, 0x7c, + 0xf0, 0x5d, 0xe0, 0xff, 0x9e, 0x86, 0x91, 0xb1, 0x4f, 0xb1, 0x3c, 0xfb, + 0x00, 0x87, 0xfc, 0xff, 0xf1, 0x57, 0x1c, 0x03, 0x6b, 0x3e, 0x91, 0x75, + 0xb2, 0xd6, 0xd9, 0xf3, 0x5c, 0xd8, 0x84, 0xfe, 0x54, 0x78, 0x0b, 0x9a, + 0x50, 0x37, 0x9b, 0xd2, 0xb4, 0xdb, 0xb7, 0x5b, 0xdc, 0x56, 0x4e, 0xbc, + 0x3f, 0x36, 0xd7, 0x52, 0x52, 0x1c, 0xcb, 0x76, 0xd7, 0xe3, 0x2e, 0x1f, + 0x67, 0x9a, 0x1c, 0x27, 0x9d, 0xa1, 0x55, 0xc6, 0xbe, 0x59, 0xbc, 0xa2, + 0x0e, 0x9b, 0x73, 0xeb, 0x14, 0xab, 0x39, 0x1c, 0xd1, 0x4b, 0xbd, 0xf9, + 0x22, 0x92, 0x77, 0xc3, 0xf2, 0xe3, 0x37, 0xc7, 0xaf, 0x8e, 0x1e, 0x57, + 0x1e, 0x74, 0xbb, 0xb5, 0xa6, 0xf5, 0xc7, 0x3f, 0x5a, 0x06, 0x16, 0xe7, + 0xfb, 0x7e, 0x89, 0xb0, 0x33, 0xb4, 0xd4, 0x00, 0x7f, 0x08, 0x9c, 0x01, + 0x4a, 0x6f, 0x3d, 0xae, 0x58, 0x07, 0xf1, 0x3b, 0x10, 0xcc, 0x1f, 0x55, + 0x05, 0xaf, 0x70, 0xae, 0xbb, 0xfe, 0xa8, 0x5c, 0xc2, 0x9b, 0x8e, 0x07, + 0x22, 0x92, 0x9b, 0xae, 0x2b, 0xfb, 0x69, 0xc0, 0x01, 0x4e, 0x61, 0x4e, + 0x88, 0x0d, 0x34, 0xe8, 0x91, 0x7c, 0xd3, 0xf2, 0xb3, 0x8b, 0x57, 0x83, + 0x72, 0xee, 0xac, 0x51, 0xa5, 0xce, 0x9a, 0x56, 0xd7, 0x67, 0xa3, 0xbb, + 0xd6, 0x63, 0xee, 0x27, 0x8f, 0x57, 0x45, 0x18, 0xaf, 0xa3, 0x15, 0xa1, + 0x1a, 0xa3, 0x36, 0x49, 0x4c, 0xa9, 0x83, 0x52, 0x4a, 0x94, 0x79, 0xe1, + 0xf2, 0x29, 0x3b, 0xbd, 0x10, 0x86, 0x3a, 0x0e, 0xf9, 0x0d, 0xf3, 0xa8, + 0x3a, 0x40, 0x7f, 0x84, 0xfb, 0x6b, 0x2c, 0x6c, 0xab, 0xb0, 0xe0, 0x55, + 0xe0, 0x94, 0xf4, 0xdc, 0xd3, 0x47, 0x07, 0xf8, 0x3c, 0x2b, 0x03, 0x3c, + 0xf7, 0xa7, 0x17, 0x74, 0xd9, 0x52, 0x9c, 0x23, 0xf8, 0xa0, 0x74, 0x89, + 0x54, 0xad, 0x7c, 0xe4, 0x8d, 0x5c, 0x27, 0x1c, 0x57, 0xac, 0x33, 0x29, + 0xfa, 0x6a, 0x06, 0xd2, 0x89, 0xea, 0x8c, 0xe4, 0xd5, 0xd0, 0xb2, 0x93, + 0xa8, 0x2d, 0x27, 0xc4, 0x14, 0x25, 0x0c, 0xe9, 0x6e, 0x24, 0x0a, 0x4f, + 0x85, 0x55, 0x42, 0x7a, 0xc1, 0x2f, 0xd8, 0x21, 0x16, 0xed, 0x99, 0xcb, + 0xaf, 0xa2, 0x56, 0xf8, 0x81, 0x84, 0xcf, 0x06, 0x62, 0x16, 0x63, 0xb9, + 0xba, 0x26, 0x5d, 0xdd, 0x9c, 0xc2, 0xeb, 0x24, 0x5a, 0x96, 0x01, 0x4e, + 0x28, 0xe6, 0x8d, 0x3b, 0x18, 0x54, 0xf9, 0x52, 0xd5, 0x64, 0xd3, 0x36, + 0x77, 0xca, 0x32, 0x7d, 0x37, 0x99, 0xab, 0xca, 0x99, 0xcc, 0x5f, 0xbc, + 0xb2, 0x7e, 0xd9, 0x2e, 0x23, 0xbe, 0xf0, 0xb1, 0x92, 0x84, 0x8b, 0xb7, + 0xc5, 0x03, 0x38, 0xfe, 0x9d, 0x04, 0x40, 0xb3, 0x25, 0x61, 0xe4, 0x63, + 0x1e, 0x2c, 0xde, 0x6b, 0x0e, 0x98, 0xf7, 0xfa, 0x77, 0x01, 0xa1, 0xa3, + 0x20, 0xf0, 0x83, 0x26, 0x80, 0x10, 0xe0, 0x71, 0x07, 0x70, 0xac, 0x22, + 0x95, 0xc3, 0x62, 0x32, 0xec, 0xd6, 0x2d, 0xe8, 0x3c, 0x8e, 0x63, 0x2e, + 0x42, 0xd1, 0x02, 0x0a, 0x88, 0x00, 0xab, 0xe4, 0x75, 0xeb, 0x3b, 0x97, + 0xce, 0x28, 0xe3, 0x54, 0xa5, 0x6c, 0xd1, 0xf7, 0x47, 0xcf, 0xdf, 0xbd, + 0x7d, 0x7b, 0xf4, 0xfc, 0x83, 0x7a, 0x7f, 0x34, 0x21, 0x8e, 0x02, 0xb4, + 0xfd, 0x08, 0x0a, 0x59, 0x4f, 0x22, 0x74, 0x71, 0xab, 0xd5, 0x1b, 0x1a, + 0x01, 0x81, 0x4c, 0xdf, 0x70, 0x35, 0xa1, 0x67, 0xab, 0x5e, 0x07, 0xa0, + 0xb5, 0xb5, 0x85, 0xd7, 0x22, 0x3a, 0x61, 0xdc, 0x54, 0x35, 0x1c, 0xab, + 0x22, 0x18, 0x24, 0x81, 0x71, 0xa3, 0x1e, 0xb8, 0xc0, 0x4b, 0xd9, 0x11, + 0xce, 0x60, 0xbc, 0x48, 0xbc, 0x10, 0x51, 0x25, 0x4d, 0x4c, 0x8d, 0x0c, + 0x49, 0x7a, 0xaa, 0xe0, 0xbd, 0x91, 0x7c, 0xee, 0x7b, 0x43, 0x67, 0x94, + 0x20, 0xd8, 0xe7, 0x84, 0x99, 0x7c, 0xb1, 0xaf, 0xa4, 0x9a, 0x2e, 0xf1, + 0x51, 0xf4, 0x42, 0x74, 0x75, 0x6a, 0x23, 0x29, 0x70, 0x56, 0x6e, 0x99, + 0x28, 0xa2, 0xb0, 0xa8, 0xc8, 0x7b, 0x1c, 0x67, 0xbc, 0x40, 0x01, 0xfe, + 0x2e, 0x02, 0xe0, 0x36, 0x03, 0x00, 0x7f, 0x73, 0x0a, 0x90, 0x9a, 0x5b, + 0x7c, 0xa4, 0xd4, 0xf1, 0xf2, 0x29, 0x6e, 0x49, 0xd3, 0x5a, 0xf7, 0x20, + 0x13, 0x91, 0xe4, 0x24, 0xc9, 0xa6, 0x32, 0x7d, 0xc8, 0xfa, 0x28, 0x7f, + 0x25, 0x33, 0x27, 0xe6, 0xd8, 0x24, 0x00, 0x5e, 0x0d, 0xc9, 0xce, 0xa0, + 0xe9, 0xc0, 0x2a, 0x31, 0xa6, 0xf6, 0x6a, 0xe0, 0x15, 0xe0, 0x18, 0x12, + 0x91, 0xc2, 0xf2, 0xf2, 0x22, 0xcc, 0x6c, 0x7c, 0x6f, 0x14, 0xeb, 0xe7, + 0xa9, 0x10, 0x53, 0xba, 0x9e, 0x61, 0x02, 0xb3, 0x8e, 0x72, 0x76, 0x64, + 0xa5, 0x7a, 0xe7, 0xc0, 0x17, 0xa1, 0xf7, 0x38, 0x22, 0x33, 0x72, 0x0a, + 0xb0, 0xfc, 0xab, 0xc7, 0x53, 0x8a, 0x8e, 0x89, 0xca, 0x6c, 0x8a, 0x65, + 0x6a, 0xbf, 0x36, 0x20, 0xfb, 0xa4, 0xec, 0x37, 0xde, 0x6c, 0x7a, 0x8a, + 0xab, 0x22, 0xc6, 0x01, 0xf8, 0xa8, 0xc6, 0x6f, 0x32, 0x87, 0xc4, 0x8f, + 0x06, 0x23, 0x91, 0x6a, 0x14, 0x76, 0x78, 0xa9, 0x89, 0xe9, 0x3b, 0xdd, + 0x91, 0x07, 0xd4, 0x90, 0xe9, 0xde, 0xcd, 0xdb, 0x5b, 0x91, 0xfc, 0x92, + 0xbe, 0x93, 0x19, 0xb4, 0xc3, 0x13, 0xe9, 0xcf, 0xf0, 0x95, 0x4c, 0xe6, + 0xc9, 0x13, 0x49, 0x12, 0xdf, 0xc9, 0x0c, 0x6a, 0x96, 0x13, 0x20, 0x03, + 0xcb, 0x44, 0x1c, 0x7b, 0x06, 0x91, 0x90, 0xb9, 0xd1, 0x42, 0x65, 0x93, + 0x84, 0x3c, 0xba, 0xd1, 0x22, 0x5b, 0xdc, 0x85, 0xb0, 0x17, 0x95, 0xa5, + 0x3c, 0x59, 0xb0, 0x91, 0x2c, 0x16, 0xc7, 0xd1, 0x51, 0xee, 0x58, 0xce, + 0x81, 0xd5, 0x66, 0xb2, 0x24, 0x94, 0x8e, 0xcd, 0x01, 0xe8, 0x05, 0xbd, + 0xe3, 0xcb, 0x7a, 0x7d, 0xf4, 0x0d, 0xae, 0x2d, 0x52, 0xa5, 0xc5, 0x60, + 0x61, 0x19, 0x7f, 0x4a, 0xdd, 0xcb, 0x5e, 0xad, 0x84, 0xde, 0x1f, 0xc4, + 0xe2, 0xd1, 0x9d, 0xca, 0xd2, 0x69, 0x79, 0xae, 0xf5, 0x80, 0x67, 0x58, + 0x97, 0x29, 0x79, 0x60, 0xb3, 0xc4, 0x4a, 0xc0, 0xea, 0x67, 0x1e, 0xca, + 0xac, 0x45, 0x02, 0x8a, 0x7e, 0x5a, 0xc7, 0x22, 0xc0, 0xb0, 0x57, 0x0c, + 0xf7, 0x9d, 0xcf, 0x02, 0xa1, 0xd1, 0x90, 0x7f, 0x66, 0xa1, 0xcc, 0x4a, + 0x96, 0xc6, 0x46, 0xbf, 0x73, 0x84, 0xd3, 0xeb, 0x3e, 0x1a, 0xf4, 0x3b, + 0xb5, 0xa8, 0x93, 0x01, 0x35, 0x8b, 0x1e, 0x00, 0x7c, 0xcb, 0x4d, 0x4b, + 0x52, 0x3d, 0x56, 0xfb, 0xff, 0xd2, 0xd0, 0x66, 0xb5, 0x80, 0x24, 0x04, + 0xc3, 0x30, 0xe5, 0x56, 0xe0, 0x94, 0x14, 0xa4, 0x09, 0xb0, 0x03, 0x10, + 0x5f, 0xd6, 0x3b, 0x9a, 0xd1, 0xa4, 0x40, 0xe2, 0xa0, 0x76, 0x8c, 0xea, + 0xe5, 0x77, 0xaf, 0xde, 0x59, 0x94, 0x90, 0x07, 0x7b, 0x37, 0x65, 0xe7, + 0x23, 0x06, 0x55, 0xcf, 0x19, 0x48, 0x13, 0xbb, 0x23, 0xaa, 0xf2, 0xda, + 0xc3, 0x2c, 0x88, 0x89, 0x95, 0x91, 0xea, 0xc1, 0x66, 0x59, 0xc7, 0xb4, + 0x69, 0x32, 0x07, 0x66, 0xa2, 0x53, 0xd4, 0x15, 0x29, 0xda, 0x84, 0x6e, + 0x1c, 0xa8, 0x97, 0x8c, 0x66, 0xa1, 0x4d, 0x50, 0x08, 0xc0, 0x4a, 0x74, + 0xd6, 0xb1, 0xf3, 0x25, 0x4b, 0xdd, 0x04, 0x47, 0x8c, 0x86, 0xf1, 0x51, + 0xfa, 0x21, 0x1c, 0x77, 0x69, 0x26, 0xd2, 0x75, 0x8a, 0x43, 0x1c, 0x80, + 0xc7, 0x4b, 0x83, 0x33, 0x0d, 0x1d, 0x07, 0x27, 0x28, 0x57, 0x9c, 0xa7, + 0x9b, 0x20, 0x8e, 0x2a, 0x90, 0xc9, 0x30, 0x57, 0x43, 0xe4, 0x41, 0x22, + 0x8f, 0x20, 0x78, 0xf4, 0xce, 0x10, 0x37, 0x33, 0x7a, 0x62, 0x57, 0xf7, + 0x33, 0x09, 0x9a, 0x82, 0x4c, 0x6e, 0x59, 0x89, 0x41, 0x65, 0x79, 0x6b, + 0xca, 0xa9, 0x29, 0x70, 0xb9, 0x69, 0x82, 0x0c, 0x22, 0xfd, 0xc8, 0x18, + 0x33, 0xc1, 0xd4, 0x3e, 0xd2, 0x77, 0x32, 0x23, 0xb7, 0xc3, 0x87, 0xea, + 0x1c, 0xa7, 0x59, 0x3a, 0x31, 0xe3, 0x4d, 0x51, 0xf4, 0x9a, 0xdc, 0x30, + 0xea, 0x55, 0x68, 0xb9, 0x33, 0x32, 0xdf, 0xf4, 0x9c, 0x04, 0x33, 0x53, + 0x7b, 0x40, 0x1d, 0xc6, 0x47, 0x10, 0x13, 0x03, 0x86, 0x75, 0x4c, 0x20, + 0x16, 0xc3, 0x58, 0xe5, 0xdf, 0x96, 0xf6, 0x7f, 0x5b, 0x42, 0x95, 0x71, + 0x8e, 0x9a, 0xc6, 0xc1, 0x94, 0x87, 0x97, 0x9c, 0x91, 0x92, 0xd3, 0x74, + 0x4c, 0xe5, 0x74, 0x42, 0x06, 0x90, 0x6d, 0xbf, 0xce, 0x93, 0x09, 0x59, + 0x88, 0xf4, 0x50, 0x4e, 0x49, 0x09, 0x2f, 0x66, 0xd1, 0x10, 0x6e, 0x50, + 0x4c, 0xe5, 0xe4, 0xf1, 0x5b, 0x9f, 0x8d, 0x54, 0x72, 0x2a, 0x59, 0x92, + 0x40, 0x57, 0x0a, 0xd8, 0x73, 0x17, 0x3a, 0xc3, 0x6f, 0x05, 0x3a, 0x2e, + 0x12, 0x06, 0xe1, 0xfd, 0xfa, 0xc3, 0xe8, 0xac, 0x3d, 0xdf, 0xc3, 0xc4, + 0x6b, 0x89, 0x3f, 0xec, 0x39, 0xb0, 0xde, 0x31, 0xe0, 0x22, 0x8f, 0xf8, + 0x97, 0x00, 0xa0, 0x51, 0xdf, 0x9f, 0x02, 0x7e, 0x36, 0x5f, 0xe6, 0x17, + 0xff, 0x0c, 0x9a, 0x13, 0x23, 0x75, 0x08, 0xa9, 0x05, 0x9f, 0x22, 0xe9, + 0x19, 0x2f, 0xf7, 0x89, 0x4f, 0x05, 0xac, 0xe5, 0x48, 0x40, 0xce, 0x3d, + 0xfc, 0x1a, 0xd4, 0xad, 0x97, 0xa2, 0x17, 0xcc, 0x9c, 0x53, 0x0b, 0x66, + 0x25, 0xc3, 0x86, 0x75, 0xea, 0xf9, 0x53, 0xcb, 0x9f, 0xc4, 0xcf, 0xd0, + 0x44, 0x2e, 0x17, 0x88, 0xc5, 0x7e, 0x32, 0x7f, 0xa3, 0x39, 0x06, 0xe2, + 0x3e, 0xbc, 0xb3, 0x8c, 0x93, 0xfc, 0x8a, 0x2e, 0x0f, 0x74, 0x5d, 0x3c, + 0x09, 0xef, 0x5e, 0x69, 0xc6, 0x5e, 0xf2, 0x73, 0xe3, 0x1d, 0x0b, 0xa6, + 0xb8, 0xdc, 0x45, 0x36, 0x43, 0x78, 0x68, 0x1a, 0x6c, 0x89, 0x83, 0xfc, + 0x33, 0xd7, 0xb6, 0x83, 0x25, 0xfe, 0xf1, 0x0b, 0x0a, 0x8a, 0xf7, 0x9c, + 0xdf, 0x2b, 0xd2, 0x67, 0xb6, 0xa7, 0x9d, 0x64, 0xa1, 0x7d, 0x64, 0xd5, + 0xb2, 0xba, 0xd1, 0xee, 0x41, 0x20, 0x22, 0xc1, 0xcc, 0x02, 0x0f, 0x19, + 0xb5, 0x08, 0xfb, 0xe3, 0xd9, 0x7c, 0xa9, 0x9b, 0x7c, 0x88, 0x5b, 0xc3, + 0x66, 0xe8, 0x30, 0xa8, 0x11, 0x62, 0x2e, 0xfd, 0x31, 0xc8, 0x09, 0x11, + 0xe2, 0x7e, 0x9e, 0x11, 0xb1, 0x86, 0x2a, 0x40, 0xcd, 0x79, 0xfa, 0x5c, + 0x4f, 0x7b, 0xc2, 0x73, 0x11, 0x9c, 0x46, 0xdc, 0x09, 0x0a, 0xfd, 0x60, + 0xa3, 0xd2, 0x74, 0xf1, 0xd9, 0xd0, 0x8e, 0x42, 0x5f, 0x60, 0x87, 0xe1, + 0xef, 0x4f, 0x8d, 0x1b, 0xfc, 0xc5, 0xb7, 0x41, 0x5b, 0xfa, 0xc1, 0x70, + 0x1d, 0xb4, 0x27, 0x9c, 0xf7, 0x80, 0xb9, 0x49, 0xc4, 0xac, 0xc8, 0x03, + 0xf6, 0xfd, 0x05, 0x2e, 0xb0, 0xbf, 0xc0, 0x05, 0xb6, 0x67, 0xf3, 0x42, + 0x1f, 0xd8, 0x89, 0x16, 0x7b, 0xc0, 0x2f, 0x81, 0x94, 0xbc, 0xd7, 0x09, + 0x79, 0xaf, 0x63, 0x7f, 0x04, 0xde, 0x07, 0x8b, 0xdd, 0xde, 0x6c, 0x01, + 0xd7, 0xe6, 0x02, 0xd7, 0xbb, 0xbb, 0xd0, 0x97, 0x6b, 0x3c, 0xde, 0x23, + 0xda, 0xe9, 0x28, 0xc8, 0x75, 0x62, 0xa5, 0x1b, 0xcf, 0x9c, 0x81, 0x33, + 0x12, 0xba, 0x90, 0xae, 0x71, 0xde, 0xe9, 0xb5, 0xa3, 0x95, 0x8b, 0x15, + 0x7b, 0xbe, 0x93, 0xd5, 0x3d, 0x5f, 0xaa, 0xc5, 0x07, 0xdb, 0x76, 0x37, + 0xe9, 0xf8, 0x0a, 0x6f, 0x55, 0xbf, 0x77, 0x24, 0x95, 0x12, 0x72, 0xf4, + 0x6c, 0x7b, 0xb2, 0x82, 0xf7, 0x3b, 0xb7, 0xd1, 0x25, 0xe6, 0xfe, 0x5d, + 0xfa, 0xbf, 0x68, 0x07, 0x56, 0x8e, 0xdb, 0xf8, 0xb5, 0x2b, 0x78, 0xc8, + 0x59, 0xd7, 0xd7, 0xc7, 0xb3, 0xf8, 0x5f, 0xf0, 0x7c, 0x49, 0xc3, 0xa6, + 0x36, 0xcc, 0x93, 0x6d, 0x9d, 0x92, 0x59, 0x10, 0xde, 0x42, 0xd7, 0xf7, + 0xd0, 0x1d, 0x89, 0x09, 0x3a, 0xe3, 0x12, 0xef, 0xf7, 0x34, 0x5c, 0xec, + 0xfe, 0x1e, 0xa2, 0xed, 0x45, 0x00, 0x07, 0x78, 0xb1, 0xff, 0xfb, 0x33, + 0x8c, 0xce, 0x08, 0x84, 0x2f, 0xf1, 0x7f, 0x5f, 0x8a, 0x53, 0x4c, 0xf8, + 0xd1, 0xff, 0x08, 0xf4, 0x7a, 0xef, 0x97, 0x6a, 0xc7, 0xd6, 0xce, 0x3a, + 0x75, 0xc4, 0x97, 0x25, 0x0e, 0xf0, 0xa9, 0x70, 0x0b, 0x1d, 0x60, 0xe7, + 0x7a, 0xff, 0xf7, 0xdd, 0x19, 0x6a, 0x85, 0x8e, 0x1b, 0x0a, 0x4e, 0x12, + 0xde, 0x12, 0xf7, 0x97, 0xbe, 0x2c, 0xf6, 0x81, 0xc9, 0xe3, 0xb8, 0xd6, + 0xff, 0x45, 0x1d, 0x12, 0xe3, 0x04, 0x0d, 0x87, 0x33, 0xd7, 0x38, 0xbf, + 0x23, 0x81, 0x01, 0x49, 0x50, 0x98, 0x7c, 0xa9, 0xf7, 0x9b, 0xf2, 0x28, + 0xfc, 0x29, 0x08, 0xd9, 0x5e, 0x91, 0x13, 0x9c, 0x81, 0x03, 0x76, 0x32, + 0xb6, 0x39, 0xd0, 0xfc, 0xc0, 0x3d, 0x16, 0x91, 0xc6, 0x9b, 0x1b, 0xab, + 0x57, 0xf2, 0x85, 0xa5, 0xfe, 0x65, 0xbc, 0xe1, 0x81, 0x58, 0xe8, 0x0d, + 0x7f, 0x23, 0x66, 0x51, 0xd8, 0xbf, 0xe7, 0xd0, 0x30, 0xf9, 0x36, 0xb3, + 0x6b, 0x5c, 0x61, 0x2c, 0x01, 0xa0, 0x19, 0xbd, 0x68, 0x91, 0x13, 0xfc, + 0xd1, 0x21, 0xbf, 0xdd, 0xb8, 0x49, 0xd7, 0x78, 0xc1, 0x1e, 0xf4, 0xda, + 0x63, 0xaf, 0x61, 0xe2, 0x24, 0xfd, 0xdf, 0x84, 0x9f, 0x65, 0x7d, 0x8b, + 0xed, 0xf1, 0x96, 0x08, 0x97, 0x7b, 0xc4, 0x13, 0xdb, 0xe5, 0xb0, 0xfe, + 0x0c, 0xb8, 0xea, 0xd6, 0x33, 0xe1, 0xcd, 0xa2, 0x2f, 0xc2, 0xfa, 0xf8, + 0xea, 0xe8, 0x9b, 0xa3, 0xf7, 0xd6, 0x2f, 0x8f, 0xde, 0x3f, 0x7b, 0xf5, + 0xf6, 0x9b, 0xa3, 0xb7, 0x55, 0x6b, 0x36, 0x21, 0x54, 0x9e, 0xdf, 0x1f, + 0x53, 0x89, 0x2f, 0x33, 0x6e, 0x3d, 0x67, 0xa9, 0x33, 0xfc, 0x9a, 0x4c, + 0x16, 0x1e, 0x9c, 0xfb, 0x8a, 0xde, 0x2a, 0xd5, 0x8d, 0x69, 0x1d, 0x39, + 0x52, 0x2f, 0x67, 0xa4, 0x97, 0xf7, 0x45, 0x54, 0xfa, 0xc0, 0x9a, 0xe4, + 0xcf, 0x56, 0x8f, 0x17, 0xab, 0xf9, 0x05, 0x84, 0xbb, 0x52, 0xb4, 0xf8, + 0x85, 0x08, 0x22, 0x67, 0xb4, 0x30, 0x5c, 0xcc, 0x10, 0x63, 0x17, 0x2a, + 0xd3, 0x13, 0xce, 0xc4, 0x7a, 0xcd, 0x1e, 0x31, 0x69, 0xd0, 0xa1, 0x0e, + 0x1b, 0x87, 0x35, 0x92, 0x7d, 0x15, 0xfd, 0x2e, 0x8a, 0x84, 0x6c, 0x39, + 0xd3, 0xd6, 0xf7, 0x32, 0x57, 0x10, 0x49, 0xc6, 0x96, 0x84, 0x8f, 0x67, + 0xcb, 0xfc, 0xe2, 0x8f, 0xe8, 0x25, 0x18, 0x90, 0xb0, 0x86, 0x85, 0x51, + 0x13, 0xfa, 0x83, 0x2b, 0x7a, 0x67, 0x3c, 0x87, 0x06, 0xcf, 0x55, 0xf0, + 0x85, 0xa8, 0x66, 0x34, 0xc7, 0xb5, 0x34, 0xe8, 0xd5, 0x8e, 0x18, 0xc2, + 0xb2, 0xc1, 0xb5, 0x1c, 0x92, 0xba, 0x3f, 0xe3, 0x7a, 0x42, 0x0c, 0xa7, + 0x42, 0x21, 0xa0, 0x8b, 0x40, 0xab, 0xf8, 0x0a, 0xc3, 0x94, 0x0b, 0xad, + 0x3a, 0x8e, 0x33, 0xc9, 0x7b, 0xcf, 0xd6, 0x70, 0xe6, 0x9d, 0x92, 0xf0, + 0x1c, 0x48, 0x5f, 0xa3, 0xf4, 0xc4, 0x78, 0xa2, 0x50, 0xe2, 0xfa, 0x7a, + 0xfc, 0xb2, 0x4f, 0xa3, 0x19, 0xd4, 0x0c, 0xbf, 0x9e, 0x29, 0x97, 0x7a, + 0x8e, 0xbc, 0x2f, 0xf5, 0x67, 0xf5, 0x7c, 0x74, 0x79, 0x20, 0x96, 0xc4, + 0x97, 0x5f, 0xd8, 0x41, 0x4f, 0x14, 0x79, 0xd7, 0x51, 0xb1, 0x73, 0xfd, + 0xcf, 0xbf, 0x2f, 0x72, 0xae, 0x0b, 0x7d, 0x6b, 0xe1, 0xfc, 0xf3, 0xcf, + 0x8b, 0xbd, 0xeb, 0xc3, 0xd3, 0x2f, 0x82, 0x5c, 0x93, 0x00, 0xc1, 0x77, + 0xaa, 0x97, 0xf5, 0x96, 0x7d, 0x23, 0x0f, 0xf4, 0xfe, 0xf9, 0xb7, 0x7f, + 0xfe, 0x59, 0x04, 0x8b, 0x1c, 0xed, 0x65, 0x65, 0x4f, 0x5d, 0x7a, 0x0c, + 0x16, 0xb9, 0xdc, 0xc6, 0xe5, 0x98, 0xff, 0xf3, 0x2f, 0x63, 0x48, 0x70, + 0x91, 0xc3, 0x1d, 0xfb, 0xdb, 0x30, 0x25, 0x68, 0x63, 0x86, 0xc6, 0x78, + 0x19, 0xbb, 0x79, 0x0b, 0x3c, 0x6e, 0x11, 0x7d, 0x59, 0xbd, 0xdc, 0x6d, + 0x82, 0xcd, 0xd3, 0x00, 0xfe, 0x29, 0x16, 0x1a, 0x66, 0xa1, 0xaa, 0xc8, + 0x26, 0xdd, 0xee, 0xd9, 0xbf, 0x2d, 0xde, 0x7c, 0xe8, 0x7d, 0xb1, 0xc7, + 0xae, 0x96, 0xa6, 0x58, 0x29, 0xd8, 0x2c, 0xcb, 0x2c, 0xf7, 0xa5, 0xdf, + 0x0b, 0x07, 0xdd, 0x7b, 0xe8, 0xc3, 0x6d, 0xbc, 0xb9, 0x6f, 0x5e, 0x1c, + 0x73, 0x16, 0x5e, 0xa2, 0x95, 0xee, 0xc4, 0x0b, 0x7f, 0x49, 0xce, 0xd4, + 0xbc, 0xbe, 0x8a, 0x1f, 0xfe, 0x33, 0xf8, 0xe1, 0xf5, 0x95, 0x5c, 0xf0, + 0x97, 0xdc, 0xe9, 0x96, 0x7a, 0xe1, 0xaf, 0xe2, 0xc0, 0x33, 0xd9, 0x8d, + 0x54, 0xbd, 0x96, 0xc6, 0xa0, 0xed, 0x9b, 0xc5, 0xa0, 0xbf, 0xe5, 0x40, + 0xf7, 0x68, 0x49, 0x0c, 0xfa, 0x03, 0x56, 0x75, 0x96, 0xbb, 0xe0, 0xba, + 0x03, 0x5a, 0x0c, 0xba, 0xcc, 0x09, 0xa7, 0x2a, 0xcd, 0x6d, 0xc0, 0x5e, + 0x4c, 0x33, 0xf5, 0xca, 0x3b, 0xe1, 0x3f, 0x0b, 0x84, 0x13, 0x16, 0xf9, + 0xe0, 0xef, 0xed, 0xc1, 0x75, 0x2e, 0xf8, 0x3f, 0xff, 0xd4, 0x4b, 0xf8, + 0xe0, 0x98, 0x1e, 0x5c, 0xeb, 0x82, 0x63, 0x3c, 0x38, 0x73, 0x96, 0xfa, + 0xe0, 0x73, 0xe1, 0x44, 0x00, 0xb8, 0x26, 0x00, 0xad, 0x3d, 0xc0, 0x65, + 0x1e, 0x78, 0xc6, 0x85, 0xc1, 0xf5, 0x10, 0x0e, 0xcc, 0x4c, 0x50, 0xe8, + 0x84, 0xa7, 0x40, 0x81, 0x5d, 0x03, 0x47, 0x0f, 0xb2, 0xd0, 0x85, 0x1e, + 0xc3, 0xb1, 0x02, 0x67, 0xaf, 0x21, 0x4d, 0x77, 0x91, 0xcf, 0xb0, 0x42, + 0xb8, 0x1a, 0xa1, 0xa9, 0x6f, 0x75, 0xb8, 0x5a, 0xbe, 0x4a, 0x09, 0x3b, + 0x59, 0xe4, 0x96, 0x0e, 0x73, 0x1e, 0xc3, 0x6c, 0xea, 0x78, 0xf9, 0xfe, + 0x19, 0x4a, 0xe2, 0x53, 0xa3, 0x7d, 0xf9, 0xec, 0x3d, 0x12, 0xf0, 0xa9, + 0x13, 0xd0, 0x06, 0xb2, 0x25, 0xe2, 0x84, 0x67, 0x2f, 0x91, 0x80, 0x4f, + 0x9d, 0xf0, 0xec, 0x3d, 0x25, 0xe0, 0x33, 0x4e, 0x78, 0x49, 0x38, 0xf0, + 0xa9, 0x13, 0x3e, 0x4a, 0x32, 0xf4, 0x15, 0x27, 0x49, 0x42, 0xf4, 0x15, + 0x27, 0x49, 0x52, 0xf4, 0x15, 0x27, 0x49, 0x62, 0xf4, 0x15, 0x27, 0x49, + 0x72, 0xf8, 0x32, 0x49, 0x92, 0x20, 0x7d, 0xc5, 0xd5, 0xf8, 0xc8, 0x14, + 0xe9, 0xcb, 0x24, 0xc9, 0xaa, 0x7d, 0x4c, 0xd4, 0xed, 0x23, 0x53, 0xa4, + 0xaf, 0x98, 0xf7, 0x8f, 0x8c, 0x9e, 0xbe, 0x4c, 0x92, 0xac, 0xcf, 0xc7, + 0x04, 0xfa, 0xf7, 0x1f, 0xa9, 0x20, 0x7d, 0x19, 0xc1, 0x7d, 0x24, 0x28, + 0xfa, 0x32, 0xa2, 0x63, 0x28, 0xfa, 0x32, 0xc2, 0xfb, 0x28, 0xa5, 0xf7, + 0x31, 0x21, 0x3e, 0x4e, 0xa2, 0x2f, 0x23, 0x40, 0xc6, 0x45, 0x5f, 0x86, + 0x22, 0xf7, 0x08, 0xfa, 0xca, 0x51, 0x2c, 0x86, 0x32, 0xcd, 0x45, 0x49, + 0xf4, 0x65, 0x28, 0x72, 0x12, 0xbe, 0x0a, 0x93, 0xd2, 0x3a, 0x63, 0x36, + 0xea, 0x1b, 0xad, 0x69, 0x74, 0xf0, 0x51, 0x7a, 0xfb, 0xee, 0xfd, 0x9b, + 0xc3, 0xd7, 0x1a, 0x43, 0xb3, 0xb5, 0x47, 0x64, 0x8e, 0x30, 0x65, 0x39, + 0x3e, 0xca, 0xe2, 0x30, 0x1b, 0xe7, 0x15, 0x12, 0x89, 0x85, 0x70, 0xbc, + 0x3d, 0x8a, 0x31, 0xec, 0x22, 0x81, 0xec, 0xfc, 0xc9, 0xaf, 0x5e, 0x1c, + 0x1e, 0x7f, 0xd0, 0xc9, 0xed, 0x96, 0x4e, 0x4e, 0xa6, 0x6e, 0xef, 0xe9, + 0xd4, 0x37, 0x47, 0xdf, 0xbc, 0xfa, 0xc5, 0x1b, 0x9d, 0xbe, 0xbb, 0xad, + 0xd3, 0x8f, 0x5f, 0xbf, 0x8b, 0xab, 0xb7, 0xd7, 0x88, 0x51, 0x27, 0x93, + 0x9f, 0x18, 0x8a, 0xc9, 0xf4, 0x66, 0x33, 0x26, 0xf9, 0xf2, 0xf5, 0xe1, + 0xf3, 0x57, 0x87, 0xaf, 0xe3, 0xfa, 0x98, 0x1a, 0x99, 0x4d, 0xf5, 0xb2, + 0x4a, 0xa6, 0x46, 0x16, 0x0f, 0x41, 0x31, 0x69, 0xa4, 0x71, 0x42, 0x56, + 0x26, 0x66, 0x83, 0x7b, 0x1a, 0x01, 0xc6, 0x25, 0x30, 0x0f, 0xc9, 0xc6, + 0xa2, 0x6d, 0xc9, 0xd4, 0x6c, 0x55, 0xb7, 0x75, 0xf2, 0xeb, 0xc3, 0xf7, + 0x2f, 0x8f, 0x62, 0x01, 0xe8, 0xd4, 0x5f, 0xc9, 0x64, 0xc3, 0x39, 0xed, + 0x50, 0x7b, 0x40, 0x5b, 0xbc, 0xcc, 0xbc, 0x97, 0xee, 0xb6, 0x8d, 0xf7, + 0xce, 0x94, 0x6b, 0x8e, 0x33, 0x14, 0xf5, 0x09, 0x56, 0xc5, 0x7e, 0x1f, + 0x56, 0x18, 0xb0, 0x60, 0x6b, 0xe6, 0x14, 0xb1, 0x7f, 0xda, 0xc5, 0xb8, + 0x55, 0x8c, 0x24, 0xb1, 0x85, 0xec, 0x7d, 0x02, 0x00, 0xee, 0xdd, 0x31, + 0xe7, 0x77, 0xe1, 0xe0, 0x73, 0x5c, 0xac, 0x5c, 0xb9, 0x2c, 0xd1, 0x56, + 0x11, 0x9a, 0xef, 0x60, 0x2f, 0xd6, 0x3e, 0x95, 0x10, 0x26, 0x37, 0xaa, + 0x7a, 0x95, 0xcb, 0x40, 0x44, 0xb3, 0xc0, 0x2b, 0x8b, 0xee, 0xbb, 0x1e, + 0xd9, 0xb9, 0x3a, 0x66, 0x40, 0x30, 0x72, 0x91, 0x4f, 0x7b, 0x2f, 0xdf, + 0x0d, 0xff, 0xf8, 0xc7, 0xcb, 0x93, 0x93, 0x29, 0x3d, 0x9f, 0x9c, 0x74, + 0x3e, 0x7d, 0xbe, 0x22, 0x0b, 0x4a, 0x2f, 0x1e, 0x40, 0x30, 0xf2, 0x90, + 0xee, 0x9b, 0x7e, 0xf4, 0x28, 0xc6, 0x26, 0xaa, 0x51, 0xe5, 0x52, 0xd4, + 0x63, 0xf0, 0x6e, 0x74, 0xf5, 0xc7, 0x3f, 0xa6, 0x73, 0x87, 0xb8, 0x17, + 0x93, 0x78, 0xf0, 0xf8, 0x1d, 0x25, 0x95, 0xa8, 0x3e, 0xb6, 0xc3, 0x77, + 0x73, 0x0f, 0xf4, 0xa6, 0x30, 0xe9, 0x17, 0x65, 0xaf, 0xf2, 0xe8, 0x51, + 0x59, 0x7c, 0xf2, 0x3e, 0x77, 0x23, 0x7c, 0x54, 0xae, 0x2a, 0xcc, 0xe2, + 0xd5, 0xbe, 0xc2, 0x82, 0x32, 0x92, 0xe7, 0xf8, 0xd9, 0x47, 0x0d, 0x69, + 0xff, 0x4d, 0x1d, 0x52, 0x40, 0x25, 0x67, 0x68, 0xee, 0x00, 0x74, 0x05, + 0x83, 0x55, 0xa3, 0x3a, 0xb3, 0xa2, 0xde, 0x42, 0x81, 0x7b, 0xaf, 0xbb, + 0x5d, 0xef, 0x6b, 0x55, 0xcd, 0x3e, 0x4f, 0x11, 0x40, 0xb1, 0x53, 0xf6, + 0x93, 0x60, 0xe6, 0x77, 0x15, 0xf7, 0xa9, 0x5a, 0x7e, 0xe5, 0x8a, 0x19, + 0x36, 0x42, 0xd3, 0x12, 0xb3, 0x92, 0x55, 0x53, 0x5c, 0xa8, 0x7d, 0xb2, + 0x51, 0x95, 0x9f, 0x18, 0xa1, 0xb8, 0xba, 0x2a, 0x57, 0xaa, 0x7e, 0xd7, + 0x40, 0x27, 0xd8, 0x57, 0x4d, 0x40, 0x14, 0xfc, 0xae, 0xa8, 0xf7, 0xf1, + 0x3a, 0xdc, 0x32, 0x15, 0xad, 0x96, 0x78, 0x96, 0x59, 0x42, 0xe6, 0x1f, + 0xff, 0x48, 0x09, 0xfb, 0x8a, 0xa6, 0x5f, 0x57, 0xc1, 0xf2, 0x6e, 0xa4, + 0x7f, 0x55, 0xfd, 0x3a, 0x03, 0x83, 0xaa, 0x7f, 0xa5, 0xc0, 0xa2, 0xb2, + 0x57, 0x15, 0x95, 0xaa, 0x77, 0x85, 0xfa, 0x55, 0x83, 0x25, 0xb4, 0xab, + 0x3e, 0xa8, 0xfb, 0xd8, 0xe5, 0xdd, 0x80, 0x6c, 0x22, 0x08, 0x3f, 0xea, + 0x36, 0x45, 0xbb, 0x52, 0x8d, 0xd3, 0x3c, 0xa4, 0x61, 0x17, 0x6d, 0xa9, + 0xc2, 0xba, 0x13, 0xa4, 0x99, 0xec, 0xbb, 0x7e, 0x88, 0x99, 0x9d, 0x9f, + 0x61, 0x32, 0xa8, 0x63, 0xea, 0xfa, 0x1c, 0x8b, 0xc0, 0x5e, 0xf7, 0x41, + 0xa3, 0x1a, 0xa0, 0x6d, 0x06, 0xe0, 0x17, 0x3f, 0x20, 0xf2, 0xd0, 0xf7, + 0xba, 0x5e, 0x35, 0x28, 0x64, 0xd4, 0x49, 0x0a, 0xd9, 0x19, 0x96, 0x31, + 0x05, 0xe0, 0x2d, 0x9e, 0x58, 0x81, 0x7e, 0xd0, 0x85, 0x30, 0x49, 0xe9, + 0x62, 0x1d, 0xaf, 0x48, 0x0c, 0x26, 0xe1, 0xaa, 0x1a, 0x76, 0x2f, 0x71, + 0x46, 0x4c, 0xf5, 0x08, 0xc6, 0xf3, 0x8d, 0xa0, 0xcb, 0x27, 0x9a, 0x62, + 0xbb, 0x8a, 0x0e, 0x57, 0x94, 0xd1, 0xfe, 0x6a, 0x5b, 0xb4, 0x7f, 0xf4, + 0xc6, 0x8e, 0xc6, 0x75, 0xb8, 0x51, 0x03, 0x7f, 0x52, 0xae, 0x10, 0xe8, + 0x2f, 0xa6, 0xb4, 0xaf, 0xb0, 0xb3, 0x23, 0xda, 0xd5, 0x20, 0x5b, 0xea, + 0x25, 0x66, 0xc3, 0x2f, 0x6c, 0x52, 0xb4, 0x4e, 0xb3, 0xde, 0xae, 0x9a, + 0xdc, 0x0f, 0x28, 0x82, 0x10, 0x60, 0x67, 0x1b, 0xa5, 0x98, 0x8f, 0x28, + 0xa0, 0x90, 0x78, 0x73, 0xab, 0x51, 0x1d, 0x88, 0xde, 0x6c, 0xd4, 0x79, + 0xd0, 0xbc, 0xda, 0xcf, 0xea, 0x4e, 0xa2, 0x41, 0x04, 0x14, 0x89, 0xd5, + 0x21, 0x23, 0xfc, 0xcb, 0x2b, 0x29, 0x7c, 0xbf, 0xcb, 0x42, 0x66, 0xd5, + 0x3a, 0x71, 0x1d, 0xf2, 0x4a, 0x45, 0x80, 0x3a, 0x73, 0xeb, 0xa3, 0x6f, + 0x56, 0x95, 0x42, 0xd0, 0x4f, 0xda, 0x3e, 0x4d, 0xdf, 0xdc, 0x42, 0xd4, + 0x6f, 0xab, 0xb2, 0x18, 0xc8, 0x07, 0x17, 0x3c, 0x7b, 0xc1, 0xa6, 0x63, + 0x95, 0x16, 0x8e, 0x69, 0x1f, 0x66, 0x2c, 0x1d, 0xb4, 0x99, 0xca, 0x50, + 0x09, 0xaf, 0x21, 0xde, 0xee, 0x03, 0x0d, 0xdd, 0x43, 0x64, 0x32, 0xb8, + 0xf8, 0x20, 0x37, 0x66, 0xbb, 0x7e, 0xaf, 0xa4, 0xd2, 0x99, 0xd2, 0x73, + 0xe8, 0x86, 0x18, 0x18, 0x60, 0xc5, 0xd1, 0xcf, 0x67, 0x02, 0x87, 0x29, + 0x3e, 0x7d, 0x96, 0xa9, 0xbe, 0xc7, 0xb0, 0x5d, 0x59, 0x4d, 0x9d, 0xc6, + 0xb5, 0xc8, 0xa4, 0xa9, 0xe2, 0x99, 0x54, 0xaa, 0x5b, 0x2a, 0xe9, 0x64, + 0x8c, 0xa6, 0x73, 0xc5, 0x3b, 0xa4, 0xa7, 0x54, 0xdd, 0xaf, 0x9f, 0xb0, + 0xe0, 0xcb, 0x25, 0x2a, 0x62, 0xf1, 0x85, 0xbc, 0x4a, 0x91, 0xa3, 0x2e, + 0x32, 0x7d, 0x39, 0x95, 0xaa, 0xc7, 0x0d, 0x5e, 0x05, 0xde, 0xb8, 0x33, + 0x7c, 0x9d, 0xc8, 0xe8, 0x44, 0xfb, 0x7d, 0xe8, 0x73, 0xa0, 0x9a, 0xb8, + 0xec, 0xc7, 0xc2, 0x51, 0x29, 0x95, 0x2a, 0x92, 0x66, 0x0c, 0xab, 0x52, + 0xba, 0xb0, 0xa3, 0x1a, 0x3c, 0x6f, 0x3b, 0x00, 0x8d, 0x0b, 0xfd, 0x11, + 0x5d, 0x00, 0xd3, 0x48, 0xbe, 0xaa, 0x7a, 0x8c, 0x61, 0x1e, 0xd6, 0x13, + 0xf2, 0x45, 0x82, 0x79, 0x42, 0x76, 0x4a, 0x9c, 0x75, 0xd8, 0xd2, 0x23, + 0x4c, 0xcf, 0x0d, 0x72, 0x11, 0x63, 0x97, 0x98, 0x42, 0x5c, 0x35, 0x8b, + 0xc4, 0x2b, 0x60, 0xce, 0xb7, 0x84, 0xaf, 0x04, 0xf9, 0xe8, 0x91, 0xfa, + 0x45, 0xe5, 0x91, 0x6a, 0x14, 0xab, 0x4e, 0x89, 0x79, 0x2a, 0x51, 0x92, + 0x0a, 0xd9, 0x82, 0x23, 0x12, 0xeb, 0x6b, 0x55, 0x8a, 0x54, 0x18, 0x14, + 0xaf, 0x52, 0x0d, 0xa3, 0x82, 0x0d, 0x0b, 0xda, 0x46, 0x71, 0xa6, 0x9b, + 0x87, 0x39, 0x53, 0x69, 0x60, 0xce, 0x3c, 0xe4, 0xf8, 0x53, 0xe9, 0x77, + 0xc2, 0x22, 0xcf, 0x1d, 0x16, 0x30, 0xc8, 0x9a, 0xa9, 0xd8, 0xab, 0x0a, + 0x45, 0x56, 0x32, 0x63, 0xc2, 0xdf, 0x65, 0xa5, 0x90, 0xa5, 0x0f, 0xaf, + 0xde, 0x1c, 0xbd, 0xfb, 0xc5, 0x87, 0x12, 0x54, 0x28, 0x86, 0xfd, 0xba, + 0x14, 0x49, 0x4d, 0x28, 0x75, 0x24, 0x98, 0xac, 0x25, 0x23, 0x7e, 0xf4, + 0x28, 0xfe, 0xc9, 0x35, 0x34, 0x64, 0xcf, 0x45, 0xdf, 0x92, 0xb4, 0xe3, + 0x3a, 0x97, 0x32, 0x22, 0xe0, 0xec, 0x1b, 0x0a, 0x80, 0x30, 0x69, 0xe6, + 0x33, 0xd2, 0x78, 0x8e, 0xfe, 0xb9, 0xa8, 0xb9, 0xa8, 0xef, 0x26, 0x1b, + 0xeb, 0x24, 0xd9, 0x31, 0x42, 0x1a, 0xea, 0x72, 0x16, 0x05, 0x55, 0x34, + 0xa4, 0x64, 0xd5, 0x19, 0x0b, 0xd2, 0xd5, 0xcf, 0x7c, 0xe3, 0x52, 0xea, + 0x6d, 0x9b, 0x76, 0x16, 0xb8, 0x5d, 0xa1, 0x7e, 0xf3, 0xa8, 0x8e, 0x79, + 0x7b, 0xa8, 0x06, 0xe7, 0xb8, 0xf7, 0x77, 0x3d, 0xf5, 0x6c, 0x64, 0xa1, + 0x28, 0x28, 0x47, 0x41, 0x0e, 0x41, 0xda, 0x45, 0x01, 0x89, 0x92, 0xda, + 0x5b, 0xfe, 0xea, 0x2d, 0xe6, 0x12, 0x97, 0x18, 0xef, 0x3b, 0xf9, 0xfe, + 0xdd, 0xb8, 0xaa, 0x62, 0x91, 0x01, 0xc1, 0x42, 0x9a, 0x68, 0x77, 0x60, + 0x51, 0xd5, 0x96, 0x6b, 0xfd, 0x0c, 0xf1, 0x2f, 0x44, 0xff, 0xee, 0xbb, + 0xa3, 0xb7, 0x0b, 0x11, 0x37, 0x6f, 0x81, 0xf8, 0xf9, 0xeb, 0x77, 0xc7, + 0xcb, 0x98, 0x6e, 0xdd, 0x12, 0xf7, 0xd1, 0x37, 0x0b, 0x51, 0xb7, 0x6f, + 0x8c, 0x3a, 0xf6, 0xc7, 0x56, 0x13, 0xbc, 0xa8, 0x1b, 0xa0, 0x3b, 0xa1, + 0x49, 0xad, 0xb1, 0x84, 0x1a, 0x65, 0xdf, 0x09, 0x1d, 0xd5, 0x38, 0x4b, + 0x48, 0x11, 0xc4, 0x5d, 0xd5, 0x4a, 0x36, 0xd7, 0x12, 0x62, 0x12, 0xe0, + 0x4e, 0x68, 0x99, 0x31, 0x6c, 0x21, 0x3d, 0xd9, 0x03, 0xe7, 0xe1, 0xd7, + 0xf4, 0x23, 0x33, 0x0c, 0x76, 0xb2, 0x7e, 0x07, 0x1c, 0x3d, 0x46, 0x62, + 0xac, 0x53, 0x16, 0x02, 0xbd, 0x5e, 0x23, 0x22, 0x97, 0xd6, 0xe0, 0x34, + 0x00, 0x95, 0x3b, 0xa9, 0x9a, 0x71, 0xa7, 0x16, 0x56, 0x8d, 0x7d, 0x4b, + 0xb8, 0x83, 0xe5, 0xac, 0x03, 0x56, 0x6d, 0xdc, 0x0d, 0x0f, 0xbd, 0x19, + 0x42, 0x7c, 0x58, 0x52, 0x39, 0x9c, 0x2c, 0xe5, 0x23, 0xef, 0x90, 0xd5, + 0x51, 0x68, 0xd6, 0x17, 0xe5, 0xe4, 0x3c, 0x46, 0x83, 0x97, 0xe4, 0x0a, + 0x59, 0xa9, 0xab, 0xfd, 0xee, 0xe8, 0x6b, 0xf1, 0x15, 0xe6, 0x1c, 0x88, + 0x56, 0x8e, 0x70, 0xe0, 0x33, 0xb2, 0x12, 0xf3, 0xc0, 0x67, 0xf0, 0x02, + 0x65, 0x2e, 0x5f, 0x41, 0xc6, 0xbf, 0x7a, 0x17, 0x91, 0x78, 0xcd, 0xb0, + 0x55, 0x71, 0x85, 0x9a, 0x7e, 0x55, 0xce, 0x37, 0x71, 0x9a, 0xf1, 0xce, + 0x1d, 0x89, 0x43, 0x9c, 0x63, 0x28, 0x08, 0xc9, 0xb2, 0xaf, 0xa1, 0x6d, + 0xa6, 0x50, 0xa7, 0x54, 0xba, 0x13, 0x36, 0xf4, 0x78, 0xb3, 0x06, 0x13, + 0xba, 0xc8, 0x5d, 0xb1, 0x10, 0xd0, 0x1a, 0x2b, 0xd6, 0x9a, 0xa2, 0x75, + 0xfa, 0x9d, 0x29, 0xd4, 0xb9, 0x73, 0x53, 0x3a, 0x0b, 0xd6, 0x11, 0xc7, + 0x2c, 0x58, 0x4d, 0x12, 0x09, 0x12, 0x75, 0x39, 0xb1, 0x48, 0x29, 0xb4, + 0x99, 0x4d, 0x09, 0x8a, 0x2d, 0xf0, 0xf4, 0xb6, 0x68, 0xca, 0xd2, 0x28, + 0x9e, 0x0d, 0xe9, 0xb9, 0x4c, 0xde, 0xcf, 0x59, 0x26, 0x3b, 0x9c, 0xe9, + 0xa4, 0x54, 0x65, 0x45, 0x0d, 0x04, 0x53, 0x64, 0xb6, 0xd8, 0xaa, 0xa5, + 0x9d, 0xaa, 0x0e, 0x5e, 0x24, 0xc5, 0x28, 0x2c, 0x7e, 0x1c, 0x94, 0x8a, + 0x80, 0x70, 0xda, 0xe5, 0x0f, 0xd4, 0x79, 0x07, 0x74, 0x23, 0x01, 0x16, + 0xf7, 0xe2, 0x8e, 0x58, 0xaa, 0x5c, 0xa5, 0x44, 0x11, 0xcf, 0x5b, 0x33, + 0xe2, 0x58, 0x3e, 0xe7, 0xcb, 0x4f, 0xe3, 0xf2, 0xb3, 0x46, 0x63, 0x5a, + 0xaf, 0xaf, 0xb9, 0xea, 0xf6, 0xc6, 0x4f, 0x66, 0x26, 0xb2, 0x1e, 0x97, + 0xac, 0xa8, 0x49, 0x48, 0x57, 0x85, 0x27, 0x32, 0x29, 0x6f, 0x74, 0x29, + 0x07, 0x5d, 0xc9, 0x01, 0x8f, 0xcc, 0x4c, 0xdf, 0x48, 0x90, 0x10, 0xc1, + 0x85, 0x57, 0xf4, 0xcd, 0x1c, 0x09, 0x0c, 0xa4, 0x01, 0x95, 0x90, 0x25, + 0x6c, 0xde, 0x70, 0x4e, 0x67, 0xe1, 0x18, 0xa5, 0x32, 0x6c, 0xe2, 0xec, + 0x69, 0xca, 0x1b, 0xcd, 0x08, 0x3e, 0x33, 0x6f, 0xff, 0x24, 0x3e, 0x3f, + 0x7a, 0x94, 0x4f, 0x93, 0xb8, 0xa3, 0x5c, 0x63, 0xd2, 0x1b, 0x66, 0xd6, + 0xc5, 0x5e, 0xce, 0x27, 0x76, 0x0b, 0x28, 0xe2, 0x8d, 0x70, 0x58, 0xd8, + 0x29, 0x9a, 0x47, 0x72, 0x6b, 0x5e, 0x65, 0xea, 0xa9, 0x84, 0x64, 0xe8, + 0x9b, 0xb0, 0x9e, 0x9c, 0xe3, 0x77, 0x1b, 0xfb, 0xd1, 0x53, 0x1b, 0x6b, + 0x6a, 0xbc, 0x16, 0xad, 0x86, 0x8c, 0xfd, 0xe8, 0xab, 0xaf, 0x2a, 0xe2, + 0x53, 0xf4, 0xb9, 0x1b, 0xe7, 0xe0, 0x61, 0x3f, 0xe5, 0x8a, 0xd7, 0x19, + 0xf1, 0xa3, 0x47, 0x89, 0xb3, 0xcc, 0x74, 0x14, 0xda, 0xbd, 0x28, 0xab, + 0x94, 0xea, 0x27, 0x2c, 0x23, 0x1c, 0x1f, 0x94, 0x3e, 0x53, 0xb8, 0xaf, + 0x6f, 0x47, 0xf9, 0x36, 0x38, 0x81, 0x75, 0x79, 0x0b, 0x6b, 0xce, 0x91, + 0x9a, 0x24, 0x8b, 0x92, 0xbd, 0x14, 0x39, 0x70, 0x2a, 0xea, 0x4b, 0xc2, + 0x3b, 0xd9, 0x68, 0xc0, 0xb2, 0x48, 0x10, 0x62, 0x6f, 0x40, 0x56, 0x14, + 0x64, 0xaa, 0x06, 0x06, 0x8b, 0x0f, 0x2c, 0x85, 0x81, 0x28, 0xbf, 0xea, + 0x50, 0x71, 0xfb, 0x3c, 0x5f, 0xbc, 0x6f, 0x8a, 0x3b, 0x28, 0x5e, 0x18, + 0xe0, 0x72, 0xaa, 0xb3, 0x6e, 0xa0, 0x43, 0x4b, 0xd9, 0x2e, 0x7b, 0xd0, + 0x80, 0x26, 0x20, 0x5f, 0x46, 0xb9, 0xa6, 0xfe, 0xbc, 0xec, 0xe5, 0xba, + 0x75, 0xad, 0x59, 0xa9, 0x1c, 0xf4, 0x19, 0xae, 0x5f, 0xa9, 0xa6, 0xba, + 0x82, 0x47, 0x6f, 0xc3, 0x1b, 0x10, 0x99, 0x52, 0x75, 0x56, 0xa9, 0xce, + 0x32, 0xf2, 0x9e, 0xdb, 0x4e, 0x54, 0x2c, 0x67, 0xcd, 0x0f, 0x45, 0x51, + 0x31, 0x1e, 0x60, 0x8f, 0xb7, 0x48, 0xcd, 0xe3, 0x12, 0xf1, 0x91, 0xa8, + 0x9a, 0x69, 0xb9, 0x32, 0xda, 0x75, 0x41, 0xcb, 0xfe, 0x22, 0x70, 0x13, + 0xaa, 0xcf, 0x71, 0xc2, 0x9c, 0xb3, 0x22, 0x54, 0x70, 0x50, 0xd1, 0xa5, + 0x56, 0x86, 0xfa, 0x9c, 0xd1, 0x2c, 0x73, 0x9f, 0xe0, 0x75, 0xf9, 0x44, + 0x09, 0xc9, 0x39, 0x34, 0xa2, 0xcc, 0x20, 0x79, 0xff, 0x67, 0x11, 0xca, + 0x88, 0xe1, 0xa3, 0x7a, 0x84, 0x95, 0x43, 0x0d, 0x13, 0x5d, 0x45, 0x63, + 0xba, 0xd6, 0xe6, 0x88, 0x67, 0xf5, 0x58, 0xd2, 0x3e, 0xb3, 0xe9, 0x26, + 0x8d, 0x5f, 0xbc, 0x7f, 0x9d, 0xb1, 0xd2, 0xda, 0xe4, 0x2d, 0x10, 0x21, + 0x61, 0x7e, 0x90, 0x8b, 0xc5, 0x3d, 0x7a, 0x54, 0x68, 0xc3, 0x2b, 0x97, + 0x05, 0x51, 0xbb, 0x86, 0x8c, 0x76, 0x65, 0x14, 0xdf, 0x83, 0x87, 0x66, + 0x22, 0x94, 0x50, 0x5d, 0x13, 0x71, 0xfc, 0x3a, 0x4c, 0xe4, 0x74, 0x10, + 0xa9, 0x05, 0x68, 0x2e, 0xc4, 0x99, 0x54, 0xca, 0x00, 0x25, 0xf2, 0x31, + 0xd0, 0xa0, 0x3a, 0x43, 0xc1, 0x38, 0x36, 0x5b, 0xb5, 0x4d, 0x81, 0xd9, + 0xd7, 0x4e, 0xb9, 0xd2, 0x99, 0x51, 0xdd, 0x72, 0xaa, 0xda, 0xf5, 0x2b, + 0x29, 0xe5, 0x03, 0x2b, 0x56, 0x20, 0x79, 0xc1, 0x37, 0x6d, 0x46, 0x81, + 0xfd, 0xce, 0x39, 0xd2, 0xa5, 0x83, 0x2e, 0x05, 0xa1, 0xf7, 0xf1, 0x8a, + 0x72, 0x71, 0x59, 0x80, 0xf6, 0xab, 0xaf, 0xd2, 0x2a, 0xad, 0xd8, 0xcd, + 0x63, 0xd2, 0xaa, 0x2f, 0xcd, 0xad, 0xb6, 0xb4, 0x34, 0xd8, 0xc7, 0x2a, + 0x13, 0x47, 0xa2, 0xcb, 0xe3, 0xae, 0x8d, 0xb8, 0x77, 0x0b, 0x26, 0x72, + 0xac, 0xa7, 0x66, 0x95, 0x54, 0xb3, 0xbf, 0xf5, 0x2d, 0xd9, 0xee, 0xb1, + 0x18, 0xe4, 0x35, 0x14, 0xb4, 0xa2, 0x7c, 0xe6, 0x60, 0x63, 0x99, 0x8a, + 0x45, 0x8e, 0xd9, 0x0a, 0xca, 0xae, 0x54, 0xae, 0xb0, 0x22, 0x15, 0x44, + 0x0c, 0x53, 0x3d, 0xa0, 0x2c, 0x38, 0xba, 0x51, 0xb9, 0xca, 0x82, 0xd3, + 0x0a, 0x4c, 0x6a, 0x10, 0xff, 0x5a, 0x64, 0xe3, 0xb8, 0x1d, 0x14, 0xce, + 0x49, 0xe2, 0x12, 0xd8, 0x60, 0xc4, 0xe2, 0x28, 0x49, 0x07, 0x30, 0xf1, + 0x03, 0x39, 0x59, 0x34, 0x5a, 0x76, 0x93, 0x89, 0x5f, 0x53, 0xbf, 0xb6, + 0xb9, 0xeb, 0x9a, 0xc4, 0x4a, 0x47, 0xa5, 0xa2, 0x44, 0x6e, 0xca, 0x95, + 0x8a, 0x66, 0xe6, 0xd8, 0xa2, 0x14, 0x8c, 0xa0, 0x49, 0xa1, 0x1b, 0x98, + 0x95, 0x62, 0xaa, 0x42, 0x87, 0xaf, 0x34, 0x08, 0xfa, 0x5a, 0x9f, 0x0d, + 0xc9, 0x55, 0xb2, 0xd3, 0x65, 0xc0, 0x52, 0x5d, 0x2f, 0xa9, 0x26, 0x3a, + 0x66, 0xa7, 0x63, 0x5d, 0xf9, 0x78, 0x61, 0x99, 0x17, 0x88, 0xca, 0xf2, + 0xb7, 0x0e, 0xfc, 0x29, 0xc0, 0xfc, 0xa0, 0xe9, 0x84, 0x85, 0x0e, 0x19, + 0x29, 0x6c, 0x81, 0x8b, 0x7a, 0x8d, 0xd3, 0xa9, 0x58, 0xcd, 0x6b, 0xea, + 0x3e, 0x74, 0xf9, 0xb2, 0xc0, 0xdf, 0xcc, 0xc7, 0xf7, 0x98, 0x7b, 0x0e, + 0x99, 0x69, 0x86, 0x31, 0xa2, 0xf6, 0xc7, 0x64, 0x53, 0x73, 0x02, 0x33, + 0xb1, 0xea, 0x85, 0xd2, 0x92, 0x20, 0x16, 0xdf, 0xdb, 0x52, 0xc9, 0xfb, + 0x8d, 0x8d, 0x34, 0xc6, 0x7c, 0xec, 0x2e, 0x23, 0x95, 0x92, 0x92, 0x33, + 0xcb, 0x9e, 0x16, 0x0b, 0xbf, 0x8e, 0xea, 0x89, 0x24, 0x70, 0xd9, 0xa1, + 0x8f, 0x14, 0xd6, 0x9c, 0x38, 0xb2, 0xcc, 0x9a, 0x80, 0x80, 0xe1, 0x3b, + 0x53, 0xa4, 0x64, 0x64, 0x5c, 0xe4, 0x75, 0xc9, 0xa5, 0x84, 0x52, 0x6e, + 0xdd, 0xe1, 0x9a, 0x52, 0x6a, 0xa5, 0x2c, 0xdf, 0x08, 0xd7, 0x94, 0x8b, + 0x5f, 0x6c, 0x51, 0x10, 0x4f, 0xbf, 0xb6, 0xac, 0x5c, 0x42, 0xcc, 0xab, + 0x6d, 0x5a, 0x35, 0x65, 0xb7, 0x5b, 0x4b, 0x64, 0x12, 0x3e, 0x2f, 0x2f, + 0xa4, 0xaf, 0x2b, 0x2c, 0x14, 0x59, 0x5f, 0x52, 0x28, 0x74, 0x33, 0x31, + 0xa1, 0xe0, 0x4d, 0x65, 0x94, 0xec, 0x88, 0x29, 0x21, 0x25, 0x33, 0x58, + 0x4c, 0xf9, 0xa5, 0xa1, 0x1c, 0x48, 0x66, 0xa9, 0x88, 0x68, 0x61, 0x91, + 0x18, 0xff, 0xc7, 0x5b, 0x17, 0xe8, 0xa6, 0x6f, 0xec, 0x58, 0xc0, 0xe1, + 0x3a, 0xbc, 0x02, 0x1f, 0x8e, 0x70, 0x9f, 0x37, 0x3b, 0xd7, 0xf5, 0x15, + 0xe8, 0x80, 0xa3, 0xdb, 0x85, 0x24, 0x54, 0xb7, 0x6b, 0x95, 0x08, 0xc2, + 0xa5, 0xc7, 0x12, 0xdd, 0x24, 0x64, 0xd2, 0x4b, 0xfa, 0xa2, 0x20, 0x8d, + 0xb1, 0xd4, 0x7c, 0xd2, 0xaa, 0x37, 0x77, 0xf7, 0xea, 0x4d, 0xbc, 0xbb, + 0xb8, 0xd5, 0x6c, 0x97, 0xe4, 0x4b, 0xca, 0x79, 0xf9, 0x1c, 0xd3, 0x49, + 0x1a, 0x55, 0x08, 0x6a, 0x4e, 0x1b, 0x12, 0x4a, 0xd6, 0x57, 0x5c, 0x0c, + 0x5f, 0xa5, 0xce, 0x5e, 0xb3, 0xa4, 0xb9, 0x8b, 0x8f, 0xfa, 0x9a, 0x3d, + 0x15, 0xae, 0xcd, 0xfb, 0x9e, 0xcd, 0xf6, 0xb1, 0x88, 0x8e, 0x85, 0x9f, + 0x0c, 0xe5, 0x0e, 0xbc, 0x87, 0x2f, 0xf8, 0x2f, 0x9d, 0xa7, 0xb7, 0x07, + 0x3f, 0x6c, 0xe0, 0x2f, 0x9b, 0x49, 0xd7, 0xc9, 0x51, 0x5e, 0x9b, 0xff, + 0x32, 0x79, 0x91, 0x27, 0x8b, 0xed, 0x35, 0x9e, 0x37, 0x72, 0x59, 0xd8, + 0xf4, 0x21, 0x29, 0x02, 0x6b, 0x9c, 0x7b, 0xe6, 0x84, 0x4e, 0xcf, 0x71, + 0x9d, 0x08, 0x7b, 0xce, 0x3f, 0x7d, 0x96, 0x89, 0xea, 0x08, 0xf8, 0x09, + 0xb5, 0x2f, 0x6d, 0x6f, 0xd3, 0x47, 0xbb, 0xe3, 0x8d, 0x6f, 0x27, 0x9e, + 0xda, 0xf9, 0xc6, 0xdb, 0x3b, 0x64, 0xcd, 0x65, 0xf8, 0xc1, 0xd4, 0x7b, + 0x6c, 0x76, 0xbf, 0xea, 0xb2, 0xf1, 0x4d, 0xed, 0xd9, 0xb4, 0x29, 0xef, + 0x6b, 0x6d, 0xa8, 0xa4, 0xf8, 0x02, 0xef, 0x1c, 0x18, 0x5c, 0x04, 0x93, + 0x46, 0x6d, 0x12, 0xd2, 0x9e, 0xe2, 0xa6, 0x79, 0xee, 0x7b, 0x84, 0xc7, + 0x3c, 0xd3, 0x6e, 0xb3, 0x74, 0x09, 0xdc, 0xa1, 0x9b, 0x82, 0xe0, 0x3d, + 0x82, 0x1d, 0x1c, 0x94, 0x84, 0x87, 0xa4, 0x52, 0x85, 0x47, 0x21, 0x14, + 0x2a, 0x3b, 0x57, 0x19, 0xa6, 0x96, 0x21, 0xcd, 0xa3, 0xe3, 0x4a, 0xf2, + 0xa9, 0xd3, 0x18, 0x9d, 0x3e, 0xd8, 0x67, 0x12, 0xe4, 0xab, 0xb4, 0x3c, + 0xde, 0x33, 0xdd, 0x00, 0x12, 0xa3, 0x25, 0xa3, 0x0c, 0x22, 0x3c, 0x26, + 0x45, 0x40, 0xf7, 0xb6, 0xca, 0x27, 0x43, 0x85, 0xb6, 0x69, 0xe8, 0x6c, + 0x3a, 0x07, 0x66, 0xf2, 0x95, 0xbe, 0x5c, 0xce, 0x3b, 0x8d, 0xaa, 0x15, + 0xd0, 0xc7, 0x88, 0x3e, 0x7a, 0xf4, 0x31, 0x16, 0xe7, 0x9d, 0x52, 0x43, + 0xfd, 0x61, 0xc3, 0xff, 0xbc, 0xc5, 0x40, 0xfc, 0x39, 0xe2, 0xcf, 0x5e, + 0x4b, 0xc1, 0xb5, 0xd2, 0x80, 0x6d, 0x06, 0xe4, 0xcf, 0x11, 0x7f, 0xf6, + 0xda, 0x0a, 0xb0, 0x9d, 0x00, 0xbc, 0x32, 0xa2, 0x1c, 0x9e, 0xc3, 0x8b, + 0xd6, 0x15, 0xd5, 0x55, 0xc5, 0x05, 0x2c, 0x89, 0x1d, 0x4a, 0xb8, 0x94, + 0x0a, 0x10, 0x74, 0xf1, 0x58, 0x92, 0xf5, 0x13, 0xc4, 0xb1, 0xe2, 0x66, + 0x94, 0x27, 0x79, 0x13, 0xca, 0x68, 0x5c, 0xe8, 0x94, 0x0c, 0xcc, 0xbb, + 0x87, 0x4f, 0x0c, 0x44, 0xb2, 0x1c, 0x90, 0x9e, 0x14, 0x03, 0x19, 0xc9, + 0x39, 0xa1, 0x4e, 0x17, 0x83, 0xb4, 0x12, 0x60, 0xfb, 0x3e, 0xe6, 0x31, + 0xe3, 0x13, 0xde, 0x04, 0x0b, 0x67, 0x35, 0x23, 0xed, 0x13, 0xb5, 0x53, + 0x74, 0x90, 0xd3, 0x10, 0x8a, 0x9b, 0xbc, 0x8a, 0xf6, 0xf9, 0x64, 0x05, + 0xbd, 0x83, 0x8c, 0x2e, 0x58, 0x9a, 0x06, 0xe4, 0x29, 0xd1, 0xa9, 0x89, + 0x28, 0x94, 0x57, 0xa0, 0x78, 0x74, 0xc5, 0x8f, 0xd9, 0x11, 0xf5, 0x4b, + 0x9c, 0x63, 0x76, 0x5d, 0xdb, 0xfa, 0x69, 0x68, 0xd1, 0x76, 0x68, 0xde, + 0xf2, 0x6b, 0x1d, 0xab, 0xf7, 0x7d, 0xf6, 0x2e, 0xac, 0x97, 0x48, 0x18, + 0xd9, 0xd6, 0x2f, 0x1d, 0x1c, 0xba, 0xf1, 0xbf, 0xff, 0x3d, 0xda, 0xe2, + 0x04, 0xfc, 0xf2, 0x90, 0xd7, 0xc0, 0x42, 0x44, 0x26, 0xb8, 0x38, 0x96, + 0x5b, 0xba, 0x82, 0xef, 0x7f, 0x2f, 0xde, 0x36, 0xf1, 0x87, 0xb0, 0x1c, + 0x72, 0xea, 0x91, 0x5b, 0x51, 0x0d, 0x20, 0x1d, 0x42, 0x73, 0x33, 0x59, + 0xaa, 0xa8, 0x81, 0x96, 0xa6, 0x8f, 0x89, 0xc8, 0x34, 0x66, 0x8b, 0xaf, + 0x4a, 0xc4, 0x85, 0x62, 0x2e, 0xfc, 0xf5, 0x00, 0x74, 0xbb, 0x44, 0xe1, + 0xf1, 0x43, 0xfc, 0x7c, 0x5c, 0xa9, 0xca, 0x63, 0x0a, 0x3a, 0x8d, 0x1f, + 0x90, 0xca, 0x67, 0x14, 0x74, 0x22, 0xfd, 0x46, 0x1a, 0x1f, 0x50, 0x88, + 0x13, 0xe9, 0x81, 0x52, 0x55, 0x67, 0xd1, 0xc9, 0xf2, 0x09, 0xe9, 0x52, + 0xd9, 0x75, 0x32, 0x1e, 0x88, 0xda, 0xbe, 0x15, 0xf3, 0x16, 0x51, 0x43, + 0x67, 0x59, 0xc3, 0x71, 0x84, 0x5f, 0xda, 0xae, 0x2e, 0x24, 0x13, 0x62, + 0x1e, 0xd3, 0x99, 0x3a, 0x49, 0x33, 0x9b, 0xce, 0x55, 0x29, 0x9a, 0xeb, + 0x4c, 0xae, 0x4e, 0x32, 0xec, 0xa7, 0xf3, 0xe3, 0xb4, 0xb8, 0x1e, 0xe9, + 0x7c, 0x9d, 0x84, 0x0a, 0x25, 0x64, 0xad, 0x9a, 0xff, 0x1b, 0x79, 0x25, + 0x1c, 0xd7, 0x49, 0x2a, 0x9d, 0x4a, 0xd1, 0xa5, 0x53, 0xaf, 0x63, 0xcd, + 0xa0, 0xe0, 0x57, 0xa3, 0x18, 0x79, 0xbc, 0xee, 0x69, 0x9a, 0x9c, 0xf1, + 0x89, 0xde, 0xbb, 0x87, 0xe4, 0xcf, 0xb1, 0x4c, 0x8a, 0x00, 0x38, 0xe3, + 0xb3, 0x96, 0x4b, 0x11, 0x04, 0xa5, 0x7f, 0xd6, 0xb2, 0x29, 0x84, 0xe0, + 0x8c, 0xcf, 0x46, 0x3e, 0x45, 0x30, 0x32, 0x07, 0x40, 0xfb, 0x4a, 0xe5, + 0x54, 0x95, 0xd4, 0xfd, 0x2a, 0x46, 0xa1, 0x75, 0xc6, 0x73, 0x4e, 0x2f, + 0xdb, 0x2e, 0x70, 0xc9, 0xee, 0x17, 0x8f, 0xe5, 0x34, 0xf6, 0x3f, 0x40, + 0x06, 0x27, 0xac, 0x70, 0x0f, 0x9f, 0x7c, 0x25, 0x31, 0x86, 0x73, 0x36, + 0x54, 0xf5, 0xd8, 0x1c, 0xe9, 0x7b, 0xf9, 0x7a, 0xf1, 0x45, 0x2c, 0x4c, + 0x14, 0xf4, 0x7e, 0x87, 0x71, 0xa1, 0xfc, 0x83, 0x4b, 0x48, 0xaf, 0xce, + 0x37, 0xa1, 0x5e, 0x55, 0xad, 0x1f, 0x5c, 0xb2, 0xa8, 0x12, 0xcf, 0x24, + 0x18, 0xf5, 0x58, 0xf9, 0xdd, 0xfe, 0xaa, 0x9c, 0xe0, 0x85, 0xc4, 0x45, + 0x9c, 0x38, 0x30, 0x50, 0xc1, 0xb7, 0x1f, 0xde, 0xbc, 0x26, 0xf7, 0xe3, + 0x21, 0x41, 0x80, 0x85, 0x0f, 0x3e, 0xa0, 0xcb, 0x9f, 0x48, 0xbe, 0x8a, + 0x52, 0xd5, 0x8a, 0x79, 0x52, 0x8d, 0xaa, 0x1f, 0x0c, 0x37, 0x9f, 0x93, + 0x77, 0x1e, 0x42, 0xd2, 0xc7, 0x30, 0x44, 0x52, 0xcc, 0x26, 0x39, 0xe5, + 0x93, 0x49, 0x6b, 0x96, 0x2c, 0x25, 0x53, 0xc0, 0x4a, 0xe1, 0x8c, 0xd3, + 0xba, 0xa4, 0x74, 0xe9, 0xc1, 0x94, 0xd1, 0x4d, 0x21, 0x8d, 0x9d, 0x86, + 0x2e, 0x7e, 0x65, 0x51, 0x1c, 0x62, 0xad, 0x96, 0x69, 0x96, 0xae, 0x6d, + 0x09, 0x3d, 0x98, 0x4a, 0x91, 0xd5, 0x03, 0x90, 0xcc, 0x25, 0x8e, 0x8a, + 0x12, 0x7b, 0x6b, 0xb6, 0x0d, 0xf1, 0x92, 0x6f, 0x8b, 0x0c, 0x52, 0x0c, + 0x8f, 0x2b, 0xe3, 0xa4, 0xb7, 0x7d, 0xaf, 0x5f, 0xbf, 0x56, 0x61, 0x05, + 0x0b, 0x53, 0x7b, 0xad, 0x35, 0xab, 0xd8, 0x5a, 0xb1, 0x8a, 0xad, 0x95, + 0x91, 0xd2, 0x0b, 0xbf, 0xd7, 0xaf, 0x63, 0xbb, 0xb0, 0x8e, 0x85, 0xa9, + 0xbd, 0xf6, 0x9a, 0x75, 0x6c, 0xaf, 0x58, 0xc7, 0xb6, 0xd6, 0x5a, 0x33, + 0x16, 0xf2, 0x9d, 0x9a, 0x30, 0xdf, 0x0c, 0x43, 0x21, 0xac, 0xf8, 0x6e, + 0xb5, 0xf9, 0x18, 0x63, 0xdf, 0x37, 0xef, 0xde, 0xc0, 0xa3, 0xd0, 0x67, + 0x23, 0x8d, 0xdd, 0x92, 0xf0, 0xd2, 0xf4, 0x87, 0x65, 0x35, 0x14, 0x9b, + 0x61, 0x4a, 0x76, 0x4d, 0xab, 0x6b, 0xfa, 0xaf, 0xa4, 0x2c, 0x3b, 0x71, + 0x1a, 0x46, 0xa6, 0x25, 0xa1, 0xb8, 0x77, 0xa7, 0x81, 0x38, 0x29, 0x09, + 0x63, 0xc6, 0x2e, 0x03, 0xc4, 0x69, 0x69, 0x28, 0x33, 0x84, 0x19, 0x30, + 0x95, 0x98, 0x84, 0x33, 0x23, 0x99, 0x01, 0x93, 0x69, 0x0a, 0xaa, 0x58, + 0x60, 0x85, 0x52, 0x32, 0x42, 0x62, 0x58, 0xe9, 0xf2, 0xb0, 0x72, 0x18, + 0x41, 0x01, 0x8f, 0x7c, 0x7f, 0x59, 0x6f, 0xa4, 0x10, 0x71, 0xba, 0x1a, + 0xd7, 0x72, 0xaa, 0x55, 0x68, 0xa3, 0x1b, 0x58, 0x69, 0xff, 0x5d, 0x52, + 0xac, 0xcb, 0x4a, 0x36, 0xaa, 0x69, 0x8b, 0xce, 0x65, 0x8d, 0xb0, 0x97, + 0x17, 0x45, 0xe1, 0xac, 0xf9, 0x37, 0x4d, 0xb0, 0x9c, 0x5f, 0x06, 0xd1, + 0x34, 0x17, 0x3d, 0x1a, 0xac, 0xa6, 0xc9, 0x96, 0xa3, 0x95, 0x30, 0x1a, + 0xd1, 0xf2, 0x67, 0x83, 0x99, 0x7c, 0x59, 0xbe, 0x14, 0xb8, 0x9b, 0x20, + 0x82, 0x33, 0xb7, 0xee, 0x80, 0x4f, 0x35, 0x7d, 0x6a, 0x7c, 0xde, 0x37, + 0x43, 0x6e, 0x12, 0x85, 0x75, 0xd0, 0xb5, 0x9a, 0x7b, 0xa9, 0x7b, 0x78, + 0x19, 0x51, 0x9d, 0x43, 0xbc, 0x6f, 0xed, 0x09, 0xd4, 0x25, 0x9d, 0x40, + 0x4b, 0x06, 0x18, 0xd7, 0xb1, 0xe1, 0x62, 0xeb, 0xb7, 0x3d, 0xfd, 0xe6, + 0xe4, 0xdf, 0xf6, 0xb6, 0x46, 0x55, 0xab, 0x84, 0x47, 0xec, 0xf7, 0x3f, + 0x2d, 0xa5, 0xc7, 0x90, 0x9b, 0xe3, 0x26, 0x64, 0x0a, 0xb5, 0xa6, 0x64, + 0x70, 0x7f, 0xff, 0x7b, 0xb1, 0xc6, 0xa9, 0x17, 0xd2, 0xe5, 0x55, 0xee, + 0x86, 0xfa, 0x76, 0x53, 0x65, 0xbb, 0xa9, 0xa6, 0xdd, 0x87, 0x9a, 0xdd, + 0xa9, 0x8e, 0x69, 0x13, 0xd1, 0x1f, 0xd3, 0x0b, 0x92, 0xad, 0x80, 0x3f, + 0x39, 0x9f, 0x66, 0x3c, 0xca, 0xb0, 0x4a, 0xbf, 0xde, 0x18, 0x09, 0x05, + 0xfd, 0x1e, 0x1f, 0xca, 0x9c, 0xe5, 0xcd, 0x69, 0x3e, 0x96, 0xf5, 0x58, + 0x96, 0x7a, 0x5c, 0xb5, 0xca, 0x95, 0xee, 0xc1, 0x65, 0xca, 0x03, 0x9a, + 0xd8, 0xa7, 0x38, 0x04, 0x82, 0xcb, 0x4c, 0x62, 0x53, 0x6e, 0xe3, 0x37, + 0x1d, 0x6e, 0xa5, 0x19, 0x4e, 0x0f, 0x67, 0xcd, 0x69, 0x56, 0xd3, 0xc0, + 0x2c, 0x8e, 0x8e, 0x43, 0xa7, 0x4e, 0x6a, 0xc7, 0xb6, 0x8f, 0xdf, 0x8c, + 0x28, 0x89, 0xef, 0x95, 0x63, 0x3e, 0x12, 0xfe, 0x98, 0x56, 0x30, 0xdd, + 0x5d, 0xd2, 0x1e, 0x1e, 0xc7, 0xa3, 0x9a, 0x15, 0x2b, 0x3b, 0x08, 0x26, + 0x47, 0x84, 0xeb, 0x11, 0xb4, 0xf2, 0x08, 0x5a, 0xeb, 0x61, 0x68, 0xe7, + 0x31, 0xb4, 0x17, 0x60, 0xc8, 0xdb, 0x6a, 0x93, 0x99, 0xf1, 0xd2, 0xe3, + 0xce, 0x55, 0x49, 0x76, 0x87, 0x4d, 0x36, 0x15, 0x13, 0x2c, 0x6e, 0xac, + 0x04, 0x2f, 0xca, 0x67, 0xbe, 0x45, 0x83, 0x8d, 0xf4, 0xf0, 0xbc, 0xaa, + 0xc0, 0x5b, 0x79, 0x14, 0xad, 0x75, 0x71, 0xb4, 0xf3, 0x38, 0xda, 0x1a, + 0xc7, 0x9d, 0x36, 0x1b, 0x59, 0x9a, 0x4d, 0xb6, 0x1a, 0xd1, 0x2b, 0x6e, + 0x34, 0xc3, 0x89, 0x9c, 0xda, 0xdc, 0xa2, 0xc9, 0x7a, 0xca, 0x59, 0x5a, + 0x55, 0xda, 0xad, 0x3c, 0x86, 0xd6, 0x9a, 0x28, 0xda, 0x79, 0x14, 0x6d, + 0x85, 0xe2, 0x4e, 0xdb, 0x8b, 0xec, 0xf8, 0x46, 0x1b, 0x8c, 0x08, 0x2e, + 0x68, 0xb1, 0x04, 0x2f, 0x32, 0x56, 0x70, 0x9b, 0x36, 0x9b, 0x2b, 0xdf, + 0x75, 0x65, 0x89, 0xb7, 0xf2, 0x28, 0x5a, 0xeb, 0xe2, 0x68, 0xe7, 0x71, + 0xb4, 0x15, 0x8e, 0xbb, 0x6d, 0x36, 0x39, 0x50, 0x6e, 0xb2, 0xdd, 0x24, + 0xc5, 0xe2, 0x86, 0x4b, 0x72, 0xa3, 0x43, 0x38, 0xf9, 0xa6, 0x93, 0x62, + 0x31, 0xc1, 0xee, 0xd8, 0x65, 0x5c, 0x4f, 0x32, 0x3a, 0x1e, 0xf1, 0x2c, + 0x46, 0x74, 0xb7, 0x41, 0x09, 0xc3, 0x60, 0x3e, 0x32, 0x51, 0x31, 0x53, + 0x9b, 0xcd, 0xfa, 0x11, 0x4c, 0xb0, 0x58, 0xf8, 0x09, 0x5e, 0x54, 0xf4, + 0x30, 0x27, 0x7a, 0xa3, 0x94, 0x9c, 0x9f, 0x99, 0x87, 0xe5, 0x45, 0x7b, + 0x4c, 0xb9, 0x77, 0x2b, 0x55, 0x26, 0x58, 0x2c, 0xd0, 0x2b, 0xe3, 0xb8, + 0xa5, 0x6b, 0xe6, 0xa9, 0x4a, 0xf5, 0x67, 0x01, 0xbe, 0x13, 0xc1, 0x3b, + 0x95, 0xa3, 0x27, 0x12, 0x24, 0xaa, 0xd4, 0x3c, 0xc2, 0x76, 0xb1, 0x77, + 0xb6, 0xac, 0x2f, 0x2b, 0xfa, 0xa4, 0x57, 0xdb, 0xea, 0x94, 0xf2, 0xf9, + 0x53, 0x29, 0x71, 0xc1, 0x4d, 0x29, 0x15, 0xea, 0x4a, 0xa1, 0xed, 0x2a, + 0xba, 0xa9, 0x19, 0x45, 0x8e, 0xf8, 0x53, 0xab, 0xb1, 0x2e, 0x69, 0xba, + 0x1c, 0x67, 0x0d, 0xba, 0xc9, 0x88, 0x7c, 0x0a, 0x52, 0x8a, 0xae, 0x58, + 0x78, 0xcd, 0xdd, 0xd5, 0xa5, 0x47, 0x6f, 0xf8, 0xfc, 0x7f, 0x96, 0xdf, + 0xd6, 0x56, 0x66, 0x25, 0x85, 0xde, 0xbb, 0x12, 0x60, 0x33, 0x4e, 0x26, + 0xea, 0xc0, 0x06, 0x5d, 0xc1, 0x60, 0x3e, 0x61, 0xe6, 0xbf, 0x72, 0xd5, + 0xa6, 0xcb, 0x1b, 0xf5, 0xd8, 0x14, 0xc4, 0x26, 0x40, 0x33, 0x89, 0xce, + 0x5d, 0x60, 0x27, 0x78, 0xd6, 0xc2, 0x66, 0xc2, 0xea, 0x1e, 0x58, 0x97, + 0x0b, 0x8d, 0xff, 0xaa, 0x96, 0x31, 0x37, 0xeb, 0x49, 0xe7, 0x9a, 0xe8, + 0x52, 0xce, 0xa0, 0x7e, 0x80, 0xcd, 0x1b, 0xd1, 0x1d, 0x7b, 0xde, 0x73, + 0xc6, 0xa1, 0xaa, 0x14, 0xf9, 0xdc, 0xb9, 0xe5, 0x7c, 0xcb, 0x14, 0x30, + 0x73, 0x28, 0x62, 0x94, 0xf6, 0xbc, 0xc8, 0x5a, 0x73, 0xa1, 0x54, 0xd7, + 0x4e, 0xb8, 0xf2, 0xff, 0x43, 0xf5, 0xe7, 0xfa, 0xac, 0x25, 0x01, 0x72, + 0xdb, 0xfe, 0x87, 0x04, 0x40, 0xd5, 0x59, 0xab, 0xfe, 0xe4, 0x00, 0xfd, + 0x2f, 0x09, 0x80, 0xea, 0xb3, 0x9e, 0x04, 0xa4, 0x57, 0xb1, 0x8e, 0x08, + 0xfe, 0x23, 0x2a, 0x2a, 0xd9, 0x5e, 0xab, 0xa6, 0x18, 0xe9, 0xd7, 0xb3, + 0x76, 0x9b, 0xaa, 0x0b, 0x18, 0x5b, 0xd9, 0x70, 0x5d, 0x25, 0x2f, 0x22, + 0x79, 0x35, 0x99, 0xca, 0x15, 0x02, 0x5b, 0x85, 0xe9, 0x07, 0x82, 0xd2, + 0xb7, 0x52, 0x83, 0xef, 0x39, 0xdd, 0x42, 0x52, 0x9e, 0x05, 0x18, 0x71, + 0xa7, 0x3e, 0x5d, 0xd0, 0x4d, 0x1b, 0xf4, 0x28, 0x06, 0x56, 0xb1, 0xcc, + 0x50, 0x01, 0xa8, 0x40, 0x0d, 0x14, 0xbf, 0x7a, 0xf3, 0xfa, 0x5b, 0x94, + 0x78, 0x2f, 0xfe, 0x80, 0x50, 0x56, 0xa4, 0x6b, 0x46, 0x00, 0x38, 0xd2, + 0xcb, 0x87, 0x31, 0xd8, 0x63, 0x93, 0xc2, 0x41, 0x99, 0xa4, 0x47, 0x95, + 0x9a, 0x87, 0xc8, 0x0d, 0x51, 0xe6, 0xf8, 0x06, 0x4f, 0x44, 0xb6, 0xad, + 0x47, 0x8f, 0x2c, 0xce, 0x20, 0x2c, 0xb3, 0x50, 0xce, 0x70, 0x1a, 0x85, + 0xaf, 0x3d, 0x8b, 0xe4, 0xe8, 0xa5, 0xd0, 0x84, 0x53, 0x1f, 0x5b, 0x80, + 0xe8, 0xca, 0x2f, 0xc5, 0x51, 0x92, 0x94, 0x86, 0x7e, 0x00, 0x6c, 0x8f, + 0x1f, 0x83, 0x46, 0x9c, 0x54, 0x31, 0x98, 0xcd, 0x5f, 0x2c, 0x83, 0x18, + 0x2a, 0x81, 0xd3, 0x38, 0x05, 0x4b, 0x4b, 0x96, 0x8e, 0x67, 0xfd, 0x3e, + 0x46, 0xfc, 0x07, 0xa5, 0x5c, 0x61, 0xf9, 0x98, 0xc7, 0x73, 0xad, 0x70, + 0x2a, 0x09, 0xf4, 0x47, 0xef, 0xdf, 0xbf, 0x7b, 0xff, 0xc0, 0xca, 0xbd, + 0x4a, 0x4b, 0xd2, 0xcb, 0xd0, 0xba, 0x4a, 0x04, 0xb3, 0xa9, 0x95, 0x2b, + 0xdc, 0x5e, 0x7c, 0xf8, 0xbf, 0xf4, 0xdd, 0x3b, 0xba, 0xf7, 0xc7, 0x62, + 0x0d, 0x88, 0x82, 0xd8, 0xff, 0x96, 0x9c, 0x19, 0xb0, 0x97, 0x47, 0x45, + 0x50, 0x0c, 0x40, 0x4a, 0xcb, 0x68, 0xb3, 0x5e, 0x31, 0xd6, 0xa8, 0xf8, + 0xb6, 0x54, 0xd9, 0xf6, 0x4b, 0x97, 0xaf, 0x70, 0x6a, 0xac, 0x8f, 0x07, + 0xf8, 0x4e, 0xd9, 0xf5, 0xab, 0xc6, 0x0f, 0x4b, 0xfb, 0x2b, 0x17, 0xae, + 0x0d, 0x7c, 0x8f, 0x30, 0xc0, 0xff, 0x3a, 0x8c, 0xb0, 0x7d, 0x1c, 0x6f, + 0x01, 0x13, 0xbc, 0xa7, 0xdf, 0x3f, 0x45, 0x9e, 0x1d, 0x8e, 0xed, 0x20, + 0xa0, 0x03, 0x0d, 0x40, 0x5b, 0x6d, 0x62, 0x7f, 0x4f, 0xe5, 0x3a, 0xd4, + 0xd8, 0x84, 0x82, 0x17, 0x06, 0x2a, 0x35, 0xc8, 0xb0, 0xa6, 0xbd, 0xbd, + 0x3a, 0xbc, 0x84, 0xf8, 0x66, 0x58, 0x89, 0x50, 0x75, 0xab, 0x12, 0x7d, + 0x66, 0x36, 0xd4, 0x6d, 0x81, 0xc4, 0x09, 0xef, 0x02, 0x2a, 0x55, 0xd5, + 0x9e, 0x1c, 0xd3, 0x49, 0xe2, 0xa5, 0xfe, 0xfc, 0xbb, 0xfd, 0x5e, 0x4a, + 0x97, 0x52, 0x6e, 0x20, 0xe2, 0x9b, 0x01, 0xb0, 0xbb, 0xed, 0x5f, 0xe5, + 0x1d, 0x89, 0x72, 0xeb, 0x34, 0xf0, 0x57, 0x44, 0x38, 0x9e, 0x03, 0x49, + 0xda, 0xa4, 0xaf, 0x05, 0x5a, 0x02, 0x03, 0xe5, 0x7a, 0x0c, 0xd7, 0xd0, + 0xc7, 0x35, 0x9d, 0xce, 0x9b, 0x1c, 0x6e, 0x6b, 0x48, 0x93, 0x60, 0x3b, + 0xb4, 0xa5, 0x94, 0xe1, 0x0f, 0xf9, 0x25, 0x76, 0x57, 0x92, 0x75, 0xda, + 0x96, 0xfd, 0x1a, 0xce, 0x0e, 0xbc, 0x24, 0xd2, 0xee, 0x6a, 0xb5, 0x5a, + 0xad, 0x56, 0xd7, 0x6a, 0x02, 0x2f, 0x9e, 0x9d, 0x3c, 0x3d, 0x04, 0x4a, + 0xce, 0x6a, 0x43, 0x8c, 0x6a, 0x0e, 0x33, 0xa7, 0xcd, 0x94, 0x5f, 0x69, + 0x80, 0x25, 0xf5, 0x83, 0x2e, 0xf5, 0x00, 0xa1, 0x3b, 0x1d, 0x47, 0xf5, + 0x89, 0x34, 0x54, 0xec, 0x93, 0x93, 0x2f, 0x3e, 0x1f, 0xac, 0x27, 0x29, + 0x5d, 0xcf, 0xf7, 0x74, 0x27, 0x71, 0x35, 0xe2, 0x4a, 0xec, 0x94, 0x10, + 0x51, 0x15, 0xb3, 0xc5, 0xa2, 0xeb, 0x14, 0x50, 0x5c, 0xee, 0x87, 0xb1, + 0xe8, 0x0a, 0x6c, 0xaa, 0x17, 0x5a, 0x95, 0x46, 0x60, 0x83, 0xe5, 0xe4, + 0x8a, 0x2a, 0x54, 0xfc, 0x10, 0xd7, 0x8b, 0xd4, 0x9b, 0x88, 0x15, 0x7f, + 0xb4, 0xe2, 0x41, 0x65, 0xf3, 0x5b, 0x56, 0x77, 0x22, 0x4a, 0xb2, 0xa2, + 0xd6, 0x63, 0xc9, 0x9c, 0xff, 0x24, 0x38, 0x34, 0xa6, 0xe5, 0x24, 0x41, + 0xc5, 0xbd, 0xc9, 0x8d, 0x3b, 0xba, 0x6c, 0x5f, 0x11, 0x04, 0x22, 0xf8, + 0xc5, 0x46, 0xa5, 0xef, 0x15, 0x1a, 0x49, 0x44, 0x2d, 0x8a, 0xd9, 0xe5, + 0xea, 0xfa, 0x64, 0x09, 0xf6, 0x63, 0x3a, 0x49, 0x23, 0x1d, 0xb8, 0x08, + 0xbc, 0xdb, 0x63, 0xf2, 0x68, 0x2c, 0x4c, 0x77, 0x77, 0x77, 0x7d, 0xb6, + 0x04, 0xd3, 0x9c, 0x7e, 0xce, 0xe3, 0x06, 0x3f, 0x57, 0x47, 0x7f, 0x7d, + 0x7f, 0x3b, 0x3d, 0xfd, 0xf5, 0xfd, 0x87, 0xef, 0xea, 0xbc, 0xba, 0xf5, + 0x7d, 0x7d, 0x46, 0x70, 0xed, 0x3a, 0x3a, 0xc7, 0x7d, 0xf0, 0x4e, 0x4e, + 0xe1, 0x9c, 0x82, 0xba, 0x39, 0x40, 0x29, 0x6c, 0xbf, 0x09, 0x00, 0x90, + 0xe2, 0x6c, 0x32, 0x73, 0xec, 0x80, 0xa8, 0x82, 0x82, 0x18, 0x1b, 0x08, + 0x47, 0xb5, 0xa4, 0x8b, 0x23, 0xb5, 0xa5, 0xa4, 0x15, 0xc4, 0xd8, 0xc4, + 0x08, 0x24, 0xbe, 0x5e, 0xa5, 0xe5, 0xc4, 0x15, 0xc4, 0xd8, 0xc0, 0x08, + 0x25, 0x8e, 0xa7, 0x7c, 0xab, 0x89, 0x13, 0xc4, 0xd8, 0xc4, 0x08, 0x24, + 0x8e, 0xc7, 0x85, 0xab, 0x89, 0x13, 0xc4, 0xd8, 0xc4, 0xa8, 0x27, 0xce, + 0xcf, 0x1d, 0x43, 0x7a, 0x19, 0x71, 0x09, 0x31, 0xd6, 0xc0, 0x83, 0xc8, + 0xce, 0x96, 0x79, 0x35, 0x59, 0x82, 0x18, 0x2b, 0xf0, 0x00, 0x39, 0x8b, + 0x53, 0xd0, 0x8c, 0x85, 0x0f, 0x42, 0xa2, 0x38, 0x85, 0x39, 0xd6, 0x29, + 0x1d, 0x55, 0x63, 0x69, 0xa7, 0xa7, 0x01, 0xcf, 0x24, 0x05, 0x16, 0x63, + 0xb6, 0xd8, 0xa0, 0xbf, 0xd3, 0xf9, 0x96, 0xcc, 0x4d, 0xc0, 0xc0, 0xe1, + 0x56, 0x67, 0x9d, 0x2c, 0xab, 0xa5, 0x44, 0x10, 0x63, 0x0d, 0x3c, 0x48, + 0x4a, 0x74, 0x12, 0xbc, 0x94, 0xac, 0x82, 0x18, 0x1b, 0x08, 0xff, 0x8b, + 0x11, 0x4d, 0x0a, 0xcc, 0x6d, 0x62, 0x50, 0xa2, 0xc0, 0x0a, 0xd0, 0xcc, + 0x1a, 0x78, 0x07, 0x73, 0x0a, 0x69, 0x78, 0x86, 0xc4, 0x38, 0xb4, 0xd1, + 0xc1, 0x91, 0xad, 0x7e, 0xf6, 0xd0, 0x9a, 0x3c, 0x7f, 0xf4, 0x5a, 0x2f, + 0xc4, 0xbf, 0x6f, 0xb5, 0xeb, 0x42, 0x38, 0x3b, 0x3f, 0x81, 0x60, 0xa3, + 0x40, 0xb8, 0x3d, 0x0b, 0xee, 0xde, 0xbf, 0x84, 0x4e, 0x2d, 0xc9, 0x67, + 0x0b, 0xe8, 0x81, 0xf5, 0x18, 0x3d, 0x80, 0x5d, 0x34, 0xc0, 0xce, 0x8e, + 0x31, 0x46, 0x22, 0xe0, 0x21, 0xc3, 0xa1, 0x16, 0x81, 0x07, 0xe4, 0xce, + 0xe1, 0x80, 0xcb, 0xfa, 0xec, 0xc9, 0xfb, 0x5a, 0x46, 0x32, 0x17, 0xa9, + 0x1f, 0x93, 0x80, 0xb4, 0x1c, 0x2e, 0xb1, 0xae, 0x76, 0x1c, 0x08, 0x5f, + 0x2e, 0x1f, 0xcb, 0x26, 0x90, 0x71, 0x22, 0x45, 0x2b, 0x44, 0x9d, 0xf7, + 0x9f, 0x7c, 0xd3, 0xd1, 0xa1, 0xb3, 0xf5, 0xb2, 0x02, 0xfa, 0xe4, 0xcb, + 0x77, 0x3f, 0x37, 0xc0, 0x93, 0xd9, 0xaa, 0x02, 0xfc, 0x89, 0x01, 0x3b, + 0xcd, 0xab, 0x48, 0xbf, 0xf7, 0xf5, 0xd3, 0xa7, 0x5f, 0x98, 0xc4, 0xa7, + 0x8d, 0x38, 0xcf, 0x6f, 0x72, 0x17, 0x1a, 0x26, 0xce, 0xa4, 0x56, 0x91, + 0x25, 0xcf, 0xc8, 0x12, 0x65, 0x57, 0x92, 0xc2, 0x42, 0xf1, 0x92, 0x7e, + 0x0c, 0xa7, 0x1d, 0xf1, 0xd8, 0x54, 0x04, 0x64, 0xb5, 0x2c, 0x53, 0x3d, + 0x8d, 0x97, 0xda, 0x05, 0x10, 0xa4, 0x19, 0xf8, 0x80, 0xd4, 0xd5, 0xb2, + 0xc0, 0x7a, 0x21, 0xaa, 0x7c, 0x03, 0x5e, 0xe5, 0x20, 0x23, 0x63, 0xc9, + 0x92, 0x4a, 0xa6, 0x80, 0x62, 0x70, 0xb1, 0x07, 0xf2, 0x9c, 0x4d, 0x1c, + 0x04, 0x8e, 0x04, 0x06, 0x6e, 0xe5, 0x28, 0x2c, 0x93, 0xcd, 0x78, 0x11, + 0xff, 0x4c, 0x6b, 0x25, 0xfd, 0x03, 0xc8, 0xd4, 0x0b, 0x2d, 0x3d, 0xe1, + 0x59, 0x2c, 0xf4, 0x17, 0xf7, 0x90, 0x04, 0x12, 0x34, 0xb8, 0x49, 0x1c, + 0x12, 0x96, 0x90, 0x0a, 0xc4, 0xe9, 0x6d, 0x7d, 0xfb, 0x35, 0x7a, 0x85, + 0x66, 0xd8, 0xbf, 0x48, 0x53, 0x56, 0x5a, 0x04, 0xa0, 0xc9, 0x37, 0x7b, + 0x87, 0x75, 0x68, 0xd7, 0xe4, 0xd9, 0x74, 0x75, 0xf3, 0x0c, 0x36, 0xae, + 0x80, 0x62, 0x2c, 0xde, 0xe8, 0x67, 0x87, 0x5a, 0x9e, 0x46, 0xb6, 0x4c, + 0x40, 0xf9, 0xea, 0xe2, 0x62, 0x11, 0xf3, 0x4e, 0x47, 0x8b, 0x29, 0x4a, + 0x42, 0xa8, 0xe4, 0x15, 0x76, 0x06, 0xb2, 0xcd, 0x26, 0x84, 0x52, 0x0a, + 0x2f, 0xdb, 0xd2, 0x0e, 0x00, 0x2d, 0xcb, 0x9a, 0xe6, 0x7a, 0x96, 0x59, + 0xde, 0xf9, 0x22, 0xbe, 0x61, 0x37, 0xd9, 0x70, 0xc4, 0xb2, 0xab, 0x03, + 0x76, 0x35, 0x7f, 0xcc, 0x16, 0x70, 0x00, 0xe4, 0x66, 0x31, 0x42, 0xb5, + 0x8c, 0xca, 0x85, 0xc3, 0x78, 0x22, 0x09, 0x23, 0xc8, 0xf3, 0x8f, 0xe1, + 0x42, 0xa3, 0xc1, 0x15, 0xb0, 0x62, 0x5b, 0xa8, 0x34, 0x2e, 0x1e, 0x65, + 0x79, 0xbe, 0x25, 0x8d, 0xd1, 0x96, 0x66, 0x3a, 0xa3, 0x2d, 0xcc, 0x74, + 0x44, 0x85, 0x03, 0xd6, 0x35, 0x36, 0x09, 0xb7, 0xfb, 0x3f, 0x64, 0xab, + 0x65, 0xb3, 0x19, 0x0f, 0x3e, 0x0a, 0xc3, 0x54, 0x9c, 0x78, 0x7b, 0xa2, + 0x93, 0x5f, 0xad, 0xd5, 0xc5, 0xc3, 0xb0, 0x39, 0xcf, 0x3b, 0xe6, 0xe4, + 0x06, 0xd4, 0xe0, 0xee, 0xde, 0x5c, 0x83, 0xfd, 0x8a, 0x9f, 0x9b, 0x2c, + 0x1e, 0xea, 0x2f, 0x4a, 0xb8, 0x4e, 0xf2, 0x4b, 0x1e, 0x57, 0x9e, 0x81, + 0xdc, 0x33, 0x85, 0x74, 0x0e, 0x1d, 0x3e, 0x12, 0xb7, 0x20, 0x61, 0x74, + 0x2a, 0x30, 0xba, 0xbe, 0xf5, 0xbb, 0x17, 0x64, 0xae, 0x1d, 0xe9, 0x18, + 0xd2, 0xbb, 0xe4, 0x75, 0x41, 0xee, 0x26, 0x2e, 0x5d, 0x5c, 0x89, 0xb4, + 0x4a, 0xe3, 0x6e, 0xe2, 0x59, 0xd7, 0x75, 0xdd, 0x8c, 0x7c, 0x90, 0x8c, + 0x8d, 0xe2, 0xf7, 0x74, 0x28, 0xb0, 0x4a, 0xa1, 0xc6, 0x0f, 0x30, 0xa1, + 0x14, 0x0b, 0x8f, 0xea, 0xa9, 0xda, 0xcf, 0xf9, 0x9a, 0x5f, 0xad, 0xc7, + 0x23, 0x75, 0x00, 0x9f, 0xcf, 0x11, 0x0b, 0x9a, 0x6c, 0x61, 0x3d, 0x8d, + 0x6f, 0xe8, 0x82, 0xfb, 0xaa, 0x00, 0x14, 0x13, 0xe0, 0x5a, 0x58, 0x55, + 0x56, 0x3e, 0x05, 0xfb, 0x4c, 0x9e, 0x6b, 0x28, 0xf4, 0x9e, 0x9a, 0x66, + 0x92, 0x80, 0x27, 0x8c, 0x17, 0x70, 0xc0, 0xaa, 0x33, 0x7c, 0x35, 0x24, + 0x63, 0xe7, 0xe9, 0xea, 0x8a, 0x7d, 0xb0, 0xbc, 0x80, 0x85, 0xb7, 0x4b, + 0xf9, 0x70, 0x10, 0x12, 0x1f, 0xa8, 0x95, 0x55, 0x63, 0xd3, 0x97, 0xcb, + 0x2c, 0x5e, 0xa2, 0xbc, 0x5c, 0x1d, 0x22, 0xa2, 0xa0, 0x44, 0x7a, 0x77, + 0xf3, 0xeb, 0x91, 0x06, 0x60, 0xab, 0x12, 0xd2, 0xf0, 0xeb, 0x92, 0xeb, + 0x31, 0x11, 0x6c, 0xa9, 0xb6, 0x95, 0x6e, 0x5c, 0x23, 0x1a, 0xa8, 0xde, + 0xd8, 0x56, 0xbd, 0x4a, 0x78, 0xd3, 0x8a, 0x50, 0x9a, 0xad, 0x8b, 0xea, + 0x43, 0x8a, 0x32, 0x8e, 0x0a, 0x73, 0x35, 0x5d, 0xcd, 0x6f, 0x6d, 0x1b, + 0x26, 0x5c, 0x92, 0x71, 0x59, 0xc9, 0x3c, 0x1f, 0x90, 0xd4, 0x7a, 0x9f, + 0xb1, 0xd6, 0x88, 0xbf, 0xac, 0xb5, 0x46, 0x63, 0xf0, 0x20, 0x73, 0x25, + 0xf1, 0x9d, 0x06, 0x55, 0xd7, 0x88, 0x07, 0xe4, 0x96, 0x7e, 0x71, 0x5e, + 0xb8, 0x13, 0xb0, 0x00, 0xd9, 0x1f, 0xaa, 0xa6, 0xf3, 0xd2, 0xce, 0x53, + 0x4f, 0xeb, 0xd0, 0x0a, 0xff, 0x4b, 0x50, 0x04, 0xad, 0xf5, 0x73, 0x76, + 0x85, 0xd7, 0xdb, 0x23, 0x7c, 0xff, 0x4c, 0xc5, 0xf2, 0x93, 0x8d, 0xdd, + 0x1f, 0xb7, 0xd9, 0x95, 0x24, 0xac, 0x3e, 0x61, 0x76, 0x22, 0x63, 0xaf, + 0x07, 0x44, 0x76, 0xf5, 0x3e, 0xe0, 0x89, 0x0d, 0x9f, 0x0f, 0xc5, 0xcf, + 0xc8, 0xf0, 0x38, 0x17, 0xab, 0xa9, 0xc8, 0x7f, 0x0f, 0xbe, 0x46, 0xa7, + 0x64, 0x6e, 0xb9, 0xc9, 0x48, 0xce, 0x6f, 0x0b, 0xc9, 0x75, 0xcf, 0x7a, + 0xec, 0x8e, 0x5f, 0xb4, 0x7e, 0x84, 0xbd, 0x30, 0xe1, 0xf7, 0xd9, 0x77, + 0x70, 0x8c, 0x78, 0x24, 0x79, 0x2e, 0x4a, 0x14, 0x03, 0x70, 0xf4, 0x48, + 0xa2, 0x3f, 0xea, 0x51, 0x49, 0x3d, 0xf6, 0xc8, 0x18, 0x5d, 0xe8, 0x7c, + 0x82, 0x77, 0x5e, 0x70, 0xc2, 0xaf, 0x9e, 0xd2, 0x18, 0x22, 0xa9, 0x76, + 0xeb, 0x87, 0xae, 0x18, 0x4c, 0x97, 0x86, 0x61, 0x8d, 0x5a, 0x0f, 0x61, + 0x21, 0x35, 0x16, 0xbf, 0x3e, 0x3e, 0xfe, 0xe0, 0xe4, 0xc4, 0x6a, 0x00, + 0xb4, 0x73, 0x3d, 0x35, 0xa4, 0x84, 0xcc, 0x72, 0xed, 0x1e, 0x40, 0x63, + 0x16, 0x78, 0x01, 0x19, 0xdf, 0x78, 0x02, 0x8a, 0x7b, 0x34, 0xdf, 0x6d, + 0x6c, 0xad, 0x8b, 0x2e, 0x04, 0x62, 0xe1, 0xce, 0xb3, 0xec, 0x1f, 0xc1, + 0x26, 0x9d, 0xcf, 0xff, 0xb9, 0x40, 0x3c, 0x35, 0x6d, 0x5f, 0xbf, 0xc0, + 0x29, 0xbd, 0x3d, 0x04, 0x98, 0x5e, 0x6e, 0xcc, 0x8f, 0x15, 0xb9, 0x1d, + 0xf5, 0x05, 0xed, 0x67, 0xb1, 0x0d, 0x56, 0xea, 0x8f, 0x37, 0x77, 0xc3, + 0xb1, 0xeb, 0xac, 0x57, 0xe8, 0xc5, 0x84, 0x98, 0x16, 0x6d, 0xd3, 0x4e, + 0x67, 0x0c, 0xf4, 0x0f, 0x89, 0x38, 0x86, 0xc7, 0x4b, 0x33, 0xc3, 0x3e, + 0x17, 0x47, 0x00, 0xdf, 0x63, 0x43, 0xf3, 0x96, 0x09, 0x11, 0x76, 0xe9, + 0xa2, 0xb1, 0x0f, 0xa1, 0x8c, 0x3b, 0x29, 0x36, 0xab, 0xf7, 0xde, 0x4e, + 0xc9, 0xe7, 0xde, 0xb4, 0xbb, 0x92, 0xd1, 0x0c, 0xdc, 0x47, 0xaf, 0xeb, + 0x1c, 0x0b, 0x5b, 0x2d, 0x4f, 0xe4, 0x0b, 0x51, 0xb0, 0xfb, 0x0d, 0xab, + 0x33, 0x0b, 0x38, 0x05, 0x55, 0xb0, 0x65, 0x9f, 0x62, 0x65, 0x3c, 0x5f, + 0x30, 0x62, 0x94, 0x9f, 0x11, 0x99, 0x58, 0x5c, 0x05, 0x3d, 0x04, 0x06, + 0x04, 0xb0, 0xb2, 0x99, 0xec, 0x04, 0x34, 0x90, 0x99, 0x80, 0xe2, 0xa8, + 0xa3, 0xb6, 0x09, 0x0e, 0xa5, 0x78, 0x7c, 0xea, 0xec, 0xbd, 0xdb, 0x63, + 0x39, 0x67, 0x89, 0x3a, 0x9c, 0x25, 0x0a, 0x2a, 0xf1, 0x6c, 0x11, 0x5f, + 0x80, 0x3d, 0x92, 0xfe, 0xb8, 0x1a, 0xfc, 0x13, 0x5a, 0x12, 0x81, 0x8f, + 0xb7, 0xd8, 0x8d, 0xd8, 0xc7, 0x82, 0x5f, 0xaf, 0xbd, 0x66, 0xc8, 0xfc, + 0xe6, 0x34, 0x39, 0xd3, 0x27, 0x43, 0x94, 0xe0, 0xbf, 0xf8, 0xa3, 0xe6, + 0xad, 0x6f, 0x8a, 0xcb, 0x3f, 0x2a, 0x65, 0xaf, 0x63, 0x35, 0x0e, 0xd4, + 0xa2, 0xfe, 0x52, 0xa3, 0x2b, 0xa3, 0x1b, 0x93, 0x97, 0x3a, 0x46, 0xf6, + 0x1c, 0x46, 0xde, 0xec, 0xe8, 0xe2, 0x8e, 0xc5, 0x3d, 0x70, 0xfe, 0x42, + 0x16, 0x9b, 0x2c, 0xe7, 0xc5, 0x31, 0xb6, 0x7c, 0x65, 0x35, 0x04, 0x60, + 0x99, 0x57, 0x52, 0xac, 0x35, 0xa6, 0xd3, 0x4e, 0x8a, 0xfc, 0x0a, 0x0d, + 0x81, 0x7e, 0x31, 0x84, 0x8e, 0x29, 0x7e, 0xd0, 0xfc, 0xef, 0x4c, 0xbf, + 0x9b, 0x51, 0x4a, 0xe4, 0x22, 0x8c, 0xc8, 0x14, 0xb0, 0x4b, 0x69, 0x4c, + 0xc3, 0x68, 0xe0, 0xa2, 0x5c, 0x39, 0x91, 0xeb, 0x30, 0x22, 0xde, 0x83, + 0x36, 0x95, 0x07, 0x53, 0xdc, 0x43, 0x29, 0xf7, 0xd6, 0x59, 0x41, 0xaf, + 0x93, 0x0c, 0x63, 0x45, 0xe1, 0x76, 0x51, 0xf3, 0xc8, 0x1f, 0xa2, 0x9d, + 0x54, 0x0f, 0xc1, 0x8c, 0x2a, 0xf5, 0x92, 0x88, 0x4e, 0x97, 0xa0, 0xc3, + 0x29, 0xba, 0x3f, 0x4c, 0xe5, 0x7b, 0x1d, 0x61, 0xdb, 0x0b, 0x46, 0x4c, + 0xbf, 0x17, 0x8c, 0x74, 0x29, 0xf2, 0x5d, 0xd5, 0x72, 0x1a, 0xbc, 0x55, + 0xf7, 0x44, 0x2d, 0xa7, 0xe1, 0x9f, 0xc0, 0xb1, 0xe6, 0xdb, 0xd4, 0x58, + 0x9d, 0x1e, 0x31, 0xea, 0x02, 0x7b, 0xa7, 0xd0, 0xa7, 0x08, 0x7b, 0x36, + 0x28, 0x1e, 0xec, 0x55, 0x58, 0x04, 0x62, 0x2c, 0x37, 0x70, 0x32, 0x56, + 0x57, 0x25, 0x28, 0xa9, 0x25, 0xc6, 0x68, 0x78, 0xa4, 0x00, 0x1a, 0x1d, + 0xe4, 0x9e, 0x43, 0xdf, 0x5a, 0x5d, 0xc5, 0xf9, 0x25, 0x50, 0x62, 0x97, + 0x71, 0x1a, 0x5b, 0xde, 0x23, 0x4d, 0x4d, 0x32, 0x11, 0x55, 0xa9, 0xaa, + 0x25, 0x05, 0x90, 0x6a, 0x4a, 0x85, 0x26, 0x39, 0x06, 0x5d, 0xb5, 0xb3, + 0x1a, 0xf0, 0x4a, 0xfb, 0x4a, 0xe0, 0x0b, 0x5a, 0x64, 0x65, 0x69, 0xe5, + 0x25, 0xba, 0x15, 0x12, 0xfb, 0x8d, 0x95, 0xf5, 0x11, 0x30, 0xaa, 0x3a, + 0x32, 0x41, 0xd2, 0xb6, 0xf7, 0x32, 0x4d, 0xb0, 0x26, 0x35, 0x73, 0x36, + 0x45, 0xad, 0xb2, 0x8e, 0x5c, 0x21, 0x74, 0x8e, 0x2f, 0xc1, 0x26, 0xd8, + 0x98, 0x5d, 0x5f, 0x65, 0xd5, 0x86, 0x68, 0x45, 0x6d, 0x0b, 0x20, 0x59, + 0x5d, 0x85, 0x66, 0xd7, 0xb7, 0xc8, 0xb0, 0x01, 0x9b, 0xd7, 0x58, 0x63, + 0x4d, 0x91, 0xa9, 0xa8, 0xf3, 0x15, 0x56, 0xda, 0x41, 0x2e, 0xaf, 0x35, + 0xec, 0xcc, 0xd6, 0xd7, 0x1a, 0x80, 0x54, 0xad, 0x65, 0x8a, 0x5b, 0x6b, + 0x99, 0x61, 0x01, 0xb6, 0xad, 0xb5, 0x60, 0x4d, 0x7e, 0xaf, 0xac, 0xf5, + 0x1a, 0x6a, 0xed, 0x20, 0xfb, 0x6b, 0x2d, 0xb7, 0x8c, 0x6b, 0x6b, 0x8d, + 0x40, 0xaa, 0xd6, 0x32, 0xc5, 0xa9, 0xb5, 0xcc, 0xb0, 0x01, 0x5b, 0xd6, + 0x9a, 0xb3, 0xa6, 0xc8, 0x54, 0xd5, 0x7a, 0x03, 0xb5, 0x76, 0x90, 0x2b, + 0xda, 0x1a, 0xbc, 0x8f, 0xda, 0x5a, 0x23, 0x90, 0xaa, 0xb5, 0x4c, 0x71, + 0x6a, 0x2d, 0x33, 0x6c, 0xc0, 0x96, 0xb5, 0xe6, 0xac, 0x29, 0x32, 0x55, + 0xb5, 0xc6, 0xa1, 0xde, 0x41, 0xf6, 0xd6, 0x1a, 0x86, 0x5a, 0x11, 0x80, + 0xab, 0xbc, 0xda, 0xd2, 0xd5, 0x05, 0x40, 0x7d, 0x84, 0xb5, 0x7c, 0x4e, + 0x73, 0x1b, 0x5f, 0x3a, 0x9e, 0x5b, 0x1e, 0x36, 0x93, 0x9a, 0x31, 0x33, + 0x51, 0xd9, 0x5a, 0x55, 0xeb, 0x87, 0x48, 0x05, 0x5b, 0x34, 0x2b, 0xf7, + 0xa5, 0x44, 0xea, 0x91, 0x05, 0xd6, 0xa4, 0x03, 0x1b, 0x84, 0x80, 0xb0, + 0x22, 0x52, 0xde, 0xa4, 0x27, 0x19, 0xb4, 0xa8, 0x89, 0xe9, 0x6b, 0x4e, + 0x0a, 0xdf, 0x25, 0xf2, 0xb3, 0xa0, 0x06, 0x9d, 0x2d, 0x95, 0xd9, 0xd2, + 0x91, 0x65, 0xb5, 0xcd, 0x56, 0x75, 0x01, 0x5b, 0x68, 0xb3, 0x3c, 0xe7, + 0xe1, 0x96, 0xe7, 0xd7, 0xe6, 0x0c, 0xeb, 0x6e, 0x22, 0x1b, 0xc3, 0x35, + 0xb4, 0x62, 0xcc, 0x22, 0x4d, 0x8a, 0xe7, 0x49, 0x9a, 0xe5, 0xd4, 0xb8, + 0xce, 0x92, 0x89, 0x82, 0x12, 0x31, 0x2e, 0x09, 0xcc, 0x8f, 0xec, 0x99, + 0xff, 0xb7, 0xd3, 0xfc, 0xe7, 0xd1, 0xfe, 0x66, 0x3d, 0x20, 0xa0, 0x17, + 0x04, 0xf7, 0x04, 0xad, 0xda, 0x0d, 0x7a, 0x84, 0xa1, 0x8d, 0xeb, 0x64, + 0x59, 0xaf, 0x84, 0x00, 0x24, 0x6b, 0x8c, 0x08, 0x1e, 0xc5, 0x83, 0x54, + 0x95, 0xdf, 0x4a, 0xdf, 0x38, 0x23, 0xf0, 0x6f, 0x95, 0x9a, 0xc9, 0x01, + 0x52, 0xe1, 0x78, 0xbb, 0x18, 0x1e, 0xc9, 0xa9, 0xaf, 0x15, 0x42, 0x95, + 0x4f, 0x47, 0x14, 0xcc, 0xf6, 0x4d, 0x64, 0xc0, 0xcc, 0x42, 0xb1, 0xc3, + 0xe7, 0x16, 0x1a, 0x34, 0x26, 0xd6, 0x9b, 0x4b, 0x82, 0x72, 0x1b, 0x0e, + 0x93, 0x8f, 0x14, 0x44, 0xab, 0xa6, 0x13, 0xe2, 0xc6, 0x8f, 0xaa, 0xc6, + 0xc3, 0xa9, 0xba, 0x85, 0xe5, 0x1f, 0xef, 0xf2, 0x49, 0xb5, 0x37, 0xc7, + 0x67, 0xcd, 0xca, 0x99, 0xe3, 0x18, 0x96, 0x6c, 0x21, 0x8e, 0x78, 0xa7, + 0x67, 0x9c, 0x2f, 0xeb, 0x0f, 0x0d, 0x78, 0x77, 0x12, 0x4e, 0xc9, 0x0a, + 0xa4, 0x91, 0xcb, 0x67, 0x12, 0x01, 0xaa, 0xf8, 0x59, 0x35, 0x5a, 0x9c, + 0x82, 0x34, 0x2c, 0xac, 0x12, 0x69, 0xac, 0xd6, 0xb5, 0xc2, 0x58, 0xad, + 0x95, 0x2c, 0xe0, 0x47, 0x23, 0x51, 0x00, 0xb8, 0x2b, 0x09, 0x48, 0xd5, + 0x00, 0xda, 0xc9, 0x81, 0xf8, 0xc6, 0x8f, 0x0a, 0x29, 0x9c, 0x99, 0x52, + 0x00, 0x60, 0xaf, 0x10, 0x66, 0xab, 0x4d, 0x88, 0xf7, 0x83, 0x60, 0x4a, + 0x2b, 0xe8, 0x97, 0xa3, 0xf2, 0x54, 0x7f, 0x05, 0xd1, 0xc8, 0x2d, 0xb0, + 0x8f, 0x2b, 0x12, 0x7e, 0x95, 0xca, 0xcf, 0x4c, 0x95, 0x9f, 0x29, 0x97, + 0xa0, 0x8d, 0xda, 0xb6, 0x68, 0x5e, 0x43, 0x8a, 0xfc, 0xb9, 0xe9, 0x7a, + 0x31, 0x72, 0xb8, 0x2a, 0xd3, 0xa8, 0xa0, 0xfe, 0x41, 0xc6, 0x91, 0x33, + 0xe4, 0x98, 0x47, 0x9e, 0x5c, 0x6f, 0x20, 0x05, 0x9c, 0xd4, 0x97, 0xa8, + 0xd0, 0x4a, 0x19, 0x01, 0x96, 0xbd, 0x82, 0x8f, 0x71, 0x23, 0x96, 0x02, + 0x6f, 0xa0, 0x3c, 0x2e, 0xbd, 0xb1, 0x59, 0xe6, 0xaf, 0x4c, 0xbc, 0xe5, + 0xad, 0x7e, 0x8b, 0x97, 0xb0, 0x55, 0x02, 0x7f, 0xd8, 0xba, 0xa2, 0x43, + 0xad, 0x40, 0xe3, 0xdc, 0xa2, 0x7c, 0xea, 0x20, 0x4b, 0x0b, 0xd2, 0x07, + 0x04, 0x0c, 0x50, 0x08, 0x04, 0xfb, 0x67, 0x69, 0x04, 0x72, 0xe4, 0xa8, + 0x84, 0x48, 0x0f, 0xd2, 0x09, 0x02, 0xac, 0x56, 0x8a, 0xe1, 0x08, 0xd1, + 0x14, 0x7c, 0x93, 0x25, 0xa1, 0x7f, 0xa2, 0x56, 0x10, 0xf5, 0x20, 0xb5, + 0x20, 0xc8, 0x00, 0xbd, 0x20, 0xb8, 0x7f, 0x96, 0x62, 0x10, 0x4b, 0x8e, + 0x66, 0xc8, 0x8c, 0x20, 0xd5, 0x20, 0xc8, 0x6a, 0xdd, 0x00, 0x73, 0x61, + 0x82, 0xff, 0xcb, 0x55, 0x03, 0x88, 0x85, 0x19, 0x0c, 0x00, 0x0c, 0x31, + 0x18, 0x00, 0xf6, 0x0f, 0x33, 0x18, 0xc8, 0x91, 0xab, 0x16, 0x94, 0x1e, + 0x66, 0x30, 0x10, 0xb0, 0x5a, 0x29, 0x0e, 0xba, 0x3a, 0xf0, 0xbf, 0xd6, + 0x5a, 0x50, 0xc4, 0x7c, 0x0a, 0x98, 0xef, 0xee, 0x54, 0x68, 0xd1, 0xf4, + 0xdb, 0x6d, 0x58, 0x98, 0x27, 0xaa, 0xc6, 0x1c, 0x9d, 0x8b, 0x3c, 0x3b, + 0xa5, 0x1f, 0x72, 0xa7, 0xf0, 0x09, 0xee, 0x9d, 0x9f, 0x71, 0x16, 0xfc, + 0x33, 0xdc, 0xd9, 0x8f, 0xd5, 0xeb, 0xa4, 0x1c, 0x02, 0xcf, 0xf9, 0x2a, + 0x95, 0xe5, 0x69, 0x03, 0xda, 0xc7, 0x8f, 0xe7, 0xd4, 0x92, 0x92, 0x23, + 0xed, 0x11, 0x01, 0x7e, 0x3c, 0x6a, 0x96, 0xa4, 0x33, 0x85, 0x8a, 0xdb, + 0x95, 0xe9, 0xe4, 0x5a, 0xdb, 0xe3, 0x84, 0xfd, 0x36, 0x3a, 0x77, 0x48, + 0xe9, 0x7c, 0x27, 0x4e, 0x30, 0x95, 0xaf, 0xc4, 0x79, 0x43, 0x49, 0x5c, + 0x15, 0xde, 0x68, 0xe9, 0xd5, 0xcb, 0x1b, 0xf0, 0x6c, 0xd6, 0x02, 0x4e, + 0x2d, 0x14, 0xcc, 0xb2, 0xe2, 0xfd, 0x03, 0xc1, 0xb5, 0x9f, 0xf3, 0x92, + 0x05, 0xc9, 0x9c, 0xce, 0x6e, 0xd1, 0x31, 0x92, 0x0f, 0xce, 0xcf, 0xe3, + 0x59, 0xdd, 0x4a, 0x56, 0xde, 0x77, 0x10, 0xa4, 0xb8, 0xbc, 0xd4, 0x24, + 0xc7, 0xca, 0x6f, 0x77, 0x40, 0x4a, 0xb1, 0xdb, 0xac, 0x77, 0x79, 0xaa, + 0x53, 0xc9, 0x97, 0x75, 0x5a, 0xac, 0x0a, 0x34, 0xfc, 0x22, 0x89, 0x8f, + 0xca, 0xf4, 0x82, 0xd4, 0xa5, 0xd3, 0x6d, 0x7e, 0x0c, 0xdd, 0x9d, 0x8e, + 0xc4, 0x43, 0x10, 0x3a, 0xdb, 0xd6, 0x9f, 0x7d, 0x40, 0x68, 0xcb, 0xf5, + 0xee, 0x74, 0xca, 0xeb, 0xb9, 0xfb, 0x90, 0xf5, 0xd4, 0xea, 0xe5, 0x9d, + 0x99, 0x2e, 0xae, 0x26, 0xc9, 0xb2, 0xf6, 0x64, 0x45, 0x1f, 0xa1, 0xa4, + 0xce, 0x4b, 0x2c, 0xd7, 0x6e, 0x6a, 0xef, 0xa4, 0xe8, 0xa0, 0x8d, 0xd6, + 0xd4, 0x7c, 0xc4, 0xa0, 0x0c, 0xad, 0x4c, 0x67, 0xaf, 0xfc, 0x32, 0xbe, + 0x21, 0xb0, 0x2a, 0x56, 0x14, 0xf4, 0x6d, 0xf2, 0x13, 0x1a, 0x97, 0x88, + 0xce, 0x58, 0x3f, 0x81, 0x01, 0x59, 0xa2, 0x8b, 0xa3, 0x71, 0xd1, 0xb0, + 0x37, 0xea, 0xf6, 0x86, 0x07, 0xdd, 0x57, 0x47, 0x6f, 0xbe, 0xd9, 0x7d, + 0xad, 0x1c, 0x6e, 0x4f, 0xc2, 0xed, 0xbf, 0xf1, 0x7a, 0x15, 0xdc, 0xbe, + 0x84, 0x1b, 0x0e, 0x1f, 0x77, 0xbb, 0x3b, 0x43, 0x38, 0xf9, 0x15, 0x12, + 0x18, 0x3b, 0x5f, 0xad, 0x16, 0xd3, 0x49, 0x83, 0xce, 0x43, 0x85, 0x86, + 0x50, 0x3e, 0x5f, 0xad, 0xf2, 0x78, 0x1b, 0x84, 0x6d, 0x96, 0x65, 0xab, + 0x44, 0x20, 0x73, 0x8a, 0x3f, 0x3c, 0xda, 0x47, 0x2b, 0xfe, 0xe8, 0xc5, + 0xe1, 0x70, 0xf8, 0x88, 0x1d, 0xc2, 0x97, 0x0f, 0x3e, 0xf8, 0xe0, 0x51, + 0x08, 0x65, 0x62, 0x79, 0x7b, 0x84, 0xe9, 0x66, 0x4b, 0x3b, 0xea, 0x76, + 0x7f, 0xc2, 0x17, 0x84, 0xea, 0xfb, 0x13, 0x42, 0xc9, 0xfe, 0x24, 0xb1, + 0xca, 0xfa, 0x13, 0xe6, 0xe9, 0x90, 0x8d, 0x16, 0x7d, 0x5c, 0x5a, 0xc0, + 0x9d, 0x59, 0x62, 0x88, 0x98, 0xe8, 0x28, 0xae, 0x2d, 0x20, 0x1f, 0xf1, + 0x12, 0xa9, 0xa0, 0x8e, 0xd5, 0x4b, 0x05, 0xa1, 0xa4, 0x54, 0x24, 0x56, + 0x99, 0x54, 0x30, 0xcf, 0x84, 0x6c, 0x2f, 0x15, 0xce, 0x9d, 0xa4, 0x13, + 0x2e, 0x15, 0x71, 0xe4, 0xbe, 0x49, 0x5f, 0x42, 0x80, 0x10, 0xd2, 0xf2, + 0x2c, 0xce, 0xc3, 0x53, 0x2e, 0x76, 0xe6, 0xb6, 0x45, 0x1a, 0x97, 0xc6, + 0xb7, 0x45, 0x9b, 0x4f, 0x17, 0xb6, 0x48, 0x1d, 0x66, 0x1f, 0x5b, 0x93, + 0xb9, 0x9c, 0xcc, 0x6c, 0x91, 0x3e, 0xcc, 0x8d, 0xda, 0xb3, 0x2f, 0xce, + 0x37, 0xe6, 0xf1, 0x4d, 0xbe, 0x43, 0xb7, 0xfe, 0x78, 0x3f, 0x9f, 0xc7, + 0x6b, 0x7e, 0x3a, 0x9d, 0x41, 0x92, 0xa2, 0xc9, 0x30, 0x66, 0x3b, 0x86, + 0xed, 0x0c, 0x1d, 0x8c, 0x11, 0xf5, 0x9f, 0x3d, 0x16, 0xcb, 0xe0, 0xfa, + 0x59, 0xc8, 0x81, 0x59, 0x75, 0x25, 0x52, 0x4d, 0xe5, 0xfd, 0x87, 0x65, + 0x39, 0x4d, 0xf7, 0xc0, 0xac, 0xfa, 0xe3, 0x10, 0x70, 0x4e, 0xb6, 0x6e, + 0x04, 0x1a, 0x8d, 0x46, 0xde, 0xf1, 0xed, 0x3e, 0x58, 0x49, 0x4e, 0xe2, + 0x0b, 0x78, 0x32, 0xa0, 0xdd, 0x58, 0x07, 0x7f, 0x01, 0x27, 0xeb, 0xb6, + 0x43, 0x9e, 0x07, 0x41, 0xdc, 0x02, 0x61, 0x3a, 0x5c, 0xbb, 0x1d, 0xd2, + 0x78, 0xe4, 0x76, 0x3b, 0x94, 0xf1, 0x20, 0xee, 0x96, 0x48, 0xf3, 0x10, + 0x74, 0xdb, 0xa1, 0x9d, 0xad, 0xe3, 0x6d, 0x35, 0xa3, 0x34, 0x36, 0xed, + 0x48, 0x3b, 0xfe, 0x4a, 0x1e, 0x30, 0x29, 0x02, 0x20, 0xc3, 0x5b, 0xc9, + 0x4b, 0xa7, 0x44, 0x90, 0xa5, 0xc3, 0x3d, 0xc7, 0x7c, 0x88, 0x18, 0x13, + 0x54, 0xc2, 0x1d, 0x15, 0x49, 0xa4, 0x0f, 0xeb, 0x35, 0x4d, 0xc6, 0x87, + 0x7c, 0x19, 0x42, 0x9d, 0xaf, 0xd3, 0xd4, 0x4f, 0x7a, 0x5d, 0xea, 0x8d, + 0x56, 0x22, 0x1e, 0x78, 0x0a, 0x5e, 0xc9, 0x0d, 0xb7, 0x95, 0xcf, 0x26, + 0xb3, 0x3c, 0x81, 0x95, 0x40, 0x7e, 0x97, 0x3f, 0xea, 0x96, 0x2b, 0x4b, + 0x16, 0xa4, 0x2d, 0x40, 0xd5, 0x52, 0x98, 0xac, 0x42, 0x63, 0x00, 0xda, + 0x80, 0x6d, 0xb2, 0x32, 0xe4, 0xa5, 0x06, 0xa5, 0x18, 0xa5, 0x36, 0xae, + 0xaf, 0x70, 0x10, 0xe8, 0xf1, 0xc5, 0xf3, 0xc9, 0x2c, 0x16, 0x8f, 0xb0, + 0x34, 0x89, 0xcc, 0x2b, 0xe6, 0xf1, 0xe5, 0x01, 0x21, 0xd5, 0x24, 0xa7, + 0x1a, 0x04, 0x1b, 0xb4, 0x0e, 0x24, 0x5f, 0xd6, 0x43, 0x64, 0x5e, 0x10, + 0xba, 0xa7, 0x17, 0xd6, 0xa5, 0xf8, 0x03, 0xd2, 0x9e, 0xb6, 0xa1, 0xa8, + 0x05, 0xb2, 0x69, 0x1e, 0xd6, 0xc9, 0x90, 0xb7, 0xb9, 0xc7, 0xf5, 0xfc, + 0x39, 0x78, 0x93, 0x54, 0x68, 0xbf, 0xba, 0x0a, 0x43, 0xb7, 0xad, 0x60, + 0x67, 0x82, 0x75, 0xec, 0x6b, 0xd5, 0x00, 0x5c, 0x5c, 0xef, 0x92, 0x41, + 0x14, 0xba, 0xee, 0x4d, 0x2b, 0xfa, 0x33, 0x69, 0xb2, 0xd7, 0xc6, 0x2a, + 0x9c, 0x81, 0x73, 0x89, 0x14, 0x33, 0x62, 0x1e, 0x40, 0x1b, 0xae, 0x99, + 0xc5, 0x19, 0x5d, 0xa4, 0x91, 0x8f, 0x77, 0x32, 0xae, 0x7f, 0x99, 0x86, + 0x64, 0x5e, 0x8e, 0xbd, 0x9a, 0xac, 0x9d, 0x8b, 0xb1, 0xea, 0xcf, 0xbe, + 0x1f, 0xe6, 0xf0, 0x59, 0x63, 0xd0, 0xe4, 0xe5, 0x30, 0x3d, 0x6a, 0x4d, + 0x58, 0xbd, 0x2c, 0x4f, 0xcc, 0xe8, 0x3b, 0xcf, 0xe7, 0x1f, 0xea, 0x3e, + 0x62, 0x39, 0x5b, 0x82, 0xab, 0xa6, 0xc1, 0x8f, 0xcc, 0x76, 0x23, 0xdd, + 0xf0, 0x5f, 0x93, 0x12, 0xd5, 0x16, 0x57, 0xa4, 0x3a, 0x5d, 0xa7, 0x59, + 0xe9, 0x42, 0xa4, 0xdd, 0xac, 0x93, 0xc5, 0xe2, 0xaf, 0x6a, 0x51, 0x94, + 0x2b, 0x97, 0x0e, 0x1b, 0x37, 0x69, 0xde, 0x23, 0x3f, 0x39, 0x02, 0x30, + 0x65, 0x43, 0x49, 0xed, 0xc4, 0xf3, 0x77, 0x6a, 0xc7, 0xd8, 0x97, 0xef, + 0xaf, 0x45, 0x75, 0x25, 0xee, 0xdd, 0x05, 0xe5, 0xda, 0xb0, 0x1d, 0x86, + 0xf7, 0xd1, 0xc4, 0x54, 0xfa, 0x36, 0xe4, 0xaa, 0x6c, 0x9e, 0xda, 0xd3, + 0x83, 0x52, 0xac, 0x21, 0xce, 0xba, 0xcd, 0xfb, 0xc0, 0xb3, 0xbe, 0x30, + 0x55, 0x0e, 0x51, 0xe3, 0x06, 0x5a, 0x1b, 0x66, 0x94, 0xf4, 0x16, 0x7b, + 0xc0, 0x89, 0x6a, 0x13, 0x36, 0x34, 0x16, 0xd4, 0xb7, 0x00, 0xc7, 0x52, + 0x8d, 0x61, 0xd5, 0x65, 0xdc, 0x3b, 0x97, 0x70, 0xcd, 0x9b, 0xd9, 0x57, + 0x19, 0xe8, 0xf2, 0xf5, 0xe5, 0x6d, 0x8f, 0xe1, 0x23, 0xf6, 0x50, 0xa7, + 0xda, 0xbb, 0xb1, 0xa2, 0x7c, 0x41, 0xa0, 0x68, 0xea, 0x1b, 0x63, 0xd7, + 0x1d, 0xc8, 0xca, 0xf4, 0x52, 0x2f, 0x33, 0x82, 0x62, 0x71, 0xbc, 0x94, + 0x37, 0xbf, 0x69, 0x17, 0xf3, 0xc5, 0xc9, 0x7c, 0xf4, 0xfa, 0xe8, 0x75, + 0xda, 0xc6, 0x7c, 0xf1, 0xf1, 0x6c, 0x72, 0xbe, 0xbf, 0xdb, 0x51, 0x2e, + 0xd6, 0xbb, 0xcb, 0xe4, 0x6a, 0x42, 0x95, 0x48, 0x32, 0x62, 0x78, 0xce, + 0x63, 0xbb, 0x90, 0x08, 0xe8, 0xe6, 0x55, 0x84, 0x17, 0xe4, 0xf9, 0x1d, + 0x72, 0x06, 0xa5, 0x0c, 0xf1, 0x4b, 0xd7, 0x77, 0xdd, 0xb5, 0x83, 0x62, + 0x80, 0xfd, 0x70, 0x22, 0xc3, 0x4b, 0xf0, 0xbf, 0x1a, 0x72, 0x17, 0x70, + 0x4f, 0xd6, 0x20, 0xc6, 0x6d, 0x03, 0xbb, 0x17, 0x22, 0x55, 0x21, 0xbc, + 0xd9, 0xb7, 0xf1, 0xf4, 0x64, 0x05, 0x1e, 0x7b, 0x4e, 0x07, 0x17, 0x28, + 0x6c, 0xf7, 0x22, 0xa6, 0xa7, 0xfa, 0xc5, 0x06, 0x38, 0x90, 0xbf, 0xb3, + 0xdf, 0x10, 0x17, 0x1c, 0x1d, 0xb2, 0x21, 0xd6, 0x8c, 0xe7, 0xc2, 0xc9, + 0xc0, 0xaf, 0xe2, 0x3c, 0x4d, 0xf0, 0xd9, 0xf1, 0x91, 0x48, 0x4b, 0x63, + 0x85, 0xf3, 0x7e, 0xbc, 0x98, 0xdc, 0x7e, 0x94, 0xae, 0xae, 0x3f, 0x9c, + 0xe0, 0x33, 0xd9, 0x0a, 0x68, 0x1e, 0x4f, 0x37, 0x17, 0xfc, 0x3d, 0x73, + 0x60, 0xeb, 0xc8, 0x7c, 0xa9, 0x58, 0xe0, 0xbf, 0xbb, 0x58, 0x98, 0xa1, + 0x04, 0xcc, 0xab, 0xa3, 0xc7, 0x8b, 0x15, 0x8c, 0x93, 0xeb, 0x55, 0x0e, + 0xba, 0x90, 0xc0, 0x00, 0x76, 0xcb, 0xd0, 0xcd, 0xd3, 0x18, 0xce, 0xb4, + 0xdb, 0xdc, 0xde, 0xe7, 0xcc, 0x55, 0x08, 0x8f, 0x08, 0x13, 0x9d, 0x20, + 0xec, 0x90, 0x06, 0x32, 0x86, 0x52, 0x22, 0xaa, 0x32, 0xeb, 0x7c, 0x36, + 0x59, 0x6e, 0xa8, 0x24, 0x4a, 0x9d, 0x1f, 0x1e, 0x56, 0x30, 0x4b, 0xd1, + 0x08, 0xee, 0x7e, 0x8c, 0xe3, 0xf5, 0x31, 0x01, 0xf3, 0xca, 0xde, 0x6b, + 0x0e, 0x7b, 0x2d, 0x7b, 0xd0, 0x0a, 0xa7, 0x67, 0x3a, 0x58, 0xf9, 0xc3, + 0xec, 0x68, 0x1f, 0x8c, 0x19, 0x4f, 0xe5, 0xdc, 0x58, 0xd1, 0xe8, 0x03, + 0x24, 0x75, 0x1d, 0xd3, 0xf5, 0x84, 0xd4, 0x32, 0xd7, 0xb3, 0xb1, 0xdb, + 0x09, 0xb4, 0x6a, 0x4c, 0x83, 0x79, 0x57, 0x58, 0xd4, 0xaa, 0xb4, 0xe9, + 0xab, 0x15, 0x04, 0x68, 0x2a, 0x0d, 0x21, 0x30, 0x0a, 0x7e, 0x0f, 0x73, + 0x2c, 0xb1, 0x15, 0xbf, 0x49, 0xa1, 0xb3, 0xd2, 0x00, 0xc4, 0xe1, 0x40, + 0xf1, 0xf9, 0xcf, 0x92, 0xd3, 0x25, 0xb2, 0xf6, 0x47, 0xb2, 0xf6, 0x1c, + 0x5a, 0xa9, 0x0e, 0x5e, 0x1c, 0xb4, 0x55, 0x07, 0xd3, 0xc4, 0xe5, 0xcb, + 0x01, 0x74, 0x8f, 0x2b, 0x27, 0x16, 0x92, 0x0a, 0x3c, 0xeb, 0x86, 0xf4, + 0x00, 0x8e, 0x48, 0x08, 0x62, 0x92, 0xf6, 0x95, 0xec, 0x4f, 0xc0, 0x59, + 0xd1, 0x71, 0x71, 0x2d, 0xcf, 0x8a, 0x34, 0x72, 0xf8, 0xc6, 0x10, 0x03, + 0x75, 0x4d, 0xd2, 0xf9, 0x26, 0x59, 0xae, 0xe0, 0xab, 0xea, 0xce, 0x50, + 0x7a, 0x79, 0xd0, 0x90, 0xe3, 0x82, 0x3a, 0x0a, 0x4a, 0xa9, 0x06, 0xd5, + 0x13, 0xc8, 0x20, 0x7d, 0x9d, 0x40, 0xb5, 0xd2, 0x8a, 0x30, 0xd8, 0x98, + 0xc0, 0x91, 0x9c, 0x92, 0x31, 0x9c, 0x1e, 0xf5, 0xd4, 0xb1, 0xfd, 0xee, + 0x41, 0x35, 0x83, 0xf1, 0x3c, 0x9c, 0xbf, 0x80, 0x1e, 0xf3, 0xda, 0x6b, + 0x16, 0xce, 0xf3, 0xf5, 0x1d, 0x8b, 0x7b, 0xdd, 0x52, 0x3b, 0xbf, 0x3b, + 0x1d, 0x3f, 0x92, 0x19, 0xc9, 0xed, 0x35, 0x68, 0xdc, 0xba, 0x4a, 0xd8, + 0x7e, 0xc4, 0x91, 0x57, 0xda, 0x64, 0xad, 0x82, 0xc5, 0xfd, 0x3e, 0xf4, + 0xaf, 0xad, 0x48, 0xbc, 0xdf, 0xdf, 0xaa, 0xc4, 0x9f, 0x57, 0x78, 0xb2, + 0x6b, 0xd6, 0x59, 0xda, 0xb7, 0xc6, 0x4c, 0x19, 0x38, 0x0f, 0x23, 0xa1, + 0xd1, 0x53, 0xef, 0x83, 0xda, 0x8e, 0x5c, 0x92, 0xe0, 0xb6, 0xfb, 0x80, + 0xa0, 0x57, 0xcb, 0xc0, 0x46, 0xbb, 0x0f, 0x88, 0x6e, 0x03, 0x56, 0xa4, + 0x18, 0xd1, 0xf5, 0xf1, 0x97, 0xc4, 0xa4, 0xe4, 0x32, 0x50, 0x40, 0xb2, + 0x14, 0xc0, 0x2c, 0x92, 0xc2, 0xc7, 0x26, 0x45, 0xb2, 0x7f, 0x3e, 0x49, + 0x16, 0xb1, 0x88, 0x71, 0x52, 0x2d, 0x5b, 0x60, 0xd8, 0x64, 0xd9, 0x61, + 0xd8, 0x64, 0xb7, 0xda, 0xb6, 0x02, 0xfe, 0x26, 0x5d, 0x94, 0xd8, 0xd2, + 0xda, 0xa9, 0xd4, 0xbf, 0x3b, 0x0a, 0xbd, 0x15, 0x19, 0x89, 0xe2, 0x34, + 0x82, 0x64, 0x32, 0x90, 0x8c, 0x3e, 0xb4, 0x7e, 0x7b, 0x19, 0x2f, 0xf9, + 0xa0, 0xaa, 0x44, 0x9a, 0x64, 0xe4, 0x81, 0xf5, 0xe8, 0xa5, 0x19, 0x8a, + 0x05, 0x41, 0x52, 0x17, 0xc3, 0x2f, 0xa4, 0xa6, 0x3f, 0xc7, 0xa9, 0xaf, + 0x35, 0xd4, 0x88, 0xe0, 0x3e, 0xe9, 0xe2, 0xea, 0x78, 0xd1, 0x4e, 0x54, + 0x9a, 0x3b, 0xc5, 0x4b, 0x8a, 0xd6, 0x8f, 0xe7, 0x6e, 0x80, 0x34, 0x02, + 0x49, 0xe3, 0xf3, 0x34, 0xce, 0x2e, 0x9f, 0xd1, 0x2a, 0x29, 0x4c, 0x42, + 0xf9, 0xd0, 0xff, 0x44, 0xfc, 0x8a, 0xa8, 0xaf, 0xa9, 0xe3, 0x5e, 0x2f, + 0x75, 0xba, 0x3d, 0x72, 0x7a, 0x77, 0xb1, 0xac, 0x06, 0x86, 0x4b, 0x79, + 0x2a, 0x42, 0x8b, 0x1b, 0x58, 0x89, 0xb0, 0x5e, 0x22, 0xe8, 0xb6, 0x1a, + 0x78, 0x76, 0x76, 0xca, 0x1e, 0x27, 0x54, 0x35, 0x17, 0xf3, 0x87, 0x11, + 0xd6, 0xbd, 0x19, 0xea, 0xb1, 0x40, 0xdd, 0x6b, 0x8e, 0xfa, 0x9b, 0x40, + 0x7d, 0x8c, 0xa8, 0x41, 0x9b, 0x1b, 0xa5, 0x3d, 0x0e, 0x5a, 0xed, 0xe5, + 0x4e, 0x33, 0x12, 0xe1, 0xdd, 0x0e, 0x88, 0x53, 0xbf, 0x0b, 0xe2, 0xb1, + 0x6d, 0xdf, 0xc3, 0xf8, 0xa5, 0xb7, 0xd2, 0x51, 0xde, 0x6a, 0x0f, 0x24, + 0x2f, 0xa1, 0x69, 0x17, 0xe4, 0x13, 0xa1, 0xda, 0x4e, 0x68, 0x47, 0x78, + 0xa3, 0xe7, 0x33, 0x8b, 0xfe, 0xe6, 0xed, 0x93, 0x5d, 0x5f, 0xa5, 0x3f, + 0x5d, 0x5d, 0x30, 0x1a, 0x11, 0xb3, 0xb2, 0x5a, 0x50, 0xae, 0x5e, 0x0b, + 0x4a, 0xf0, 0x56, 0x85, 0x72, 0xf4, 0xca, 0xc8, 0xc0, 0x6f, 0xf4, 0xd9, + 0xb4, 0x4a, 0xe8, 0x3a, 0xb8, 0x63, 0x62, 0x9e, 0xde, 0x1e, 0xd3, 0xd5, + 0xc2, 0xb7, 0xc7, 0xda, 0x18, 0x32, 0x50, 0xf3, 0x66, 0xe2, 0xac, 0xa1, + 0x43, 0xe4, 0xda, 0x15, 0xf5, 0x57, 0xef, 0x6c, 0xb6, 0xb2, 0x2c, 0x41, + 0xd6, 0x45, 0x5a, 0xb1, 0xc6, 0x15, 0xb2, 0xc6, 0xfc, 0x36, 0x65, 0x77, + 0xda, 0x84, 0xfd, 0x13, 0xe5, 0x92, 0xd7, 0x34, 0x64, 0xaf, 0xf9, 0x5b, + 0x08, 0xd2, 0x43, 0xf0, 0x47, 0x5a, 0xe4, 0xc0, 0xa1, 0x1b, 0x3a, 0xd0, + 0xaf, 0xcb, 0xe2, 0x38, 0x06, 0x0f, 0x01, 0x1b, 0xd0, 0x47, 0x8b, 0xe8, + 0x49, 0x41, 0xb1, 0x8f, 0x95, 0x66, 0x23, 0x79, 0x41, 0x9a, 0xc7, 0x40, + 0x1e, 0x20, 0x6d, 0x9d, 0x43, 0x50, 0xd4, 0xb0, 0xd7, 0x5c, 0x0a, 0xcc, + 0x9d, 0x9d, 0xa0, 0x45, 0xd1, 0x47, 0x64, 0xf9, 0x1e, 0xc9, 0x4d, 0x5e, + 0xf1, 0x8a, 0x21, 0x36, 0xd9, 0x12, 0x7a, 0xab, 0xbb, 0xed, 0x64, 0x56, + 0x01, 0xca, 0x07, 0x76, 0xe1, 0xdf, 0xe7, 0x78, 0x44, 0x46, 0x46, 0xd9, + 0x70, 0x5f, 0xf1, 0x30, 0xa3, 0x17, 0x8c, 0x75, 0xe8, 0x23, 0x16, 0x74, + 0x3a, 0xcf, 0x1f, 0x06, 0x21, 0xe0, 0x35, 0x0e, 0x5c, 0x2b, 0x2e, 0xe7, + 0x88, 0x72, 0xc7, 0x05, 0x60, 0x08, 0x41, 0xf5, 0x46, 0x73, 0xf0, 0x73, + 0x25, 0xee, 0xeb, 0xd3, 0x16, 0x25, 0x4b, 0xe6, 0xaa, 0x91, 0x28, 0xa0, + 0x1b, 0x3b, 0x56, 0xaf, 0xbf, 0x62, 0xd4, 0x37, 0x0f, 0xb0, 0xf5, 0x48, + 0x76, 0x48, 0x01, 0x6e, 0x4d, 0x69, 0x4f, 0x5b, 0xb4, 0xe1, 0x09, 0x3d, + 0xdd, 0xc7, 0x2f, 0x36, 0x67, 0x14, 0x65, 0xac, 0x56, 0x30, 0x04, 0xeb, + 0xc8, 0x04, 0xe0, 0xee, 0xac, 0xdb, 0xf1, 0x63, 0x05, 0x7e, 0x14, 0x12, + 0x1b, 0xc0, 0x7f, 0xbf, 0x3f, 0xa8, 0xf5, 0xf1, 0x92, 0xb5, 0xcb, 0x92, + 0xcd, 0x13, 0xc0, 0x8c, 0x0b, 0xf0, 0xa3, 0x80, 0x1b, 0xfa, 0xfe, 0x7b, + 0xf6, 0x21, 0x0c, 0x9d, 0xdf, 0x3c, 0x2b, 0xd3, 0x48, 0xa0, 0xe5, 0x28, + 0x25, 0x80, 0x87, 0xea, 0x25, 0x9d, 0x27, 0x0a, 0x56, 0x49, 0xe7, 0x59, + 0x6e, 0x45, 0xa3, 0x46, 0x19, 0x2b, 0xf5, 0xd0, 0x7e, 0x2e, 0x5c, 0x51, + 0x0d, 0xd3, 0x40, 0xab, 0x4e, 0x74, 0xa6, 0x22, 0xb8, 0x4e, 0xee, 0x23, + 0x28, 0x8a, 0x08, 0x3c, 0x71, 0x77, 0x14, 0x84, 0x95, 0x1a, 0x58, 0xc3, + 0x40, 0xac, 0x0b, 0x03, 0x6b, 0x14, 0x88, 0x35, 0x35, 0xb0, 0xf6, 0x02, + 0xb1, 0xe0, 0x1c, 0x27, 0x8f, 0xd1, 0xf1, 0x74, 0xf5, 0x71, 0x7c, 0x13, + 0x9d, 0xea, 0x75, 0xec, 0x19, 0xbc, 0xf7, 0x0c, 0x9e, 0x7a, 0x46, 0x59, + 0x67, 0xdd, 0xb0, 0xd2, 0xae, 0x47, 0x06, 0x93, 0x8f, 0x03, 0x99, 0x4c, + 0x4d, 0xb4, 0xfd, 0x40, 0xb4, 0x0b, 0x13, 0xed, 0x20, 0x10, 0x6d, 0x6a, + 0xa2, 0xbd, 0x1e, 0x88, 0x06, 0x92, 0x1c, 0x95, 0x88, 0xf2, 0xb1, 0x21, + 0xae, 0x7d, 0xe3, 0xd7, 0x01, 0xfe, 0x52, 0x85, 0x85, 0x8b, 0x72, 0xcf, + 0xe0, 0xf2, 0x8d, 0x40, 0x2e, 0x53, 0x13, 0xed, 0xcd, 0x40, 0xb4, 0x0b, + 0x13, 0x6d, 0x18, 0xda, 0x01, 0xa6, 0x16, 0x5e, 0x68, 0x17, 0x00, 0x61, + 0xee, 0x95, 0x08, 0xf3, 0x0d, 0x43, 0x60, 0x6f, 0x9a, 0x5a, 0x6a, 0x29, + 0xed, 0x10, 0xc4, 0xf9, 0x10, 0xc3, 0x21, 0x5a, 0x12, 0x3b, 0xbe, 0xf0, + 0xb8, 0x6a, 0x45, 0x91, 0x55, 0xc6, 0xa7, 0x1d, 0xa4, 0x25, 0x4c, 0xb1, + 0xea, 0x98, 0xb4, 0xd0, 0x0e, 0x65, 0x88, 0xd5, 0x71, 0x68, 0x07, 0xd3, + 0x52, 0xbc, 0xea, 0xd8, 0xb3, 0x83, 0x6b, 0x81, 0x18, 0x60, 0x6e, 0x2b, + 0x04, 0x35, 0x6a, 0x2d, 0xa8, 0x51, 0x6b, 0x49, 0x8d, 0xda, 0x8a, 0x6a, + 0xd4, 0x5a, 0x56, 0xa3, 0x46, 0xc2, 0x2a, 0x91, 0xd5, 0x5e, 0x6b, 0x59, + 0xed, 0xb5, 0x96, 0xd5, 0x5e, 0x5b, 0x59, 0xed, 0xb5, 0x96, 0xd5, 0x5e, + 0xb8, 0xac, 0xfc, 0xce, 0x25, 0x7f, 0x71, 0xb3, 0x91, 0x53, 0x59, 0xf1, + 0x30, 0xe5, 0x9d, 0x13, 0x85, 0xd5, 0x7e, 0x9b, 0x32, 0x24, 0x54, 0x6c, + 0x49, 0x6c, 0xd8, 0x20, 0x97, 0xab, 0xe2, 0x69, 0xcb, 0xbb, 0xfa, 0xc7, + 0x2d, 0x83, 0x42, 0xbb, 0x96, 0x85, 0x72, 0x0d, 0xf2, 0x7e, 0x65, 0xe4, + 0xd1, 0x5a, 0xfe, 0x3c, 0xef, 0x63, 0xd6, 0xf2, 0x07, 0x30, 0x5e, 0xfe, + 0x28, 0x2b, 0xcc, 0x3b, 0xaf, 0x78, 0x60, 0xf3, 0xae, 0xfe, 0x89, 0xcd, + 0xa0, 0x70, 0xa9, 0xa5, 0xe1, 0x51, 0x83, 0xf9, 0xf3, 0xbf, 0xd1, 0x79, + 0x57, 0xff, 0x4a, 0x27, 0x0b, 0x09, 0x6c, 0x5a, 0x1a, 0xc8, 0x34, 0x84, + 0xbf, 0x8a, 0x67, 0x3e, 0xef, 0x2a, 0x1e, 0xfa, 0x0c, 0x99, 0x72, 0xcf, + 0x96, 0x56, 0xe3, 0x2a, 0x5a, 0x81, 0x9c, 0x01, 0x85, 0x5a, 0xce, 0xcc, + 0xb7, 0x42, 0x03, 0x16, 0x03, 0x66, 0xab, 0x4d, 0x09, 0x63, 0xb3, 0xb0, + 0xe5, 0x80, 0xbf, 0xec, 0xad, 0xd1, 0xb0, 0x8b, 0x81, 0x56, 0x3d, 0xfe, + 0x82, 0xf7, 0x4b, 0x19, 0x0b, 0x7f, 0x29, 0x33, 0xac, 0x42, 0xd7, 0x0d, + 0x9e, 0xcd, 0xa4, 0x3f, 0xf3, 0x04, 0xee, 0x76, 0x0a, 0xd5, 0x96, 0x48, + 0xc3, 0x06, 0xbb, 0x5d, 0x09, 0x1a, 0xe0, 0xea, 0x5e, 0x37, 0x85, 0x1f, + 0x35, 0x45, 0xd8, 0xab, 0x42, 0x00, 0x2d, 0x0f, 0x1a, 0x71, 0xc3, 0xdf, + 0xa5, 0xbd, 0xab, 0x78, 0x99, 0xb6, 0xb6, 0x4f, 0x02, 0x8c, 0x57, 0x93, + 0x21, 0x3d, 0xb0, 0x47, 0x96, 0xbd, 0x6b, 0x7b, 0x57, 0xf7, 0xb2, 0x6d, + 0xe3, 0x48, 0x25, 0x2e, 0x9b, 0x44, 0x29, 0xd4, 0xda, 0x52, 0xf8, 0x9c, + 0x70, 0xd3, 0xe1, 0x09, 0xf2, 0x63, 0x50, 0x3a, 0x6a, 0x76, 0x16, 0xdf, + 0xba, 0xf7, 0x1b, 0x1c, 0xe0, 0xae, 0x39, 0x7d, 0xbc, 0xf9, 0x5b, 0x5b, + 0xc0, 0x70, 0xd4, 0xbe, 0x00, 0x71, 0xf7, 0x37, 0x30, 0xe4, 0x56, 0x73, + 0xfa, 0x70, 0xf7, 0xb7, 0xb6, 0x02, 0x07, 0xb0, 0xfb, 0x19, 0xd4, 0x8f, + 0xf0, 0x8d, 0x39, 0x30, 0x30, 0x8d, 0x56, 0x43, 0x61, 0x2d, 0x26, 0x58, + 0x4d, 0x00, 0x5e, 0x1d, 0x73, 0xc3, 0x17, 0x76, 0xec, 0x13, 0x28, 0x6e, + 0x49, 0x04, 0x36, 0x00, 0x3f, 0x95, 0x5e, 0xb2, 0x2a, 0x7e, 0x88, 0xe3, + 0xca, 0xec, 0x6d, 0xb6, 0xeb, 0x2f, 0xcd, 0x7f, 0xe3, 0x80, 0x4e, 0x92, + 0xdd, 0x31, 0x7a, 0x7e, 0xed, 0x50, 0x51, 0xeb, 0xb1, 0x64, 0xce, 0x7f, + 0x12, 0x9c, 0x3a, 0x4a, 0x19, 0x38, 0x09, 0xa0, 0xe4, 0x80, 0x93, 0xff, + 0xf6, 0xd4, 0x9e, 0x79, 0x66, 0xf5, 0xee, 0xc3, 0x27, 0x2e, 0x80, 0xff, + 0x31, 0x95, 0xb2, 0x92, 0xe8, 0x2e, 0x16, 0xfb, 0x8a, 0xfe, 0x05, 0x92, + 0x16, 0x64, 0xf9, 0x13, 0x2c, 0x55, 0x9c, 0x67, 0xf4, 0x84, 0x49, 0xba, + 0x5a, 0x64, 0xe5, 0x80, 0x72, 0x63, 0x86, 0x10, 0x5c, 0x38, 0x99, 0x2f, + 0xaa, 0x40, 0xaf, 0xa1, 0x1e, 0xd5, 0x9c, 0x46, 0x32, 0x50, 0xd8, 0x39, + 0x14, 0x93, 0x5d, 0xc6, 0xf3, 0x17, 0x8c, 0xf1, 0x3f, 0xe8, 0x76, 0x5b, + 0x69, 0x09, 0x3e, 0xac, 0x8a, 0x82, 0xa0, 0x81, 0x4b, 0x49, 0x91, 0xde, + 0xa1, 0x24, 0x68, 0x83, 0xac, 0xf8, 0xe5, 0xdb, 0x77, 0x2a, 0x32, 0x99, + 0x7c, 0x17, 0xb6, 0xf6, 0x60, 0xd6, 0x13, 0x80, 0x4e, 0x26, 0x8b, 0xe4, + 0x17, 0xd8, 0x3d, 0x1c, 0x0c, 0x06, 0x0e, 0x67, 0xea, 0xea, 0x9e, 0x7a, + 0xa0, 0x88, 0x94, 0x9b, 0xd7, 0xc9, 0x07, 0x5c, 0x66, 0x6d, 0x8c, 0xf5, + 0xfa, 0x26, 0x77, 0x2b, 0xa1, 0x60, 0x97, 0x2b, 0x75, 0xd2, 0xfa, 0x53, + 0xf1, 0x7c, 0x26, 0xd8, 0x1c, 0x9f, 0x5a, 0xaa, 0x63, 0x1d, 0xfc, 0xfc, + 0x4c, 0xd3, 0x1b, 0x5d, 0xcd, 0xf6, 0x09, 0x6b, 0xa9, 0x15, 0x71, 0x3f, + 0x7c, 0x14, 0xbd, 0xc7, 0xf1, 0xe8, 0xb0, 0x7e, 0x69, 0xff, 0xe5, 0xd2, + 0x2a, 0xef, 0xe0, 0x33, 0xb5, 0xf8, 0xe7, 0x05, 0x52, 0x1a, 0x25, 0xcf, + 0x0e, 0x54, 0x5d, 0x01, 0x9b, 0xe1, 0x65, 0x47, 0x46, 0x7b, 0xbb, 0x6a, + 0xeb, 0xd8, 0x3d, 0xe5, 0x46, 0xe7, 0x65, 0xc4, 0x9e, 0x30, 0xe9, 0xa0, + 0xbb, 0x05, 0x7c, 0xc2, 0x10, 0x88, 0x74, 0x5a, 0x02, 0x1e, 0xf9, 0x77, + 0x97, 0x0d, 0x62, 0xea, 0xa0, 0xb7, 0x4c, 0x7a, 0x61, 0x0c, 0xc7, 0x81, + 0xa8, 0x90, 0x90, 0x43, 0xc0, 0x95, 0x07, 0xeb, 0xcb, 0xb8, 0xd4, 0x4f, + 0x2d, 0xe6, 0x2b, 0xe2, 0x19, 0xd1, 0x07, 0x9b, 0x74, 0xe1, 0x39, 0x0f, + 0xe0, 0x72, 0xac, 0x8c, 0xbb, 0xf7, 0x64, 0xb9, 0xbc, 0xbc, 0xf8, 0x8c, + 0xaf, 0x92, 0x61, 0x3f, 0xa3, 0xf4, 0x28, 0xa3, 0x4d, 0x45, 0xdf, 0xf3, + 0x6f, 0x1c, 0x83, 0xf6, 0xa1, 0x38, 0x10, 0x10, 0xae, 0x0b, 0x81, 0x00, + 0xe3, 0x7b, 0x1b, 0x34, 0xb0, 0xe5, 0x2d, 0x31, 0xdb, 0xa0, 0xd1, 0x22, + 0x5e, 0x6b, 0xc4, 0x96, 0xbc, 0xe2, 0xfa, 0x5f, 0x5b, 0xbc, 0x96, 0x45, + 0xe2, 0x64, 0xaa, 0x55, 0x99, 0x84, 0x58, 0x5d, 0x28, 0x74, 0x0e, 0x5b, + 0x75, 0xee, 0xed, 0x4e, 0xea, 0x1f, 0xd6, 0x24, 0xf8, 0x34, 0x0f, 0xbb, + 0xd1, 0x06, 0x70, 0x66, 0xa8, 0x53, 0x75, 0x1f, 0x0c, 0x68, 0x94, 0x5f, + 0x07, 0x83, 0x4c, 0xba, 0x09, 0xd6, 0x60, 0x10, 0x90, 0x3d, 0xc7, 0xac, + 0x62, 0x2c, 0xcf, 0x2b, 0xb0, 0x21, 0xfb, 0xf5, 0x57, 0x23, 0x6d, 0x0c, + 0x69, 0xe8, 0xec, 0xc1, 0xb0, 0x63, 0x42, 0xee, 0xbf, 0xde, 0x05, 0x5e, + 0xf8, 0x00, 0xf2, 0xf5, 0xc9, 0xd3, 0x2f, 0x3e, 0x63, 0xd0, 0xcd, 0x3f, + 0xfb, 0xe2, 0xfd, 0x0f, 0xac, 0x57, 0xb6, 0x2a, 0xaf, 0x0b, 0x8a, 0xde, + 0xed, 0xbf, 0x21, 0x2d, 0xf0, 0x1f, 0xfc, 0x92, 0x34, 0x27, 0xdb, 0xe8, + 0xce, 0x5c, 0xd8, 0x7b, 0x2b, 0x1c, 0x06, 0x98, 0x73, 0x11, 0x8d, 0x65, + 0x02, 0x99, 0xd8, 0xe8, 0x0e, 0xab, 0xbf, 0xc9, 0xde, 0xe6, 0x7b, 0x4b, + 0xf5, 0x27, 0x14, 0x1f, 0xc8, 0x6d, 0x80, 0xe2, 0x25, 0x29, 0xa5, 0x20, + 0xfb, 0x07, 0xc0, 0x02, 0xdd, 0x9b, 0xfb, 0xfa, 0xe9, 0x17, 0x5f, 0x7e, + 0xfa, 0xee, 0xf7, 0xa6, 0xbc, 0xa5, 0x5d, 0x46, 0x70, 0x71, 0x0b, 0x39, + 0xa2, 0x21, 0xd2, 0xb2, 0xfa, 0xa5, 0x06, 0x1c, 0x7c, 0xb0, 0x52, 0x58, + 0x7e, 0xd8, 0x44, 0x01, 0x57, 0x53, 0xa6, 0x33, 0x01, 0x65, 0x94, 0xd5, + 0xda, 0x90, 0xbf, 0x96, 0xaf, 0xf3, 0x5a, 0x72, 0x6d, 0x7f, 0xf6, 0xed, + 0x09, 0x47, 0x7b, 0x3e, 0x65, 0xf7, 0xe9, 0xa3, 0xd4, 0xfc, 0x66, 0xfa, + 0xa1, 0x34, 0xae, 0x9d, 0xa6, 0x9a, 0x5d, 0x4f, 0x80, 0xd4, 0x76, 0xbe, + 0x56, 0x1d, 0x50, 0xeb, 0x18, 0x01, 0xdd, 0x90, 0xda, 0xe5, 0xbf, 0xa9, + 0x51, 0x6f, 0x70, 0x8d, 0x7a, 0xfa, 0xcd, 0xbf, 0xa6, 0x7a, 0x08, 0x1c, + 0x5e, 0xbf, 0x37, 0xc5, 0x08, 0xf1, 0xc1, 0x70, 0xb0, 0x37, 0xfc, 0xd7, + 0xd4, 0xb1, 0x49, 0x13, 0x1e, 0xec, 0x8a, 0x2a, 0x7e, 0x98, 0xa4, 0xf1, + 0x68, 0x77, 0x38, 0xfa, 0xd7, 0xd4, 0x92, 0x03, 0xd7, 0x3e, 0xcb, 0xfd, + 0xdc, 0x35, 0x40, 0xe0, 0xbf, 0xac, 0x0a, 0xce, 0x23, 0xd5, 0x66, 0x6b, + 0xed, 0x36, 0xba, 0xef, 0xdf, 0x59, 0x9d, 0x9f, 0x37, 0x8a, 0x5e, 0xa4, + 0x86, 0xca, 0x56, 0x12, 0x6c, 0xaa, 0x07, 0xae, 0x20, 0x1b, 0x20, 0x54, + 0x28, 0xbd, 0xeb, 0xe6, 0xba, 0xa5, 0xb8, 0x53, 0xab, 0x80, 0x88, 0x66, + 0x6d, 0x1c, 0x75, 0x8e, 0x59, 0xea, 0xa9, 0xbb, 0x8c, 0xaa, 0xda, 0xb5, + 0xe0, 0x13, 0xf0, 0xda, 0x4d, 0xb8, 0x08, 0xb1, 0x29, 0x97, 0x9a, 0x46, + 0x78, 0x27, 0xa9, 0x57, 0xc6, 0x4d, 0x64, 0x37, 0xa2, 0x05, 0x98, 0x1d, + 0xd4, 0xf1, 0x90, 0x07, 0xe1, 0xf1, 0xc9, 0xf7, 0x30, 0x47, 0x51, 0x62, + 0xb8, 0xf5, 0xa8, 0x08, 0xf5, 0x10, 0xe7, 0x54, 0x19, 0x42, 0x7e, 0x86, + 0xc5, 0xdd, 0x29, 0x6f, 0x15, 0xa4, 0x32, 0x8d, 0xc1, 0x3b, 0xc8, 0xf0, + 0x42, 0xc8, 0x45, 0x9c, 0x16, 0x40, 0x3a, 0x3b, 0xe6, 0xc1, 0xe8, 0xa1, + 0xe9, 0x41, 0x1b, 0x79, 0x02, 0x1b, 0x20, 0xfc, 0x46, 0x0b, 0xdc, 0xd0, + 0x0f, 0xa1, 0x7f, 0xc2, 0x4a, 0xb2, 0x58, 0x63, 0xcb, 0x0c, 0xef, 0x55, + 0x96, 0x8e, 0xe6, 0x80, 0x3a, 0xb8, 0xe2, 0xc2, 0xe5, 0x63, 0xd7, 0xb5, + 0x2d, 0xf0, 0x51, 0xbb, 0x9e, 0x59, 0x5c, 0x75, 0xa2, 0x0b, 0xdc, 0xa2, + 0x40, 0x92, 0x9a, 0x25, 0x33, 0xd2, 0x1a, 0x9c, 0x2f, 0x5a, 0x78, 0xef, + 0x00, 0x9e, 0x79, 0x54, 0xd6, 0x8b, 0xae, 0x0e, 0x5a, 0x7b, 0x68, 0xbc, + 0x0c, 0x34, 0x9c, 0x23, 0xe0, 0x3e, 0x2a, 0x64, 0x6a, 0x38, 0x81, 0xe0, + 0x13, 0x6c, 0x45, 0x29, 0x2f, 0x62, 0x29, 0xea, 0xf0, 0x9d, 0xbd, 0xa1, + 0xd8, 0x73, 0x8e, 0x1e, 0x39, 0x29, 0x17, 0x4e, 0xca, 0xf4, 0xac, 0xab, + 0x59, 0xa2, 0xe0, 0xc3, 0x62, 0x8a, 0xa7, 0x1a, 0xa6, 0x46, 0x2e, 0x57, + 0x6e, 0xd2, 0x85, 0x9b, 0x34, 0x1d, 0x85, 0x32, 0xb6, 0x57, 0xc2, 0x58, + 0x1d, 0x67, 0x7b, 0x2e, 0x67, 0x6e, 0xd2, 0x85, 0x9b, 0x34, 0xdd, 0x33, + 0x38, 0xbb, 0xc7, 0x4f, 0x1e, 0x0b, 0xc4, 0x78, 0x2a, 0xff, 0x58, 0x46, + 0x03, 0xa1, 0x3b, 0x3b, 0x93, 0xe5, 0xcf, 0x93, 0xaa, 0x69, 0xc2, 0x23, + 0x5e, 0x27, 0x7a, 0xe4, 0xe1, 0x19, 0x87, 0xa6, 0x18, 0x72, 0xe2, 0xc2, + 0x0f, 0xc6, 0xa8, 0x05, 0x6c, 0x9e, 0x81, 0xb8, 0xc7, 0x3c, 0x2d, 0x7a, + 0x34, 0x9a, 0x13, 0x9c, 0x11, 0xf3, 0xe1, 0x6a, 0xbd, 0x5a, 0x02, 0x61, + 0x5e, 0xef, 0x59, 0x21, 0x9e, 0x34, 0xce, 0x37, 0xe9, 0x92, 0x45, 0x9d, + 0x5d, 0x14, 0x0c, 0xb7, 0x14, 0x90, 0x3d, 0xc8, 0x57, 0x27, 0x79, 0x0a, + 0x36, 0x2d, 0x82, 0x40, 0xb1, 0x30, 0x02, 0x2f, 0x12, 0x98, 0xfa, 0xf4, + 0x47, 0x98, 0xfe, 0xf5, 0x7a, 0x0d, 0x1b, 0x2d, 0x93, 0x2c, 0x8e, 0x1c, + 0x33, 0xa4, 0x04, 0x0b, 0x5f, 0x9c, 0x22, 0x14, 0x0f, 0x12, 0x04, 0x36, + 0xcb, 0xba, 0x50, 0xaa, 0x27, 0x63, 0x58, 0x96, 0x31, 0x2a, 0xcb, 0x80, + 0x06, 0x70, 0xf9, 0x59, 0x2d, 0x4f, 0xc8, 0x4c, 0x50, 0x1b, 0xf0, 0xb0, + 0x76, 0x46, 0x37, 0x7b, 0xc1, 0xb3, 0x14, 0x69, 0x84, 0xc6, 0x59, 0xaf, + 0xa4, 0xd1, 0x25, 0xe4, 0xc1, 0x3a, 0xa5, 0xcf, 0xf7, 0xe3, 0xf3, 0xc9, + 0x66, 0x91, 0x93, 0x04, 0x14, 0x35, 0x0e, 0xa2, 0x5e, 0x15, 0xc9, 0x57, + 0x9b, 0xd9, 0x25, 0xbe, 0x7f, 0xaa, 0x4c, 0x9c, 0xa4, 0x4b, 0x81, 0x08, + 0x05, 0xfc, 0x24, 0x85, 0xb6, 0x53, 0x76, 0x0e, 0xcb, 0x84, 0x4c, 0xcb, + 0x4d, 0xba, 0x39, 0x64, 0x9f, 0x4d, 0xf2, 0xcb, 0x01, 0x39, 0x40, 0x91, + 0x8e, 0xf9, 0x14, 0x4b, 0xa1, 0x8d, 0xc7, 0xc1, 0x1a, 0x26, 0xb7, 0xdf, + 0xb1, 0x3e, 0x50, 0x1f, 0x80, 0x61, 0x05, 0xd3, 0xf2, 0x69, 0x7c, 0x9e, + 0x77, 0x7b, 0x26, 0xa5, 0xdb, 0x50, 0x4a, 0xdf, 0x2b, 0x4a, 0x98, 0xb7, + 0xee, 0x6a, 0xa6, 0x58, 0xaa, 0x7a, 0x79, 0xe5, 0x29, 0x9c, 0x15, 0x56, + 0xbc, 0x45, 0xc5, 0x78, 0x91, 0xdf, 0x85, 0x70, 0xce, 0x41, 0xbf, 0xf7, + 0xf3, 0xa6, 0xda, 0x51, 0x04, 0x42, 0x15, 0xdd, 0x86, 0x7a, 0xda, 0x93, + 0x2b, 0xa8, 0xe3, 0xfb, 0xd0, 0xfe, 0x11, 0xf0, 0x35, 0xb8, 0xe9, 0x31, + 0xfc, 0xb8, 0x85, 0xbb, 0x65, 0xf0, 0x5f, 0x97, 0x2e, 0x61, 0x21, 0x21, + 0x15, 0xd1, 0xf9, 0x99, 0xa0, 0xa1, 0x94, 0x9c, 0x12, 0xac, 0x38, 0x98, + 0x64, 0x80, 0xfc, 0xf6, 0x9b, 0xc2, 0x1e, 0x61, 0xbc, 0x23, 0x33, 0x93, + 0xe3, 0x5b, 0x06, 0xe5, 0xb4, 0x03, 0x25, 0x42, 0x8f, 0x14, 0x24, 0xcf, + 0xd8, 0x58, 0xb1, 0x50, 0x82, 0x90, 0x9a, 0xe0, 0xea, 0xf6, 0x83, 0x17, + 0xfa, 0xc2, 0x07, 0x3d, 0x2c, 0x83, 0x9e, 0xfa, 0xa0, 0x47, 0x65, 0xd0, + 0xd7, 0x1a, 0xb4, 0x1a, 0xc3, 0xd5, 0x79, 0x58, 0x93, 0x3b, 0xeb, 0xc8, + 0xab, 0xcb, 0x8c, 0x3a, 0xd5, 0xea, 0x16, 0xed, 0x9e, 0xe5, 0x71, 0xb7, + 0x52, 0xb1, 0x85, 0x2a, 0xb7, 0x89, 0xfd, 0x1b, 0xbe, 0xde, 0xad, 0x67, + 0x6b, 0xc3, 0xc3, 0x7d, 0x6e, 0xc7, 0x30, 0x2f, 0x42, 0xdb, 0x8c, 0x4e, + 0x20, 0x35, 0x90, 0x6e, 0xe8, 0x7e, 0x85, 0x21, 0x14, 0x76, 0x7b, 0x0c, + 0xfe, 0x13, 0x66, 0xfc, 0x3a, 0x99, 0xe7, 0x97, 0xc5, 0xaf, 0xcb, 0x18, + 0xfd, 0x06, 0x6d, 0x60, 0x91, 0xb4, 0x43, 0x1e, 0x33, 0xd2, 0x4b, 0x25, + 0x36, 0x29, 0x1d, 0xaa, 0xe1, 0x3a, 0x6e, 0x0a, 0xe8, 0x5b, 0x1c, 0x6c, + 0x22, 0xad, 0xc4, 0xa2, 0xd0, 0x9d, 0x57, 0x5f, 0x15, 0xa0, 0xaf, 0xb2, + 0xf7, 0x01, 0x32, 0x13, 0x9d, 0x0a, 0x47, 0x09, 0x99, 0xb1, 0xa3, 0x64, + 0xa3, 0x51, 0x33, 0x2c, 0xea, 0x2c, 0x86, 0xfa, 0xa7, 0xdf, 0xb1, 0xb1, + 0x51, 0x63, 0xb6, 0xc3, 0x46, 0x47, 0x36, 0xd0, 0xf7, 0x00, 0x64, 0x08, + 0x42, 0x42, 0xb9, 0xf7, 0x18, 0x05, 0xd5, 0x9e, 0xc4, 0x0c, 0x92, 0x27, + 0x96, 0x44, 0xd7, 0xc4, 0xbf, 0x82, 0x8d, 0xd7, 0x4d, 0xe6, 0xb2, 0xf4, + 0x78, 0xb0, 0xaf, 0x81, 0xc2, 0xce, 0xab, 0x06, 0x1a, 0x19, 0xb0, 0x7d, + 0x36, 0xdc, 0xed, 0x9a, 0xec, 0x11, 0x38, 0x9b, 0xae, 0x52, 0x50, 0x38, + 0x4c, 0x54, 0x4d, 0x3f, 0x8d, 0x2f, 0x92, 0xe5, 0x97, 0x60, 0xc9, 0xa2, + 0xae, 0x0d, 0xce, 0xdb, 0xce, 0x04, 0x9f, 0xa4, 0x33, 0xb7, 0x7e, 0x3a, + 0x37, 0xa4, 0x3f, 0x23, 0x68, 0x16, 0xb2, 0x8e, 0x5f, 0x3e, 0xe9, 0xf1, + 0xfd, 0x4f, 0x45, 0x9c, 0xda, 0x02, 0x6f, 0xbf, 0x1a, 0x4c, 0x1d, 0xb2, + 0x08, 0xcc, 0x60, 0x46, 0x99, 0x4b, 0x36, 0x21, 0xab, 0x8a, 0x40, 0x82, + 0x89, 0x17, 0xba, 0x26, 0x1b, 0x8b, 0x64, 0x19, 0x7f, 0x4b, 0x95, 0x1d, + 0xb3, 0xc7, 0x47, 0x66, 0x1e, 0xbf, 0xbd, 0x7f, 0x82, 0xf3, 0x74, 0xc8, + 0xed, 0xbc, 0xb8, 0x4b, 0x7f, 0x1d, 0x2f, 0x54, 0xd4, 0xb5, 0x92, 0xe9, + 0x8a, 0x7b, 0x21, 0x8e, 0x82, 0xe7, 0xf3, 0x64, 0xb1, 0xe0, 0x41, 0xdf, + 0xa6, 0xf1, 0x64, 0x93, 0x27, 0xe7, 0x9b, 0x85, 0x8c, 0xb5, 0x2b, 0x41, + 0xf2, 0xc9, 0x8f, 0xf1, 0x92, 0xee, 0xde, 0xd2, 0xd9, 0x9c, 0x43, 0x76, + 0x99, 0xe7, 0x6b, 0x88, 0xda, 0x94, 0xe5, 0xb0, 0x56, 0x00, 0xe3, 0x6e, + 0x7a, 0xbe, 0x58, 0x5d, 0x83, 0x55, 0xba, 0xda, 0xf9, 0x69, 0x13, 0x67, + 0xb4, 0x71, 0xba, 0x33, 0x7c, 0x63, 0x74, 0xb0, 0xff, 0xc6, 0xee, 0xe3, + 0x9d, 0xe9, 0x26, 0x59, 0xe0, 0x7e, 0x7b, 0x7f, 0xd2, 0x27, 0xb2, 0x7d, + 0xf2, 0xb3, 0xfa, 0xc9, 0xb2, 0x7f, 0x99, 0x5f, 0x2d, 0xf6, 0xad, 0x77, + 0xef, 0xc0, 0x38, 0x2c, 0xb8, 0x89, 0x11, 0x5f, 0xdf, 0x02, 0x27, 0xf3, + 0xa0, 0xf8, 0xf5, 0x9a, 0xe5, 0x9f, 0xab, 0x67, 0x90, 0xdf, 0x15, 0x88, + 0x11, 0x07, 0xec, 0x83, 0xcf, 0xac, 0x5a, 0x0a, 0x34, 0x66, 0xf8, 0x86, + 0x1d, 0x7d, 0x1f, 0x3c, 0x55, 0x89, 0x44, 0x38, 0xa5, 0xe0, 0x7e, 0x8d, + 0x72, 0x73, 0xd1, 0x05, 0x79, 0xba, 0x72, 0x74, 0x48, 0x82, 0xda, 0xba, + 0x66, 0x0e, 0xba, 0x12, 0xcb, 0x4d, 0x05, 0x12, 0x66, 0xaa, 0xae, 0x93, + 0x56, 0x8e, 0x12, 0x85, 0x95, 0x01, 0x95, 0xf5, 0x25, 0x93, 0x02, 0xab, + 0x24, 0xc5, 0xaa, 0x5f, 0x6d, 0xdc, 0x5c, 0xd4, 0x9e, 0x42, 0x1f, 0x2f, + 0xb3, 0x45, 0x04, 0x63, 0x92, 0x6c, 0x2b, 0xdc, 0xf7, 0xc6, 0xc0, 0x15, + 0x78, 0x20, 0xe1, 0xe5, 0x6e, 0xa7, 0x04, 0x3b, 0x0a, 0x2b, 0xf4, 0x5e, + 0xa9, 0x2c, 0x1a, 0x93, 0x26, 0x5d, 0x3e, 0xbf, 0x4c, 0xb2, 0x41, 0x75, + 0x2f, 0x4f, 0xb9, 0x30, 0x75, 0xf9, 0x29, 0x91, 0x01, 0xf5, 0x0d, 0xc2, + 0x1d, 0x2f, 0xe0, 0x12, 0xfa, 0x75, 0x82, 0x3d, 0x3e, 0xc4, 0x72, 0x00, + 0x97, 0xe1, 0x96, 0x03, 0x25, 0x81, 0x46, 0x41, 0xa0, 0x2b, 0x6b, 0x78, + 0x75, 0xfb, 0xec, 0x02, 0xb9, 0x83, 0x64, 0xe5, 0x57, 0x89, 0x67, 0x1e, + 0x3f, 0x05, 0x53, 0x31, 0x49, 0x3f, 0xe2, 0xd9, 0x72, 0x80, 0x1b, 0xbe, + 0x8e, 0x9f, 0x92, 0xb4, 0x42, 0xa7, 0x97, 0x7c, 0xf8, 0xd5, 0xae, 0x7c, + 0xb5, 0x46, 0x60, 0xd8, 0x8f, 0xc6, 0x47, 0x70, 0x6a, 0x41, 0xc1, 0x53, + 0x93, 0xfb, 0xcf, 0x64, 0x38, 0x4a, 0xda, 0x5f, 0x27, 0x70, 0x54, 0x0a, + 0x25, 0x49, 0x01, 0x84, 0x57, 0x13, 0x1c, 0x5b, 0x2a, 0x5a, 0x1b, 0xcd, + 0x62, 0xb9, 0xa1, 0x1c, 0x6d, 0xcf, 0x50, 0xd6, 0x0e, 0xcc, 0xdc, 0x8c, + 0xfb, 0x87, 0x66, 0xe5, 0x0d, 0x48, 0xa3, 0xb5, 0x88, 0x73, 0xa1, 0x6d, + 0xbe, 0xa1, 0x59, 0xc1, 0x24, 0xe8, 0x36, 0x3b, 0x2d, 0xae, 0x9c, 0x69, + 0xd0, 0xa6, 0x42, 0x6b, 0xd5, 0xf7, 0xae, 0xa2, 0x40, 0xee, 0x2f, 0x10, + 0x20, 0x42, 0xd2, 0xcf, 0xd6, 0xac, 0x2d, 0x82, 0xdc, 0x40, 0x7e, 0x9f, + 0x63, 0x1e, 0xc1, 0x8f, 0xb7, 0x58, 0xf1, 0xdd, 0xdc, 0x7f, 0x57, 0x18, + 0xb7, 0x3a, 0xc6, 0xad, 0x86, 0x71, 0x6b, 0x61, 0x48, 0x2e, 0x4e, 0x53, + 0xf0, 0xf8, 0x2f, 0x13, 0x74, 0x50, 0x6f, 0x6e, 0x47, 0xeb, 0xd5, 0x62, + 0x92, 0x46, 0x30, 0x09, 0xb8, 0x45, 0x4e, 0x3d, 0x91, 0x10, 0xd8, 0xdb, + 0x82, 0xa2, 0x22, 0x66, 0x45, 0x7d, 0xfe, 0x31, 0x59, 0x53, 0x98, 0x67, + 0xa0, 0x72, 0xdb, 0x05, 0xf1, 0x80, 0x15, 0x48, 0x96, 0x20, 0x9a, 0x0c, + 0x94, 0x65, 0x92, 0xc3, 0xf8, 0x4a, 0xa3, 0x6f, 0x96, 0xcc, 0xe1, 0xf3, + 0x5c, 0x1b, 0x67, 0xbd, 0x07, 0xdb, 0xc0, 0xb5, 0xdb, 0x78, 0x0e, 0x30, + 0xb9, 0xd5, 0x98, 0xd3, 0x1d, 0x0f, 0x60, 0x6d, 0x04, 0xdf, 0x22, 0xa8, + 0x90, 0xc3, 0x3f, 0xad, 0xc7, 0x25, 0x17, 0x1b, 0x5e, 0x3e, 0x15, 0x4c, + 0xd6, 0x04, 0x8f, 0x9a, 0xd1, 0x22, 0x25, 0x67, 0x27, 0xc9, 0xd8, 0x3a, + 0xb9, 0x89, 0x17, 0x90, 0x46, 0x30, 0xd4, 0x3c, 0xbc, 0xad, 0x28, 0x20, + 0xcf, 0xc0, 0x2d, 0x3b, 0x5d, 0x5d, 0x7f, 0xca, 0xcf, 0x9d, 0x8e, 0xb5, + 0xa6, 0x3e, 0x72, 0x01, 0x27, 0xf3, 0x1f, 0x36, 0x59, 0x1e, 0xcf, 0xc1, + 0xeb, 0x83, 0xd6, 0x7c, 0x4d, 0x02, 0x0a, 0x27, 0x0e, 0xc6, 0x69, 0x68, + 0x71, 0x3e, 0x8c, 0x9f, 0xf6, 0xf7, 0x29, 0xa8, 0xeb, 0x19, 0x86, 0xd4, + 0x39, 0xdd, 0x45, 0x3b, 0x0d, 0xdf, 0x23, 0x60, 0x48, 0x97, 0x28, 0x70, + 0xec, 0xe5, 0xb1, 0x5b, 0x5e, 0x34, 0xfa, 0x92, 0xb7, 0xfe, 0xa2, 0x6f, + 0xb7, 0x54, 0x34, 0x89, 0x53, 0x79, 0x4c, 0x58, 0x64, 0x0c, 0xcb, 0xc8, + 0x42, 0xcc, 0x69, 0xfc, 0xd3, 0x26, 0x49, 0x81, 0xe0, 0x63, 0x96, 0x2d, + 0x56, 0x79, 0x26, 0xe5, 0xae, 0x48, 0xba, 0x14, 0xa9, 0xb9, 0xc8, 0x97, + 0x90, 0x02, 0x85, 0x1a, 0x45, 0xaa, 0x8a, 0xaf, 0xaa, 0x26, 0xe9, 0xa2, + 0x97, 0xa1, 0x38, 0x38, 0xf2, 0xe9, 0xce, 0x25, 0x4d, 0x9a, 0x40, 0x6f, + 0x3c, 0x4d, 0x96, 0x4d, 0x60, 0xd1, 0x66, 0x22, 0x22, 0xb9, 0xa5, 0x6c, + 0xa7, 0xbc, 0x71, 0xe5, 0xe4, 0x6b, 0x38, 0xd8, 0xf5, 0x96, 0x72, 0x0a, + 0x93, 0xa4, 0x1e, 0x9f, 0xe1, 0xf5, 0x68, 0x2e, 0x47, 0x93, 0xd9, 0xec, + 0xe7, 0x11, 0xcc, 0xa3, 0x23, 0x60, 0xa1, 0xa7, 0x95, 0xd5, 0xe3, 0xd4, + 0xba, 0x3e, 0x1d, 0x5a, 0xac, 0x2f, 0x27, 0xa8, 0x68, 0xfb, 0xfb, 0x76, + 0x31, 0x24, 0xb3, 0x53, 0x12, 0x0e, 0xd2, 0x86, 0xf2, 0x8e, 0xca, 0xf2, + 0x41, 0x5e, 0x43, 0x80, 0xe1, 0xec, 0x54, 0x41, 0x8d, 0x00, 0x8a, 0xb8, + 0xad, 0x02, 0xda, 0x03, 0x20, 0xce, 0x58, 0xd9, 0x32, 0xb5, 0x39, 0xc6, + 0xaf, 0x37, 0xda, 0xaa, 0x03, 0x69, 0x10, 0x8d, 0x8c, 0xbb, 0xd6, 0xa2, + 0xb0, 0x69, 0x90, 0x4c, 0x0b, 0x0d, 0x05, 0xd2, 0x58, 0x9d, 0xfd, 0x94, + 0xe6, 0xd1, 0x0d, 0xb4, 0x31, 0xf2, 0x71, 0x0b, 0x9f, 0xb7, 0xba, 0x89, + 0x05, 0x3b, 0x20, 0x01, 0xa1, 0xa8, 0xe5, 0x28, 0x82, 0x75, 0x8d, 0x1b, + 0x02, 0x50, 0xeb, 0x71, 0xd2, 0x00, 0x5a, 0x65, 0x4b, 0x53, 0x02, 0x9f, + 0x7a, 0x30, 0x60, 0xf8, 0x09, 0xea, 0x07, 0x9d, 0xe4, 0x8f, 0xdf, 0x7b, + 0xec, 0x8f, 0xdf, 0xcf, 0x20, 0x01, 0xa6, 0xcb, 0x32, 0x5b, 0xd2, 0x04, + 0x44, 0x10, 0x2c, 0x01, 0x42, 0xbd, 0xc0, 0x3f, 0x56, 0x70, 0xaa, 0xe0, + 0x08, 0x69, 0x03, 0xd7, 0xc2, 0xe7, 0xc0, 0x69, 0x53, 0xa4, 0xf9, 0x20, + 0xa4, 0xb9, 0x80, 0x6a, 0xf1, 0x55, 0xad, 0x31, 0x86, 0x90, 0x66, 0x97, + 0xd0, 0x9f, 0x41, 0x57, 0x78, 0x16, 0x50, 0x53, 0xe0, 0x9a, 0x8c, 0x80, + 0xd0, 0x10, 0x60, 0xe0, 0x03, 0x18, 0x80, 0xe2, 0x54, 0x0e, 0x74, 0x31, + 0x41, 0x03, 0x70, 0xa3, 0x21, 0xeb, 0x0b, 0x49, 0x4e, 0xb3, 0x28, 0x22, + 0xac, 0x97, 0xd1, 0x89, 0xef, 0x83, 0xc7, 0xaf, 0xcb, 0x3c, 0x1d, 0x82, + 0x96, 0xc3, 0xff, 0xd3, 0xa1, 0xb1, 0x28, 0x48, 0x08, 0x6f, 0xc3, 0xc4, + 0x01, 0xce, 0x70, 0x51, 0x99, 0x6e, 0x7c, 0xcb, 0xe8, 0x54, 0xe1, 0xa2, + 0x46, 0x9d, 0xf2, 0xc2, 0xa1, 0xc9, 0x40, 0x37, 0xce, 0xcc, 0xf9, 0xba, + 0x41, 0x73, 0xa8, 0xd3, 0x1c, 0x55, 0xd3, 0x04, 0x5a, 0x82, 0x6c, 0x35, + 0xcd, 0x91, 0x4e, 0x73, 0xaf, 0x9a, 0xe6, 0xae, 0xa2, 0x79, 0x53, 0x45, + 0x73, 0x4f, 0xa7, 0xf9, 0xb8, 0x96, 0x66, 0xc1, 0x6a, 0x15, 0xcd, 0xc7, + 0x3a, 0xcd, 0xfd, 0xda, 0xba, 0xef, 0x86, 0xd0, 0xdc, 0xd7, 0x69, 0x1e, + 0x84, 0xb5, 0xd1, 0xae, 0xaa, 0x3b, 0x75, 0x7a, 0xa5, 0x10, 0x57, 0x85, + 0x06, 0xf6, 0x45, 0xd9, 0x04, 0xa5, 0xdc, 0x8f, 0x0b, 0x20, 0x46, 0xb4, + 0x28, 0x36, 0xd6, 0x15, 0x24, 0x88, 0xcf, 0x29, 0x7d, 0x9e, 0x69, 0x5e, + 0xa7, 0xbc, 0xb6, 0x90, 0xf6, 0x2e, 0x7a, 0x53, 0xa2, 0x2a, 0x63, 0x5a, + 0x81, 0xc0, 0x86, 0x72, 0xc8, 0x02, 0xdb, 0x78, 0x66, 0xf6, 0x71, 0x48, + 0x01, 0x1d, 0x86, 0xb2, 0xf8, 0x97, 0x0b, 0xf1, 0x05, 0xca, 0x75, 0xd6, + 0xca, 0xe9, 0x3e, 0xd4, 0x02, 0xc6, 0xb8, 0x08, 0x03, 0x9a, 0xea, 0xeb, + 0x58, 0x94, 0x30, 0xc0, 0x7f, 0x9e, 0xca, 0x45, 0x26, 0x6a, 0x51, 0x4a, + 0xa6, 0xf1, 0x2a, 0x59, 0x16, 0x21, 0xbc, 0x06, 0x66, 0x4c, 0x7f, 0x05, + 0x54, 0x1e, 0x87, 0xef, 0xb4, 0x80, 0x39, 0x93, 0x72, 0xac, 0x2a, 0x9b, + 0xb4, 0xbe, 0x48, 0xa6, 0x83, 0x4b, 0x74, 0xe3, 0xe6, 0xe4, 0xf8, 0xab, + 0x27, 0x5f, 0x3e, 0xc5, 0x75, 0xaf, 0xea, 0x00, 0xff, 0x84, 0x3a, 0xc3, + 0x17, 0xe0, 0xf1, 0xfa, 0x60, 0x75, 0xa8, 0x7f, 0x25, 0x14, 0x0b, 0x0b, + 0x0e, 0x7d, 0xfa, 0xce, 0x3d, 0x90, 0x50, 0xe5, 0x7e, 0x8e, 0xfb, 0xc8, + 0x43, 0xe7, 0xfd, 0x2f, 0x3e, 0xa3, 0x5d, 0x1a, 0x48, 0x5b, 0x4d, 0xe6, + 0xf1, 0x1c, 0x66, 0xa2, 0xb2, 0x01, 0x8a, 0xed, 0x09, 0xd5, 0xe6, 0x50, + 0x10, 0xb6, 0x6c, 0xba, 0x59, 0xb2, 0x2c, 0x59, 0xce, 0x62, 0x06, 0xe8, + 0x18, 0x83, 0x70, 0x41, 0xb8, 0xf4, 0xb0, 0x48, 0x8a, 0xe1, 0x0b, 0xc5, + 0x22, 0x6a, 0x9c, 0xd3, 0x75, 0x25, 0x39, 0x6f, 0xa0, 0x3c, 0x79, 0xae, + 0xbe, 0x22, 0x68, 0xac, 0x19, 0x8e, 0x52, 0x96, 0x6e, 0x04, 0x9a, 0x2c, + 0x0a, 0xe0, 0x37, 0xf9, 0x25, 0xa6, 0x39, 0x4f, 0x80, 0x3e, 0x29, 0x5f, + 0x12, 0x34, 0xd7, 0xdb, 0x54, 0x4e, 0xe9, 0x0b, 0xe5, 0xc6, 0x75, 0xa1, + 0xb7, 0x76, 0xb2, 0x59, 0x9a, 0xac, 0xf3, 0xb7, 0x21, 0x89, 0x7e, 0x4e, + 0x57, 0xf3, 0x5b, 0xf8, 0xf1, 0xd6, 0x0e, 0xae, 0xcc, 0xc0, 0x97, 0x3f, + 0x01, 0xcc, 0x51, 0xfd, 0x86, 0x46, 0xa5, 0x01, 0x00 }; diff --git a/Arduino/McLighting/json_functions.h b/Arduino/McLighting/json_functions.h index 15e7fda..632717f 100644 --- a/Arduino/McLighting/json_functions.h +++ b/Arduino/McLighting/json_functions.h @@ -10,14 +10,14 @@ char * listStateJSONfull() { const size_t bufferSize = JSON_ARRAY_SIZE(12) + JSON_OBJECT_SIZE(19) + 250; DynamicJsonDocument jsonBuffer(bufferSize); JsonObject root = jsonBuffer.to(); - root["segment"] = FXSettings.segment; - root["start"] = seg_start; - root["stop"] = seg_stop; - root["mode"] = (uint8_t) mode; + root["segment"] = State.segment; + root["start"] = segState.start; + root["stop"] = segState.stop; + root["mode"] = (uint8_t) State.mode; //getSegmentParams(segment); - root["fx_mode"] = fx_mode; - root["speed"] = fx_speed; - root["brightness"] = brightness; + root["fx_mode"] = segState.mode[State.segment]; + root["speed"] = segState.speed[State.segment]; + root["brightness"] = State.brightness; JsonArray color = root.createNestedArray("color"); color.add(main_color.white); color.add(main_color.red); @@ -31,7 +31,7 @@ char * listStateJSONfull() { color.add(xtra_color.red); color.add(xtra_color.green); color.add(xtra_color.blue); - root["ws_fxopt"] = fx_options; + root["ws_fxopt"] = segState.options; root["hostname"] = HOSTNAME; #if defined(ENABLE_MQTT) root["mqtt_host"] = mqtt_host; @@ -39,11 +39,11 @@ char * listStateJSONfull() { root["mqtt_user"] = mqtt_user; root["mqtt_pass"] = mqtt_pass; #endif - root["ws_seg"] = num_segments; - root["ws_cnt"] = FXSettings.stripSize; - root["ws_rgbo"] = FXSettings.RGBOrder; - root["ws_pin"] = FXSettings.pin; - root["ws_trans"] = FXSettings.transEffect; + root["ws_seg"] = Config.segments; + root["ws_cnt"] = Config.stripSize; + root["ws_rgbo"] = Config.RGBOrder; + root["ws_pin"] = Config.pin; + root["ws_trans"] = Config.transEffect; uint16_t msg_len = measureJson(root) + 1; char * buffer = (char *) malloc(msg_len); serializeJson(root, buffer, msg_len); @@ -55,9 +55,9 @@ char * listStateJSON() { const size_t bufferSize = JSON_OBJECT_SIZE(3) + 25; DynamicJsonDocument jsonBuffer(bufferSize); JsonObject root = jsonBuffer.to(); - root["segment"] = FXSettings.segment; - root["mode"] = (uint8_t) mode; - root["brightness"] = brightness; + root["segment"] = State.segment; + root["mode"] = (uint8_t) State.mode; + root["brightness"] = State.brightness; uint16_t msg_len = measureJson(root) + 1; char * buffer = (char *) malloc(msg_len); serializeJson(root, buffer, msg_len); @@ -65,49 +65,36 @@ char * listStateJSON() { return buffer; } -char * listSegmentStateJSON(uint8_t seg) { +char * listSegmentStateJSON(uint8_t _seg) { const size_t bufferSize = JSON_ARRAY_SIZE(12) + JSON_OBJECT_SIZE(6) + 100; DynamicJsonDocument jsonBuffer(bufferSize); JsonObject root = jsonBuffer.to(); - if (seg == FXSettings.segment) { - root["start"] = seg_start; - root["stop"] = seg_stop; + if (_seg == State.segment) { + root["start"] = segState.start; + root["stop"] = segState.stop; } else { - root["start"] = strip->getSegment(seg)->start; - root["stop"] = strip->getSegment(seg)->stop; + root["start"] = strip->getSegment(_seg)->start; + root["stop"] = strip->getSegment(_seg)->stop; } //getSegmentParams(seg); - root["fx_mode"] = strip->getMode(seg); - root["speed"] = fx_speed; - JsonArray color = root.createNestedArray("color"); - if (seg == FXSettings.segment) { - color.add(main_color.white); - color.add(main_color.red); - color.add(main_color.green); - color.add(main_color.blue); - color.add(back_color.white); - color.add(back_color.red); - color.add(back_color.green); - color.add(back_color.blue); - color.add(xtra_color.white); - color.add(xtra_color.red); - color.add(xtra_color.green); - color.add(xtra_color.blue); - } else { - color.add((strip->getColors(seg)[0] >> 24) & 0xFF); - color.add((strip->getColors(seg)[0] >> 16) & 0xFF); - color.add((strip->getColors(seg)[0] >> 8) & 0xFF); - color.add((strip->getColors(seg)[0]) & 0xFF); - color.add((strip->getColors(seg)[1] >> 24) & 0xFF); - color.add((strip->getColors(seg)[1] >> 16) & 0xFF); - color.add((strip->getColors(seg)[1] >> 8) & 0xFF); - color.add((strip->getColors(seg)[1]) & 0xFF); - color.add((strip->getColors(seg)[2] >> 24) & 0xFF); - color.add((strip->getColors(seg)[2] >> 16) & 0xFF); - color.add((strip->getColors(seg)[2] >> 8) & 0xFF); - color.add((strip->getColors(seg)[2]) & 0xFF); - } - root["ws_fxopt"] = fx_options; + //root["fx_mode"] = strip->getMode(_seg); + root["fx_mode"] = segState.mode[_seg]; + root["speed"] = segState.speed[_seg]; + JsonArray color = root.createNestedArray("color"); + //color.add((strip->getColors(_seg)[0] >> 24) & 0xFF); + color.add((segState.colors[_seg][0] >> 24) & 0xFF); + color.add((segState.colors[_seg][0] >> 16) & 0xFF); + color.add((segState.colors[_seg][0] >> 8) & 0xFF); + color.add((segState.colors[_seg][0]) & 0xFF); + color.add((segState.colors[_seg][1] >> 24) & 0xFF); + color.add((segState.colors[_seg][1] >> 16) & 0xFF); + color.add((segState.colors[_seg][1] >> 8) & 0xFF); + color.add((segState.colors[_seg][1]) & 0xFF); + color.add((segState.colors[_seg][2] >> 24) & 0xFF); + color.add((segState.colors[_seg][2] >> 16) & 0xFF); + color.add((segState.colors[_seg][2] >> 8) & 0xFF); + color.add((segState.colors[_seg][2]) & 0xFF); + root["ws_fxopt"] = segState.options; uint16_t msg_len = measureJson(root) + 1; char * buffer = (char *) malloc(msg_len); serializeJson(root, buffer, msg_len); @@ -137,11 +124,11 @@ char * listConfigJSON() { root["mqtt_user"] = mqtt_user; root["mqtt_pass"] = mqtt_pass; #endif - root["ws_seg"] = num_segments; - root["ws_cnt"] = FXSettings.stripSize; - root["ws_rgbo"] = FXSettings.RGBOrder; - root["ws_pin"] = FXSettings.pin; - root["ws_trans"] = FXSettings.transEffect; + root["ws_seg"] = Config.segments; + root["ws_cnt"] = Config.stripSize; + root["ws_rgbo"] = Config.RGBOrder; + root["ws_pin"] = Config.pin; + root["ws_trans"] = Config.transEffect; uint16_t msg_len = measureJson(root) + 1; char * buffer = (char *) malloc(msg_len); serializeJson(root, buffer, msg_len); @@ -211,10 +198,10 @@ char * listESPStateJSON() { #else root["animation_lib"] = "WS2812FX"; #endif - root["ws2812_pin"] = FXSettings.pin; - root["led_count"] = FXSettings.stripSize; - root["rgb_order"] = FXSettings.RGBOrder; - if (strstr(FXSettings.RGBOrder, "W") != NULL) { + root["ws2812_pin"] = Config.pin; + root["led_count"] = Config.stripSize; + root["rgb_order"] = Config.RGBOrder; + if (strstr(Config.RGBOrder, "W") != NULL) { root["rgbw_mode"] = "ON"; } else { root["rgbw_mode"] = "OFF"; diff --git a/Arduino/McLighting/mode_custom_ws2812fx_animations.h b/Arduino/McLighting/mode_custom_ws2812fx_animations.h index ba6c6bd..07f0d38 100644 --- a/Arduino/McLighting/mode_custom_ws2812fx_animations.h +++ b/Arduino/McLighting/mode_custom_ws2812fx_animations.h @@ -1,5 +1,5 @@ // Prototypes -uint16_t convertSpeed(uint16_t _mcl_speed); +uint16_t convertSpeed(uint8_t _mcl_speed); uint32_t trans(uint32_t _newcolor, uint32_t _oldcolor, uint8_t _level, uint8_t _steps); // End Prototypes /* @@ -12,22 +12,28 @@ More info on how to create custom aniamtions for WS2812FX: https://github.com/ki // *************************************************************************** // Functions and variables for automatic cycling // *************************************************************************** - -void handleAutoPlay() { +uint16_t handleSegmentOFF(void) { WS2812FX::Segment* _seg = strip->getSegment(); - if (autoDelay <= millis()) { - hex_colors_trans[0] = autoParams[autoCount][0]; - hex_colors_trans[1] = autoParams[autoCount][1]; - hex_colors_trans[2] = autoParams[autoCount][2]; - strip->setColors(FXSettings.segment, hex_colors_trans); - strip->setSpeed(FXSettings.segment, convertSpeed((uint16_t)autoParams[autoCount][3])); - strip->setMode(FXSettings.segment, (uint8_t)autoParams[autoCount][4]); - strip->trigger(); - autoDelay = millis() + (uint32_t)autoParams[autoCount][5]; - DBG_OUTPUT_PORT.print("autoTick "); - DBG_OUTPUT_PORT.printf("autoTick[%d]: {0x%08x, 0x%08x, 0x%08x, %d, %d, %d}\r\n", autoCount, hex_colors[0], hex_colors[1], hex_colors[2], autoParams[autoCount][3], autoParams[autoCount][4], autoParams[autoCount][5]); - autoCount++; - if (autoCount >= (sizeof(autoParams) / sizeof(autoParams[0]))) autoCount = 0; + return _seg->speed; +} + +void handleAutoPlay(uint8_t _seg) { + //WS2812FX::Segment* _seg = strip->getSegment(); + if (autoDelay[_seg] <= millis()) { + uint32_t _hex_colors[3] = {}; + //if (_seg == + _hex_colors[0] = autoParams[autoCount[_seg]][0]; + _hex_colors[1] = autoParams[autoCount[_seg]][1]; + _hex_colors[2] = autoParams[autoCount[_seg]][2]; + //} + strip->setColors(_seg, _hex_colors); + strip->setSpeed(_seg, convertSpeed((uint16_t)autoParams[autoCount[_seg]][3])); + strip->setMode(_seg, (uint8_t)autoParams[autoCount[_seg]][4]); + //strip->trigger(); + autoDelay[_seg] = millis() + (unsigned long)autoParams[autoCount[_seg]][5]; + DBG_OUTPUT_PORT.printf("autoTick[%d][%d]: {0x%08x, 0x%08x, 0x%08x, %d, %d, %d}\r\n", _seg, autoCount[_seg], autoParams[autoCount[_seg]][0], autoParams[autoCount[_seg]][1], autoParams[autoCount[_seg]][2], autoParams[autoCount[_seg]][3], autoParams[autoCount[_seg]][4], autoParams[autoCount[_seg]][5]); + autoCount[_seg]++; + if (autoCount[_seg] >= (sizeof(autoParams) / sizeof(autoParams[0]))) autoCount[_seg] = 0; } } @@ -41,7 +47,7 @@ void handleAutoPlay() { unsigned long dipStartTime; unsigned long currentMillis; uint8_t ledState = LOW; - long previousMillis = 0; + unsigned long previousMillis = 0; uint16_t interv = 2000; uint8_t twitch = 50; uint8_t dipCount = 0; @@ -119,7 +125,7 @@ uint16_t handleTV(void) { if(currentMillis-previousMillis > interv) { previousMillis = currentMillis; //interv = random(750,4001);//Adjusts the interval for more/less frequent random light changes - interv = random(1000-(fx_speed*2),5001-(fx_speed*8)); + interv = random(1000-(_seg->speed/128),5001-(_seg->speed/32)); twitch = random(40,100);// Twitch provides motion effect but can be a bit much if too high dipCount = dipCount++; } @@ -145,7 +151,7 @@ uint16_t handleTV(void) { currentDipTime = millis(); if (currentDipTime - dipStartTime < darkTime) { for (uint16_t i=(_seg->start + 3); i<= _seg->stop; i++) { - ledstates[i] = brightness; + ledstates[i] = State.brightness; for (uint16_t j=_seg->start; j<=_seg->stop; j++) { uint16_t index = (j%3 == 0) ? 400 : random(0,767); hsb2rgbAN1(index, 200, ledstates[j], j); @@ -178,11 +184,11 @@ uint16_t handleE131(void) { /* #if defined(RGBW) uint16_t multipacketOffset = (universe - START_UNIVERSE) * 128; //if more than 128 LEDs * 4 colors = 512 channels, client will send in next higher universe if (NUMLEDS <= multipacketOffset) return; - uint16_t len = (128 + multipacketOffset > FXSettings.stripSize) ? (FXSettings.stripSize - multipacketOffset) : 128; + uint16_t len = (128 + multipacketOffset > Config.stripSize) ? (Config.stripSize - multipacketOffset) : 128; #else*/ uint16_t multipacketOffset = (universe - START_UNIVERSE) * 170; //if more than 170 LEDs * 3 colors = 510 channels, client will send in next higher universe - if (FXSettings.stripSize <= multipacketOffset) return _seg->speed; - uint16_t len = (170 + multipacketOffset > FXSettings.stripSize) ? (FXSettings.stripSize - multipacketOffset) : 170; + if (Config.stripSize <= multipacketOffset) return _seg->speed; + uint16_t len = (170 + multipacketOffset > Config.stripSize) ? (Config.stripSize - multipacketOffset) : 170; /* #endif */ for (uint16_t i = 0; i < len; i++){ if ((i >= _seg->start) && (i <= _seg->stop)) { @@ -219,11 +225,13 @@ uint16_t handleFire2012(void) { } // Step 4. Map from heat cells to LED colors + + // 98 143 for( uint16_t j = _seg->start; j <= _seg->stop; j++) { CRGB color = HeatColor(ledstates[j]); uint16_t pixel; if ((_seg->options & 128) > 0) { - pixel = _seg->stop - j; + pixel = _seg->stop + (_seg->start - j); } else { pixel = j; } diff --git a/Arduino/McLighting/request_handlers.h b/Arduino/McLighting/request_handlers.h index b719ba0..8d2f7f5 100644 --- a/Arduino/McLighting/request_handlers.h +++ b/Arduino/McLighting/request_handlers.h @@ -7,7 +7,7 @@ bool handleSetMainColor(uint8_t * mypayload) { // decode rgb data uint32_t rgb = (uint32_t) strtoul((const char *) &mypayload[1], NULL, 16); - if (rgb != strip->getColors(FXSettings.segment)[0]) { + if (rgb != segState.colors[State.segment][0]) { main_color.white = ((rgb >> 24) & 0xFF); main_color.red = ((rgb >> 16) & 0xFF); main_color.green = ((rgb >> 8) & 0xFF); @@ -20,7 +20,7 @@ bool handleSetMainColor(uint8_t * mypayload) { bool handleSetBackColor(uint8_t * mypayload) { // decode rgb data uint32_t rgb = (uint32_t) strtoul((const char *) &mypayload[2], NULL, 16); - if (rgb != strip->getColors(FXSettings.segment)[1]) { + if (rgb != segState.colors[State.segment][1]) { back_color.white = ((rgb >> 24) & 0xFF); back_color.red = ((rgb >> 16) & 0xFF); back_color.green = ((rgb >> 8) & 0xFF); @@ -32,7 +32,7 @@ bool handleSetBackColor(uint8_t * mypayload) { bool handleSetXtraColor(uint8_t * mypayload) { // decode rgb data uint32_t rgb = (uint32_t) strtoul((const char *) &mypayload[3], NULL, 16); - if (rgb != strip->getColors(FXSettings.segment)[2]) { + if (rgb != segState.colors[State.segment][2]) { xtra_color.white = ((rgb >> 24) & 0xFF); xtra_color.red = ((rgb >> 16) & 0xFF); xtra_color.green = ((rgb >> 8) & 0xFF); @@ -45,14 +45,14 @@ bool handleSetXtraColor(uint8_t * mypayload) { bool handleSetAllMode(uint8_t * mypayload) { // decode rgb data uint32_t rgb = (uint32_t) strtoul((const char *) &mypayload[1], NULL, 16); - if ((mode = OFF) || (fx_mode != strip->getMode(FXSettings.segment)) || (rgb != strip->getColors(FXSettings.segment)[0])) { + if ((State.mode = OFF) || (segState.mode[State.segment] != strip->getMode(State.segment)) || (rgb != segState.colors[State.segment][0])) { main_color.white = ((rgb >> 24) & 0xFF); main_color.red = ((rgb >> 16) & 0xFF); main_color.green = ((rgb >> 8) & 0xFF); main_color.blue = ((rgb >> 0) & 0xFF); DBG_OUTPUT_PORT.printf("WS: Set all leds to main color: R: [%u] G: [%u] B: [%u] W: [%u]\r\n", main_color.red, main_color.green, main_color.blue, main_color.white); fx_mode = FX_MODE_STATIC; - mode = SET; + State.mode = SET; return true; } return false; @@ -65,8 +65,8 @@ void handleSetSingleLED(uint8_t * mypayload, uint8_t firstChar = 0) { templed[4] = 0x00; uint8_t led = atoi(templed); - DBG_OUTPUT_PORT.printf("led value: [%i]. Entry threshold: <= [%i] (=> %s)\r\n", led, FXSettings.stripSize, mypayload ); - if (led <= FXSettings.stripSize) { + DBG_OUTPUT_PORT.printf("led value: [%i]. Entry threshold: <= [%i] (=> %s)\r\n", led, Config.stripSize, mypayload ); + if (led <= Config.stripSize) { char redhex[3]; char greenhex[3]; char bluehex[3]; @@ -100,7 +100,7 @@ void handleSetSingleLED(uint8_t * mypayload, uint8_t firstChar = 0) { strip->setPixelColor(led, color.red, color.green, color.blue, color.white); strip->show(); } - mode = HOLD; + State.mode = HOLD; fx_mode= FX_MODE_CUSTOM_1; } @@ -151,13 +151,13 @@ bool setModeByStateString(String saved_state_string) { if (getValue(saved_state_string, '|', 0) == "STA") { DBG_OUTPUT_PORT.printf("Parsed state: %s\r\n", saved_state_string.c_str()); String str_mode = getValue(saved_state_string, '|', 1); - mode = static_cast(str_mode.toInt()); + State.mode = static_cast(str_mode.toInt()); String str_fx_mode = getValue(saved_state_string, '|', 2); fx_mode = str_fx_mode.toInt(); String str_fx_speed = getValue(saved_state_string, '|', 3); - fx_speed = str_fx_speed.toInt(); + segState.speed[State.segment] = str_fx_speed.toInt(); String str_brightness = getValue(saved_state_string, '|', 4); - brightness = str_brightness.toInt(); + State.brightness = str_brightness.toInt(); String str_red = getValue(saved_state_string, '|', 5); main_color.red = str_red.toInt(); String str_green = getValue(saved_state_string, '|', 6); @@ -185,7 +185,7 @@ bool setModeByStateString(String saved_state_string) { DBG_OUTPUT_PORT.print("Set to state: "); DBG_OUTPUT_PORT.println(listStateJSON()); //prevmode=mode; - //mode = SET; + //State.mode = SET; return true; } else { DBG_OUTPUT_PORT.println("Saved state not found!"); @@ -198,13 +198,13 @@ void handleSetWS2812FXMode(uint8_t * mypayload) { if (isDigit(mypayload[1])) { fx_mode = (uint8_t) strtol((const char *) &mypayload[1], NULL, 10); fx_mode = constrain(fx_mode, 0, strip->getModeCount() - 1); - mode = SET; + State.mode = SET; } else { if (strcmp((char *) &mypayload[1], "off") == 0) { - if (mode == OFF) { mode = SET; } else { mode = OFF; }; + if (State.mode == OFF) { State.mode = SET; } else { State.mode = OFF; }; } if (strcmp((char *) &mypayload[1], "on") == 0) { - mode = SET; + State.mode = SET; } } } @@ -268,25 +268,25 @@ void checkpayload(uint8_t * _payload, bool mqtt = false, uint8_t num = 0) { if (_payload[0] == 'S') { if (_payload[1] == 's') { uint8_t seg = (uint8_t) strtol((const char *) &_payload[2], NULL, 10); - FXSettings.segment = constrain(seg, 0, num_segments - 1); - if (prevsegment != FXSettings.segment) { - prevsegment = FXSettings.segment; - getSegmentParams(FXSettings.segment); + State.segment = constrain(seg, 0, Config.segments - 1); + if (prevsegment != State.segment) { + prevsegment = State.segment; + getSegmentParams(State.segment); //convertColors(); - //memcpy(hex_colors, hex_colors_trans, sizeof(hex_colors_trans)); - memcpy(hex_colors_trans, hex_colors, sizeof(hex_colors_trans)); + //memcpy(segState.colors[State.segment], hexcolors_trans, sizeof(hexcolors_trans)); + memcpy(hexcolors_trans, segState.colors[State.segment], sizeof(hexcolors_trans)); _updateState = true; Dbg_Prefix(mqtt, num); - DBG_OUTPUT_PORT.printf("Set segment to: [%u]\r\n", FXSettings.segment); + DBG_OUTPUT_PORT.printf("Set segment to: [%u]\r\n", State.segment); } } // / ==> Set segment first LED if (_payload[1] == '[') { uint16_t _seg_start = (uint16_t) strtol((const char *) &_payload[2], NULL, 10); - //getSegmentParams(FXSettings.segment); - _seg_start = constrain(_seg_start, 0, FXSettings.stripSize - 1); - if (_seg_start != seg_start) { - seg_start = _seg_start; + //getSegmentParams(State.segment); + _seg_start = constrain(_seg_start, 0, Config.stripSize - 1); + if (_seg_start != segState.start) { + segState.start = _seg_start; _updateSegState = true; setSegmentSize(); Dbg_Prefix(mqtt, num); @@ -296,10 +296,10 @@ void checkpayload(uint8_t * _payload, bool mqtt = false, uint8_t num = 0) { // / ==> Set segment last LED if (_payload[1] == ']') { uint16_t _seg_stop = (uint16_t) strtol((const char *) &_payload[2], NULL, 10); - //getSegmentParams(FXSettings.segment); - _seg_stop = constrain(_seg_stop, seg_start, FXSettings.stripSize - 1); - if (_seg_stop != seg_stop) { - seg_stop = _seg_stop; + //getSegmentParams(State.segment); + _seg_stop = constrain(_seg_stop, segState.start, Config.stripSize - 1); + if (_seg_stop != segState.stop) { + segState.stop = _seg_stop; _updateSegState = true; setSegmentSize(); Dbg_Prefix(mqtt, num); @@ -310,15 +310,15 @@ void checkpayload(uint8_t * _payload, bool mqtt = false, uint8_t num = 0) { char _fx_options[4]; snprintf(_fx_options, sizeof(_fx_options), "%s", &_payload[2]); _fx_options[3] = 0x00; - if (((constrain(atoi(_fx_options), 0, 255)>>1)<<1) != fx_options) { - fx_options = ((constrain(atoi(_fx_options), 0, 255)>>1)<<1); + if (((constrain(atoi(_fx_options), 0, 255)>>1)<<1) != segState.options) { + segState.options= ((constrain(atoi(_fx_options), 0, 255)>>1)<<1); _updateSegState = true; - strip->setOptions(FXSettings.segment, fx_options); + strip->setOptions(State.segment, segState.options); Dbg_Prefix(mqtt, num); - DBG_OUTPUT_PORT.printf("Set segment options to: [%u]\r\n", fx_options); + DBG_OUTPUT_PORT.printf("Set segment options to: [%u]\r\n", segState.options); } } - char * buffer = listSegmentStateJSON(FXSettings.segment); + char * buffer = listSegmentStateJSON(State.segment); if (mqtt == true) { DBG_OUTPUT_PORT.print("MQTT: "); #if defined(ENABLE_MQTT) @@ -338,7 +338,7 @@ void checkpayload(uint8_t * _payload, bool mqtt = false, uint8_t num = 0) { // / ==> Set WS2812 mode. if (_payload[0] == '/') { handleSetWS2812FXMode(_payload); - if (fx_mode != strip->getMode(FXSettings.segment)) { + if (fx_mode != strip->getMode(State.segment)) { _updateSegState = true; Dbg_Prefix(mqtt, num); DBG_OUTPUT_PORT.printf("Set WS2812 mode: [%s]\r\n", _payload); @@ -369,28 +369,28 @@ void checkpayload(uint8_t * _payload, bool mqtt = false, uint8_t num = 0) { #if defined(ENABLE_MQTT) snprintf(mqtt_buf, sizeof(mqtt_buf), "OK %s", _payload); #endif - mode = SET; + State.mode = SET; } } // ? ==> Set speed if (_payload[0] == '?') { uint16_t _fx_speed = (uint16_t) strtol((const char *) &_payload[1], NULL, 10); - fx_speed = constrain(_fx_speed, SPEED_MIN, SPEED_MAX ); - mode = SET; + segState.speed[State.segment] = constrain(_fx_speed, SPEED_MIN, SPEED_MAX ); + State.mode = SET; _updateSegState = true; Dbg_Prefix(mqtt, num); - DBG_OUTPUT_PORT.printf("Set speed to: [%u]\r\n", fx_speed); + DBG_OUTPUT_PORT.printf("Set speed to: [%u]\r\n", segState.speed[State.segment]); } // % ==> Set brightness if (_payload[0] == '%') { uint8_t b = (uint8_t) strtol((const char *) &_payload[1], NULL, 10); - brightness = constrain(b, 0, 255); - if (strip->getBrightness() != brightness) { - mode = SET; + State.brightness = constrain(b, 0, 255); + if (strip->getBrightness() != State.brightness) { + State.mode = SET; Dbg_Prefix(mqtt, num); - DBG_OUTPUT_PORT.printf("Set brightness to: [%u]\r\n", brightness); + DBG_OUTPUT_PORT.printf("Set brightness to: [%u]\r\n", State.brightness); _updateState = true; } } @@ -451,24 +451,24 @@ void checkpayload(uint8_t * _payload, bool mqtt = false, uint8_t num = 0) { if (_payload[0] == 'C') { bool _updateStrip = false; bool _updateConfig = false; - bool _updateSegState = false; + bool _updateState = false; if (_payload[1] == 's') { if (_payload[2] == 's') { char _num_segments[3]; snprintf(_num_segments, sizeof(_num_segments), "%s", &_payload[3]); _num_segments[2] = 0x00; - num_segments = constrain(atoi(_num_segments), 1, MAX_NUM_SEGMENTS - 1); - if (FXSettings.segment >= num_segments) { - FXSettings.segment = num_segments - 1; + Config.segments = constrain(atoi(_num_segments), 1, MAX_NUM_SEGMENTS - 1); + if (State.segment >= Config.segments) { + State.segment = Config.segments - 1; + _updateState = true; } _updateStrip = true; - _updateSegState = true; } if (_payload[2] == 'c') { char tmp_count[6]; snprintf(tmp_count, sizeof(tmp_count), "%s", &_payload[3]); tmp_count[5] = 0x00; - FXSettings.stripSize = constrain(atoi(tmp_count), 1, MAXLEDS); + Config.stripSize = constrain(atoi(tmp_count), 1, MAXLEDS); _updateStrip = true; } if (_payload[2] == 'r') { @@ -529,7 +529,7 @@ void checkpayload(uint8_t * _payload, bool mqtt = false, uint8_t num = 0) { char _transEffect[2]; snprintf(_transEffect, sizeof(_transEffect), "%s", &_payload[2]); _transEffect[sizeof(_transEffect) - 1] = 0x00; - FXSettings.transEffect = atoi(_transEffect); + Config.transEffect = atoi(_transEffect); _updateConfig = true; } @@ -554,15 +554,14 @@ void checkpayload(uint8_t * _payload, bool mqtt = false, uint8_t num = 0) { DBG_OUTPUT_PORT.println("Saving config.json!"); if(!save_conf.active()) save_conf.once(3, tickerSaveConfig); } - if (_updateSegState) { - DBG_OUTPUT_PORT.println("Saving stripstate_segment.json!"); - if(!save_seg_state.active()) save_seg_state.once(3, tickerSaveSegmentState); - + if (_updateState) { + DBG_OUTPUT_PORT.println("Saving stripstate.json!"); + if(!save_state.active()) save_state.once(3, tickerSaveState); } #endif _updateStrip = false; _updateConfig = false; - _updateSegState = false; + _updateState = false; DBG_OUTPUT_PORT.printf("Get status info: %s\r\n", buffer); free (buffer); } @@ -713,7 +712,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght const size_t bufferSize = JSON_OBJECT_SIZE(6) + JSON_OBJECT_SIZE(12) + 1000; DynamicJsonDocument jsonBuffer(bufferSize); JsonObject root = jsonBuffer.to(); - root["state"] = (mode != OFF) ? on_cmd : off_cmd; + root["state"] = (State.mode != OFF) ? on_cmd : off_cmd; #if defined(ENABLE_MQTT_INCLUDE_IP) root["ip"] = WiFi.localIP(); #endif @@ -730,16 +729,16 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght color["g3"] = xtra_color.green; color["b3"] = xtra_color.blue; color["w3"] = xtra_color.white; - if (strstr(FXSettings.RGBOrder, "W") != NULL) { + if (strstr(Config.RGBOrder, "W") != NULL) { root["white_value"]= main_color.white; } - root["brightness"] = brightness; + root["brightness"] = State.brightness; root["color_temp"] = color_temp; - root["speed"] = fx_speed; + root["speed"] = segState.speed[State.segment]; //char modeName[30]; //strncpy_P(modeName, (PGM_P)strip->getModeName(strip->getMode()), sizeof(modeName)); // copy from progmem #if defined(ENABLE_HOMEASSISTANT) - if (mode == OFF){ + if (State.mode == OFF){ root["effect"] = "OFF"; } else { root["effect"] = strip->getModeName(strip->getMode()); @@ -777,10 +776,10 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght if (root.containsKey("state")) { const char* state_in = root["state"]; if (strcmp(state_in, on_cmd) == 0) { - mode = SET; + State.mode = SET; } else if (strcmp(state_in, off_cmd) == 0) { - mode = OFF; + State.mode = OFF; jsonBuffer.clear(); return true; } @@ -800,22 +799,22 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght xtra_color.green = (uint8_t) color["g3"]; xtra_color.blue = (uint8_t) color["b3"]; xtra_color.white = (uint8_t) color["w3"]; - mode = SET; + State.mode = SET; } if (root.containsKey("white_value")) { uint8_t json_white_value = constrain((uint8_t) root["white_value"], 0, 255); if (json_white_value != main_color.white) { main_color.white = json_white_value; - mode = SET; + State.mode = SET; } } if (root.containsKey("speed")) { - uint16_t _fx_speed = constrain((uint8_t) root["speed"], SPEED_MIN, SPEED_MAX); - if (_fx_speed != fx_speed) { - fx_speed = _fx_speed; - mode = SET; + uint8_t _fx_speed = constrain((uint8_t) root["speed"], 0, 255); + if (_fx_speed != segState.speed[State.segment]) { + segState.speed[State.segment] = _fx_speed; + State.mode = SET; } } @@ -824,14 +823,14 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght color_temp = (uint16_t) root["color_temp"]; uint16_t kelvin = 1000000 / color_temp; main_color = temp2rgb(kelvin); - mode = SET; + State.mode = SET; } if (root.containsKey("brightness")) { uint8_t json_brightness = constrain((uint8_t) root["brightness"], 0, 255); //fix #224 - if (json_brightness != brightness) { - brightness = json_brightness; - mode = SET; + if (json_brightness != State.brightness) { + State.brightness = json_brightness; + State.mode = SET; } } @@ -839,12 +838,12 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght String effectString = root["effect"].as(); #if defined(ENABLE_HOMEASSISTANT) if(effectString == "OFF"){ - mode = OFF; + State.mode = OFF; } #endif for (uint8_t i = 0; i < strip->getModeCount(); i++) { if(String(strip->getModeName(i)) == effectString) { - mode = SET; + State.mode = SET; fx_mode = i; break; } @@ -925,7 +924,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght #endif root["brightness"] = "true"; root["rgb"] = "true"; - if (strstr(FXSettings.RGBOrder, "W") != NULL) { + if (strstr(Config.RGBOrder, "W") != NULL) { root["white_value"]= "true"; } root["optimistic"] = "false"; @@ -1030,7 +1029,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght #endif root["brightness"] = "true"; root["rgb"] = "true"; - if (strstr(FXSettings.RGBOrder, "W") != NULL) { + if (strstr(Config.RGBOrder, "W") != NULL) { root["white_value"]= "true"; } root["optimistic"] = "false"; @@ -1081,12 +1080,12 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght #if defined(ENABLE_BUTTON) void shortKeyPress() { DBG_OUTPUT_PORT.printf("Short button press\r\n"); - if (mode == OFF) { + if (State.mode == OFF) { setModeByStateString(BTN_MODE_SHORT); - prevmode = mode; - mode = SET; + prevmode = State.mode; + State.mode = SET; } else { - mode = OFF; + State.mode = OFF; } } @@ -1094,16 +1093,16 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght void mediumKeyPress() { DBG_OUTPUT_PORT.printf("Medium button press\r\n"); setModeByStateString(BTN_MODE_MEDIUM); - prevmode = mode; - mode = SET; + prevmode = State.mode; + State.mode = SET; } // called when button is kept pressed for 2 seconds or more void longKeyPress() { DBG_OUTPUT_PORT.printf("Long button press\r\n"); setModeByStateString(BTN_MODE_LONG); - prevmode = mode; - mode = SET; + prevmode = State.mode; + State.mode = SET; } void button() { @@ -1147,7 +1146,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght tcs.getData(&r, &g, &b, &col, &conf); DBG_OUTPUT_PORT.printf("Colors: R: [%d] G: [%d] B: [%d] Color: [%d] Conf: [%d]\r\n", (int)r, (int)g, (int)b, (int)col, (int)conf); main_color.red = (pow((r/255.0), GAMMA)*255); main_color.green = (pow((g/255.0), GAMMA)*255); main_color.blue = (pow((b/255.0), GAMMA)*255);main_color.white = 0; - mode = SET; + State.mode = SET; } // called when button is kept pressed for less than 2 seconds @@ -1207,62 +1206,62 @@ void handleRemote() { } if (results.value == rmt_commands[ON_OFF]) { // ON/OFF TOGGLE last_remote_cmd = 0; - if (mode == OFF) { - mode = SET; + if (State.mode == OFF) { + State.mode = SET; } else { - mode = OFF; + State.mode = OFF; } } - if (mode == HOLD) { + if (State.mode == HOLD) { if (results.value == rmt_commands[BRIGHTNESS_UP]) { //Brightness Up last_remote_cmd = results.value; - if (brightness + chng <= 255) { - brightness = brightness + chng; - mode = SET; + if (State.brightness + chng <= 255) { + State.brightness = State.brightness + chng; + State.mode = SET; } } if (results.value == rmt_commands[BRIGHTNESS_DOWN]) { //Brightness down last_remote_cmd = results.value; - if (brightness - chng >= 0) { - brightness = brightness - chng; - mode = SET; + if (State.brightness - chng >= 0) { + State.brightness = State.brightness - chng; + State.mode = SET; } } - if ((fx_mode < 56) || (fx_mode > 57)) { + if ((segState.mode[State.segment] < FX_MODE_CUSTOM_0) || (segState.mode[State.segment] > FX_MODE_CUSTOM_1)) { if (results.value == rmt_commands[SPEED_UP]) { //Speed Up last_remote_cmd = results.value; - if (fx_speed + chng <= 65535) { - fx_speed = fx_speed + (chng * 5); - mode = SET; + if (segState.speed[State.segment] + chng <= 65535) { + segState.speed[State.segment] = segState.speed[State.segment] + chng; + State.mode = SET; } } if (results.value == rmt_commands[SPEED_DOWN]) { //Speed down last_remote_cmd = results.value; - if (fx_speed - chng >= 0) { - fx_speed = fx_speed - (chng * 5); - mode = SET; + if (segState.speed[State.segment] - chng >= 0) { + segState.speed[State.segment] = segState.speed[State.segment] - chng; + State.mode = SET; } } } - if ((fx_mode < 56) || (fx_mode > 60)) { + if ((segState.mode[State.segment] < FX_MODE_CUSTOM_0) || (segState.mode[State.segment] > FX_MODE_CUSTOM_4)) { if (results.value == rmt_commands[RED_UP]) { //Red Up last_remote_cmd = results.value; if (selected_color == 1) { if (main_color.red + chng <= 255) { main_color.red = main_color.red + chng; - mode = SET; + State.mode = SET; } } if (selected_color == 2) { if (back_color.red + chng <= 255) { back_color.red = back_color.red + chng; - mode = SET; + State.mode = SET; } } if (selected_color == 3) { if (xtra_color.red + chng <= 255) { xtra_color.red = xtra_color.red + chng; - mode = SET; + State.mode = SET; } } } @@ -1271,19 +1270,19 @@ void handleRemote() { if (selected_color == 1) { if (main_color.red - chng >= 0) { main_color.red = main_color.red - chng; - mode = SET; + State.mode = SET; } } if (selected_color == 2) { if (back_color.red - chng >= 0) { back_color.red = back_color.red - chng; - mode = SET; + State.mode = SET; } } if (selected_color == 3) { if (xtra_color.red - chng >= 0) { xtra_color.red = xtra_color.red - chng; - mode = SET; + State.mode = SET; } } } @@ -1292,19 +1291,19 @@ void handleRemote() { if (selected_color == 1) { if (main_color.green + chng <= 255) { main_color.green = main_color.green + chng; - mode = SET; + State.mode = SET; } } if (selected_color == 2) { if (back_color.green + chng <= 255) { back_color.green = back_color.green + chng; - mode = SET; + State.mode = SET; } } if (selected_color == 3) { if (xtra_color.green + chng <= 255) { xtra_color.green = xtra_color.green + chng; - mode = SET; + State.mode = SET; } } } @@ -1313,19 +1312,19 @@ void handleRemote() { if (selected_color == 1) { if (main_color.green - chng >= 0) { main_color.green = main_color.green - chng;; - mode = SET; + State.mode = SET; } } if (selected_color == 2) { if (back_color.green - chng >= 0) { back_color.green = back_color.green - chng; - mode = SET; + State.mode = SET; } } if (selected_color == 3) { if (xtra_color.green - chng >= 0) { xtra_color.green = xtra_color.green - chng; - mode = SET; + State.mode = SET; } } } @@ -1334,19 +1333,19 @@ void handleRemote() { if (selected_color == 1) { if (main_color.blue + chng <= 255) { main_color.blue = main_color.blue + chng; - mode = SET; + State.mode = SET; } } if (selected_color == 2) { if (back_color.blue + chng <= 255) { back_color.blue = back_color.blue + chng; - mode = SET; + State.mode = SET; } } if (selected_color == 3) { if (xtra_color.blue + chng <= 255) { xtra_color.blue = xtra_color.blue + chng; - mode = SET; + State.mode = SET; } } } @@ -1355,19 +1354,19 @@ void handleRemote() { if (selected_color == 1) { if (main_color.blue - chng >= 0) { main_color.blue = main_color.blue - chng; - mode = SET; + State.mode = SET; } } if (selected_color == 2) { if (back_color.blue - chng >= 0) { back_color.blue = back_color.blue - chng; - mode = SET; + State.mode = SET; } } if (selected_color == 3) { if (xtra_color.blue - chng >= 0) { xtra_color.blue = xtra_color.blue - chng; - mode = SET; + State.mode = SET; } } } @@ -1376,19 +1375,19 @@ void handleRemote() { if (selected_color == 1) { if (main_color.white + chng <= 255) { main_color.white = main_color.white + chng; - mode = SET; + State.mode = SET; } } if (selected_color == 2) { if (back_color.white + chng <= 255) { back_color.white = back_color.white + chng; - mode = SET; + State.mode = SET; } } if (selected_color == 3) { if (xtra_color.white + chng <= 255) { xtra_color.white = xtra_color.white + chng; - mode = SET; + State.mode = SET; } } } @@ -1397,19 +1396,19 @@ void handleRemote() { if (selected_color == 1) { if (main_color.white - chng >= 0) { main_color.white = main_color.white - chng; - mode = SET; + State.mode = SET; } } if (selected_color == 2) { if (back_color.white - chng >= 0) { back_color.white = back_color.white - chng; - mode = SET; + State.mode = SET; } } if (selected_color == 3) { if (xtra_color.white - chng >= 0) { xtra_color.white = xtra_color.white - chng; - mode = SET; + State.mode = SET; } } } @@ -1429,49 +1428,49 @@ void handleRemote() { } // end of if HOLD if (results.value == rmt_commands[MODE_UP]) { //Mode Up last_remote_cmd = results.value; - if ((fx_mode < strip->getModeCount()-1) && (mode == HOLD)) { - fx_mode = fx_mode + 1; + if ((segState.mode[State.segment] < strip->getModeCount()-1) && (State.mode == HOLD)) { + fx_mode = segState.mode[State.segment] + 1; } - mode = SET; + State.mode = SET; } if (results.value == rmt_commands[MODE_DOWN]) { //Mode down last_remote_cmd = results.value; - if ((fx_mode > 0) && (mode == HOLD)) { - fx_mode = fx_mode - 1; + if ((segState.mode[State.segment] > 0) && (State.mode == HOLD)) { + fx_mode = segState.mode[State.segment] - 1; } - mode = SET; + State.mode = SET; } if (results.value == rmt_commands[AUTOMODE]) { // Toggle Automode last_remote_cmd = 0; fx_mode = 56; - mode = SET; + State.mode = SET; } #if defined(CUSTOM_WS2812FX_ANIMATIONS) if (results.value == rmt_commands[CUST_1]) { // Select TV Mode last_remote_cmd = 0; fx_mode = 57; - mode = SET; + State.mode = SET; } #endif if (results.value == rmt_commands[CUST_2]) { // Select Custom Mode 2 last_remote_cmd = 0; fx_mode = 12; - mode = SET; + State.mode = SET; } if (results.value == rmt_commands[CUST_3]) { // Select Custom Mode 3 last_remote_cmd = 0; fx_mode = 48; - mode = SET; + State.mode = SET; } if (results.value == rmt_commands[CUST_4]) { // Select Custom Mode 4 last_remote_cmd = 0; fx_mode = 21; - mode = SET; + State.mode = SET; } if (results.value == rmt_commands[CUST_5]) { // Select Custom Mode 5 last_remote_cmd = 0; fx_mode = 46; - mode = SET; + State.mode = SET; } irrecv.resume(); // Receive the next value } diff --git a/Arduino/McLighting/rest_api.h b/Arduino/McLighting/rest_api.h index fd33fe4..db1352a 100644 --- a/Arduino/McLighting/rest_api.h +++ b/Arduino/McLighting/rest_api.h @@ -84,26 +84,26 @@ server.on("/format_spiffs", []() { server.on("/get_brightness", []() { char str_brightness[4]; - snprintf(str_brightness, sizeof(str_brightness), "%i", (int) (brightness / 2.55)); + snprintf(str_brightness, sizeof(str_brightness), "%i", (int) (State.brightness / 2.55)); str_brightness[sizeof(str_brightness) - 1] = 0x00; server.sendHeader("Access-Control-Allow-Origin", "*"); server.send(200, "text/plain", str_brightness ); - DBG_OUTPUT_PORT.printf("/get_brightness: %i\r\n", (int) (brightness / 2.55)); + DBG_OUTPUT_PORT.printf("/get_brightness: %i\r\n", (int) (State.brightness / 2.55)); }); server.on("/get_speed", []() { - char str_speed[6]; - snprintf(str_speed, sizeof(str_speed), "%i", fx_speed); + char str_speed[4]; + snprintf(str_speed, sizeof(str_speed), "%i", segState.speed[State.segment]); str_speed[sizeof(str_speed) - 1] = 0x00; server.sendHeader("Access-Control-Allow-Origin", "*"); server.send(200, "text/plain", str_speed ); - DBG_OUTPUT_PORT.printf("/get_speed: %i\r\n", fx_speed); + DBG_OUTPUT_PORT.printf("/get_speed: %i\r\n", segState.speed[State.segment]); }); server.on("/get_switch", []() { server.sendHeader("Access-Control-Allow-Origin", "*"); - server.send(200, "text/plain", (mode == OFF) ? "0" : "1" ); - DBG_OUTPUT_PORT.printf("/get_switch: %s\r\n", (mode == OFF) ? "0" : "1"); + server.send(200, "text/plain", (State.mode == OFF) ? "0" : "1" ); + DBG_OUTPUT_PORT.printf("/get_switch: %s\r\n", (State.mode == OFF) ? "0" : "1"); }); server.on("/get_color", []() { @@ -161,20 +161,25 @@ server.on("/config", []() { // ToDo do not save if no change bool _updateStrip = false; bool _updateConfig = false; - if(server.hasArg("seg")){ - uint8_t _ws_seg = server.arg("seg").toInt(); + bool _updateState = false; + if(server.hasArg("ws_seg")){ + uint8_t _ws_seg = server.arg("ws_seg").toInt(); _ws_seg = constrain(_ws_seg, 1, MAX_NUM_SEGMENTS - 1); - if (_ws_seg != num_segments){ - num_segments = _ws_seg; - _updateStrip = true; + if (_ws_seg != Config.segments){ + Config.segments = _ws_seg; + _updateStrip = true; + if (State.segment >= Config.segments) { + State.segment = Config.segments - 1; + _updateState = true; + } } } if(server.hasArg("ws_cnt")){ uint16_t _stripSize = server.arg("ws_cnt").toInt(); if (_stripSize > 0) { _stripSize = constrain(_stripSize, 1, MAXLEDS); - if (_stripSize != FXSettings.stripSize) { - FXSettings.stripSize = _stripSize; + if (_stripSize != Config.stripSize) { + Config.stripSize = _stripSize; _updateStrip = true; } } @@ -192,7 +197,7 @@ server.on("/config", []() { if (checkPin(server.arg("ws_pin").toInt())) { _updateStrip = true; DBG_OUTPUT_PORT.print("Pin was set to: "); - DBG_OUTPUT_PORT.println(FXSettings.pin); + DBG_OUTPUT_PORT.println(Config.pin); } else { DBG_OUTPUT_PORT.println("invalid input or same value!"); } @@ -254,80 +259,87 @@ server.on("/config", []() { #endif if(server.hasArg("trans_effect")){ - FXSettings.transEffect = server.arg("trans_effect").toInt(); + Config.transEffect = server.arg("trans_effect").toInt(); _updateConfig = true; } #if defined(ENABLE_STATE_SAVE) if (_updateStrip || _updateConfig) { + DBG_OUTPUT_PORT.println("Saving config.json!"); if(!save_conf.active()) save_conf.once(3, tickerSaveConfig); } + if (_updateState) { + DBG_OUTPUT_PORT.println("Saving stripstate.json!"); + if(!save_state.active()) save_state.once(3, tickerSaveState); + } #endif _updateStrip = false; _updateConfig = false; + _updateState = false; getConfigJSON(); }); server.on("/off", []() { - if (prevmode != OFF) { - mode = OFF; - getStateJSON(); - #if defined(ENABLE_STATE_SAVE) - if(!save_state.active()) save_state.once(3, tickerSaveState); - #endif - } + if (State.mode == OFF) { State.mode = SET; } else { State.mode = OFF; }; + getStateJSON(); + #if defined(ENABLE_STATE_SAVE) + DBG_OUTPUT_PORT.println("Saving stripstate.json!"); + if(!save_state.active()) save_state.once(3, tickerSaveState); + #endif }); server.on("/on", []() { if (prevmode == OFF) { - mode = SET; + State.mode = SET; getStateJSON(); #if defined(ENABLE_STATE_SAVE) + DBG_OUTPUT_PORT.println("Saving stripstate.json!"); if(!save_state.active()) save_state.once(3, tickerSaveState); #endif + } else { + getStateJSON(); } }); server.on("/set", []() { prevmode = HOLD; - fx_mode = FX_MODE_STATIC; boolean _updateState = false; boolean _updateSegState = false; // Segment if ((server.arg("seg") != "") && (server.arg("seg").toInt() >= 0) && (server.arg("seg").toInt() <= MAX_NUM_SEGMENTS)) { - FXSettings.segment = server.arg("seg").toInt(); - if (prevsegment != FXSettings.segment) { - prevsegment = FXSettings.segment; - getSegmentParams(FXSettings.segment); - memcpy(hex_colors_trans, hex_colors, sizeof(hex_colors_trans)); - mode = SET; + State.segment = server.arg("seg").toInt(); + if (prevsegment != State.segment) { + prevsegment = State.segment; + getSegmentParams(State.segment); + memcpy(hexcolors_trans, segState.colors[State.segment], sizeof(hexcolors_trans)); + State.mode = SET; _updateState = true; } } - if ((server.arg("start") != "") && (server.arg("start").toInt() >= 0) && (server.arg("start").toInt() <= MAX_NUM_SEGMENTS)) { + if ((server.arg("start") != "") && (server.arg("start").toInt() >= 0) && (server.arg("start").toInt() <= segState.stop)) { uint16_t _seg_start = server.arg("start").toInt(); - _seg_start = constrain(seg_start, 0, FXSettings.stripSize -1); - if (_seg_start != seg_start) { - seg_start = _seg_start; + _seg_start = constrain(segState.start, 0, Config.stripSize -1); + if (_seg_start != segState.start) { + segState.start = _seg_start; setSegmentSize(); _updateSegState = true; } } - if ((server.arg("stop") != "") && (server.arg("stop").toInt() >= 0) && (server.arg("stop").toInt() <= MAX_NUM_SEGMENTS)) { + if ((server.arg("stop") != "") && (server.arg("stop").toInt() >= segState.start) && (server.arg("stop").toInt() <= Config.stripSize)) { uint16_t _seg_stop = server.arg("stop").toInt(); - _seg_stop = constrain(_seg_stop, seg_start, FXSettings.stripSize - 1); - if (_seg_stop != seg_stop) { - seg_stop = _seg_stop; + _seg_stop = constrain(_seg_stop, segState.start, Config.stripSize - 1); + if (_seg_stop != segState.stop) { + segState.stop = _seg_stop; setSegmentSize(); _updateSegState = true; } } if(server.hasArg("fxopt")){ - uint8_t _ws_fxopt = ((constrain(server.arg("fxopt").toInt(), 0, 255)>>1)<<1); - if (_ws_fxopt != fx_options) { - fx_options = _ws_fxopt; - strip->setOptions(FXSettings.segment, fx_options); + uint8_t _fx_options = ((constrain(server.arg("fxopt").toInt(), 0, 255)>>1)<<1); + if (_fx_options != segState.options) { + segState.options = _fx_options; + strip->setOptions(State.segment, segState.options); _updateSegState = true; } } @@ -407,28 +419,28 @@ server.on("/set", []() { // Speed - if ((server.arg("s") != "") && (server.arg("s").toInt() >= 0) && (server.arg("s").toInt() <= 65535)) { - fx_speed = constrain(server.arg("s").toInt(), SPEED_MIN, SPEED_MAX); - mode = SET; + if ((server.arg("s") != "") && (server.arg("s").toInt() >= 0) && (server.arg("s").toInt() <= 255)) { + segState.speed[State.segment] = constrain(server.arg("s").toInt(), 0, 255); + State.mode = SET; _updateSegState = true; } //Mode if ((server.arg("m") != "") && (server.arg("m").toInt() >= 0) && (server.arg("m").toInt() <= strip->getModeCount())) { fx_mode = constrain(server.arg("m").toInt(), 0, strip->getModeCount() - 1); - if (fx_mode != strip->getMode(FXSettings.segment)) { - mode = SET; + if (fx_mode != segState.mode[State.segment]) { + State.mode = SET; _updateSegState = true; } } // Brightness if ((server.arg("c") != "") && (server.arg("c").toInt() >= 0) && (server.arg("c").toInt() <= 100)) { - brightness = constrain((int) server.arg("c").toInt() * 2.55, 0, 255); + State.brightness = constrain((int) server.arg("c").toInt() * 2.55, 0, 255); } else if ((server.arg("p") != "") && (server.arg("p").toInt() >= 0) && (server.arg("p").toInt() <= 255)) { - brightness = constrain(server.arg("p").toInt(), 0, 255); + State.brightness = constrain(server.arg("p").toInt(), 0, 255); } - if (strip->getBrightness() != brightness) { - mode = SET; + if (strip->getBrightness() != State.brightness) { + State.mode = SET; _updateState = true; } DBG_OUTPUT_PORT.printf("Get Args: %s\r\n", listStateJSONfull()); diff --git a/Arduino/McLighting/version.h b/Arduino/McLighting/version.h index 75c5dc1..ed730ee 100644 --- a/Arduino/McLighting/version.h +++ b/Arduino/McLighting/version.h @@ -1 +1 @@ -#define SKETCH_VERSION "3.1.0.ALPHA2" +#define SKETCH_VERSION "3.1.0.BETA1" diff --git a/Arduino/McLighting/version_info.ino b/Arduino/McLighting/version_info.ino index cc4eca4..30905f8 100644 --- a/Arduino/McLighting/version_info.ino +++ b/Arduino/McLighting/version_info.ino @@ -195,10 +195,18 @@ * removal of saving to EEPROM * first integration of multi segments * - * * 3 October 2019 + * 3 October 2019 * Version Bump to 3.1.0.ALPHA2 * further code changes * further integration of multi segments * integration of multi segments to GUI * + * 5 October 2019 + * Version Bump to 3.1.0.ALPHA2 + * further code changes + * further integration of multi segments + * known problem: as always: AUTOPLAY (as it is not multi segment capable yet) + * + * Version Bump to 3.1.0.BETA1 + * bugfixes */ diff --git a/clients/web/edit.htm b/clients/web/edit.htm index c8e8727..728b705 100644 --- a/clients/web/edit.htm +++ b/clients/web/edit.htm @@ -182,7 +182,9 @@ var mkfile = document.createElement("button"); mkfile.innerHTML = 'MkFile'; document.getElementById(element).appendChild(mkfile); - + var para = document.createElement("text"); + para.innerHTML = " Press Ctrl-S for save, Ctrl-Z for undo, Ctrl-Shift-Z for redo"; + document.getElementById(element).appendChild(para); function httpPostProcessRequest(){ if (xmlHttp.readyState == 4){ if(xmlHttp.status != 200) alert("ERROR["+xmlHttp.status+"]: "+xmlHttp.responseText); diff --git a/clients/web/edit.htm.gz b/clients/web/edit.htm.gz index 9466db2..03cc700 100644 Binary files a/clients/web/edit.htm.gz and b/clients/web/edit.htm.gz differ diff --git a/clients/web/index.htm b/clients/web/index.htm index 647bb87..15dee02 100644 --- a/clients/web/index.htm +++ b/clients/web/index.htm @@ -877,7 +877,7 @@ input[type=number], label{
-
+
+
+
+

selectSeg

+ +
+
+
-

selectCount

- +

selectSegCnt

+
-

selectRGBO

+

selectCount

+ +
+

selectRGBO

-

selectPin

- +

selectPin

+ +
+
+
+

segStart

+ +
+

segStop

+
@@ -1030,6 +1048,7 @@ var language = { connectError2: " times. Please use the RECONNECT button to try again.", loadModes: "Loading modes ...", // This language-string is not translated (settings not loaded yet) loadSettings: "Loading settings ...", // This language-string is not translated (settings not loaded yet) + loadConfig: "Loading configuration ...", loadWebsock: "Connecting websockets ...", loadReady: "Ready ...", loadError: "Error loading animation modes, please try again...", // This language-string is not translated (settings not loaded yet) @@ -1043,6 +1062,9 @@ var language = { white: "White", not_greater: "cannot enter numbers greater than 255", not_less: "cannot enter numbers less than 0", + selectSeg: "Select segment", + segStart: "First LED of selected segment", + segStop: "Last LED of selected segment", wsMessage: "Websocket Message:", selectLanguage: "Select Language:", selectHostname: "Hostname:", @@ -1050,6 +1072,7 @@ var language = { selectMQTTPort: "and Port:", selectMQTTUser: "MQTT Username:", selectMQTTPass: "MQTT Password:", + selectSegCnt: "Number of Segments:", selectCount: "Strip LED Count:", selectRGBO: "RGB Order:", selectPin: "Strip GPIO Pin:", @@ -1086,6 +1109,7 @@ var language = { connectError2: " keer geprobeerd. Gebruik de Verbind opnieuw knop om opnieuw te proberen.", loadModes: "Modes laden...", // This language-string is not translated (settings not loaded yet) loadSettings: "Instellingen laden...", // This language-string is not translated (settings not loaded yet) + loadConfig: "Configuratie laden ...", loadWebsock: "Websockets verbinden...", loadReady: "Klaar...", loadError: "Fout bij laden van animatie modes, probeer opnieuw...", // This language-string is not translated (settings not loaded yet) @@ -1099,6 +1123,9 @@ var language = { white: "Wit", not_greater: "Geen nummers hoger dan 255", not_less: "Geen nummers lager dan 0", + selectSeg: "Selecteer segment", + segStart: "Eerste LED van huidige segmenten", + segStop: "Laatste LED van huidige segmenten", wsMessage: "Websocket message:", selectLanguage: "Selecteer Taal:", selectHostname: "Hostname:", @@ -1106,6 +1133,7 @@ var language = { selectMQTTPort: "en Port:", selectMQTTUser: "MQTT gebruikersnaam:", selectMQTTPass: "MQTT wachtwoord:", + selectSegCnt: "Number of Segments:", selectCount: "LED nummer:", selectPin: "Strip GPIO Pin:", selectRGBO: "RGB Order:", @@ -1142,6 +1170,7 @@ var language = { connectError2: " mal versucht. Benutze WIEDER VERBINDEN, um es nochmal zu probieren.", loadModes: "Lade Modi ...", // This language-string is not translated (settings not loaded yet) loadSettings: "Lade Einstellungen ...", // This language-string is not translated (settings not loaded yet) + loadConfig: "Lade Konfiguration ...", loadWebsock: "Verbinde Websockets ...", loadReady: "Fertig ...", loadError: "Fehler beim Laden der Animations-Modi, bitte nochmal versuchen...", // This language-string is not translated (settings not loaded yet) @@ -1155,6 +1184,9 @@ var language = { white: "Weiß", not_greater: "Akzeptiere keine Nummern größer 255", not_less: "Akzeptiere keine Nummern kleiner 0", + selectSeg: "Segment wählen", + segStart: "Erste LED des gewählten Segments", + segStop: "Letzte LED des gewählten Segments", wsMessage: "Websocket Message:", selectLanguage: "Sprache auswählen:", selectHostname: "Hostname:", @@ -1162,6 +1194,7 @@ var language = { selectMQTTPort: "und Port:", selectMQTTUser: "MQTT Username:", selectMQTTPass: "MQTT Password:", + selectSegCnt: "Anzahl Segmente:", selectCount: "Strip LED Anzahl:", selectRGBO: "RGB Reihenfolge:", selectPin: "Strip GPIO Pin:", @@ -1281,19 +1314,31 @@ var config = { mqtt_port: 0, mqtt_user: "", mqtt_pass: "", + ws_seg: 1, ws_cnt: 0, ws_rgbo: "", ws_pin: 0, - ws_fxopt: 0, - enable_rgbw: false, - transitionEffects: true + ws_trans: false, + enable_rgbw: false }; -var data = { +var state = { mode: 0, + segment: 0, + brightness: 0 +} + +var segstate = { + start: 0, + stop: 0, + mode: null, + speed: 0, color: {w:0, r:0, g:0, b:0, hex:"00000000", w2:0, r2:0, g2:0, b2:0, hex2:"00000000", w3:0, r3:0, g3:0, b3:0, hex3:"00000000"}, - brightness: 192, - speed: 192, - ws2812fx_mode: null, + ws_fxopt: 0 +} + + +var data = { + init: true, color_num: 1, modes: [], connection: null, @@ -1301,7 +1346,6 @@ var data = { num_additional_connections: 0, is_connected: false, refresh_interval: 0, - init: true, color_disabled: false }; var sendIt; // Timer to prevent lots of sending @@ -1331,17 +1375,17 @@ function displayColors(all = false) { clearTimeout(sendIt); sendIt = setTimeout(function() { set_color(); }, 50); } else { - document.getElementById("colorSel1").style.backgroundColor = `rgb(${data.color.r}, ${data.color.g}, ${data.color.b})`; - document.getElementById("colorHex1").innerHTML = "#" + data.color.hex; - document.getElementById("colorSel2").style.backgroundColor = `rgb(${data.color.r2}, ${data.color.g2}, ${data.color.b2})`; - document.getElementById("colorHex2").innerHTML = "#" + data.color.hex2; - document.getElementById("colorSel3").style.backgroundColor = `rgb(${data.color.r3}, ${data.color.g3}, ${data.color.b3})`; - document.getElementById("colorHex3").innerHTML = "#" + data.color.hex3; + document.getElementById("colorSel1").style.backgroundColor = `rgb(${segstate.color.r}, ${segstate.color.g}, ${segstate.color.b})`; + document.getElementById("colorHex1").innerHTML = "#" + segstate.color.hex; + document.getElementById("colorSel2").style.backgroundColor = `rgb(${segstate.color.r2}, ${segstate.color.g2}, ${segstate.color.b2})`; + document.getElementById("colorHex2").innerHTML = "#" + segstate.color.hex2; + document.getElementById("colorSel3").style.backgroundColor = `rgb(${segstate.color.r3}, ${segstate.color.g3}, ${segstate.color.b3})`; + document.getElementById("colorHex3").innerHTML = "#" + segstate.color.hex3; } } // initial color val numbers when DOM is loaded -function colorNumrVals(){ +function colorNumVals(){ redNumVal.value = red.value; greenNumVal.value = green.value; blueNumVal.value = blue.value; @@ -1377,44 +1421,44 @@ function initSliderColors(){ function changeRangeNumVal(){ redNumVal.addEventListener('change', ()=>{ // make sure numbers are entered between 0 to 255 - red.value = checkNumVal(redNumVal, red.value); - if (data.color_num === 1) data.color.r = red.value; - if (data.color_num === 2) data.color.r2 = red.value; - if (data.color_num === 3) data.color.r3 = red.value; + red.value = checkNumVal8(redNumVal, red.value); + if (data.color_num === 1) segstate.color.r = red.value; + if (data.color_num === 2) segstate.color.r2 = red.value; + if (data.color_num === 3) segstate.color.r3 = red.value; initSliderColors(); displayColors(); }); greenNumVal.addEventListener('change', ()=>{ // make sure numbers are entered between 0 to 255 - green.value = checkNumVal(greenNumVal, green.value); - if (data.color_num === 1) data.color.g = green.value; - if (data.color_num === 2) data.color.g2 = green.value; - if (data.color_num === 3) data.color.g3 = green.value; + green.value = checkNumVal8(greenNumVal, green.value); + if (data.color_num === 1) segstate.color.g = green.value; + if (data.color_num === 2) segstate.color.g2 = green.value; + if (data.color_num === 3) segstate.color.g3 = green.value; initSliderColors(); displayColors(); }); blueNumVal.addEventListener('change', ()=>{ // make sure numbers are entered between 0 to 255 - blue.value = checkNumVal(blueNumVal, blue.value); - if (data.color_num === 1) data.color.b = blue.value; - if (data.color_num === 2) data.color.b2 = blue.value; - if (data.color_num === 3) data.color.b3 = blue.value; + blue.value = checkNumVal8(blueNumVal, blue.value); + if (data.color_num === 1) segstate.color.b = blue.value; + if (data.color_num === 2) segstate.color.b2 = blue.value; + if (data.color_num === 3) segstate.color.b3 = blue.value; initSliderColors(); displayColors(); }); whiteNumVal.addEventListener('change', ()=>{ // make sure numbers are entered between 0 to 255 - white.value = checkNumVal(whiteNumVal, white.value); - if (data.color_num === 1) data.color.w = white.value; - if (data.color_num === 2) data.color.w2 = white.value; - if (data.color_num === 3) data.color.w3 = white.value; + white.value = checkNumVal8(whiteNumVal, white.value); + if (data.color_num === 1) segstate.color.w = white.value; + if (data.color_num === 2) segstate.color.w2 = white.value; + if (data.color_num === 3) segstate.color.w3 = white.value; initSliderColors(); displayColors(); }); brightNumVal.addEventListener('change', ()=>{ // make sure numbers are entered between 0 to 255 - bright.value = checkNumVal(brightNumVal, bright.value); - data.brightness = bright.value; + bright.value = checkNumVal8(brightNumVal, bright.value); + state.brightness = bright.value; initSliderColors(); // Send Brightness clearTimeout(sendIt); @@ -1422,14 +1466,14 @@ function changeRangeNumVal(){ }); speedNumVal.addEventListener('change', ()=>{ // make sure numbers are entered between 0 to 255 - speed.value = checkNumVal(speedNumVal, speed.value); - data.speed = speed.value; + speed.value = checkNumVal8(speedNumVal, speed.value); + segstate.speed = speed.value; // Send Speed clearTimeout(sendIt); sendIt = setTimeout(function() { set_speed(); }, 50); }); } -function checkNumVal(numVal, curVal) { +function checkNumVal8(numVal, curVal) { if(numVal.value > 255) { alert(language[settings.lang]["not_greater"]); numVal.value = curVal; @@ -1440,6 +1484,17 @@ function checkNumVal(numVal, curVal) { return numVal.value; } +function checkNumVal16(numVal, curVal) { + if(numVal.value > 65535) { + alert(language[settings.lang]["not_greater"]); + numVal.value = curVal; + } else if(numVal.value < 0) { + alert(language[settings.lang]["not_less"]); + numVal.value = curVal; + } + return numVal.value; +} + // Color Sliders controls function initcolorSliders(){ var event = new Event('change'); @@ -1447,7 +1502,7 @@ function initcolorSliders(){ displayColors(); initSliderColors(); changeRangeNumVal(); - colorNumrVals(); + colorNumVals(); // Trigger onChange event to send value redNumVal.dispatchEvent(event); }); @@ -1456,7 +1511,7 @@ function initcolorSliders(){ displayColors(); initSliderColors(); changeRangeNumVal(); - colorNumrVals(); + colorNumVals(); // Trigger onChange event to send value greenNumVal.dispatchEvent(event); }); @@ -1465,7 +1520,7 @@ function initcolorSliders(){ displayColors(); initSliderColors(); changeRangeNumVal(); - colorNumrVals(); + colorNumVals(); // Trigger onChange event to send value blueNumVal.dispatchEvent(event); }); @@ -1474,7 +1529,7 @@ function initcolorSliders(){ displayColors(); initSliderColors(); changeRangeNumVal(); - colorNumrVals(); + colorNumVals(); // Trigger onChange event to send value whiteNumVal.dispatchEvent(event); }); @@ -1482,14 +1537,14 @@ function initcolorSliders(){ bright.addEventListener('input', () => { initSliderColors(); changeRangeNumVal(); - colorNumrVals(); + colorNumVals(); // Trigger onChange event to send value brightNumVal.dispatchEvent(event); }); speed.addEventListener('input', () => { changeRangeNumVal(); - colorNumrVals(); + colorNumVals(); // Trigger onChange event to send value speedNumVal.dispatchEvent(event); }); @@ -1518,8 +1573,11 @@ function xhttp(url, post, callback) { xhr.send(post); } function getModes() { + document.getElementById("percentage").innerHTML = "0%"; + document.getElementById("percentage-done").setAttribute("stroke-dasharray", "0,100"); + document.getElementById("modal-content").innerHTML = language.en.loadModes; xhttp("http://" + host + "/get_modes", false, function(e) { - //console.log("Getting modes list via REST:", e); + console.log("Getting modes list via REST:", e); if (e && e.substring(0,6) !== "ERROR!") { modes = JSON.parse(e); if (typeof modes[0] !== "undefined") { @@ -1538,6 +1596,9 @@ function getModes() { } function getConfig() { + document.getElementById("percentage").innerHTML = "75%"; + document.getElementById("percentage-done").setAttribute("stroke-dasharray", "75,100"); + document.getElementById("modal-content").innerHTML = language.en.loadConfig; xhttp("http://" + host + "/config", false, function(e) { console.log("Getting config via REST:", e); if (e && e.substring(0,6) !== "ERROR!") { @@ -1548,14 +1609,14 @@ function getConfig() { if (typeof res.mqtt_port !== "undefined") config.mqtt_port = res.mqtt_port; if (typeof res.mqtt_user !== "undefined") config.mqtt_user = res.mqtt_user; if (typeof res.mqtt_pass !== "undefined") config.mqtt_pass = res.mqtt_pass; + if (typeof res.ws_seg !== "undefined") config.ws_seg = res.ws_seg; if (typeof res.ws_cnt !== "undefined") config.ws_cnt = res.ws_cnt; if (typeof res.ws_rgbo !== "undefined") { config.ws_rgbo = res.ws_rgbo; config.enable_rgbw = config.ws_rgbo.includes("W"); } if (typeof res.ws_pin !== "undefined") config.ws_pin = res.ws_pin; - if (typeof res.ws_fxopt !== "undefined") config.ws_fxopt = res.ws_fxopt; - if (typeof res.transEffect !== "undefined") config.transitionEffects = res.transEffect; + if (typeof res.ws_trans !== "undefined") config.ws_trans = res.ws_trans; } } else { console.error(e); @@ -1567,9 +1628,9 @@ function getConfig() { } else { document.getElementById("white").parentNode.className = "hidden"; white.value = 0; - data.color.w = 0; - data.color.w2 = 0; - data.color.w3 = 0; + segstate.color.w = 0; + segstate.color.w2 = 0; + segstate.color.w3 = 0; } }); } @@ -1600,11 +1661,11 @@ function showModes(mode, index) { document.getElementById("modes").appendChild(div); } function readSettings() { - document.getElementById("percentage").innerHTML = "33%"; - document.getElementById("percentage-done").setAttribute("stroke-dasharray", "33,100"); + document.getElementById("percentage").innerHTML = "25%"; + document.getElementById("percentage-done").setAttribute("stroke-dasharray", "25,100"); document.getElementById("modal-content").innerHTML = language.en.loadSettings; xhttp("http://" + host + "/uistate.json", false, function(e) { - //console.log("readSettings()", e); + console.log("Read Settings: ", e); tmpsettings = (e && e.substring(0,6) !== "ERROR!") ? JSON.parse(e) : {}; // Replace default settings with saved ones for (var set in settings) { @@ -1612,8 +1673,12 @@ function readSettings() { if (typeof(tmpsettings[set]) !== "undefined") settings[set] = tmpsettings[set]; } applySettings(); - if (e && e.substring(0,6) !== "ERROR!") connectAdditionalNodes(); - else console.warn("ERROR loading settings", e); + if (e && e.substring(0,6) !== "ERROR!") { + connectAdditionalNodes(); + } else { + console.warn("ERROR loading settings", e); + saveSettings(); + } }); } function applySettings() { @@ -1678,13 +1743,13 @@ function onSelectColNum(colnum) { x = document.getElementById("colorSel" + colnum); x.className = x.className.replace(/\belevation-3\b/g, "elevation-9"); // Set ColorPicker and Sliders to selected color - red.value = data.color["r" + (colnum > 1 ? colnum : "")]; - green.value = data.color["g" + (colnum > 1 ? colnum : "")]; - blue.value = data.color["b" + (colnum > 1 ? colnum : "")]; - white.value = data.color["w" + (colnum > 1 ? colnum : "")]; + red.value = segstate.color["r" + (colnum > 1 ? colnum : "")]; + green.value = segstate.color["g" + (colnum > 1 ? colnum : "")]; + blue.value = segstate.color["b" + (colnum > 1 ? colnum : "")]; + white.value = segstate.color["w" + (colnum > 1 ? colnum : "")]; initSliderColors(); changeRangeNumVal(); - colorNumrVals(); + colorNumVals(); } function initSettings() { // Add languages to language select @@ -1736,11 +1801,33 @@ function initSettings() { config.mqtt_pass = mqtt_pass.value; ws_send("Cmw" + config.mqtt_pass); }); - var count = document.getElementById("selectcount"); - count.value = config.ws_cnt; - count.addEventListener('change', ()=>{ - config.ws_cnt = count.value; - ws_send("Csc" + config.ws_cnt); + var selsegment = document.getElementById("selectseg"); + for(var i = 0; i < config.ws_seg; i++) { + var option = document.createElement("OPTION"); + option.setAttribute("value", i); + option.innerHTML = i; + selsegment.appendChild(option); + } + selsegment.value = state.segment; + selsegment.addEventListener('change', ()=>{ + state.segment = selsegment.value; + ws_send("Ss" + state.segment); + }); + var num_segments = document.getElementById("selectsegcnt"); + num_segments.value = config.ws_seg; + num_segments.addEventListener('change', ()=>{ + config.ws_seg = num_segments.value; + ws_send("Css" + config.ws_seg); + while (selsegment.firstChild) { + selsegment.removeChild(selsegment.firstChild); + } + for(var i = 0; i < config.ws_seg; i++) { + var option = document.createElement("OPTION"); + option.setAttribute("value", i); + option.innerHTML = i; + selsegment.appendChild(option); + } + selsegment.value = state.segment; }); var pin = document.getElementById("selectpin"); pin.value = config.ws_pin; @@ -1760,6 +1847,28 @@ function initSettings() { config.ws_rgbo = rgbo.value; ws_send("Csr" + config.ws_rgbo); }); + var start = document.getElementById("segstart"); + start.setAttribute("max",config.ws_cnt-1); + start.value = segstate.start; + start.addEventListener('change', ()=>{ + segstate.start = start.value; + ws_send("S[" + segstate.start); + }); + var stop = document.getElementById("segstop"); + stop.setAttribute("max",config.ws_cnt-1); + stop.value = segstate.stop; + stop.addEventListener('change', ()=>{ + segstate.stop = stop.value; + ws_send("S]" + segstate.stop); + }); + var count = document.getElementById("selectcount"); + count.value = config.ws_cnt; + count.addEventListener('change', ()=>{ + config.ws_cnt = count.value; + ws_send("Csc" + config.ws_cnt); + start.setAttribute("max",config.ws_cnt-1); + stop.setAttribute("max",config.ws_cnt-1); + }); var optrev = document.getElementById("selectoptrev"); for (var code in selectoptrev) { var option = document.createElement("OPTION"); @@ -1767,10 +1876,10 @@ function initSettings() { option.innerHTML = selectoptrev[code]; optrev.appendChild(option); } - optrev.value = (config.ws_fxopt & 128); + optrev.value = (segstate.ws_fxopt & 128); optrev.addEventListener('change', ()=>{ - config.ws_fxopt = optrev.value | optfade.value | optgamma.value | optsize.value; - ws_send("Cso" + config.ws_fxopt); + segstate.ws_fxopt = optrev.value | optfade.value | optgamma.value | optsize.value; + ws_send("So" + segstate.ws_fxopt); }); var optfade = document.getElementById("selectoptfade"); for (var code in selectoptfade) { @@ -1779,10 +1888,10 @@ function initSettings() { option.innerHTML = selectoptfade[code]; optfade.appendChild(option); } - optfade.value = (config.ws_fxopt & 112); + optfade.value = (segstate.ws_fxopt & 112); optfade.addEventListener('change', ()=>{ - config.ws_fxopt = optrev.value | optfade.value | optgamma.value | optsize.value; - ws_send("Cso" + config.ws_fxopt); + segstate.ws_fxopt = optrev.value | optfade.value | optgamma.value | optsize.value; + ws_send("So" + segstate.ws_fxopt); }); var optgamma = document.getElementById("selectoptgamma"); for (var code in selectoptgamma) { @@ -1791,10 +1900,10 @@ function initSettings() { option.innerHTML = selectoptgamma[code]; optgamma.appendChild(option); } - optgamma.value = (config.ws_fxopt & 8); + optgamma.value = (segstate.ws_fxopt & 8); optgamma.addEventListener('change', ()=>{ - config.ws_fxopt = optrev.value | optfade.value | optgamma.value | optsize.value; - ws_send("Cso" + config.ws_fxopt); + segstate.ws_fxopt = optrev.value | optfade.value | optgamma.value | optsize.value; + ws_send("So" + segstate.ws_fxopt); }); var optsize = document.getElementById("selectoptsize"); for (var code in selectoptsize) { @@ -1803,10 +1912,10 @@ function initSettings() { option.innerHTML = selectoptsize[code]; optsize.appendChild(option); } - optsize.value = (config.ws_fxopt & 6) + optsize.value = (segstate.ws_fxopt & 6) optsize.addEventListener('change', ()=>{ - config.ws_fxopt = optrev.value | optfade.value | optgamma.value | optsize.value; - ws_send("Cso" + config.ws_fxopt); + segstate.ws_fxopt = optrev.value | optfade.value | optgamma.value | optsize.value; + ws_send("So" + segstate.ws_fxopt); }); slavenodes.value = settings.slave_nodes; lang.addEventListener('change', ()=>{ @@ -1855,6 +1964,7 @@ function initSettings() { settings.theme_back = colback.value; document.getElementById("container").style.backgroundColor = settings.theme_back; document.getElementById("language").style.backgroundColor = settings.theme_back; + document.getElementById("selectseg").style.backgroundColor = settings.theme_back; document.getElementById("selectrgbo").style.backgroundColor = settings.theme_back; document.getElementById("selectoptrev").style.backgroundColor = settings.theme_back; document.getElementById("selectoptfade").style.backgroundColor = settings.theme_back; @@ -1867,6 +1977,7 @@ function initSettings() { for (var i = 0; i < icons.length; i++) { icons[i].style.color = (yiq >= 125) ? '#222' : '#EEE'; } + document.getElementById("selectSegLbl").style.color = (yiq >= 125) ? '#111' : '#EEE'; document.getElementById("wsmessageLbl").style.color = (yiq >= 125) ? '#111' : '#EEE'; document.getElementById("redNum").style.color = (yiq >= 125) ? '#111' : '#EEE'; document.getElementById("greenNum").style.color = (yiq >= 125) ? '#111' : '#EEE'; @@ -2018,8 +2129,8 @@ function ws_reconnect() { function ws_connect() { data.connection = new ReconnectingWebSocket(ws_url, "arduino", ws_options); - document.getElementById("percentage").innerHTML = "67%"; - document.getElementById("percentage-done").setAttribute("stroke-dasharray", "67,100"); + document.getElementById("percentage").innerHTML = "75%"; + document.getElementById("percentage-done").setAttribute("stroke-dasharray", "75,100"); document.getElementById("modal-content").innerHTML = language[settings.lang].loadWebsock; // When the connection is open, send some data to the server @@ -2031,12 +2142,12 @@ function ws_connect() { con.className = "hidden"; con = document.getElementById("connected"); con.className = con.className = ""; - document.getElementById("percentage").innerHTML = "100%"; - document.getElementById("percentage-done").setAttribute("stroke-dasharray", "100,100"); - document.getElementById("modal-content").innerHTML = language[settings.lang].loadReady; //setTimeout(function() { ws_send("$"); }, 2000); //setTimeout(function() { ws_send("C"); }, 3000); //setTimeout(function() { ws_send("~"); }, 4000); + document.getElementById("percentage").innerHTML = "100%"; + document.getElementById("percentage-done").setAttribute("stroke-dasharray", "100,100"); + document.getElementById("modal-content").innerHTML = language[settings.lang].loadReady; }; // When the connection is open, send some data to the server @@ -2069,53 +2180,56 @@ function ws_connect() { // document.getElementById('modal').style.display = "none"; // console.log("res", res); if (res) { - // Status starts here - if (typeof res.mode !== "undefined") data.mode = res.mode; - if (typeof res.ws2812fx_mode !== "undefined") data.ws2812fx_mode = res.ws2812fx_mode; - if (typeof res.speed !== "undefined") { - data.speed = res.speed; - // init SliderVals - speed.value = res.speed; - } + if (typeof res.segment !== "undefined") { state.segment= res.segment; document.getElementById("selectseg").value = state.segment; } + if (typeof res.mode !== "undefined") { state.mode = res.mode; } if (typeof res.brightness !== "undefined") { - data.brightness = res.brightness; + state.brightness = res.brightness; // init ColorSliderVals bright.value = res.brightness; } + // Segment Status starts here + if (typeof res.start !== "undefined") { segstate.start= res.start; document.getElementById("segstart").value = segstate.start; } + if (typeof res.stop !== "undefined") { segstate.stop = res.stop; document.getElementById("segstop").value = segstate.stop; } + if (typeof res.fx_mode !== "undefined") { segstate.mode = res.fx_mode; } + if (typeof res.speed !== "undefined") { + segstate.speed = res.speed; + // init SliderVals + speed.value = res.speed; + } if (typeof res.color !== "undefined") { - data.color.w = res.color[0]; - data.color.r = res.color[1]; - data.color.g = res.color[2]; - data.color.b = res.color[3]; - data.color.hex = rgbToHex([res.color[0], res.color[1], res.color[2], res.color[3]]); - data.color.w2 = res.color[4]; - data.color.r2 = res.color[5]; - data.color.g2 = res.color[6]; - data.color.b2 = res.color[7]; - data.color.hex2 = rgbToHex([res.color[4], res.color[5], res.color[6], res.color[7]]); - data.color.w3 = res.color[8]; - data.color.r3 = res.color[9]; - data.color.g3 = res.color[10]; - data.color.b3 = res.color[11]; - data.color.hex3 = rgbToHex([res.color[8], res.color[9], res.color[10], res.color[11]]); + segstate.color.w = res.color[0]; + segstate.color.r = res.color[1]; + segstate.color.g = res.color[2]; + segstate.color.b = res.color[3]; + segstate.color.hex = rgbToHex([res.color[0], res.color[1], res.color[2], res.color[3]]); + segstate.color.w2 = res.color[4]; + segstate.color.r2 = res.color[5]; + segstate.color.g2 = res.color[6]; + segstate.color.b2 = res.color[7]; + segstate.color.hex2 = rgbToHex([res.color[4], res.color[5], res.color[6], res.color[7]]); + segstate.color.w3 = res.color[8]; + segstate.color.r3 = res.color[9]; + segstate.color.g3 = res.color[10]; + segstate.color.b3 = res.color[11]; + segstate.color.hex3 = rgbToHex([res.color[8], res.color[9], res.color[10], res.color[11]]); // init ColorSliderVals if (data.color_num === 1) { - red.value = data.color.r; - green.value = data.color.g; - blue.value = data.color.b; - white.value = data.color.w; + red.value = segstate.color.r; + green.value = segstate.color.g; + blue.value = segstate.color.b; + white.value = segstate.color.w; } if (data.color_num === 2) { - red.value = data.color.r2; - green.value = data.color.g2; - blue.value = data.color.b2; - white.value = data.color.w2; + red.value = segstate.color.r2; + green.value = segstate.color.g2; + blue.value = segstate.color.b2; + white.value = segstate.color.w2; } if (data.color_num === 3) { - red.value = data.color.r3; - green.value = data.color.g3; - blue.value = data.color.b3; - white.value = data.color.w3; + red.value = segstate.color.r3; + green.value = segstate.color.g3; + blue.value = segstate.color.b3; + white.value = segstate.color.w3; } } // Config starts here @@ -2124,6 +2238,7 @@ function ws_connect() { if (typeof res.mqtt_port !== "undefined") { config.mqtt_port = res.mqtt_port; document.getElementById("mqtt_port").value = config.mqtt_port; } if (typeof res.mqtt_user !== "undefined") { config.mqtt_user = res.mqtt_user; document.getElementById("mqtt_user").value = config.mqtt_user; } if (typeof res.mqtt_pass !== "undefined") { config.mqtt_pass = res.mqtt_pass; document.getElementById("mqtt_pass").value = config.mqtt_pass; } + if (typeof res.ws_seg !== "undefined") { config.ws_seg = res.ws_seg; document.getElementById("selectsegcnt").value = config.ws_seg; } if (typeof res.ws_cnt !== "undefined") { config.ws_cnt = res.ws_cnt; document.getElementById("selectcount").value = config.ws_cnt; } if (typeof res.ws_rgbo !== "undefined") { config.ws_rgbo = res.ws_rgbo; @@ -2134,19 +2249,20 @@ function ws_connect() { } else { document.getElementById("white").parentNode.className = "hidden"; white.value = 0; - data.color.w = 0; - data.color.w2 = 0; - data.color.w3 = 0; + segstate.color.w = 0; + segstate.color.w2 = 0; + segstate.color.w3 = 0; } } if (typeof res.ws_pin !== "undefined") { config.ws_pin = res.ws_pin; document.getElementById("selectpin").value = config.ws_pin; } + if (typeof res.ws_trans !== "undefined") { config.ws_trans = res.ws_trans; document.getElementById("set-transitionEffects").value = config.ws_trans; } if (typeof res.ws_fxopt !== "undefined") { - config.ws_fxopt = res.ws_fxopt; - document.getElementById("selectoptrev").value = (config.ws_fxopt & 128); - document.getElementById("selectoptfade").value = (config.ws_fxopt & 112); - document.getElementById("selectoptgamma").value = (config.ws_fxopt & 8); - document.getElementById("selectoptsize").value = (config.ws_fxopt & 6); + segstate.ws_fxopt = res.ws_fxopt; + document.getElementById("selectoptrev").value = (segstate.ws_fxopt & 128); + document.getElementById("selectoptfade").value = (segstate.ws_fxopt & 112); + document.getElementById("selectoptgamma").value = (segstate.ws_fxopt & 8); + document.getElementById("selectoptsize").value = (segstate.ws_fxopt & 6); } // Modes starts here if (typeof res[0] !== "undefined") { @@ -2157,18 +2273,22 @@ function ws_connect() { }); } // init Color Vals - colorNumrVals(); + colorNumVals(); initSliderColors(); // init Change Range Val changeRangeNumVal(); // init Colors controls // init display Colors displayColors(true); + console.log("displayColors finished!"); select_active_button(); + console.log("select_active_button finished!"); } - if (data.init === true) { + console.log("data.init: ", data.init); + if (data.init == true) { + console.log("Initializing..."); // Set selected mode button - //document.getElementById(data.ws2812fx_mode).style.backgroundColor = settings.theme_btnsel; + //document.getElementById(segstate.mode).style.backgroundColor = settings.theme_btnsel; // Close Loading Modal setTimeout(() => { document.getElementById('modal').style.display = "none"; @@ -2212,38 +2332,45 @@ function select_active_button() { for (i = 0; i < btns.length; i++) { btns[i].style.backgroundColor = settings.theme_btn; } - if (data.mode != 1 || (data.mode === 1 && data.ws2812fx_mode !== 57)) { // CUSTOM WS MODE + if (state.mode != 1 || (state.mode == 1 && segstate.mode != 57)) { // CUSTOM WS MODE wsmess = document.getElementById("message"); var arr = wsmess.className.split(" "); if (arr.indexOf("hidden") === -1) { wsmess.className += " hidden"; } + segments = document.getElementById("segments"); + segments.className = segments.className.replace(/\b hidden\b/g, ""); } - if (data.mode >= 1) { - document.getElementById(data.ws2812fx_mode).style.backgroundColor = settings.theme_btnsel; - if (data.ws2812fx_mode === 56) { // AUTOPLAY + if (state.mode >= 1) { + document.getElementById(segstate.mode).style.backgroundColor = settings.theme_btnsel; + if (segstate.mode == 56) { // AUTOPLAY disable_modebuttons(false); disable_color_selection(true); disable_bright_selection(false); disable_speed_selection(true); - } else if (data.ws2812fx_mode === 57) { //CUSTOM_WS + } else if (segstate.mode == 57) { //CUSTOM_WS wsmess = document.getElementById("message"); wsmess.className = wsmess.className.replace(/\b hidden\b/g, ""); + sements = document.getElementById("segments"); + var arr = segments.className.split(" "); + if (arr.indexOf("hidden") === -1) { + segments.className += " hidden"; + } disable_modebuttons(false); disable_color_selection(true); disable_bright_selection(false); disable_speed_selection(true); - } else if (data.ws2812fx_mode === 58) { //TV + } else if (segstate.mode == 58) { //TV disable_modebuttons(false); disable_color_selection(true); disable_bright_selection(false); disable_speed_selection(false); - } else if (data.ws2812fx_mode === 59) { //E1.31 + } else if (segstate.mode == 59) { //E1.31 disable_modebuttons(false); disable_color_selection(true); disable_bright_selection(false); disable_speed_selection(true); - } else if (data.ws2812fx_mode === 60) { //Fire2012 + } else if (segstate.mode == 60) { //Fire2012 disable_modebuttons(false); disable_color_selection(true); disable_bright_selection(false); @@ -2254,7 +2381,7 @@ function select_active_button() { disable_bright_selection(false); disable_speed_selection(false); } - } else if (data.mode === 0) { + } else if (state.mode == 0) { document.getElementById("off").style.backgroundColor = settings.theme_btnsel; disable_modebuttons(false); disable_color_selection(true); @@ -2282,32 +2409,32 @@ function disable_modebuttons(status) { function set_mode(mode_id) { if (Number.isInteger(mode_id)) { - data.mode = 1; - data.ws2812fx_mode = mode_id; + state.mode = 1; + segstate.mode = mode_id; } else { // For named modes if (mode_id == "off") { - data.mode = 0; + state.mode = 0; } } select_active_button(); ws_send("/" + mode_id); } function set_speed() { - ws_send("?" + data.speed); + ws_send("?" + segstate.speed); } function set_brightness() { - ws_send("%" + data.brightness); + ws_send("%" + state.brightness); } function set_color() { if (data.color_num === 1) { - ws_send("#" + rgbToHex([data.color.w, data.color.r, data.color.g, data.color.b])); + ws_send("#" + rgbToHex([segstate.color.w, segstate.color.r, segstate.color.g, segstate.color.b])); } if (data.color_num === 2) { - ws_send("##" + rgbToHex([data.color.w2, data.color.r2, data.color.g2, data.color.b2])); + ws_send("##" + rgbToHex([segstate.color.w2, segstate.color.r2, segstate.color.g2, segstate.color.b2])); } if (data.color_num === 3) { - ws_send("###" + rgbToHex([data.color.w3, data.color.r3, data.color.g3, data.color.b3])); + ws_send("###" + rgbToHex([segstate.color.w3, segstate.color.r3, segstate.color.g3, segstate.color.b3])); } } @@ -2345,11 +2472,11 @@ function onSelectColor(event) { var color = context.getImageData(pos.x, pos.y, 1, 1).data; var hex_color = rgbToHex(color); var colnum = (data.color_num === 1) ? "" : data.color_num; - data.color["hex" + colnum] = hex_color; - data.color["r" + colnum] = color[0]; - data.color["g" + colnum] = color[1]; - data.color["b" + colnum] = color[2]; - data.color["w" + colnum] = 0; + segstate.color["hex" + colnum] = hex_color; + segstate.color["r" + colnum] = color[0]; + segstate.color["g" + colnum] = color[1]; + segstate.color["b" + colnum] = color[2]; + segstate.color["w" + colnum] = 0; red.value = color[0]; green.value = color[1]; blue.value = color[2]; @@ -2357,7 +2484,7 @@ function onSelectColor(event) { displayColors(); initSliderColors(); changeRangeNumVal(); - colorNumrVals(); + colorNumVals(); } } function redrawColorPicker() { @@ -2525,13 +2652,11 @@ document.addEventListener("DOMContentLoaded", function(event) { getModes(); readSettings(); ws_connect(); - ws_send("$") - document.getElementById("modal-content").innerHTML = language.en.loadModes; + ws_send("$"); //ws_send("C"); getConfig(); canvas.width = 400; canvas.height = 400; - redrawColorPicker(); }); diff --git a/clients/web/index.htm.gz b/clients/web/index.htm.gz index 50d4637..e149892 100644 Binary files a/clients/web/index.htm.gz and b/clients/web/index.htm.gz differ