// File: contracts/fonts/LondrinaSolid.sol



// SPDX-License-Identifier: MIT

/*
 * This is a part of fully-on-chain.sol, a npm package that allows developers
 * to create fully on-chain generative art.
 *
 * Created by Satoshi Nakajima (@snakajima)
 */

pragma solidity ^0.8.6;

import "../packages/graphics/IFontProvider.sol";
import { Ownable } from '@openzeppelin/contracts/access/Ownable.sol';

contract LondrinaSolid is IFontProvider, Ownable {
  uint constant fixed_height = 1024;
  uint constant fixed_baseline = 800;

  uint16[0xe0] widths;
  mapping(uint => function() view returns(bytes memory)) fonts;
  address immutable public designer;

  function font_a() internal pure returns(bytes memory) {
    return "\x4d\x60\xe9\x14\x06\x63\xfd\x44\xef\xff\x44\xe8\xff\x44\xe8\x00\x55\x00\xbd\x44\xff\xa8\x44\xfd\x73\x40\xa5\xf7\x44\x9c\xfb\x04\x63\xfb\x54\x0b\x01\x55\x1b\x01\x55\x1b\xcd\x44\xe6\x43\x44\xcf\xf6\x53\x61\xb4\x54\x92\x11\x65\x70\x3a\x65\x8f\x2a\x55\x1f\x61\x55\x3d\xce\x45\xfe\x00\x55\x00\xfe\x54\x1f\x1b\x55\x23\x1d\x55\x05\x7d\x55\x01\x88\x55\x00\x73\x50\x1a\xfc\x54\x1b\xdb\x04\x63\x01\x45\xdf\x03\x35\x2a\x00\x35\x19\x5a\x00\x6d\x42\x64\x1d\x63\x50\x01\x5c\x45\xd3\x50\x45\xbd\x4e\x45\xe9\xfe\x44\xbb\xdd\x44\xc1\x7f\x54\x06\xa2\x54\x48\x9b\x54\x64\x9c\x54\x2d\x01\x55\x1d\x3c\x55\x1e\x98\x05\x5a";
  }
  function font_b() internal pure returns(bytes memory) {
    return "\x4d\x60\xe5\xc2\x06\x63\xee\x44\x7d\xc9\x44\x50\x90\x44\x44\xc7\x44\xf4\x77\x44\xf5\x4c\x54\x03\x00\x55\x00\x00\x45\x38\xfc\x44\x21\xdb\x44\xf0\x62\x44\xfc\x58\x44\xff\xfc\x54\x17\x01\x55\xda\xfe\x64\x37\xfd\x54\x5d\xfb\x64\xa9\xfb\x64\xc3\x00\x55\x00\xa0\x55\x06\xaf\x45\xff\x09\x45\xfd\x04\x45\xd8\x04\x45\xd8\x3c\x55\x3f\x7d\x55\x2c\xc3\x55\x09\x73\x50\x74\x43\x54\x62\xc0\x03\x5a\x6d\x40\x2f\xc9\x05\x63\xb3\x54\x1a\xad\x44\xda\xa9\x44\x9c\x00\x55\x00\xf9\x44\xbc\x02\x45\x85\x09\x45\xc9\x36\x45\xd0\x67\x45\xe9\x73\x50\x3b\xdc\x45\xee\xf5\x05\x5a";
  }
  function font_c() internal pure returns(bytes memory) {
    return "\x4d\x50\xbd\x3d\x07\x63\xfd\x54\x29\x06\x55\x46\x31\x55\x48\x73\x50\x3c\xf8\x54\x45\xb9\x04\x63\x00\x55\x00\x44\x55\x05\x5d\x55\x03\x73\x50\x41\xff\x54\x4a\x01\x05\x63\x00\x55\x00\xff\x54\x62\xf2\x54\x8a\x73\x40\xd2\x62\x45\x5b\x5e\x45\x5c\xfe\x44\x23\xcb\x04\x53\x13\x75\x56\x11\x75\x3e\x73\x40\xfb\x4d\x54\x02\x35\x54\x07\xa4\x54\x4c\x8a\x54\x85\xef\x54\x9c\xee\x54\x67\xf9\x54\xa6\x25\x55\x36\x7d\x55\x39\xab\x55\x03\x26\x55\x03\x26\x05\x63\x00\x55\x00\xd3\x54\x0a\xa7\x54\x05\x73\x40\xb1\xf6\x44\xb1\xf6\x04\x63\x00\x55\x00\xf3\x44\xc1\xd2\x44\xbe\x73\x40\xc5\x03\x45\xbc\x28\x45\xfc\x5c\x45\xfa\x7a\x05\x5a";
  }
  function font_d() internal pure returns(bytes memory) {
    return "\x4d\x60\xde\x62\x06\x63\xfd\x44\xa3\x01\x35\xe0\xfe\x34\xc9\xf7\x44\xfe\x7d\x44\xf2\x58\x54\x01\xfc\x54\x17\xfc\x54\xdf\xfc\x54\xdf\xd4\x44\xf2\x85\x44\xf1\x4c\x44\xfd\xc7\x54\x0c\xa2\x54\x39\x90\x54\xbc\xee\x54\x83\x1c\x65\x1d\x62\x65\x40\x73\x50\x87\x36\x55\xc3\xf7\x04\x63\x00\x55\x00\xfa\x54\x25\x04\x55\x28\x0f\x55\x07\xaf\x55\x01\xaf\x55\x01\x00\x45\xe6\xfe\x34\x9a\xfb\x34\x3d\x5a\x00\x6d\x55\x54\xc8\x63\x40\xfc\x3d\x45\xf6\x7d\x45\xa9\x64\x45\xb3\xe6\x44\xbe\x24\x44\xee\x0b\x04\x73\x5e\x45\xe0\x67\x55\x17\x63\x50\x09\x37\x55\x02\x7b\x55\x02\x7b\x05\x5a";
  }
  function font_e() internal pure returns(bytes memory) {
    return "\x4d\x60\x77\x42\x07\x63\xf2\x54\x01\xc4\x44\xff\xbb\x44\xfe\x00\x55\x00\x0a\x55\x43\xe9\x54\x55\x73\x40\xcd\x0b\x45\xb8\xf2\x04\x63\xeb\x44\xe7\xe5\x44\xac\xe9\x44\x89\x00\x55\x00\x03\x46\xff\x1e\x46\xf1\x00\x55\x00\x12\x45\x8d\xe8\x44\x4c\xd6\x44\xbf\x9e\x44\x90\x09\x44\x9c\x43\x50\x36\xf4\x55\x17\x5f\x56\x0f\x9d\x06\x63\xf8\x54\x3f\xf5\x54\xee\x33\x65\x41\x3f\x55\x53\x71\x55\x45\xae\x55\x48\x73\x50\xbe\x09\x55\xd7\xb3\x04\x63\x19\x45\xaa\x12\x45\x77\x12\x45\x6d\x00\x55\x00\xab\x44\xfb\x9e\x44\xfb\x5a\x00\x6d\x4b\x44\x4a\x63\x50\x05\xeb\x54\x12\xdb\x54\x2a\xd3\x54\x18\xf8\x54\x2b\xfc\x54\x43\x0a\x55\x18\x0e\x55\x1d\x47\x55\x18\x46\x45\xf6\xfe\x44\x85\xff\x44\x7d\xff\x44\xf7\xff\x44\xfa\xf3\x44\xfe\xde\x04\x5a";
  }
  function font_f() internal pure returns(bytes memory) {
    return "\x4d\x50\x55\x19\x06\x6c\xb3\x44\xff\x03\x55\x8c\x48\x50\x58\x73\x40\xfe\xb0\x45\xfe\xdf\x55\x02\x92\x55\x06\x9d\x05\x63\x00\x55\x00\x35\x55\x04\x55\x55\x00\x73\x50\x46\x01\x55\x4e\x00\x05\x63\x09\x45\xff\x07\x45\xf8\x07\x45\xee\x73\x50\x00\xa9\x53\x01\x95\x03\x63\x00\x55\x00\x8b\x55\x06\xa1\x55\x0a\x00\x55\x00\x06\x45\xc9\x06\x45\xb7\x73\x50\x00\xbf\x54\x02\xb6\x04\x6c\x59\x54\x00\x73\x40\xf6\xc4\x54\x16\xc0\x54\x68\xf1\x54\x91\xf5\x04\x63\x00\x55\x00\x12\x45\x84\xfe\x44\x64\x00\x55\x00\x44\x44\xf2\xfd\x53\x26\x73\x40\xac\x86\x45\xab\xbd\x05\x5a";
  }
  function font_g() internal pure returns(bytes memory) {
    return "\x4d\x60\xe0\xfe\x05\x73\x63\x44\xfb\x52\x54\x03\x63\x50\x00\x00\x45\xf9\x07\x45\xf8\x17\x45\xc9\xde\x44\x56\xdf\x44\x17\x30\x05\x43\x02\x65\x98\xfe\x74\x7b\x1e\x75\xc0\x63\x50\x20\x45\x55\x39\x7a\x65\x0d\x5a\x55\x00\x00\x55\x14\x49\x45\xe6\x61\x45\xd3\x17\x45\xc2\xf8\x44\xb9\xcb\x54\x00\x00\x45\x8d\xe9\x44\x58\x02\x55\x00\x00\x45\xf6\x5a\x55\x36\x83\x05\x73\x73\x55\x37\xd8\x55\x30\xa0\x45\xda\xad\x45\x8c\x04\x25\x7a\x04\x25\x77\x5a\x00\x6d\x52\x64\x43\x63\x40\xfc\x37\x55\x0d\x57\x45\xd0\x5e\x45\xc3\x08\x45\xa2\xc6\x44\xa0\x7e\x44\xff\xbf\x54\x1b\x78\x54\x58\x72\x54\x3d\xfa\x54\x3c\x7a\x55\x38\xb1\x05\x5a";
  }
  function font_h() internal pure returns(bytes memory) {
    return "\x4d\x50\x0c\x0c\x05\x73\x02\x85\x00\x00\x85\x1b\x63\x50\x00\x00\x55\x52\xff\x54\x6a\x01\x05\x73\x36\x45\xf6\x3c\x45\xf5\x63\x50\x00\x00\x55\x08\xb4\x54\x06\x9f\x04\x73\xf8\x44\x2d\xff\x44\x21\x17\x45\xd6\x38\x45\xdf\x26\x55\x17\x29\x55\x3c\x05\x65\x27\x08\x65\x2f\x63\x50\x00\x00\x55\x56\x01\x55\x68\x00\x05\x73\x36\x45\xfa\x3d\x45\xfa\x63\x50\x00\x00\x45\xfe\x60\x54\x00\x24\x04\x73\x06\x45\x20\xf2\x34\xfb\xa2\x44\x9a\x03\x44\xec\x63\x50\x00\x00\x55\x01\xf0\x53\x00\xe8\x03\x73\xea\x44\xf5\xcc\x44\xf8\xad\x54\x08\x87\x54\x01\x5a\x00";
  }
  function font_i() internal pure returns(bytes memory) {
    return "\x4d\x50\x10\xf8\x05\x73\xf7\x54\xf9\xfe\x64\x49\xfd\x54\xd5\xfa\x54\xe7\x63\x50\x14\xfa\x54\x40\xf7\x54\x72\xfb\x04\x73\x3b\x45\xfe\x44\x45\xf5\x63\x50\x00\x00\x55\x01\xbb\x53\x02\x92\x03\x73\x01\x45\x57\x01\x45\x57\x63\x50\x00\x00\x45\xa7\xf4\x44\x4f\xf7\x04\x5a\x4d\x50\x0b\x10\x05\x73\x01\x55\x62\x03\x55\x75\x02\x55\x24\x01\x55\x2b\x63\x50\x00\x00\x55\x5b\xff\x54\x7b\x02\x05\x73\x31\x55\x06\x37\x45\xfd\x63\x50\x00\x00\x45\xfa\x74\x44\xfb\x65\x54\x00\x00\x45\x6c\xfb\x44\x4d\xfb\x04\x5a";
  }
  function font_j() internal pure returns(bytes memory) {
    return "\x4d\x50\xb6\xfd\x05\x73\xfe\x64\xe1\xfc\x74\x06\x08\x55\x2c\xd6\x54\x3e\x8e\x54\x0f\x86\x54\x0c\x63\x50\x00\x00\x45\xec\x78\x45\xff\x9c\x55\x00\x00\x55\xae\x0c\x55\xf1\xe8\x04\x73\x58\x45\xd7\x5e\x45\x73\x0b\x25\xe4\x05\x25\xbc\x63\x50\x00\x00\x45\xc7\xfc\x44\xa3\x00\x05\x73\xc4\x54\x03\xb2\x44\xff\x5a\x00\x4d\xb0\x55\x0e\x73\x50\x05\x91\x55\x04\xa0\x05\x63\x00\x55\x00\x4e\x55\x00\x66\x55\x02\x73\x50\x3c\x04\x55\x48\xf0\x04\x63\x00\x55\x00\xff\x44\x7e\xfc\x44\x72\x00\x55\x00\x62\x44\xfd\x52\x44\xfc\x5a\x00";
  }
  function font_k() internal pure returns(bytes memory) {
    return "\x4d\x50\x17\x0b\x05\x73\xfd\x74\xed\xfe\x84\x14\x63\x50\x00\x00\x55\x28\x0a\x55\x5d\x06\x05\x73\x51\x55\x00\x51\x55\x00\x63\x50\x00\x00\x55\x0d\xc7\x54\x08\x5a\x04\x6c\x55\x55\xa5\x73\x50\x4c\x08\x55\x6e\x05\x55\x5e\xfc\x54\x5e\xfc\x04\x63\x00\x55\x00\x8a\x44\x22\x41\x34\xc0\x00\x55\x00\xb0\x45\x1a\xb6\x45\x0a\x00\x55\x00\xbe\x44\xfc\x8d\x54\x01\x73\x40\xaf\xf5\x44\xaf\xf5\x04\x63\x00\x55\x00\xd7\x54\x3b\xd1\x54\x44\x73\x40\xe1\x3f\x45\xd8\x43\x05\x63\x00\x55\x00\x05\x35\xbc\x01\x35\xa0\x00\x55\x00\xa8\x44\xfd\x4f\x44\xff\x5a\x00";
  }
  function font_l() internal pure returns(bytes memory) {
    return "\x4d\x50\x12\x0a\x05\x53\x02\x65\x38\x0e\x65\xa8\x73\x40\xfc\x82\x46\xfc\x82\x06\x63\x00\x55\x00\x2e\x45\xf5\x67\x45\xfa\x73\x50\x52\xf3\x54\x52\xf3\x04\x63\x00\x55\x00\xfa\x34\x50\xff\x24\xfe\x73\x50\x02\xf9\x53\x02\xf9\x03\x4c\x12\x55\x0a\x5a\x00";
  }
  function font_m() internal pure returns(bytes memory) {
    return "\x4d\x50\x0d\xfc\x05\x73\xff\x64\xdc\xff\x74\x27\x63\x50\x00\x00\x55\x47\x01\x55\x59\x03\x05\x73\x42\x45\xff\x4d\x45\xf7\x63\x50\x00\x00\x55\x06\xa4\x54\x04\x6a\x04\x73\xe9\x44\x2d\x2b\x45\x32\x36\x55\x26\x3a\x55\x9b\xff\x54\xc4\x03\x55\xcf\x63\x50\x00\x00\x55\x4e\x01\x55\x5d\x01\x05\x73\x42\x45\xfa\x48\x45\xfa\x63\x50\x00\x00\x55\x01\x41\x54\x02\x1b\x04\x73\xf5\x44\x7b\x21\x45\x7f\x30\x55\x33\x30\x55\x86\x01\x55\xcf\x04\x55\xe5\x63\x50\x00\x00\x55\x3f\x03\x55\x5b\x01\x05\x73\x45\x45\xf7\x4b\x45\xf8\x63\x50\x00\x00\x45\xfc\x38\x54\x01\x03\x04\x73\x0a\x45\x36\xe3\x44\x06\x4e\x44\xd2\x0b\x54\x08\x63\x50\x00\x00\x45\xb4\xa2\x44\x0a\xfb\x54\x00\x00\x55\x02\xe1\x44\xfd\xd7\x04\x73\xc9\x44\xfb\xb7\x44\xff\xaf\x54\x04\x9f\x44\xfd\x5a\x00";
  }
  function font_n() internal pure returns(bytes memory) {
    return "\x4d\x50\x07\xfb\x05\x73\xfe\x64\xd3\x01\x75\x28\x63\x50\x00\x00\x55\x41\xff\x54\x5d\x01\x05\x73\x3f\x45\xfa\x49\x45\xf6\x63\x50\x00\x00\x55\x06\x78\x44\xff\x22\x04\x73\x06\x45\x79\x2f\x45\x7a\x35\x55\x18\x3a\x55\xae\xff\x54\xa5\x03\x55\xbc\x63\x50\x00\x00\x55\x4e\x01\x55\x61\x02\x05\x73\x3a\x45\xfa\x45\x45\xf9\x63\x50\x00\x00\x45\xfc\x27\x54\x00\xe5\x03\x73\x08\x45\x36\xd3\x44\x15\x69\x44\xe9\x23\x54\x13\x63\x50\x00\x00\x55\x01\xe0\x44\xfb\xd7\x04\x73\xc0\x44\xfd\xa8\x44\xff\xc1\x54\x02\xae\x44\xfd\x5a\x00";
  }
  function font_o() internal pure returns(bytes memory) {
    return "\x4d\x60\xb2\x20\x06\x63\xc5\x44\xd0\x9c\x44\xcf\x51\x44\xcc\xb5\x44\xfd\x67\x54\x06\x3f\x54\x25\xd8\x54\x1f\xcb\x54\x93\xd1\x64\x01\x06\x55\x6e\x08\x55\xb3\x38\x55\xe2\x30\x55\x2f\x6f\x55\x38\xcc\x55\x37\x3c\x45\xff\xb0\x55\x09\xbf\x45\x7c\x0f\x45\x73\x16\x35\xa9\xdb\x34\x79\x5a\x00\x6d\x88\x54\xff\x63\x40\xfb\x34\x55\x04\x6f\x45\xba\x68\x45\xb6\xf9\x44\xce\x92\x44\xce\x7d\x54\x00\xa8\x54\x0f\x92\x54\x42\x97\x54\x33\x05\x55\x3b\x4f\x55\x36\x84\x05\x5a";
  }
  function font_p() internal pure returns(bytes memory) {
    return "\x4d\x60\xe5\xeb\x06\x63\xef\x44\x5b\xb2\x44\x1e\x4c\x44\x12\x9b\x44\xf4\xa2\x54\x0b\x94\x54\x16\x6c\x40\xfe\xe8\x04\x73\xc4\x44\xfe\xae\x44\xfe\xaf\x54\x01\xa2\x54\x00\x63\x50\x00\x00\x55\x00\x8b\x56\x05\xe2\x56\x05\x56\x55\x01\x01\x56\x01\x1c\x56\x00\x00\x55\x3b\x08\x55\x5e\x07\x05\x73\x3f\x45\xf8\x48\x45\xf5\x63\x50\x00\x00\x55\x0e\x5b\x54\x03\x23\x54\x00\x00\x55\x89\x1d\x55\xca\xf9\x04\x73\x6a\x45\x81\x58\x35\xdd\x5a\x00\x6d\xfb\x53\xab\x63\x40\xd8\xfc\x44\xe1\xb2\x44\xe0\x7a\x44\xfc\x79\x54\x2a\x76\x54\x42\x79\x54\x18\x03\x55\x4a\x11\x55\x4c\x92\x55\x02\x82\x45\xbb\x7e\x45\x93\x7a\x05\x5a";
  }
  function font_q() internal pure returns(bytes memory) {
    return "\x4d\x60\xe1\xf7\x05\x73\xc0\x54\x00\xa9\x44\xff\xb3\x54\x01\xab\x54\x03\x63\x40\xf8\x02\x45\xf8\x0a\x45\xf7\x1d\x55\x00\x00\x45\xd1\xd3\x44\x78\xeb\x04\x43\x4b\x65\x19\x0c\x65\x6f\x09\x75\x18\x63\x40\xfd\xa8\x55\x39\xf1\x55\x6f\xfc\x55\x36\x0b\x55\x9c\x0f\x55\xb5\xff\x54\x00\x00\x55\x01\x9c\x55\x03\xb5\x55\x02\x19\x55\x01\x1f\x55\x01\x28\x55\x00\x00\x55\x2b\x0e\x55\x5a\x0b\x55\x2f\xfd\x54\x48\xfb\x54\x4d\xfa\x54\x00\x00\x55\x07\x95\x53\x06\x40\x43\xff\xab\x54\x06\xd1\x53\x03\xc2\x03\x5a\x6d\x40\x21\x9e\x06\x63\xce\x54\x03\x9d\x44\xcd\xa0\x44\x7d\x03\x45\xb9\x1c\x45\x7a\x55\x45\x77\x39\x45\xfc\x3a\x55\x33\x3c\x55\x98\x02\x55\x65\x01\x55\x70\xcf\x54\x73\x5a\x00";
  }
  function font_r() internal pure returns(bytes memory) {
    return "\x4d\x50\x0b\xfb\x05\x73\x04\x65\x28\x02\x65\x67\x01\x55\xad\x00\x55\xc0\x63\x50\x00\x00\x55\x49\xff\x54\x64\x01\x05\x73\x42\x45\xf9\x4d\x45\xf5\x63\x50\x00\x00\x45\xff\x21\x44\xfd\xff\x03\x73\xf3\x44\x96\x45\x45\x98\x86\x55\x1f\x86\x55\x1f\x63\x50\x00\x00\x45\xfe\x48\x54\x00\x34\x54\x00\x00\x45\xc3\xfb\x44\xa5\xfc\x04\x73\xa1\x54\x0f\x96\x54\x17\x6c\x40\xfe\xe4\x04\x73\xdd\x44\xff\xb2\x54\x04\x9b\x44\xfc\x9b\x44\xfc\x5a\x00";
  }
  function font_s() internal pure returns(bytes memory) {
    return "\x4d\x50\x05\x70\x07\x73\x03\x55\x6a\x49\x55\x95\x63\x50\x46\x2c\x55\xe1\x47\x65\x49\x0b\x55\x69\xc3\x54\x5d\x19\x54\x18\xf4\x43\xbb\xdb\x44\x72\xd2\x44\x51\xcc\x44\xdf\xf9\x44\xcc\xc3\x44\xde\xb0\x54\x12\xec\x54\x27\xe4\x54\x3a\xee\x54\x13\x0b\x55\x1e\x20\x55\x1b\x3b\x55\x00\x00\x55\x37\x12\x55\x75\x0e\x55\x3e\xfd\x54\x43\xf6\x54\x43\xf6\x54\x00\x00\x45\xff\xa5\x44\xdc\x7c\x44\xdd\xd7\x44\xd1\xc8\x44\x53\xc2\x44\x82\xfa\x44\x5d\x0d\x45\x2d\x2e\x45\xd0\x22\x45\xc9\x5e\x45\xc9\x78\x45\xff\x4c\x55\x53\x85\x55\x7d\x95\x05\x73\x79\x55\x1a\x96\x55\x31\x63\x50\x0a\x08\x55\x0c\x27\x55\x07\x33\x45\xfa\x0d\x45\xfd\x11\x45\xeb\x19\x45\xf1\x07\x45\xb5\x09\x45\xad\xcb\x54\x00\x00\x45\xad\xfb\x44\x97\xfd\x44\xea\x01\x45\xb9\x01\x45\xac\x06\x05\x5a";
  }
  function font_t() internal pure returns(bytes memory) {
    return "\x4d\x50\x55\x21\x06\x6c\xb2\x44\xff\x73\x50\x01\x77\x45\xff\x8c\x05\x63\x00\x55\x00\x3d\x55\x02\x4b\x55\x01\x00\x55\x00\x02\x55\xbf\x0b\x55\xf9\x73\x50\x0a\x52\x55\x3c\x71\x55\xce\x36\x65\x0f\x28\x05\x63\x00\x55\x00\x0f\x45\xd0\x0b\x45\xa2\x73\x40\xf8\xc2\x44\xf8\xc2\x04\x63\x00\x55\x00\x8d\x54\x0d\x59\x44\xdb\x00\x55\x00\x04\x45\x38\x01\x45\x2d\x00\x55\x00\x9d\x45\xff\xa7\x55\x00\x00\x55\x00\xfe\x44\xce\x01\x45\xb6\x73\x40\xfd\xbb\x44\xfd\xbb\x04\x63\x00\x55\x00\xdb\x44\xff\xc1\x54\x01\x73\x40\x9b\x06\x45\x97\x05\x05\x63\x00\x55\x00\xff\x44\x38\xff\x44\x31\x00\x55\x00\xd8\x54\x08\xb2\x54\x01\x73\x40\xa3\xff\x44\xa3\xff\x04\x63\x00\x55\x00\x00\x55\xc3\xff\x54\xce\x5a\x00";
  }
  function font_u() internal pure returns(bytes memory) {
    return "\x4d\x50\x08\x0c\x06\x73\x05\x55\x8f\x01\x55\xe9\xf5\x64\x08\x2e\x65\x1c\x70\x55\x2d\xdc\x45\xee\x63\x50\x00\x00\x55\x02\x27\x55\x03\x29\x05\x73\x13\x55\x09\x5c\x55\x04\x50\x45\xff\x50\x45\xff\x63\x50\x00\x00\x55\x04\xce\x53\x00\x90\x03\x73\xfe\x44\x47\xfe\x44\x47\x63\x50\x00\x00\x45\xc6\x03\x45\xb4\x02\x05\x73\xc0\x54\x00\xa8\x54\x0a\x63\x50\x00\x00\x45\xf5\x69\x45\xfd\xa4\x05\x73\x11\x55\xb9\xd4\x54\xbf\xca\x44\xb3\xc6\x44\x55\x03\x45\x6b\xfd\x44\x3f\x63\x50\x00\x00\x45\xbb\xff\x44\xaa\xff\x04\x73\xae\x54\x08\xae\x54\x08\x5a\x00";
  }
  function font_v() internal pure returns(bytes memory) {
    return "\x4d\x50\x06\xfa\x05\x73\x67\x65\x81\x76\x75\x28\x63\x50\x00\x00\x55\x66\x03\x55\x81\x05\x05\x73\x5e\x45\xfa\x67\x45\xfa\x63\x50\x00\x00\x55\x73\xff\x52\x88\xde\x52\x00\x00\x45\xc0\xff\x44\xa7\xff\x04\x73\xb5\x54\x03\xab\x54\x03\x63\x50\x00\x00\x45\xe2\x64\x45\xda\x92\x05\x73\xe0\x54\xab\xe0\x54\xab\x63\x50\x00\x00\x45\xe2\x64\x44\xdd\x38\x04\x73\xed\x44\x97\xeb\x44\x8a\x63\x50\x00\x00\x45\xc6\xfb\x44\xa5\xfe\x04\x73\xa5\x44\xfd\xa1\x44\xfb\x5a\x00";
  }
  function font_w() internal pure returns(bytes memory) {
    return "\x4d\x50\x07\xf9\x05\x73\x3b\x55\xe1\x4c\x65\x4a\x27\x55\xc3\x28\x55\xe0\x63\x50\x00\x00\x55\x5f\x03\x55\x7e\x02\x05\x73\x5f\x45\xff\x68\x45\xfc\x1e\x45\x5c\x1e\x45\x5c\x63\x50\x00\x00\x55\x17\xa2\x55\x1b\xa6\x55\x00\x00\x55\x57\x03\x55\x71\x02\x05\x73\x61\x45\xff\x67\x45\xfb\x3c\x45\x05\x48\x35\xd1\x3a\x45\x13\x44\x45\x0e\x63\x50\x00\x00\x45\xc8\xfd\x44\xac\xfd\x04\x73\xaf\x54\x04\xa8\x54\x03\x63\x50\x00\x00\x45\xe0\x84\x45\xd9\xa1\x05\x73\xdd\x54\xa1\xdd\x54\xa1\x63\x50\x00\x00\x45\xe2\x6b\x44\xdf\x3e\x04\x73\xec\x44\x83\xea\x44\x80\xc9\x44\xfa\xb6\x44\xfb\xbc\x54\x02\xb5\x54\x00\x63\x50\x00\x00\x45\xea\x8d\x45\xe3\xa6\x05\x73\xd8\x54\xa3\xd8\x54\xa3\x63\x50\x00\x00\x45\xdf\x57\x44\xdc\x38\x04\x73\xf0\x44\x89\xed\x44\x83\x63\x50\x00\x00\x45\xd6\xfd\x44\xca\xfc\x54\x00\x00\x45\x94\x06\x45\x7c\xfc\x04\x5a";
  }
  function font_x() internal pure returns(bytes memory) {
    return "\x4d\x50\x07\x07\x06\x73\x51\x55\xc8\x5d\x65\x10\x63\x50\x00\x00\x45\xb6\xeb\x45\xad\x07\x56\x00\x00\x55\x25\x0d\x55\x61\x0b\x05\x73\x59\x55\x00\x59\x55\x00\x63\x50\x00\x00\x55\x27\x7d\x54\x2c\x73\x54\x00\x00\x55\x19\x76\x55\x25\x85\x55\x00\x00\x55\xa4\x04\x55\xbb\x09\x55\x01\x00\x55\x02\x00\x55\x02\x01\x55\x0e\x06\x45\xb5\x25\x44\xb3\xf0\x03\x73\x5e\x45\x06\x62\x35\xe6\x63\x50\x00\x00\x45\xa4\x01\x45\x88\x01\x05\x73\xa8\x54\x03\xa3\x54\x04\x63\x50\x00\x00\x45\xdf\x86\x45\xdc\x8c\x55\x00\x00\x45\xde\x85\x44\xdd\x7a\x04\x73\x97\x44\xf6\x89\x44\xf7\xae\x54\x04\xae\x54\x04\x5a\x00";
  }
  function font_y() internal pure returns(bytes memory) {
    return "\x4d\x50\x19\x01\x06\x73\x58\x65\x38\x66\x65\x83\x26\x55\x9c\x14\x55\xb7\xa8\x54\x17\x79\x54\x12\x63\x50\x00\x00\x45\xf2\x7a\x55\x09\x99\x55\x00\x00\x55\xa2\x14\x65\x03\xc7\x04\x73\x7a\x45\x6b\xb3\x35\x8e\x45\x35\xd1\x49\x35\xc8\x63\x50\x00\x00\x45\xb3\x00\x45\x9e\xff\x04\x73\xae\x54\x02\xa5\x54\x02\xe7\x54\x76\xe7\x54\x7c\xea\x54\xcb\xe1\x54\xd8\x63\x50\x00\x00\x45\xd7\x4b\x44\xd3\x20\x04\x73\xec\x44\x93\xea\x44\x8e\x63\x50\x00\x00\x45\xc4\xfe\x44\xa8\xff\x04\x73\xa8\x54\x01\x96\x44\xfb\x5a\x00";
  }
  function font_z() internal pure returns(bytes memory) {
    return "\x4d\x50\x13\xb5\x06\x73\xb0\x45\xe9\xea\x45\xec\x63\x50\x00\x00\x45\x94\x6f\x45\x80\x80\x05\x53\x10\x75\x91\x0e\x75\x98\x73\x40\xff\x36\x55\x01\x43\x55\x07\x41\x55\x01\x4a\x05\x63\x00\x55\x00\xfa\x45\xff\x13\x46\xfe\x73\x50\xb8\xfa\x54\xc4\xfc\x04\x63\x00\x55\x00\xff\x44\xa9\xff\x44\x9b\x73\x40\xfe\xcc\x44\xff\xc3\x04\x63\x00\x55\x00\x2c\x54\x05\x1c\x54\x06\x00\x55\x00\xe2\x45\x1e\xe9\x45\x16\x00\x55\x00\xff\x44\x7a\x01\x45\x6c\x00\x55\x00\x33\x43\xff\x2a\x53\x01\x00\x55\x00\x02\x55\x39\xff\x54\x58\x73\x50\x01\x58\x55\x01\x58\x05\x5a";
  }
  function font_A() internal pure returns(bytes memory) {
    return "\x4d\x60\xa6\x7b\x06\x63\xf5\x44\xd2\xb2\x34\xad\xb0\x34\xa6\x00\x55\x00\xbd\x54\x06\xa2\x54\x06\x73\x40\xab\x02\x45\xa6\x03\x05\x63\x00\x55\x00\xba\x64\x0a\xa7\x64\x86\x43\x50\x32\x2c\x57\x04\x0d\x58\x07\x1d\x08\x63\x00\x55\x00\x3f\x55\x03\x52\x55\x04\x12\x55\x01\x5b\x55\x05\x61\x55\x01\x73\x50\x17\xd1\x54\x21\x9f\x04\x63\x0a\x45\xce\x0e\x45\xb3\x11\x45\xae\x00\x55\x00\x24\x45\xfe\x29\x55\x00\x00\x55\x00\x17\x55\x44\x19\x55\x53\x73\x50\x17\x58\x55\x17\x59\x05\x63\x01\x55\x01\x45\x55\x0d\x64\x55\x0d\x73\x50\x4a\xfa\x54\x4e\xf8\x04\x63\x00\x55\x00\xba\x34\x88\xb0\x34\x5a\x5a\x00\x6d\x43\x54\x6a\x63\x50\x01\xf5\x54\x0e\x9f\x54\x0f\x89\x54\x01\xea\x54\x03\xb9\x54\x06\x95\x54\x00\x00\x55\x09\x5c\x55\x0b\x6b\x55\x02\x0f\x55\x0c\x77\x55\x0c\x77\x45\xfa\xff\x44\xd3\x00\x45\xd3\x00\x05\x5a";
  }
  function font_B() internal pure returns(bytes memory) {
    return "\x4d\x60\xe3\x0b\x07\x63\xea\x44\xd4\xbd\x44\xa8\xbb\x44\xa1\xfe\x44\xf8\x33\x45\xc5\x3b\x45\x5b\x08\x45\x96\xd8\x44\x46\x6f\x44\x23\x43\x50\xde\x07\x55\x43\x20\x55\x0c\x32\x05\x63\x00\x55\x00\x01\x65\x4e\x00\x65\x92\x73\x50\x02\x57\x56\x02\x57\x06\x63\x00\x55\x00\xa3\x55\x10\xf0\x55\x0e\x4d\x45\xff\xb7\x45\xe8\xdd\x45\x9f\x26\x45\xb7\x1d\x45\x70\x08\x45\x44\x5a\x00\x6d\x45\x54\x5c\x63\x40\xef\x26\x45\x9d\x1a\x45\x9d\x1a\x45\xed\xd7\x44\xf9\x8e\x54\x00\x77\x54\x00\x00\x55\x35\xfa\x54\x4e\x0d\x55\x19\x13\x55\x26\x3c\x55\x15\x62\x05\x5a\x6d\x40\xf4\xdd\x03\x63\xea\x54\x1d\xa9\x54\x14\xa9\x54\x14\x01\x45\xee\xfd\x44\x91\xfb\x44\x78\x0d\x55\x05\x20\x55\x04\x37\x55\x06\x17\x55\x01\x24\x55\x0a\x33\x55\x20\x10\x55\x16\x08\x55\x32\xf1\x54\x4e\x5a\x00";
  }
  function font_C() internal pure returns(bytes memory) {
    return "\x4d\x50\x0b\x31\x07\x63\x01\x55\x63\xef\x54\xe8\xbe\x55\xff\x73\x60\x1b\x95\x64\x31\x48\x44\xfa\x77\x44\xfa\x77\x04\x63\x00\x55\x00\xc7\x44\xf5\xa8\x44\xf8\x73\x40\xb5\xff\x44\xab\xfb\x04\x63\x00\x55\x00\xf8\x54\x3c\xf9\x54\x54\x73\x40\xe6\x46\x45\xc3\x3f\x45\xc8\xb3\x44\xc8\x79\x54\x01\x24\x54\x05\x09\x54\x09\xd6\x54\x34\xd5\x54\x32\x32\x55\x35\x89\x05\x63\x00\x55\x00\x2a\x55\x0e\x64\x55\x11\x73\x50\x49\xf5\x54\x58\xf7\x04\x63\x00\x55\x00\x23\x45\xbd\x00\x45\x59\x53\x60\x59\x09\x55\xf5\x0b\x55\x63\x27\x55\x42\x4b\x55\x0a\xba\x55\x0b\xd6\x05\x73\x00\x65\x5b\x00\x65\x5b\x5a\x00";
  }
  function font_D() internal pure returns(bytes memory) {
    return "\x4d\x60\xe5\xe4\x05\x63\xd5\x44\x9a\xc3\x44\x8b\xa4\x44\x70\xe1\x44\xe5\xb7\x44\xd4\xa9\x44\xd2\xf2\x44\xff\xc1\x54\x04\x9a\x54\x00\xd9\x44\xfc\x77\x54\x03\x4c\x54\x0f\x00\x55\x00\x05\x55\xd3\x02\x65\x2c\xfe\x54\x5a\x02\x65\x7b\x13\x65\xc0\x00\x55\x00\x28\x46\xfd\x35\x46\xfd\x00\x55\x00\x8d\x45\x54\x94\x35\xf5\x73\x50\x19\x36\x44\xee\xd1\x03\x5a\x4d\x60\x17\x2d\x07\x63\xe1\x54\x10\xbd\x54\x01\xbd\x54\x01\x00\x45\xfd\xff\x44\x8e\x03\x45\x6a\x03\x45\xdc\xfe\x44\xa5\xff\x44\x82\x00\x55\x00\x1c\x45\xf7\x3f\x45\xff\x73\x50\x34\x44\x55\x3d\x82\x05\x63\x09\x55\x3d\xe5\x54\x83\xc6\x54\x92\x5a\x00";
  }
  function font_E() internal pure returns(bytes memory) {
    return "\x4d\x50\x16\x32\x05\x63\xf8\x54\x44\xf9\x64\x44\xf8\x64\x79\x73\x50\x0b\x3d\x56\x05\x70\x06\x63\x00\x55\x00\xb3\x55\x0b\x13\x56\x08\x73\x50\xbc\xfb\x54\xc5\xfd\x04\x63\x00\x55\x00\x16\x45\xc1\x0b\x45\x67\x00\x55\x00\xa7\x54\x01\x74\x44\xff\x73\x40\x83\xfa\x44\x72\xfb\x04\x63\x00\x55\x00\xf7\x44\xa8\xff\x44\x81\x00\x55\x00\x09\x45\xfb\x1e\x45\xfe\x73\x50\x55\xff\x54\x64\xf6\x04\x63\x00\x55\x00\x09\x45\x85\xfe\x44\x64\x00\x55\x00\xcb\x44\xf7\x7e\x54\x06\x00\x55\x00\xf6\x44\xd5\xf9\x44\xb6\x73\x50\x06\xc9\x54\x06\xc9\x04\x63\x00\x55\x00\x8b\x45\xff\xaa\x45\xff\x73\x50\x69\xf7\x54\x71\xf2\x04\x63\x00\x55\x00\x05\x45\xad\x06\x45\x9b\x73\x40\xfc\xcc\x44\xfb\xc6\x04\x63\x00\x55\x00\x72\x44\xf7\x19\x44\xfc\x73\x40\x26\x08\x45\x0a\x07\x05\x5a";
  }
  function font_F() internal pure returns(bytes memory) {
    return "\x4d\x50\x13\x41\x05\x63\xff\x54\x3c\x05\x55\xee\x00\x65\x57\x73\x50\x02\x63\x46\xfe\x82\x06\x63\x00\x55\x00\xf2\x54\x0c\x6f\x55\x0c\x73\x50\x6d\xfa\x54\x6d\xfa\x04\x63\x00\x55\x00\x08\x45\x05\x0a\x35\xf9\x00\x55\x00\x29\x45\xf8\x52\x45\xf7\x73\x50\x38\xf9\x54\x3c\xf5\x44\xfd\xb6\x54\x00\x9f\x54\x01\xb0\x44\xfc\xa6\x04\x63\x00\x55\x00\xa6\x54\x0c\x75\x54\x03\x00\x55\x00\xf2\x44\xbc\x00\x45\xa6\x00\x55\x00\x87\x45\xf8\xa5\x45\xf7\x73\x50\x7a\xf9\x54\x7b\xf9\x04\x63\x00\x55\x00\x05\x45\xcb\x03\x45\xac\x73\x40\xfc\xb3\x44\xfd\xae\x04\x63\x00\x55\x00\xa4\x44\xe8\x01\x44\xed\x53\x50\x1d\x3e\x55\x13\x41\x05\x5a";
  }
  function font_G() internal pure returns(bytes memory) {
    return "\x4d\x50\x20\xab\x06\x63\x05\x55\xaf\x12\x65\x0e\x34\x65\x36\x73\x50\x55\x6a\x55\xfc\x4c\x55\xb3\x93\x54\xbb\x49\x54\x03\x42\x44\xfb\x28\x04\x63\x00\x55\x00\x7f\x44\xf8\x64\x44\xf8\x73\x40\xa2\x0b\x45\x99\x0c\x05\x63\x00\x55\x00\x05\x55\x31\x02\x55\x42\x73\x50\x01\x36\x55\x01\x36\x05\x63\x00\x55\x00\x1a\x55\x09\x39\x55\x08\x6c\x50\x1f\xff\x04\x73\xfc\x54\x52\xe6\x54\x59\xbb\x54\x1c\xa5\x44\xfb\xe7\x44\x73\xe7\x44\x0e\x14\x45\x58\x1d\x45\x4f\x1e\x45\xf3\x2d\x45\xf6\x12\x45\xff\x1b\x55\x09\x1d\x55\x22\x27\x55\x4f\x63\x50\x00\x00\x55\x35\x06\x55\x67\x05\x05\x73\x37\x55\x00\x42\x45\xff\x63\x50\x00\x00\x55\x0c\x9a\x44\xeb\x69\x04\x53\x99\x56\x23\x0a\x56\x26\x45\x55\x71\x32\x55\xb3\x73\x40\xec\xc2\x45\xee\xf9\x05\x5a";
  }
  function font_H() internal pure returns(bytes memory) {
    return "\x4d\x50\x12\x88\x06\x63\x03\x55\xa2\x10\x65\x80\x13\x65\x98\x00\x55\x00\x27\x45\xfc\x3d\x55\x01\x73\x50\x62\x05\x55\x6f\xf5\x54\x03\x24\x54\x04\x16\x54\x04\xcd\x54\x04\xcd\x04\x63\x00\x55\x00\x27\x45\xf7\x5a\x45\xff\x00\x55\x00\x0e\x55\x7b\x0c\x55\xbf\x73\x50\x08\x6e\x55\x08\x6e\x05\x63\x00\x55\x00\x49\x45\xfd\x5b\x45\xfe\x73\x50\x47\xfc\x54\x5d\xf9\x04\x63\x00\x55\x00\xf3\x34\xa8\xf1\x34\x85\x73\x40\xf1\x8d\x43\xf1\x82\x03\x63\x00\x55\x00\x92\x44\xf7\x4c\x54\x0f\x00\x55\x00\x09\x55\xc3\xfc\x64\x16\x00\x55\x00\xe8\x54\x04\xd9\x54\x05\x73\x40\xd3\xfc\x44\xd3\xfc\x04\x63\x00\x55\x00\xed\x44\x8e\xef\x44\x64\x73\x40\xf8\x83\x44\xf8\x83\x04\x63\x00\x55\x00\xe9\x44\xf6\xb4\x44\xf8\x73\x40\x9f\x02\x45\x9f\x02\x05\x63\x00\x55\x00\x01\x65\x2e\x03\x65\x5d\x5a\x00";
  }
  function font_I() internal pure returns(bytes memory) {
    return "\x4d\x50\x1b\x21\x05\x63\xfa\x54\x2f\xf4\x64\x23\xfa\x64\x82\x73\x50\x05\x5f\x46\xfd\x8b\x06\x63\x00\x55\x00\x25\x45\xf3\x66\x45\xfa\x73\x50\x7b\xf9\x54\x7d\xf0\x44\xf5\xe9\x43\xfb\xa4\x53\x07\x7b\x53\x06\x67\x03\x63\x00\x55\x00\xb8\x54\x00\x97\x44\xff\x73\x40\x95\xfc\x44\x8d\xfd\x04\x5a";
  }
  function font_J() internal pure returns(bytes memory) {
    return "\x4d\x50\x11\xe6\x06\x63\xfd\x54\x1e\xfe\x54\xd3\x4b\x65\x18\x73\x50\xef\x37\x65\x3f\x01\x55\x59\x80\x54\x5e\xfe\x43\xff\xd4\x53\x00\x98\x43\xff\x86\x44\xff\x86\x04\x63\x00\x55\x00\xc1\x54\x00\x9f\x54\x01\x73\x40\xa3\x01\x45\xa3\x01\x05\x63\x00\x55\x00\xfc\x54\xf7\xfc\x64\x15\x73\x50\x04\xb5\x55\x04\xd4\x45\xff\x60\x45\xd6\x62\x45\xc8\xae\x44\xc8\x81\x04\x63\x00\x55\x00\xc9\x44\xf5\x99\x44\xf5\x73\x40\xa1\x09\x45\xa1\x09\x05\x5a";
  }
  function font_K() internal pure returns(bytes memory) {
    return "\x4d\x50\x1e\x29\x05\x73\x00\x65\x10\xfb\x64\x79\xff\x64\x65\x03\x65\x78\x63\x50\x00\x00\x55\x35\x0e\x55\x6e\x0b\x05\x73\x4e\x45\xf5\x4e\x45\xf5\x63\x50\x00\x00\x45\xfc\x1b\x44\xfd\x0d\x54\x00\x00\x55\x0f\x3b\x55\x16\x49\x05\x73\x46\x55\x9a\x63\x55\xb1\x63\x50\x00\x00\x55\x43\x03\x55\x5e\x04\x05\x73\x52\x45\xfa\x54\x45\xf7\x63\x50\x00\x00\x45\xaf\x53\x44\x9b\x2a\x04\x73\xac\x44\x56\xac\x44\x56\x63\x50\x00\x00\x55\x43\x7a\x54\x54\x64\x04\x73\x65\x45\x4e\x65\x45\x2e\x63\x50\x00\x00\x45\xcf\xfa\x44\xad\xfb\x04\x73\xac\x44\xff\xa4\x44\xff\x63\x50\x00\x00\x45\xca\x55\x45\xc0\x6a\x05\x73\xc9\x54\x6d\xbf\x54\x76\x63\x50\x00\x00\x45\xff\x89\x54\x00\x76\x04\x73\x01\x45\xae\xff\x44\xac\x63\x50\x00\x00\x45\xbb\x01\x45\xa5\xff\x04\x73\xa9\x44\xff\xa9\x44\xff\x5a\x00";
  }
  function font_L() internal pure returns(bytes memory) {
    return "\x4d\x50\x17\x27\x05\x73\x06\x65\x56\x05\x65\x7b\xfa\x64\x78\xf9\x64\x82\x63\x50\x00\x00\x55\xca\x03\x55\xfe\x02\x05\x73\xb7\x45\xfd\xcb\x45\xfe\x1e\x45\xf5\x1d\x45\xe0\xfe\x44\xb1\xfe\x44\xa6\x04\x45\xd3\x01\x45\xca\x63\x50\x00\x00\x45\xad\x02\x45\x8d\xff\x04\x73\x67\x44\xf8\x5d\x44\xf9\x63\x50\x00\x00\x55\x01\xd1\x43\xfd\xa4\x03\x73\x01\x45\x22\x02\x45\x1a\x63\x50\x00\x00\x45\xd3\xef\x44\x9b\xef\x04\x53\x17\x55\x27\x17\x55\x27\x5a\x00";
  }
  function font_M() internal pure returns(bytes memory) {
    return "\x4d\x50\x1a\x3b\x05\x73\xfe\x64\x3d\xfd\x64\x79\xff\x64\x67\x04\x65\x6f\x63\x50\x00\x00\x55\x3f\x03\x55\x58\x03\x05\x73\x58\x45\xfc\x62\x45\xf8\x63\x50\x00\x00\x45\xf8\x60\x44\xf8\x41\x04\x73\xfe\x44\x76\xff\x44\x71\x63\x50\x00\x00\x55\x1f\x4e\x55\x38\x4d\x05\x73\x2c\x45\xcc\x3b\x45\xb2\x63\x50\x00\x00\x55\x06\xb1\x55\x06\xca\x05\x73\x03\x55\x81\x03\x55\x8a\x63\x50\x00\x00\x55\x4c\xfe\x54\x5f\xfe\x04\x73\x46\x55\x02\x4e\x55\x06\x63\x50\x00\x00\x55\x04\x01\x54\x03\xd7\x03\x73\x01\x35\xc9\x01\x35\xad\x00\x45\x84\x01\x45\x80\x63\x50\x00\x00\x45\xaf\x02\x45\x9c\x03\x05\x73\xb4\x54\x03\xab\x44\xfe\x63\x50\x00\x00\x45\xc7\x89\x45\xc8\x93\x55\x00\x00\x45\xd3\x81\x44\xbf\x72\x54\x00\x00\x45\xc3\x02\x45\xac\x00\x05\x73\xb5\x54\x03\xa7\x54\x09\x5a\x00";
  }
  function font_N() internal pure returns(bytes memory) {
    return "\x4d\x50\x1f\x2b\x05\x73\xf7\x54\xaa\xf7\x54\xf3\x03\x65\xf7\x03\x75\x03\x63\x50\x00\x00\x55\x41\x03\x55\x53\x06\x05\x73\x4e\x55\x04\x63\x45\xf9\x63\x50\x00\x00\x55\x01\xe2\x53\x01\xd5\x53\x00\x00\x55\x3a\x8e\x55\x41\x9a\x05\x73\x43\x55\x94\x43\x55\x94\x63\x50\x00\x00\x55\x45\x03\x55\x55\x05\x05\x73\x46\x55\x01\x4e\x45\xf9\x63\x50\x00\x00\x55\x01\x6c\x53\x01\x4e\x03\x73\x01\x35\xc4\x00\x35\xb8\x63\x50\x00\x00\x45\xdb\xf5\x44\xa8\xf5\x04\x73\xa3\x54\x08\xa3\x54\x08\x63\x50\x00\x00\x45\xfe\x6d\x45\xff\x91\x05\x73\x03\x55\x91\x03\x55\x91\x63\x50\x00\x00\x45\xcc\x8c\x44\xc0\x6d\x04\x73\xcb\x44\x85\xc6\x44\x7f\x53\x50\x6e\x18\x55\x1f\x2b\x05\x5a";
  }
  function font_O() internal pure returns(bytes memory) {
    return "\x4d\x60\xc2\x68\x05\x63\xcd\x44\xd2\x89\x44\xbc\x31\x44\xbf\xa8\x54\x03\x70\x54\x27\x62\x54\x2e\xf3\x54\x07\xd0\x54\x46\xc4\x54\x8c\x73\x40\xf6\xd7\x45\xf6\xd7\x05\x63\x04\x55\x6d\x06\x55\xa2\x09\x55\xc8\x04\x55\x26\x0f\x55\x88\x6b\x55\xa3\x5c\x55\x1b\xd0\x55\x17\x26\x46\xdc\x73\x50\x4c\x16\x54\x4f\xe4\x03\x63\x03\x45\xcf\x01\x45\x63\x04\x45\x3c\x03\x45\xd9\xf8\x44\x77\xc6\x44\x49\x5a\x00\x6d\x90\x64\xa5\x63\x40\xfe\x49\x55\x03\x65\x45\xcf\x7b\x45\xcd\x17\x45\xa8\xf9\x44\x9c\xe5\x44\xf4\xec\x44\xf0\x86\x44\xe8\x62\x54\x00\x00\x45\xff\xf2\x54\x01\x9c\x54\x01\xaa\x54\x23\x70\x54\x4e\x62\x54\x2b\xf2\x54\x40\x05\x55\x51\x2b\x05\x73\x0f\x55\xcc\x0d\x65\x15\x5a\x00";
  }
  function font_P() internal pure returns(bytes memory) {
    return "\x4d\x60\xfb\xb0\x05\x43\xd2\x56\x4f\x59\x56\x20\xda\x55\x19\x53\x50\x0f\x30\x55\x0f\x30\x05\x63\x00\x55\x00\x00\x55\x01\x00\x55\x02\x01\x55\x1a\x06\x65\x3a\x03\x65\x78\xfd\x54\x41\x04\x65\x65\x04\x65\x72\x00\x55\x00\x37\x55\x07\x6d\x55\x06\x36\x45\xff\x48\x45\xfc\x51\x45\xfa\x0a\x45\xfe\x13\x45\xfc\x15\x45\xfc\x00\x55\x00\x01\x45\x76\x01\x45\x5f\x73\x50\x02\x9d\x54\x00\x95\x04\x63\x00\x55\x00\x78\x55\x0d\xd1\x45\xb8\x5a\x45\xab\x69\x45\x4d\x3f\x35\xec\x5a\x00\x6d\x47\x54\xa1\x63\x40\xea\x1a\x45\x93\x13\x45\x93\x13\x45\xfc\xf6\x44\xf8\xcb\x44\xf8\xb6\x04\x73\xfe\x44\xac\xfe\x44\xac\x63\x50\x69\xfb\x54\x78\x1f\x55\x83\x37\x05\x73\x0a\x55\x3a\xf4\x54\x54\x5a\x00";
  }
  function font_Q() internal pure returns(bytes memory) {
    return "\x4d\x60\xee\x91\x05\x63\xe3\x44\xb5\xbb\x44\x9f\x95\x44\x90\x73\x40\x4d\xf5\x44\x1f\x08\x05\x63\xd1\x54\x13\x91\x54\x22\x82\x54\x90\xf0\x54\x6e\xf3\x64\x21\xf3\x64\x21\x02\x55\x7f\x09\x55\xa6\x13\x55\xc6\x0b\x55\x20\x4b\x55\x7e\xbd\x55\x87\x71\x55\x09\x8b\x45\xec\x8b\x45\xec\x00\x55\x00\x17\x55\x17\x27\x55\x19\x10\x55\x02\x36\x45\xf5\x50\x45\xdb\x1b\x45\xe6\x10\x45\xda\xf8\x44\xc1\x00\x55\x00\x19\x45\xcc\x1f\x45\xb4\x73\x50\x0e\x67\x54\x0f\x1e\x04\x63\x01\x45\xb7\xfa\x44\x41\xde\x34\xf6\x5a\x00\x6d\x78\x64\xa1\x63\x40\xfe\xfb\x44\xf6\xec\x44\xdb\xed\x44\xe5\x01\x45\xe6\x0b\x45\xc9\x1f\x45\xe2\x15\x45\xde\x15\x45\xe2\x28\x55\x04\x13\x55\x2a\x37\x55\x2a\x37\x45\xab\xfb\x44\xab\xb5\x44\xa8\x9f\x44\xfd\xea\x44\xff\x53\x44\xff\x53\x54\x00\x00\x55\x07\x62\x54\x10\x4d\x54\x09\xea\x54\x2b\xe1\x54\x63\xea\x54\x38\x09\x55\x35\x6a\x55\x38\x9e\x55\x03\x34\x45\xff\xcd\x45\xff\xcd\x05\x5a";
  }
  function font_R() internal pure returns(bytes memory) {
    return "\x4d\x70\x03\xbf\x07\x63\xdd\x44\xc4\x6f\x44\x23\x6e\x44\x1b\x00\x55\x00\x70\x45\xfe\x9e\x45\x81\x2f\x45\x83\xfd\x44\x45\xbb\x44\x02\x43\x60\x88\x19\x65\x18\x14\x55\xdd\x15\x55\xa2\x17\x55\x15\x28\x55\x07\x2b\x05\x63\x00\x55\x00\x0c\x55\x84\x0b\x65\x12\x73\x50\x04\x76\x56\x05\xa5\x06\x63\x01\x55\x2e\x05\x55\x3e\x08\x55\x40\x73\x50\x53\x01\x55\x65\x02\x05\x63\x13\x55\x01\x5b\x45\xfb\x67\x45\xee\x00\x55\x00\xf5\x44\x2f\xf8\x44\x20\x00\x55\x00\x53\x55\x81\x7c\x55\xee\x00\x55\x00\x49\x55\x07\x73\x55\x03\x29\x45\xfc\x59\x45\xfb\x60\x45\xfd\x00\x55\x00\xf5\x44\xdb\xd2\x44\x9e\x5a\x00\x6d\x27\x34\x84\x63\x40\xf6\x04\x45\xa5\x08\x45\xa1\x01\x45\xfc\xfa\x44\xf9\x83\x44\xf9\x83\x54\x00\x00\x55\x2c\xf6\x54\x40\xf9\x04\x73\x3d\x55\x01\x41\x55\x38\x63\x50\x04\x37\x45\xee\x46\x45\xe4\x4a\x05\x5a";
  }
  function font_S() internal pure returns(bytes memory) {
    return "\x4d\x50\x1e\x3e\x07\x73\xf0\x54\x62\x46\x55\xa5\xeb\x55\x6a\x5e\x56\x1d\x66\x45\x21\x52\x35\xf3\xc8\x44\xa3\x9b\x44\x8a\xb8\x44\xd6\x80\x44\xce\xc6\x44\xcf\xcc\x44\xb9\x10\x45\xd0\x37\x45\xd8\x36\x55\x2b\x2d\x55\x45\x63\x50\x00\x00\x55\x28\x0f\x55\x65\x0d\x05\x73\x55\x45\xf6\x5d\x45\xf8\x63\x50\x00\x00\x55\x1f\xa4\x44\xe0\x56\x04\x53\x59\x56\x2a\x18\x56\x29\x74\x55\x4d\x42\x55\xad\x73\x40\xea\xbc\x55\x1c\xf9\x55\x63\x3c\x55\xa8\x4d\x55\x54\x38\x55\x4c\x62\x45\xd3\x2e\x45\xbe\x27\x45\xd3\xe4\x44\xd1\xbe\x04\x63\x00\x55\x00\xb2\x54\x00\xa0\x44\xfe\x73\x40\xa5\x03\x45\x9c\x06\x05\x5a";
  }
  function font_T() internal pure returns(bytes memory) {
    return "\x4d\x50\x14\x24\x05\x73\xfe\x54\x9e\x07\x55\xb2\x63\x50\x00\x00\x55\x15\x07\x55\x41\x06\x05\x73\x36\x45\xff\x3f\x55\x05\x63\x50\x00\x00\x55\x0a\xe4\x55\x08\x01\x06\x73\x01\x55\xc3\xff\x54\xf1\x01\x55\x51\x05\x55\x56\x63\x50\x00\x00\x55\x55\xf7\x54\x6b\xf9\x04\x73\x5a\x45\xfc\x60\x45\xfa\x63\x50\x00\x00\x45\xfd\xbf\x43\xfb\x9c\x03\x73\xfe\x44\x2b\x01\x45\x26\x71\x45\xfe\x86\x55\x05\x63\x50\x00\x00\x55\x08\xc7\x54\x08\xb1\x04\x73\xff\x44\x9f\xfe\x44\x9a\x63\x50\x00\x00\x45\x5e\xf5\x44\x36\xf5\x04\x73\xe3\x53\x02\xe3\x53\x02\x5a\x00";
  }
  function font_U() internal pure returns(bytes memory) {
    return "\x4d\x50\x14\x3d\x05\x73\x01\x65\x26\xfd\x64\x75\xfc\x54\xe0\x03\x55\xf1\x28\x55\x8d\xfb\x55\x91\xe1\x45\x5c\xe8\x45\x2a\x11\x35\xe8\x10\x35\xbf\xfb\x44\x34\xfa\x44\x2c\x68\x40\xf6\x73\x40\xe8\xe9\x44\x4c\xff\x04\x63\x00\x55\x00\xfb\x64\x48\xfb\x64\x5c\x73\x40\xfd\x9d\x45\xfb\xab\x45\xf3\x34\x45\xcd\x36\x45\xce\xd5\x44\xce\xbe\x44\xee\xe8\x43\xf3\x9a\x53\x02\x73\x54\x05\x6a\x04\x63\x00\x55\x00\xd8\x44\xf3\xa1\x44\xf3\x73\x40\xb6\x04\x45\xa7\x02\x05\x5a";
  }
  function font_V() internal pure returns(bytes memory) {
    return "\x4d\x50\x15\x42\x05\x73\x1a\x55\xf5\x26\x65\x41\x2f\x55\xfa\x35\x65\x10\x21\x55\x84\x23\x55\x87\x33\x55\x0f\x5a\x55\x0d\x5e\x45\xfc\x63\x45\xfc\x63\x50\x00\x00\x55\x68\x76\x53\x6f\x5b\x03\x53\x06\x57\x45\x05\x57\x39\x63\x50\x00\x00\x45\xf1\x01\x45\xe9\xff\x04\x73\xbe\x44\xfc\xa5\x44\xfc\xc1\x44\xfb\xb8\x44\xf8\x63\x50\x00\x00\x45\xe7\x70\x45\xe3\x92\x05\x73\xcf\x64\x1e\xca\x64\x27\x63\x50\x00\x00\x45\xea\x68\x44\xe9\x49\x04\x73\xee\x44\x0c\xee\x44\x06\x63\x50\x00\x00\x45\xbb\xf4\x44\x94\xf9\x04\x73\xbe\x54\x08\xb4\x54\x15\x5a\x00";
  }
  function font_W() internal pure returns(bytes memory) {
    return "\x4d\x50\x16\x2e\x05\x73\x10\x65\x16\x19\x65\x5d\x2e\x65\x73\x36\x65\x91\x63\x50\x00\x00\x55\x43\x0e\x55\x7a\xff\x54\x00\x00\x55\x2b\x7b\x54\x2e\x68\x54\x00\x00\x55\x16\x4c\x55\x1a\x61\x05\x73\x16\x55\x39\x1b\x55\x3d\x63\x50\x00\x00\x55\x6c\x05\x55\x74\xfb\x54\x00\x00\x55\x27\x69\x53\x29\x58\x03\x73\x1f\x35\xc1\x1f\x35\xbf\xfa\x44\xfa\xf7\x44\xf9\x92\x44\xf5\x52\x54\x05\x63\x50\x00\x00\x45\xf1\x54\x46\xf3\x76\x56\x00\x00\x45\xf2\x92\x44\xcb\x78\x54\x00\x00\x45\xec\x1d\x45\xe7\x39\x05\x73\xf0\x54\x51\xf0\x54\x51\x63\x50\x00\x00\x45\xf6\x70\x44\xf8\x4c\x04\x73\xfc\x44\x3b\xfc\x44\x35\x63\x50\x00\x00\x45\xb3\xfe\x44\xa7\xfd\x04\x73\xaa\x54\x03\x9e\x54\x07\x5a\x00";
  }
  function font_X() internal pure returns(bytes memory) {
    return "\x4d\x50\x09\x35\x05\x73\x40\x55\x93\x4f\x55\xc7\x2f\x55\x94\x2e\x55\xad\xce\x54\xaa\xc8\x54\xbe\xcd\x54\xa5\xc9\x54\xad\x63\x50\x00\x00\x55\x28\x10\x55\x60\x0e\x05\x73\x50\x45\xfd\x50\x45\xfd\x63\x50\x00\x00\x55\x1e\xaf\x54\x25\x98\x04\x73\x1f\x45\x96\x1f\x45\x96\x63\x50\x00\x00\x55\x1c\x6a\x55\x20\x7a\x05\x73\x13\x55\x48\x19\x55\x51\x63\x50\x00\x00\x55\x30\x0e\x55\x5d\x09\x05\x73\x52\x55\x01\x57\x55\x02\x63\x50\x00\x00\x45\xe5\x9f\x44\xd8\x6e\x04\x73\xc5\x44\x3a\xc2\x44\x1d\x63\x50\x00\x00\x55\x34\x52\x54\x41\x29\x04\x73\x34\x45\x51\x34\x45\x51\x63\x50\x00\x00\x45\xb3\x01\x45\xa2\x01\x05\x73\xa1\x54\x03\x99\x54\x04\x63\x50\x00\x00\x45\xca\xc9\x45\xc5\xd0\x55\x00\x00\x45\xe3\xa5\x44\xe0\x93\x04\x73\xe8\x44\xa0\xe8\x44\xa0\x63\x50\x00\x00\x45\x76\xff\x44\x3b\x05\x05\x5a";
  }
  function font_Y() internal pure returns(bytes memory) {
    return "\x4d\x50\x17\x30\x05\x73\x19\x55\x59\x30\x55\x8d\x57\x55\xdc\x57\x55\xe8\x63\x50\x00\x00\x45\xc5\x9e\x45\xbd\xb1\x05\x53\x12\x85\x1d\x10\x85\x22\x63\x50\x00\x00\x55\x42\x04\x55\x64\x03\x05\x73\x4a\x45\xfd\x58\x55\x01\x63\x50\x00\x00\x55\x3f\x56\x54\x55\x2e\x04\x53\xb6\x66\x15\xcb\x56\xe0\x73\x50\x39\x5f\x54\x3a\x51\x04\x63\x00\x55\x00\xb2\x44\xf2\x4c\x54\x07\x00\x55\x00\xbb\x54\xc7\xb9\x54\xcc\x00\x55\x00\xbe\x44\x48\xbc\x44\x34\x00\x55\x00\xeb\x44\xee\xab\x44\xf3\x73\x40\xc0\x08\x45\xa5\x07\x05\x5a";
  }
  function font_Z() internal pure returns(bytes memory) {
    return "\x4d\x50\x0b\x33\x05\x73\x0a\x55\x33\x09\x55\x4f\x03\x55\x4b\x0d\x55\x54\x63\x50\x00\x00\x55\xeb\x06\x55\xfc\x0c\x55\x00\x00\x45\x8a\xa5\x45\x7a\xb9\x05\x53\x26\x75\x4a\x19\x75\x73\x63\x50\x00\x00\x55\x01\x44\x55\x01\x5c\x05\x73\x04\x55\x4e\x0c\x55\x58\x63\x50\x00\x00\x55\xab\xf8\x54\xcf\xf9\x04\x73\xdb\x55\x03\x06\x56\x07\x63\x50\x00\x00\x55\x0e\x6b\x54\x02\x46\x54\x00\x00\x45\x0c\xff\x34\xf6\x08\x55\x00\x00\x55\x92\x2d\x54\xa4\x14\x04\x73\x6a\x45\x64\x6d\x45\x59\x01\x45\xad\x02\x45\x9d\xff\x44\xb5\xfc\x44\xb0\x63\x50\x00\x00\x45\x35\xfd\x44\x12\xfc\x04\x73\x3f\x54\x01\xf7\x53\x09\x5a\x00";
  }
  function font_0() internal pure returns(bytes memory) {
    return "\x4d\x60\xd1\x74\x05\x43\x8a\x56\x1f\x29\x56\x0b\xd2\x55\x21\x63\x50\x00\x00\x45\x62\x2e\x45\x4a\xc5\x45\xf4\x19\x45\xf5\x4b\x45\xf3\xb0\x45\xff\x65\x45\xfe\xeb\x55\x39\x2e\x56\x3b\x44\x55\x8b\x73\x65\x0c\x4c\x05\x73\xc0\x45\x02\xc5\x35\x97\x63\x50\x05\x95\x44\xfe\x21\x44\xb7\xcd\x03\x5a\x6d\x40\x75\x54\x06\x63\xfc\x54\x83\xe6\x54\x99\xc7\x54\x9a\xe0\x54\x01\xe3\x44\xf5\xd2\x44\xc9\xef\x44\xd5\xef\x44\x66\xef\x44\x66\x0b\x45\x72\x0b\x45\x3e\x40\x45\x40\x73\x50\x3d\x73\x55\x39\xf7\x05\x5a";
  }
  function font_1() internal pure returns(bytes memory) {
    return "\x4d\x50\xbc\x27\x06\x73\xf7\x54\xf4\xf5\x64\x27\xfe\x54\xc6\xfe\x54\xc6\x63\x50\x00\x00\x55\x4e\x0d\x55\x7c\x0c\x05\x73\x4e\x45\xfb\x4f\x45\xea\x05\x35\x8a\x08\x35\x61\x04\x35\xbd\xfe\x34\xaf\x63\x50\x00\x00\x45\xa1\xfa\x44\x7e\xfb\x04\x73\x9d\x54\x02\x99\x54\x01\x63\x50\x00\x00\x45\xbd\x64\x45\xac\x80\x05\x53\x09\x55\xfb\x0a\x65\x0d\x63\x50\x00\x00\x55\x1b\x14\x55\x4b\x1f\x05\x73\x46\x55\x0f\x4b\x55\x0f\x18\x45\xf9\x1c\x45\xed\x5a\x00";
  }
  function font_2() internal pure returns(bytes memory) {
    return "\x4d\x50\xd3\x57\x06\x73\x0a\x45\xa6\x18\x45\x93\x39\x45\xd6\x4b\x55\x0d\xfe\x54\x66\xcc\x54\x81\xb4\x54\x33\x7f\x54\x53\xb6\x54\x3b\xb2\x54\x41\xe8\x54\x24\xe3\x54\x4f\xf6\x54\xbb\xf5\x54\xc3\x63\x50\x00\x00\x55\x0f\x04\x55\x1e\x05\x05\x73\xbd\x45\xfb\xd4\x45\xfb\xee\x45\xfd\xf6\x45\xfd\x08\x45\xfa\x08\x45\xf7\xfd\x44\xb7\xff\x44\xab\xfd\x44\xcc\xf6\x44\xbc\x63\x50\x00\x00\x45\x04\x06\x35\xe9\x02\x55\x00\x00\x55\x23\xb5\x54\x48\x9f\x04\x73\x99\x45\xb4\xb9\x45\x90\x31\x45\xc5\x31\x45\x7f\xfc\x44\x56\xa4\x44\x14\xf2\x43\xe0\xc0\x53\x02\x53\x40\xf6\xbb\x55\x15\x58\x06\x63\x00\x55\x00\x39\x55\x15\xbe\x45\xff\x5a\x00";
  }
  function font_3() internal pure returns(bytes memory) {
    return "\x4d\x50\xbb\x0f\x06\x73\x18\x45\xce\x4c\x45\xc4\x32\x55\x3d\x30\x55\x47\xfd\x54\x22\xcf\x54\x25\xaa\x54\x06\x9b\x54\x0e\x63\x50\x00\x00\x55\x04\x3c\x45\xff\x56\x05\x73\x09\x55\x44\x0d\x55\x48\x63\x50\x00\x00\x55\x35\xf3\x54\x4f\xfb\x04\x73\x36\x55\x0d\x3d\x55\x3b\xe8\x54\x3f\xd8\x54\x43\xc3\x44\xf3\xad\x44\xbd\x63\x50\x00\x00\x45\xc7\xfb\x44\xa9\x01\x05\x73\xae\x54\x04\xab\x54\x05\x63\x50\x00\x00\x45\xfb\x7e\x55\x15\xa4\x05\x73\x1b\x55\x2e\x69\x55\x47\xcb\x55\x0f\xfb\x45\xf6\x61\x45\xb8\x69\x45\x68\x08\x35\xbd\x07\x35\x9d\x03\x45\x97\xef\x44\x6d\x53\x60\x78\x1b\x65\x0f\x1a\x55\x6e\x3d\x55\x5f\x46\x05\x73\xc8\x54\x25\xb7\x54\x58\xfa\x54\x68\xf9\x54\x73\x63\x50\x00\x00\x55\x44\x03\x55\x58\x03\x05\x73\x51\x45\xfd\x54\x45\xfb\x5a\x00";
  }
  function font_4() internal pure returns(bytes memory) {
    return "\x4d\x70\x01\xb4\x06\x73\xd9\x44\xff\xd4\x44\xfd\xe5\x44\xfd\xe3\x44\xff\x63\x50\x00\x00\x55\x02\x35\x54\x03\x23\x04\x73\x06\x45\x58\x06\x45\x51\x63\x50\x00\x00\x45\xe6\xf8\x44\xbc\xfa\x44\xd6\x02\x45\x85\x04\x45\x7c\x03\x55\x00\x00\x45\x9f\x95\x45\x83\xc4\x05\x53\x0d\x65\xa9\x09\x65\xae\x63\x50\x00\x00\x45\xfb\x79\x55\x0b\x9a\x55\x00\x00\x45\xfa\x09\x55\x44\x0a\x05\x73\x93\x55\x00\xa2\x45\xfd\x63\x50\x00\x00\x45\xf9\x63\x45\xf8\x79\x45\xfe\x16\x45\xfb\x54\x55\x02\x5a\x55\x00\x00\x55\x79\x01\x55\x8a\x00\x55\x11\xff\x54\x2a\xfa\x54\x2c\xf4\x54\x03\xf9\x54\x0d\x5d\x54\x0e\x57\x54\x01\xfa\x44\xff\xf2\x44\xfd\xf1\x54\x00\x00\x55\x1e\xff\x54\x2b\x01\x55\x0d\x02\x55\x1a\x01\x55\x1a\x01\x55\x00\x00\x55\x06\x5e\x54\x06\x54\x04\x5a\x6d\x40\x11\x02\x05\x63\xf6\x54\x01\x9c\x44\xfd\x9c\x44\xfd\x0b\x45\xff\x27\x45\xc3\x2e\x45\xb2\x08\x45\xf0\x3d\x45\x83\x3d\x45\x83\x01\x55\x0f\xf8\x54\xcf\xf8\x54\xcf\x5a\x00";
  }
  function font_5() internal pure returns(bytes memory) {
    return "\x4d\x50\x0f\xa4\x06\x73\x15\x55\x06\x61\x55\x02\x91\x45\xf6\xa8\x55\x0c\x37\x55\x57\x18\x55\x90\xbc\x54\x2a\xb2\x54\x21\xeb\x44\xd4\xec\x44\xc5\x6c\x40\x49\x04\x05\x73\xdf\x54\x7f\x20\x55\xb8\x8b\x55\x54\x12\x56\x3d\xb3\x45\x8d\xb8\x45\x66\x15\x45\x61\xe4\x34\xfa\xa2\x44\x8f\x88\x44\x81\xbf\x44\xef\xa6\x44\xee\xd1\x54\x00\xcd\x54\x00\xef\x54\x03\xee\x44\xf6\x01\x45\xe8\x01\x45\xe8\x63\x50\x00\x00\x55\x32\x05\x55\x78\x04\x05\x73\xa6\x45\xfc\xae\x45\xf8\x63\x50\x00\x00\x55\x02\xa9\x54\x04\x9e\x04\x73\x02\x45\xc3\xfe\x44\xbe\xb5\x44\xfc\x99\x44\xfc\x4f\x54\x03\x2b\x54\x04\x5f\x54\x04\x55\x54\x04\x63\x50\x00\x00\x55\x00\xc0\x55\x00\xd0\x05\x73\x00\x55\xac\x00\x55\xac\x5a\x00";
  }
  function font_6() internal pure returns(bytes memory) {
    return "\x4d\x60\xfe\x01\x07\x63\xef\x44\xc6\xbb\x44\x9f\x7d\x44\x94\xc2\x44\xf4\x64\x54\x15\x64\x54\x15\x02\x45\xf4\xfa\x44\x93\xfa\x44\x87\x00\x45\xf4\x01\x45\xc3\x15\x45\xa9\x14\x45\xe6\x2c\x45\xe0\x40\x45\xf7\x14\x55\x17\x13\x55\x4c\x13\x55\x4c\x00\x55\x00\x33\x45\xff\x59\x45\xff\x73\x50\x56\xf8\x54\x56\xf8\x04\x63\x00\x55\x00\x23\x45\xa0\xd8\x44\x4b\x43\x60\x7e\x09\x65\x0c\x0f\x55\xa1\x37\x55\x36\x60\x55\x1b\xa4\x55\x16\xb0\x05\x63\xfb\x54\x0c\xf8\x54\x39\xf8\x54\x3e\x00\x55\x05\xfc\x54\x40\xfb\x54\x4d\x73\x40\xfc\x73\x45\xfd\x94\x55\x08\x9e\x55\x31\xec\x55\x72\x70\x55\xe0\x67\x05\x63\x6e\x45\xf7\xaa\x45\xce\xd3\x45\x9a\x73\x50\x26\x7e\x54\x15\x44\x04\x5a\x6d\x40\x5a\x67\x05\x63\xe6\x54\x15\xc7\x54\x08\xc7\x54\x08\xf7\x44\xf9\xf0\x44\xec\xed\x44\xdb\xfd\x44\xef\x10\x45\xd2\x35\x45\xca\x25\x45\xf8\x27\x55\x15\x27\x55\x1a\x00\x55\x05\x0a\x55\x24\xf0\x54\x39\x5a\x00";
  }
  function font_7() internal pure returns(bytes memory) {
    return "\x4d\x50\x0c\xbb\x05\x73\x05\x56\x08\x14\x56\x09\x63\x50\x00\x00\x45\xa7\xc5\x45\x96\xe5\x05\x73\xa5\x54\xc2\x8a\x54\xf4\x53\x50\x07\x14\x58\x07\x14\x08\x63\x00\x55\x00\x1a\x55\x0c\x58\x55\x0a\x73\x50\x1e\xfb\x54\x66\xfb\x04\x63\x00\x55\x00\x89\x45\x0a\x95\x35\xf3\x73\x50\x58\x60\x54\x69\x3d\x54\x42\x7d\x54\x44\x72\x04\x63\x00\x55\x00\xfd\x44\xac\xfe\x44\xa1\x73\x50\x01\xc6\x54\x01\xc6\x04\x63\x00\x55\x00\xc5\x44\xfa\x97\x44\xf8\x73\x40\xa5\xff\x44\x86\xff\x44\x61\x03\x45\x55\x03\x45\x9e\x01\x45\x9a\x02\x05\x63\x00\x55\x00\xff\x54\x40\xff\x54\x4b\x73\x40\xfd\x4a\x45\xfb\x53\x05\x5a";
  }
  function font_8() internal pure returns(bytes memory) {
    return "\x4d\x60\xaf\xa7\x06\x73\x47\x45\xc6\x52\x45\x77\x63\x50\x0b\xb1\x44\xf0\x53\x44\xbb\x26\x44\xcc\xd3\x44\x7f\xd6\x44\x2d\xd7\x44\xae\x01\x45\x7f\x21\x45\x5c\x4f\x05\x53\x09\x55\xf4\x1b\x65\x36\x63\x50\x12\x42\x55\x34\x69\x55\x34\x69\x55\x00\x00\x45\xb9\x4d\x45\xbc\xad\x55\x03\x60\x55\x37\xae\x55\x7c\xc7\x55\x45\x19\x55\x89\x23\x55\xdf\x0c\x55\x55\xe9\x54\x7f\xbb\x54\x97\x54\x54\x18\x99\x44\xc3\x3c\x44\xb2\x33\x04\x5a\x4d\x50\xfe\xe7\x05\x63\x1c\x45\xfd\x2b\x55\x1c\x2c\x55\x1e\x01\x55\x03\x04\x55\x39\xe1\x54\x39\x73\x40\xd7\xd8\x44\xd7\xd8\x04\x63\xfe\x44\xf3\x00\x45\xd4\x1c\x45\xd0\x5a\x00\x6d\x25\x65\x6f\x63\x40\xfc\x04\x45\xe6\x0c\x45\xcb\x00\x05\x73\xee\x44\xc7\xee\x44\xc7\x63\x50\x03\xea\x54\x18\xd9\x54\x21\xd8\x04\x73\x33\x55\x03\x38\x55\x2a\x63\x50\x05\x27\x45\xf2\x33\x45\xee\x37\x05\x5a";
  }
  function font_9() internal pure returns(bytes memory) {
    return "\x4d\x70\x0d\xd8\x06\x63\xff\x44\xe8\xfc\x44\x60\xfc\x44\x46\x01\x45\xe6\xff\x44\x85\xe8\x44\x57\x73\x40\xdb\xca\x44\xd3\xc4\x04\x63\xf8\x44\xfa\xe7\x44\xed\xb0\x44\xe7\xc9\x44\xfa\xae\x44\xfc\xa4\x44\xfb\x73\x40\xbe\xff\x44\x80\x13\x05\x53\x2f\x55\x69\x18\x55\xa3\x63\x40\xe9\x3a\x45\xed\xa4\x55\x0e\xd7\x05\x73\x3a\x55\x47\x68\x55\x5d\x63\x50\x2e\x16\x55\x70\x1c\x55\xa4\x0d\x55\x00\x00\x55\x02\x2a\x45\xfb\x42\x05\x73\xf1\x54\x30\xd6\x54\x31\x63\x40\xe5\x01\x45\xd1\xd5\x44\xd0\xcf\x54\x00\x00\x45\xd4\xf9\x44\xa5\xfc\x44\xd0\x03\x45\x98\x05\x45\x94\x05\x55\x00\x00\x45\xfb\x2d\x55\x00\x4d\x05\x73\x15\x55\x63\x72\x55\x8d\x63\x50\x5e\x2b\x55\xac\x2c\x55\xfc\x18\x05\x73\x75\x45\xae\x89\x45\x67\x63\x50\x14\xb9\x54\x0c\x70\x54\x0b\x58\x04\x5a\x6d\x40\x38\x34\x04\x63\xfd\x54\x16\xfa\x54\x2d\xd9\x54\x36\xdf\x54\x09\xca\x44\xe2\xca\x44\xe2\xf9\x44\xd9\xfd\x44\xca\x00\x45\xc4\x73\x50\x21\xe4\x54\x3c\xed\x04\x63\x1b\x55\x09\x24\x55\x21\x21\x55\x37\x5a\x00";
  }
  function font_and() internal pure returns(bytes memory) {
    return "\x4d\x70\x5c\xb6\x07\x63\xe3\x44\xd5\xc8\x44\xc4\xc7\x44\xb2\x73\x50\x31\xad\x54\x3e\x66\x04\x63\x0d\x45\xb9\x05\x45\xbb\xfc\x44\xb1\xf7\x44\xf6\xe0\x44\xf2\x9b\x44\xf4\xbb\x54\x02\xc8\x54\x02\xb4\x54\x0e\xec\x54\x0c\xe7\x54\x2c\xea\x54\x34\x00\x55\x00\xda\x44\xc4\xed\x44\xa7\x13\x45\xe2\x4f\x45\x90\x54\x45\x5e\x06\x45\xcf\xea\x44\x68\x6b\x44\x4d\x53\x50\x62\x3a\x55\x48\x5d\x05\x63\xe6\x54\x23\xc6\x54\x6a\x38\x65\x05\x00\x55\x00\x7a\x54\x78\x9a\x54\xfe\x21\x55\x86\x72\x55\xb7\xc5\x55\xc0\x73\x50\xaf\xe8\x54\xb5\xde\x04\x63\x00\x55\x00\x18\x55\x1e\x4b\x55\x22\x34\x55\x04\x85\x55\x06\x8f\x45\xeb\x73\x50\x0c\xd8\x44\xef\xac\x04\x5a\x4d\x60\x05\x88\x05\x63\x0f\x45\xfb\x10\x45\xff\x0d\x55\x2b\xfd\x54\x2d\xfa\x54\x39\xee\x54\x45\x73\x40\xf0\xb4\x44\xf0\xb4\x04\x63\x03\x45\xe6\x07\x45\xe1\x16\x45\xdc\x5a\x00\x6d\x31\x65\xeb\x73\x40\xe2\x18\x45\xbe\x05\x45\xe4\xa2\x44\xe4\xa2\x04\x63\x07\x45\xd2\x18\x45\xcd\x30\x45\xd0\x18\x55\x03\x28\x55\x13\x30\x55\x33\x07\x55\x21\xfe\x54\x56\xfe\x54\x56\x5a\x00";
  }
  function font_at() internal pure returns(bytes memory) {
    return "\x4d\x60\x4f\xca\x07\x63\xb4\x44\xfe\x8f\x44\xf5\x7c\x44\xdd\xee\x44\xe8\xe2\x44\xce\xd5\x44\x63\xf3\x44\x94\x08\x45\x0f\x11\x35\xf8\x09\x45\xe9\x2a\x45\xb7\x6d\x45\xb5\x73\x50\x6f\x0e\x55\x91\x2d\x55\x28\x48\x55\x28\x87\x45\xff\x8a\x45\xfa\x94\x05\x63\xfc\x54\x0a\xf9\x54\x0a\xf7\x54\x00\xfe\x44\xf6\xff\x44\x8c\xff\x44\x7c\x01\x45\xf1\x04\x45\xd2\xfe\x44\xc0\xfa\x44\xee\xf4\x44\xea\xec\x44\xe7\xf8\x44\xfd\xf7\x44\xf4\xc1\x44\xf0\xca\x44\xfc\x8c\x54\x18\x6d\x54\x30\x73\x40\xbd\x66\x45\xc6\xab\x05\x63\x09\x55\x45\x1b\x55\x6b\x57\x55\x81\x3c\x55\x15\x82\x45\xfa\x87\x45\xf4\x00\x55\x00\x21\x55\x21\x56\x55\x19\x35\x45\xf8\x67\x45\xdf\x71\x45\xab\x0a\x45\xcd\x0b\x45\x5f\x04\x45\x0d\x73\x40\xde\x64\x44\x8a\x3d\x04\x63\xac\x44\xd9\x42\x44\xe1\x1b\x44\xe5\xda\x54\x04\x6f\x54\x1a\x4b\x54\x64\x73\x40\xdc\x70\x45\xda\xb2\x05\x63\xfe\x54\x42\x06\x55\xe1\x0a\x55\xf1\x04\x55\x10\x16\x55\x8a\x6e\x55\xbb\x58\x55\x31\xca\x55\x22\x08\x56\x20\x41\x45\xf8\xb1\x45\xc0\xb9\x45\xb8\x6c\x40\xd1\x9b\x04\x73\x79\x54\x44\x2e\x54\x42\x5a\x00\x6d\xfa\x44\x1e\x63\x40\xff\x0d\x45\xf2\x1e\x45\xe2\x16\x45\xf0\xf9\x44\xf5\xc2\x44\xfe\xa6\x54\x09\xe4\x54\x2d\xe0\x54\x2d\xe0\x44\xf7\x0f\x45\xf4\x56\x45\xf3\x63\x05\x5a";
  }
  function font_brackets_left() internal pure returns(bytes memory) {
    return "\x4d\x60\x51\x21\x05\x73\xa8\x44\xee\x75\x44\xfd\x53\x50\x44\x4e\x55\x31\xae\x05\x73\xf9\x54\xf1\xf4\x64\x2e\xf8\x54\xa5\x27\x55\xe9\x82\x55\x6b\x08\x56\x57\x63\x50\x00\x00\x55\x02\xb2\x54\x01\x9d\x04\x73\x02\x45\xd5\x02\x45\xd1\x63\x50\x00\x00\x45\xd9\xfe\x44\xb7\xe7\x04\x73\xd4\x44\xcb\xcd\x44\x8a\x08\x45\x4a\x0c\x45\x22\x23\x45\x99\x6a\x45\x8e\x63\x50\x00\x00\x55\x02\xc8\x54\x03\xb3\x04\x73\xfd\x44\xc3\xfd\x44\xc3\x5a\x00";
  }
  function font_brackets_right() internal pure returns(bytes memory) {
    return "\x4d\x50\x2e\xac\x05\x73\x4a\x55\x07\x64\x55\x55\x19\x65\x17\x0b\x65\x3b\xc2\x54\x4f\x8e\x54\x4e\x63\x50\x00\x00\x55\x03\x3a\x55\x02\x4f\x05\x73\xfe\x54\x3d\xfe\x54\x41\x63\x50\x00\x00\x45\xf9\x0b\x55\x6b\x05\x05\x73\xbc\x45\x97\xc5\x45\x3a\xfd\x44\x3d\xfd\x44\x1b\x06\x45\x6f\xf3\x44\x2d\x53\x50\xfb\x2e\x55\xc8\x21\x05\x73\x9f\x44\xf8\x66\x54\x01\x63\x50\x00\x00\x45\xfe\x38\x45\xff\x50\x05\x73\x01\x55\x39\x01\x55\x39\x5a\x00";
  }
  function font_colon() internal pure returns(bytes memory) {
    return "\x4d\x50\x1c\x9b\x07\x73\xff\x54\x0f\xff\x54\x18\x00\x55\x1b\xff\x54\x36\x04\x55\x35\x04\x55\x35\x63\x50\x00\x00\x55\x4d\x01\x55\x59\x01\x05\x73\x41\x55\x01\x41\x55\x01\x63\x50\x00\x00\x55\x06\xbe\x54\x07\xb1\x04\x73\x06\x45\xcb\xff\x44\xc5\xba\x44\xf8\xa4\x44\xf8\xc2\x54\x07\xb9\x54\x0d\x5a\x00\x4d\x1c\x65\x32\x73\x40\xff\x27\x45\xfe\x35\x55\x00\x43\x55\x04\x4f\x05\x63\x00\x55\x00\x4e\x55\x01\x61\x55\x01\x73\x50\x3a\x01\x55\x3a\x01\x05\x63\x00\x55\x00\x05\x45\xc0\x06\x45\xb4\x73\x50\x06\xc9\x54\x00\xc2\x04\x63\x00\x55\x00\xe8\x44\xf6\xac\x44\xf9\x73\x40\xb1\x0d\x45\xb1\x0d\x05\x5a";
  }
  function font_comma() internal pure returns(bytes memory) {
    return "\x4d\x50\x20\x97\x07\x73\xfa\x54\x73\xfb\x54\x7c\x0d\x55\x0a\x11\x55\x0a\x11\x55\x03\x11\x55\x03\x6c\x50\x0c\xfd\x04\x73\xff\x54\x17\xff\x54\x20\xfa\x54\x20\xf9\x54\x26\xfa\x54\x1c\x00\x55\x27\x63\x50\x00\x00\x55\x33\x00\x55\x3b\x00\x05\x73\x1b\x55\x03\x28\x55\x0b\x63\x50\x00\x00\x55\x0b\xc7\x54\x0d\xbb\x04\x73\x08\x45\xd2\x0c\x45\xc6\x03\x45\x94\x06\x45\x80\x63\x50\x00\x00\x45\xc8\xfb\x44\xb3\xf9\x04\x73\xb8\x54\x01\xab\x54\x08\x5a\x00";
  }
  function font_dallar() internal pure returns(bytes memory) {
    return "\x4d\x50\x0b\x8a\x07\x73\xfb\x54\x3c\x1c\x55\x67\x49\x55\x38\x5d\x55\x3e\x17\x55\x0e\x19\x55\x1d\xfd\x54\x35\x04\x55\x42\x07\x55\x16\x2e\x55\x17\x5a\x45\xff\x68\x45\xfe\x20\x45\xf5\x21\x45\xdd\x01\x45\xb1\x01\x45\xb1\x63\x50\x00\x00\x55\x31\xe7\x54\x40\xdb\x04\x73\x46\x45\xc2\x44\x45\x80\xe2\x44\x86\xba\x44\x5f\xa3\x44\xc2\x77\x44\x99\xd3\x44\xc6\xd2\x44\xb9\x07\x45\xd5\x19\x45\xd1\x1c\x55\x01\x1d\x55\x1d\x13\x55\x36\x28\x55\x37\x5b\x55\x01\x74\x55\x00\x2e\x45\xf9\x2f\x45\xe2\x04\x45\xab\xe3\x44\x7f\xbd\x44\xbf\x91\x44\xba\x6c\x50\x01\xa1\x04\x73\xfd\x44\xef\xd8\x44\xec\x8e\x44\xfd\x87\x44\xff\xe6\x54\x02\xe7\x54\x16\x04\x55\x52\x08\x55\x59\x63\x50\x00\x00\x45\xa9\x1e\x45\x8a\x4f\x05\x73\xde\x54\x77\x0a\x55\xba\x4a\x55\x4f\x5e\x55\x61\x58\x55\x43\x6a\x55\x61\x1a\x55\x40\x0c\x55\x53\xd2\x54\x13\xcb\x44\xf6\xfe\x44\xd4\xfe\x44\xc7\xfa\x44\xe4\xe4\x44\xe0\xcc\x44\xff\xb6\x44\xfc\xbc\x44\xfc\xac\x54\x03\xf3\x54\x38\xf4\x54\x57\x5a\x00";
  }
  function font_ex() internal pure returns(bytes memory) {
    return "\x4d\x50\x29\x99\x07\x73\x00\x55\x1f\xff\x54\x29\xf9\x54\x43\xff\x54\x51\x09\x55\x0c\x16\x55\x0d\x60\x45\xfe\x6a\x45\xff\x19\x55\x02\x23\x55\x01\x63\x50\x00\x00\x55\x02\x93\x54\x03\x8a\x04\x73\x00\x45\xea\x00\x45\xea\x63\x50\x00\x00\x45\xc9\xff\x44\xb3\xfc\x04\x73\xbe\x54\x00\xa9\x54\x0a\x5a\x00\x4d\x1f\x75\x69\x73\x50\x28\x00\x55\x3f\xff\x54\x46\xff\x54\x52\xfd\x54\x19\xff\x54\x1c\xfe\x04\x63\x00\x55\x00\xfa\x44\x55\xfa\x44\x2d\x73\x50\x01\x31\x54\x01\x26\x54\x03\x71\x54\x03\x6e\x04\x63\x00\x55\x00\xe3\x44\xf7\xc5\x44\xf7\x73\x40\xc0\x04\x45\xbe\x05\x45\xcf\x00\x45\xcf\x00\x05\x63\x00\x55\x00\xfb\x54\x74\xfb\x54\x94\x73\x40\xff\xbc\x55\x01\xe8\x55\x00\x72\x55\x01\x85\x55\x05\x48\x55\x05\x48\x05\x5a";
  }
  function font_percent() internal pure returns(bytes memory) {
    return "\x4d\x70\x3d\x92\x06\x63\x95\x44\xe6\x65\x54\x2e\x5e\x54\x3e\x07\x45\xea\x3d\x45\x45\x4f\x45\x19\x13\x45\xd1\x34\x45\x57\x37\x45\x51\x03\x45\xfa\xfd\x44\xf8\xfb\x44\xf7\x00\x55\x00\x04\x45\xfa\x08\x45\xf8\x00\x55\x00\xe6\x44\xf1\xb0\x44\xf3\xca\x54\x03\xa9\x44\xfd\xa5\x44\xfb\x00\x55\x00\xe4\x54\x69\xd2\x54\x95\xee\x54\x2d\xe9\x54\x47\xe9\x54\x49\x00\x55\x00\xec\x54\x3d\xe8\x54\x45\x00\x55\x00\x12\x45\xc1\x04\x45\x6d\x53\x50\xce\x30\x55\x92\x36\x55\x2e\x62\x55\x20\x93\x05\x73\xf4\x54\x79\xf4\x54\x79\x63\x50\x05\x40\x55\x0c\x6b\x55\x36\x8a\x05\x73\x6a\x55\x23\x8e\x55\x0a\x63\x50\x24\xe7\x54\x32\xcd\x54\x36\xc2\x54\x00\x00\x45\xb5\xcc\x45\xa5\xf9\x45\xf1\x2d\x45\xd8\x69\x45\xde\x62\x55\x00\x00\x45\xe3\x47\x45\xe8\x56\x55\x05\x0f\x55\x05\x0e\x55\x1d\x0d\x05\x73\x5e\x55\x00\x6a\x45\xff\x63\x50\x0c\xff\x54\x19\xfc\x54\x1c\xfb\x54\x03\xff\x54\x06\xf3\x54\x08\xef\x54\x02\xfc\x54\x41\x5e\x54\x44\x55\x54\x04\xf7\x54\x25\x94\x54\x25\x94\x54\x00\x00\x45\xf3\x52\x45\xf7\x70\x55\x04\x1e\x55\x08\x3c\x55\x09\x42\x55\x01\x06\x55\x0e\x56\x55\x72\x61\x55\x63\x0b\x55\x8b\xab\x54\x93\x76\x54\x08\xcb\x54\x14\x3d\x44\xaa\x18\x04\x5a\x4d\x50\xae\x11\x06\x63\x00\x55\x04\xfd\x54\x33\xf2\x54\x3c\xf5\x54\x09\xef\x44\xf6\xef\x44\xed\x00\x45\xf7\xfe\x44\xc2\xfb\x44\xa2\xfd\x44\xe0\x01\x45\xc4\x01\x45\xc4\x05\x45\xff\x0d\x45\xf3\x0d\x45\xf3\x05\x55\x00\x07\x55\x03\x07\x55\x03\xf5\x54\x0d\x08\x55\x0a\x08\x55\x0a\x07\x55\x1c\x07\x55\x6c\x06\x55\x70\x5a\x00\x6d\x71\x66\x43\x63\x40\xff\x1b\x45\xfb\x49\x45\xf0\x4f\x05\x73\xf1\x44\xf4\xf1\x44\xea\x63\x50\x00\xf7\x44\xfc\xb7\x44\xfb\xad\x44\xff\xf6\x44\xfd\xd0\x54\x00\xbb\x54\x05\xfe\x54\x0d\xf3\x54\x0d\xf3\x54\x06\x00\x55\x07\x04\x55\x07\x04\x45\xf5\x0b\x55\x07\x0a\x55\x07\x0a\x55\x06\x0f\x55\x08\x43\x55\x07\x5e\x05\x5a";
  }
  function font_period() internal pure returns(bytes memory) {
    return "\x4d\x50\x19\x9b\x07\x73\xff\x54\x0f\xff\x54\x18\x00\x55\x1b\xff\x54\x36\x04\x55\x35\x04\x55\x35\x63\x50\x00\x00\x55\x4d\x01\x55\x59\x01\x05\x73\x41\x55\x01\x41\x55\x01\x63\x50\x00\x00\x55\x06\xbe\x54\x07\xb1\x04\x73\x06\x45\xcb\xff\x44\xc5\xba\x44\xf8\xa4\x44\xf8\xc2\x54\x07\xb9\x54\x0d\x5a\x00";
  }
  function font_question() internal pure returns(bytes memory) {
    return "\x4d\x50\x12\x05\x06\x73\x55\x55\x09\x7e\x55\x07\x24\x45\xff\x3b\x45\xe5\x1a\x45\xcf\x41\x45\xe1\x19\x55\x42\x03\x55\x62\xb9\x54\x5e\xae\x54\x77\xd9\x54\x5c\xde\x54\xa7\x63\x50\x00\x00\x55\x01\x0a\x55\x08\x0f\x55\x00\x00\x55\x4b\x00\x55\x5c\x01\x05\x73\x3c\x45\xfe\x47\x45\xfb\x63\x50\x00\x00\x45\xf9\xf2\x54\x01\xd9\x04\x73\x11\x45\xa5\x3b\x45\x73\x60\x45\xa4\x6d\x45\x4f\xd8\x44\x57\x71\x44\x32\x2d\x54\x04\xf9\x53\x3f\x53\x50\x14\xdb\x55\x12\x05\x06\x5a\x4d\x50\x99\x9b\x07\x73\xff\x54\x33\xfe\x54\x41\x01\x55\x37\x04\x55\x42\x6c\x50\x9b\x01\x05\x73\x0f\x45\x7e\x06\x45\x76\x63\x50\x00\x00\x45\xec\xf7\x44\xb0\xf8\x04\x73\xad\x54\x0d\xad\x54\x0d\x5a\x00";
  }
  function font_semi_colon() internal pure returns(bytes memory) {
    return "\x4d\x50\x18\x32\x06\x73\xff\x54\x27\xfe\x54\x35\x00\x55\x43\x04\x55\x4f\x63\x50\x00\x00\x55\x4e\x01\x55\x61\x01\x05\x73\x3a\x55\x01\x3a\x55\x01\x63\x50\x00\x00\x55\x05\xc0\x54\x06\xb4\x04\x73\x06\x45\xc9\x00\x45\xc2\x63\x50\x00\x00\x45\xe8\xf6\x44\xac\xf9\x04\x73\xb1\x54\x0d\xb1\x54\x0d\x5a\x00\x4d\x1c\x75\x97\x73\x40\xfa\x7d\x45\xfb\x83\x05\x63\x00\x55\x00\x1c\x55\x05\x33\x55\x06\x00\x55\x00\xfc\x54\x1f\xf6\x54\x32\x73\x40\xf6\x31\x45\xfc\x37\x05\x63\x00\x55\x00\x32\x55\x00\x3a\x55\x00\x73\x50\x19\x03\x55\x2a\x0b\x05\x63\x00\x55\x00\x07\x45\xd0\x0d\x45\xba\x73\x50\x07\xd6\x54\x08\xd3\x54\x03\xf4\x54\x03\xf4\x04\x6c\x06\x45\x80\xcb\x44\xfc\x73\x40\xbf\xf6\x44\x92\x05\x05\x5a";
  }
  function font_sharp() internal pure returns(bytes memory) {
    return "\x4d\x70\xd2\x80\x06\x63\x01\x45\xff\xf8\x44\x91\xf9\x44\x8e\x00\x55\x00\xd0\x54\x01\xcd\x54\x00\x73\x40\xf4\xff\x44\xf1\xff\x04\x63\x00\x55\x00\x1c\x45\x9f\x1f\x45\x99\x73\x50\x09\xe3\x54\x0a\xdb\x04\x63\x01\x45\xf7\x00\x45\xec\x00\x45\xec\x00\x55\x00\xda\x44\xfa\xb4\x44\xfc\xda\x54\x01\xc5\x44\xfd\xb6\x44\xf9\x00\x55\x00\xd5\x54\x9b\xca\x54\xa9\x68\x40\xd1\x63\x40\xf0\x00\x45\xcc\x00\x45\xcc\x00\x55\x00\x00\x55\x30\x74\x54\x2e\x62\x54\x00\x00\x45\xb9\xff\x44\xad\xfe\x44\xf4\xff\x44\xc3\xfe\x44\xb3\xfa\x54\x00\x00\x45\xdd\x88\x45\xce\xa7\x55\x00\x00\x45\x7c\x09\x45\x43\xf4\x04\x6c\x01\x55\x86\x92\x45\xff\x73\x40\xde\x66\x45\xde\x7c\x05\x63\x00\x55\x00\xa8\x54\x0f\x82\x44\xe0\x00\x55\x00\x01\x55\x93\x03\x55\x9a\x00\x55\x00\x2c\x55\x04\x44\x45\xff\x00\x55\x00\xf2\x54\x2b\xec\x54\x37\x73\x40\xdf\x62\x45\xdf\x6f\x05\x63\x00\x55\x00\x57\x45\xfe\x63\x45\xfe\x73\x50\x2e\x06\x55\x37\xfd\x04\x63\x00\x55\x00\x0f\x45\xe4\x14\x45\xd8\x73\x50\x2d\x86\x54\x30\x83\x04\x68\x5c\x05\x73\xec\x54\x47\xdd\x54\x67\x63\x40\xf2\x20\x45\xec\x42\x45\xec\x42\x55\x00\x00\x55\x4f\x01\x55\x61\x01\x05\x73\x37\x45\xfd\x3a\x45\xfe\x63\x50\x00\x00\x55\x19\xd6\x54\x21\xbb\x54\x09\xe5\x54\x22\xa0\x54\x22\xa0\x54\x00\x00\x55\x61\x00\x55\x78\x00\x55\x17\x00\x55\x41\xfc\x54\x45\xfa\x54\x00\x00\x45\xfe\xb8\x44\xfe\xaf\x04\x73\xfb\x44\xe6\xf8\x44\xe3\x63\x50\x00\x00\x45\xba\xfb\x44\xaa\xfb\x44\xf0\x00\x45\xcd\x00\x45\xcd\x00\x55\x00\x00\x55\x24\x96\x54\x2a\x83\x54\x00\x00\x55\x72\xfe\x54\x73\xfd\x04\x5a\x6d\x30\xd3\x4f\x05\x63\xfb\x54\x0a\xef\x54\x30\xef\x54\x30\xfd\x44\xff\x9a\x54\x01\x9a\x54\x01\x04\x45\xf4\x2b\x45\x81\x2b\x45\x81\x00\x55\x00\x24\x55\x00\x2c\x55\x00\x08\x55\x01\x36\x55\x01\x36\x55\x01\xff\x54\x07\xed\x54\x43\xe9\x54\x4d\x5a\x00";
  }
  function font_slash() internal pure returns(bytes memory) {
    return "\x4d\x50\x6e\x20\x08\x73\x34\x55\x02\x4c\x45\xfa\x63\x50\x00\x00\x55\x05\xfd\x54\x0c\xe6\x04\x73\x39\x45\x72\x48\x45\x47\x4e\x45\x1b\x5b\x35\xf7\x28\x45\x8f\x30\x45\x77\x26\x45\x86\x26\x45\x82\xfc\x44\xf9\xfa\x44\xf9\x63\x50\x00\x00\x55\x03\xfa\x54\x09\xf9\x54\x00\x00\x45\xf1\xf1\x44\xb6\xf3\x04\x73\xaa\x44\xff\x9f\x44\xfb\x63\x50\x00\x00\x45\xe4\x66\x45\xd7\x88\x05\x73\xe4\x54\x53\xe4\x54\x55\xf7\x54\x22\xf2\x54\x2c\xbf\x54\xb1\xb9\x54\xc0\xda\x54\x6c\xd5\x54\x77\xd6\x54\x70\xdd\x54\x66\x63\x50\x00\x00\x45\xe7\x3f\x45\xe8\x49\x05\x73\xfd\x54\x1a\x0c\x55\x1a\x4a\x45\xff\x4a\x45\xff\x5a\x00";
  }
  function font_LT() internal pure returns(bytes memory) {
    return "\x4d\x60\x25\xd5\x05\x73\x83\x54\x83\x67\x54\x9e\x53\x50\x18\xee\x56\x14\xf5\x06\x63\x00\x55\x00\x33\x55\x49\x73\x55\x80\x73\x50\xa1\x95\x55\xa7\x9c\x05\x63\x00\x55\x00\x36\x45\xd3\x3d\x45\xcd\x73\x50\x25\xd9\x54\x2b\xd5\x04\x63\x00\x55\x00\xb0\x44\xbb\x97\x44\xa0\x73\x40\xa7\xaa\x44\xa1\xa5\x04\x63\x00\x55\x00\x54\x45\xa2\x70\x45\x85\x73\x50\x4d\xaf\x54\x4e\xad\x04\x63\x00\x55\x00\xe1\x44\xe7\xd8\x44\xdb\x73\x40\xc7\xd1\x44\xc1\xcf\x04\x5a";
  }
  function font_apostrophe() internal pure returns(bytes memory) {
    return "\x4d\x50\x28\x1d\x05\x73\xfc\x54\x6d\xfd\x54\x9c\x01\x55\x73\x01\x55\x73\x63\x50\x00\x00\x55\x20\x05\x55\x4d\x04\x05\x73\x4c\x45\xff\x4c\x45\xff\x6c\x40\xfe\xf4\x03\x73\xfa\x44\xf2\xcc\x44\xf4\xb0\x54\x0a\x9f\x54\x07\x5a\x00";
  }
  function font_asterisk() internal pure returns(bytes memory) {
    return "\x4d\x50\x1e\x83\x05\x73\x0c\x55\x18\x1f\x55\x2e\x28\x55\x30\x2c\x55\x31\x63\x50\x00\x00\x45\xb4\x51\x45\xb3\x57\x55\x00\x00\x55\x58\x4c\x55\x61\x59\x55\x00\x00\x55\x11\x03\x55\x1d\xfb\x04\x73\x3b\x45\xc9\x3c\x45\xc8\x63\x50\x00\x00\x55\x3a\x38\x55\x48\x4b\x55\x00\x00\x55\x55\xc1\x54\x60\xb8\x04\x73\x1f\x45\xe0\x22\x45\xde\x63\x50\x00\x00\x45\xdd\xde\x44\xd4\xd1\x04\x73\xe1\x44\xdb\xdb\x44\xd9\x63\x50\x00\x00\x55\x12\xe1\x54\x27\xd1\x04\x73\x1f\x45\xdd\x20\x45\xd6\x6c\x40\xa2\xa1\x54\x01\x05\x05\x73\xce\x54\x17\xa4\x54\x3a\x63\x50\x00\x00\x45\xdd\xe3\x44\xd2\xd8\x04\x73\xdc\x44\xe3\xd2\x44\xe2\x63\x50\x00\x00\x45\xdc\x1f\x45\xcf\x2c\x05\x73\xd3\x54\x33\xcb\x54\x35\x5a\x00";
  }
  function font_back_slash() internal pure returns(bytes memory) {
    return "\x4d\x50\x09\x26\x05\x53\x58\x65\x29\x6c\x65\x59\x73\x50\x59\x07\x56\x69\x2a\x56\x3b\x91\x55\x3b\x91\x05\x63\x00\x55\x00\x08\x55\x09\x25\x55\x09\x73\x50\x65\x01\x55\x71\x01\x55\x11\xf5\x54\x0c\xe3\x44\xbd\x32\x44\xa4\xf1\x43\xaa\x19\x44\x9c\xe8\x43\xce\x79\x44\xc2\x39\x04\x63\x00\x55\x00\xdf\x54\x0a\xb5\x54\x06\x53\x50\x15\x1f\x55\x09\x26\x05\x5a";
  }
  function font_big() internal pure returns(bytes memory) {
    return "\x4d\x50\x1f\x2a\x06\x73\x6c\x55\x75\x78\x55\x82\x42\x55\x47\x44\x55\x4c\x63\x50\x00\x00\x45\xaa\x56\x45\x9f\x5f\x05\x73\xa1\x54\x59\x9c\x54\x5d\x63\x50\x00\x00\x55\x54\x54\x55\x62\x5f\x55\x00\x00\x55\x74\x92\x54\x8e\x7a\x04\x73\x89\x45\x80\x8f\x45\x69\x63\x50\x00\x00\x45\xcb\xc5\x44\xb9\xb1\x04\x53\xb9\x65\x0b\xac\x55\xfd\x73\x40\xda\xdb\x44\xd9\xd7\x04\x63\x00\x55\x00\xdb\x54\x19\xcb\x54\x27\x73\x40\xd9\x2c\x45\xce\x2f\x05\x5a";
  }
  function font_caret() internal pure returns(bytes memory) {
    return "\x4d\x50\x0e\x1b\x06\x73\x75\x55\x06\x92\x55\x06\x25\x45\xfe\x3b\x45\xe7\x21\x45\xdc\x23\x45\xdb\x05\x55\x04\x08\x55\x09\x23\x55\x2d\x37\x55\x33\x3e\x55\x05\x4d\x55\x05\x48\x45\xfb\x54\x45\xf6\x68\x50\x1c\x53\x60\x09\x29\x65\x01\x23\x05\x63\x00\x55\x00\xb5\x54\x47\xa3\x54\x57\x73\x40\xac\x52\x45\xa2\x5e\x05\x53\x0e\x65\x1b\x0e\x65\x1b\x5a\x00";
  }
  function font_double_quote() internal pure returns(bytes memory) {
    return "\x4d\x50\x17\x1d\x05\x73\xfc\x54\xec\xfe\x64\x0e\x63\x50\x00\x00\x55\x0c\x07\x55\x57\x05\x05\x73\x43\x45\xff\x43\x45\xff\x6c\x40\xfd\xf3\x03\x73\xfa\x44\xf2\xc7\x44\xf4\xb8\x54\x0b\xa4\x54\x07\x5a\x00\x4d\xe8\x55\x1d\x73\x40\xfc\x6d\x45\xfd\x9c\x55\x01\x73\x55\x01\x73\x05\x63\x00\x55\x00\x20\x55\x05\x4d\x55\x04\x73\x50\x4c\xff\x54\x4c\xff\x04\x6c\xfe\x34\xf4\x73\x40\xfa\xf2\x44\xcc\xf4\x44\xb0\x0a\x45\x9f\x07\x05\x5a";
  }
  function font_equal() internal pure returns(bytes memory) {
    return "\x4d\x50\x1f\xfe\x06\x73\xfe\x54\x95\xfd\x54\x9e\x63\x50\x00\x00\x55\x75\x03\x55\x9d\x03\x05\x73\x09\x56\x04\x20\x56\x04\x63\x50\x00\x00\x45\xfb\xc2\x44\xfb\xa5\x04\x73\x03\x45\xb6\x03\x45\xb6\x63\x50\x00\x00\x45\x38\x01\x45\x15\x00\x05\x73\x3e\x54\x01\x33\x44\xff\x5a\x00\x4d\x1f\x65\x21\x73\x40\xff\x94\x45\xfd\x9d\x05\x63\x00\x55\x00\xa0\x55\x03\xc3\x55\x04\x73\x50\xf0\x03\x55\xfa\x03\x05\x63\x00\x55\x00\xfa\x44\xbe\xfb\x44\xa6\x73\x50\x02\xb9\x54\x02\xb6\x04\x63\x00\x55\x00\x47\x44\xff\x1c\x54\x00\x73\x40\x2c\x00\x45\x2c\x00\x05\x5a";
  }
  function font_grave() internal pure returns(bytes memory) {
    return "\x4d\x50\x10\x7d\x05\x73\x69\x55\x5c\x71\x55\x6c\x63\x50\x00\x00\x55\x26\x05\x55\x56\x03\x05\x73\x56\x45\xf8\x58\x45\xf7\x63\x50\x00\x00\x45\xb2\xb2\x44\xa5\xa4\x04\x53\x73\x55\x27\x68\x55\x24\x4c\x50\x10\x7d\x05\x5a";
  }
  function font_hyphen() internal pure returns(bytes memory) {
    return "\x4d\x50\x1e\x8d\x06\x73\xfe\x54\xa8\xfd\x54\xb7\x63\x50\x00\x00\x55\xe7\x04\x65\x1d\x06\x05\x73\xd4\x55\x01\xe5\x55\x03\x63\x50\x00\x00\x45\xfc\xb8\x44\xfc\x9f\x04\x73\x01\x45\xaa\x01\x45\xa2\x48\x60\x1a\x63\x40\xbe\x00\x45\x03\x00\x45\x03\x00\x05\x5a";
  }
  function font_left_bracket() internal pure returns(bytes memory) {
    return "\x4d\x50\x2f\x1d\x05\x73\xf4\x64\x27\xf5\x64\x62\xff\x64\x8a\x01\x65\xa1\x63\x50\x00\x00\x55\xa5\xff\x54\xc5\xff\x04\x73\x66\x45\xff\x68\x45\xff\x63\x50\x00\x00\x55\x03\xcf\x54\x01\xae\x04\x73\xfc\x44\xbc\xfc\x44\xbc\x63\x50\x00\x00\x45\xd8\xfa\x44\x8d\xfe\x54\x00\x00\x45\xfe\x83\x44\xfd\x68\x04\x73\xfa\x44\x55\xfa\x44\x2f\x04\x45\x8f\x06\x45\x8b\x63\x50\x00\x00\x55\x01\x03\x55\x19\x01\x05\x73\x53\x45\xfe\x57\x45\xff\x63\x50\x00\x00\x55\x0b\xf2\x54\x0d\xc2\x04\x73\x00\x45\xb2\x00\x45\xb2\x63\x50\x00\x00\x45\xbe\x09\x45\x6f\x02\x05\x73\x6b\x54\x02\x6b\x54\x02\x5a\x00";
  }
  function font_left_middle_bracket() internal pure returns(bytes memory) {
    return "\x4d\x50\x16\x6a\x06\x73\xf2\x54\x54\xfd\x54\x70\x63\x50\x00\x00\x55\x00\x08\x55\x1a\x08\x05\x73\x31\x55\x04\x43\x55\x1c\x21\x55\x4b\x1d\x55\x80\xf5\x54\x56\x2e\x55\x80\x97\x55\x20\xa3\x55\x1e\x63\x50\x00\x00\x55\x03\xd2\x54\x02\xc3\x04\x73\xff\x44\xc5\xff\x44\xc5\x63\x50\x00\x00\x45\xdf\x01\x45\xce\xe0\x04\x73\xf4\x44\xb3\xf5\x44\xa4\x02\x45\xa1\xc9\x44\x80\x63\x50\x00\x00\x55\x2f\xf5\x54\x35\xb7\x04\x73\xfe\x44\x94\x04\x45\x72\x2c\x45\xda\x38\x45\xd2\x63\x50\x00\x00\x55\x07\xb6\x44\xfe\x97\x54\x00\x00\x45\xbd\xf9\x44\x95\x00\x05\x73\xc2\x54\x0c\xac\x54\x2f\xf0\x54\x48\xf4\x54\x71\xf6\x54\x5a\xe6\x54\x6e\xd7\x54\x28\xa1\x54\x21\x5a\x00";
  }
  function font_plus() internal pure returns(bytes memory) {
    return "\x4d\x50\x13\x6f\x06\x73\x03\x55\x3c\x04\x55\x4d\x03\x55\x3d\x00\x55\x4c\x63\x50\x00\x00\x55\x02\x09\x55\x38\x0e\x05\x73\x46\x55\x06\x46\x55\x06\x63\x50\x00\x00\x45\xff\x42\x45\xff\x54\x05\x73\x05\x55\x39\x05\x55\x3d\x63\x50\x00\x00\x55\x34\xf4\x54\x5b\xf7\x04\x73\x62\x55\x03\x66\x45\xfa\x63\x50\x00\x00\x55\x04\xbe\x54\x07\xae\x04\x73\x02\x45\xd5\x01\x45\xcd\x63\x50\x00\x00\x55\x3a\xfd\x54\x4f\xfe\x04\x73\x2b\x45\xfe\x31\x45\xf9\x63\x50\x00\x00\x55\x04\xc6\x54\x03\xa4\x04\x73\x01\x45\xbd\x01\x45\xbd\x63\x50\x00\x00\x45\xd1\xfb\x44\xbc\xfa\x04\x73\xc5\x54\x02\xbd\x54\x01\x63\x50\x00\x00\x55\x04\x01\x55\x04\xf4\x04\x73\xfe\x44\x91\xff\x44\x87\x63\x50\x00\x00\x45\xd6\xfd\x44\xaf\xff\x04\x73\xb7\x54\x04\x94\x44\xeb\x63\x50\x00\x00\x55\x00\x1b\x55\x00\x1e\x05\x73\xfe\x54\x0a\xfe\x54\x10\xfa\x54\x32\xfa\x54\x3a\x03\x55\x36\x03\x55\x36\x63\x50\x00\x00\x45\x85\x08\x45\x74\x02\x05\x5a";
  }
  function font_right_bracket() internal pure returns(bytes memory) {
    return "\x4d\x50\x1d\x19\x05\x73\x00\x55\x7b\x09\x55\x8d\x63\x50\x00\x00\x55\x55\xff\x54\x73\x02\x55\x00\x00\x55\x0a\x61\x55\x05\xc5\x05\x73\xf7\x64\x12\xf9\x64\x17\x63\x50\x00\x00\x45\xf1\xfe\x44\xc9\xff\x04\x73\xc3\x54\x05\xc3\x54\x05\x63\x50\x00\x00\x45\xf9\x7f\x45\xfd\x94\x55\x00\x00\x65\x22\x02\x65\x2d\x05\x55\x00\x00\x45\xff\x15\x54\x00\xee\x03\x73\xff\x44\x12\xff\x34\xe6\xf8\x44\x33\xf8\x44\x2c\x63\x50\x00\x00\x45\xd1\xf4\x44\x81\xf9\x04\x73\x74\x54\x05\x58\x44\xff\x5a\x00";
  }
  function font_right_middle_bracket() internal pure returns(bytes memory) {
    return "\x4d\x50\x21\x3a\x05\x73\xf6\x54\x44\xfe\x54\x6b\x63\x50\x00\x00\x55\x2f\x0f\x55\x35\x21\x05\x73\x09\x55\x3d\x04\x55\x66\x05\x55\x6b\x3a\x55\x7e\x63\x50\x00\x00\x45\xd3\x1e\x45\xcc\x4b\x05\x73\xfb\x54\x3b\xfc\x54\x45\x02\x55\x35\xf4\x54\x4c\xd9\x54\x1f\xce\x54\x1f\x63\x50\x00\x00\x45\xff\x72\x55\x01\x77\x55\x00\x00\x55\x16\x00\x55\x22\x02\x05\x73\x47\x55\x04\x79\x45\xe6\x3e\x45\xbd\x3b\x45\xa0\xf4\x44\xa9\x0b\x45\x73\x3b\x45\xcb\x48\x45\xca\x1b\x55\x04\x22\x45\xfa\x04\x45\xcb\x03\x45\xbe\xfa\x44\xd0\xfa\x44\xd0\x63\x50\x00\x00\x45\xd0\x0b\x45\xac\xeb\x04\x73\xdc\x44\x9a\xdc\x44\x91\x02\x45\xd2\x05\x45\xc0\xf7\x44\xca\xe2\x44\xb4\xd4\x44\xe3\xb4\x44\xe1\xb2\x44\xff\x99\x54\x01\x5a\x00";
  }
  function font_tilde() internal pure returns(bytes memory) {
    return "\x4d\x50\x0d\x8b\x07\x73\xa3\x45\xfe\xb4\x55\x03\x6c\x50\x13\xfd\x04\x73\xf4\x44\xd2\x03\x45\xbe\x20\x45\xe4\x35\x45\xe5\x23\x55\x13\x2c\x55\x26\x25\x55\x37\x5e\x55\x3f\x80\x45\xfb\xa1\x45\xc5\x40\x45\x89\x34\x45\x4b\x63\x50\x00\x00\x45\xd1\x04\x45\xb4\x04\x05\x73\xb2\x54\x03\xb2\x54\x03\x63\x50\x00\x00\x45\xf2\x3a\x45\xd9\x4e\x05\x73\xd9\x54\x02\xd4\x44\xfc\xe3\x44\xdf\xd5\x44\xce\xd0\x44\xda\xa6\x44\xd7\xab\x54\x09\x91\x54\x18\xca\x54\x2b\xb5\x54\x58\xd2\x54\x70\xce\x54\x81\x5a\x00";
  }
  function font_underline() internal pure returns(bytes memory) {
    return "\x4d\x50\x23\x40\x08\x73\x01\x55\x39\x01\x55\x46\x02\x55\x30\x01\x55\x37\x63\x50\x00\x00\x55\x69\x00\x55\x8c\x01\x05\x73\xa3\x55\x00\xc2\x55\x01\xa7\x55\x00\xc3\x55\x01\x6e\x55\x00\x6e\x55\x00\x63\x50\x00\x00\x45\xfe\xc7\x44\xff\xb5\x04\x73\x06\x45\xc8\x07\x45\xc6\x63\x50\x00\x00\x45\x82\x03\x45\x66\x03\x05\x73\x6a\x54\x01\x5b\x54\x01\x5d\x54\x01\x45\x54\x01\x79\x54\x01\x73\x54\x01\x5a\x00";
  }
  function font_vertical() internal pure returns(bytes memory) {
    return "\x4d\x50\x15\x0a\x05\x73\x00\x55\xec\x01\x65\x05\x00\x55\xcb\x00\x55\xdd\x01\x55\xf1\x01\x65\x04\x00\x55\x4d\x00\x55\x4d\x63\x50\x00\x00\x55\x4b\x03\x55\x5a\x03\x05\x73\x39\x55\x00\x3e\x55\x00\x63\x50\x00\x00\x55\x00\x42\x44\xff\x27\x04\x73\x00\x45\x2e\x00\x45\x15\xff\x44\x19\xff\x44\x0a\x00\x45\x81\x00\x45\x80\x63\x50\x00\x00\x45\x75\x06\x45\x69\x04\x05\x5a";
  }

  function _register(uint _key, function() view returns(bytes memory) _function, uint _width) internal {
    fonts[_key] = _function;
    widths[_key - 0x20] = uint16(_width);
  }

  function _registerAll() internal {
    widths[0] = 208; // space
    _register(0x21, font_ex, 256);
    _register(0x22, font_double_quote, 424);
    _register(0x23, font_sharp, 759);
    _register(0x24, font_dallar, 503);
    _register(0x25, font_percent, 703);
    _register(0x26, font_and, 666);
    _register(0x27, font_apostrophe, 233);
    _register(0x28, font_brackets_left, 382);
    _register(0x29, font_brackets_right, 382);
    _register(0x2A, font_asterisk, 447);
    _register(0x2B, font_plus, 517);
    _register(0x2C, font_comma, 214);
    _register(0x2D, font_hyphen, 568);
    _register(0x2E, font_period, 214);
    _register(0x2F, font_slash, 461);

    _register(0x30, font_0, 554);
    _register(0x31, font_1, 414);
    _register(0x32, font_2, 540);
    _register(0x33, font_3, 526);
    _register(0x34, font_4, 526);
    _register(0x35, font_5, 526);
    _register(0x36, font_6, 526);
    _register(0x37, font_7, 526);
    _register(0x38, font_8, 526);
    _register(0x39, font_9, 535);
    _register(0x3A, font_colon, 214);
    _register(0x3B, font_semi_colon, 214);
    _register(0x3C, font_LT, 447);
    _register(0x3D, font_equal, 503);
    _register(0x3E, font_question, 531);
    _register(0x3F, font_big, 442);

    _register(0x40, font_at, 628);
    _register(0x41, font_A, 507);
    _register(0x42, font_B, 507);
    _register(0x43, font_C, 526);
    _register(0x44, font_D, 526);
    _register(0x45, font_E, 526);
    _register(0x46, font_F, 554);
    _register(0x47, font_G, 554);
    _register(0x48, font_H, 526);
    _register(0x49, font_I, 270);
    _register(0x4A, font_J, 526);
    _register(0x4B, font_K, 526);
    _register(0x4C, font_L, 526);
    _register(0x4D, font_M, 526);
    _register(0x4E, font_N, 526);
    _register(0x4F, font_O, 526);
    _register(0x50, font_P, 545);
    _register(0x51, font_Q, 545);
    _register(0x52, font_R, 586);
    _register(0x53, font_S, 586);
    _register(0x54, font_T, 531);
    _register(0x55, font_U, 531);
    _register(0x56, font_V, 531);
    _register(0x57, font_W, 531);
    _register(0x58, font_X, 531);
    _register(0x59, font_Y, 531);
    _register(0x5A, font_Z, 531);
    _register(0x5B, font_left_bracket, 377);
    _register(0x5C, font_back_slash, 456);
    _register(0x5D, font_right_bracket, 377);
    _register(0x5E, font_caret, 531);
    _register(0x5F, font_underline, 712);

    _register(0x60, font_grave, 335);
    _register(0x61, font_a, 498);
    _register(0x62, font_b, 498);
    _register(0x63, font_c, 498);
    _register(0x64, font_d, 498);
    _register(0x65, font_e, 498);
    _register(0x66, font_f, 447);
    _register(0x67, font_g, 498);
    _register(0x68, font_h, 461);
    _register(0x69, font_i, 205);
    _register(0x6A, font_j, 368);
    _register(0x6B, font_k, 498);
    _register(0x6C, font_l, 205);
    _register(0x6D, font_m, 717);
    _register(0x6E, font_n, 456);
    _register(0x6F, font_o, 498);
    _register(0x70, font_p, 498);
    _register(0x71, font_q, 498);
    _register(0x72, font_r, 400);
    _register(0x73, font_s, 498);
    _register(0x74, font_t, 442);
    _register(0x75, font_u, 461);
    _register(0x76, font_v, 498);
    _register(0x77, font_w, 773);
    _register(0x78, font_x, 498);
    _register(0x79, font_y, 545);
    _register(0x7A, font_z, 498);
    _register(0x7B, font_left_middle_bracket, 382);
    _register(0x7C, font_vertical, 195);
    _register(0x7D, font_right_middle_bracket, 382);
    _register(0x7E, font_tilde, 652);
  }

  constructor(address _designer) {
    designer = _designer;
    _registerAll();
  }

  function height() external pure override returns(uint) {
    return fixed_height;
  }

  function baseline() external pure override returns(uint) {
    return fixed_baseline;    
  }

  function widthOf(string memory _char) external view override returns(uint width) {
    uint key = uint(uint8(bytes(_char)[0]));
    if (key >= 0x20 && key < 0x7F) {
      width = uint(widths[key - 0x20]);  
    }
  }

  function pathOf(string memory _char) external view override returns(bytes memory path) {
    uint key = uint(uint8(bytes(_char)[0]));
    if (key >= 0x21 && key < 0x7F) {
      path = fonts[key]();
    }
  }

  function processPayout() external override payable {
    address payable payableTo = payable(designer);
    payableTo.transfer(msg.value);
    emit Payout("LondrinaSolid", payableTo, msg.value);
  }
}
// File: contracts/packages/graphics/IFontProvider.sol



// SPDX-License-Identifier: MIT

/*
 * This is a part of fully-on-chain.sol, a npm package that allows developers
 * to create fully on-chain generative art.
 *
 * Created by Satoshi Nakajima (@snakajima)
 */

pragma solidity ^0.8.6;

interface IFontProvider {
  function height() external view returns(uint);
  function baseline() external view returns(uint);
  function widthOf(string memory _char) external view returns(uint);
  function pathOf(string memory _char) external view returns(bytes memory);

  /**
   * This function processes the royalty payment from the decentralized autonomous marketplace. 
   */
  function processPayout() external payable;

  event Payout(string providerKey, address payable to, uint256 amount);
}
// File: @openzeppelin/contracts/access/Ownable.sol



// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// File: @openzeppelin/contracts/utils/Context.sol



// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}