Subversion Repositories ESP8266_P1_Meter

Rev

Blame | Last modification | View Log | RSS feed

#pragma once
#include <Arduino.h>


/*
* This HTML code will be injected in /setup webpage using a <div></div> element as parent
* The parent element will have the HTML id properties equal to 'raw-html-<id>'
* where the id value will be equal to the id parameter passed to the function addHTML(html_code, id).
*/
inline const char custom_html[] PROGMEM = R"EOF(
<label for=url class=input-label>Endpoint</label>
<input type=text placeholder='https://httpbin.org/' id=url value='https://httpbin.org/' />
<br>
<div class=row-wrapper>
  <input type="radio" id="get" name="httpmethod" value="GET" checked>
  <label for="html">GET</label><br>
  <input type="radio" id="post" name="httpmethod" value="POST">
  <label for="css">POST</label>
  <a id=fetch class='btn'>
  <span>Fecth url</span>
  </a>
</div>
<pre id=payload></pre>
)EOF";


/*
* In this example, a style sections is added in order to render properly the new
* <select> and <pre> elements introduced. Since this section will be added at the end of the body,
* it is also possible to override the style of the elements already present:
* for example the background color of body will be overridden with a different color
*/
inline const char custom_css[] PROGMEM = R"EOF(
pre{
    font-family: Monaco,Menlo,Consolas,'Courier New',monospace;
    color: #333;
    line-height: 20px;
    background-color: #f5f5f5;
    border: 1px solid rgba(0,0,0,0.15);
    border-radius: 6px;
    overflow-y: scroll;
    min-height: 350px;
    font-size: 85%;
    width: 95%;
}
)EOF";


/*
* Also the JavaScript will be added at the bottom of body
* In this example a simple 'click' event listener will be added for the button
* with id='fetch' (added as HTML). The listener will execute the function 'fetchEndpoint'
* in order to fetch a remote resource and show the response in a text box.
*
* The instruction $('<id-name>') is a "Jquery like" selector already defined
* so you can use for your purposes:
*      var $ = function(el) {
*        return document.getElementById(el);
*      };
*/
inline const char custom_script[] PROGMEM = R"EOF(
function fetchEndpoint() {
  var mt;
  document.getElementsByName('httpmethod').forEach(el => {
    if (el.checked)
      mt = el.value;
  })

  var url = $('url').value + mt.toLowerCase();
  var bd = (mt != 'GET') ? 'body: ""' : '';
  var options = {
    method: mt,
    bd
  };
  fetch(url, options)
  .then(response => response.text())
  .then(txt => {
    $('payload').innerHTML = txt;
  });
}

$('fetch').addEventListener('click', fetchEndpoint);
)EOF";


static const char custom_logo_svg[] PROGMEM = R"EOF(<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 27.6.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
         viewBox="0 0 348 315" style="enable-background:new 0 0 348 315;" xml:space="preserve">
<style type="text/css">
        .st0{fill:#FFFFFF;}
</style>
<g>
        <g>
                <path class="st0" d="M131.8,164.7c0,8.6-7,15.6-15.6,15.6s-15.6-7-15.6-15.6s7-15.6,15.6-15.6
                        C124.8,149.1,131.8,156.1,131.8,164.7"/>
                <path class="st0" d="M267.7,148.5c-10-70.7-66-126.8-136.8-136.8C122.5,16,115,21.6,108.3,28v15.1c70.6,0,128,57.5,128,128h15.1
                        C257.8,164.4,263.3,156.8,267.7,148.5"/>
                <path class="st0" d="M279.4,101.2C279.4,45.3,234.1,0,178.2,0c-3.5,0-7,0.2-10.4,0.6l-2.3,6.6c49.8,17.4,89.3,56.9,106.7,106.6
                        l6.8-2.3C279.1,108.2,279.4,104.8,279.4,101.2"/>
                <path class="st0" d="M179.3,221.6c-32.2,0-62.3-12.5-85.1-35.3s-35.3-53-35.3-85.1C58.8,69,71.4,38.8,94.1,16l6.4,6.4
                        c-21,21-32.6,48.9-32.6,78.7s11.6,57.7,32.6,78.7s48.9,32.6,78.7,32.6s57.7-11.6,78.7-32.6l6.4,6.4
                        C241.7,209,211.4,221.6,179.3,221.6"/>
                <path class="st0" d="M178,178c2.5-25.1-8.7-48.5-27.5-62.8c-9.9-7.5-22-12.4-35.2-13.8c-3.5-0.4-5.9-3.4-5.6-6.8
                        c0.4-3.8,3.5-6,6.9-5.6c14.4,1.5,27.5,6.5,38.6,14.2c23.9,16.5,38.4,45.1,35.3,76.1c-0.5,4.9-1.5,9.6-2.7,14.2l18.3,5.2
                        c5.4-1.6,10.8-3.5,15.9-5.9c1.3-7,2-14.2,2-21.6c0-58-42.8-106-98.5-114.3c-6.7-1-13.4-1.1-18.4,0.2c-7.9,1.9-14.7,6.3-19.9,12.2
                        c-6.1,6.9-9.8,16-9.8,26.1c0,17.6,11.6,32.5,27.4,37.5c3,1,7.6,1.4,9.9,1.8h0.1c17.4,3,30.7,18.2,30.7,36.5
                        c0,7.3-2.1,14.2-5.9,19.9l12.6,8.1c6.1,1.7,12.4,2.7,18.9,3.2C174.7,194.8,177.1,186.6,178,178"/>
        </g>
        <g>
                <polygon class="st0" points="298.2,314.8 307,314.8 307,257.1 298.2,257.1                "/>
                <path class="st0" d="M136.8,265.2L136.8,265.2l15-0.1c1.8,0,2.8,1.6,2.8,3.3v11.9c0,1.8-1,3.3-2.8,3.3h-15V265.2L136.8,265.2z
                         M157.6,290.7c1-0.5,1.9-1.1,2.7-1.8c1.8-1.8,3.1-4.4,3.1-7.7v-13.8c0-3.3-1.3-5.9-3.1-7.7c-1.8-1.8-4.6-2.7-7-2.7l-25.1,0.1V315
                        h8.7v-23.3h8.9c2.2,0.1,6.5,1,7.8,6.8l3.4,16.4h9.5l-3.6-15.5C161.8,294.6,160.1,292,157.6,290.7"/>
                <path class="st0" d="M3.1,259.9c-1.8,1.8-3.1,4.4-3.1,7.7v37c0,3.3,1.3,5.9,3.1,7.7c1.8,1.8,4.6,2.7,7,2.7h23.4v-8.2h-22
                        c-1.8,0-2.8-1.6-2.8-3.3v-14.9h21.7v-8.2H8.7v-12.1c0-1.8,1-3.3,2.8-3.3h22v-8.2H10C7.6,257.1,4.9,258,3.1,259.9"/>
                <path class="st0" d="M326,265.2h22V257h-23.4c-2.4,0-5.2,1-7,2.7c-1.8,1.8-3.1,4.4-3.1,7.7v47.2h8.7v-26.1h21.7v-8.2h-21.7v-12.1
                        C323.2,266.8,324.2,265.2,326,265.2"/>
                <path class="st0" d="M66.4,280.5H52.9c-1.8,0-3.1-1.4-3.1-3.1v-8.9c0-1.8,1-3.3,2.8-3.3h21.7V257h-23c-2.4,0-5.2,1-7,2.7
                        c-1.8,1.8-3.1,4.4-3.1,7.7v12c0,5.6,4.6,10.2,10.2,10.2h13.5c1.8,0,3.1,1.4,3.1,3.1v10.7c0,1.8-1,3.3-2.8,3.3h-24v8.2h25.4
                        c2.4,0,5.2-1,7-2.7c1.8-1.8,3.1-4.4,3.1-7.7v-13.7C76.5,285.1,72,280.5,66.4,280.5"/>
                <path class="st0" d="M174.3,259.9c-1.8,1.8-3.1,4.4-3.1,7.7v37c0,3.3,1.3,5.9,3.1,7.7c1.8,1.8,4.6,2.7,7,2.7h23.4v-8.2h-22
                        c-1.8,0-2.8-1.6-2.8-3.3v-14.9h21.7v-8.2h-21.7v-12.1c0-1.8,1-3.3,2.8-3.3h22v-8.2h-23.4C178.9,257.1,176.1,258,174.3,259.9"/>
                <path class="st0" d="M237.6,280.5h-13.5c-1.8,0-3.1-1.4-3.1-3.1v-8.9c0-1.8,1-3.3,2.8-3.3h21.7V257h-23.1c-2.4,0-5.2,1-7,2.7
                        c-1.8,1.8-3.1,4.4-3.1,7.7v12c0,5.6,4.6,10.2,10.2,10.2H236c1.8,0,3.1,1.4,3.1,3.1v10.7c0,1.8-1,3.3-2.8,3.3h-23.9v8.2h25.4
                        c2.4,0,5.2-1,7-2.7c1.8-1.8,3.1-4.4,3.1-7.7v-13.7C247.8,285.1,243.2,280.5,237.6,280.5"/>
                <path class="st0" d="M280.2,280.5h-13.5c-1.8,0-3.1-1.4-3.1-3.1v-8.9c0-1.8,1-3.3,2.8-3.3h21.7V257H265c-2.4,0-5.2,1-7,2.7
                        c-1.8,1.8-3.1,4.4-3.1,7.7v12c0,5.6,4.6,10.2,10.2,10.2h13.5c1.8,0,3.1,1.4,3.1,3.1v10.7c0,1.8-1,3.3-2.8,3.3H255v8.2h25.4
                        c2.4,0,5.2-1,7-2.7c1.8-1.8,3.1-4.4,3.1-7.7v-13.7C290.4,285.1,285.9,280.5,280.2,280.5"/>
                <path class="st0" d="M112,281.1c0,1.8-1,3.3-2.8,3.3H93.1v-19.2v-0.1h16.1c1.8,0,2.8,1.6,2.8,3.3V281.1L112,281.1z M110.7,257.1
                        l-26.3,0.1V315h8.7v-22.5h17.6c2.4,0,5.2-1,7-2.7s3.1-4.4,3.1-7.7v-14.6c0-3.3-1.3-5.9-3.1-7.7C115.8,258,113.2,257.1,110.7,257.1
                        "/>
        </g>
</g>
</svg>)EOF";


// Generated from: .\custom_logo.png
// Size: 2150 bytes
// MIME type: image/png
const uint8_t custom_logo[] PROGMEM = {
  0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52,
  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x08, 0x06, 0x00, 0x00, 0x00, 0xC3, 0x3E, 0x61,
  0xCB, 0x00, 0x00, 0x00, 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7C, 0x08, 0x64,
  0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x03, 0xB1, 0x00, 0x00, 0x03,
  0xB1, 0x01, 0xF5, 0x83, 0xED, 0x49, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6F,
  0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x77, 0x77, 0x77, 0x2E, 0x69, 0x6E, 0x6B, 0x73, 0x63,
  0x61, 0x70, 0x65, 0x2E, 0x6F, 0x72, 0x67, 0x9B, 0xEE, 0x3C, 0x1A, 0x00, 0x00, 0x07, 0xE3, 0x49,
  0x44, 0x41, 0x54, 0x78, 0x9C, 0xED, 0x9D, 0x5D, 0x6C, 0x14, 0x55, 0x14, 0xC7, 0xFF, 0x77, 0x66,
  0xB7, 0x4A, 0x17, 0x02, 0x26, 0x2C, 0x1A, 0x45, 0x02, 0x22, 0x01, 0x0B, 0xBE, 0x98, 0xE0, 0x47,
  0x78, 0x10, 0xBF, 0xA5, 0x85, 0xB4, 0x10, 0xB7, 0x86, 0xE8, 0x8B, 0xA9, 0x42, 0x5B, 0x82, 0x56,
  0x49, 0x30, 0x1A, 0xA3, 0x68, 0x7C, 0xF1, 0x23, 0xC4, 0x58, 0x69, 0x81, 0x48, 0x34, 0x31, 0x06,
  0xD2, 0xE5, 0xCB, 0x96, 0x96, 0x07, 0x88, 0xC2, 0x83, 0x51, 0xD1, 0xF8, 0x22, 0x52, 0xD4, 0xA4,
  0xA2, 0x54, 0x8C, 0x96, 0x84, 0x8F, 0x96, 0x22, 0xB0, 0x33, 0xC7, 0x87, 0x52, 0xED, 0x6E, 0xE7,
  0xCE, 0xCC, 0x9D, 0xEE, 0xEC, 0xCE, 0xF6, 0x9E, 0xDF, 0xDB, 0xCE, 0x3D, 0x67, 0xE6, 0xE6, 0x9E,
  0xFF, 0x9E, 0xFB, 0xB1, 0xA7, 0x1D, 0x80, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0xBD,
  0x10, 0x41, 0x9C, 0x52, 0x1D, 0xAB, 0x66, 0x90, 0x30, 0xAB, 0x85, 0x81, 0x2A, 0x90, 0x98, 0x09,
  0x60, 0x3A, 0x80, 0x44, 0x3E, 0x3B, 0xC6, 0x78, 0x72, 0x01, 0x40, 0x2F, 0x04, 0x9D, 0x00, 0xC4,
  0x3E, 0xD3, 0xC4, 0x67, 0x3B, 0x1E, 0x69, 0x39, 0xA9, 0x7A, 0x13, 0x25, 0x01, 0xA4, 0x3A, 0xEA,
  0x6F, 0x82, 0x69, 0xBE, 0x0A, 0xA2, 0x3A, 0x00, 0xA6, 0xEA, 0xC3, 0x98, 0x50, 0xB1, 0x85, 0x10,
  0xBB, 0x0C, 0x61, 0xAD, 0xDF, 0xB1, 0x64, 0xF3, 0x09, 0xBF, 0x4E, 0xBE, 0x05, 0x50, 0xDB, 0xD5,
  0x50, 0x43, 0xB6, 0xF8, 0x04, 0x02, 0x13, 0x03, 0x75, 0x8F, 0x29, 0x14, 0xFD, 0x20, 0x7A, 0x32,
  0xBD, 0xB4, 0xB5, 0xDD, 0x8F, 0xB1, 0xE1, 0xC7, 0x28, 0xD5, 0xD9, 0xF8, 0x1C, 0x91, 0xD8, 0xC5,
  0xC1, 0x2F, 0x09, 0x26, 0x41, 0x88, 0x3D, 0xB5, 0x9D, 0x6B, 0x9E, 0xF5, 0x63, 0xEC, 0x99, 0x01,
  0x6A, 0xBB, 0x1A, 0x6A, 0x88, 0xC4, 0x2E, 0xF8, 0x14, 0x0B, 0x13, 0x19, 0x6C, 0x10, 0x2D, 0xF7,
  0xCA, 0x04, 0xAE, 0x02, 0x58, 0xD1, 0xB5, 0x76, 0xBA, 0x69, 0x5B, 0xDD, 0xFC, 0xCD, 0x2F, 0x59,
  0xFA, 0xCD, 0x8C, 0x31, 0x6F, 0x47, 0xF5, 0x07, 0xA7, 0x64, 0x06, 0x31, 0x37, 0xEF, 0x18, 0xD9,
  0x6F, 0x90, 0x24, 0xF8, 0xC2, 0x30, 0x90, 0x98, 0x36, 0x07, 0xE5, 0x53, 0x67, 0xA1, 0xAC, 0x7C,
  0x32, 0x84, 0x91, 0x7D, 0xAB, 0x93, 0x5F, 0x7F, 0x1A, 0xA8, 0xC7, 0x8C, 0x33, 0x37, 0xDF, 0xFD,
  0x44, 0xD6, 0x67, 0xB2, 0x33, 0xB8, 0x3C, 0x78, 0x0E, 0x17, 0x4F, 0xFF, 0x8A, 0x81, 0xBF, 0x7F,
  0x01, 0xD9, 0xB6, 0x93, 0xDB, 0x24, 0x3B, 0x66, 0xBD, 0x0E, 0xE0, 0x19, 0xD9, 0x7D, 0xA5, 0x19,
  0x20, 0xD5, 0xB1, 0x6A, 0x06, 0x8C, 0x58, 0x0F, 0x1C, 0x56, 0xFB, 0x66, 0x59, 0x39, 0x92, 0x73,
  0xEF, 0x43, 0x3C, 0x31, 0x45, 0xDA, 0x61, 0x16, 0x40, 0x7E, 0xC9, 0x15, 0xC0, 0x48, 0xAE, 0x5C,
  0x38, 0x83, 0xBE, 0x9F, 0x0E, 0xC1, 0xBA, 0x3C, 0xE8, 0xD4, 0x6C, 0x59, 0xC2, 0x9C, 0xB9, 0xBB,
  0xB2, 0xB9, 0xD7, 0xA9, 0x51, 0x3A, 0xAF, 0x0B, 0x23, 0x5E, 0x03, 0x87, 0xE0, 0x0B, 0xC3, 0xF0,
  0x0C, 0x3E, 0x53, 0x58, 0xE2, 0x89, 0xEB, 0x90, 0x9C, 0xBB, 0x18, 0xC2, 0x70, 0x0C, 0xA7, 0x19,
  0xA3, 0x4C, 0xB5, 0xCC, 0x57, 0x2A, 0x00, 0x02, 0x2D, 0x71, 0xBA, 0x9E, 0x98, 0x36, 0x87, 0x83,
  0x1F, 0x41, 0xE2, 0x89, 0xEB, 0x90, 0x48, 0xDE, 0xEA, 0xD8, 0x46, 0x24, 0x2A, 0x65, 0x7E, 0xF2,
  0x35, 0x00, 0xE1, 0x56, 0xA7, 0x09, 0x22, 0x31, 0x75, 0x66, 0xD6, 0xE7, 0x8B, 0x67, 0xFE, 0xC0,
  0x99, 0x5F, 0x8F, 0xC8, 0xD2, 0x8F, 0x27, 0xDB, 0x17, 0x9D, 0xCD, 0xFA, 0xBC, 0xF2, 0xCB, 0x29,
  0x91, 0x6A, 0x8F, 0x0A, 0xB9, 0x53, 0x6A, 0xAC, 0xAC, 0x1C, 0x53, 0x6E, 0xB9, 0x0B, 0x13, 0xA6,
  0xDC, 0xF8, 0xDF, 0xB5, 0x44, 0x72, 0x16, 0x06, 0xFE, 0xFA, 0x79, 0xB4, 0xB3, 0xC0, 0x6C, 0xD9,
  0x7D, 0xDD, 0xB6, 0x76, 0x37, 0x38, 0x5D, 0x8C, 0x97, 0x67, 0x0F, 0xD0, 0xD9, 0x31, 0x04, 0x9F,
  0x09, 0x4E, 0xE6, 0xF2, 0x20, 0xCE, 0xF4, 0x7C, 0x93, 0x75, 0x2D, 0x36, 0x61, 0xB2, 0xB3, 0x31,
  0xE1, 0x26, 0xD9, 0x7D, 0xE4, 0x19, 0x40, 0xBA, 0xFA, 0xCF, 0x76, 0xC9, 0x68, 0x12, 0xFC, 0xDC,
  0x4C, 0xA1, 0x4A, 0x18, 0x99, 0x25, 0xF7, 0x8B, 0x67, 0x98, 0x71, 0x67, 0x43, 0x97, 0x6D, 0x3C,
  0x1F, 0xEE, 0x68, 0x8E, 0xEB, 0x39, 0x40, 0x21, 0xF0, 0xFA, 0x66, 0x14, 0xBB, 0x7D, 0xBC, 0xC3,
  0x19, 0x40, 0x73, 0x94, 0x33, 0x00, 0x1F, 0xF0, 0x44, 0x8B, 0xB1, 0xC6, 0x83, 0x33, 0x80, 0xE6,
  0x48, 0x05, 0x70, 0x6D, 0xAC, 0x7C, 0xA2, 0x6D, 0x8A, 0x05, 0x00, 0x9A, 0x00, 0x1C, 0x2D, 0x5C,
  0x97, 0x98, 0x3C, 0xF1, 0x03, 0x80, 0x26, 0xDB, 0x14, 0x0B, 0xAE, 0x8D, 0x95, 0x4B, 0x77, 0x01,
  0xBE, 0x0A, 0x42, 0x52, 0x6D, 0x29, 0x53, 0x24, 0xA6, 0xD6, 0x13, 0x8C, 0x8D, 0x00, 0x95, 0xE5,
  0xAD, 0x8B, 0x25, 0x44, 0x14, 0xB7, 0x81, 0x12, 0x2E, 0x41, 0x88, 0xE7, 0xE7, 0x1F, 0x49, 0x6E,
  0xD9, 0xB0, 0x61, 0x83, 0xE3, 0x2F, 0x44, 0x23, 0x51, 0x2B, 0x09, 0xEB, 0xAA, 0xBF, 0x1F, 0x64,
  0xEE, 0xF7, 0x23, 0x82, 0x8F, 0xEE, 0x7D, 0x45, 0xE5, 0xD6, 0x78, 0x6B, 0x4B, 0x97, 0x92, 0x7D,
  0xA9, 0xF3, 0xE2, 0x6A, 0xE9, 0xE9, 0xAC, 0x23, 0x4F, 0x1D, 0x7E, 0xD3, 0x8F, 0xD9, 0x25, 0x41,
  0x58, 0xD2, 0xB6, 0xB4, 0xE5, 0x0B, 0xBF, 0xF7, 0x55, 0x5A, 0x03, 0xA4, 0x2B, 0x37, 0x7F, 0x0E,
  0x41, 0xEB, 0x54, 0x7C, 0x98, 0xC2, 0x21, 0x40, 0x4D, 0x2A, 0xC1, 0x07, 0x82, 0x2C, 0x02, 0x07,
  0xFA, 0x5A, 0x41, 0xF8, 0x51, 0xD9, 0x8F, 0x09, 0x9B, 0x1F, 0x2A, 0xBE, 0xBD, 0x7E, 0xAB, 0xAA,
  0x93, 0xB2, 0x00, 0xD2, 0xB5, 0x69, 0x4B, 0x08, 0x6C, 0x53, 0xF5, 0x63, 0xC2, 0x45, 0x40, 0x7C,
  0xE8, 0x67, 0xCE, 0xCF, 0x25, 0xD0, 0x36, 0x50, 0x90, 0x7D, 0x20, 0x88, 0x1F, 0x13, 0x1E, 0x24,
  0x32, 0x07, 0x83, 0xF8, 0x05, 0x12, 0xC0, 0x45, 0xEB, 0xF2, 0x6F, 0x41, 0xFC, 0x98, 0x10, 0x99,
  0x60, 0xFE, 0x1E, 0xC4, 0x2D, 0x90, 0x00, 0x26, 0xC5, 0x13, 0x81, 0xFE, 0xA2, 0x88, 0x09, 0x8F,
  0x4B, 0xE7, 0xFF, 0x09, 0x14, 0x93, 0x40, 0x02, 0xC8, 0xD8, 0x57, 0x66, 0x04, 0xF1, 0x63, 0xC2,
  0xE3, 0x9A, 0x78, 0xFC, 0xE6, 0x20, 0x7E, 0x81, 0x7E, 0x0D, 0xB4, 0x85, 0x78, 0xD8, 0xCB, 0xC6,
  0xE7, 0xBE, 0xF5, 0x3F, 0xE6, 0xE1, 0x0E, 0xD7, 0xF6, 0x83, 0x87, 0x0E, 0x29, 0xDD, 0xAF, 0xD8,
  0x3C, 0xB8, 0x78, 0xB1, 0x6B, 0xBB, 0xEA, 0xF8, 0x78, 0x42, 0xE6, 0x43, 0x00, 0x8E, 0xA9, 0xBA,
  0x29, 0x67, 0x80, 0x54, 0x5B, 0xCA, 0x04, 0x8C, 0x3A, 0x55, 0x3F, 0x26, 0x74, 0x9E, 0x1E, 0x8A,
  0x8D, 0x1A, 0xCA, 0x02, 0x10, 0x89, 0x69, 0x6B, 0x00, 0xAA, 0x50, 0xF5, 0x63, 0x42, 0x67, 0x81,
  0x48, 0x4C, 0xAD, 0x57, 0x75, 0x52, 0x12, 0x40, 0xED, 0xBE, 0x86, 0x07, 0x09, 0xF4, 0xAE, 0xEA,
  0x43, 0x98, 0xC2, 0x40, 0x30, 0x36, 0x3E, 0xB6, 0x7F, 0xCD, 0x03, 0x2A, 0x3E, 0xBE, 0xD6, 0x00,
  0x43, 0x3F, 0x06, 0x4D, 0x5B, 0x73, 0x35, 0xF8, 0x92, 0xC2, 0x33, 0xA6, 0xF8, 0x50, 0x99, 0xB0,
  0x45, 0x57, 0xAA, 0xAB, 0x71, 0x1D, 0x06, 0xFA, 0x5A, 0xD3, 0xB5, 0x69, 0xCB, 0xCB, 0x43, 0x2A,
  0x80, 0xD4, 0x17, 0x8D, 0x13, 0x8D, 0x0B, 0xF6, 0xCC, 0xA1, 0x05, 0x9F, 0x51, 0x47, 0x9C, 0xF6,
  0x4B, 0x04, 0x2A, 0x03, 0xA1, 0x19, 0xE5, 0xC9, 0xFA, 0xDA, 0xCE, 0xC6, 0x6D, 0x82, 0xEC, 0x03,
  0x76, 0xC2, 0x38, 0x91, 0xBE, 0xAF, 0x65, 0xC0, 0xC9, 0x5A, 0x9E, 0x01, 0x06, 0xD1, 0x6F, 0x8B,
  0xE1, 0x19, 0x82, 0xC2, 0xE8, 0x69, 0x5E, 0x38, 0xB0, 0xFD, 0xED, 0xAC, 0xCF, 0x0F, 0xAD, 0x5C,
  0x5F, 0xA4, 0x9E, 0x44, 0x0C, 0x81, 0xF9, 0x04, 0x6C, 0x24, 0x61, 0x00, 0x83, 0x57, 0xAF, 0x38,
  0xC0, 0x15, 0x41, 0x9A, 0x13, 0x5A, 0x55, 0xB0, 0x72, 0x3D, 0xC0, 0x71, 0xBD, 0xEA, 0x01, 0x54,
  0xC7, 0x27, 0xEF, 0xE7, 0x06, 0x57, 0xE1, 0x0C, 0xA0, 0x39, 0xCA, 0x19, 0xC0, 0xED, 0xCF, 0x94,
  0x8B, 0x81, 0x2E, 0x73, 0xBE, 0xDF, 0x71, 0x57, 0xAD, 0x12, 0xE6, 0x0C, 0xA0, 0x39, 0x2C, 0x00,
  0xCD, 0x61, 0x01, 0x68, 0xCE, 0x98, 0x77, 0x01, 0xD2, 0x39, 0x47, 0x71, 0x95, 0xCB, 0xB8, 0x23,
  0x1B, 0xE7, 0xB1, 0xAE, 0xC9, 0x38, 0x03, 0x68, 0x4E, 0x68, 0xE7, 0x00, 0xF9, 0xAE, 0x07, 0x18,
  0x6F, 0x84, 0xB5, 0xAF, 0x57, 0x85, 0x33, 0x80, 0xE6, 0xB0, 0x00, 0x34, 0x87, 0x05, 0xA0, 0x39,
  0x2C, 0x00, 0xCD, 0x61, 0x01, 0x68, 0x4E, 0xD1, 0xFF, 0x47, 0x50, 0xA9, 0x31, 0xDE, 0xEA, 0x0F,
  0x38, 0x03, 0x68, 0x0E, 0xD7, 0x03, 0x14, 0x09, 0xAE, 0x07, 0x60, 0x22, 0xC1, 0x98, 0x33, 0x40,
  0xD4, 0xEA, 0x03, 0xC6, 0x2B, 0x61, 0x8D, 0x33, 0x67, 0x00, 0xCD, 0x61, 0x01, 0x68, 0x0E, 0x0B,
  0x40, 0x73, 0xB4, 0xAD, 0x07, 0xF0, 0xDA, 0xCF, 0xE7, 0xB6, 0x17, 0x1B, 0xAE, 0x07, 0x60, 0x42,
  0x81, 0xEB, 0x01, 0x8A, 0x04, 0xD7, 0x03, 0x30, 0x91, 0x40, 0xDB, 0xDF, 0x02, 0xBC, 0xCE, 0xF0,
  0x4B, 0xFD, 0x8C, 0xDF, 0x2F, 0x9C, 0x01, 0x34, 0x87, 0x05, 0xA0, 0x39, 0x2C, 0x00, 0xCD, 0x61,
  0x01, 0x68, 0x0E, 0x0B, 0x40, 0x73, 0x4A, 0xA6, 0x1E, 0xC0, 0xEB, 0xFF, 0xEE, 0x95, 0x1A, 0x5C,
  0x0F, 0xC0, 0x44, 0x02, 0xAE, 0x07, 0x28, 0x11, 0xB8, 0x1E, 0x80, 0x09, 0x05, 0x16, 0x80, 0xE6,
  0xB0, 0x00, 0x34, 0x47, 0xDB, 0x7A, 0x80, 0x52, 0x83, 0xEB, 0x01, 0x98, 0x50, 0x88, 0x4C, 0x3D,
  0x00, 0xE6, 0xE5, 0xE7, 0xB9, 0xB9, 0xFB, 0x6B, 0x59, 0x3F, 0xBC, 0xEC, 0xF2, 0x75, 0x1F, 0x19,
  0x4F, 0x1D, 0xFE, 0xDE, 0x97, 0x5D, 0xD8, 0x70, 0x06, 0xD0, 0x1C, 0x16, 0x80, 0xE6, 0xB0, 0x00,
  0x34, 0x87, 0x05, 0xA0, 0x39, 0xE3, 0x4A, 0x00, 0x77, 0x26, 0xFD, 0xBD, 0xD2, 0xC0, 0xAF, 0x5D,
  0xA1, 0xEE, 0x5D, 0x4C, 0xF2, 0xBE, 0x0B, 0xC8, 0x7D, 0xCD, 0x7A, 0xA1, 0x5E, 0x9B, 0x7E, 0x67,
  0xB2, 0x02, 0xAB, 0x6E, 0xAB, 0xC9, 0xBA, 0x66, 0xD1, 0xE8, 0x37, 0xA9, 0xFA, 0xB5, 0xB3, 0xC8,
  0x86, 0x29, 0xFE, 0xFF, 0x7E, 0x0C, 0xFB, 0x1C, 0xE9, 0x3B, 0x16, 0xC8, 0x4E, 0x86, 0xD7, 0x78,
  0x85, 0x3D, 0x9E, 0xE3, 0x22, 0x03, 0x2C, 0xBC, 0x1A, 0xD4, 0x91, 0x81, 0xB0, 0xC9, 0xC6, 0xB6,
  0xE3, 0xED, 0x81, 0xEC, 0x00, 0x60, 0xF3, 0xB1, 0x3D, 0x59, 0xC2, 0x30, 0x85, 0x81, 0xD5, 0xB7,
  0xD5, 0xE0, 0x9E, 0xEB, 0x6F, 0x0F, 0x64, 0x17, 0x55, 0x4A, 0x5E, 0x00, 0x0B, 0x93, 0x15, 0x58,
  0xED, 0x10, 0xD4, 0x0F, 0x8F, 0xB7, 0xE3, 0xAB, 0xBF, 0x8F, 0x2A, 0xDB, 0x0D, 0xF3, 0xDD, 0xE9,
  0xEE, 0x51, 0xC1, 0x35, 0x84, 0x81, 0xA7, 0xE7, 0x2E, 0xCB, 0x0A, 0xAE, 0x5F, 0xBB, 0xA8, 0x52,
  0xF2, 0x02, 0xC8, 0x0D, 0xAA, 0x45, 0x36, 0xB6, 0x74, 0xEF, 0x1D, 0x15, 0x54, 0xBF, 0x76, 0x23,
  0xF9, 0xEE, 0x74, 0x37, 0xB6, 0x76, 0xEF, 0x1D, 0x15, 0xDC, 0xBA, 0xB9, 0xCB, 0x02, 0xD9, 0x45,
  0x91, 0xBC, 0xAF, 0x01, 0x0A, 0x35, 0xE7, 0x0F, 0x33, 0x32, 0xA8, 0x00, 0xB0, 0xB5, 0x7B, 0xAF,
  0xE3, 0xFC, 0xEB, 0xD7, 0x2E, 0x97, 0x61, 0x9B, 0x86, 0x8A, 0x15, 0xD2, 0x7B, 0xA9, 0xD8, 0xE5,
  0xE2, 0x35, 0x5E, 0x61, 0x8F, 0x67, 0xC9, 0x67, 0x80, 0x5C, 0xFC, 0x2E, 0xBE, 0xFC, 0xDA, 0x85,
  0x75, 0xCF, 0xA8, 0x30, 0xEE, 0x04, 0xC0, 0xA8, 0xC1, 0x02, 0xD0, 0x1C, 0x16, 0x80, 0xE6, 0xB0,
  0x00, 0x34, 0xC7, 0xF1, 0x6D, 0x92, 0x00, 0x90, 0xEA, 0x6C, 0x74, 0x7C, 0x5D, 0x68, 0x54, 0xAA,
  0x80, 0xDF, 0x36, 0x37, 0xB9, 0xB6, 0x5B, 0xDF, 0x9E, 0x73, 0x6D, 0x37, 0x17, 0x4E, 0x2E, 0xAA,
  0xFF, 0x4B, 0x77, 0xBC, 0xEC, 0xDA, 0x1E, 0x14, 0x59, 0xE5, 0x50, 0xBA, 0xAA, 0x85, 0xDF, 0x1C,
  0xCA, 0x8C, 0x86, 0x05, 0xA0, 0x39, 0x2C, 0x00, 0xCD, 0x51, 0x3E, 0x09, 0x54, 0x7D, 0x33, 0x65,
  0x68, 0x2C, 0x2A, 0x76, 0x07, 0xC6, 0x46, 0x54, 0xC6, 0x91, 0x33, 0x80, 0xE6, 0xB0, 0x00, 0x34,
  0x87, 0x05, 0xA0, 0x39, 0x2C, 0x00, 0xCD, 0x61, 0x01, 0x68, 0x0E, 0x0B, 0x40, 0x73, 0x58, 0x00,
  0x9A, 0x23, 0x3F, 0x07, 0x20, 0x0C, 0x40, 0x60, 0x62, 0x58, 0x0F, 0x96, 0x9D, 0x4D, 0x0F, 0x23,
  0xFB, 0x2D, 0x42, 0x17, 0xF2, 0x3C, 0x3E, 0xE7, 0x65, 0x0D, 0xF2, 0x0C, 0x20, 0x70, 0x4A, 0xE1,
  0x01, 0x4C, 0xB4, 0x91, 0xC6, 0xD2, 0x6D, 0x0A, 0xE8, 0x09, 0xA1, 0x23, 0x4C, 0x31, 0x20, 0x79,
  0x2C, 0xDD, 0x32, 0x40, 0x67, 0x28, 0x9D, 0x61, 0x0A, 0x8F, 0x21, 0xF6, 0xC9, 0x9A, 0xA4, 0x6B,
  0x00, 0xD3, 0xC4, 0x67, 0x56, 0x06, 0xEF, 0x01, 0x30, 0x43, 0xE9, 0xD4, 0x18, 0xF1, 0xAE, 0x96,
  0xF5, 0x68, 0xFF, 0xD2, 0xEB, 0x09, 0x21, 0xFB, 0x17, 0x8E, 0x8C, 0x05, 0xA3, 0x43, 0xD6, 0x28,
  0xCD, 0x00, 0x3B, 0x1E, 0x69, 0x39, 0x09, 0xE0, 0xE3, 0x30, 0x7A, 0xC4, 0x14, 0x0E, 0x01, 0x6C,
  0xDB, 0x5D, 0xD9, 0xDC, 0x2B, 0x6B, 0x77, 0xDF, 0x06, 0xDA, 0xF6, 0x6B, 0x00, 0xFA, 0xF3, 0xDD,
  0x29, 0xA6, 0x60, 0x9C, 0xCF, 0x98, 0x99, 0xD7, 0xDD, 0x0C, 0x5C, 0x05, 0x90, 0x5E, 0xB6, 0xF9,
  0x0F, 0x12, 0xF4, 0x38, 0x00, 0x2B, 0xAF, 0xDD, 0x62, 0x0A, 0x81, 0x2D, 0x04, 0x9E, 0xDC, 0xFD,
  0xE8, 0xD6, 0x3F, 0xDD, 0x8C, 0x3C, 0x0F, 0x82, 0x76, 0x56, 0xB6, 0xEE, 0x17, 0x10, 0x2F, 0x00,
  0x18, 0xFD, 0x27, 0xB4, 0x4C, 0x54, 0xB1, 0x89, 0xA8, 0xA9, 0xAD, 0xB2, 0x45, 0x3A, 0xF7, 0x0F,
  0xE3, 0xEB, 0x24, 0xB0, 0xAD, 0x6A, 0xD3, 0xFB, 0x20, 0x5A, 0x0E, 0x9E, 0x0E, 0x4A, 0x81, 0xF3,
  0x04, 0x51, 0xBD, 0x73, 0x69, 0x6B, 0xB3, 0x1F, 0x63, 0xDF, 0x47, 0xC1, 0xE9, 0xA5, 0xAD, 0xED,
  0x10, 0xE6, 0x6C, 0x02, 0xDE, 0x07, 0x90, 0x09, 0xDC, 0x3D, 0x26, 0x2C, 0x6C, 0x80, 0x3E, 0xB1,
  0xCC, 0xCC, 0xBC, 0x9D, 0x55, 0x9B, 0xA4, 0xDB, 0xBE, 0x5C, 0x94, 0x4A, 0xC2, 0xD2, 0x95, 0xCD,
  0x7D, 0x00, 0x9E, 0x5B, 0xD1, 0xB5, 0xF6, 0x9D, 0x18, 0x65, 0xAA, 0x09, 0xA2, 0x0A, 0xC0, 0x2C,
  0x10, 0xA6, 0x87, 0x79, 0x6C, 0xCC, 0x38, 0x30, 0x74, 0x54, 0xDF, 0x0B, 0x42, 0x0F, 0x01, 0x9D,
  0xB6, 0x61, 0xB6, 0xBB, 0xAD, 0xF6, 0x19, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x86,
  0xF8, 0x17, 0xDE, 0x1A, 0xA1, 0xFA, 0xD8, 0xAA, 0xBF, 0x34, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
  0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82
};