diff --git a/Artix-7-HDMI-processing.xpr b/Artix-7-HDMI-processing.xpr new file mode 100644 index 0000000..156c674 --- /dev/null +++ b/Artix-7-HDMI-processing.xpr @@ -0,0 +1,551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default_dashboard + + + diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..1861d36 --- /dev/null +++ b/README.txt @@ -0,0 +1,94 @@ +README file for Artix 7 HDMI processing +======================================= +Hi! + +This is my design for receiving HDMI input, then extracting the video data, the +Video Inforframe and audio samples, then using that to display audio db meters +on the top corner of the screen. Currently for simplicity the output is only DVID. + +Features +-------- +Supports HDMI formats: + -720p@50 + - 720p@60, + - 1080i (with a bug) + - 1080p@50 + - 1080p@60 + and others.... + +Colourspaces / formats: + - RGB 444 + - YCbCr 444 + - YCbCr 422 + +New feature 10-AUG-2015! +----------------------- +Switch 0 will turn real-time edge detect off and on. + +New feature 6-AUG-2015! +----------------------- +Switch 1 will turn guidelines off and on. Will only show in 1080p 1080i and 720p resolutions. + +Supported Boards +---------------- + - Digilent Nexys Video + +Sources tested with: + - Western Digital HD Live + - HP Laptop + +Sinks tested with: + - Viewsonic Monitor + - AOC Monitor + - Vivo TV + +Known issues: + - Currently extracts only two channels of audio + + - Does not adjust PLL settings for input clock, so the PLL is run slightly out + of spec. + + - Image may re-sync once after a few seconds if symbol errors are seen. + + - There are timings errors, as generating 148.5MHz HDMI using the Artix-7 chip + is actually out of spec. Expect seven failing paths and about 20ns of negative + slack. + +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- diff --git a/charmap_gen.ipynb b/charmap_gen.ipynb new file mode 100644 index 0000000..e8b1f28 --- /dev/null +++ b/charmap_gen.ipynb @@ -0,0 +1,181 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 96, + "id": "median-landing", + "metadata": {}, + "outputs": [], + "source": [ + "import string\n", + "import contextlib\n", + "import itertools\n", + "\n", + "import bdfparser\n", + "from PIL import Image\n", + "import numpy as np\n", + "import jinja2" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "italian-temperature", + "metadata": {}, + "outputs": [], + "source": [ + "class GlyphTableGenerator:\n", + " IS_PRINTABLE_TPL = '''\n", + "module gen_charmap_is_printable_{{font_id}}(input glyph[15:0], output reg is_printable) begin\n", + " always @(glyph) begin\n", + " case(glyph)\n", + " {% for glyph in glyphs %} 16'h{{ '{:04x}'.format(ord(glyph)) }}: is_printable <= 1;\n", + " {% endfor %} default: is_printable <= 0;\n", + " endcase\n", + " end\n", + "end\n", + "'''\n", + " \n", + " def __init__(self, font_id, bdf_file, glyph_w, glyph_h, chars=[chr(x) for x in range(128)]):\n", + " self.font_id = font_id\n", + " self.font = bdfparser.Font(bdf_file)\n", + " self.chars = chars # [ char for char in chars if ord(char) in font.glyphs ]\n", + " self.glyph_w, self.glyph_h = glyph_w, glyph_h\n", + " \n", + " self.glyphs = [ self.font.glyph(char).draw().crop(self.glyph_w, self.glyph_h)\n", + " if ord(char) in font.glyphs else bdfparser.Bitmap(['0'*glyph_w]*glyph_h)\n", + " for char in self.chars ]\n", + " self.glyphtable = bdfparser.Bitmap.concatall(self.glyphs, direction=0)\n", + " \n", + " def font_preview(self):\n", + " preview = self.font.drawall()\n", + " return Image.frombytes('1', (preview.width(), preview.height()), preview.tobytes('1'))\n", + "\n", + " def glyphtable_preview(self):\n", + " return Image.frombytes('1',\n", + " (self.glyphtable.width(), self.glyphtable.height()),\n", + " self.glyphtable.tobytes('1')).rotate(90, expand=True)\n", + "\n", + " def write_printable_table(self):\n", + " with open(f'src/gen/gen_charmap_is_printable_{self.font_id}.v', 'w') as f, contextlib.redirect_stdout(f):\n", + " print(jinja2.Environment().from_string(IS_PRINTABLE_TPL, globals=globals()).render(\n", + " font_id=self.font_id,\n", + " glyphs=self.chars,\n", + " ord=ord\n", + " ))\n", + "\n", + " def write_glyphtable_memory_init_file(self):\n", + " #for prefix in ('Artix-7-HDMI-processing.sim/sim_1/behav/xsim/', 'Artix-7-HDMI-processing.runs/synth_1/'):\n", + " with open(f'src/gen/gen_glyphtable_{self.font_id}.hex', 'w') as f, contextlib.redirect_stdout(f):\n", + " for row in np.array(self.glyphtable.todata(2)):\n", + " width = (len(row)+3)//4\n", + " print(format(int(''.join(str(b) for b in row), 2), 'x').zfill(width))\n", + "\n", + " def write_font_param_file(self):\n", + " with open(f'src/gen/gen_font_params_{self.font_id}.vh', 'w') as f, contextlib.redirect_stdout(f):\n", + " print(f'`define GEN_FONT_GLYPH_W_{self.font_id} {self.glyph_w}')\n", + " print(f'`define GEN_FONT_GLYPH_H_{self.font_id} {self.glyph_h}')\n", + " print(f'`define GEN_FONT_GLYPH_COUNT_{self.font_id} {len(self.chars)}')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "id": "cheap-least", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 120, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "default_glyphtable_gen = GlyphTableGenerator('default', 'terminus-font-4.49.1/ter-u16n.bdf', 8, 16)\n", + "\n", + "default_glyphtable_gen.write_printable_table()\n", + "default_glyphtable_gen.write_glyphtable_memory_init_file()\n", + "default_glyphtable_gen.write_font_param_file()\n", + "\n", + "default_glyphtable_gen.font_preview()" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "comparative-master", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAFgAQAAAADlH/yQAAAcKElEQVR4nO2cf2xb173YP7xiaNbgi1lP87tO82oi5RxFyN64Z4IgOVkiAqEliIeie1A7Q6sLoQhUIxCKLH/4GZviyNLFi2JsrRcSDzaR1QS6CUHrBX0PfRdCYRiMLIQ3LFMReZmhBkRKZ27vXZbZjH3rkHyyzv44lxQpUZZ/dGs35HsknXPPOfd7v+d7z/d7vuf7PVcuwcOBAmSpgfVg91vKXiwyZA3sMgBNzdK0prKsaBoAmqa5Na+iaPHlD+OJk3HNrbk1Vzwejx9WlnPLFWUAIHOmhK1KnHpV1+vDlbquQ5OcrusR/enhYZ3gXriIHtEjuglA3UfoivIWTLLwHKrlkxSQhxo55yJEHfDgXK5C63L8KISYVOLAdz0TYSBjAdQn8nkLmmBZtqJSlzd4AJtatWP8zRYTeRV7CQgD2DWaxfLyMinAWvf9DIpgGBhgMVADGAUID9qoDgLGyALxLApY2JHc7YitJ1W1jMfGiEA0+mEUwK9SpHgcxmsELQD3W8B3rd/4gbcCrGP5sfYaACcgpNyEKACq/PUz1PQBrJYC5ZAPlDgqr8rhlAAIUE7UnXmhrtuq1xksJHzgBdQE4EcyWgELEj+vodpTqoVVhhwkgKZl+bCsR2ljkC/D8gHhgQVZoawCjD8yic+Zi6nsUopUilQGPJR5hmLqvSVSVMZYghTf9qRIMQpLNmUQQghxQ0hYEV2w6dKBRteVSwDU/DwouH4X0viQCMr31jEjMw26RV9Bvet9/8HJl2EZYNrAmLcArGVyuQAIIUZEQ1wVI2ZjpNDN/v9ufj8oTFEQQ+a5FvfTIn1LiFNCFM6JAwdWVlo8uA5AoPvxH3Pkj6BWAjzMGsAsMPEevA4BOHnyF51MVD09hvALVHzZowxwZxW4Qxj76Vbj2trTIQW0ZW1eC88uGzebuN2ae/aJ2XA8Ho/HJXIrw+AgJayBXysYRC0L4gCDA81mqqzA8Yi+qJcWIwFvk4MRPbJ4/ZIUq5tlfMDCsStB1YM9/Os6/cBP5QupDE2Njb2HAvMtjYUtMz9AbRw7hA14zpIF3LNFtI8hO30CJiyGZiOWZZUVWAQMSa1EEBiFccIdr3vSCrF2MsO0HyYBJoCTXyiWi1mHicOSjU7/4wCljSk2mOUxfEx5cLc5Dvz6rHZWvgVH3PFtcD/MgqOZaTavTLIPlQgE5a11AIrhg2EUSBZTyVGSVPBUIFVMsntvknGSS/28Dowfm4QcfXwB+uRUkNo9880ffTNFh5SfE0IIMdLYqNlQFpe7lMCInKwNsyGUexTHoZ6174Oy7pRPw2B362kn9/e8twx4hj0Pr1DcZbW6tDscpaxWS0PB996dPP1ltbq0e4qyWi1N+HZEoKhWKUsJVKuEapcgq1qlLLLC3pkCOQTjZ8q0UzF/Quaazlsc7ksmuyksuW92UDh2ZMwtzYiFvSeBJcAXTwFM/52LOH1cmLBK2edL0TaF0bFvWaXs85JCC1wxAK7v9QCvA3+bA+CtOMDEc6ESgBFtk/z6EQAsOe0T+dbk3lAm1QBAvO4FiKxLCks1kMt6xT0D8OzlvwQoxh0E77dV6/MyG/+eCgxSWgKg9jWAZwE9ogNM/w0AEdxSkA86Ag1n5gEIWyoQJCIvj3laAufArN8puOXortMepb8rY9HJWw9w4ORsC4GTN9tM8MpBBwAoRmTlG/7hbgSW1ylskSWH1AWZDVW7qzfgTDcFzdRJoALYyHkguc/uJAB7azjtKT0FoA4OA8yebOmD3qbAjqbCSON3sDpLKO/Qr3f7aU4/vIGhkQEsDCwyZDKgkcECMhhOybgGp5l1esI1gJwNmQwIURBCrIi0MEVBFApCCFEQphCiINKydCv9thBfErKnKYR4WwghRkwhCgXBnBDpOSFMURCmSIvGyw2XEGlhuoRIi4JIC3POFCPnzotXLguRvmwKEYqJT2IjQoiRwogYUXRNC+tollbS0MJefOawpoQVhlHCWkkLa+jE+c6x5WxQWw4HWeZzfHgLSBgEMCAmOtOhxrnGiGildv3IufOmaKWYuCUOjYgRc8QcMUcUtM7kmWe+42pWJpa5htFOcW7azbjzFlyxfCKfyH+56Wl6mp4mlEO/+DNP09OUf1u1SfWr7Rf3F/zMsy+I7/Ujrx95/c8VY96YN+bxOIkzRDEwiGLwoZOMraac3VLYSnQxuhhd7Go0okbUwIgaKjJFN9+OajnGg8+Zyk0nATDcTj2hTAKf2qKprVBkam5WXduAp71kuUkuJheTLZnS/q2dnJk96STWlXVlXVlfROoCCY8xBh6WKkuVpcoSQgjRaPQQdVMI0XBSG0w5k89t1EgTpwfdzbaJVe6obfGuXAbKFo4+eOSRrQge6QdOO6kN/f3AY12WxA6qTAhxvlfdeSHE+RUhBI6EpoUQYk6kxdvtClMUnIZ0WohXxJxIi4J4WwhREAVxzhSmSEseWECYHEwTptiusCgh98PhMGSZJkyJIlCi1OoEhfOFmBkTsfT5mJgTIi3ePiWE2SdEWtwShTkh0qwIwYp4JSZi6UJBvB2TJAhTmCJ9VQkQkMhyoGtaWCsu4LYiuMOarZV0tLCJq2wSz6IRfqEUL0K8dLh0WLEUlPB1zPOmFPq29D/ZoR9GREyYK+aKueLUFGQ+JIbkDFlRgKq76q663VV3WxM8wX/kCc+sZ5ZZzyxhwoSJEyfOCzI/Gj/aVJpKU0G5U1urRWqRWiRSi6CjozcXuM6nXOcSl0YvcYkSpWxpy0Sxb9o37ZsonLkmZbYt8x6K/qK36B9llOPS2cBkl8DXaoMMWrZlWzZK30zAjx9/h0Va9wV8fl/g+OjxUUaPSwzJTgSrBAmWrbJVtlAAL168LcMAeNQh6TjHE8fl5qEb/AC5cq6cK/fe+vrw4SNBAulJ2AwDAOTIkcNduboh6SkA1hUdDx5Su2d2z+ye2X1tL3vZm3J0g7KurK95SCKtr05ju8nWjWOZEDbdFrO119NhEskhlMubb8z1GpqDoEt7dPDgo4+2di6XOzS4A/2PQIeO2BDvLnkf2VlPSOhQKGknzclyWuoHYYpbwhRCCHGq1dM0VwrptCleeXvF7EBQcJJTdiwFsSLMLc4ZcyVdKJjiS2lzhTnX3Nwn54RLuCQBsfQpMSdEOjYyJ+aESF8Tt8QtYc4JVobaCFbMNjJFr+v6LahT18LLYS1MeEHT0cKgo2tK+I80e9bWLB3T8X8AoVDHWhlrNGLmOXFL3IoJs0MfHBqJiZi4JURMPCmiYkSYK+dED1Dy4KHmthUbDQONOBnPrGfWbqKh2cpNzywZ12VmCRO/qWmapnVNfwXDm8zWI4/drHCcADq8/w0WWbSa6OiVupdFvlG/MnqJ0iBeXT+u76t3I4hGFyf9/MKOGHJrwEE+5EPHmRBp8iHvU2scB4KQBw89ZqKX8uO0rYSzqqmiykXMRuXgWavmKBYMb7J7M6gkpCmfKyXadW+Y+8GnAiQqAG/4vQlHLdSjix0LNR2yUO6o3E/bApAbjsAZpyUBTafOAXfKOwuwtDSrJyukYD03VVtX1hc9UjuQWs9N1fKJ3df2kiR1OsUmEEII8/wmA6EhGkKYpmmK2LkO86BxTgghzsdaIiGEYx8kNmMFwLKsto1AuWxt2UhbbR4cy21qOs1p6O/v7yc12CH6pwcBcq1R9MO9OyRzhNQtxiKAq7DUPPnq2IWwUpzKJRcnJC3J7XyEWSZpb5wBcJeylWkDSoTJhXIOgtB2CCR0ImgpFKlH5oQQl+fE3JNzfa4bLlds7nLsxosx15yrz8XQjdhTc867ES+LU8IlLgvR9idGATI6SjyoH9bRI8MM19GDcJF1PRoZNsmAvnzYsiwrwwW+yk2usGnnOtXyia3ScjY1V2U+wdGFcQgSCoVCU4AqRULdtLRZAEedfW2TjZBCyOlw9K8095n4X7kPv6ZZbs7Et3ELJyhSMmyjhlUaqGmAyqCMP1zQIwkulND1csRKNCvdCAzVMGAQGVOwnJDCNBQhCMCg4gGUyFE8OVTsTRREiUYh6PC0jF+GFGDIQoYPgm1LIQlgXek5hHHAcQf6FqTdUAYYH6flkRiUubqja7y1COdgfGEKWG8C6zgeBd8PNyNYopLiZD9FjKUlUhUAJQVLMAUnK4yl6E+NFYOp1CiD/Z57MbY3Q0PIfa/cZXRQ8GDRtodwQEjt/n82QFGW7oMsgFXObDR0FO+KQO1gjKWGNxo6inQYHkKIJ9OmaV4WQojGnBBC7BFzc5fF1ZV/ticWi8Xm+vpcb7qemovFYldfjM25+uaIKXCp66mWZV0BQAdFOaPoenB5b17Kpz4UGV4dRgesi+jRiG5u+LolrAIUa345BYelfgiS6/SVATTLqwMOD+JxNEXT3nTFfxofvHgmrsUvkvkTTbvJktdxt4BtX7PrOGGW8Xy9blMDGSqDUT2q6780OQ4nE+icfHLhv+q61/jgY9iHMQp4frPPqgGRIhijxVrNYsBov4WLtIKgEm0txmN4iOY8hgHR4wABsJIYRCB6MWJZ4I9CEZKKlN0uCEjOLM9HOxwHqv+E40dYwO+Xen0ITnTOg9bbnaEKMCQdxAm5dvoC7X6JQMAxv5ug1Dsnxarzp0QTJppOH4BNlvzGlXuVUfTizODuFKVxf38KxgfH/8vPZ0g90d9kjBQVxip54LQRLTL0HddASoccpHRSnGZENJyYwo30DWc+3hAjoodRWBBCiKFNlZ08WGgV/Fv4ugGXN10rcpSbPRCjm4MNQA9nDn8QAcvawyLIxOPxwcFAPKeFZ9EcazfTu3M5k7PAyjQhZ5Uz5HIKimT9DOi3F7l4QfYM90agcqyloY5ZaphjRNmQhXxHzw5+1zoRTJ0NgTrlgbMhNcrZY+MthXKteg3QlsPKjLIwrsP8CVInlZkXYykdatx+bPLaT76qgDK7/mUGf5AbiwOps7aiSHL3+fcZcDxSGl7U0aVhIlVW5xB1fd+wfikQ8ObY1wT2EX5VobW1j1aT80SA8TxsaBw5xGvVa84QPQC2LQ2caxdHFUo4cZ3AxCKAMVqEDY1DmKSksJo0DFoaSur7fQu1zokkOTx8MQIq/hYjWw+IBpLDwxsayjEVLyptEUq0tgwLiXbksQmb2zfFJheUcb7CkX/1Ue2j1O5cslgkOUoqmfTkIEUxRbKzfXQUUrsrFeJNPMmk8dFHwA2xJsRa9+rfghEhGt3tslXqikZBCCEUP3eHndoV6IO+jYrT3e2nu9uli0HqitNR+F3og3vw4mYgQ0YWyJAhg9auuReFEm6J54aQTm+0usSMcImnxJyIiZh4XMRESMyJITHU9uddFumCSIv0KRmJkF4GIdLyShluHmAY0Nso+zrKAMHBcEALayyghHU0BtFAi6Oho8FI47wYEU+JmDgknhLnREwcEjFxTpwTaYcC8ylhSr/CiGiImHiqKyKh4OUUyvhgXrPjzXjzT4jzzz0ahzlMnHgtTgIGQUMjg4aW1xhEq8eJS9+jwvCzBxgepahbzWs1+0WDch/6YGt7UFuWAn2c4+9/A917nOPj5PUaddANHV2B11jm4ngkj02TZpQQeIJHg0cZT3KEyDKj4xjzxvxBDKJ4GR0v5i1qQBQDBXg2YiyMUlStx6/5bAwpdVlK4RPJY0eIcHGU6GJ0kbNRA2/Ue3E0UvRL2TeihgK8xtNcTER8qudxj48ooSYMTg5S4gTHgIWL8nW8wTBRogsXE5GAlJEo0dZEWiDh8fk9fXLhbwIsLIDfLxu7YIHExokTRysLUvzdI/jpE0AKggQFAhdQgQrJxWRu6ruz8v4U+kZMQgghGrfW1lZW1taEEGJtTYiVFWGKU2trax16YjuQ8YVeMfbJHnU9wA3g80FL6DdUQ1+v/lvg4fWBlO2iI98bkOjV22JjA+CoLkXKdvH+H511cke23xZpkY71vUzf90/1Hfp+X5+r70t7Xu6Lzc29FnP1PdW3qxEbGSm8uPKiiK3EBCsuIV65bM6JmCJlO16ME4fbU43bR16IrB+5fbsemVyd+mt0Heq3+eunAQIXkZPSZBglG0QHRZ9imimZJgCwHSe5X5IYmoCWC241tNr2BAxXUAElrzmRg7g8ZdTNvAm400wAzNtNqLlr7qq76iaM5rgflQ39Ve1lG05MPCZV6aLVhIGDAwdrkVqEkqGjE0BHMfJJZPJXl1u3qa1FNDQx4fY2pbFggx+/dPwTbZ0nUKLGCU5wghNJ/Becs11O9xY2mwC0HIwyFgFGVGJQ2gbVCejcP8vSYxuD8TkWgVfyuBWOVBIdXPPw95tYcA3wyWikx0cvUFKp08nTydNJqNXYlQMgBbsx6pwZPMJu/PBe7r0knqUNV+bepdGl0UollUohxOaYYpeV0BCmGLmbPnD3pGsrlNXXeBYVCxULfLbMpbW+Kaa4DUxP96z+HewXdn52Z++tfhLxpW35Y5pi5VxJHJIX54QQoiBuvVyYKxSEEOaKo1Qr25Cw4b2wLMd/mqVk1NTV50slCyx1XhJ1ONsbAWCh8o5UzwmnKmBZlh0GNMfWVOj2dHdCKIRammQym4Wftir1KR+lUFZrvRN3fCL+1rYkSJgEquqkfQHgBbAIBVXtz2Xjve3aLCywQxCukAkTfg+mHel099AiGieBVztqKirSlxultTlAVUNGoJpXHEdjJ0xPr6+vr3fXlaG8RRxL1dLUPQ0hG+QqhOwty2Vg4r27I3BmwqT6T34EqrX1hdtPK8nuaOh2cBt85V5PcIlNHqIuKIcgvDXg2wJjLe92mep2CJT13vWbem3ZIbThnu6/mz64Nwr+ABwQPWu9j+JaTuQuPbfsfWRWy2JJabDkOkuNDLU4drOmbIPg6WMfmh9xDD4aW5jWpcRXZOat1p3ogfJok+jSdkP4n8DZKsAah7gEXIJL0Mzn12oXa1QuUq+eWeWDbRBU/76pLF/zvwXuNahO1qlMfnBiEih/+9F3v6ey8D0D7xuM57YgyOUMeJdnF4jss6rwL2/z2zxrXCK/RrVe/U+Qn13jpdlXqdZKoNjzhmYYgFV2UAQgzGvjQD98zMcsfZtH+Q7Pfo/8Wt67vv4DrjME3qgFS+6auvp8joCKpRrw7nX24tY+5VltAHwJ/KzykxZ12RmO/QuFGfY+euO/zdbLXyM8rHRo2adLpcEpX5ODvs95X5tYB/dj2NTG+QE3s+eyr73wDHAUErhfOPVCmPJzC+DWX8hRCmWV6TLlmj94xi9Nk38K4PbUdxN4z5PA/YxqPfZ+8AdjF4I3L/zpu9Zq/8fA4wxMuDu0bPlxu+LHB/T95h+zD2h+cZmlM/MByxtUfer87LfciUA94cc/4O9f9TJs8ITrVibhrRNQsSwb97t/WvIMTn6rpTjvpisgkYfeAYrzO+0yOuChhenhzyvfe1dr7wKMM/9FPjzBp78icQ1bdXUO4eYOGJoQgi/CCfi0Fc1TmhtLt9LDkajFmywvl224ib1x3AbLWd2FYuA1Nt8FdvnT52HWjU4TXwjgVm+ylHeXPv73XrDWZ4AE1mEtTlOx1euLs+5Lty04U9v81G4EuQ88no+ZZS3vnHDQOe1dt3y/nrp0G4A3VgGUxDa7QMXOEfJwUm1OGIkFqByF7G8oe1rHfOUXGNsd9APl/SVv1KtYlh1q11UsJdTMfKFFeHvrXe50yn8NHgEXysHhulFfb4eCrwzC6T9bV+2pXzs9/TJb2o4CawK1STZb9kUnxmWv7DA+K1KEZ3YDzwGQXycBoQ134E/gH0CgzDzRVPqZnMx5CE2v88MgVPKKL/SFzDO7T64Bj283eoeCm8P9gTqQcLd8CilYn53dmzy5pij7SeUM5Edzx3oicJ2fwN75hD5gqTmSe7m+CONwBYJgqygTvWbHfcD96QNfx7ZMlTu7+0PggTJ8CPPwOXm4yyU6TgNY1ShWtbUPtKgSkL+BKoFqK99oh6qkIJwIu+e38ejvBK0hDF2oPgSCMpR9NVmh9gzF3AWBCwhBqDWNrB7qZUcKYAzbf383thHIbziSjIEL+AZwlTfx4qVBgwAJGkDjlw0CQCKQwHvVhfdNF4HGfhIdr9GFWf0eP+IqVb4C/LIjB/iK88xGFwVugDcB16Oywqruv68huAEOVYKVOwgsfoTFLnZRpcoBDlAHLJ6sEqhShSqBKgGgSiuSo+AC7Hv55KU3yLfgw/dbp+K+5wHO6up1Kh5wHkDfJ/d3Ywvc4DJ9ofZBlQdB0A2qavXqtz0CAxOLaqAqo9NViGbkWRvrAmOtnylU6wJjJaKqxR+fEqcsVX7hY92HgbEB+Q6z5kEQrM/ceTgErmrHbupBEKwlOgIzPbSyi6uc8uJucCfAjPzrwrWfF/fzIoBS67CmlEaMQGM/kGgEGrH9iUZsh+dX1+oBFcDLVa7iTrCfADEgQQAaCURm16kDVXfN/l8Hqo/X7Dt7qk9XfS6BS1j7RePJ2lW37fZWr+4CjFih5xAafBIg0OBqAL8su/i8C9d+Pl+v+b1dH/Yq8qCYWSiYZqFgFgqFAvCP4Ay8BGvQBzOQBgFpbi1Wd3nX1urqAerRA4heTBTsoq/KzAFeqrMmyyZzAmEy5w5A1dsx2x/E2PavP/pwCPLu5Y2LB0EQEAceDsGMMrtx8SAIEp3ub5cwYo5wulyK2+sPJP7Nyx9cvI4fPqEGezpvdbFlf9JLmCbfuXHv5GwgcLVL2Q/e6ezS5QrRmF5eP4jKLP9u7R/WlUovHkx+/dC2D2yetK6EqICqQiLQwcQNAsj+uIsCrETCdeeOPHO6OnAYu0LGsqw7jbEXbHVHHmjTUAabChUYGrgwg3Vpcjj0xSYk1sDtzW8mYDMPqNicKvOmiqUOwjNXfvZSkEtfJF77z1hBd/dqv5UCgDuQgKFTVrDyq+jXf/w8/9r10nmorq2DAmITAWR//I7/k9onV/fU9hzwo3AJnoFTRwEGVn8c5BScgjHtSkG13WLrQjT5zo2fd1X0QZ4+rlD5qr926RKTwQ8SFcDjbs2DLgK28OClPQQ/x6cw+NKVP+aHl/+WZ54IfPOFJM9Xv7PzPJgGQiF8PlUdGmLZM3uZsUplQA20BEqYojW/XX279hwYean2l1///J6aoLanJvZ0uwc6vQUj28cXtvCgJ+Rl5t7Cga08uCs8OAUO/E78ifJ7klwzK9P9XSvFgYck4e0n78Nl08uLU5x6OALcADkmOn7HN11P3rVdyUR2esYO8OTbD8mDqQeIGG/hgfzXJhPb5ON3bVci25xBu2d42Hnwh+pb/38Lwf3K/xZ98LAU/P5fozu7g7zvqA8eloI/EB48lD54WAr+AHhA6z+3/L4o+P3z4DN98Jk+gM/0AYA71+MrkP+rFPz+efCZPvhMH8Bn+gDA3fz/wj5IwMyMeEBMSjMLieV8fvNJtvuhwOZKdWLtzoPxQ/FMch1qoXqz90df90LBr6Cu1h4w1uXOkjsEa75f7tn9YAgAlt90efIHepxWvhcQQhwSsMZII7bjRrmX/wAIv6Pu+Jzth5Bl8thvg//jzsyBnTv3AgXi5bWK0kyEHgyBSxD3vBLdVW3s2ut9kMmowFu48Vp+X+6BJrOSzQL4y967HV26OwVwSARy7r4HmwduefIzgbLNP2ncCf43FcSsJYIyE9EAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "execution_count": 121, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bold_glyphtable_gen = GlyphTableGenerator('bold', 'terminus-font-4.49.1/ter-u16b.bdf', 8, 16)\n", + "\n", + "bold_glyphtable_gen.write_printable_table()\n", + "bold_glyphtable_gen.write_glyphtable_memory_init_file()\n", + "bold_glyphtable_gen.write_font_param_file()\n", + "\n", + "bold_glyphtable_gen.font_preview()" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "id": "driven-photographer", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAACAAAAAAIAQAAAABFYCKXAAAC7klEQVR4nOWUT27bRhTGf6QVwykKcBZdFMiCs8giuwrIMgvzCDlCTlDrBtINLPQC9g2aG5gsEMBZUbugMGSO7BQu0CYzhheRxD9fF5ScGE2BNs6uHwES7715783HefNF4v+N+PX0a5RpJkuLU+gtffJeWMLbcGkLU1nZUy7tItvmwFsWw4W5tL8fX2cuOK5sYcDhAqEwhVnYCxbfXwRvHYX9hcLMZjNOw8fG0JrWdq4w7cSxGrQGoAnQmta0trWruKE5JqzMipVdz1aDZpN/DFB53RuHypP3vvz5Ku3t9UknqZNU6szLz/3c+/Hcz/2vmvvzSpK8r8ed5npzcK65r7yvKl/p3LeS8tRX8l4aV/5clT+v5r6SfLev6mb/RmdeUil5qZbWvu6fgzPV72pJpzttJdWqtYmoPqi9vPbluxO9W/nKS628pNia+5//iGcjeMzNDFy4zuJ8G3lMTGEjYA+ABxPAAOwF0CR6zmYegunoAHAhne052EOT3oHr10RT3MP8G2JcYFSYANy2+ojwdB05wmc2OoUohwiA3yxA/F/J/h3Fc4CfvlsNxRQTdAzrjBkwe0jEDy6awKCnYADWs/Vs4KDLopd3a0XAwloGOcSbS4Qlh4UBUA6RiYA2T53j7g94YABe2wFRXtj+MmzxagggCxBNdoaFaWcBiF34UuJb7L+c8mr6459/vPiWEdGLYLpsN+cJMNzJoskeZDExYGAEsDvcfRLn0Nj+RO4idRBNYDsRwATSABpF2YdMIZos7AfA9qFbPAoAT11fZeeWWQw8c8AocsqA7JHbD/SDdXp4fw2Q6vF7/6bsNhrQaasBKl0qXZVXR924qEJa6SJdbNbUY+8vVXmX5IlL8yTffCUd5UmeePW2S/Pk8qhSnhZSVZY3qg6lUlsNUJonTdqkTVqr6fNv8kSqtUyadBk16TJpfK1lupT8qlymddnv80QSX4O+JF1/oZq69J8iefKpVd36yn9ZeZl8xnenWynpL8gRenmHTEe6AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "execution_count": 123, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "default_glyphtable_gen.glyphtable_preview()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/constraints/NexysVideo.xdc b/constraints/NexysVideo.xdc new file mode 100644 index 0000000..7fb34cc --- /dev/null +++ b/constraints/NexysVideo.xdc @@ -0,0 +1,72 @@ +#------------------------------------------------------------------------------------ +# HDMI and clock Constraints for the Digilent Nexys Video FPGA development board. +#------------------------------------------------------------------------------------ + +##Clock Signal +set_property -dict { PACKAGE_PIN R4 IOSTANDARD LVCMOS33 } [get_ports { clk100 }]; + create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports clk100] + +##HDMI in +create_clock -add -name hdmi_clk -period 6.7 -waveform {0 5} [get_ports hdmi_rx_clk_p] + +set_property -dict { PACKAGE_PIN AA5 IOSTANDARD LVCMOS33 } [get_ports { hdmi_rx_cec }]; #IO_L10P_T1_34 Sch=hdmi_rx_cec +set_property -dict { PACKAGE_PIN W4 IOSTANDARD TMDS_33 } [get_ports { hdmi_rx_clk_n }]; #IO_L12N_T1_MRCC_34 Sch=hdmi_rx_clk_n +set_property -dict { PACKAGE_PIN V4 IOSTANDARD TMDS_33 } [get_ports { hdmi_rx_clk_p }]; #IO_L12P_T1_MRCC_34 Sch=hdmi_rx_clk_p +set_property -dict { PACKAGE_PIN AB12 IOSTANDARD LVCMOS25 } [get_ports { hdmi_rx_hpa }]; #IO_L7N_T1_13 Sch=hdmi_rx_hpa +set_property -dict { PACKAGE_PIN Y4 IOSTANDARD LVCMOS33 } [get_ports { hdmi_rx_scl }]; #IO_L11P_T1_SRCC_34 Sch=hdmi_rx_scl +set_property -dict { PACKAGE_PIN AB5 IOSTANDARD LVCMOS33 } [get_ports { hdmi_rx_sda }]; #IO_L10N_T1_34 Sch=hdmi_rx_sda +set_property -dict { PACKAGE_PIN R3 IOSTANDARD LVCMOS33 } [get_ports { hdmi_rx_txen }]; #IO_L3P_T0_DQS_34 Sch=hdmi_rx_txen +set_property -dict { PACKAGE_PIN AA3 IOSTANDARD TMDS_33 } [get_ports { hdmi_rx_n[0] }]; #IO_L9N_T1_DQS_34 Sch=hdmi_rx_n[0] +set_property -dict { PACKAGE_PIN Y3 IOSTANDARD TMDS_33 } [get_ports { hdmi_rx_p[0] }]; #IO_L9P_T1_DQS_34 Sch=hdmi_rx_p[0] +set_property -dict { PACKAGE_PIN Y2 IOSTANDARD TMDS_33 } [get_ports { hdmi_rx_n[1] }]; #IO_L4N_T0_34 Sch=hdmi_rx_n[1] +set_property -dict { PACKAGE_PIN W2 IOSTANDARD TMDS_33 } [get_ports { hdmi_rx_p[1] }]; #IO_L4P_T0_34 Sch=hdmi_rx_p[1] +set_property -dict { PACKAGE_PIN V2 IOSTANDARD TMDS_33 } [get_ports { hdmi_rx_n[2] }]; #IO_L2N_T0_34 Sch=hdmi_rx_n[2] +set_property -dict { PACKAGE_PIN U2 IOSTANDARD TMDS_33 } [get_ports { hdmi_rx_p[2] }]; #IO_L2P_T0_34 Sch=hdmi_rx_p[2] + + +##HDMI out +set_property -dict { PACKAGE_PIN AA4 IOSTANDARD LVCMOS33 } [get_ports { hdmi_tx_cec }]; #IO_L11N_T1_SRCC_34 Sch=hdmi_tx_cec +set_property -dict { PACKAGE_PIN U1 IOSTANDARD TMDS_33 } [get_ports { hdmi_tx_clk_n }]; #IO_L1N_T0_34 Sch=hdmi_tx_clk_n +set_property -dict { PACKAGE_PIN T1 IOSTANDARD TMDS_33 } [get_ports { hdmi_tx_clk_p }]; #IO_L1P_T0_34 Sch=hdmi_tx_clk_p +set_property -dict { PACKAGE_PIN AB13 IOSTANDARD LVCMOS25 } [get_ports { hdmi_tx_hpd }]; #IO_L3N_T0_DQS_13 Sch=hdmi_tx_hpd +set_property -dict { PACKAGE_PIN U3 IOSTANDARD LVCMOS33 } [get_ports { hdmi_tx_rscl }]; #IO_L6P_T0_34 Sch=hdmi_tx_rscl +set_property -dict { PACKAGE_PIN V3 IOSTANDARD LVCMOS33 } [get_ports { hdmi_tx_rsda }]; #IO_L6N_T0_VREF_34 Sch=hdmi_tx_rsda +set_property -dict { PACKAGE_PIN Y1 IOSTANDARD TMDS_33 } [get_ports { hdmi_tx_n[0] }]; #IO_L5N_T0_34 Sch=hdmi_tx_n[0] +set_property -dict { PACKAGE_PIN W1 IOSTANDARD TMDS_33 } [get_ports { hdmi_tx_p[0] }]; #IO_L5P_T0_34 Sch=hdmi_tx_p[0] +set_property -dict { PACKAGE_PIN AB1 IOSTANDARD TMDS_33 } [get_ports { hdmi_tx_n[1] }]; #IO_L7N_T1_34 Sch=hdmi_tx_n[1] +set_property -dict { PACKAGE_PIN AA1 IOSTANDARD TMDS_33 } [get_ports { hdmi_tx_p[1] }]; #IO_L7P_T1_34 Sch=hdmi_tx_p[1] +set_property -dict { PACKAGE_PIN AB2 IOSTANDARD TMDS_33 } [get_ports { hdmi_tx_n[2] }]; #IO_L8N_T1_34 Sch=hdmi_tx_n[2] +set_property -dict { PACKAGE_PIN AB3 IOSTANDARD TMDS_33 } [get_ports { hdmi_tx_p[2] }]; #IO_L8P_T1_34 Sch=hdmi_tx_p[2] + +# DEBUG on JA +set_property -dict { PACKAGE_PIN AB22 IOSTANDARD LVCMOS33 } [get_ports { sck }]; #IO_L10N_T1_D15_14 Sch=ja[1] +set_property -dict { PACKAGE_PIN AB21 IOSTANDARD LVCMOS33 } [get_ports { ncs }]; #IO_L10P_T1_D14_14 Sch=ja[2] +set_property -dict { PACKAGE_PIN AB20 IOSTANDARD LVCMOS33 } [get_ports { sdi }]; #IO_L15N_T2_DQS_DOUT_CSO_B_14 Sch=ja[3] +set_property -dict { PACKAGE_PIN AB18 IOSTANDARD LVCMOS33 } [get_ports { sdo }]; #IO_L17N_T2_A13_D29_14 Sch=ja[4] +set_property -dict { PACKAGE_PIN Y21 IOSTANDARD LVCMOS33 } [get_ports { debug_pmod[0] }]; #IO_L9P_T1_DQS_14 Sch=ja[7] +set_property -dict { PACKAGE_PIN AA21 IOSTANDARD LVCMOS33 } [get_ports { debug_pmod[1] }]; #IO_L8N_T1_D12_14 Sch=ja[8] +set_property -dict { PACKAGE_PIN AA20 IOSTANDARD LVCMOS33 } [get_ports { debug_pmod[2] }]; #IO_L8P_T1_D11_14 Sch=ja[9] +set_property -dict { PACKAGE_PIN AA18 IOSTANDARD LVCMOS33 } [get_ports { debug_pmod[3] }]; #IO_L17P_T2_A14_D30_14 Sch=ja[10 + +##Switches +set_property -dict { PACKAGE_PIN E22 IOSTANDARD LVCMOS25 } [get_ports { sw[0] }]; #IO_L22P_T3_16 Sch=sw[0] +set_property -dict { PACKAGE_PIN F21 IOSTANDARD LVCMOS25 } [get_ports { sw[1] }]; #IO_25_16 Sch=sw[1] +set_property -dict { PACKAGE_PIN G21 IOSTANDARD LVCMOS25 } [get_ports { sw[2] }]; #IO_L24P_T3_16 Sch=sw[2] +set_property -dict { PACKAGE_PIN G22 IOSTANDARD LVCMOS25 } [get_ports { sw[3] }]; #IO_L24N_T3_16 Sch=sw[3] +set_property -dict { PACKAGE_PIN H17 IOSTANDARD LVCMOS25 } [get_ports { sw[4] }]; #IO_L6P_T0_15 Sch=sw[4] +set_property -dict { PACKAGE_PIN J16 IOSTANDARD LVCMOS25 } [get_ports { sw[5] }]; #IO_0_15 Sch=sw[5] +set_property -dict { PACKAGE_PIN K13 IOSTANDARD LVCMOS25 } [get_ports { sw[6] }]; #IO_L19P_T3_A22_15 Sch=sw[6] +set_property -dict { PACKAGE_PIN M17 IOSTANDARD LVCMOS25 } [get_ports { sw[7] }]; #IO_25_15 Sch=sw[7] + +##LEDs +set_property -dict { PACKAGE_PIN T14 IOSTANDARD LVCMOS25 } [get_ports { led[0] }]; #IO_L15P_T2_DQS_13 Sch=led[0] +set_property -dict { PACKAGE_PIN T15 IOSTANDARD LVCMOS25 } [get_ports { led[1] }]; #IO_L15N_T2_DQS_13 Sch=led[1] +set_property -dict { PACKAGE_PIN T16 IOSTANDARD LVCMOS25 } [get_ports { led[2] }]; #IO_L17P_T2_13 Sch=led[2] +set_property -dict { PACKAGE_PIN U16 IOSTANDARD LVCMOS25 } [get_ports { led[3] }]; #IO_L17N_T2_13 Sch=led[3] +set_property -dict { PACKAGE_PIN V15 IOSTANDARD LVCMOS25 } [get_ports { led[4] }]; #IO_L14N_T2_SRCC_13 Sch=led[4] +set_property -dict { PACKAGE_PIN W16 IOSTANDARD LVCMOS25 } [get_ports { led[5] }]; #IO_L16N_T2_13 Sch=led[5] +set_property -dict { PACKAGE_PIN W15 IOSTANDARD LVCMOS25 } [get_ports { led[6] }]; #IO_L16P_T2_13 Sch=led[6] +set_property -dict { PACKAGE_PIN Y13 IOSTANDARD LVCMOS25 } [get_ports { led[7] }]; #IO_L5P_T0_13 Sch=led[7] + +##UART +set_property -dict { PACKAGE_PIN AA19 IOSTANDARD LVCMOS33 } [get_ports { rs232_tx }]; #IO_L15P_T2_DQS_RDWR_B_14 Sch=uart_rx_out diff --git a/spi_regfile_tb_behav.wcfg b/spi_regfile_tb_behav.wcfg new file mode 100644 index 0000000..ac56f08 --- /dev/null +++ b/spi_regfile_tb_behav.wcfg @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + testcase[31:0] + testcase[31:0] + #DCDCDC + true + + + clk + clk + #DCDCDC + true + + + rst + rst + #DCDCDC + true + + + sck + sck + #FFFF00 + true + + + sdi + sdi + #FFFF00 + true + + + sdo + sdo + #FFFF00 + true + + + ncs + ncs + #FFFF00 + true + + + spi_data_in[15:0] + spi_data_in[15:0] + + + spi_data_out[15:0] + spi_data_out[15:0] + + + spi_status_word[15:0] + spi_status_word[15:0] + + + spi_cmd_word[15:0] + spi_cmd_word[15:0] + + + spi_cmd_active + spi_cmd_active + + + spi_cmd_begin + spi_cmd_begin + + + spi_cmd_step + spi_cmd_step + + + spi_cmd_idx[19:0] + spi_cmd_idx[19:0] + + + i[31:0] + i[31:0] + + + j[31:0] + j[31:0] + + + k[31:0] + k[31:0] + + + sim_rxdata[1:4][15:0] + sim_rxdata[1:4][15:0] + + + sim_txdata[1:4][15:0] + sim_txdata[1:4][15:0] + + + sim_txbuf[15:0] + sim_txbuf[15:0] + + + period[31:0] + period[31:0] + + + WORDSIZE[31:0] + WORDSIZE[31:0] + + + txbuf[14:0] + txbuf[14:0] + #FAAFBE + true + + + rxbuf[15:0] + rxbuf[15:0] + #FAAFBE + true + + + is_cmd_word + is_cmd_word + #FAAFBE + true + + + last_ncs + last_ncs + #FAAFBE + true + + + last_sck + last_sck + #FAAFBE + true + + + load_data + load_data + #FAAFBE + true + + diff --git a/src/alignment_detect.vhd b/src/alignment_detect.vhd new file mode 100644 index 0000000..a6a503d --- /dev/null +++ b/src/alignment_detect.vhd @@ -0,0 +1,163 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field '0'); + signal signal_quality : unsigned(27 downto 0) := (others => '0'); + signal holdoff : unsigned(9 downto 0) := (others => '0'); + signal error_seen : std_logic := '0'; + signal idelay_ce : std_logic := '0'; + signal idelay_count : std_logic_vector(4 downto 0) := (others => '0'); + signal symbol_sync_i : std_logic := '0'; + +begin + delay_count <= idelay_count; + delay_ce <= idelay_ce; + +detect_alignment_proc: process(clk) + begin + ------------------------------------------------------------- + -- If there are a dozen or so symbol errors in at a rate of + -- greater than 1 in a million then advance the delay and + -- if that wraps then assert the bitslip signal + ------------------------------------------------------------- + if rising_edge(clk) then + ----------------------------------- + -- See if an error has been seen + -- + -- Holdoff gives a few cycles for + -- bitslips and delay changes to + -- take effect. + ----------------------------------- + error_seen <= '0'; + if holdoff = 0 then + if invalid_symbol = '1' then + error_seen <= '1'; + end if; + else + holdoff <= holdoff-1; + end if; + --------------------------------------------- + -- Keep track of valid symbol count vs errors + -- + -- Each error increase the count by a million, + -- each valid sysmbol decreases the count by + -- one. So after 12 errors it will cause us to + -- change bitslip or delay settings, but it will + -- take 7 million cycles until the high four + -- bits are zeros (and the link considered OK) + ----------------------------------------------- + bitslip <= '0'; + idelay_ce <= '0'; + if error_seen = '1' then + if signal_quality(27 downto 24) = x"F" then + ------------------------------------------ + -- Enough errors to cause us to loose sync + -- (if we had it!) + ------------------------------------------ + symbol_sync_i <= '0'; + -------------------------------------- + -- Hold off acting on any more errors + -- while we adjust the delay or bitslip + -------------------------------------- + holdoff <= (others => '1'); + ----------------------- + -- Bitslip if required + ----------------------- + if unsigned(idelay_count) = 31 then + bitslip <= '1'; + end if; + ------------------------------------------------------------------- + -- And adjust the delay setting (will wrap to 0 when bitslipping) + ------------------------------------------------------------------- + idelay_count <= std_logic_vector(unsigned(idelay_count)+1); + idelay_ce <= '1'; + ------------------------------------------------------------------- + -- It will need 4M good symbols to avoid adjusting the timing again + ------------------------------------------------------------------- + signal_quality(27 downto 24) <= x"4"; + else + signal_quality <= signal_quality + x"100000"; -- add a million if there is a symbol error + end if; + else + ----------------------------------------------- + -- Count down by one, as we are one symbol + -- closer to having a valid stream + ----------------------------------------------- + if signal_quality(27 downto 24) > 0 then + signal_quality <= signal_quality - 1; -- add a million if there is a symvole error; + end if; + end if; + ------------------------------------ + -- if we have counted down about 3M + -- symbols without any symbol errors + -- being seen then we are in sync + ------------------------------------ + if signal_quality(27 downto 24) = "0000" then + symbol_sync <= '1'; + end if; + end if; + end process; + +end Behavioral; diff --git a/src/audio_meters.vhd b/src/audio_meters.vhd new file mode 100644 index 0000000..173f134 --- /dev/null +++ b/src/audio_meters.vhd @@ -0,0 +1,267 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: audio_meters - Behavioral +-- +-- Description: Insert audio level meters on a video stream. +-- +-- Will need to make allowances for interlaced sources! +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity audio_meters is + Port ( clk : in STD_LOGIC; + ------------------------------- + -- VGA data recovered from HDMI + ------------------------------- + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_red : in std_logic_vector(7 downto 0); + in_green : in std_logic_vector(7 downto 0); + in_blue : in std_logic_vector(7 downto 0); + is_interlaced : in std_logic; + is_second_field : in std_logic; + + ----------------------------------- + -- VGA data to be converted to HDMI + ----------------------------------- + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_red : out std_logic_vector(7 downto 0); + out_green : out std_logic_vector(7 downto 0); + out_blue : out std_logic_vector(7 downto 0); + + ------------------------------------- + -- Audio Levels + ------------------------------------- + signal audio_channel : in std_logic_vector(2 downto 0); + signal audio_de : in std_logic; + signal audio_level : in std_logic_vector(5 downto 0) + ); +end audio_meters; + +architecture Behavioral of audio_meters is + signal col_count : unsigned(11 downto 0); + signal line_count : unsigned(11 downto 0); + signal last_hsync : std_logic := '0'; + signal last_vsync : std_logic := '0'; + signal last_blank : std_logic := '0'; + + signal mid_blank : std_logic; + signal mid_hsync : std_logic; + signal mid_vsync : std_logic; + signal mid_red : std_logic_vector(7 downto 0); + signal mid_green : std_logic_vector(7 downto 0); + signal mid_blue : std_logic_vector(7 downto 0); + signal bar_draw : std_logic; + signal bar_col : unsigned(6 downto 0); -- 0-127 + signal bar_line : unsigned(5 downto 0); -- 0-63 + + type a_level is array (0 to 7) of unsigned(5 downto 0); + signal levels : a_level; + + type a_peak is array (0 to 7) of unsigned(7 downto 0); + signal peaks : a_peak; + + signal pending_drop : std_logic := '0'; + signal drop_index : unsigned(2 downto 0) := (others => '0'); + + signal u_sample : unsigned(5 downto 0) := (others => '0'); + signal level : unsigned(5 downto 0); + signal peak : unsigned(5 downto 0); + +begin + +level_proc: process(clk) + begin + if rising_edge(clk) then + ------------------------------------------------- + -- Update the peak level, or if pending_drop is + -- set then drop the peak and level by 1 every + -- frame. + -- + -- This causes 'peak' to fall at 1/4th the speed + -- of 'level', but makes for inconsistent + -- behaviour depending on frame rate :-( + ------------------------------------------------- + if audio_de = '1' then + if levels(to_integer(unsigned(audio_channel))) < unsigned(audio_level) then + levels(to_integer(unsigned(audio_channel))) <= unsigned(audio_level); + end if; + if peaks(to_integer(unsigned(audio_channel))) < unsigned(audio_level &"00") then + peaks(to_integer(unsigned(audio_channel))) <= unsigned(audio_level & "00"); + end if; + else + if pending_drop = '1' then + if levels(to_integer(drop_index)) > 0 then + levels(to_integer(drop_index)) <= levels(to_integer(drop_index))-1; + end if; + if peaks(to_integer(drop_index)) > 0 then + peaks(to_integer(drop_index)) <= peaks(to_integer(drop_index))-1; + end if; + if drop_index = "000" then + pending_drop <= '0'; + end if; + drop_index <= drop_index-1; + end if; + end if; + + -- Signal to reduce (drop' the levels of the meters once each frame (of field for interlaced sources + if last_vsync = '0' and in_vsync = '1' then + pending_drop <= '1'; + drop_index <= (others => '1'); + end if; + end if; + end process; + +video_proc: process(clk) + begin + if rising_edge(clk) then + out_blank <= mid_blank; + out_hsync <= mid_hsync; + out_vsync <= mid_vsync; + out_red <= mid_red; + out_green <= mid_green; + out_blue <= mid_blue; + + if bar_draw = '1' then + if bar_col(3 downto 1) /= "000" and bar_col(3 downto 1) /= "111" then + if peak > bar_line then + if peak > 60 then + out_red(out_red'high) <= '1'; + else + out_green(out_green'high) <= '1'; + end if; + end if; + + if level = bar_line then + out_red <= (others => '1'); + out_green <= (others => '1'); + out_blue <= (others => '1'); + end if; + end if; + end if; + + ----------------------------------------------------------------------------- + -- the mid_* signals contain the video with the box drawn to house the meters + ----------------------------------------------------------------------------- + mid_blank <= in_blank; + mid_hsync <= in_hsync; + mid_vsync <= in_vsync; + mid_red <= in_red; + mid_green <= in_green; + mid_blue <= in_blue; + -------------------------------------------------- + -- For working out if we need to draw colour bars + -------------------------------------------------- + bar_draw <= '0'; + bar_col <= unsigned(col_count(6 downto 0))-1; + bar_line <= to_unsigned(64,6)-unsigned(line_count(5 downto 0)); + + ----------------------------------------------------------------------------- + -- Retreive the levels for the bar. There is an + -- off-by-one error hidden by the bar boarder. + ----------------------------------------------------------------------------- + level <= levels(to_integer(col_count(6 downto 4))); + peak <= peaks(to_integer(col_count(6 downto 4)))(7 downto 2); + + ------------------------------------------------------- + -- Halve the intensity of the area where the meters are. + ------------------------------------------------------- + if col_count > 0 and col_count < 129 and line_count > 0 and line_count < 65 then + bar_draw <= '1'; + end if; + + if col_count > 0 and col_count < 129 and line_count > 0 and line_count < 65 then + mid_red <= "0" & in_red(in_red'high downto 1); + mid_green <= "0" & in_green(in_green'high downto 1); + mid_blue <= "0" & in_blue(in_blue'high downto 1); + end if; + + -- Draw bounding box left/right sides + if (col_count = 0 or col_count = 129) and line_count < 66 then + mid_red <= (others => '1'); + mid_green <= (others => '1'); + mid_blue <= (others => '1'); + end if; + -- Draw bounding box top/bottom sides + if (line_count = 0 or line_count = 65) and col_count < 130 then + mid_red <= (others => '1'); + mid_green <= (others => '1'); + mid_blue <= (others => '1'); + end if; + + + -- Increment the column count on when active pixels are seen + if in_blank = '0' then + col_count <= col_count + 1; + end if; + + -- The end of active video is used to increment the line count + if last_blank = '0' and in_blank = '1' then + if is_interlaced = '1' then + line_count <= line_count + 2; + else + line_count <= line_count + 1; + end if; + col_count <= (others => '0'); + end if; + + -- Reset the line count on falling vsync + if last_vsync = '1' and in_vsync = '0' then + if is_interlaced = '1' and is_second_field = '1' then + line_count <= (0 => '1', others => '0'); + else + line_count <= (others => '0'); + end if; + end if; + -- remember the hsync and vsync values + last_vsync <= in_vsync; + last_hsync <= in_hsync; + last_blank <= in_blank; + end if; + end process; +end Behavioral; diff --git a/src/audio_to_db.vhd b/src/audio_to_db.vhd new file mode 100644 index 0000000..b8bbb37 --- /dev/null +++ b/src/audio_to_db.vhd @@ -0,0 +1,194 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: audio_to_db - Behavioral +-- +-- Description: Calcuate the approximate DB level of an audio signal, with a +-- return of 63 indicating 0db, (e.g. 3 = -60fb) +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity audio_to_db is + Port ( clk : in STD_LOGIC; + + in_channel : in STD_LOGIC_VECTOR (2 downto 0); + in_de : in STD_LOGIC; + in_sample : in STD_LOGIC_VECTOR (23 downto 0); + + out_channel : out STD_LOGIC_VECTOR (2 downto 0); + out_de : out STD_LOGIC; + out_level : out STD_LOGIC_VECTOR (5 downto 0)); +end audio_to_db; + +architecture Behavioral of audio_to_db is + + signal s7_sample : unsigned (23 downto 0); + signal s7_de : STD_LOGIC; + signal s7_channel : STD_LOGIC_VECTOR (2 downto 0); + signal s7_level : unsigned( 7 downto 0); + + signal s6_sample : unsigned (23 downto 0); + signal s6_de : STD_LOGIC; + signal s6_channel : STD_LOGIC_VECTOR (2 downto 0); + signal s6_level : unsigned( 7 downto 0); + + signal s5_sample : unsigned (23 downto 0); + signal s5_de : STD_LOGIC; + signal s5_channel : STD_LOGIC_VECTOR (2 downto 0); + signal s5_level : unsigned( 7 downto 0); + + signal s4_sample : unsigned (23 downto 0); + signal s4_de : STD_LOGIC; + signal s4_channel : STD_LOGIC_VECTOR (2 downto 0); + signal s4_level : unsigned( 7 downto 0); + + signal s3_sample : unsigned (23 downto 0); + signal s3_de : STD_LOGIC; + signal s3_channel : STD_LOGIC_VECTOR (2 downto 0); + signal s3_level : unsigned( 7 downto 0); + + signal s2_sample : unsigned (23 downto 0); + signal s2_de : STD_LOGIC; + signal s2_channel : STD_LOGIC_VECTOR (2 downto 0); + signal s2_level : unsigned( 7 downto 0); + + signal s1_sample : unsigned (23 downto 0); + signal s1_de : STD_LOGIC; + signal s1_channel : STD_LOGIC_VECTOR (2 downto 0); +begin + +process(clk) + begin + if rising_edge(clk) then + out_channel <= s7_channel; + out_de <= s7_de; + if s7_level(7 downto 6) = "00" then + out_level <= std_logic_vector(to_unsigned(63,6)-s7_level(5 downto 0)); + else + out_level <= (others => '0'); + end if; + + -- Finally the last stage to get a db level + s7_channel <= s6_channel; + s7_de <= s6_de; + if s6_sample(22 downto 15) < 72 then + s7_level <= s6_level + 5; + elsif s6_sample(22 downto 15) < 81 then + s7_level <= s6_level + 4; + elsif s6_sample(22 downto 15) < 91 then + s7_level <= s6_level + 3; + elsif s6_sample(22 downto 15) < 102 then + s7_level <= s6_level + 2; + elsif s6_sample(22 downto 15) < 114 then + s7_level <= s6_level + 1; + else + s7_level <= s6_level + 1; + end if; + + -- Stage 5 - shift up 2 bits if needed(bit 23 of sample will be 0) + s6_channel <= s5_channel; + s6_de <= s5_de; + if s5_sample(23 downto 22) = "00" then + s6_sample <= s5_sample(22 downto 0) & "0"; + s6_level <= s5_level + to_unsigned(6,8); + else + s6_sample <= s5_sample; + s6_level <= s5_level; + end if; + + -- Stage 5 - shift up 2 bits if needed(bit 23 of sample will be 0) + s5_channel <= s4_channel; + s5_de <= s4_de; + if s4_sample(23 downto 21) = "000" then + s5_sample <= s4_sample(21 downto 0) & "00"; + s5_level <= s4_level + to_unsigned(12,8); + else + s5_sample <= s4_sample; + s5_level <= s4_level; + end if; + + -- Stage 4 - shift up 4 bits if needed(bit 23 of sample will be 0) + s4_channel <= s3_channel; + s4_de <= s3_de; + if s3_sample(23 downto 19) = "00000" then + s4_sample <= s3_sample(19 downto 0) & "0000"; + s4_level <= s3_level + to_unsigned(24,8); + else + s4_sample <= s3_sample; + s4_level <= s3_level; + end if; + + -- Stage 3 - shift up 4 bits if needed(bit 23 of sample will be 0) + s3_channel <= s2_channel; + s3_de <= s2_de; + if s2_sample(23 downto 19) = "00000" then + s3_sample <= s2_sample(19 downto 0) & "0000"; + s3_level <= s2_level + to_unsigned(24,8); + else + s3_sample <= s2_sample; + s3_level <= s2_level; + end if; + + -- Stage 2 - shift up 4 bits if needed(bit 23 of sample will be 0) + s2_channel <= s1_channel; + s2_de <= s1_de; + if s1_sample(23 downto 19) = "00000" then + s2_sample <= s1_sample(19 downto 0) & "0000"; + s2_level <= to_unsigned(24,8); + else + s2_sample <= s1_sample; + s2_level <= to_unsigned(0,8); + end if; + + --- Stage 1 - remove any sign. + s1_channel <= in_channel; + s1_de <= in_de; + if in_sample(23) = '1' then + s1_sample <= to_unsigned(0,24) - unsigned(in_sample); + else + s1_sample <= unsigned(in_sample); + end if; + end if; + end process; + +end Behavioral; diff --git a/src/conversion_to_RGB.vhd b/src/conversion_to_RGB.vhd new file mode 100644 index 0000000..abeec4a --- /dev/null +++ b/src/conversion_to_RGB.vhd @@ -0,0 +1,226 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: conversion_YCbCr_to_RGB - Behavioral +-- +-- Description: Convert from RGB, studio level RGB or YCbCr to full range RGB +-- +-- Designed to take the same amount of time regardless of conversion +-- being performed. +---------------------------------------------------------------------------------- +-- When using 12-bit studio range inputs and the HD colourspace +-- +-- R = (Y-64)*1.164 + (Cb-2048) *0.090 + (Cr-2048)*1.793 +-- G = (Y-64)*1.164 - (Cb-2048) *0.213 - (Cr-2048)*0.533 +-- B = (Y-64)*1.164 + (Cb-2048) *2.112 + (Cr-2048)*0.000 +-- +-- To avoid the problems with signed/unsigned multiplication this +-- has been rearranged to +-- +-- R = Y*1.164 + Cb*0.090 + Cr*1.793 - 64*1.164 - 2048*0.090 - 2048*1.793 +-- G = Y*1.164 - Cb*0.213 - Cr*0.533 - 64*1.164 + 2048*0.213 + 2048*0.533 +-- B = Y*1.164 + Cb*2.112 + Cr*0.000 - 64*1.164 - 2048*2.112 - 2048*0.000 +-- +-- And then all the decimals have been scaled by 4096 This then only requires +-- five multipliers (as two are zero and three others are identical. +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity conversion_to_RGB is + port ( clk : in std_Logic; + input_is_YCbCr : in std_Logic; + input_is_sRGB : in std_Logic; + + ------------------------ + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_U : in std_logic_vector(11 downto 0); -- B or Cb + in_V : in std_logic_vector(11 downto 0); -- G or Y + in_W : in std_logic_vector(11 downto 0); -- R or Cr + + ------------------------ + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_R : out std_logic_vector(11 downto 0); + out_G : out std_logic_vector(11 downto 0); + out_B : out std_logic_vector(11 downto 0)); +end entity; + +architecture Behavioral of conversion_to_RGB is + ------------------------------ + -- For the pipeline + ------------------------------ + signal s1_blank : std_logic; + signal s1_hsync : std_logic; + signal s1_vsync : std_logic; + signal s1_U : std_logic_vector(12 downto 0); -- B or Cb, plus underflow guard bit + signal s1_V : std_logic_vector(12 downto 0); -- G or Y, plus underflow guard bit + signal s1_W : std_logic_vector(12 downto 0); -- R or Cr, plus underflow guard bit + + signal s2_blank : std_logic; + signal s2_hsync : std_logic; + signal s2_vsync : std_logic; + signal s2_U : std_logic_vector(12 downto 0); -- B or Cb, plus overflow guard bit + signal s2_V : std_logic_vector(12 downto 0); -- G or Y, plus overflow guard bit + signal s2_W : std_logic_vector(12 downto 0); -- R or Cr, plus overflow guard bit + + ------------------------------ + -- For Calculation + ------------------------------ + signal a : unsigned(26 downto 0) := (others => '0'); + signal b : unsigned(26 downto 0) := (others => '0'); + signal c : unsigned(26 downto 0) := (others => '0'); + signal d : unsigned(26 downto 0) := (others => '0'); + signal e : unsigned(26 downto 0) := (others => '0'); + signal R_raw : unsigned(26 downto 0) := (others => '0'); + signal G_raw : unsigned(26 downto 0) := (others => '0'); + signal B_raw : unsigned(26 downto 0) := (others => '0'); +begin +clk_proc: process(clk) + begin + if rising_edge(clk) then + ----------------------------------------------- + -- Step 3: clamp the result + ----------------------------------------------- + out_blank <= s2_blank; + out_hsync <= s2_hsync; + out_vsync <= s2_vsync; + if input_is_YCbCr = '0' then + -- trap overflows form prior stage + if s2_U(s2_U'high) = '0' then + out_B <= s2_U(s2_U'high-1 downto 0); + else + out_B <= (others => '1'); + end if; + + if s2_V(s2_V'high) = '0' then + out_G <= s2_V(s2_V'high-1 downto 0); + else + out_G <= (others => '1'); + end if; + + if s2_W(s2_W'high) = '0' then + out_R <= s2_W(s2_W'high-1 downto 0); + else + out_R <= (others => '1'); + end if; + else + case R_raw(R_raw'high-1 downto R_raw'high-2) is + when "00" => out_R <= std_logic_vector(R_raw(R_raw'high-3 downto R_raw'high-14)); -- In range + when "01" => out_R <= (others => '1'); -- Overflow + when others => out_R <= (others => '0'); -- Underflow + end case; + + case G_raw(G_raw'high-1 downto G_raw'high-2) is + when "00" => out_G <= std_logic_vector(G_raw(G_raw'high-3 downto G_raw'high-14)); -- In range + when "01" => out_G <= (others => '1'); -- Overflow + when others => out_G <= (others => '0'); -- Underflow + end case; + + case B_raw(B_raw'high-1 downto B_raw'high-2) is + when "00" => out_B <= std_logic_vector(B_raw(B_raw'high-3 downto B_raw'high-14)); -- In range + when "01" => out_B <= (others => '1'); -- Overflow + when others => out_B <= (others => '0'); -- Underflow + end case; + end if; + ------------------------------------------------- + -- Step 2: Add the partial results and remove the + -- offset introduced by the use of studio range + ------------------------------------------------- + s2_blank <= s1_blank; + s2_hsync <= s1_hsync; + s2_vsync <= s1_vsync; + if input_is_sRGB = '1' then + -- Trap underflows from prior stage + if s1_U(s1_U'high) = '0' then + s2_U <= std_logic_vector(unsigned(s1_U) + unsigned(s1_U(s1_U'high downto 5))); + else + s2_U <= (others => '0'); + end if; + + if s1_V(s1_V'high) = '0' then + s2_V <= std_logic_vector(unsigned(s1_V) + unsigned(s1_V(s1_V'high downto 5))); + else + s2_V <= (others => '0'); + end if; + + if s1_W(s1_W'high) = '0' then + s2_W <= std_logic_vector(unsigned(s1_W) + unsigned(s1_W(s1_W'high downto 5))); + else + s2_W <= (others => '0'); + end if; + else + s2_U <= s1_U; + s2_V <= s1_V; + s2_W <= s1_W; + end if; + R_raw <= a + d - to_unsigned(4767*256 + 0*2048 + 7344*2048, 27); + G_raw <= a - b - e + to_unsigned(-4767*256 + 872*2048 + 2183*2048, 27); + B_raw <= a + c - to_unsigned(4767*256 + 8650*2048 + 0*2048, 27); + + ------------------------------------------------- + -- Step 1: Multiply the incoming values by the + -- Conversion coefficients + ------------------------------------------------- + s1_blank <= in_blank; + s1_hsync <= in_hsync; + s1_vsync <= in_vsync; + if input_is_sRGB = '1' then + s1_U <= std_logic_vector(unsigned('0' & in_U) - 256); + s1_V <= std_logic_vector(unsigned('0' & in_V) - 256); + s1_W <= std_logic_vector(unsigned('0' & in_W) - 256); + else + s1_U <= '0' & in_U; + s1_V <= '0' & in_V; + s1_W <= '0' & in_W; + end if; + a <= unsigned(in_V) * to_unsigned(4767,15); -- 1.164 * 2^12 + b <= unsigned(in_U) * to_unsigned( 872,15); -- 0.213 * 2^12 + c <= unsigned(in_U) * to_unsigned(8650,15); -- 2.112 * 2^12 + d <= unsigned(in_W) * to_unsigned(7344,15); -- 1.793 * 2^12 + e <= unsigned(in_W) * to_unsigned(2183,15); -- 0.533 * 2^12 + end if; + end process; +end architecture; diff --git a/src/deserialiser_1_to_10.vhd b/src/deserialiser_1_to_10.vhd new file mode 100644 index 0000000..3047ffb --- /dev/null +++ b/src/deserialiser_1_to_10.vhd @@ -0,0 +1,178 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: deserialiser_1_to_10 - Behavioral +-- +-- Description: A 10-to-1 deserialiser for the Artix 7 +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.std_logic_1164.ALL; + +library UNISIM; +use UNISIM.VComponents.all; + +entity deserialiser_1_to_10 is + Port ( clk_mgmt : in std_logic; + delay_ce : in std_logic; + delay_count : in std_logic_vector (4 downto 0); + + ce : in STD_LOGIC; + clk : in std_logic; + clk_x1 : in std_logic; + bitslip : in std_logic; + clk_x5 : in std_logic; + serial : in std_logic; + reset : in std_logic; + data : out std_logic_vector (9 downto 0)); +end deserialiser_1_to_10; + +architecture Behavioral of deserialiser_1_to_10 is + signal delayed : std_logic := '0'; + signal shift1 : std_logic := '0'; + signal shift2 : std_logic := '0'; + signal clkb : std_logic := '1'; + attribute IODELAY_GROUP : STRING; + attribute IODELAY_GROUP of IDELAYE2_inst: label is "idelay_group"; + +begin + +IDELAYE2_inst : IDELAYE2 + generic map ( + CINVCTRL_SEL => "FALSE", + DELAY_SRC => "DATAIN", + HIGH_PERFORMANCE_MODE => "TRUE", + IDELAY_TYPE => "VAR_LOAD", + IDELAY_VALUE => 0, + PIPE_SEL => "FALSE", + REFCLK_FREQUENCY => 200.0, + SIGNAL_PATTERN => "DATA" + ) + port map ( + DATAIN => serial, + IDATAIN => '0', + DATAOUT => delayed, + -- + CNTVALUEOUT => open, + C => clk, + CE => delay_ce, + CINVCTRL => '0', + CNTVALUEIN => delay_count, + INC => '0', + LD => '1', + LDPIPEEN => '0', + REGRST => '0' + ); + clkb <= not clk_x5; + +ISERDESE2_master : ISERDESE2 + generic map ( + DATA_RATE => "DDR", + DATA_WIDTH => 10, + DYN_CLKDIV_INV_EN => "FALSE", + DYN_CLK_INV_EN => "FALSE", + INIT_Q1 => '0', INIT_Q2 => '0', INIT_Q3 => '0', INIT_Q4 => '0', + INTERFACE_TYPE => "NETWORKING", + IOBDELAY => "IFD", + NUM_CE => 1, + OFB_USED => "FALSE", + SERDES_MODE => "MASTER", + SRVAL_Q1 => '0', SRVAL_Q2 => '0', SRVAL_Q3 => '0', SRVAL_Q4 => '0' + ) + port map ( + O => open, + Q1 => data(9), Q2 => data(8), Q3 => data(7), Q4 => data(6), + Q5 => data(5), Q6 => data(4), Q7 => data(3), Q8 => data(2), + SHIFTOUT1 => shift1, SHIFTOUT2 => shift2, + BITSLIP => bitslip, + CE1 => ce, CE2 => '1', + CLKDIVP => '0', + CLK => clk_x5, + CLKB => clkb, + CLKDIV => clk_x1, + OCLK => '0', + DYNCLKDIVSEL => '0', + DYNCLKSEL => '0', + D => '0', + DDLY => delayed, + OFB => '0', + OCLKB => '0', + RST => reset, + SHIFTIN1 => '0', + SHIFTIN2 => '0' + ); + +ISERDESE2_slave : ISERDESE2 + generic map ( + DATA_RATE => "DDR", + DATA_WIDTH => 10, + DYN_CLKDIV_INV_EN => "FALSE", + DYN_CLK_INV_EN => "FALSE", + INIT_Q1 => '0', INIT_Q2 => '0', INIT_Q3 => '0', INIT_Q4 => '0', + INTERFACE_TYPE => "NETWORKING", + IOBDELAY => "IFD", + NUM_CE => 1, + OFB_USED => "FALSE", + SERDES_MODE => "SLAVE", + SRVAL_Q1 => '0', SRVAL_Q2 => '0', SRVAL_Q3 => '0', SRVAL_Q4 => '0' + ) + port map ( + O => open, + Q1 => open, Q2 => open, Q3 => data(1), Q4 => data(0), + Q5 => open, Q6 => open, Q7 => open, Q8 => open, + SHIFTOUT1 => open, SHIFTOUT2 => open, + BITSLIP => bitslip, + CE1 => ce, CE2 => '1', + CLKDIVP => '0', + CLK => CLK_x5, + CLKB => clkb, + CLKDIV => clk_x1, + OCLK => '0', + DYNCLKDIVSEL => '0', + DYNCLKSEL => '0', + D => '0', + DDLY => '0', + OFB => '0', + OCLKB => '0', + RST => reset, + SHIFTIN1 => shift1, + SHIFTIN2 => shift2 + ); +end Behavioral; \ No newline at end of file diff --git a/src/detect_interlace.vhd b/src/detect_interlace.vhd new file mode 100644 index 0000000..45fdb44 --- /dev/null +++ b/src/detect_interlace.vhd @@ -0,0 +1,118 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: detect_interlace - Behavioral +-- +-- Description: Detect if the source is interlaced, and report what field is +-- being processed +-- +-- Will need to make allowances for interlaced sources! +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity detect_interlace is + Port ( clk : in STD_LOGIC; + hsync : in std_logic; + vsync : in std_logic; + is_interlaced : out std_logic; + is_second_field : out std_logic); +end entity; + +architecture Behavioral of detect_interlace is + signal last_vsync : std_logic := '0'; + signal last_hsync : std_logic := '0'; + signal first_quarter : unsigned(11 downto 0) := (others => '0'); + signal last_quarter : unsigned(11 downto 0) := (others => '0'); + signal hcount : unsigned(11 downto 0) := (others => '0'); + signal last_vsync_pos : unsigned(11 downto 0) := (others => '0'); + signal second_field : std_logic := '0'; +begin +clk_proc: process(clk) + begin + if rising_edge(clk) then + if last_vsync = '0' and vsync = '1' then + is_second_field <= '0'; + if hcount > first_quarter and hcount < last_quarter then + -- The second field of an interlaced + -- frame is indicated when the vsync is + -- asserted in the middle of the scan line. + -- + -- Also add a little check for a misbehaving source + if last_vsync_pos /= hcount then + is_interlaced <= '1'; + is_second_field <= '1'; + second_field <= '1'; + else + is_interlaced <= '1'; + is_second_field <= '1'; + second_field <= '1'; + end if; + + else + -- If we see two 'field 1's in a row we + -- switch back to indicating an + -- uninterlaced source + if second_field = '0' then + is_interlaced <= '0'; + end if; + is_second_field <= '0'; + second_field <= '0'; + end if; + last_vsync_pos <= hcount; + else + end if; + + if last_hsync = '0' and hsync = '1' then + hcount <= (others => '0'); + first_quarter <= "00" & hcount(11 downto 2); + last_quarter <= hcount+1-hcount(11 downto 2); + else + hcount <= hcount +1; + end if; + last_vsync <= vsync; + last_hsync <= hsync; + end if; + end process; +end architecture; + \ No newline at end of file diff --git a/src/dvid_output.vhd b/src/dvid_output.vhd new file mode 100644 index 0000000..8c01511 --- /dev/null +++ b/src/dvid_output.vhd @@ -0,0 +1,168 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: DVID_output - Behavioral +-- +-- Description: Convert a stream of pixels into a DVID output +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +library UNISIM; +use UNISIM.VComponents.all; + +entity DVID_output is + Port ( + pixel_clk : in std_logic; -- Driven by BUFG + pixel_io_clk_x1 : in std_logic; -- Driven by BUFIO + pixel_io_clk_x5 : in std_logic; -- Driven by BUFIO + + -- VGA Signals + vga_blank : in std_logic; + vga_hsync : in std_logic; + vga_vsync : in std_logic; + vga_red : in std_logic_vector(7 downto 0); + vga_blue : in std_logic_vector(7 downto 0); + vga_green : in std_logic_vector(7 downto 0); + data_valid : in std_logic; + + --- DVI-D out + tmds_out_clk : out std_logic; + tmds_out_ch0 : out std_logic; + tmds_out_ch1 : out std_logic; + tmds_out_ch2 : out std_logic + ); +end DVID_output; + +architecture Behavioral of DVID_output is + + component tmds_encoder is + Port ( clk : in std_logic; + data : in std_logic_vector (7 downto 0); + c : in std_logic_vector (1 downto 0); + blank : in std_logic; + encoded : out std_logic_vector (9 downto 0)); + end component; + + component serialiser_10_to_1 is + Port ( clk : in std_logic; + clk_x5 : in std_logic; + reset : in std_logic; + data : in std_logic_vector (9 downto 0); + serial : out std_logic); + end component; + + signal c0_tmds_symbol : std_logic_vector (9 downto 0); + signal c1_tmds_symbol : std_logic_vector (9 downto 0); + signal c2_tmds_symbol : std_logic_vector (9 downto 0); + + signal reset_sr : std_logic_vector (2 downto 0) := (others => '1'); + signal reset : std_logic := '1'; + +begin + reset <= reset_sr(0); + +process(pixel_clk, data_valid) + begin + if data_valid = '0' then + reset_sr <= (others => '1'); + elsif rising_edge(pixel_clk) then + reset_sr <= '0' & reset_sr(reset_sr'high downto 1); + end if; + end process; + --------------------- + -- TMDS Encoders + --------------------- +c0_tmds: tmds_encoder port map ( + clk => pixel_clk, + data => vga_blue, + c(1) => vga_vsync, + c(0) => vga_hsync, + blank => vga_blank, + encoded => c0_tmds_symbol); + +c1_tmds: tmds_encoder port map ( + clk => pixel_clk, + data => vga_green, + c => (others => '0'), + blank => vga_blank, + encoded => c1_tmds_symbol); + +c2_tmds: tmds_encoder port map ( + clk => pixel_clk, + data => vga_red, + c => (others => '0'), + blank => vga_blank, + encoded => c2_tmds_symbol); + --------------------- + -- Output serializers + --------------------- +ser_ch0: serialiser_10_to_1 port map ( + clk => pixel_io_clk_x1, + clk_x5 => pixel_io_clk_x5, + reset => reset, + data => c0_tmds_symbol, + serial => tmds_out_ch0); + +ser_ch1: serialiser_10_to_1 port map ( + clk => pixel_io_clk_x1, + clk_x5 => pixel_io_clk_x5, + reset => reset, + data => c1_tmds_symbol, + serial => tmds_out_ch1); + +ser_ch2: serialiser_10_to_1 port map ( + clk => pixel_io_clk_x1, + clk_x5 => pixel_io_clk_x5, + reset => reset, + data => c2_tmds_symbol, + serial => tmds_out_ch2); + +ser_clk: serialiser_10_to_1 Port map ( + clk => pixel_io_clk_x1, + clk_x5 => pixel_io_clk_x5, + reset => reset, + data => "0000011111", + serial => tmds_out_clk); + +end Behavioral; diff --git a/src/edge_cleaner.v b/src/edge_cleaner.v new file mode 100644 index 0000000..c543618 --- /dev/null +++ b/src/edge_cleaner.v @@ -0,0 +1,19 @@ +module edge_cleaner( + input clk, + input in, + output reg out +); + +reg [7:0] sr; + +always @(posedge clk) begin + sr <= {sr[6:0], in}; + + if (sr == 8'hff) begin + out <= 1; + end else if (sr == 8'h00) begin + out <= 0; + end +end + +endmodule \ No newline at end of file diff --git a/src/edge_enhance.vhd b/src/edge_enhance.vhd new file mode 100644 index 0000000..e74afe7 --- /dev/null +++ b/src/edge_enhance.vhd @@ -0,0 +1,414 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: edge_enhance - Behavioral +-- +-- Description: Video edge enhancement +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity edge_enhance is + Port ( clk : in STD_LOGIC; + enable_feature : in std_logic; + ------------------------------- + -- VGA data recovered from HDMI + ------------------------------- + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_red : in std_logic_vector(7 downto 0); + in_green : in std_logic_vector(7 downto 0); + in_blue : in std_logic_vector(7 downto 0); + + ----------------------------------- + -- VGA data to be converted to HDMI + ----------------------------------- + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_red : out std_logic_vector(7 downto 0); + out_green : out std_logic_vector(7 downto 0); + out_blue : out std_logic_vector(7 downto 0)); +end edge_enhance; + +architecture Behavioral of edge_enhance is + component line_delay is + Port ( clk : in STD_LOGIC; + ------------------------------- + -- VGA data recovered from HDMI + ------------------------------- + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_red : in std_logic_vector(7 downto 0); + in_green : in std_logic_vector(7 downto 0); + in_blue : in std_logic_vector(7 downto 0); + + ----------------------------------- + -- VGA data to be converted to HDMI + ----------------------------------- + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_red : out std_logic_vector(7 downto 0); + out_green : out std_logic_vector(7 downto 0); + out_blue : out std_logic_vector(7 downto 0)); + end component; + type a_bits is array(0 to 8) of std_logic; + type a_component is array(0 to 8) of std_logic_vector(7 downto 0); + signal blanks : a_bits; + signal hsyncs : a_bits; + signal vsyncs : a_bits; + signal reds : a_component; + signal greens : a_component; + signal blues : a_component; + + signal bypass_1_blank : std_logic := '0'; + signal bypass_1_hsync : std_logic := '0'; + signal bypass_1_vsync : std_logic := '0'; + signal bypass_1_red : std_logic_vector(7 downto 0) := (others => '0'); + signal bypass_1_blue : std_logic_vector(7 downto 0) := (others => '0'); + signal bypass_1_green : std_logic_vector(7 downto 0) := (others => '0'); + + signal bypass_2_blank : std_logic := '0'; + signal bypass_2_hsync : std_logic := '0'; + signal bypass_2_vsync : std_logic := '0'; + signal bypass_2_red : std_logic_vector(7 downto 0) := (others => '0'); + signal bypass_2_blue : std_logic_vector(7 downto 0) := (others => '0'); + signal bypass_2_green : std_logic_vector(7 downto 0) := (others => '0'); + + signal bypass_3_blank : std_logic := '0'; + signal bypass_3_hsync : std_logic := '0'; + signal bypass_3_vsync : std_logic := '0'; + signal bypass_3_red : std_logic_vector(7 downto 0) := (others => '0'); + signal bypass_3_blue : std_logic_vector(7 downto 0) := (others => '0'); + signal bypass_3_green : std_logic_vector(7 downto 0) := (others => '0'); + + signal sobel_3_hsync : std_logic := '0'; + signal sobel_3_blank : std_logic := '0'; + signal sobel_3_vsync : std_logic := '0'; + signal sobel_3_red : unsigned(12 downto 0) := (others => '0'); + signal sobel_3_green : unsigned(12 downto 0) := (others => '0'); + signal sobel_3_blue : unsigned(12 downto 0) := (others => '0'); + + signal sobel_2_hsync : std_logic := '0'; + signal sobel_2_blank : std_logic := '0'; + signal sobel_2_vsync : std_logic := '0'; + signal sobel_2_red_x : unsigned(11 downto 0) := (others => '0'); + signal sobel_2_red_y : unsigned(11 downto 0) := (others => '0'); + signal sobel_2_green_x : unsigned(11 downto 0) := (others => '0'); + signal sobel_2_green_y : unsigned(11 downto 0) := (others => '0'); + signal sobel_2_blue_x : unsigned(11 downto 0) := (others => '0'); + signal sobel_2_blue_y : unsigned(11 downto 0) := (others => '0'); + + signal sobel_1_hsync : std_logic := '0'; + signal sobel_1_blank : std_logic := '0'; + signal sobel_1_vsync : std_logic := '0'; + signal sobel_1_red_left : unsigned(11 downto 0) := (others => '0'); + signal sobel_1_red_right : unsigned(11 downto 0) := (others => '0'); + signal sobel_1_red_top : unsigned(11 downto 0) := (others => '0'); + signal sobel_1_red_bottom : unsigned(11 downto 0) := (others => '0'); + signal sobel_1_green_left : unsigned(11 downto 0) := (others => '0'); + signal sobel_1_green_right : unsigned(11 downto 0) := (others => '0'); + signal sobel_1_green_top : unsigned(11 downto 0) := (others => '0'); + signal sobel_1_green_bottom : unsigned(11 downto 0) := (others => '0'); + signal sobel_1_blue_left : unsigned(11 downto 0) := (others => '0'); + signal sobel_1_blue_right : unsigned(11 downto 0) := (others => '0'); + signal sobel_1_blue_top : unsigned(11 downto 0) := (others => '0'); + signal sobel_1_blue_bottom : unsigned(11 downto 0) := (others => '0'); +begin + blanks(0) <= in_blank; + hsyncs(0) <= in_hsync; + vsyncs(0) <= in_vsync; + reds(0) <= in_red; + greens(0) <= in_green; + blues(0) <= in_blue; + +i_line_delay_1: line_delay Port map ( + clk => clk, + in_blank => blanks(0), + in_hsync => hsyncs(0), + in_vsync => vsyncs(0), + in_red => reds(0), + in_green => greens(0), + in_blue => blues(0), + + out_blank => blanks(3), + out_hsync => hsyncs(3), + out_vsync => vsyncs(3), + out_red => reds(3), + out_green => greens(3), + out_blue => blues(3) + ); + +i_line_delay_2: line_delay Port map ( + clk => clk, + in_blank => blanks(3), + in_hsync => hsyncs(3), + in_vsync => vsyncs(3), + in_red => reds(3), + in_green => greens(3), + in_blue => blues(3), + + out_blank => blanks(6), + out_hsync => hsyncs(6), + out_vsync => vsyncs(6), + out_red => reds(6), + out_green => greens(6), + out_blue => blues(6) + ); + +process(clk) + begin + if rising_edge(clk) then + if enable_feature = '1' then + out_hsync <= sobel_3_hsync; + out_blank <= sobel_3_blank; + out_vsync <= sobel_3_vsync; + + if sobel_3_red(12 downto 12) = "0" then + out_red <= std_logic_vector(sobel_3_red(11 downto 4)); + else + out_red <= (others => '1'); + end if; + + if sobel_3_green(12 downto 12) = "0" then + out_green <= std_logic_vector(sobel_3_green(11 downto 4)); + else + out_green <= (others => '1'); + end if; + + if sobel_3_blue(12 downto 12) = "0" then + out_blue <= std_logic_vector(sobel_3_blue(11 downto 4)); + else + out_blue <= (others => '1'); + end if; + else + out_hsync <= bypass_3_hsync; + out_blank <= bypass_3_blank; + out_vsync <= bypass_3_vsync; + out_red <= bypass_3_red; + out_blue <= bypass_3_blue; + out_green <= bypass_3_green; + end if; + + -------------------------------------- + -- For if we eed to bypass the feature + -------------------------------------- + bypass_3_blank <= bypass_2_blank; + bypass_3_hsync <= bypass_2_hsync; + bypass_3_vsync <= bypass_2_vsync; + bypass_3_red <= bypass_2_red; + bypass_3_blue <= bypass_2_blue; + bypass_3_green <= bypass_2_green; + + bypass_2_blank <= bypass_1_blank; + bypass_2_hsync <= bypass_1_hsync; + bypass_2_vsync <= bypass_1_vsync; + bypass_2_red <= bypass_1_red; + bypass_2_blue <= bypass_1_blue; + bypass_2_green <= bypass_1_green; + + bypass_1_blank <= blanks(4); + bypass_1_hsync <= hsyncs(4); + bypass_1_vsync <= vsyncs(4); + bypass_1_red <= reds(4); + bypass_1_blue <= blues(4); + bypass_1_green <= greens(4); + + ---------------------------------- + --- Calculating the Sobel operator + ---------------------------------- + sobel_3_blank <= sobel_2_blank; + sobel_3_hsync <= sobel_2_hsync; + sobel_3_vsync <= sobel_2_vsync; + sobel_3_red <= ("0" & sobel_2_red_x) + sobel_2_red_y; + sobel_3_green <= ("0" & sobel_2_green_x) + sobel_2_green_y; + sobel_3_blue <= ("0" & sobel_2_blue_x) + sobel_2_blue_y; + + -- For the red channel + sobel_2_blank <= sobel_1_blank; + sobel_2_hsync <= sobel_1_hsync; + sobel_2_vsync <= sobel_1_vsync; + + if sobel_1_red_left > sobel_1_red_right then + sobel_2_red_x <= sobel_1_red_left - sobel_1_red_right; + else + sobel_2_red_x <= sobel_1_red_right - sobel_1_red_left; + end if; + if sobel_1_red_top > sobel_1_red_bottom then + sobel_2_red_y <= sobel_1_red_top - sobel_1_red_bottom; + else + sobel_2_red_y <= sobel_1_red_bottom - sobel_1_red_top; + end if; + + -- For the green channel + if sobel_1_green_left > sobel_1_green_right then + sobel_2_green_x <= sobel_1_green_left - sobel_1_green_right; + else + sobel_2_green_x <= sobel_1_green_right - sobel_1_green_left; + end if; + if sobel_1_green_top > sobel_1_green_bottom then + sobel_2_green_y <= sobel_1_green_top - sobel_1_green_bottom; + else + sobel_2_green_y <= sobel_1_green_bottom - sobel_1_green_top; + end if; + + -- For the blue channel + if sobel_1_blue_left > sobel_1_blue_right then + sobel_2_blue_x <= sobel_1_blue_left - sobel_1_blue_right; + else + sobel_2_blue_x <= sobel_1_blue_right - sobel_1_blue_left; + end if; + if sobel_1_blue_top > sobel_1_blue_bottom then + sobel_2_blue_y <= sobel_1_blue_top - sobel_1_blue_bottom; + else + sobel_2_blue_y <= sobel_1_blue_bottom - sobel_1_blue_top; + end if; + + -- Now for the first stage; + sobel_1_blank <= blanks(4); + sobel_1_hsync <= hsyncs(4); + sobel_1_vsync <= vsyncs(4); + -- For the red channel + sobel_1_red_left <= ("000" & unsigned(reds(0)) & "0") + ("0000" & unsigned(reds(0))) + + ("000" & unsigned(reds(3)) & "0") + ("0" & unsigned(reds(3)) & "000") + + ("000" & unsigned(reds(6)) & "0") + ("0000" & unsigned(reds(6))); + + sobel_1_red_right <= ("000" & unsigned(reds(2)) & "0") + ("0000" & unsigned(reds(2))) + + ("000" & unsigned(reds(5)) & "0") + ("0" & unsigned(reds(5)) & "000") + + ("000" & unsigned(reds(8)) & "0") + ("0000" & unsigned(reds(8))); + + sobel_1_red_top <= ("000" & unsigned(reds(2)) & "0") + ("0000" & unsigned(reds(2))) + + ("000" & unsigned(reds(1)) & "0") + ("0" & unsigned(reds(1)) & "000") + + ("000" & unsigned(reds(0)) & "0") + ("0000" & unsigned(reds(0))); + + sobel_1_red_bottom <= ("000" & unsigned(reds(6)) & "0") + ("0000" & unsigned(reds(6))) + + ("000" & unsigned(reds(7)) & "0") + ("0" & unsigned(reds(7)) & "000") + + ("000" & unsigned(reds(8)) & "0") + ("0000" & unsigned(reds(8))); + + -- For the green channel + sobel_1_green_left <= ("000" & unsigned(greens(0)) & "0") + ("0000" & unsigned(greens(0))) + + ("000" & unsigned(greens(3)) & "0") + ("0" & unsigned(greens(3)) & "000") + + ("000" & unsigned(greens(6)) & "0") + ("0000" & unsigned(greens(6))); + + sobel_1_green_right <= ("000" & unsigned(greens(2)) & "0") + ("0000" & unsigned(greens(2))) + + ("000" & unsigned(greens(5)) & "0") + ("0" & unsigned(greens(5)) & "000") + + ("000" & unsigned(greens(8)) & "0") + ("0000" & unsigned(greens(8))); + + sobel_1_green_top <= ("000" & unsigned(greens(2)) & "0") + ("0000" & unsigned(greens(2))) + + ("000" & unsigned(greens(1)) & "0") + ("0" & unsigned(greens(1)) & "000") + + ("000" & unsigned(greens(0)) & "0") + ("0000" & unsigned(greens(0))); + + sobel_1_green_bottom <= ("000" & unsigned(greens(6)) & "0") + ("0000" & unsigned(greens(6))) + + ("000" & unsigned(greens(7)) & "0") + ("0" & unsigned(greens(7)) & "000") + + ("000" & unsigned(greens(8)) & "0") + ("0000" & unsigned(greens(8))); + + -- For the blue channel + sobel_1_blue_left <= ("000" & unsigned(blues(0)) & "0") + ("0000" & unsigned(blues(0))) + + ("000" & unsigned(blues(3)) & "0") + ("0" & unsigned(blues(3)) & "000") + + ("000" & unsigned(blues(6)) & "0") + ("0000" & unsigned(blues(6))); + + sobel_1_blue_right <= ("000" & unsigned(blues(2)) & "0") + ("0000" & unsigned(blues(2))) + + ("000" & unsigned(blues(5)) & "0") + ("0" & unsigned(blues(5)) & "000") + + ("000" & unsigned(blues(8)) & "0") + ("0000" & unsigned(blues(8))); + + sobel_1_blue_top <= ("000" & unsigned(blues(2)) & "0") + ("0000" & unsigned(blues(2))) + + ("000" & unsigned(blues(1)) & "0") + ("0" & unsigned(blues(1)) & "000") + + ("000" & unsigned(blues(0)) & "0") + ("0000" & unsigned(blues(0))); + + sobel_1_blue_bottom <= ("000" & unsigned(blues(6)) & "0") + ("0000" & unsigned(blues(6))) + + ("000" & unsigned(blues(7)) & "0") + ("0" & unsigned(blues(7)) & "000") + + ("000" & unsigned(blues(8)) & "0") + ("0000" & unsigned(blues(8))); + + -------------------------------------------------------------------- + -- Copy over the short chains that gives us a 3x3 matrix to work with + --------------------------------------------------------------------- + -- The bottom row + blanks(1) <= blanks(0); + hsyncs(1) <= hsyncs(0); + vsyncs(1) <= vsyncs(0); + reds(1) <= reds(0); + greens(1) <= greens(0); + blues(1) <= blues(0); + + blanks(2) <= blanks(1); + hsyncs(2) <= hsyncs(1); + vsyncs(2) <= vsyncs(1); + reds(2) <= reds(1); + greens(2) <= greens(1); + blues(2) <= blues(1); + -- The middle row + blanks(4) <= blanks(3); + hsyncs(4) <= hsyncs(3); + vsyncs(4) <= vsyncs(3); + reds(4) <= reds(3); + greens(4) <= greens(3); + blues(4) <= blues(3); + + blanks(5) <= blanks(4); + hsyncs(5) <= hsyncs(4); + vsyncs(5) <= vsyncs(4); + reds(5) <= reds(4); + greens(5) <= greens(4); + blues(5) <= blues(4); + + -- The top row + blanks(7) <= blanks(6); + hsyncs(7) <= hsyncs(6); + vsyncs(7) <= vsyncs(6); + reds(7) <= reds(6); + greens(7) <= greens(6); + blues(7) <= blues(6); + + blanks(8) <= blanks(7); + hsyncs(8) <= hsyncs(7); + vsyncs(8) <= vsyncs(7); + reds(8) <= reds(7); + greens(8) <= greens(7); + blues(8) <= blues(7); + end if; + end process; + +end Behavioral; diff --git a/src/edid_rom.vhd b/src/edid_rom.vhd new file mode 100644 index 0000000..0bf8324 --- /dev/null +++ b/src/edid_rom.vhd @@ -0,0 +1,372 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: edid_rom - Behavioral +-- +-- Description: A simple EDID ROM, configured for 1920x1080@60Hz, HDMI format. +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +library UNISIM; +use UNISIM.VComponents.all; + +entity edid_rom is + port ( clk : in std_logic; + sclk_raw : in std_logic; + sdat_raw : inout std_logic := 'Z'; + edid_debug : out std_logic_vector(2 downto 0) := (others => '0') + ); +end entity; + +architecture Behavioral of edid_rom is + + type a_edid_rom is array (0 to 255) of std_logic_vector(7 downto 0); + + signal edid_rom : a_edid_rom := ( + ------- BASE EDID Bytes 0 to 35 ----------------------------- + -- Header + x"00",x"FF",x"FF",x"FF",x"FF",x"FF",x"FF",x"00", + -- EISA ID - Manufacturer, Product, + x"04",x"43", x"07",x"f2", + -- EISA ID -Serial + x"01",x"00",x"00",x"00", + -- Model/year + x"FF", x"1f", + -- EDID Versiondif + x"01", x"04", + ------------------------------------ + ------------------------------------ + -- Digital Video using DVI, 8 bits + --- x"81", -- Checksum 0xB6 + ------------------------------------ + -- Digital Video using HDMI, 8 bits + x"A2", -- Checksum 0x95 + ------------------------------------ + -- Aspect ratio, flag, gamma + x"4f", x"00", x"78", + ------------------------------------ + -- Features + x"26", + -- Display x,y Chromaticity V Breaks here! + x"EE", x"91", x"a3", x"54", x"4c", x"99", x"26", x"0f", x"50", x"54", + -- Established timings + x"20", x"00", x"00", + -- Standard timings + x"01", x"01", x"01", x"01", x"01", x"01", x"01", x"01", + x"01", x"01", x"01", x"01", x"01", x"01", x"01", x"01", + ------- End of BASE EDID --------------------------------- + + ----- 18 byte data block 1080p -------- + -- Pixel clock + x"02",x"3A", + -- Horizontal 1920 with 280 blanking + x"80", x"18", x"71", + -- Vertical 1080 with 45 lines blanking + x"38", x"2D", x"40", + -- Horizontal front porch + x"58",x"2C", + -- Vertical front porch + x"04",x"05", + -- Horizontal and vertical image size + x"0f", x"48", x"42", + -- Horizontal and vertical boarder + x"00", x"00", + -- Options (non-interlaces, not 3D, syncs...) + x"1E", + + ----- 18 byte data block 1080i -------- + -- Pixel clock + x"01",x"1D", + -- Horizontal 1920 with 280 blanking + x"80", x"18", x"71", + -- Vertical 1080 with 45 lines blanking + x"1C", x"16", x"20", + -- Horizontal front porch + x"58",x"2C", + -- Vertical front porch -- SEEMS WRONG! + x"25",x"00", + -- Horizontal and vertical image size + x"0f", x"48", x"42", + -- Horizontal and vertical boarder + x"00", x"00", + -- Options (non-interlaces, not 3D, syncs...) + x"9E", + + ----- 18 byte data block 720p -------- + -- Pixel clock + x"01",x"1D", + -- Horizontal 1920 with 280 blanking + x"00", x"72", x"51", + -- Vertical 1080 with 45 lines blanking + x"D0", x"1E", x"20", + -- Horizontal front porch + x"6E",x"28", + -- Vertical front porch -- SEEMS WRONG! + x"55",x"00", + -- Horizontal and vertical image size + x"0f", x"48", x"42", + -- Horizontal and vertical boarder + x"00", x"00", + -- Options (non-interlaces, not 3D, syncs...) + x"1E", + + ----- 18 byte data block 720p -------- + -- Monitor name ASCII descriptor + x"00", x"00", x"00", x"FC", x"00", + -- ASCII name - "ABC LCD47w[lf] " + x"74", x"61", x"63", x"68", x"69", x"62", x"61", x"6e", + x"61", x"0A", x"20", x"20", x"20", + + ----- End of EDID block + -- Extension flag & checksum + x"01", x"95", + + x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", + x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", + x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", + x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", + x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", + x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", + x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", + x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00" +-- x"02", x"03", x"18", x"72", x"47", x"90", x"85", x"04", x"03", x"02", x"07", x"06", x"23", x"09", x"07", x"07", +-- x"83", x"01", x"00", x"00", x"65", x"03", x"0C", x"00", x"10", x"00", x"8E", x"0A", x"D0", x"8A", x"20", x"E0", +-- x"2d", x"10", x"10", x"3E", x"96", x"00", x"1F", x"09", x"00", x"00", x"00", x"18", x"8E", x"0A", x"D0", x"8A", +-- x"20", x"E0", x"2D", x"10", x"10", x"3E", x"96", x"00", x"04", x"03", x"00", x"00", x"00", x"18", x"8E", x"0A", +-- x"A0", x"14", x"51", x"F0", x"16", x"00", x"26", x"7C", x"43", x"00", x"1F", x"09", x"00", x"00", x"00", x"98", +-- x"8E", x"0A", x"A0", x"14", x"51", x"F0", x"16", x"00", x"26", x"7C", x"43", x"00", x"04", x"03", x"00", x"00", +-- x"00", x"98", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", +-- x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"00", x"C9" + + ); + + signal sclk_delay : std_logic_vector(2 downto 0); + signal sdat_delay : unsigned(6 downto 0); + + type t_state is ( state_idle, + -- States to support writing the device's address + state_start, + state_dev7, + state_dev6, + state_dev5, + state_dev4, + state_dev3, + state_dev2, + state_dev1, + state_dev0, + -- States to support writing the address + state_ack_device_write, + state_addr7, + state_addr6, + state_addr5, + state_addr4, + state_addr3, + state_addr2, + state_addr1, + state_addr0, + state_addr_ack, + -- States to support the selector device + state_selector_ack_device_write, + state_selector_addr7, + state_selector_addr6, + state_selector_addr5, + state_selector_addr4, + state_selector_addr3, + state_selector_addr2, + state_selector_addr1, + state_selector_addr0, + state_selector_addr_ack, + -- States to support reading from the the EDID ROM + state_ack_device_read, + state_read7, + state_read6, + state_read5, + state_read4, + state_read3, + state_read2, + state_read1, + state_read0, + state_read_ack); + + signal state : t_state := state_idle; + signal data_out_sr : std_logic_vector(7 downto 0) := (others => '1'); + signal data_shift_reg : std_logic_vector(7 downto 0) := (others => '0'); + signal addr_reg : unsigned(7 downto 0) := (others => '0'); + signal selector_reg : unsigned(7 downto 0) := (others => '0'); + signal data_to_send : std_logic_vector(7 downto 0) := (others => '0'); + signal data_out_delay : std_logic_vector(7 downto 0) := (others => '0'); + signal PULL_LOW : std_logic := '0'; + signal sdat_input : std_logic := '0'; + signal sdat_delay_last : std_logic := '0'; +begin + +i_IOBUF: IOBUF + generic map ( + DRIVE => 12, + IOSTANDARD => "DEFAULT", + SLEW => "SLOW") + port map ( + O => sdat_input, -- Buffer output + IO => sdat_raw, -- Buffer inout port (connect directly to top-level port) + I => '0', -- Buffer input + T => data_out_sr(data_out_sr'high) -- 3-state enable input, high=input, low=output + ); + edid_debug(0) <= std_logic(sdat_delay(sdat_delay'high)); + edid_debug(1) <= sclk_raw; + +process(clk) + begin + if rising_edge(clk) then + + -- falling edge on SDAT while sclk is held high = START condition + if sclk_delay(1) = '1' and sclk_delay(0) = '1' and sdat_delay_last = '1' and sdat_delay(sdat_delay'high) = '0' then + state <= state_start; + edid_debug(2) <= '1'; + end if; + + -- rising edge on SDAT while sclk is held high = STOP condition + if sclk_delay(1) = '1' and sclk_delay(0) = '1' and sdat_delay_last = '0' and sdat_delay(sdat_delay'high) = '1' then + state <= state_idle; + selector_reg <= (others => '0'); + edid_debug(2) <= '0'; + end if; + + -- rising edge on SCLK - usually a data bit + if sclk_delay(1) = '1' and sclk_delay(0) = '0' then + -- Move data into a shift register + data_shift_reg <= data_shift_reg(data_shift_reg'high-1 downto 0) & std_logic(sdat_delay(sdat_delay'high)); + end if; + + -- falling edge on SCLK - time to change state + if sclk_delay(1) = '0' and sclk_delay(0) = '1' then + data_out_sr <= data_out_sr(data_out_sr'high-1 downto 0) & '1'; -- Add Pull up + case state is + when state_start => state <= state_dev7; + when state_dev7 => state <= state_dev6; + when state_dev6 => state <= state_dev5; + when state_dev5 => state <= state_dev4; + when state_dev4 => state <= state_dev3; + when state_dev3 => state <= state_dev2; + when state_dev2 => state <= state_dev1; + when state_dev1 => state <= state_dev0; + when state_dev0 => if data_shift_reg = x"A1" then + state <= state_ack_device_read; + data_out_sr(data_out_sr'high) <= '0'; -- Send Slave ACK + elsif data_shift_reg = x"A0" then + state <= state_ack_device_write; + data_out_sr(data_out_sr'high) <= '0'; -- Send Slave ACK + elsif data_shift_reg = x"60" then + state <= state_selector_ack_device_write; + data_out_sr(data_out_sr'high) <= '0'; -- Send Slave ACK + else + state <= state_idle; + end if; + when state_ack_device_write => state <= state_addr7; + when state_addr7 => state <= state_addr6; + when state_addr6 => state <= state_addr5; + when state_addr5 => state <= state_addr4; + when state_addr4 => state <= state_addr3; + when state_addr3 => state <= state_addr2; + when state_addr2 => state <= state_addr1; + when state_addr1 => state <= state_addr0; + when state_addr0 => state <= state_addr_ack; + addr_reg <= unsigned(data_shift_reg); + data_out_sr(data_out_sr'high) <= '0'; -- Send Slave ACK + when state_addr_ack => state <= state_idle; -- SLave ACK and ignore any written data + ------------------------------------ + -- Process the write to the selector + ------------------------------------ + when state_selector_ack_device_write => state <= state_selector_addr7; + when state_selector_addr7 => state <= state_selector_addr6; + when state_selector_addr6 => state <= state_selector_addr5; + when state_selector_addr5 => state <= state_selector_addr4; + when state_selector_addr4 => state <= state_selector_addr3; + when state_selector_addr3 => state <= state_selector_addr2; + when state_selector_addr2 => state <= state_selector_addr1; + when state_selector_addr1 => state <= state_selector_addr0; + when state_selector_addr0 => state <= state_selector_addr_ack; + selector_reg <= unsigned(data_shift_reg(7 downto 0)); + data_out_sr(data_out_sr'high) <= '0'; -- Send Slave ACK + when state_selector_addr_ack => state <= state_idle; -- SLave ACK and ignore any written data + ------------------------- + + when state_ack_device_read => state <= state_read7; + data_out_sr <= edid_rom(to_integer(addr_reg)); + when state_read7 => state <= state_read6; + when state_read6 => state <= state_read5; + when state_read5 => state <= state_read4; + when state_read4 => state <= state_read3; + when state_read3 => state <= state_read2; + when state_read2 => state <= state_read1; + when state_read1 => state <= state_read0; + when state_read0 => state <= state_read_ack; + when state_read_ack => if sdat_delay(sdat_delay'high) = '0' then + state <= state_read7; + data_out_sr <= edid_rom(to_integer(addr_reg+1)); + else + state <= state_idle; + end if; + addr_reg <= addr_reg+1; + when others => state <= state_idle; + end case; + end if; + sdat_delay_last <= sdat_delay(sdat_delay'high); + -- Synchronisers for SCLK and SDAT + sclk_delay <= sclk_raw & sclk_delay(sclk_delay'high downto 1); + -- Resolve any 'Z' state in simulation - make it pull up. + if sdat_input = '0' then + if sdat_delay(sdat_delay'high) = '1' then + sdat_delay <= sdat_delay - 1; + else + sdat_delay <= (others => '0'); + end if; + else + if sdat_delay(sdat_delay'high) = '0' then + sdat_delay <= sdat_delay + 1; + else + sdat_delay <= (others => '1'); + end if; + end if; + end if; + end process; +end architecture; \ No newline at end of file diff --git a/src/expand_422_to_444.vhd b/src/expand_422_to_444.vhd new file mode 100644 index 0000000..c7bf1e6 --- /dev/null +++ b/src/expand_422_to_444.vhd @@ -0,0 +1,152 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: expand_422_to_444 - Behavioral +-- +-- Description: Convert incoming 422 data to 444 +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +entity expand_422_to_444 is + Port ( clk : in STD_LOGIC; + input_is_422 : in std_logic; + ------------------ + -- Incoming pixels + ------------------ + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_ch2 : in std_logic_vector(7 downto 0); + in_ch1 : in std_logic_vector(7 downto 0); + in_ch0 : in std_logic_vector(7 downto 0); + + ------------------- + -- Processed pixels + ------------------- + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_U : out std_logic_vector(11 downto 0); -- B or Cb + out_V : out std_logic_vector(11 downto 0); -- G or Y + out_W : out std_logic_vector(11 downto 0) -- R or Cr + ); +end expand_422_to_444; + +architecture Behavioral of expand_422_to_444 is + + signal in_blank_1 : std_logic := '0'; + signal in_hsync_1 : std_logic := '0'; + signal in_vsync_1 : std_logic := '0'; + signal in_ch0_1 : std_logic_vector(7 downto 0) := (others => '0'); + signal in_ch1_1 : std_logic_vector(7 downto 0) := (others => '0'); + signal in_ch2_1 : std_logic_vector(7 downto 0) := (others => '0'); + + signal in_blank_2 : std_logic := '0'; + signal in_hsync_2 : std_logic := '0'; + signal in_vsync_2 : std_logic := '0'; + signal in_ch0_2 : std_logic_vector(7 downto 0) := (others => '0'); + signal in_ch1_2 : std_logic_vector(7 downto 0) := (others => '0'); + signal in_ch2_2 : std_logic_vector(7 downto 0) := (others => '0'); + + signal first_of_pair : std_logic := '0'; +begin + +process(clk) + begin + if rising_edge(clk) then + if input_is_422 = '1' then + ------------------------------------------------------ + -- For 422, copy the chroma values between pixel pairs + ------------------------------------------------------ + out_blank <= in_blank_1; + out_hsync <= in_hsync_1; + out_vsync <= in_vsync_1; + if in_blank_1 = '1' then + first_of_pair <= '1'; + out_U <= in_ch2_1 & in_ch0_1(7 downto 4); -- Cb + out_V <= in_ch1_1 & in_ch0_1(3 downto 0); -- Y + out_W <= in_ch2_1 & in_ch0_1(7 downto 4); -- Cr + else + if first_of_pair = '1' then + -- Take Cr from the next pixel + first_of_pair <= '0'; + out_U <= in_ch2_1 & in_ch0_1(7 downto 4); -- Cb + out_V <= in_ch1_1 & in_ch0_1(3 downto 0); -- Y + out_W <= in_ch2 & in_ch0 (7 downto 4); -- Cr + else + -- Take Cb from the prior pixel + first_of_pair <= '1'; + out_U <= in_ch2_2 & in_ch0_2(7 downto 4); -- Cb + out_V <= in_ch1_1 & in_ch0_1(3 downto 0); -- Y + out_W <= in_ch2_1 & in_ch0_1(7 downto 4); -- Cr + end if; + end if; + else + ------------------------------------------------------ + -- Minimal processing for 422 (either RGB or YCbCr) + ------------------------------------------------------ + out_blank <= in_blank_1; + out_hsync <= in_hsync_1; + out_vsync <= in_vsync_1; + out_U <= in_ch0_1 & "0000"; -- B or Cb + out_V <= in_ch1_1 & "0000"; -- G or Y + out_W <= in_ch2_1 & "0000"; -- R or Cr + end if; + + -- Remember the pixel for two cycles + in_blank_1 <= in_blank; + in_hsync_1 <= in_hsync; + in_vsync_1 <= in_vsync; + in_ch0_1 <= in_ch0; + in_ch1_1 <= in_ch1; + in_ch2_1 <= in_ch2; + + in_blank_2 <= in_blank_1; + in_hsync_2 <= in_hsync_1; + in_vsync_2 <= in_vsync_1; + in_ch0_2 <= in_ch0_1; + in_ch1_2 <= in_ch1_1; + in_ch2_2 <= in_ch2_1; + end if; + end process; +end Behavioral; diff --git a/src/extract_audio_samples.vhd b/src/extract_audio_samples.vhd new file mode 100644 index 0000000..2a8df32 --- /dev/null +++ b/src/extract_audio_samples.vhd @@ -0,0 +1,111 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: extract_audio_samples - Behavioral +-- +-- Description: Extract audio data from the HDMI ADP data stream +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity extract_audio_samples is + Port ( clk : in STD_LOGIC; + adp_data_valid : in STD_LOGIC; + adp_header_bit : in STD_LOGIC; + adp_frame_bit : in STD_LOGIC; + adp_subpacket0_bits : in STD_LOGIC_VECTOR (1 downto 0); + adp_subpacket1_bits : in STD_LOGIC_VECTOR (1 downto 0); + adp_subpacket2_bits : in STD_LOGIC_VECTOR (1 downto 0); + adp_subpacket3_bits : in STD_LOGIC_VECTOR (1 downto 0); + audio_de : out STD_LOGIC; + audio_channel : out STD_LOGIC_VECTOR (2 downto 0); + audio_sample : out STD_LOGIC_VECTOR (23 downto 0) + ); +end extract_audio_samples; + +architecture Behavioral of extract_audio_samples is + signal header_bits : STD_LOGIC_VECTOR (31 downto 0); + signal frame_bits : STD_LOGIC_VECTOR (31 downto 0); + signal subpacket0_bits : STD_LOGIC_VECTOR (63 downto 0); + signal subpacket1_bits : STD_LOGIC_VECTOR (63 downto 0); + signal subpacket2_bits : STD_LOGIC_VECTOR (63 downto 0); + signal subpacket3_bits : STD_LOGIC_VECTOR (63 downto 0); + signal grab_other_channel : std_logic := '0'; +begin + +process(clk) + begin + if rising_edge(clk) then + ----------------------------------------------- + -- Move the incoming bits into a shift register + ----------------------------------------------- + header_bits <= adp_header_bit & header_bits(header_bits'high downto 1); + frame_bits <= (adp_frame_bit and adp_data_valid) & frame_bits(frame_bits'high downto 1); + subpacket0_bits <= adp_subpacket0_bits & subpacket0_bits(subpacket0_bits'high downto 2); + subpacket1_bits <= adp_subpacket1_bits & subpacket1_bits(subpacket1_bits'high downto 2); + subpacket2_bits <= adp_subpacket2_bits & subpacket2_bits(subpacket2_bits'high downto 2); + subpacket3_bits <= adp_subpacket3_bits & subpacket3_bits(subpacket3_bits'high downto 2); + + audio_de <= '0'; + + if grab_other_channel = '1' then + audio_de <= header_bits(7); + audio_channel <= "001"; + audio_sample <= subpacket0_bits(45 downto 22); + grab_other_channel <= '0'; + end if; + if frame_bits = x"FFFFFFFE" then + ------------------------------------------------ + -- Check the packet type as being audio samples + ------------------------------------------------ + if header_bits(7 downto 0) = x"02" then + audio_de <= header_bits(8); + audio_channel <= "000"; + audio_sample <= subpacket0_bits(23 downto 0); + grab_other_channel <= '1'; + end if; + end if; + end if; + end process; + +end Behavioral; diff --git a/src/extract_video_infopacket_data.vhd b/src/extract_video_infopacket_data.vhd new file mode 100644 index 0000000..5e1e11a --- /dev/null +++ b/src/extract_video_infopacket_data.vhd @@ -0,0 +1,115 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: extract_video_infopacket_data - Behavioral +-- +-- Description: Extract a couple of fields from the video infopacket, allowin use +-- to correctly convert the incoming pixels into RGB 444 for internal +-- processing. +-- +-- Bits 14:13 indicate the colour space and 444 vs 422. +-- Bits 27:26 indicate if the pixels are studio level (16-240) +-- or full range (0-255) +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +entity extract_video_infopacket_data is + Port ( clk : in STD_LOGIC; + adp_data_valid : in STD_LOGIC; + adp_header_bit : in STD_LOGIC; + adp_frame_bit : in STD_LOGIC; + adp_subpacket0_bits : in STD_LOGIC_VECTOR (1 downto 0); + adp_subpacket1_bits : in STD_LOGIC_VECTOR (1 downto 0); + adp_subpacket2_bits : in STD_LOGIC_VECTOR (1 downto 0); + adp_subpacket3_bits : in STD_LOGIC_VECTOR (1 downto 0); + input_is_YCbCr : out STD_LOGIC; + input_is_422 : out STD_LOGIC; + input_is_sRGB : out STD_LOGIC); +end extract_video_infopacket_data; + +architecture Behavioral of extract_video_infopacket_data is + -- For this usage, we are only interested in four bits that are all in the first + -- 16 transfers of the 32-bit packets + signal header_bits : STD_LOGIC_VECTOR (15 downto 0); + signal frame_bits : STD_LOGIC_VECTOR (15 downto 0); + signal subpacket0_bits : STD_LOGIC_VECTOR (31 downto 0); + signal updated : std_logic := '0'; +begin + +process(clk) + begin + if rising_edge(clk) then + if adp_data_valid = '1' then + ----------------------------------------------- + -- Move the incoming bits into a shift register + ----------------------------------------------- + header_bits <= adp_header_bit & header_bits(header_bits'high downto 1); + frame_bits <= adp_frame_bit & frame_bits(frame_bits'high downto 1); + subpacket0_bits <= adp_subpacket0_bits & subpacket0_bits(subpacket0_bits'high downto 2); + updated <= '1'; + end if; + + ---------------------------------------------------- + -- The 0 in frame bits indicates the start of packet + ---------------------------------------------------- + if updated = '1' and frame_bits = x"FFFE" then + -- 82 is the type of packet, 02 is the version + if header_bits = x"0282" then + case subpacket0_bits(14 downto 13) is + when "00" => input_is_YCbCr <= '0'; input_is_422 <= '0'; + when "01" => input_is_YCbCr <= '1'; input_is_422 <= '1'; + when "10" => input_is_YCbCr <= '1'; input_is_422 <= '0'; + when others => NULL; + end case; + + case subpacket0_bits(27 downto 26) is + when "01" => input_is_sRGB <= '1'; + when others => input_is_sRGB <= '0'; + end case; + + end if; + end if; + end if; + end process; + +end Behavioral; diff --git a/src/gen/gen_charmap_is_printable_bold.v b/src/gen/gen_charmap_is_printable_bold.v new file mode 100644 index 0000000..59b8adc --- /dev/null +++ b/src/gen/gen_charmap_is_printable_bold.v @@ -0,0 +1,136 @@ + +module gen_charmap_is_printable_bold(input glyph[15:0], output reg is_printable) begin + always @(glyph) begin + case(glyph) + 16'h0000: is_printable <= 1; + 16'h0001: is_printable <= 1; + 16'h0002: is_printable <= 1; + 16'h0003: is_printable <= 1; + 16'h0004: is_printable <= 1; + 16'h0005: is_printable <= 1; + 16'h0006: is_printable <= 1; + 16'h0007: is_printable <= 1; + 16'h0008: is_printable <= 1; + 16'h0009: is_printable <= 1; + 16'h000a: is_printable <= 1; + 16'h000b: is_printable <= 1; + 16'h000c: is_printable <= 1; + 16'h000d: is_printable <= 1; + 16'h000e: is_printable <= 1; + 16'h000f: is_printable <= 1; + 16'h0010: is_printable <= 1; + 16'h0011: is_printable <= 1; + 16'h0012: is_printable <= 1; + 16'h0013: is_printable <= 1; + 16'h0014: is_printable <= 1; + 16'h0015: is_printable <= 1; + 16'h0016: is_printable <= 1; + 16'h0017: is_printable <= 1; + 16'h0018: is_printable <= 1; + 16'h0019: is_printable <= 1; + 16'h001a: is_printable <= 1; + 16'h001b: is_printable <= 1; + 16'h001c: is_printable <= 1; + 16'h001d: is_printable <= 1; + 16'h001e: is_printable <= 1; + 16'h001f: is_printable <= 1; + 16'h0020: is_printable <= 1; + 16'h0021: is_printable <= 1; + 16'h0022: is_printable <= 1; + 16'h0023: is_printable <= 1; + 16'h0024: is_printable <= 1; + 16'h0025: is_printable <= 1; + 16'h0026: is_printable <= 1; + 16'h0027: is_printable <= 1; + 16'h0028: is_printable <= 1; + 16'h0029: is_printable <= 1; + 16'h002a: is_printable <= 1; + 16'h002b: is_printable <= 1; + 16'h002c: is_printable <= 1; + 16'h002d: is_printable <= 1; + 16'h002e: is_printable <= 1; + 16'h002f: is_printable <= 1; + 16'h0030: is_printable <= 1; + 16'h0031: is_printable <= 1; + 16'h0032: is_printable <= 1; + 16'h0033: is_printable <= 1; + 16'h0034: is_printable <= 1; + 16'h0035: is_printable <= 1; + 16'h0036: is_printable <= 1; + 16'h0037: is_printable <= 1; + 16'h0038: is_printable <= 1; + 16'h0039: is_printable <= 1; + 16'h003a: is_printable <= 1; + 16'h003b: is_printable <= 1; + 16'h003c: is_printable <= 1; + 16'h003d: is_printable <= 1; + 16'h003e: is_printable <= 1; + 16'h003f: is_printable <= 1; + 16'h0040: is_printable <= 1; + 16'h0041: is_printable <= 1; + 16'h0042: is_printable <= 1; + 16'h0043: is_printable <= 1; + 16'h0044: is_printable <= 1; + 16'h0045: is_printable <= 1; + 16'h0046: is_printable <= 1; + 16'h0047: is_printable <= 1; + 16'h0048: is_printable <= 1; + 16'h0049: is_printable <= 1; + 16'h004a: is_printable <= 1; + 16'h004b: is_printable <= 1; + 16'h004c: is_printable <= 1; + 16'h004d: is_printable <= 1; + 16'h004e: is_printable <= 1; + 16'h004f: is_printable <= 1; + 16'h0050: is_printable <= 1; + 16'h0051: is_printable <= 1; + 16'h0052: is_printable <= 1; + 16'h0053: is_printable <= 1; + 16'h0054: is_printable <= 1; + 16'h0055: is_printable <= 1; + 16'h0056: is_printable <= 1; + 16'h0057: is_printable <= 1; + 16'h0058: is_printable <= 1; + 16'h0059: is_printable <= 1; + 16'h005a: is_printable <= 1; + 16'h005b: is_printable <= 1; + 16'h005c: is_printable <= 1; + 16'h005d: is_printable <= 1; + 16'h005e: is_printable <= 1; + 16'h005f: is_printable <= 1; + 16'h0060: is_printable <= 1; + 16'h0061: is_printable <= 1; + 16'h0062: is_printable <= 1; + 16'h0063: is_printable <= 1; + 16'h0064: is_printable <= 1; + 16'h0065: is_printable <= 1; + 16'h0066: is_printable <= 1; + 16'h0067: is_printable <= 1; + 16'h0068: is_printable <= 1; + 16'h0069: is_printable <= 1; + 16'h006a: is_printable <= 1; + 16'h006b: is_printable <= 1; + 16'h006c: is_printable <= 1; + 16'h006d: is_printable <= 1; + 16'h006e: is_printable <= 1; + 16'h006f: is_printable <= 1; + 16'h0070: is_printable <= 1; + 16'h0071: is_printable <= 1; + 16'h0072: is_printable <= 1; + 16'h0073: is_printable <= 1; + 16'h0074: is_printable <= 1; + 16'h0075: is_printable <= 1; + 16'h0076: is_printable <= 1; + 16'h0077: is_printable <= 1; + 16'h0078: is_printable <= 1; + 16'h0079: is_printable <= 1; + 16'h007a: is_printable <= 1; + 16'h007b: is_printable <= 1; + 16'h007c: is_printable <= 1; + 16'h007d: is_printable <= 1; + 16'h007e: is_printable <= 1; + 16'h007f: is_printable <= 1; + default: is_printable <= 0; + endcase + end +end diff --git a/src/gen/gen_charmap_is_printable_default.v b/src/gen/gen_charmap_is_printable_default.v new file mode 100644 index 0000000..1ed3c4c --- /dev/null +++ b/src/gen/gen_charmap_is_printable_default.v @@ -0,0 +1,136 @@ + +module gen_charmap_is_printable_default(input glyph[15:0], output reg is_printable) begin + always @(glyph) begin + case(glyph) + 16'h0000: is_printable <= 1; + 16'h0001: is_printable <= 1; + 16'h0002: is_printable <= 1; + 16'h0003: is_printable <= 1; + 16'h0004: is_printable <= 1; + 16'h0005: is_printable <= 1; + 16'h0006: is_printable <= 1; + 16'h0007: is_printable <= 1; + 16'h0008: is_printable <= 1; + 16'h0009: is_printable <= 1; + 16'h000a: is_printable <= 1; + 16'h000b: is_printable <= 1; + 16'h000c: is_printable <= 1; + 16'h000d: is_printable <= 1; + 16'h000e: is_printable <= 1; + 16'h000f: is_printable <= 1; + 16'h0010: is_printable <= 1; + 16'h0011: is_printable <= 1; + 16'h0012: is_printable <= 1; + 16'h0013: is_printable <= 1; + 16'h0014: is_printable <= 1; + 16'h0015: is_printable <= 1; + 16'h0016: is_printable <= 1; + 16'h0017: is_printable <= 1; + 16'h0018: is_printable <= 1; + 16'h0019: is_printable <= 1; + 16'h001a: is_printable <= 1; + 16'h001b: is_printable <= 1; + 16'h001c: is_printable <= 1; + 16'h001d: is_printable <= 1; + 16'h001e: is_printable <= 1; + 16'h001f: is_printable <= 1; + 16'h0020: is_printable <= 1; + 16'h0021: is_printable <= 1; + 16'h0022: is_printable <= 1; + 16'h0023: is_printable <= 1; + 16'h0024: is_printable <= 1; + 16'h0025: is_printable <= 1; + 16'h0026: is_printable <= 1; + 16'h0027: is_printable <= 1; + 16'h0028: is_printable <= 1; + 16'h0029: is_printable <= 1; + 16'h002a: is_printable <= 1; + 16'h002b: is_printable <= 1; + 16'h002c: is_printable <= 1; + 16'h002d: is_printable <= 1; + 16'h002e: is_printable <= 1; + 16'h002f: is_printable <= 1; + 16'h0030: is_printable <= 1; + 16'h0031: is_printable <= 1; + 16'h0032: is_printable <= 1; + 16'h0033: is_printable <= 1; + 16'h0034: is_printable <= 1; + 16'h0035: is_printable <= 1; + 16'h0036: is_printable <= 1; + 16'h0037: is_printable <= 1; + 16'h0038: is_printable <= 1; + 16'h0039: is_printable <= 1; + 16'h003a: is_printable <= 1; + 16'h003b: is_printable <= 1; + 16'h003c: is_printable <= 1; + 16'h003d: is_printable <= 1; + 16'h003e: is_printable <= 1; + 16'h003f: is_printable <= 1; + 16'h0040: is_printable <= 1; + 16'h0041: is_printable <= 1; + 16'h0042: is_printable <= 1; + 16'h0043: is_printable <= 1; + 16'h0044: is_printable <= 1; + 16'h0045: is_printable <= 1; + 16'h0046: is_printable <= 1; + 16'h0047: is_printable <= 1; + 16'h0048: is_printable <= 1; + 16'h0049: is_printable <= 1; + 16'h004a: is_printable <= 1; + 16'h004b: is_printable <= 1; + 16'h004c: is_printable <= 1; + 16'h004d: is_printable <= 1; + 16'h004e: is_printable <= 1; + 16'h004f: is_printable <= 1; + 16'h0050: is_printable <= 1; + 16'h0051: is_printable <= 1; + 16'h0052: is_printable <= 1; + 16'h0053: is_printable <= 1; + 16'h0054: is_printable <= 1; + 16'h0055: is_printable <= 1; + 16'h0056: is_printable <= 1; + 16'h0057: is_printable <= 1; + 16'h0058: is_printable <= 1; + 16'h0059: is_printable <= 1; + 16'h005a: is_printable <= 1; + 16'h005b: is_printable <= 1; + 16'h005c: is_printable <= 1; + 16'h005d: is_printable <= 1; + 16'h005e: is_printable <= 1; + 16'h005f: is_printable <= 1; + 16'h0060: is_printable <= 1; + 16'h0061: is_printable <= 1; + 16'h0062: is_printable <= 1; + 16'h0063: is_printable <= 1; + 16'h0064: is_printable <= 1; + 16'h0065: is_printable <= 1; + 16'h0066: is_printable <= 1; + 16'h0067: is_printable <= 1; + 16'h0068: is_printable <= 1; + 16'h0069: is_printable <= 1; + 16'h006a: is_printable <= 1; + 16'h006b: is_printable <= 1; + 16'h006c: is_printable <= 1; + 16'h006d: is_printable <= 1; + 16'h006e: is_printable <= 1; + 16'h006f: is_printable <= 1; + 16'h0070: is_printable <= 1; + 16'h0071: is_printable <= 1; + 16'h0072: is_printable <= 1; + 16'h0073: is_printable <= 1; + 16'h0074: is_printable <= 1; + 16'h0075: is_printable <= 1; + 16'h0076: is_printable <= 1; + 16'h0077: is_printable <= 1; + 16'h0078: is_printable <= 1; + 16'h0079: is_printable <= 1; + 16'h007a: is_printable <= 1; + 16'h007b: is_printable <= 1; + 16'h007c: is_printable <= 1; + 16'h007d: is_printable <= 1; + 16'h007e: is_printable <= 1; + 16'h007f: is_printable <= 1; + default: is_printable <= 0; + endcase + end +end diff --git a/src/gen/gen_font_params_bold.vh b/src/gen/gen_font_params_bold.vh new file mode 100644 index 0000000..1748b42 --- /dev/null +++ b/src/gen/gen_font_params_bold.vh @@ -0,0 +1,3 @@ +`define GEN_FONT_GLYPH_W_bold 8 +`define GEN_FONT_GLYPH_H_bold 16 +`define GEN_FONT_GLYPH_COUNT_bold 128 diff --git a/src/gen/gen_font_params_default.vh b/src/gen/gen_font_params_default.vh new file mode 100644 index 0000000..256c6f5 --- /dev/null +++ b/src/gen/gen_font_params_default.vh @@ -0,0 +1,3 @@ +`define GEN_FONT_GLYPH_W_default 8 +`define GEN_FONT_GLYPH_H_default 16 +`define GEN_FONT_GLYPH_COUNT_default 128 diff --git a/src/gen/gen_glyphtable_bold.hex b/src/gen/gen_glyphtable_bold.hex new file mode 100644 index 0000000..1efb80e --- /dev/null +++ b/src/gen/gen_glyphtable_bold.hex @@ -0,0 +1,2048 @@ +00 +00 +ee +c6 +00 +c6 +c6 +c6 +00 +c6 +c6 +ee +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +18 +18 +18 +18 +18 +00 +18 +18 +00 +00 +00 +00 +00 +66 +66 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +6c +6c +6c +fe +6c +6c +fe +6c +6c +6c +00 +00 +00 +00 +00 +10 +10 +7c +d6 +d0 +d0 +7c +16 +16 +d6 +7c +10 +10 +00 +00 +00 +00 +66 +d6 +6c +0c +18 +18 +30 +36 +6b +66 +00 +00 +00 +00 +00 +00 +38 +6c +6c +38 +76 +dc +cc +cc +dc +76 +00 +00 +00 +00 +00 +18 +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +0c +18 +30 +30 +30 +30 +30 +30 +18 +0c +00 +00 +00 +00 +00 +00 +30 +18 +0c +0c +0c +0c +0c +0c +18 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +6c +38 +fe +38 +6c +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +7e +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +fe +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +00 +00 +00 +00 +00 +00 +06 +06 +0c +0c +18 +18 +30 +30 +60 +60 +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +ce +de +f6 +e6 +c6 +c6 +7c +00 +00 +00 +00 +00 +00 +18 +38 +78 +18 +18 +18 +18 +18 +18 +7e +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +06 +0c +18 +30 +60 +c0 +fe +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +06 +3c +06 +06 +c6 +c6 +7c +00 +00 +00 +00 +00 +00 +06 +0e +1e +36 +66 +c6 +fe +06 +06 +06 +00 +00 +00 +00 +00 +00 +fe +c0 +c0 +c0 +fc +06 +06 +06 +c6 +7c +00 +00 +00 +00 +00 +00 +3c +60 +c0 +c0 +fc +c6 +c6 +c6 +c6 +7c +00 +00 +00 +00 +00 +00 +fe +06 +06 +0c +0c +18 +18 +30 +30 +30 +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +c6 +7c +c6 +c6 +c6 +c6 +7c +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +c6 +c6 +7e +06 +06 +0c +78 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +00 +00 +00 +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +00 +00 +00 +18 +18 +30 +00 +00 +00 +00 +00 +00 +06 +0c +18 +30 +60 +30 +18 +0c +06 +00 +00 +00 +00 +00 +00 +00 +00 +00 +fe +00 +00 +fe +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +60 +30 +18 +0c +06 +0c +18 +30 +60 +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +c6 +0c +18 +18 +00 +18 +18 +00 +00 +00 +00 +00 +00 +7c +c6 +ce +d6 +d6 +d6 +d6 +ce +c0 +7e +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +c6 +c6 +fe +c6 +c6 +c6 +c6 +00 +00 +00 +00 +00 +00 +fc +c6 +c6 +c6 +fc +c6 +c6 +c6 +c6 +fc +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +c0 +c0 +c0 +c0 +c6 +c6 +7c +00 +00 +00 +00 +00 +00 +f8 +cc +c6 +c6 +c6 +c6 +c6 +c6 +cc +f8 +00 +00 +00 +00 +00 +00 +fe +c0 +c0 +c0 +f8 +c0 +c0 +c0 +c0 +fe +00 +00 +00 +00 +00 +00 +fe +c0 +c0 +c0 +f8 +c0 +c0 +c0 +c0 +c0 +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +c0 +c0 +de +c6 +c6 +c6 +7c +00 +00 +00 +00 +00 +00 +c6 +c6 +c6 +c6 +fe +c6 +c6 +c6 +c6 +c6 +00 +00 +00 +00 +00 +00 +3c +18 +18 +18 +18 +18 +18 +18 +18 +3c +00 +00 +00 +00 +00 +00 +1e +0c +0c +0c +0c +0c +0c +cc +cc +78 +00 +00 +00 +00 +00 +00 +c6 +c6 +cc +d8 +f0 +f0 +d8 +cc +c6 +c6 +00 +00 +00 +00 +00 +00 +c0 +c0 +c0 +c0 +c0 +c0 +c0 +c0 +c0 +fe +00 +00 +00 +00 +00 +00 +82 +c6 +ee +fe +d6 +c6 +c6 +c6 +c6 +c6 +00 +00 +00 +00 +00 +00 +c6 +c6 +c6 +e6 +f6 +de +ce +c6 +c6 +c6 +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +c6 +c6 +c6 +c6 +c6 +c6 +7c +00 +00 +00 +00 +00 +00 +fc +c6 +c6 +c6 +c6 +fc +c0 +c0 +c0 +c0 +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +c6 +c6 +c6 +c6 +c6 +de +7c +06 +00 +00 +00 +00 +00 +fc +c6 +c6 +c6 +c6 +fc +f0 +d8 +cc +c6 +00 +00 +00 +00 +00 +00 +7c +c6 +c0 +c0 +7c +06 +06 +c6 +c6 +7c +00 +00 +00 +00 +00 +00 +ff +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +00 +00 +c6 +c6 +c6 +c6 +c6 +c6 +c6 +c6 +c6 +7c +00 +00 +00 +00 +00 +00 +c6 +c6 +c6 +c6 +c6 +6c +6c +6c +38 +38 +00 +00 +00 +00 +00 +00 +c6 +c6 +c6 +c6 +c6 +d6 +fe +ee +c6 +82 +00 +00 +00 +00 +00 +00 +c6 +c6 +6c +6c +38 +38 +6c +6c +c6 +c6 +00 +00 +00 +00 +00 +00 +c3 +c3 +66 +66 +3c +18 +18 +18 +18 +18 +00 +00 +00 +00 +00 +00 +fe +06 +06 +0c +18 +30 +60 +c0 +c0 +fe +00 +00 +00 +00 +00 +00 +3c +30 +30 +30 +30 +30 +30 +30 +30 +3c +00 +00 +00 +00 +00 +00 +60 +60 +30 +30 +18 +18 +0c +0c +06 +06 +00 +00 +00 +00 +00 +00 +3c +0c +0c +0c +0c +0c +0c +0c +0c +3c +00 +00 +00 +00 +00 +18 +3c +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +fe +00 +00 +30 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7c +06 +7e +c6 +c6 +c6 +7e +00 +00 +00 +00 +00 +00 +c0 +c0 +c0 +fc +c6 +c6 +c6 +c6 +c6 +fc +00 +00 +00 +00 +00 +00 +00 +00 +00 +7c +c6 +c0 +c0 +c0 +c6 +7c +00 +00 +00 +00 +00 +00 +06 +06 +06 +7e +c6 +c6 +c6 +c6 +c6 +7e +00 +00 +00 +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +fe +c0 +c0 +7c +00 +00 +00 +00 +00 +00 +1e +30 +30 +fc +30 +30 +30 +30 +30 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7e +c6 +c6 +c6 +c6 +c6 +7e +06 +06 +7c +00 +00 +00 +c0 +c0 +c0 +fc +c6 +c6 +c6 +c6 +c6 +c6 +00 +00 +00 +00 +00 +00 +18 +18 +00 +38 +18 +18 +18 +18 +18 +3c +00 +00 +00 +00 +00 +00 +06 +06 +00 +0e +06 +06 +06 +06 +06 +06 +66 +66 +3c +00 +00 +00 +c0 +c0 +c0 +c6 +cc +d8 +f0 +d8 +cc +c6 +00 +00 +00 +00 +00 +00 +38 +18 +18 +18 +18 +18 +18 +18 +18 +3c +00 +00 +00 +00 +00 +00 +00 +00 +00 +fc +d6 +d6 +d6 +d6 +d6 +d6 +00 +00 +00 +00 +00 +00 +00 +00 +00 +fc +c6 +c6 +c6 +c6 +c6 +c6 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7c +c6 +c6 +c6 +c6 +c6 +7c +00 +00 +00 +00 +00 +00 +00 +00 +00 +fc +c6 +c6 +c6 +c6 +c6 +fc +c0 +c0 +c0 +00 +00 +00 +00 +00 +00 +7e +c6 +c6 +c6 +c6 +c6 +7e +06 +06 +06 +00 +00 +00 +00 +00 +00 +de +f0 +e0 +c0 +c0 +c0 +c0 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7e +c0 +c0 +7c +06 +06 +fc +00 +00 +00 +00 +00 +00 +30 +30 +30 +fc +30 +30 +30 +30 +30 +1e +00 +00 +00 +00 +00 +00 +00 +00 +00 +c6 +c6 +c6 +c6 +c6 +c6 +7e +00 +00 +00 +00 +00 +00 +00 +00 +00 +c6 +c6 +c6 +6c +6c +38 +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +c6 +c6 +d6 +d6 +d6 +d6 +7c +00 +00 +00 +00 +00 +00 +00 +00 +00 +c6 +c6 +6c +38 +6c +c6 +c6 +00 +00 +00 +00 +00 +00 +00 +00 +00 +c6 +c6 +c6 +c6 +c6 +c6 +7e +06 +06 +7c +00 +00 +00 +00 +00 +00 +fe +0c +18 +30 +60 +c0 +fe +00 +00 +00 +00 +00 +00 +1c +30 +30 +30 +60 +30 +30 +30 +30 +1c +00 +00 +00 +00 +00 +00 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +00 +00 +70 +18 +18 +18 +0c +18 +18 +18 +18 +70 +00 +00 +00 +00 +00 +73 +db +ce +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 diff --git a/src/gen/gen_glyphtable_default.hex b/src/gen/gen_glyphtable_default.hex new file mode 100644 index 0000000..4b0f2a0 --- /dev/null +++ b/src/gen/gen_glyphtable_default.hex @@ -0,0 +1,2048 @@ +00 +00 +66 +42 +00 +42 +42 +42 +00 +42 +42 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +10 +10 +10 +10 +10 +10 +10 +00 +10 +10 +00 +00 +00 +00 +00 +24 +24 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +24 +24 +24 +7e +24 +24 +7e +24 +24 +24 +00 +00 +00 +00 +00 +10 +10 +7c +92 +90 +90 +7c +12 +12 +92 +7c +10 +10 +00 +00 +00 +00 +64 +94 +68 +08 +10 +10 +20 +2c +52 +4c +00 +00 +00 +00 +00 +00 +18 +24 +24 +18 +30 +4a +44 +44 +44 +3a +00 +00 +00 +00 +00 +10 +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +08 +10 +20 +20 +20 +20 +20 +20 +10 +08 +00 +00 +00 +00 +00 +00 +20 +10 +08 +08 +08 +08 +08 +08 +10 +20 +00 +00 +00 +00 +00 +00 +00 +00 +00 +24 +18 +7e +18 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +10 +10 +7c +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +10 +10 +20 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7e +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +10 +10 +00 +00 +00 +00 +00 +00 +04 +04 +08 +08 +10 +10 +20 +20 +40 +40 +00 +00 +00 +00 +00 +00 +3c +42 +42 +46 +4a +52 +62 +42 +42 +3c +00 +00 +00 +00 +00 +00 +08 +18 +28 +08 +08 +08 +08 +08 +08 +3e +00 +00 +00 +00 +00 +00 +3c +42 +42 +02 +04 +08 +10 +20 +40 +7e +00 +00 +00 +00 +00 +00 +3c +42 +42 +02 +1c +02 +02 +42 +42 +3c +00 +00 +00 +00 +00 +00 +02 +06 +0a +12 +22 +42 +7e +02 +02 +02 +00 +00 +00 +00 +00 +00 +7e +40 +40 +40 +7c +02 +02 +02 +42 +3c +00 +00 +00 +00 +00 +00 +1c +20 +40 +40 +7c +42 +42 +42 +42 +3c +00 +00 +00 +00 +00 +00 +7e +02 +02 +04 +04 +08 +08 +10 +10 +10 +00 +00 +00 +00 +00 +00 +3c +42 +42 +42 +3c +42 +42 +42 +42 +3c +00 +00 +00 +00 +00 +00 +3c +42 +42 +42 +42 +3e +02 +02 +04 +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +10 +10 +00 +00 +00 +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +10 +10 +00 +00 +00 +10 +10 +20 +00 +00 +00 +00 +00 +00 +04 +08 +10 +20 +40 +20 +10 +08 +04 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7e +00 +00 +7e +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +40 +20 +10 +08 +04 +08 +10 +20 +40 +00 +00 +00 +00 +00 +00 +3c +42 +42 +42 +04 +08 +08 +00 +08 +08 +00 +00 +00 +00 +00 +00 +7c +82 +9e +a2 +a2 +a2 +a6 +9a +80 +7e +00 +00 +00 +00 +00 +00 +3c +42 +42 +42 +42 +7e +42 +42 +42 +42 +00 +00 +00 +00 +00 +00 +7c +42 +42 +42 +7c +42 +42 +42 +42 +7c +00 +00 +00 +00 +00 +00 +3c +42 +42 +40 +40 +40 +40 +42 +42 +3c +00 +00 +00 +00 +00 +00 +78 +44 +42 +42 +42 +42 +42 +42 +44 +78 +00 +00 +00 +00 +00 +00 +7e +40 +40 +40 +78 +40 +40 +40 +40 +7e +00 +00 +00 +00 +00 +00 +7e +40 +40 +40 +78 +40 +40 +40 +40 +40 +00 +00 +00 +00 +00 +00 +3c +42 +42 +40 +40 +4e +42 +42 +42 +3c +00 +00 +00 +00 +00 +00 +42 +42 +42 +42 +7e +42 +42 +42 +42 +42 +00 +00 +00 +00 +00 +00 +38 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +00 +00 +0e +04 +04 +04 +04 +04 +04 +44 +44 +38 +00 +00 +00 +00 +00 +00 +42 +44 +48 +50 +60 +60 +50 +48 +44 +42 +00 +00 +00 +00 +00 +00 +40 +40 +40 +40 +40 +40 +40 +40 +40 +7e +00 +00 +00 +00 +00 +00 +82 +c6 +aa +92 +92 +82 +82 +82 +82 +82 +00 +00 +00 +00 +00 +00 +42 +42 +42 +62 +52 +4a +46 +42 +42 +42 +00 +00 +00 +00 +00 +00 +3c +42 +42 +42 +42 +42 +42 +42 +42 +3c +00 +00 +00 +00 +00 +00 +7c +42 +42 +42 +42 +7c +40 +40 +40 +40 +00 +00 +00 +00 +00 +00 +3c +42 +42 +42 +42 +42 +42 +42 +4a +3c +02 +00 +00 +00 +00 +00 +7c +42 +42 +42 +42 +7c +50 +48 +44 +42 +00 +00 +00 +00 +00 +00 +3c +42 +40 +40 +3c +02 +02 +42 +42 +3c +00 +00 +00 +00 +00 +00 +fe +10 +10 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +42 +42 +42 +3c +00 +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +24 +24 +24 +18 +18 +00 +00 +00 +00 +00 +00 +82 +82 +82 +82 +82 +92 +92 +aa +c6 +82 +00 +00 +00 +00 +00 +00 +42 +42 +24 +24 +18 +18 +24 +24 +42 +42 +00 +00 +00 +00 +00 +00 +82 +82 +44 +44 +28 +10 +10 +10 +10 +10 +00 +00 +00 +00 +00 +00 +7e +02 +02 +04 +08 +10 +20 +40 +40 +7e +00 +00 +00 +00 +00 +00 +38 +20 +20 +20 +20 +20 +20 +20 +20 +38 +00 +00 +00 +00 +00 +00 +40 +40 +20 +20 +10 +10 +08 +08 +04 +04 +00 +00 +00 +00 +00 +00 +38 +08 +08 +08 +08 +08 +08 +08 +08 +38 +00 +00 +00 +00 +00 +10 +28 +44 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7e +00 +00 +10 +08 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +3c +02 +3e +42 +42 +42 +3e +00 +00 +00 +00 +00 +00 +40 +40 +40 +7c +42 +42 +42 +42 +42 +7c +00 +00 +00 +00 +00 +00 +00 +00 +00 +3c +42 +40 +40 +40 +42 +3c +00 +00 +00 +00 +00 +00 +02 +02 +02 +3e +42 +42 +42 +42 +42 +3e +00 +00 +00 +00 +00 +00 +00 +00 +00 +3c +42 +42 +7e +40 +40 +3c +00 +00 +00 +00 +00 +00 +0e +10 +10 +7c +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +3e +42 +42 +42 +42 +42 +3e +02 +02 +3c +00 +00 +00 +40 +40 +40 +7c +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +00 +00 +10 +10 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +00 +00 +04 +04 +00 +0c +04 +04 +04 +04 +04 +04 +44 +44 +38 +00 +00 +00 +40 +40 +40 +42 +44 +48 +70 +48 +44 +42 +00 +00 +00 +00 +00 +00 +30 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +fc +92 +92 +92 +92 +92 +92 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7c +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +00 +00 +00 +00 +00 +3c +42 +42 +42 +42 +42 +3c +00 +00 +00 +00 +00 +00 +00 +00 +00 +7c +42 +42 +42 +42 +42 +7c +40 +40 +40 +00 +00 +00 +00 +00 +00 +3e +42 +42 +42 +42 +42 +3e +02 +02 +02 +00 +00 +00 +00 +00 +00 +5e +60 +40 +40 +40 +40 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +3e +40 +40 +3c +02 +02 +7c +00 +00 +00 +00 +00 +00 +10 +10 +10 +7c +10 +10 +10 +10 +10 +0e +00 +00 +00 +00 +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +3e +00 +00 +00 +00 +00 +00 +00 +00 +00 +42 +42 +42 +24 +24 +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +82 +82 +92 +92 +92 +92 +7c +00 +00 +00 +00 +00 +00 +00 +00 +00 +42 +42 +24 +18 +24 +42 +42 +00 +00 +00 +00 +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +3e +02 +02 +3c +00 +00 +00 +00 +00 +00 +7e +04 +08 +10 +20 +40 +7e +00 +00 +00 +00 +00 +00 +0c +10 +10 +10 +20 +10 +10 +10 +10 +0c +00 +00 +00 +00 +00 +00 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +00 +00 +30 +08 +08 +08 +04 +08 +08 +08 +08 +30 +00 +00 +00 +00 +00 +62 +92 +8c +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 diff --git a/src/gen/glyph_buffer_init_file.hex b/src/gen/glyph_buffer_init_file.hex new file mode 100644 index 0000000..3bdd05d --- /dev/null +++ b/src/gen/glyph_buffer_init_file.hex @@ -0,0 +1,32768 @@ +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +00139 +00261 +00362 +00463 +00564 +00665 +00766 +00867 +00968 +00a69 +00b6a +00c6b +00d6c +00e6d +00f6e +0076f +00770 +00771 +00772 +00773 +00774 +0070a +00776 +00077 +01078 +02079 +0307a +04041 +05042 +06043 +07044 +08045 +09046 +0a047 +0b048 +0c049 +0d04a +0e04b +0f04c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +00156 +00257 +00358 +00459 +0055a +00621 +00722 +00823 +00924 +00a25 +00b26 +00c27 +00d28 +00e29 +00f2a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0103e +0203f +03040 +0405b +0505c +0605d +0705e +0805f +09060 +0a07b +0b07c +0c07d +0d07e +0e020 +0f009 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +00135 +00236 +00337 +00438 +00539 +00661 +00762 +00863 +00964 +00a65 +00b66 +00c67 +00d68 +00e69 +00f6a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +01074 +02075 +03076 +04077 +05078 +06079 +0707a +08041 +09042 +0a043 +0b044 +0c045 +0d046 +0e047 +0f048 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +00152 +00253 +00354 +00455 +00556 +00657 +00758 +00859 +0095a +00a21 +00b22 +00c23 +00d24 +00e25 +00f26 +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0103a +0203b +0303c +0403d +0503e +0603f +07040 +0805b +0905c +0a05d +0b05e +0c05f +0d060 +0e07b +0f07c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +00131 +00232 +00333 +00434 +00535 +00636 +00737 +00838 +00939 +00a61 +00b62 +00c63 +00d64 +00e65 +00f66 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +01070 +02071 +03072 +04073 +05074 +06075 +07076 +08077 +09078 +0a079 +0b07a +0c041 +0d042 +0e043 +0f044 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0014e +0024f +00350 +00451 +00552 +00653 +00754 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +80161 +80262 +80363 +80464 +80565 +80666 +80767 +80868 +80969 +80a6a +80b6b +80c6c +80d6d +80e6e +80f6f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +8070a +80078 +81079 +8207a +83041 +84042 +85043 +86044 +87045 +88046 +89047 +8a048 +8b049 +8c04a +8d04b +8e04c +8f04d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +80157 +80258 +80359 +8045a +80521 +80622 +80723 +80824 +80925 +80a26 +80b27 +80c28 +80d29 +80e2a +80f2b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8103f +82040 +8305b +8405c +8505d +8605e +8705f +88060 +8907b +8a07c +8b07d +8c07e +8d020 +8e009 +8f00a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +80136 +80237 +80338 +80439 +80561 +80662 +80763 +80864 +80965 +80a66 +80b67 +80c68 +80d69 +80e6a +80f6b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +81075 +82076 +83077 +84078 +85079 +8607a +87041 +88042 +89043 +8a044 +8b045 +8c046 +8d047 +8e048 +8f049 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +80153 +80254 +80355 +80456 +80557 +80658 +80759 +8085a +80921 +80a22 +80b23 +80c24 +80d25 +80e26 +80f27 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8103b +8203c +8303d +8403e +8503f +86040 +8705b +8805c +8905d +8a05e +8b05f +8c060 +8d07b +8e07c +8f07d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +80132 +80233 +80334 +80435 +80536 +80637 +80738 +80839 +80961 +80a62 +80b63 +80c64 +80d65 +80e66 +80f67 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +81071 +82072 +83073 +84074 +85075 +86076 +87077 +88078 +89079 +8a07a +8b041 +8c042 +8d043 +8e044 +8f045 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8014f +80250 +80351 +80452 +80553 +80654 +80755 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +40162 +40263 +40364 +40465 +40566 +40667 +40768 +40869 +4096a +40a6b +40b6c +40c6d +40d6e +40e6f +40f70 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +4000a +4107a +42041 +43042 +44043 +45044 +46045 +47046 +48047 +49048 +4a049 +4b04a +4c04b +4d04c +4e04d +4f04e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +40158 +40259 +4035a +40421 +40522 +40623 +40724 +40825 +40926 +40a27 +40b28 +40c29 +40d2a +40e2b +40f2c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +41040 +4205b +4305c +4405d +4505e +4605f +47060 +4807b +4907c +4a07d +4b07e +4c020 +4d009 +4e00a +4f00d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +40137 +40238 +40339 +40461 +40562 +40663 +40764 +40865 +40966 +40a67 +40b68 +40c69 +40d6a +40e6b +40f6c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +41076 +42077 +43078 +44079 +4507a +46041 +47042 +48043 +49044 +4a045 +4b046 +4c047 +4d048 +4e049 +4f04a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +40154 +40255 +40356 +40457 +40558 +40659 +4075a +40821 +40922 +40a23 +40b24 +40c25 +40d26 +40e27 +40f28 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4103c +4203d +4303e +4403f +45040 +4605b +4705c +4805d +4905e +4a05f +4b060 +4c07b +4d07c +4e07d +4f07e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +40133 +40234 +40335 +40436 +40537 +40638 +40739 +40861 +40962 +40a63 +40b64 +40c65 +40d66 +40e67 +40f68 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +41072 +42073 +43074 +44075 +45076 +46077 +47078 +48079 +4907a +4a041 +4b042 +4c043 +4d044 +4e045 +4f046 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +40150 +40251 +40352 +40453 +40554 +40655 +40756 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c0163 +c0264 +c0365 +c0466 +c0567 +c0668 +c0769 +c086a +c096b +c0a6c +c0b6d +c0c6e +c0d6f +c0e70 +c0f71 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c100a +c2042 +c3043 +c4044 +c5045 +c6046 +c7047 +c8048 +c9049 +ca04a +cb04b +cc04c +cd04d +ce04e +cf04f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c0159 +c025a +c0321 +c0422 +c0523 +c0624 +c0725 +c0826 +c0927 +c0a28 +c0b29 +c0c2a +c0d2b +c0e2c +c0f2d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c105b +c205c +c305d +c405e +c505f +c6060 +c707b +c807c +c907d +ca07e +cb020 +cc009 +cd00a +ce00d +cf00b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c0138 +c0239 +c0361 +c0462 +c0563 +c0664 +c0765 +c0866 +c0967 +c0a68 +c0b69 +c0c6a +c0d6b +c0e6c +c0f6d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c1077 +c2078 +c3079 +c407a +c5041 +c6042 +c7043 +c8044 +c9045 +ca046 +cb047 +cc048 +cd049 +ce04a +cf04b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c0155 +c0256 +c0357 +c0458 +c0559 +c065a +c0721 +c0822 +c0923 +c0a24 +c0b25 +c0c26 +c0d27 +c0e28 +c0f29 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c103d +c203e +c303f +c4040 +c505b +c605c +c705d +c805e +c905f +ca060 +cb07b +cc07c +cd07d +ce07e +cf020 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c0134 +c0235 +c0336 +c0437 +c0538 +c0639 +c0761 +c0862 +c0963 +c0a64 +c0b65 +c0c66 +c0d67 +c0e68 +c0f69 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c1073 +c2074 +c3075 +c4076 +c5077 +c6078 +c7079 +c807a +c9041 +ca042 +cb043 +cc044 +cd045 +ce046 +cf047 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c0151 +c0252 +c0353 +c0454 +c0555 +c0656 +c0757 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +00164 +00265 +00366 +00467 +00568 +00669 +0076a +0086b +0096c +00a6d +00b6e +00c6f +00d70 +00e71 +00f72 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +01042 +0200a +03044 +04045 +05046 +06047 +07048 +08049 +0904a +0a04b +0b04c +0c04d +0d04e +0e04f +0f050 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0015a +00221 +00322 +00423 +00524 +00625 +00726 +00827 +00928 +00a29 +00b2a +00c2b +00d2c +00e2d +00f2e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0105c +0205d +0305e +0405f +05060 +0607b +0707c +0807d +0907e +0a020 +0b009 +0c00a +0d00d +0e00b +0f00c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +00139 +00261 +00362 +00463 +00564 +00665 +00766 +00867 +00968 +00a69 +00b6a +00c6b +00d6c +00e6d +00f6e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +01078 +02079 +0307a +04041 +05042 +06043 +07044 +08045 +09046 +0a047 +0b048 +0c049 +0d04a +0e04b +0f04c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +00156 +00257 +00358 +00459 +0055a +00621 +00722 +00823 +00924 +00a25 +00b26 +00c27 +00d28 +00e29 +00f2a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0103e +0203f +03040 +0405b +0505c +0605d +0705e +0805f +09060 +0a07b +0b07c +0c07d +0d07e +0e020 +0f009 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +00135 +00236 +00337 +00438 +00539 +00661 +00762 +00863 +00964 +00a65 +00b66 +00c67 +00d68 +00e69 +00f6a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +01074 +02075 +03076 +04077 +05078 +06079 +0707a +08041 +09042 +0a043 +0b044 +0c045 +0d046 +0e047 +0f048 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +00152 +00253 +00354 +00455 +00556 +00657 +00758 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +80165 +80266 +80367 +80468 +80569 +8066a +8076b +8086c +8096d +80a6e +80b6f +80c70 +80d71 +80e72 +80f73 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +81043 +82044 +8300a +84046 +85047 +86048 +87049 +8804a +8904b +8a04c +8b04d +8c04e +8d04f +8e050 +8f051 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +80121 +80222 +80323 +80424 +80525 +80626 +80727 +80828 +80929 +80a2a +80b2b +80c2c +80d2d +80e2e +80f2f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8105d +8205e +8305f +84060 +8507b +8607c +8707d +8807e +89020 +8a009 +8b00a +8c00d +8d00b +8e00c +8f030 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +80161 +80262 +80363 +80464 +80565 +80666 +80767 +80868 +80969 +80a6a +80b6b +80c6c +80d6d +80e6e +80f6f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +81079 +8207a +83041 +84042 +85043 +86044 +87045 +88046 +89047 +8a048 +8b049 +8c04a +8d04b +8e04c +8f04d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +80157 +80258 +80359 +8045a +80521 +80622 +80723 +80824 +80925 +80a26 +80b27 +80c28 +80d29 +80e2a +80f2b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8103f +82040 +8305b +8405c +8505d +8605e +8705f +88060 +8907b +8a07c +8b07d +8c07e +8d020 +8e009 +8f00a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +80136 +80237 +80338 +80439 +80561 +80662 +80763 +80864 +80965 +80a66 +80b67 +80c68 +80d69 +80e6a +80f6b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +81075 +82076 +83077 +84078 +85079 +8607a +87041 +88042 +89043 +8a044 +8b045 +8c046 +8d047 +8e048 +8f049 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +80153 +80254 +80355 +80456 +80557 +80658 +80759 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +40166 +40267 +40368 +40469 +4056a +4066b +4076c +4086d +4096e +40a6f +40b70 +40c71 +40d72 +40e73 +40f74 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +41044 +42045 +43046 +4400a +45048 +46049 +4704a +4804b +4904c +4a04d +4b04e +4c04f +4d050 +4e051 +4f052 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +40122 +40223 +40324 +40425 +40526 +40627 +40728 +40829 +4092a +40a2b +40b2c +40c2d +40d2e +40e2f +40f3a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4105e +4205f +43060 +4407b +4507c +4607d +4707e +48020 +49009 +4a00a +4b00d +4c00b +4d00c +4e030 +4f031 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +40162 +40263 +40364 +40465 +40566 +40667 +40768 +40869 +4096a +40a6b +40b6c +40c6d +40d6e +40e6f +40f70 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4107a +42041 +43042 +44043 +45044 +46045 +47046 +48047 +49048 +4a049 +4b04a +4c04b +4d04c +4e04d +4f04e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +40158 +40259 +4035a +40421 +40522 +40623 +40724 +40825 +40926 +40a27 +40b28 +40c29 +40d2a +40e2b +40f2c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +41040 +4205b +4305c +4405d +4505e +4605f +47060 +4807b +4907c +4a07d +4b07e +4c020 +4d009 +4e00a +4f00d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +40137 +40238 +40339 +40461 +40562 +40663 +40764 +40865 +40966 +40a67 +40b68 +40c69 +40d6a +40e6b +40f6c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +41076 +42077 +43078 +44079 +4507a +46041 +47042 +48043 +49044 +4a045 +4b046 +4c047 +4d048 +4e049 +4f04a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +40154 +40255 +40356 +40457 +40558 +40659 +4075a +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c0167 +c0268 +c0369 +c046a +c056b +c066c +c076d +c086e +c096f +c0a70 +c0b71 +c0c72 +c0d73 +c0e74 +c0f75 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c1045 +c2046 +c3047 +c4048 +c500a +c604a +c704b +c804c +c904d +ca04e +cb04f +cc050 +cd051 +ce052 +cf053 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c0123 +c0224 +c0325 +c0426 +c0527 +c0628 +c0729 +c082a +c092b +c0a2c +c0b2d +c0c2e +c0d2f +c0e3a +c0f3b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c105f +c2060 +c307b +c407c +c507d +c607e +c7020 +c8009 +c900a +ca00d +cb00b +cc00c +cd030 +ce031 +cf032 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c0163 +c0264 +c0365 +c0466 +c0567 +c0668 +c0769 +c086a +c096b +c0a6c +c0b6d +c0c6e +c0d6f +c0e70 +c0f71 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c1041 +c2042 +c3043 +c4044 +c5045 +c6046 +c7047 +c8048 +c9049 +ca04a +cb04b +cc04c +cd04d +ce04e +cf04f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c0159 +c025a +c0321 +c0422 +c0523 +c0624 +c0725 +c0826 +c0927 +c0a28 +c0b29 +c0c2a +c0d2b +c0e2c +c0f2d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c105b +c205c +c305d +c405e +c505f +c6060 +c707b +c807c +c907d +ca07e +cb020 +cc009 +cd00a +ce00d +cf00b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c0138 +c0239 +c0361 +c0462 +c0563 +c0664 +c0765 +c0866 +c0967 +c0a68 +c0b69 +c0c6a +c0d6b +c0e6c +c0f6d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c1077 +c2078 +c3079 +c407a +c5041 +c6042 +c7043 +c8044 +c9045 +ca046 +cb047 +cc048 +cd049 +ce04a +cf04b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c0155 +c0256 +c0357 +c0458 +c0559 +c065a +c0721 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +00168 +00269 +0036a +0046b +0056c +0066d +0076e +0086f +00970 +00a71 +00b72 +00c73 +00d74 +00e75 +00f76 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +01046 +02047 +03048 +04049 +0504a +0600a +0704c +0804d +0904e +0a04f +0b050 +0c051 +0d052 +0e053 +0f054 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +00124 +00225 +00326 +00427 +00528 +00629 +0072a +0082b +0092c +00a2d +00b2e +00c2f +00d3a +00e3b +00f3c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +01060 +0207b +0307c +0407d +0507e +06020 +07009 +0800a +0900d +0a00b +0b00c +0c030 +0d031 +0e032 +0f033 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +00164 +00265 +00366 +00467 +00568 +00669 +0076a +0086b +0096c +00a6d +00b6e +00c6f +00d70 +00e71 +00f72 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +01042 +02043 +03044 +04045 +05046 +06047 +07048 +08049 +0904a +0a04b +0b04c +0c04d +0d04e +0e04f +0f050 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0015a +00221 +00322 +00423 +00524 +00625 +00726 +00827 +00928 +00a29 +00b2a +00c2b +00d2c +00e2d +00f2e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0105c +0205d +0305e +0405f +05060 +0607b +0707c +0807d +0907e +0a020 +0b009 +0c00a +0d00d +0e00b +0f00c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +00139 +00261 +00362 +00463 +00564 +00665 +00766 +00867 +00968 +00a69 +00b6a +00c6b +00d6c +00e6d +00f6e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +01078 +02079 +0307a +04041 +05042 +06043 +07044 +08045 +09046 +0a047 +0b048 +0c049 +0d04a +0e04b +0f04c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +00156 +00257 +00358 +00459 +0055a +00621 +00722 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +80169 +8026a +8036b +8046c +8056d +8066e +8076f +80870 +80971 +80a72 +80b73 +80c74 +80d75 +80e76 +80f77 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +81047 +82048 +83049 +8404a +8504b +8604c +8700a +8804e +8904f +8a050 +8b051 +8c052 +8d053 +8e054 +8f055 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +80125 +80226 +80327 +80428 +80529 +8062a +8072b +8082c +8092d +80a2e +80b2f +80c3a +80d3b +80e3c +80f3d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8107b +8207c +8307d +8407e +85020 +86009 +8700a +8800d +8900b +8a00c +8b030 +8c031 +8d032 +8e033 +8f034 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +80165 +80266 +80367 +80468 +80569 +8066a +8076b +8086c +8096d +80a6e +80b6f +80c70 +80d71 +80e72 +80f73 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +81043 +82044 +83045 +84046 +85047 +86048 +87049 +8804a +8904b +8a04c +8b04d +8c04e +8d04f +8e050 +8f051 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +80121 +80222 +80323 +80424 +80525 +80626 +80727 +80828 +80929 +80a2a +80b2b +80c2c +80d2d +80e2e +80f2f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8105d +8205e +8305f +84060 +8507b +8607c +8707d +8807e +89020 +8a009 +8b00a +8c00d +8d00b +8e00c +8f030 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +80161 +80262 +80363 +80464 +80565 +80666 +80767 +80868 +80969 +80a6a +80b6b +80c6c +80d6d +80e6e +80f6f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +81079 +8207a +83041 +84042 +85043 +86044 +87045 +88046 +89047 +8a048 +8b049 +8c04a +8d04b +8e04c +8f04d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +80157 +80258 +80359 +8045a +80521 +80622 +80723 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4016a +4026b +4036c +4046d +4056e +4066f +40770 +40871 +40972 +40a73 +40b74 +40c75 +40d76 +40e77 +40f78 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +41048 +42049 +4304a +4404b +4504c +4604d +4704e +4800a +49050 +4a051 +4b052 +4c053 +4d054 +4e055 +4f056 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +40126 +40227 +40328 +40429 +4052a +4062b +4072c +4082d +4092e +40a2f +40b3a +40c3b +40d3c +40e3d +40f3e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4107c +4207d +4307e +44020 +45009 +4600a +4700d +4800b +4900c +4a030 +4b031 +4c032 +4d033 +4e034 +4f035 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +40166 +40267 +40368 +40469 +4056a +4066b +4076c +4086d +4096e +40a6f +40b70 +40c71 +40d72 +40e73 +40f74 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +41044 +42045 +43046 +44047 +45048 +46049 +4704a +4804b +4904c +4a04d +4b04e +4c04f +4d050 +4e051 +4f052 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +40122 +40223 +40324 +40425 +40526 +40627 +40728 +40829 +4092a +40a2b +40b2c +40c2d +40d2e +40e2f +40f3a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4105e +4205f +43060 +4407b +4507c +4607d +4707e +48020 +49009 +4a00a +4b00d +4c00b +4d00c +4e030 +4f031 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +40162 +40263 +40364 +40465 +40566 +40667 +40768 +40869 +4096a +40a6b +40b6c +40c6d +40d6e +40e6f +40f70 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4107a +42041 +43042 +44043 +45044 +46045 +47046 +48047 +49048 +4a049 +4b04a +4c04b +4d04c +4e04d +4f04e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +40158 +40259 +4035a +40421 +40522 +40623 +40724 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c016b +c026c +c036d +c046e +c056f +c0670 +c0771 +c0872 +c0973 +c0a74 +c0b75 +c0c76 +c0d77 +c0e78 +c0f79 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c1049 +c204a +c304b +c404c +c504d +c604e +c704f +c8050 +c900a +ca052 +cb053 +cc054 +cd055 +ce056 +cf057 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c0127 +c0228 +c0329 +c042a +c052b +c062c +c072d +c082e +c092f +c0a3a +c0b3b +c0c3c +c0d3d +c0e3e +c0f3f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c107d +c207e +c3020 +c4009 +c500a +c600d +c700b +c800c +c9030 +ca031 +cb032 +cc033 +cd034 +ce035 +cf036 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c0167 +c0268 +c0369 +c046a +c056b +c066c +c076d +c086e +c096f +c0a70 +c0b71 +c0c72 +c0d73 +c0e74 +c0f75 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c1045 +c2046 +c3047 +c4048 +c5049 +c604a +c704b +c804c +c904d +ca04e +cb04f +cc050 +cd051 +ce052 +cf053 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c0123 +c0224 +c0325 +c0426 +c0527 +c0628 +c0729 +c082a +c092b +c0a2c +c0b2d +c0c2e +c0d2f +c0e3a +c0f3b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c105f +c2060 +c307b +c407c +c507d +c607e +c7020 +c8009 +c900a +ca00d +cb00b +cc00c +cd030 +ce031 +cf032 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c0163 +c0264 +c0365 +c0466 +c0567 +c0668 +c0769 +c086a +c096b +c0a6c +c0b6d +c0c6e +c0d6f +c0e70 +c0f71 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c1041 +c2042 +c3043 +c4044 +c5045 +c6046 +c7047 +c8048 +c9049 +ca04a +cb04b +cc04c +cd04d +ce04e +cf04f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c0159 +c025a +c0321 +c0422 +c0523 +c0624 +c0725 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0016c +0026d +0036e +0046f +00570 +00671 +00772 +00873 +00974 +00a75 +00b76 +00c77 +00d78 +00e79 +00f7a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0104a +0204b +0304c +0404d +0504e +0604f +07050 +08051 +09052 +0a00a +0b054 +0c055 +0d056 +0e057 +0f058 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +00128 +00229 +0032a +0042b +0052c +0062d +0072e +0082f +0093a +00a3b +00b3c +00c3d +00d3e +00e3f +00f40 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0107e +02020 +03009 +0400a +0500d +0600b +0700c +08030 +09031 +0a032 +0b033 +0c034 +0d035 +0e036 +0f037 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +00168 +00269 +0036a +0046b +0056c +0066d +0076e +0086f +00970 +00a71 +00b72 +00c73 +00d74 +00e75 +00f76 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +01046 +02047 +03048 +04049 +0504a +0604b +0704c +0804d +0904e +0a04f +0b050 +0c051 +0d052 +0e053 +0f054 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +00124 +00225 +00326 +00427 +00528 +00629 +0072a +0082b +0092c +00a2d +00b2e +00c2f +00d3a +00e3b +00f3c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +01060 +0207b +0307c +0407d +0507e +06020 +07009 +0800a +0900d +0a00b +0b00c +0c030 +0d031 +0e032 +0f033 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +00164 +00265 +00366 +00467 +00568 +00669 +0076a +0086b +0096c +00a6d +00b6e +00c6f +00d70 +00e71 +00f72 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +01042 +02043 +03044 +04045 +05046 +06047 +07048 +08049 +0904a +0a04b +0b04c +0c04d +0d04e +0e04f +0f050 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0015a +00221 +00322 +00423 +00524 +00625 +00726 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8016d +8026e +8036f +80470 +80571 +80672 +80773 +80874 +80975 +80a76 +80b77 +80c78 +80d79 +80e7a +80f41 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8104b +8204c +8304d +8404e +8504f +86050 +87051 +88052 +89053 +8a054 +8b00a +8c056 +8d057 +8e058 +8f059 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +80129 +8022a +8032b +8042c +8052d +8062e +8072f +8083a +8093b +80a3c +80b3d +80c3e +80d3f +80e40 +80f5b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +81020 +82009 +8300a +8400d +8500b +8600c +87030 +88031 +89032 +8a033 +8b034 +8c035 +8d036 +8e037 +8f038 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +80169 +8026a +8036b +8046c +8056d +8066e +8076f +80870 +80971 +80a72 +80b73 +80c74 +80d75 +80e76 +80f77 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +81047 +82048 +83049 +8404a +8504b +8604c +8704d +8804e +8904f +8a050 +8b051 +8c052 +8d053 +8e054 +8f055 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +80125 +80226 +80327 +80428 +80529 +8062a +8072b +8082c +8092d +80a2e +80b2f +80c3a +80d3b +80e3c +80f3d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8107b +8207c +8307d +8407e +85020 +86009 +8700a +8800d +8900b +8a00c +8b030 +8c031 +8d032 +8e033 +8f034 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +80165 +80266 +80367 +80468 +80569 +8066a +8076b +8086c +8096d +80a6e +80b6f +80c70 +80d71 +80e72 +80f73 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +81043 +82044 +83045 +84046 +85047 +86048 +87049 +8804a +8904b +8a04c +8b04d +8c04e +8d04f +8e050 +8f051 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +80121 +80222 +80323 +80424 +80525 +80626 +80727 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4016e +4026f +40370 +40471 +40572 +40673 +40774 +40875 +40976 +40a77 +40b78 +40c79 +40d7a +40e41 +40f42 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4104c +4204d +4304e +4404f +45050 +46051 +47052 +48053 +49054 +4a055 +4b056 +4c00a +4d058 +4e059 +4f05a +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4012a +4022b +4032c +4042d +4052e +4062f +4073a +4083b +4093c +40a3d +40b3e +40c3f +40d40 +40e5b +40f5c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +41009 +4200a +4300d +4400b +4500c +46030 +47031 +48032 +49033 +4a034 +4b035 +4c036 +4d037 +4e038 +4f039 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4016a +4026b +4036c +4046d +4056e +4066f +40770 +40871 +40972 +40a73 +40b74 +40c75 +40d76 +40e77 +40f78 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +41048 +42049 +4304a +4404b +4504c +4604d +4704e +4804f +49050 +4a051 +4b052 +4c053 +4d054 +4e055 +4f056 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +40126 +40227 +40328 +40429 +4052a +4062b +4072c +4082d +4092e +40a2f +40b3a +40c3b +40d3c +40e3d +40f3e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4107c +4207d +4307e +44020 +45009 +4600a +4700d +4800b +4900c +4a030 +4b031 +4c032 +4d033 +4e034 +4f035 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +40166 +40267 +40368 +40469 +4056a +4066b +4076c +4086d +4096e +40a6f +40b70 +40c71 +40d72 +40e73 +40f74 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +41044 +42045 +43046 +44047 +45048 +46049 +4704a +4804b +4904c +4a04d +4b04e +4c04f +4d050 +4e051 +4f052 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +40122 +40223 +40324 +40425 +40526 +40627 +40728 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c016f +c0270 +c0371 +c0472 +c0573 +c0674 +c0775 +c0876 +c0977 +c0a78 +c0b79 +c0c7a +c0d41 +c0e42 +c0f43 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c104d +c204e +c304f +c4050 +c5051 +c6052 +c7053 +c8054 +c9055 +ca056 +cb057 +cc058 +cd00a +ce05a +cf021 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c012b +c022c +c032d +c042e +c052f +c063a +c073b +c083c +c093d +c0a3e +c0b3f +c0c40 +c0d5b +c0e5c +c0f5d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c100a +c200d +c300b +c400c +c5030 +c6031 +c7032 +c8033 +c9034 +ca035 +cb036 +cc037 +cd038 +ce039 +cf061 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c016b +c026c +c036d +c046e +c056f +c0670 +c0771 +c0872 +c0973 +c0a74 +c0b75 +c0c76 +c0d77 +c0e78 +c0f79 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c1049 +c204a +c304b +c404c +c504d +c604e +c704f +c8050 +c9051 +ca052 +cb053 +cc054 +cd055 +ce056 +cf057 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c0127 +c0228 +c0329 +c042a +c052b +c062c +c072d +c082e +c092f +c0a3a +c0b3b +c0c3c +c0d3d +c0e3e +c0f3f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c107d +c207e +c3020 +c4009 +c500a +c600d +c700b +c800c +c9030 +ca031 +cb032 +cc033 +cd034 +ce035 +cf036 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c0167 +c0268 +c0369 +c046a +c056b +c066c +c076d +c086e +c096f +c0a70 +c0b71 +c0c72 +c0d73 +c0e74 +c0f75 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c1045 +c2046 +c3047 +c4048 +c5049 +c604a +c704b +c804c +c904d +ca04e +cb04f +cc050 +cd051 +ce052 +cf053 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c0123 +c0224 +c0325 +c0426 +c0527 +c0628 +c0729 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +00170 +00271 +00372 +00473 +00574 +00675 +00776 +00877 +00978 +00a79 +00b7a +00c41 +00d42 +00e43 +00f44 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0104e +0204f +03050 +04051 +05052 +06053 +07054 +08055 +09056 +0a057 +0b058 +0c059 +0d05a +0e00a +0f022 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0012c +0022d +0032e +0042f +0053a +0063b +0073c +0083d +0093e +00a3f +00b40 +00c5b +00d5c +00e5d +00f5e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0100d +0200b +0300c +04030 +05031 +06032 +07033 +08034 +09035 +0a036 +0b037 +0c038 +0d039 +0e061 +0f062 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0016c +0026d +0036e +0046f +00570 +00671 +00772 +00873 +00974 +00a75 +00b76 +00c77 +00d78 +00e79 +00f7a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0104a +0204b +0304c +0404d +0504e +0604f +07050 +08051 +09052 +0a053 +0b054 +0c055 +0d056 +0e057 +0f058 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +00128 +00229 +0032a +0042b +0052c +0062d +0072e +0082f +0093a +00a3b +00b3c +00c3d +00d3e +00e3f +00f40 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0107e +02020 +03009 +0400a +0500d +0600b +0700c +08030 +09031 +0a032 +0b033 +0c034 +0d035 +0e036 +0f037 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +00168 +00269 +0036a +0046b +0056c +0066d +0076e +0086f +00970 +00a71 +00b72 +00c73 +00d74 +00e75 +00f76 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +01046 +02047 +03048 +04049 +0504a +0604b +0704c +0804d +0904e +0a04f +0b050 +0c051 +0d052 +0e053 +0f054 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +00124 +00225 +00326 +00427 +00528 +00629 +0072a +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +80171 +80272 +80373 +80474 +80575 +80676 +80777 +80878 +80979 +80a7a +80b41 +80c42 +80d43 +80e44 +80f45 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8104f +82050 +83051 +84052 +85053 +86054 +87055 +88056 +89057 +8a058 +8b059 +8c05a +8d021 +8e022 +8f00a +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8012d +8022e +8032f +8043a +8053b +8063c +8073d +8083e +8093f +80a40 +80b5b +80c5c +80d5d +80e5e +80f5f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8100b +8200c +83030 +84031 +85032 +86033 +87034 +88035 +89036 +8a037 +8b038 +8c039 +8d061 +8e062 +8f063 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8016d +8026e +8036f +80470 +80571 +80672 +80773 +80874 +80975 +80a76 +80b77 +80c78 +80d79 +80e7a +80f41 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8104b +8204c +8304d +8404e +8504f +86050 +87051 +88052 +89053 +8a054 +8b055 +8c056 +8d057 +8e058 +8f059 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +80129 +8022a +8032b +8042c +8052d +8062e +8072f +8083a +8093b +80a3c +80b3d +80c3e +80d3f +80e40 +80f5b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +81020 +82009 +8300a +8400d +8500b +8600c +87030 +88031 +89032 +8a033 +8b034 +8c035 +8d036 +8e037 +8f038 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +80169 +8026a +8036b +8046c +8056d +8066e +8076f +80870 +80971 +80a72 +80b73 +80c74 +80d75 +80e76 +80f77 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +81047 +82048 +83049 +8404a +8504b +8604c +8704d +8804e +8904f +8a050 +8b051 +8c052 +8d053 +8e054 +8f055 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +80125 +80226 +80327 +80428 +80529 +8062a +8072b +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +40172 +40273 +40374 +40475 +40576 +40677 +40778 +40879 +4097a +40a41 +40b42 +40c43 +40d44 +40e45 +40f46 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +41050 +42051 +43052 +44053 +45054 +46055 +47056 +48057 +49058 +4a059 +4b05a +4c021 +4d022 +4e023 +4f024 +4070a +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4012e +4022f +4033a +4043b +4053c +4063d +4073e +4083f +40940 +40a5b +40b5c +40c5d +40d5e +40e5f +40f60 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4100c +42030 +43031 +44032 +45033 +46034 +47035 +48036 +49037 +4a038 +4b039 +4c061 +4d062 +4e063 +4f064 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4016e +4026f +40370 +40471 +40572 +40673 +40774 +40875 +40976 +40a77 +40b78 +40c79 +40d7a +40e41 +40f42 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4104c +4204d +4304e +4404f +45050 +46051 +47052 +48053 +49054 +4a055 +4b056 +4c057 +4d058 +4e059 +4f05a +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4012a +4022b +4032c +4042d +4052e +4062f +4073a +4083b +4093c +40a3d +40b3e +40c3f +40d40 +40e5b +40f5c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +41009 +4200a +4300d +4400b +4500c +46030 +47031 +48032 +49033 +4a034 +4b035 +4c036 +4d037 +4e038 +4f039 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4016a +4026b +4036c +4046d +4056e +4066f +40770 +40871 +40972 +40a73 +40b74 +40c75 +40d76 +40e77 +40f78 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +41048 +42049 +4304a +4404b +4504c +4604d +4704e +4804f +49050 +4a051 +4b052 +4c053 +4d054 +4e055 +4f056 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +40126 +40227 +40328 +40429 +4052a +4062b +4072c +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c0173 +c0274 +c0375 +c0476 +c0577 +c0678 +c0779 +c087a +c0941 +c0a42 +c0b43 +c0c44 +c0d45 +c0e46 +c0f47 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c1051 +c2052 +c3053 +c4054 +c5055 +c6056 +c7057 +c8058 +c9059 +ca05a +cb021 +cc022 +cd023 +ce024 +cf025 +c0726 +c070a +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c012f +c023a +c033b +c043c +c053d +c063e +c073f +c0840 +c095b +c0a5c +c0b5d +c0c5e +c0d5f +c0e60 +c0f7b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c1030 +c2031 +c3032 +c4033 +c5034 +c6035 +c7036 +c8037 +c9038 +ca039 +cb061 +cc062 +cd063 +ce064 +cf065 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c016f +c0270 +c0371 +c0472 +c0573 +c0674 +c0775 +c0876 +c0977 +c0a78 +c0b79 +c0c7a +c0d41 +c0e42 +c0f43 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c104d +c204e +c304f +c4050 +c5051 +c6052 +c7053 +c8054 +c9055 +ca056 +cb057 +cc058 +cd059 +ce05a +cf021 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c012b +c022c +c032d +c042e +c052f +c063a +c073b +c083c +c093d +c0a3e +c0b3f +c0c40 +c0d5b +c0e5c +c0f5d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c100a +c200d +c300b +c400c +c5030 +c6031 +c7032 +c8033 +c9034 +ca035 +cb036 +cc037 +cd038 +ce039 +cf061 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c016b +c026c +c036d +c046e +c056f +c0670 +c0771 +c0872 +c0973 +c0a74 +c0b75 +c0c76 +c0d77 +c0e78 +c0f79 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c1049 +c204a +c304b +c404c +c504d +c604e +c704f +c8050 +c9051 +ca052 +cb053 +cc054 +cd055 +ce056 +cf057 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c0127 +c0228 +c0329 +c042a +c052b +c062c +c072d +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +00174 +00275 +00376 +00477 +00578 +00679 +0077a +00841 +00942 +00a43 +00b44 +00c45 +00d46 +00e47 +00f48 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +01052 +02053 +03054 +04055 +05056 +06057 +07058 +08059 +0905a +0a021 +0b022 +0c023 +0d024 +0e025 +0f026 +00727 +00728 +0070a +0072a +0072b +0072c +0072d +0072e +0002f +0013a +0023b +0033c +0043d +0053e +0063f +00740 +0085b +0095c +00a5d +00b5e +00c5f +00d60 +00e7b +00f7c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +01031 +02032 +03033 +04034 +05035 +06036 +07037 +08038 +09039 +0a061 +0b062 +0c063 +0d064 +0e065 +0f066 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +00170 +00271 +00372 +00473 +00574 +00675 +00776 +00877 +00978 +00a79 +00b7a +00c41 +00d42 +00e43 +00f44 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0104e +0204f +03050 +04051 +05052 +06053 +07054 +08055 +09056 +0a057 +0b058 +0c059 +0d05a +0e021 +0f022 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0012c +0022d +0032e +0042f +0053a +0063b +0073c +0083d +0093e +00a3f +00b40 +00c5b +00d5c +00e5d +00f5e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0100d +0200b +0300c +04030 +05031 +06032 +07033 +08034 +09035 +0a036 +0b037 +0c038 +0d039 +0e061 +0f062 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0016c +0026d +0036e +0046f +00570 +00671 +00772 +00873 +00974 +00a75 +00b76 +00c77 +00d78 +00e79 +00f7a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0104a +0204b +0304c +0404d +0504e +0604f +07050 +08051 +09052 +0a053 +0b054 +0c055 +0d056 +0e057 +0f058 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +00128 +00229 +0032a +0042b +0052c +0062d +0072e +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +80175 +80276 +80377 +80478 +80579 +8067a +80741 +80842 +80943 +80a44 +80b45 +80c46 +80d47 +80e48 +80f49 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +81053 +82054 +83055 +84056 +85057 +86058 +87059 +8805a +89021 +8a022 +8b023 +8c024 +8d025 +8e026 +8f027 +80728 +80729 +8072a +8070a +8072c +8072d +8072e +8072f +8003a +8013b +8023c +8033d +8043e +8053f +80640 +8075b +8085c +8095d +80a5e +80b5f +80c60 +80d7b +80e7c +80f7d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +81032 +82033 +83034 +84035 +85036 +86037 +87038 +88039 +89061 +8a062 +8b063 +8c064 +8d065 +8e066 +8f067 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +80171 +80272 +80373 +80474 +80575 +80676 +80777 +80878 +80979 +80a7a +80b41 +80c42 +80d43 +80e44 +80f45 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8104f +82050 +83051 +84052 +85053 +86054 +87055 +88056 +89057 +8a058 +8b059 +8c05a +8d021 +8e022 +8f023 +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8012d +8022e +8032f +8043a +8053b +8063c +8073d +8083e +8093f +80a40 +80b5b +80c5c +80d5d +80e5e +80f5f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8100b +8200c +83030 +84031 +85032 +86033 +87034 +88035 +89036 +8a037 +8b038 +8c039 +8d061 +8e062 +8f063 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8016d +8026e +8036f +80470 +80571 +80672 +80773 +80874 +80975 +80a76 +80b77 +80c78 +80d79 +80e7a +80f41 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8104b +8204c +8304d +8404e +8504f +86050 +87051 +88052 +89053 +8a054 +8b055 +8c056 +8d057 +8e058 +8f059 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +80129 +8022a +8032b +8042c +8052d +8062e +8072f +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +40176 +40277 +40378 +40479 +4057a +40641 +40742 +40843 +40944 +40a45 +40b46 +40c47 +40d48 +40e49 +40f4a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +41054 +42055 +43056 +44057 +45058 +46059 +4705a +48021 +49022 +4a023 +4b024 +4c025 +4d026 +4e027 +4f028 +40729 +4072a +4072b +4072c +4070a +4072e +4072f +4073a +4003b +4013c +4023d +4033e +4043f +40540 +4065b +4075c +4085d +4095e +40a5f +40b60 +40c7b +40d7c +40e7d +40f7e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +41033 +42034 +43035 +44036 +45037 +46038 +47039 +48061 +49062 +4a063 +4b064 +4c065 +4d066 +4e067 +4f068 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +40172 +40273 +40374 +40475 +40576 +40677 +40778 +40879 +4097a +40a41 +40b42 +40c43 +40d44 +40e45 +40f46 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +41050 +42051 +43052 +44053 +45054 +46055 +47056 +48057 +49058 +4a059 +4b05a +4c021 +4d022 +4e023 +4f024 +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4012e +4022f +4033a +4043b +4053c +4063d +4073e +4083f +40940 +40a5b +40b5c +40c5d +40d5e +40e5f +40f60 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4100c +42030 +43031 +44032 +45033 +46034 +47035 +48036 +49037 +4a038 +4b039 +4c061 +4d062 +4e063 +4f064 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4016e +4026f +40370 +40471 +40572 +40673 +40774 +40875 +40976 +40a77 +40b78 +40c79 +40d7a +40e41 +40f42 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4104c +4204d +4304e +4404f +45050 +46051 +47052 +48053 +49054 +4a055 +4b056 +4c057 +4d058 +4e059 +4f05a +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4012a +4022b +4032c +4042d +4052e +4062f +4073a +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c0177 +c0278 +c0379 +c047a +c0541 +c0642 +c0743 +c0844 +c0945 +c0a46 +c0b47 +c0c48 +c0d49 +c0e4a +c0f4b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c1055 +c2056 +c3057 +c4058 +c5059 +c605a +c7021 +c8022 +c9023 +ca024 +cb025 +cc026 +cd027 +ce028 +cf029 +c072a +c072b +c072c +c072d +c072e +c070a +c073a +c073b +c003c +c013d +c023e +c033f +c0440 +c055b +c065c +c075d +c085e +c095f +c0a60 +c0b7b +c0c7c +c0d7d +c0e7e +c0f20 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c1034 +c2035 +c3036 +c4037 +c5038 +c6039 +c7061 +c8062 +c9063 +ca064 +cb065 +cc066 +cd067 +ce068 +cf069 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c0173 +c0274 +c0375 +c0476 +c0577 +c0678 +c0779 +c087a +c0941 +c0a42 +c0b43 +c0c44 +c0d45 +c0e46 +c0f47 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c1051 +c2052 +c3053 +c4054 +c5055 +c6056 +c7057 +c8058 +c9059 +ca05a +cb021 +cc022 +cd023 +ce024 +cf025 +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c012f +c023a +c033b +c043c +c053d +c063e +c073f +c0840 +c095b +c0a5c +c0b5d +c0c5e +c0d5f +c0e60 +c0f7b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c1030 +c2031 +c3032 +c4033 +c5034 +c6035 +c7036 +c8037 +c9038 +ca039 +cb061 +cc062 +cd063 +ce064 +cf065 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c016f +c0270 +c0371 +c0472 +c0573 +c0674 +c0775 +c0876 +c0977 +c0a78 +c0b79 +c0c7a +c0d41 +c0e42 +c0f43 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c104d +c204e +c304f +c4050 +c5051 +c6052 +c7053 +c8054 +c9055 +ca056 +cb057 +cc058 +cd059 +ce05a +cf021 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c012b +c022c +c032d +c042e +c052f +c063a +c073b +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +00178 +00279 +0037a +00441 +00542 +00643 +00744 +00845 +00946 +00a47 +00b48 +00c49 +00d4a +00e4b +00f4c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +01056 +02057 +03058 +04059 +0505a +06021 +07022 +08023 +09024 +0a025 +0b026 +0c027 +0d028 +0e029 +0f02a +0072b +0072c +0072d +0072e +0072f +0073a +0070a +0073c +0003d +0013e +0023f +00340 +0045b +0055c +0065d +0075e +0085f +00960 +00a7b +00b7c +00c7d +00d7e +00e20 +00f09 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +01035 +02036 +03037 +04038 +05039 +06061 +07062 +08063 +09064 +0a065 +0b066 +0c067 +0d068 +0e069 +0f06a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +00174 +00275 +00376 +00477 +00578 +00679 +0077a +00841 +00942 +00a43 +00b44 +00c45 +00d46 +00e47 +00f48 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +01052 +02053 +03054 +04055 +05056 +06057 +07058 +08059 +0905a +0a021 +0b022 +0c023 +0d024 +0e025 +0f026 +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0013a +0023b +0033c +0043d +0053e +0063f +00740 +0085b +0095c +00a5d +00b5e +00c5f +00d60 +00e7b +00f7c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +01031 +02032 +03033 +04034 +05035 +06036 +07037 +08038 +09039 +0a061 +0b062 +0c063 +0d064 +0e065 +0f066 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +00170 +00271 +00372 +00473 +00574 +00675 +00776 +00877 +00978 +00a79 +00b7a +00c41 +00d42 +00e43 +00f44 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0104e +0204f +03050 +04051 +05052 +06053 +07054 +08055 +09056 +0a057 +0b058 +0c059 +0d05a +0e021 +0f022 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0012c +0022d +0032e +0042f +0053a +0063b +0073c +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +80179 +8027a +80341 +80442 +80543 +80644 +80745 +80846 +80947 +80a48 +80b49 +80c4a +80d4b +80e4c +80f4d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +81057 +82058 +83059 +8405a +85021 +86022 +87023 +88024 +89025 +8a026 +8b027 +8c028 +8d029 +8e02a +8f02b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8070a +8003e +8013f +80240 +8035b +8045c +8055d +8065e +8075f +80860 +8097b +80a7c +80b7d +80c7e +80d20 +80e09 +80f0a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +81036 +82037 +83038 +84039 +85061 +86062 +87063 +88064 +89065 +8a066 +8b067 +8c068 +8d069 +8e06a +8f06b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +80175 +80276 +80377 +80478 +80579 +8067a +80741 +80842 +80943 +80a44 +80b45 +80c46 +80d47 +80e48 +80f49 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +81053 +82054 +83055 +84056 +85057 +86058 +87059 +8805a +89021 +8a022 +8b023 +8c024 +8d025 +8e026 +8f027 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8013b +8023c +8033d +8043e +8053f +80640 +8075b +8085c +8095d +80a5e +80b5f +80c60 +80d7b +80e7c +80f7d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +81032 +82033 +83034 +84035 +85036 +86037 +87038 +88039 +89061 +8a062 +8b063 +8c064 +8d065 +8e066 +8f067 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +80171 +80272 +80373 +80474 +80575 +80676 +80777 +80878 +80979 +80a7a +80b41 +80c42 +80d43 +80e44 +80f45 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8104f +82050 +83051 +84052 +85053 +86054 +87055 +88056 +89057 +8a058 +8b059 +8c05a +8d021 +8e022 +8f023 +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8012d +8022e +8032f +8043a +8053b +8063c +8073d +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4017a +40241 +40342 +40443 +40544 +40645 +40746 +40847 +40948 +40a49 +40b4a +40c4b +40d4c +40e4d +40f4e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +41058 +42059 +4305a +44021 +45022 +46023 +47024 +48025 +49026 +4a027 +4b028 +4c029 +4d02a +4e02b +4f02c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4000a +40140 +4025b +4035c +4045d +4055e +4065f +40760 +4087b +4097c +40a7d +40b7e +40c20 +40d09 +40e0a +40f0d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +41037 +42038 +43039 +44061 +45062 +46063 +47064 +48065 +49066 +4a067 +4b068 +4c069 +4d06a +4e06b +4f06c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +40176 +40277 +40378 +40479 +4057a +40641 +40742 +40843 +40944 +40a45 +40b46 +40c47 +40d48 +40e49 +40f4a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +41054 +42055 +43056 +44057 +45058 +46059 +4705a +48021 +49022 +4a023 +4b024 +4c025 +4d026 +4e027 +4f028 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4013c +4023d +4033e +4043f +40540 +4065b +4075c +4085d +4095e +40a5f +40b60 +40c7b +40d7c +40e7d +40f7e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +41033 +42034 +43035 +44036 +45037 +46038 +47039 +48061 +49062 +4a063 +4b064 +4c065 +4d066 +4e067 +4f068 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +40172 +40273 +40374 +40475 +40576 +40677 +40778 +40879 +4097a +40a41 +40b42 +40c43 +40d44 +40e45 +40f46 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +41050 +42051 +43052 +44053 +45054 +46055 +47056 +48057 +49058 +4a059 +4b05a +4c021 +4d022 +4e023 +4f024 +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4012e +4022f +4033a +4043b +4053c +4063d +4073e +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c0141 +c0242 +c0343 +c0444 +c0545 +c0646 +c0747 +c0848 +c0949 +c0a4a +c0b4b +c0c4c +c0d4d +c0e4e +c0f4f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c1059 +c205a +c3021 +c4022 +c5023 +c6024 +c7025 +c8026 +c9027 +ca028 +cb029 +cc02a +cd02b +ce02c +cf02d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c010a +c025c +c035d +c045e +c055f +c0660 +c077b +c087c +c097d +c0a7e +c0b20 +c0c09 +c0d0a +c0e0d +c0f0b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c1038 +c2039 +c3061 +c4062 +c5063 +c6064 +c7065 +c8066 +c9067 +ca068 +cb069 +cc06a +cd06b +ce06c +cf06d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c0177 +c0278 +c0379 +c047a +c0541 +c0642 +c0743 +c0844 +c0945 +c0a46 +c0b47 +c0c48 +c0d49 +c0e4a +c0f4b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c1055 +c2056 +c3057 +c4058 +c5059 +c605a +c7021 +c8022 +c9023 +ca024 +cb025 +cc026 +cd027 +ce028 +cf029 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c013d +c023e +c033f +c0440 +c055b +c065c +c075d +c085e +c095f +c0a60 +c0b7b +c0c7c +c0d7d +c0e7e +c0f20 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c1034 +c2035 +c3036 +c4037 +c5038 +c6039 +c7061 +c8062 +c9063 +ca064 +cb065 +cc066 +cd067 +ce068 +cf069 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c0173 +c0274 +c0375 +c0476 +c0577 +c0678 +c0779 +c087a +c0941 +c0a42 +c0b43 +c0c44 +c0d45 +c0e46 +c0f47 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c1051 +c2052 +c3053 +c4054 +c5055 +c6056 +c7057 +c8058 +c9059 +ca05a +cb021 +cc022 +cd023 +ce024 +cf025 +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c012f +c023a +c033b +c043c +c053d +c063e +c073f +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +00142 +00243 +00344 +00445 +00546 +00647 +00748 +00849 +0094a +00a4b +00b4c +00c4d +00d4e +00e4f +00f50 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0105a +02021 +03022 +04023 +05024 +06025 +07026 +08027 +09028 +0a029 +0b02a +0c02b +0d02c +0e02d +0f02e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0015c +0020a +0035e +0045f +00560 +0067b +0077c +0087d +0097e +00a20 +00b09 +00c0a +00d0d +00e0b +00f0c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +01039 +02061 +03062 +04063 +05064 +06065 +07066 +08067 +09068 +0a069 +0b06a +0c06b +0d06c +0e06d +0f06e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +00178 +00279 +0037a +00441 +00542 +00643 +00744 +00845 +00946 +00a47 +00b48 +00c49 +00d4a +00e4b +00f4c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +01056 +02057 +03058 +04059 +0505a +06021 +07022 +08023 +09024 +0a025 +0b026 +0c027 +0d028 +0e029 +0f02a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0013e +0023f +00340 +0045b +0055c +0065d +0075e +0085f +00960 +00a7b +00b7c +00c7d +00d7e +00e20 +00f09 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +01035 +02036 +03037 +04038 +05039 +06061 +07062 +08063 +09064 +0a065 +0b066 +0c067 +0d068 +0e069 +0f06a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +00174 +00275 +00376 +00477 +00578 +00679 +0077a +00841 +00942 +00a43 +00b44 +00c45 +00d46 +00e47 +00f48 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +01052 +02053 +03054 +04055 +05056 +06057 +07058 +08059 +0905a +0a021 +0b022 +0c023 +0d024 +0e025 +0f026 +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0013a +0023b +0033c +0043d +0053e +0063f +00740 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +80143 +80244 +80345 +80446 +80547 +80648 +80749 +8084a +8094b +80a4c +80b4d +80c4e +80d4f +80e50 +80f51 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +81021 +82022 +83023 +84024 +85025 +86026 +87027 +88028 +89029 +8a02a +8b02b +8c02c +8d02d +8e02e +8f02f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8015d +8025e +8030a +80460 +8057b +8067c +8077d +8087e +80920 +80a09 +80b0a +80c0d +80d0b +80e0c +80f30 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +81061 +82062 +83063 +84064 +85065 +86066 +87067 +88068 +89069 +8a06a +8b06b +8c06c +8d06d +8e06e +8f06f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +80179 +8027a +80341 +80442 +80543 +80644 +80745 +80846 +80947 +80a48 +80b49 +80c4a +80d4b +80e4c +80f4d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +81057 +82058 +83059 +8405a +85021 +86022 +87023 +88024 +89025 +8a026 +8b027 +8c028 +8d029 +8e02a +8f02b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8013f +80240 +8035b +8045c +8055d +8065e +8075f +80860 +8097b +80a7c +80b7d +80c7e +80d20 +80e09 +80f0a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +81036 +82037 +83038 +84039 +85061 +86062 +87063 +88064 +89065 +8a066 +8b067 +8c068 +8d069 +8e06a +8f06b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +80175 +80276 +80377 +80478 +80579 +8067a +80741 +80842 +80943 +80a44 +80b45 +80c46 +80d47 +80e48 +80f49 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +81053 +82054 +83055 +84056 +85057 +86058 +87059 +8805a +89021 +8a022 +8b023 +8c024 +8d025 +8e026 +8f027 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8013b +8023c +8033d +8043e +8053f +80640 +8075b +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +40144 +40245 +40346 +40447 +40548 +40649 +4074a +4084b +4094c +40a4d +40b4e +40c4f +40d50 +40e51 +40f52 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +41022 +42023 +43024 +44025 +45026 +46027 +47028 +48029 +4902a +4a02b +4b02c +4c02d +4d02e +4e02f +4f03a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4015e +4025f +40360 +4040a +4057c +4067d +4077e +40820 +40909 +40a0a +40b0d +40c0b +40d0c +40e30 +40f31 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +41062 +42063 +43064 +44065 +45066 +46067 +47068 +48069 +4906a +4a06b +4b06c +4c06d +4d06e +4e06f +4f070 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4017a +40241 +40342 +40443 +40544 +40645 +40746 +40847 +40948 +40a49 +40b4a +40c4b +40d4c +40e4d +40f4e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +41058 +42059 +4305a +44021 +45022 +46023 +47024 +48025 +49026 +4a027 +4b028 +4c029 +4d02a +4e02b +4f02c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +40140 +4025b +4035c +4045d +4055e +4065f +40760 +4087b +4097c +40a7d +40b7e +40c20 +40d09 +40e0a +40f0d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +41037 +42038 +43039 +44061 +45062 +46063 +47064 +48065 +49066 +4a067 +4b068 +4c069 +4d06a +4e06b +4f06c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +40176 +40277 +40378 +40479 +4057a +40641 +40742 +40843 +40944 +40a45 +40b46 +40c47 +40d48 +40e49 +40f4a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +41054 +42055 +43056 +44057 +45058 +46059 +4705a +48021 +49022 +4a023 +4b024 +4c025 +4d026 +4e027 +4f028 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4013c +4023d +4033e +4043f +40540 +4065b +4075c +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c0145 +c0246 +c0347 +c0448 +c0549 +c064a +c074b +c084c +c094d +c0a4e +c0b4f +c0c50 +c0d51 +c0e52 +c0f53 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c1023 +c2024 +c3025 +c4026 +c5027 +c6028 +c7029 +c802a +c902b +ca02c +cb02d +cc02e +cd02f +ce03a +cf03b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c015f +c0260 +c037b +c047c +c050a +c067e +c0720 +c0809 +c090a +c0a0d +c0b0b +c0c0c +c0d30 +c0e31 +c0f32 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c1063 +c2064 +c3065 +c4066 +c5067 +c6068 +c7069 +c806a +c906b +ca06c +cb06d +cc06e +cd06f +ce070 +cf071 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c0141 +c0242 +c0343 +c0444 +c0545 +c0646 +c0747 +c0848 +c0949 +c0a4a +c0b4b +c0c4c +c0d4d +c0e4e +c0f4f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c1059 +c205a +c3021 +c4022 +c5023 +c6024 +c7025 +c8026 +c9027 +ca028 +cb029 +cc02a +cd02b +ce02c +cf02d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c015b +c025c +c035d +c045e +c055f +c0660 +c077b +c087c +c097d +c0a7e +c0b20 +c0c09 +c0d0a +c0e0d +c0f0b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c1038 +c2039 +c3061 +c4062 +c5063 +c6064 +c7065 +c8066 +c9067 +ca068 +cb069 +cc06a +cd06b +ce06c +cf06d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c0177 +c0278 +c0379 +c047a +c0541 +c0642 +c0743 +c0844 +c0945 +c0a46 +c0b47 +c0c48 +c0d49 +c0e4a +c0f4b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c1055 +c2056 +c3057 +c4058 +c5059 +c605a +c7021 +c8022 +c9023 +ca024 +cb025 +cc026 +cd027 +ce028 +cf029 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c013d +c023e +c033f +c0440 +c055b +c065c +c075d +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +00146 +00247 +00348 +00449 +0054a +0064b +0074c +0084d +0094e +00a4f +00b50 +00c51 +00d52 +00e53 +00f54 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +01024 +02025 +03026 +04027 +05028 +06029 +0702a +0802b +0902c +0a02d +0b02e +0c02f +0d03a +0e03b +0f03c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +00160 +0027b +0037c +0047d +0057e +0060a +00709 +0080a +0090d +00a0b +00b0c +00c30 +00d31 +00e32 +00f33 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +01064 +02065 +03066 +04067 +05068 +06069 +0706a +0806b +0906c +0a06d +0b06e +0c06f +0d070 +0e071 +0f072 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +00142 +00243 +00344 +00445 +00546 +00647 +00748 +00849 +0094a +00a4b +00b4c +00c4d +00d4e +00e4f +00f50 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0105a +02021 +03022 +04023 +05024 +06025 +07026 +08027 +09028 +0a029 +0b02a +0c02b +0d02c +0e02d +0f02e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0015c +0025d +0035e +0045f +00560 +0067b +0077c +0087d +0097e +00a20 +00b09 +00c0a +00d0d +00e0b +00f0c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +01039 +02061 +03062 +04063 +05064 +06065 +07066 +08067 +09068 +0a069 +0b06a +0c06b +0d06c +0e06d +0f06e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +00178 +00279 +0037a +00441 +00542 +00643 +00744 +00845 +00946 +00a47 +00b48 +00c49 +00d4a +00e4b +00f4c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +01056 +02057 +03058 +04059 +0505a +06021 +07022 +08023 +09024 +0a025 +0b026 +0c027 +0d028 +0e029 +0f02a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0013e +0023f +00340 +0045b +0055c +0065d +0075e +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +80147 +80248 +80349 +8044a +8054b +8064c +8074d +8084e +8094f +80a50 +80b51 +80c52 +80d53 +80e54 +80f55 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +81025 +82026 +83027 +84028 +85029 +8602a +8702b +8802c +8902d +8a02e +8b02f +8c03a +8d03b +8e03c +8f03d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8017b +8027c +8037d +8047e +80520 +80609 +8070a +8080d +8090b +80a0c +80b30 +80c31 +80d32 +80e33 +80f34 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +81065 +82066 +83067 +84068 +85069 +8606a +8706b +8806c +8906d +8a06e +8b06f +8c070 +8d071 +8e072 +8f073 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +80143 +80244 +80345 +80446 +80547 +80648 +80749 +8084a +8094b +80a4c +80b4d +80c4e +80d4f +80e50 +80f51 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +81021 +82022 +83023 +84024 +85025 +86026 +87027 +88028 +89029 +8a02a +8b02b +8c02c +8d02d +8e02e +8f02f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8015d +8025e +8035f +80460 +8057b +8067c +8077d +8087e +80920 +80a09 +80b0a +80c0d +80d0b +80e0c +80f30 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +81061 +82062 +83063 +84064 +85065 +86066 +87067 +88068 +89069 +8a06a +8b06b +8c06c +8d06d +8e06e +8f06f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +80179 +8027a +80341 +80442 +80543 +80644 +80745 +80846 +80947 +80a48 +80b49 +80c4a +80d4b +80e4c +80f4d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +81057 +82058 +83059 +8405a +85021 +86022 +87023 +88024 +89025 +8a026 +8b027 +8c028 +8d029 +8e02a +8f02b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8013f +80240 +8035b +8045c +8055d +8065e +8075f +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +40148 +40249 +4034a +4044b +4054c +4064d +4074e +4084f +40950 +40a51 +40b52 +40c53 +40d54 +40e55 +40f56 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +41026 +42027 +43028 +44029 +4502a +4602b +4702c +4802d +4902e +4a02f +4b03a +4c03b +4d03c +4e03d +4f03e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4017c +4027d +4037e +40420 +40509 +4060a +4070d +4080a +4090c +40a30 +40b31 +40c32 +40d33 +40e34 +40f35 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +41066 +42067 +43068 +44069 +4506a +4606b +4706c +4806d +4906e +4a06f +4b070 +4c071 +4d072 +4e073 +4f074 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +40144 +40245 +40346 +40447 +40548 +40649 +4074a +4084b +4094c +40a4d +40b4e +40c4f +40d50 +40e51 +40f52 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +41022 +42023 +43024 +44025 +45026 +46027 +47028 +48029 +4902a +4a02b +4b02c +4c02d +4d02e +4e02f +4f03a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4015e +4025f +40360 +4047b +4057c +4067d +4077e +40820 +40909 +40a0a +40b0d +40c0b +40d0c +40e30 +40f31 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +41062 +42063 +43064 +44065 +45066 +46067 +47068 +48069 +4906a +4a06b +4b06c +4c06d +4d06e +4e06f +4f070 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4017a +40241 +40342 +40443 +40544 +40645 +40746 +40847 +40948 +40a49 +40b4a +40c4b +40d4c +40e4d +40f4e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +41058 +42059 +4305a +44021 +45022 +46023 +47024 +48025 +49026 +4a027 +4b028 +4c029 +4d02a +4e02b +4f02c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +40140 +4025b +4035c +4045d +4055e +4065f +40760 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c0149 +c024a +c034b +c044c +c054d +c064e +c074f +c0850 +c0951 +c0a52 +c0b53 +c0c54 +c0d55 +c0e56 +c0f57 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c1027 +c2028 +c3029 +c402a +c502b +c602c +c702d +c802e +c902f +ca03a +cb03b +cc03c +cd03d +ce03e +cf03f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c017d +c027e +c0320 +c0409 +c050a +c060d +c070b +c080c +c090a +c0a31 +c0b32 +c0c33 +c0d34 +c0e35 +c0f36 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c1067 +c2068 +c3069 +c406a +c506b +c606c +c706d +c806e +c906f +ca070 +cb071 +cc072 +cd073 +ce074 +cf075 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c0145 +c0246 +c0347 +c0448 +c0549 +c064a +c074b +c084c +c094d +c0a4e +c0b4f +c0c50 +c0d51 +c0e52 +c0f53 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c1023 +c2024 +c3025 +c4026 +c5027 +c6028 +c7029 +c802a +c902b +ca02c +cb02d +cc02e +cd02f +ce03a +cf03b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c015f +c0260 +c037b +c047c +c057d +c067e +c0720 +c0809 +c090a +c0a0d +c0b0b +c0c0c +c0d30 +c0e31 +c0f32 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c1063 +c2064 +c3065 +c4066 +c5067 +c6068 +c7069 +c806a +c906b +ca06c +cb06d +cc06e +cd06f +ce070 +cf071 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c0141 +c0242 +c0343 +c0444 +c0545 +c0646 +c0747 +c0848 +c0949 +c0a4a +c0b4b +c0c4c +c0d4d +c0e4e +c0f4f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c1059 +c205a +c3021 +c4022 +c5023 +c6024 +c7025 +c8026 +c9027 +ca028 +cb029 +cc02a +cd02b +ce02c +cf02d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c015b +c025c +c035d +c045e +c055f +c0660 +c077b +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0014a +0024b +0034c +0044d +0054e +0064f +00750 +00851 +00952 +00a53 +00b54 +00c55 +00d56 +00e57 +00f58 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +01028 +02029 +0302a +0402b +0502c +0602d +0702e +0802f +0903a +0a03b +0b03c +0c03d +0d03e +0e03f +0f040 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0017e +00220 +00309 +0040a +0050d +0060b +0070c +00830 +00931 +00a0a +00b33 +00c34 +00d35 +00e36 +00f37 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +01068 +02069 +0306a +0406b +0506c +0606d +0706e +0806f +09070 +0a071 +0b072 +0c073 +0d074 +0e075 +0f076 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +00146 +00247 +00348 +00449 +0054a +0064b +0074c +0084d +0094e +00a4f +00b50 +00c51 +00d52 +00e53 +00f54 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +01024 +02025 +03026 +04027 +05028 +06029 +0702a +0802b +0902c +0a02d +0b02e +0c02f +0d03a +0e03b +0f03c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +00160 +0027b +0037c +0047d +0057e +00620 +00709 +0080a +0090d +00a0b +00b0c +00c30 +00d31 +00e32 +00f33 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +01064 +02065 +03066 +04067 +05068 +06069 +0706a +0806b +0906c +0a06d +0b06e +0c06f +0d070 +0e071 +0f072 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +00142 +00243 +00344 +00445 +00546 +00647 +00748 +00849 +0094a +00a4b +00b4c +00c4d +00d4e +00e4f +00f50 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0105a +02021 +03022 +04023 +05024 +06025 +07026 +08027 +09028 +0a029 +0b02a +0c02b +0d02c +0e02d +0f02e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0015c +0025d +0035e +0045f +00560 +0067b +0077c +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8014b +8024c +8034d +8044e +8054f +80650 +80751 +80852 +80953 +80a54 +80b55 +80c56 +80d57 +80e58 +80f59 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +81029 +8202a +8302b +8402c +8502d +8602e +8702f +8803a +8903b +8a03c +8b03d +8c03e +8d03f +8e040 +8f05b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +80120 +80209 +8030a +8040d +8050b +8060c +80730 +80831 +80932 +80a33 +80b0a +80c35 +80d36 +80e37 +80f38 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +81069 +8206a +8306b +8406c +8506d +8606e +8706f +88070 +89071 +8a072 +8b073 +8c074 +8d075 +8e076 +8f077 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +80147 +80248 +80349 +8044a +8054b +8064c +8074d +8084e +8094f +80a50 +80b51 +80c52 +80d53 +80e54 +80f55 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +81025 +82026 +83027 +84028 +85029 +8602a +8702b +8802c +8902d +8a02e +8b02f +8c03a +8d03b +8e03c +8f03d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8017b +8027c +8037d +8047e +80520 +80609 +8070a +8080d +8090b +80a0c +80b30 +80c31 +80d32 +80e33 +80f34 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +81065 +82066 +83067 +84068 +85069 +8606a +8706b +8806c +8906d +8a06e +8b06f +8c070 +8d071 +8e072 +8f073 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +80143 +80244 +80345 +80446 +80547 +80648 +80749 +8084a +8094b +80a4c +80b4d +80c4e +80d4f +80e50 +80f51 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +81021 +82022 +83023 +84024 +85025 +86026 +87027 +88028 +89029 +8a02a +8b02b +8c02c +8d02d +8e02e +8f02f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8015d +8025e +8035f +80460 +8057b +8067c +8077d +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4014c +4024d +4034e +4044f +40550 +40651 +40752 +40853 +40954 +40a55 +40b56 +40c57 +40d58 +40e59 +40f5a +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4102a +4202b +4302c +4402d +4502e +4602f +4703a +4803b +4903c +4a03d +4b03e +4c03f +4d040 +4e05b +4f05c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +40109 +4020a +4030d +4040b +4050c +40630 +40731 +40832 +40933 +40a34 +40b35 +40c0a +40d37 +40e38 +40f39 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4106a +4206b +4306c +4406d +4506e +4606f +47070 +48071 +49072 +4a073 +4b074 +4c075 +4d076 +4e077 +4f078 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +40148 +40249 +4034a +4044b +4054c +4064d +4074e +4084f +40950 +40a51 +40b52 +40c53 +40d54 +40e55 +40f56 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +41026 +42027 +43028 +44029 +4502a +4602b +4702c +4802d +4902e +4a02f +4b03a +4c03b +4d03c +4e03d +4f03e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4017c +4027d +4037e +40420 +40509 +4060a +4070d +4080b +4090c +40a30 +40b31 +40c32 +40d33 +40e34 +40f35 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +41066 +42067 +43068 +44069 +4506a +4606b +4706c +4806d +4906e +4a06f +4b070 +4c071 +4d072 +4e073 +4f074 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +40144 +40245 +40346 +40447 +40548 +40649 +4074a +4084b +4094c +40a4d +40b4e +40c4f +40d50 +40e51 +40f52 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +41022 +42023 +43024 +44025 +45026 +46027 +47028 +48029 +4902a +4a02b +4b02c +4c02d +4d02e +4e02f +4f03a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4015e +4025f +40360 +4047b +4057c +4067d +4077e +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c014d +c024e +c034f +c0450 +c0551 +c0652 +c0753 +c0854 +c0955 +c0a56 +c0b57 +c0c58 +c0d59 +c0e5a +c0f21 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c102b +c202c +c302d +c402e +c502f +c603a +c703b +c803c +c903d +ca03e +cb03f +cc040 +cd05b +ce05c +cf05d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c010a +c020d +c030b +c040c +c0530 +c0631 +c0732 +c0833 +c0934 +c0a35 +c0b36 +c0c37 +c0d0a +c0e39 +c0f61 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c106b +c206c +c306d +c406e +c506f +c6070 +c7071 +c8072 +c9073 +ca074 +cb075 +cc076 +cd077 +ce078 +cf079 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c0149 +c024a +c034b +c044c +c054d +c064e +c074f +c0850 +c0951 +c0a52 +c0b53 +c0c54 +c0d55 +c0e56 +c0f57 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c1027 +c2028 +c3029 +c402a +c502b +c602c +c702d +c802e +c902f +ca03a +cb03b +cc03c +cd03d +ce03e +cf03f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c017d +c027e +c0320 +c0409 +c050a +c060d +c070b +c080c +c0930 +c0a31 +c0b32 +c0c33 +c0d34 +c0e35 +c0f36 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c1067 +c2068 +c3069 +c406a +c506b +c606c +c706d +c806e +c906f +ca070 +cb071 +cc072 +cd073 +ce074 +cf075 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c0145 +c0246 +c0347 +c0448 +c0549 +c064a +c074b +c084c +c094d +c0a4e +c0b4f +c0c50 +c0d51 +c0e52 +c0f53 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c1023 +c2024 +c3025 +c4026 +c5027 +c6028 +c7029 +c802a +c902b +ca02c +cb02d +cc02e +cd02f +ce03a +cf03b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c015f +c0260 +c037b +c047c +c057d +c067e +c0720 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0014e +0024f +00350 +00451 +00552 +00653 +00754 +00855 +00956 +00a57 +00b58 +00c59 +00d5a +00e21 +00f22 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0102c +0202d +0302e +0402f +0503a +0603b +0703c +0803d +0903e +0a03f +0b040 +0c05b +0d05c +0e05d +0f05e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0010d +0020b +0030c +00430 +00531 +00632 +00733 +00834 +00935 +00a36 +00b37 +00c38 +00d39 +00e0a +00f62 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0106c +0206d +0306e +0406f +05070 +06071 +07072 +08073 +09074 +0a075 +0b076 +0c077 +0d078 +0e079 +0f07a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0014a +0024b +0034c +0044d +0054e +0064f +00750 +00851 +00952 +00a53 +00b54 +00c55 +00d56 +00e57 +00f58 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +01028 +02029 +0302a +0402b +0502c +0602d +0702e +0802f +0903a +0a03b +0b03c +0c03d +0d03e +0e03f +0f040 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0017e +00220 +00309 +0040a +0050d +0060b +0070c +00830 +00931 +00a32 +00b33 +00c34 +00d35 +00e36 +00f37 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +01068 +02069 +0306a +0406b +0506c +0606d +0706e +0806f +09070 +0a071 +0b072 +0c073 +0d074 +0e075 +0f076 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +00146 +00247 +00348 +00449 +0054a +0064b +0074c +0084d +0094e +00a4f +00b50 +00c51 +00d52 +00e53 +00f54 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +01024 +02025 +03026 +04027 +05028 +06029 +0702a +0802b +0902c +0a02d +0b02e +0c02f +0d03a +0e03b +0f03c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +00160 +0027b +0037c +0047d +0057e +00620 +00709 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8014f +80250 +80351 +80452 +80553 +80654 +80755 +80856 +80957 +80a58 +80b59 +80c5a +80d21 +80e22 +80f23 +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8102d +8202e +8302f +8403a +8503b +8603c +8703d +8803e +8903f +8a040 +8b05b +8c05c +8d05d +8e05e +8f05f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8010b +8020c +80330 +80431 +80532 +80633 +80734 +80835 +80936 +80a37 +80b38 +80c39 +80d61 +80e62 +80f0a +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8106d +8206e +8306f +84070 +85071 +86072 +87073 +88074 +89075 +8a076 +8b077 +8c078 +8d079 +8e07a +8f041 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8014b +8024c +8034d +8044e +8054f +80650 +80751 +80852 +80953 +80a54 +80b55 +80c56 +80d57 +80e58 +80f59 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +81029 +8202a +8302b +8402c +8502d +8602e +8702f +8803a +8903b +8a03c +8b03d +8c03e +8d03f +8e040 +8f05b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +80120 +80209 +8030a +8040d +8050b +8060c +80730 +80831 +80932 +80a33 +80b34 +80c35 +80d36 +80e37 +80f38 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +81069 +8206a +8306b +8406c +8506d +8606e +8706f +88070 +89071 +8a072 +8b073 +8c074 +8d075 +8e076 +8f077 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +80147 +80248 +80349 +8044a +8054b +8064c +8074d +8084e +8094f +80a50 +80b51 +80c52 +80d53 +80e54 +80f55 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +81025 +82026 +83027 +84028 +85029 +8602a +8702b +8802c +8902d +8a02e +8b02f +8c03a +8d03b +8e03c +8f03d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8017b +8027c +8037d +8047e +80520 +80609 +8070a +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +40150 +40251 +40352 +40453 +40554 +40655 +40756 +40857 +40958 +40a59 +40b5a +40c21 +40d22 +40e23 +40f24 +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4102e +4202f +4303a +4403b +4503c +4603d +4703e +4803f +49040 +4a05b +4b05c +4c05d +4d05e +4e05f +4f060 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4010c +40230 +40331 +40432 +40533 +40634 +40735 +40836 +40937 +40a38 +40b39 +40c61 +40d62 +40e63 +40f64 +4070a +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4106e +4206f +43070 +44071 +45072 +46073 +47074 +48075 +49076 +4a077 +4b078 +4c079 +4d07a +4e041 +4f042 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4014c +4024d +4034e +4044f +40550 +40651 +40752 +40853 +40954 +40a55 +40b56 +40c57 +40d58 +40e59 +40f5a +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4102a +4202b +4302c +4402d +4502e +4602f +4703a +4803b +4903c +4a03d +4b03e +4c03f +4d040 +4e05b +4f05c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +40109 +4020a +4030d +4040b +4050c +40630 +40731 +40832 +40933 +40a34 +40b35 +40c36 +40d37 +40e38 +40f39 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4106a +4206b +4306c +4406d +4506e +4606f +47070 +48071 +49072 +4a073 +4b074 +4c075 +4d076 +4e077 +4f078 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +40148 +40249 +4034a +4044b +4054c +4064d +4074e +4084f +40950 +40a51 +40b52 +40c53 +40d54 +40e55 +40f56 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +41026 +42027 +43028 +44029 +4502a +4602b +4702c +4802d +4902e +4a02f +4b03a +4c03b +4d03c +4e03d +4f03e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4017c +4027d +4037e +40420 +40509 +4060a +4070d +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c0151 +c0252 +c0353 +c0454 +c0555 +c0656 +c0757 +c0858 +c0959 +c0a5a +c0b21 +c0c22 +c0d23 +c0e24 +c0f25 +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c102f +c203a +c303b +c403c +c503d +c603e +c703f +c8040 +c905b +ca05c +cb05d +cc05e +cd05f +ce060 +cf07b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c0130 +c0231 +c0332 +c0433 +c0534 +c0635 +c0736 +c0837 +c0938 +c0a39 +c0b61 +c0c62 +c0d63 +c0e64 +c0f65 +c0766 +c070a +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c106f +c2070 +c3071 +c4072 +c5073 +c6074 +c7075 +c8076 +c9077 +ca078 +cb079 +cc07a +cd041 +ce042 +cf043 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c014d +c024e +c034f +c0450 +c0551 +c0652 +c0753 +c0854 +c0955 +c0a56 +c0b57 +c0c58 +c0d59 +c0e5a +c0f21 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c102b +c202c +c302d +c402e +c502f +c603a +c703b +c803c +c903d +ca03e +cb03f +cc040 +cd05b +ce05c +cf05d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c010a +c020d +c030b +c040c +c0530 +c0631 +c0732 +c0833 +c0934 +c0a35 +c0b36 +c0c37 +c0d38 +c0e39 +c0f61 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c106b +c206c +c306d +c406e +c506f +c6070 +c7071 +c8072 +c9073 +ca074 +cb075 +cc076 +cd077 +ce078 +cf079 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c0149 +c024a +c034b +c044c +c054d +c064e +c074f +c0850 +c0951 +c0a52 +c0b53 +c0c54 +c0d55 +c0e56 +c0f57 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c1027 +c2028 +c3029 +c402a +c502b +c602c +c702d +c802e +c902f +ca03a +cb03b +cc03c +cd03d +ce03e +cf03f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c017d +c027e +c0320 +c0409 +c050a +c060d +c070b +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +00152 +00253 +00354 +00455 +00556 +00657 +00758 +00859 +0095a +00a21 +00b22 +00c23 +00d24 +00e25 +00f26 +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0103a +0203b +0303c +0403d +0503e +0603f +07040 +0805b +0905c +0a05d +0b05e +0c05f +0d060 +0e07b +0f07c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +00131 +00232 +00333 +00434 +00535 +00636 +00737 +00838 +00939 +00a61 +00b62 +00c63 +00d64 +00e65 +00f66 +00767 +00768 +0070a +0076a +0076b +0076c +0076d +0076e +0006f +01070 +02071 +03072 +04073 +05074 +06075 +07076 +08077 +09078 +0a079 +0b07a +0c041 +0d042 +0e043 +0f044 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0014e +0024f +00350 +00451 +00552 +00653 +00754 +00855 +00956 +00a57 +00b58 +00c59 +00d5a +00e21 +00f22 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0102c +0202d +0302e +0402f +0503a +0603b +0703c +0803d +0903e +0a03f +0b040 +0c05b +0d05c +0e05d +0f05e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0010d +0020b +0030c +00430 +00531 +00632 +00733 +00834 +00935 +00a36 +00b37 +00c38 +00d39 +00e61 +00f62 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0106c +0206d +0306e +0406f +05070 +06071 +07072 +08073 +09074 +0a075 +0b076 +0c077 +0d078 +0e079 +0f07a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0014a +0024b +0034c +0044d +0054e +0064f +00750 +00851 +00952 +00a53 +00b54 +00c55 +00d56 +00e57 +00f58 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +01028 +02029 +0302a +0402b +0502c +0602d +0702e +0802f +0903a +0a03b +0b03c +0c03d +0d03e +0e03f +0f040 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0017e +00220 +00309 +0040a +0050d +0060b +0070c +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +80153 +80254 +80355 +80456 +80557 +80658 +80759 +8085a +80921 +80a22 +80b23 +80c24 +80d25 +80e26 +80f27 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8103b +8203c +8303d +8403e +8503f +86040 +8705b +8805c +8905d +8a05e +8b05f +8c060 +8d07b +8e07c +8f07d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +80132 +80233 +80334 +80435 +80536 +80637 +80738 +80839 +80961 +80a62 +80b63 +80c64 +80d65 +80e66 +80f67 +80768 +80769 +8076a +8070a +8076c +8076d +8076e +8076f +80070 +81071 +82072 +83073 +84074 +85075 +86076 +87077 +88078 +89079 +8a07a +8b041 +8c042 +8d043 +8e044 +8f045 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8014f +80250 +80351 +80452 +80553 +80654 +80755 +80856 +80957 +80a58 +80b59 +80c5a +80d21 +80e22 +80f23 +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8102d +8202e +8302f +8403a +8503b +8603c +8703d +8803e +8903f +8a040 +8b05b +8c05c +8d05d +8e05e +8f05f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8010b +8020c +80330 +80431 +80532 +80633 +80734 +80835 +80936 +80a37 +80b38 +80c39 +80d61 +80e62 +80f63 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8106d +8206e +8306f +84070 +85071 +86072 +87073 +88074 +89075 +8a076 +8b077 +8c078 +8d079 +8e07a +8f041 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8014b +8024c +8034d +8044e +8054f +80650 +80751 +80852 +80953 +80a54 +80b55 +80c56 +80d57 +80e58 +80f59 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +81029 +8202a +8302b +8402c +8502d +8602e +8702f +8803a +8903b +8a03c +8b03d +8c03e +8d03f +8e040 +8f05b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +80120 +80209 +8030a +8040d +8050b +8060c +80730 +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +40154 +40255 +40356 +40457 +40558 +40659 +4075a +40821 +40922 +40a23 +40b24 +40c25 +40d26 +40e27 +40f28 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4103c +4203d +4303e +4403f +45040 +4605b +4705c +4805d +4905e +4a05f +4b060 +4c07b +4d07c +4e07d +4f07e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +40133 +40234 +40335 +40436 +40537 +40638 +40739 +40861 +40962 +40a63 +40b64 +40c65 +40d66 +40e67 +40f68 +40769 +4076a +4076b +4076c +4070a +4076e +4076f +40770 +40071 +41072 +42073 +43074 +44075 +45076 +46077 +47078 +48079 +4907a +4a041 +4b042 +4c043 +4d044 +4e045 +4f046 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +40150 +40251 +40352 +40453 +40554 +40655 +40756 +40857 +40958 +40a59 +40b5a +40c21 +40d22 +40e23 +40f24 +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4102e +4202f +4303a +4403b +4503c +4603d +4703e +4803f +49040 +4a05b +4b05c +4c05d +4d05e +4e05f +4f060 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4010c +40230 +40331 +40432 +40533 +40634 +40735 +40836 +40937 +40a38 +40b39 +40c61 +40d62 +40e63 +40f64 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4106e +4206f +43070 +44071 +45072 +46073 +47074 +48075 +49076 +4a077 +4b078 +4c079 +4d07a +4e041 +4f042 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4014c +4024d +4034e +4044f +40550 +40651 +40752 +40853 +40954 +40a55 +40b56 +40c57 +40d58 +40e59 +40f5a +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4102a +4202b +4302c +4402d +4502e +4602f +4703a +4803b +4903c +4a03d +4b03e +4c03f +4d040 +4e05b +4f05c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +40109 +4020a +4030d +4040b +4050c +40630 +40731 +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c0155 +c0256 +c0357 +c0458 +c0559 +c065a +c0721 +c0822 +c0923 +c0a24 +c0b25 +c0c26 +c0d27 +c0e28 +c0f29 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c103d +c203e +c303f +c4040 +c505b +c605c +c705d +c805e +c905f +ca060 +cb07b +cc07c +cd07d +ce07e +cf020 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c0134 +c0235 +c0336 +c0437 +c0538 +c0639 +c0761 +c0862 +c0963 +c0a64 +c0b65 +c0c66 +c0d67 +c0e68 +c0f69 +c076a +c076b +c076c +c076d +c076e +c070a +c0770 +c0771 +c0072 +c1073 +c2074 +c3075 +c4076 +c5077 +c6078 +c7079 +c807a +c9041 +ca042 +cb043 +cc044 +cd045 +ce046 +cf047 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c0151 +c0252 +c0353 +c0454 +c0555 +c0656 +c0757 +c0858 +c0959 +c0a5a +c0b21 +c0c22 +c0d23 +c0e24 +c0f25 +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c102f +c203a +c303b +c403c +c503d +c603e +c703f +c8040 +c905b +ca05c +cb05d +cc05e +cd05f +ce060 +cf07b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c0130 +c0231 +c0332 +c0433 +c0534 +c0635 +c0736 +c0837 +c0938 +c0a39 +c0b61 +c0c62 +c0d63 +c0e64 +c0f65 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c106f +c2070 +c3071 +c4072 +c5073 +c6074 +c7075 +c8076 +c9077 +ca078 +cb079 +cc07a +cd041 +ce042 +cf043 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c014d +c024e +c034f +c0450 +c0551 +c0652 +c0753 +c0854 +c0955 +c0a56 +c0b57 +c0c58 +c0d59 +c0e5a +c0f21 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c102b +c202c +c302d +c402e +c502f +c603a +c703b +c803c +c903d +ca03e +cb03f +cc040 +cd05b +ce05c +cf05d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c010a +c020d +c030b +c040c +c0530 +c0631 +c0732 +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +00156 +00257 +00358 +00459 +0055a +00621 +00722 +00823 +00924 +00a25 +00b26 +00c27 +00d28 +00e29 +00f2a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0103e +0203f +03040 +0405b +0505c +0605d +0705e +0805f +09060 +0a07b +0b07c +0c07d +0d07e +0e020 +0f009 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +00135 +00236 +00337 +00438 +00539 +00661 +00762 +00863 +00964 +00a65 +00b66 +00c67 +00d68 +00e69 +00f6a +0076b +0076c +0076d +0076e +0076f +00770 +0070a +00772 +00073 +01074 +02075 +03076 +04077 +05078 +06079 +0707a +08041 +09042 +0a043 +0b044 +0c045 +0d046 +0e047 +0f048 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +00152 +00253 +00354 +00455 +00556 +00657 +00758 +00859 +0095a +00a21 +00b22 +00c23 +00d24 +00e25 +00f26 +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0103a +0203b +0303c +0403d +0503e +0603f +07040 +0805b +0905c +0a05d +0b05e +0c05f +0d060 +0e07b +0f07c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +00131 +00232 +00333 +00434 +00535 +00636 +00737 +00838 +00939 +00a61 +00b62 +00c63 +00d64 +00e65 +00f66 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +01070 +02071 +03072 +04073 +05074 +06075 +07076 +08077 +09078 +0a079 +0b07a +0c041 +0d042 +0e043 +0f044 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0014e +0024f +00350 +00451 +00552 +00653 +00754 +00855 +00956 +00a57 +00b58 +00c59 +00d5a +00e21 +00f22 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0102c +0202d +0302e +0402f +0503a +0603b +0703c +0803d +0903e +0a03f +0b040 +0c05b +0d05c +0e05d +0f05e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0010d +0020b +0030c +00430 +00531 +00632 +00733 +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +80157 +80258 +80359 +8045a +80521 +80622 +80723 +80824 +80925 +80a26 +80b27 +80c28 +80d29 +80e2a +80f2b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8103f +82040 +8305b +8405c +8505d +8605e +8705f +88060 +8907b +8a07c +8b07d +8c07e +8d020 +8e009 +8f00a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +80136 +80237 +80338 +80439 +80561 +80662 +80763 +80864 +80965 +80a66 +80b67 +80c68 +80d69 +80e6a +80f6b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +8070a +80074 +81075 +82076 +83077 +84078 +85079 +8607a +87041 +88042 +89043 +8a044 +8b045 +8c046 +8d047 +8e048 +8f049 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +80153 +80254 +80355 +80456 +80557 +80658 +80759 +8085a +80921 +80a22 +80b23 +80c24 +80d25 +80e26 +80f27 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8103b +8203c +8303d +8403e +8503f +86040 +8705b +8805c +8905d +8a05e +8b05f +8c060 +8d07b +8e07c +8f07d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +80132 +80233 +80334 +80435 +80536 +80637 +80738 +80839 +80961 +80a62 +80b63 +80c64 +80d65 +80e66 +80f67 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +81071 +82072 +83073 +84074 +85075 +86076 +87077 +88078 +89079 +8a07a +8b041 +8c042 +8d043 +8e044 +8f045 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8014f +80250 +80351 +80452 +80553 +80654 +80755 +80856 +80957 +80a58 +80b59 +80c5a +80d21 +80e22 +80f23 +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8102d +8202e +8302f +8403a +8503b +8603c +8703d +8803e +8903f +8a040 +8b05b +8c05c +8d05d +8e05e +8f05f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8010b +8020c +80330 +80431 +80532 +80633 +80734 +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +40158 +40259 +4035a +40421 +40522 +40623 +40724 +40825 +40926 +40a27 +40b28 +40c29 +40d2a +40e2b +40f2c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +41040 +4205b +4305c +4405d +4505e +4605f +47060 +4807b +4907c +4a07d +4b07e +4c020 +4d009 +4e00a +4f00d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +40137 +40238 +40339 +40461 +40562 +40663 +40764 +40865 +40966 +40a67 +40b68 +40c69 +40d6a +40e6b +40f6c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +4000a +41076 +42077 +43078 +44079 +4507a +46041 +47042 +48043 +49044 +4a045 +4b046 +4c047 +4d048 +4e049 +4f04a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +40154 +40255 +40356 +40457 +40558 +40659 +4075a +40821 +40922 +40a23 +40b24 +40c25 +40d26 +40e27 +40f28 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4103c +4203d +4303e +4403f +45040 +4605b +4705c +4805d +4905e +4a05f +4b060 +4c07b +4d07c +4e07d +4f07e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +40133 +40234 +40335 +40436 +40537 +40638 +40739 +40861 +40962 +40a63 +40b64 +40c65 +40d66 +40e67 +40f68 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +41072 +42073 +43074 +44075 +45076 +46077 +47078 +48079 +4907a +4a041 +4b042 +4c043 +4d044 +4e045 +4f046 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +40150 +40251 +40352 +40453 +40554 +40655 +40756 +40857 +40958 +40a59 +40b5a +40c21 +40d22 +40e23 +40f24 +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4102e +4202f +4303a +4403b +4503c +4603d +4703e +4803f +49040 +4a05b +4b05c +4c05d +4d05e +4e05f +4f060 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4010c +40230 +40331 +40432 +40533 +40634 +40735 +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c0159 +c025a +c0321 +c0422 +c0523 +c0624 +c0725 +c0826 +c0927 +c0a28 +c0b29 +c0c2a +c0d2b +c0e2c +c0f2d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c105b +c205c +c305d +c405e +c505f +c6060 +c707b +c807c +c907d +ca07e +cb020 +cc009 +cd00a +ce00d +cf00b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c0138 +c0239 +c0361 +c0462 +c0563 +c0664 +c0765 +c0866 +c0967 +c0a68 +c0b69 +c0c6a +c0d6b +c0e6c +c0f6d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c100a +c2078 +c3079 +c407a +c5041 +c6042 +c7043 +c8044 +c9045 +ca046 +cb047 +cc048 +cd049 +ce04a +cf04b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c0155 +c0256 +c0357 +c0458 +c0559 +c065a +c0721 +c0822 +c0923 +c0a24 +c0b25 +c0c26 +c0d27 +c0e28 +c0f29 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c103d +c203e +c303f +c4040 +c505b +c605c +c705d +c805e +c905f +ca060 +cb07b +cc07c +cd07d +ce07e +cf020 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c0134 +c0235 +c0336 +c0437 +c0538 +c0639 +c0761 +c0862 +c0963 +c0a64 +c0b65 +c0c66 +c0d67 +c0e68 +c0f69 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c1073 +c2074 +c3075 +c4076 +c5077 +c6078 +c7079 +c807a +c9041 +ca042 +cb043 +cc044 +cd045 +ce046 +cf047 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c0151 +c0252 +c0353 +c0454 +c0555 +c0656 +c0757 +c0858 +c0959 +c0a5a +c0b21 +c0c22 +c0d23 +c0e24 +c0f25 +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c102f +c203a +c303b +c403c +c503d +c603e +c703f +c8040 +c905b +ca05c +cb05d +cc05e +cd05f +ce060 +cf07b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c0130 +c0231 +c0332 +c0433 +c0534 +c0635 +c0736 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0015a +00221 +00322 +00423 +00524 +00625 +00726 +00827 +00928 +00a29 +00b2a +00c2b +00d2c +00e2d +00f2e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0105c +0205d +0305e +0405f +05060 +0607b +0707c +0807d +0907e +0a020 +0b009 +0c00a +0d00d +0e00b +0f00c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +00139 +00261 +00362 +00463 +00564 +00665 +00766 +00867 +00968 +00a69 +00b6a +00c6b +00d6c +00e6d +00f6e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +01078 +0200a +0307a +04041 +05042 +06043 +07044 +08045 +09046 +0a047 +0b048 +0c049 +0d04a +0e04b +0f04c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +00156 +00257 +00358 +00459 +0055a +00621 +00722 +00823 +00924 +00a25 +00b26 +00c27 +00d28 +00e29 +00f2a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0103e +0203f +03040 +0405b +0505c +0605d +0705e +0805f +09060 +0a07b +0b07c +0c07d +0d07e +0e020 +0f009 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +00135 +00236 +00337 +00438 +00539 +00661 +00762 +00863 +00964 +00a65 +00b66 +00c67 +00d68 +00e69 +00f6a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +01074 +02075 +03076 +04077 +05078 +06079 +0707a +08041 +09042 +0a043 +0b044 +0c045 +0d046 +0e047 +0f048 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +00152 +00253 +00354 +00455 +00556 +00657 +00758 +00859 +0095a +00a21 +00b22 +00c23 +00d24 +00e25 +00f26 +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0103a +0203b +0303c +0403d +0503e +0603f +07040 +0805b +0905c +0a05d +0b05e +0c05f +0d060 +0e07b +0f07c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +00131 +00232 +00333 +00434 +00535 +00636 +00737 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +80121 +80222 +80323 +80424 +80525 +80626 +80727 +80828 +80929 +80a2a +80b2b +80c2c +80d2d +80e2e +80f2f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8105d +8205e +8305f +84060 +8507b +8607c +8707d +8807e +89020 +8a009 +8b00a +8c00d +8d00b +8e00c +8f030 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +80161 +80262 +80363 +80464 +80565 +80666 +80767 +80868 +80969 +80a6a +80b6b +80c6c +80d6d +80e6e +80f6f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +81079 +8207a +8300a +84042 +85043 +86044 +87045 +88046 +89047 +8a048 +8b049 +8c04a +8d04b +8e04c +8f04d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +80157 +80258 +80359 +8045a +80521 +80622 +80723 +80824 +80925 +80a26 +80b27 +80c28 +80d29 +80e2a +80f2b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8103f +82040 +8305b +8405c +8505d +8605e +8705f +88060 +8907b +8a07c +8b07d +8c07e +8d020 +8e009 +8f00a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +80136 +80237 +80338 +80439 +80561 +80662 +80763 +80864 +80965 +80a66 +80b67 +80c68 +80d69 +80e6a +80f6b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +81075 +82076 +83077 +84078 +85079 +8607a +87041 +88042 +89043 +8a044 +8b045 +8c046 +8d047 +8e048 +8f049 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +80153 +80254 +80355 +80456 +80557 +80658 +80759 +8085a +80921 +80a22 +80b23 +80c24 +80d25 +80e26 +80f27 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8103b +8203c +8303d +8403e +8503f +86040 +8705b +8805c +8905d +8a05e +8b05f +8c060 +8d07b +8e07c +8f07d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +80132 +80233 +80334 +80435 +80536 +80637 +80738 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +40122 +40223 +40324 +40425 +40526 +40627 +40728 +40829 +4092a +40a2b +40b2c +40c2d +40d2e +40e2f +40f3a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4105e +4205f +43060 +4407b +4507c +4607d +4707e +48020 +49009 +4a00a +4b00d +4c00b +4d00c +4e030 +4f031 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +40162 +40263 +40364 +40465 +40566 +40667 +40768 +40869 +4096a +40a6b +40b6c +40c6d +40d6e +40e6f +40f70 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4107a +42041 +43042 +4400a +45044 +46045 +47046 +48047 +49048 +4a049 +4b04a +4c04b +4d04c +4e04d +4f04e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +40158 +40259 +4035a +40421 +40522 +40623 +40724 +40825 +40926 +40a27 +40b28 +40c29 +40d2a +40e2b +40f2c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +41040 +4205b +4305c +4405d +4505e +4605f +47060 +4807b +4907c +4a07d +4b07e +4c020 +4d009 +4e00a +4f00d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +40137 +40238 +40339 +40461 +40562 +40663 +40764 +40865 +40966 +40a67 +40b68 +40c69 +40d6a +40e6b +40f6c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +41076 +42077 +43078 +44079 +4507a +46041 +47042 +48043 +49044 +4a045 +4b046 +4c047 +4d048 +4e049 +4f04a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +40154 +40255 +40356 +40457 +40558 +40659 +4075a +40821 +40922 +40a23 +40b24 +40c25 +40d26 +40e27 +40f28 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4103c +4203d +4303e +4403f +45040 +4605b +4705c +4805d +4905e +4a05f +4b060 +4c07b +4d07c +4e07d +4f07e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +40133 +40234 +40335 +40436 +40537 +40638 +40739 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c0123 +c0224 +c0325 +c0426 +c0527 +c0628 +c0729 +c082a +c092b +c0a2c +c0b2d +c0c2e +c0d2f +c0e3a +c0f3b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c105f +c2060 +c307b +c407c +c507d +c607e +c7020 +c8009 +c900a +ca00d +cb00b +cc00c +cd030 +ce031 +cf032 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c0163 +c0264 +c0365 +c0466 +c0567 +c0668 +c0769 +c086a +c096b +c0a6c +c0b6d +c0c6e +c0d6f +c0e70 +c0f71 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c1041 +c2042 +c3043 +c4044 +c500a +c6046 +c7047 +c8048 +c9049 +ca04a +cb04b +cc04c +cd04d +ce04e +cf04f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c0159 +c025a +c0321 +c0422 +c0523 +c0624 +c0725 +c0826 +c0927 +c0a28 +c0b29 +c0c2a +c0d2b +c0e2c +c0f2d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c105b +c205c +c305d +c405e +c505f +c6060 +c707b +c807c +c907d +ca07e +cb020 +cc009 +cd00a +ce00d +cf00b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c0138 +c0239 +c0361 +c0462 +c0563 +c0664 +c0765 +c0866 +c0967 +c0a68 +c0b69 +c0c6a +c0d6b +c0e6c +c0f6d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c1077 +c2078 +c3079 +c407a +c5041 +c6042 +c7043 +c8044 +c9045 +ca046 +cb047 +cc048 +cd049 +ce04a +cf04b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c0155 +c0256 +c0357 +c0458 +c0559 +c065a +c0721 +c0822 +c0923 +c0a24 +c0b25 +c0c26 +c0d27 +c0e28 +c0f29 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c103d +c203e +c303f +c4040 +c505b +c605c +c705d +c805e +c905f +ca060 +cb07b +cc07c +cd07d +ce07e +cf020 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c0134 +c0235 +c0336 +c0437 +c0538 +c0639 +c0761 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +00124 +00225 +00326 +00427 +00528 +00629 +0072a +0082b +0092c +00a2d +00b2e +00c2f +00d3a +00e3b +00f3c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +01060 +0207b +0307c +0407d +0507e +06020 +07009 +0800a +0900d +0a00b +0b00c +0c030 +0d031 +0e032 +0f033 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +00164 +00265 +00366 +00467 +00568 +00669 +0076a +0086b +0096c +00a6d +00b6e +00c6f +00d70 +00e71 +00f72 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +01042 +02043 +03044 +04045 +05046 +0600a +07048 +08049 +0904a +0a04b +0b04c +0c04d +0d04e +0e04f +0f050 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0015a +00221 +00322 +00423 +00524 +00625 +00726 +00827 +00928 +00a29 +00b2a +00c2b +00d2c +00e2d +00f2e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0105c +0205d +0305e +0405f +05060 +0607b +0707c +0807d +0907e +0a020 +0b009 +0c00a +0d00d +0e00b +0f00c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +00139 +00261 +00362 +00463 +00564 +00665 +00766 +00867 +00968 +00a69 +00b6a +00c6b +00d6c +00e6d +00f6e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +01078 +02079 +0307a +04041 +05042 +06043 +07044 +08045 +09046 +0a047 +0b048 +0c049 +0d04a +0e04b +0f04c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +00156 +00257 +00358 +00459 +0055a +00621 +00722 +00823 +00924 +00a25 +00b26 +00c27 +00d28 +00e29 +00f2a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0103e +0203f +03040 +0405b +0505c +0605d +0705e +0805f +09060 +0a07b +0b07c +0c07d +0d07e +0e020 +0f009 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +00135 +00236 +00337 +00438 +00539 +00661 +00762 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +80125 +80226 +80327 +80428 +80529 +8062a +8072b +8082c +8092d +80a2e +80b2f +80c3a +80d3b +80e3c +80f3d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8107b +8207c +8307d +8407e +85020 +86009 +8700a +8800d +8900b +8a00c +8b030 +8c031 +8d032 +8e033 +8f034 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +80165 +80266 +80367 +80468 +80569 +8066a +8076b +8086c +8096d +80a6e +80b6f +80c70 +80d71 +80e72 +80f73 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +81043 +82044 +83045 +84046 +85047 +86048 +8700a +8804a +8904b +8a04c +8b04d +8c04e +8d04f +8e050 +8f051 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +80121 +80222 +80323 +80424 +80525 +80626 +80727 +80828 +80929 +80a2a +80b2b +80c2c +80d2d +80e2e +80f2f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8105d +8205e +8305f +84060 +8507b +8607c +8707d +8807e +89020 +8a009 +8b00a +8c00d +8d00b +8e00c +8f030 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +80161 +80262 +80363 +80464 +80565 +80666 +80767 +80868 +80969 +80a6a +80b6b +80c6c +80d6d +80e6e +80f6f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +81079 +8207a +83041 +84042 +85043 +86044 +87045 +88046 +89047 +8a048 +8b049 +8c04a +8d04b +8e04c +8f04d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +80157 +80258 +80359 +8045a +80521 +80622 +80723 +80824 +80925 +80a26 +80b27 +80c28 +80d29 +80e2a +80f2b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8103f +82040 +8305b +8405c +8505d +8605e +8705f +88060 +8907b +8a07c +8b07d +8c07e +8d020 +8e009 +8f00a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +80136 +80237 +80338 +80439 +80561 +80662 +80763 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +40126 +40227 +40328 +40429 +4052a +4062b +4072c +4082d +4092e +40a2f +40b3a +40c3b +40d3c +40e3d +40f3e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4107c +4207d +4307e +44020 +45009 +4600a +4700d +4800b +4900c +4a030 +4b031 +4c032 +4d033 +4e034 +4f035 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +40166 +40267 +40368 +40469 +4056a +4066b +4076c +4086d +4096e +40a6f +40b70 +40c71 +40d72 +40e73 +40f74 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +41044 +42045 +43046 +44047 +45048 +46049 +4704a +4800a +4904c +4a04d +4b04e +4c04f +4d050 +4e051 +4f052 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +40122 +40223 +40324 +40425 +40526 +40627 +40728 +40829 +4092a +40a2b +40b2c +40c2d +40d2e +40e2f +40f3a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4105e +4205f +43060 +4407b +4507c +4607d +4707e +48020 +49009 +4a00a +4b00d +4c00b +4d00c +4e030 +4f031 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +40162 +40263 +40364 +40465 +40566 +40667 +40768 +40869 +4096a +40a6b +40b6c +40c6d +40d6e +40e6f +40f70 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4107a +42041 +43042 +44043 +45044 +46045 +47046 +48047 +49048 +4a049 +4b04a +4c04b +4d04c +4e04d +4f04e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +40158 +40259 +4035a +40421 +40522 +40623 +40724 +40825 +40926 +40a27 +40b28 +40c29 +40d2a +40e2b +40f2c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +41040 +4205b +4305c +4405d +4505e +4605f +47060 +4807b +4907c +4a07d +4b07e +4c020 +4d009 +4e00a +4f00d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +40137 +40238 +40339 +40461 +40562 +40663 +40764 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c0127 +c0228 +c0329 +c042a +c052b +c062c +c072d +c082e +c092f +c0a3a +c0b3b +c0c3c +c0d3d +c0e3e +c0f3f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c107d +c207e +c3020 +c4009 +c500a +c600d +c700b +c800c +c9030 +ca031 +cb032 +cc033 +cd034 +ce035 +cf036 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c0167 +c0268 +c0369 +c046a +c056b +c066c +c076d +c086e +c096f +c0a70 +c0b71 +c0c72 +c0d73 +c0e74 +c0f75 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c1045 +c2046 +c3047 +c4048 +c5049 +c604a +c704b +c804c +c900a +ca04e +cb04f +cc050 +cd051 +ce052 +cf053 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c0123 +c0224 +c0325 +c0426 +c0527 +c0628 +c0729 +c082a +c092b +c0a2c +c0b2d +c0c2e +c0d2f +c0e3a +c0f3b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c105f +c2060 +c307b +c407c +c507d +c607e +c7020 +c8009 +c900a +ca00d +cb00b +cc00c +cd030 +ce031 +cf032 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c0163 +c0264 +c0365 +c0466 +c0567 +c0668 +c0769 +c086a +c096b +c0a6c +c0b6d +c0c6e +c0d6f +c0e70 +c0f71 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c1041 +c2042 +c3043 +c4044 +c5045 +c6046 +c7047 +c8048 +c9049 +ca04a +cb04b +cc04c +cd04d +ce04e +cf04f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c0159 +c025a +c0321 +c0422 +c0523 +c0624 +c0725 +c0826 +c0927 +c0a28 +c0b29 +c0c2a +c0d2b +c0e2c +c0f2d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c105b +c205c +c305d +c405e +c505f +c6060 +c707b +c807c +c907d +ca07e +cb020 +cc009 +cd00a +ce00d +cf00b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c0138 +c0239 +c0361 +c0462 +c0563 +c0664 +c0765 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +00128 +00229 +0032a +0042b +0052c +0062d +0072e +0082f +0093a +00a3b +00b3c +00c3d +00d3e +00e3f +00f40 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0107e +02020 +03009 +0400a +0500d +0600b +0700c +08030 +09031 +0a032 +0b033 +0c034 +0d035 +0e036 +0f037 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +00168 +00269 +0036a +0046b +0056c +0066d +0076e +0086f +00970 +00a71 +00b72 +00c73 +00d74 +00e75 +00f76 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +01046 +02047 +03048 +04049 +0504a +0604b +0704c +0804d +0904e +0a00a +0b050 +0c051 +0d052 +0e053 +0f054 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +00124 +00225 +00326 +00427 +00528 +00629 +0072a +0082b +0092c +00a2d +00b2e +00c2f +00d3a +00e3b +00f3c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +01060 +0207b +0307c +0407d +0507e +06020 +07009 +0800a +0900d +0a00b +0b00c +0c030 +0d031 +0e032 +0f033 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +00164 +00265 +00366 +00467 +00568 +00669 +0076a +0086b +0096c +00a6d +00b6e +00c6f +00d70 +00e71 +00f72 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +01042 +02043 +03044 +04045 +05046 +06047 +07048 +08049 +0904a +0a04b +0b04c +0c04d +0d04e +0e04f +0f050 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0015a +00221 +00322 +00423 +00524 +00625 +00726 +00827 +00928 +00a29 +00b2a +00c2b +00d2c +00e2d +00f2e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0105c +0205d +0305e +0405f +05060 +0607b +0707c +0807d +0907e +0a020 +0b009 +0c00a +0d00d +0e00b +0f00c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +00139 +00261 +00362 +00463 +00564 +00665 +00766 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +80129 +8022a +8032b +8042c +8052d +8062e +8072f +8083a +8093b +80a3c +80b3d +80c3e +80d3f +80e40 +80f5b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +81020 +82009 +8300a +8400d +8500b +8600c +87030 +88031 +89032 +8a033 +8b034 +8c035 +8d036 +8e037 +8f038 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +80169 +8026a +8036b +8046c +8056d +8066e +8076f +80870 +80971 +80a72 +80b73 +80c74 +80d75 +80e76 +80f77 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +81047 +82048 +83049 +8404a +8504b +8604c +8704d +8804e +8904f +8a050 +8b00a +8c052 +8d053 +8e054 +8f055 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +80125 +80226 +80327 +80428 +80529 +8062a +8072b +8082c +8092d +80a2e +80b2f +80c3a +80d3b +80e3c +80f3d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8107b +8207c +8307d +8407e +85020 +86009 +8700a +8800d +8900b +8a00c +8b030 +8c031 +8d032 +8e033 +8f034 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +80165 +80266 +80367 +80468 +80569 +8066a +8076b +8086c +8096d +80a6e +80b6f +80c70 +80d71 +80e72 +80f73 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +81043 +82044 +83045 +84046 +85047 +86048 +87049 +8804a +8904b +8a04c +8b04d +8c04e +8d04f +8e050 +8f051 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +80121 +80222 +80323 +80424 +80525 +80626 +80727 +80828 +80929 +80a2a +80b2b +80c2c +80d2d +80e2e +80f2f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8105d +8205e +8305f +84060 +8507b +8607c +8707d +8807e +89020 +8a009 +8b00a +8c00d +8d00b +8e00c +8f030 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +80161 +80262 +80363 +80464 +80565 +80666 +80767 +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4012a +4022b +4032c +4042d +4052e +4062f +4073a +4083b +4093c +40a3d +40b3e +40c3f +40d40 +40e5b +40f5c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +41009 +4200a +4300d +4400b +4500c +46030 +47031 +48032 +49033 +4a034 +4b035 +4c036 +4d037 +4e038 +4f039 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4016a +4026b +4036c +4046d +4056e +4066f +40770 +40871 +40972 +40a73 +40b74 +40c75 +40d76 +40e77 +40f78 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +41048 +42049 +4304a +4404b +4504c +4604d +4704e +4804f +49050 +4a051 +4b052 +4c00a +4d054 +4e055 +4f056 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +40126 +40227 +40328 +40429 +4052a +4062b +4072c +4082d +4092e +40a2f +40b3a +40c3b +40d3c +40e3d +40f3e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4107c +4207d +4307e +44020 +45009 +4600a +4700d +4800b +4900c +4a030 +4b031 +4c032 +4d033 +4e034 +4f035 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +40166 +40267 +40368 +40469 +4056a +4066b +4076c +4086d +4096e +40a6f +40b70 +40c71 +40d72 +40e73 +40f74 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +41044 +42045 +43046 +44047 +45048 +46049 +4704a +4804b +4904c +4a04d +4b04e +4c04f +4d050 +4e051 +4f052 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +40122 +40223 +40324 +40425 +40526 +40627 +40728 +40829 +4092a +40a2b +40b2c +40c2d +40d2e +40e2f +40f3a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4105e +4205f +43060 +4407b +4507c +4607d +4707e +48020 +49009 +4a00a +4b00d +4c00b +4d00c +4e030 +4f031 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +40162 +40263 +40364 +40465 +40566 +40667 +40768 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c012b +c022c +c032d +c042e +c052f +c063a +c073b +c083c +c093d +c0a3e +c0b3f +c0c40 +c0d5b +c0e5c +c0f5d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c100a +c200d +c300b +c400c +c5030 +c6031 +c7032 +c8033 +c9034 +ca035 +cb036 +cc037 +cd038 +ce039 +cf061 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c016b +c026c +c036d +c046e +c056f +c0670 +c0771 +c0872 +c0973 +c0a74 +c0b75 +c0c76 +c0d77 +c0e78 +c0f79 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c1049 +c204a +c304b +c404c +c504d +c604e +c704f +c8050 +c9051 +ca052 +cb053 +cc054 +cd00a +ce056 +cf057 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c0127 +c0228 +c0329 +c042a +c052b +c062c +c072d +c082e +c092f +c0a3a +c0b3b +c0c3c +c0d3d +c0e3e +c0f3f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c107d +c207e +c3020 +c4009 +c500a +c600d +c700b +c800c +c9030 +ca031 +cb032 +cc033 +cd034 +ce035 +cf036 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c0167 +c0268 +c0369 +c046a +c056b +c066c +c076d +c086e +c096f +c0a70 +c0b71 +c0c72 +c0d73 +c0e74 +c0f75 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c1045 +c2046 +c3047 +c4048 +c5049 +c604a +c704b +c804c +c904d +ca04e +cb04f +cc050 +cd051 +ce052 +cf053 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c0123 +c0224 +c0325 +c0426 +c0527 +c0628 +c0729 +c082a +c092b +c0a2c +c0b2d +c0c2e +c0d2f +c0e3a +c0f3b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c105f +c2060 +c307b +c407c +c507d +c607e +c7020 +c8009 +c900a +ca00d +cb00b +cc00c +cd030 +ce031 +cf032 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c0163 +c0264 +c0365 +c0466 +c0567 +c0668 +c0769 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0012c +0022d +0032e +0042f +0053a +0063b +0073c +0083d +0093e +00a3f +00b40 +00c5b +00d5c +00e5d +00f5e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0100d +0200b +0300c +04030 +05031 +06032 +07033 +08034 +09035 +0a036 +0b037 +0c038 +0d039 +0e061 +0f062 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0016c +0026d +0036e +0046f +00570 +00671 +00772 +00873 +00974 +00a75 +00b76 +00c77 +00d78 +00e79 +00f7a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0104a +0204b +0304c +0404d +0504e +0604f +07050 +08051 +09052 +0a053 +0b054 +0c055 +0d056 +0e00a +0f058 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +00128 +00229 +0032a +0042b +0052c +0062d +0072e +0082f +0093a +00a3b +00b3c +00c3d +00d3e +00e3f +00f40 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0107e +02020 +03009 +0400a +0500d +0600b +0700c +08030 +09031 +0a032 +0b033 +0c034 +0d035 +0e036 +0f037 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +00168 +00269 +0036a +0046b +0056c +0066d +0076e +0086f +00970 +00a71 +00b72 +00c73 +00d74 +00e75 +00f76 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +01046 +02047 +03048 +04049 +0504a +0604b +0704c +0804d +0904e +0a04f +0b050 +0c051 +0d052 +0e053 +0f054 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +00124 +00225 +00326 +00427 +00528 +00629 +0072a +0082b +0092c +00a2d +00b2e +00c2f +00d3a +00e3b +00f3c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +01060 +0207b +0307c +0407d +0507e +06020 +07009 +0800a +0900d +0a00b +0b00c +0c030 +0d031 +0e032 +0f033 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +00164 +00265 +00366 +00467 +00568 +00669 +0076a +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8012d +8022e +8032f +8043a +8053b +8063c +8073d +8083e +8093f +80a40 +80b5b +80c5c +80d5d +80e5e +80f5f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8100b +8200c +83030 +84031 +85032 +86033 +87034 +88035 +89036 +8a037 +8b038 +8c039 +8d061 +8e062 +8f063 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8016d +8026e +8036f +80470 +80571 +80672 +80773 +80874 +80975 +80a76 +80b77 +80c78 +80d79 +80e7a +80f41 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8104b +8204c +8304d +8404e +8504f +86050 +87051 +88052 +89053 +8a054 +8b055 +8c056 +8d057 +8e058 +8f00a +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +80129 +8022a +8032b +8042c +8052d +8062e +8072f +8083a +8093b +80a3c +80b3d +80c3e +80d3f +80e40 +80f5b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +81020 +82009 +8300a +8400d +8500b +8600c +87030 +88031 +89032 +8a033 +8b034 +8c035 +8d036 +8e037 +8f038 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +80169 +8026a +8036b +8046c +8056d +8066e +8076f +80870 +80971 +80a72 +80b73 +80c74 +80d75 +80e76 +80f77 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +81047 +82048 +83049 +8404a +8504b +8604c +8704d +8804e +8904f +8a050 +8b051 +8c052 +8d053 +8e054 +8f055 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +80125 +80226 +80327 +80428 +80529 +8062a +8072b +8082c +8092d +80a2e +80b2f +80c3a +80d3b +80e3c +80f3d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8107b +8207c +8307d +8407e +85020 +86009 +8700a +8800d +8900b +8a00c +8b030 +8c031 +8d032 +8e033 +8f034 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +80165 +80266 +80367 +80468 +80569 +8066a +8076b +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4012e +4022f +4033a +4043b +4053c +4063d +4073e +4083f +40940 +40a5b +40b5c +40c5d +40d5e +40e5f +40f60 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4100c +42030 +43031 +44032 +45033 +46034 +47035 +48036 +49037 +4a038 +4b039 +4c061 +4d062 +4e063 +4f064 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4016e +4026f +40370 +40471 +40572 +40673 +40774 +40875 +40976 +40a77 +40b78 +40c79 +40d7a +40e41 +40f42 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4104c +4204d +4304e +4404f +45050 +46051 +47052 +48053 +49054 +4a055 +4b056 +4c057 +4d058 +4e059 +4f05a +4070a +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4012a +4022b +4032c +4042d +4052e +4062f +4073a +4083b +4093c +40a3d +40b3e +40c3f +40d40 +40e5b +40f5c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +41009 +4200a +4300d +4400b +4500c +46030 +47031 +48032 +49033 +4a034 +4b035 +4c036 +4d037 +4e038 +4f039 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4016a +4026b +4036c +4046d +4056e +4066f +40770 +40871 +40972 +40a73 +40b74 +40c75 +40d76 +40e77 +40f78 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +41048 +42049 +4304a +4404b +4504c +4604d +4704e +4804f +49050 +4a051 +4b052 +4c053 +4d054 +4e055 +4f056 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +40126 +40227 +40328 +40429 +4052a +4062b +4072c +4082d +4092e +40a2f +40b3a +40c3b +40d3c +40e3d +40f3e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4107c +4207d +4307e +44020 +45009 +4600a +4700d +4800b +4900c +4a030 +4b031 +4c032 +4d033 +4e034 +4f035 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +40166 +40267 +40368 +40469 +4056a +4066b +4076c +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c012f +c023a +c033b +c043c +c053d +c063e +c073f +c0840 +c095b +c0a5c +c0b5d +c0c5e +c0d5f +c0e60 +c0f7b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c1030 +c2031 +c3032 +c4033 +c5034 +c6035 +c7036 +c8037 +c9038 +ca039 +cb061 +cc062 +cd063 +ce064 +cf065 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c016f +c0270 +c0371 +c0472 +c0573 +c0674 +c0775 +c0876 +c0977 +c0a78 +c0b79 +c0c7a +c0d41 +c0e42 +c0f43 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c104d +c204e +c304f +c4050 +c5051 +c6052 +c7053 +c8054 +c9055 +ca056 +cb057 +cc058 +cd059 +ce05a +cf021 +c0722 +c070a +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c012b +c022c +c032d +c042e +c052f +c063a +c073b +c083c +c093d +c0a3e +c0b3f +c0c40 +c0d5b +c0e5c +c0f5d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c100a +c200d +c300b +c400c +c5030 +c6031 +c7032 +c8033 +c9034 +ca035 +cb036 +cc037 +cd038 +ce039 +cf061 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c016b +c026c +c036d +c046e +c056f +c0670 +c0771 +c0872 +c0973 +c0a74 +c0b75 +c0c76 +c0d77 +c0e78 +c0f79 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c1049 +c204a +c304b +c404c +c504d +c604e +c704f +c8050 +c9051 +ca052 +cb053 +cc054 +cd055 +ce056 +cf057 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c0127 +c0228 +c0329 +c042a +c052b +c062c +c072d +c082e +c092f +c0a3a +c0b3b +c0c3c +c0d3d +c0e3e +c0f3f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c107d +c207e +c3020 +c4009 +c500a +c600d +c700b +c800c +c9030 +ca031 +cb032 +cc033 +cd034 +ce035 +cf036 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c0167 +c0268 +c0369 +c046a +c056b +c066c +c076d +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0013a +0023b +0033c +0043d +0053e +0063f +00740 +0085b +0095c +00a5d +00b5e +00c5f +00d60 +00e7b +00f7c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +01031 +02032 +03033 +04034 +05035 +06036 +07037 +08038 +09039 +0a061 +0b062 +0c063 +0d064 +0e065 +0f066 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +00170 +00271 +00372 +00473 +00574 +00675 +00776 +00877 +00978 +00a79 +00b7a +00c41 +00d42 +00e43 +00f44 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0104e +0204f +03050 +04051 +05052 +06053 +07054 +08055 +09056 +0a057 +0b058 +0c059 +0d05a +0e021 +0f022 +00723 +00724 +0070a +00726 +00727 +00728 +00729 +0072a +0002b +0012c +0022d +0032e +0042f +0053a +0063b +0073c +0083d +0093e +00a3f +00b40 +00c5b +00d5c +00e5d +00f5e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0100d +0200b +0300c +04030 +05031 +06032 +07033 +08034 +09035 +0a036 +0b037 +0c038 +0d039 +0e061 +0f062 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0016c +0026d +0036e +0046f +00570 +00671 +00772 +00873 +00974 +00a75 +00b76 +00c77 +00d78 +00e79 +00f7a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0104a +0204b +0304c +0404d +0504e +0604f +07050 +08051 +09052 +0a053 +0b054 +0c055 +0d056 +0e057 +0f058 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +00128 +00229 +0032a +0042b +0052c +0062d +0072e +0082f +0093a +00a3b +00b3c +00c3d +00d3e +00e3f +00f40 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0107e +02020 +03009 +0400a +0500d +0600b +0700c +08030 +09031 +0a032 +0b033 +0c034 +0d035 +0e036 +0f037 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +00168 +00269 +0036a +0046b +0056c +0066d +0076e +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8013b +8023c +8033d +8043e +8053f +80640 +8075b +8085c +8095d +80a5e +80b5f +80c60 +80d7b +80e7c +80f7d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +81032 +82033 +83034 +84035 +85036 +86037 +87038 +88039 +89061 +8a062 +8b063 +8c064 +8d065 +8e066 +8f067 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +80171 +80272 +80373 +80474 +80575 +80676 +80777 +80878 +80979 +80a7a +80b41 +80c42 +80d43 +80e44 +80f45 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8104f +82050 +83051 +84052 +85053 +86054 +87055 +88056 +89057 +8a058 +8b059 +8c05a +8d021 +8e022 +8f023 +80724 +80725 +80726 +8070a +80728 +80729 +8072a +8072b +8002c +8012d +8022e +8032f +8043a +8053b +8063c +8073d +8083e +8093f +80a40 +80b5b +80c5c +80d5d +80e5e +80f5f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8100b +8200c +83030 +84031 +85032 +86033 +87034 +88035 +89036 +8a037 +8b038 +8c039 +8d061 +8e062 +8f063 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8016d +8026e +8036f +80470 +80571 +80672 +80773 +80874 +80975 +80a76 +80b77 +80c78 +80d79 +80e7a +80f41 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8104b +8204c +8304d +8404e +8504f +86050 +87051 +88052 +89053 +8a054 +8b055 +8c056 +8d057 +8e058 +8f059 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +80129 +8022a +8032b +8042c +8052d +8062e +8072f +8083a +8093b +80a3c +80b3d +80c3e +80d3f +80e40 +80f5b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +81020 +82009 +8300a +8400d +8500b +8600c +87030 +88031 +89032 +8a033 +8b034 +8c035 +8d036 +8e037 +8f038 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +80169 +8026a +8036b +8046c +8056d +8066e +8076f +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4013c +4023d +4033e +4043f +40540 +4065b +4075c +4085d +4095e +40a5f +40b60 +40c7b +40d7c +40e7d +40f7e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +41033 +42034 +43035 +44036 +45037 +46038 +47039 +48061 +49062 +4a063 +4b064 +4c065 +4d066 +4e067 +4f068 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +40172 +40273 +40374 +40475 +40576 +40677 +40778 +40879 +4097a +40a41 +40b42 +40c43 +40d44 +40e45 +40f46 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +41050 +42051 +43052 +44053 +45054 +46055 +47056 +48057 +49058 +4a059 +4b05a +4c021 +4d022 +4e023 +4f024 +40725 +40726 +40727 +40728 +4070a +4072a +4072b +4072c +4002d +4012e +4022f +4033a +4043b +4053c +4063d +4073e +4083f +40940 +40a5b +40b5c +40c5d +40d5e +40e5f +40f60 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4100c +42030 +43031 +44032 +45033 +46034 +47035 +48036 +49037 +4a038 +4b039 +4c061 +4d062 +4e063 +4f064 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4016e +4026f +40370 +40471 +40572 +40673 +40774 +40875 +40976 +40a77 +40b78 +40c79 +40d7a +40e41 +40f42 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4104c +4204d +4304e +4404f +45050 +46051 +47052 +48053 +49054 +4a055 +4b056 +4c057 +4d058 +4e059 +4f05a +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4012a +4022b +4032c +4042d +4052e +4062f +4073a +4083b +4093c +40a3d +40b3e +40c3f +40d40 +40e5b +40f5c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +41009 +4200a +4300d +4400b +4500c +46030 +47031 +48032 +49033 +4a034 +4b035 +4c036 +4d037 +4e038 +4f039 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4016a +4026b +4036c +4046d +4056e +4066f +40770 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c013d +c023e +c033f +c0440 +c055b +c065c +c075d +c085e +c095f +c0a60 +c0b7b +c0c7c +c0d7d +c0e7e +c0f20 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c1034 +c2035 +c3036 +c4037 +c5038 +c6039 +c7061 +c8062 +c9063 +ca064 +cb065 +cc066 +cd067 +ce068 +cf069 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c0173 +c0274 +c0375 +c0476 +c0577 +c0678 +c0779 +c087a +c0941 +c0a42 +c0b43 +c0c44 +c0d45 +c0e46 +c0f47 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c1051 +c2052 +c3053 +c4054 +c5055 +c6056 +c7057 +c8058 +c9059 +ca05a +cb021 +cc022 +cd023 +ce024 +cf025 +c0726 +c0727 +c0728 +c0729 +c072a +c070a +c072c +c072d +c002e +c012f +c023a +c033b +c043c +c053d +c063e +c073f +c0840 +c095b +c0a5c +c0b5d +c0c5e +c0d5f +c0e60 +c0f7b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c1030 +c2031 +c3032 +c4033 +c5034 +c6035 +c7036 +c8037 +c9038 +ca039 +cb061 +cc062 +cd063 +ce064 +cf065 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c016f +c0270 +c0371 +c0472 +c0573 +c0674 +c0775 +c0876 +c0977 +c0a78 +c0b79 +c0c7a +c0d41 +c0e42 +c0f43 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c104d +c204e +c304f +c4050 +c5051 +c6052 +c7053 +c8054 +c9055 +ca056 +cb057 +cc058 +cd059 +ce05a +cf021 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c012b +c022c +c032d +c042e +c052f +c063a +c073b +c083c +c093d +c0a3e +c0b3f +c0c40 +c0d5b +c0e5c +c0f5d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c100a +c200d +c300b +c400c +c5030 +c6031 +c7032 +c8033 +c9034 +ca035 +cb036 +cc037 +cd038 +ce039 +cf061 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c016b +c026c +c036d +c046e +c056f +c0670 +c0771 +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0013e +0023f +00340 +0045b +0055c +0065d +0075e +0085f +00960 +00a7b +00b7c +00c7d +00d7e +00e20 +00f09 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +01035 +02036 +03037 +04038 +05039 +06061 +07062 +08063 +09064 +0a065 +0b066 +0c067 +0d068 +0e069 +0f06a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +00174 +00275 +00376 +00477 +00578 +00679 +0077a +00841 +00942 +00a43 +00b44 +00c45 +00d46 +00e47 +00f48 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +01052 +02053 +03054 +04055 +05056 +06057 +07058 +08059 +0905a +0a021 +0b022 +0c023 +0d024 +0e025 +0f026 +00727 +00728 +00729 +0072a +0072b +0072c +0070a +0072e +0002f +0013a +0023b +0033c +0043d +0053e +0063f +00740 +0085b +0095c +00a5d +00b5e +00c5f +00d60 +00e7b +00f7c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +01031 +02032 +03033 +04034 +05035 +06036 +07037 +08038 +09039 +0a061 +0b062 +0c063 +0d064 +0e065 +0f066 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +00170 +00271 +00372 +00473 +00574 +00675 +00776 +00877 +00978 +00a79 +00b7a +00c41 +00d42 +00e43 +00f44 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0104e +0204f +03050 +04051 +05052 +06053 +07054 +08055 +09056 +0a057 +0b058 +0c059 +0d05a +0e021 +0f022 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0012c +0022d +0032e +0042f +0053a +0063b +0073c +0083d +0093e +00a3f +00b40 +00c5b +00d5c +00e5d +00f5e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0100d +0200b +0300c +04030 +05031 +06032 +07033 +08034 +09035 +0a036 +0b037 +0c038 +0d039 +0e061 +0f062 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0016c +0026d +0036e +0046f +00570 +00671 +00772 +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8013f +80240 +8035b +8045c +8055d +8065e +8075f +80860 +8097b +80a7c +80b7d +80c7e +80d20 +80e09 +80f0a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +81036 +82037 +83038 +84039 +85061 +86062 +87063 +88064 +89065 +8a066 +8b067 +8c068 +8d069 +8e06a +8f06b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +80175 +80276 +80377 +80478 +80579 +8067a +80741 +80842 +80943 +80a44 +80b45 +80c46 +80d47 +80e48 +80f49 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +81053 +82054 +83055 +84056 +85057 +86058 +87059 +8805a +89021 +8a022 +8b023 +8c024 +8d025 +8e026 +8f027 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8070a +8003a +8013b +8023c +8033d +8043e +8053f +80640 +8075b +8085c +8095d +80a5e +80b5f +80c60 +80d7b +80e7c +80f7d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +81032 +82033 +83034 +84035 +85036 +86037 +87038 +88039 +89061 +8a062 +8b063 +8c064 +8d065 +8e066 +8f067 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +80171 +80272 +80373 +80474 +80575 +80676 +80777 +80878 +80979 +80a7a +80b41 +80c42 +80d43 +80e44 +80f45 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8104f +82050 +83051 +84052 +85053 +86054 +87055 +88056 +89057 +8a058 +8b059 +8c05a +8d021 +8e022 +8f023 +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8012d +8022e +8032f +8043a +8053b +8063c +8073d +8083e +8093f +80a40 +80b5b +80c5c +80d5d +80e5e +80f5f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8100b +8200c +83030 +84031 +85032 +86033 +87034 +88035 +89036 +8a037 +8b038 +8c039 +8d061 +8e062 +8f063 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8016d +8026e +8036f +80470 +80571 +80672 +80773 +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +40140 +4025b +4035c +4045d +4055e +4065f +40760 +4087b +4097c +40a7d +40b7e +40c20 +40d09 +40e0a +40f0d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +41037 +42038 +43039 +44061 +45062 +46063 +47064 +48065 +49066 +4a067 +4b068 +4c069 +4d06a +4e06b +4f06c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +40176 +40277 +40378 +40479 +4057a +40641 +40742 +40843 +40944 +40a45 +40b46 +40c47 +40d48 +40e49 +40f4a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +41054 +42055 +43056 +44057 +45058 +46059 +4705a +48021 +49022 +4a023 +4b024 +4c025 +4d026 +4e027 +4f028 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4000a +4013c +4023d +4033e +4043f +40540 +4065b +4075c +4085d +4095e +40a5f +40b60 +40c7b +40d7c +40e7d +40f7e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +41033 +42034 +43035 +44036 +45037 +46038 +47039 +48061 +49062 +4a063 +4b064 +4c065 +4d066 +4e067 +4f068 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +40172 +40273 +40374 +40475 +40576 +40677 +40778 +40879 +4097a +40a41 +40b42 +40c43 +40d44 +40e45 +40f46 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +41050 +42051 +43052 +44053 +45054 +46055 +47056 +48057 +49058 +4a059 +4b05a +4c021 +4d022 +4e023 +4f024 +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4012e +4022f +4033a +4043b +4053c +4063d +4073e +4083f +40940 +40a5b +40b5c +40c5d +40d5e +40e5f +40f60 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4100c +42030 +43031 +44032 +45033 +46034 +47035 +48036 +49037 +4a038 +4b039 +4c061 +4d062 +4e063 +4f064 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4016e +4026f +40370 +40471 +40572 +40673 +40774 +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c015b +c025c +c035d +c045e +c055f +c0660 +c077b +c087c +c097d +c0a7e +c0b20 +c0c09 +c0d0a +c0e0d +c0f0b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c1038 +c2039 +c3061 +c4062 +c5063 +c6064 +c7065 +c8066 +c9067 +ca068 +cb069 +cc06a +cd06b +ce06c +cf06d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c0177 +c0278 +c0379 +c047a +c0541 +c0642 +c0743 +c0844 +c0945 +c0a46 +c0b47 +c0c48 +c0d49 +c0e4a +c0f4b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c1055 +c2056 +c3057 +c4058 +c5059 +c605a +c7021 +c8022 +c9023 +ca024 +cb025 +cc026 +cd027 +ce028 +cf029 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c010a +c023e +c033f +c0440 +c055b +c065c +c075d +c085e +c095f +c0a60 +c0b7b +c0c7c +c0d7d +c0e7e +c0f20 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c1034 +c2035 +c3036 +c4037 +c5038 +c6039 +c7061 +c8062 +c9063 +ca064 +cb065 +cc066 +cd067 +ce068 +cf069 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c0173 +c0274 +c0375 +c0476 +c0577 +c0678 +c0779 +c087a +c0941 +c0a42 +c0b43 +c0c44 +c0d45 +c0e46 +c0f47 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c1051 +c2052 +c3053 +c4054 +c5055 +c6056 +c7057 +c8058 +c9059 +ca05a +cb021 +cc022 +cd023 +ce024 +cf025 +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c012f +c023a +c033b +c043c +c053d +c063e +c073f +c0840 +c095b +c0a5c +c0b5d +c0c5e +c0d5f +c0e60 +c0f7b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c1030 +c2031 +c3032 +c4033 +c5034 +c6035 +c7036 +c8037 +c9038 +ca039 +cb061 +cc062 +cd063 +ce064 +cf065 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c016f +c0270 +c0371 +c0472 +c0573 +c0674 +c0775 +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0015c +0025d +0035e +0045f +00560 +0067b +0077c +0087d +0097e +00a20 +00b09 +00c0a +00d0d +00e0b +00f0c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +01039 +02061 +03062 +04063 +05064 +06065 +07066 +08067 +09068 +0a069 +0b06a +0c06b +0d06c +0e06d +0f06e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +00178 +00279 +0037a +00441 +00542 +00643 +00744 +00845 +00946 +00a47 +00b48 +00c49 +00d4a +00e4b +00f4c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +01056 +02057 +03058 +04059 +0505a +06021 +07022 +08023 +09024 +0a025 +0b026 +0c027 +0d028 +0e029 +0f02a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0013e +0020a +00340 +0045b +0055c +0065d +0075e +0085f +00960 +00a7b +00b7c +00c7d +00d7e +00e20 +00f09 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +01035 +02036 +03037 +04038 +05039 +06061 +07062 +08063 +09064 +0a065 +0b066 +0c067 +0d068 +0e069 +0f06a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +00174 +00275 +00376 +00477 +00578 +00679 +0077a +00841 +00942 +00a43 +00b44 +00c45 +00d46 +00e47 +00f48 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +01052 +02053 +03054 +04055 +05056 +06057 +07058 +08059 +0905a +0a021 +0b022 +0c023 +0d024 +0e025 +0f026 +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0013a +0023b +0033c +0043d +0053e +0063f +00740 +0085b +0095c +00a5d +00b5e +00c5f +00d60 +00e7b +00f7c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +01031 +02032 +03033 +04034 +05035 +06036 +07037 +08038 +09039 +0a061 +0b062 +0c063 +0d064 +0e065 +0f066 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +00170 +00271 +00372 +00473 +00574 +00675 +00776 +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8015d +8025e +8035f +80460 +8057b +8067c +8077d +8087e +80920 +80a09 +80b0a +80c0d +80d0b +80e0c +80f30 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +81061 +82062 +83063 +84064 +85065 +86066 +87067 +88068 +89069 +8a06a +8b06b +8c06c +8d06d +8e06e +8f06f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +80179 +8027a +80341 +80442 +80543 +80644 +80745 +80846 +80947 +80a48 +80b49 +80c4a +80d4b +80e4c +80f4d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +81057 +82058 +83059 +8405a +85021 +86022 +87023 +88024 +89025 +8a026 +8b027 +8c028 +8d029 +8e02a +8f02b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8013f +80240 +8030a +8045c +8055d +8065e +8075f +80860 +8097b +80a7c +80b7d +80c7e +80d20 +80e09 +80f0a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +81036 +82037 +83038 +84039 +85061 +86062 +87063 +88064 +89065 +8a066 +8b067 +8c068 +8d069 +8e06a +8f06b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +80175 +80276 +80377 +80478 +80579 +8067a +80741 +80842 +80943 +80a44 +80b45 +80c46 +80d47 +80e48 +80f49 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +81053 +82054 +83055 +84056 +85057 +86058 +87059 +8805a +89021 +8a022 +8b023 +8c024 +8d025 +8e026 +8f027 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8013b +8023c +8033d +8043e +8053f +80640 +8075b +8085c +8095d +80a5e +80b5f +80c60 +80d7b +80e7c +80f7d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +81032 +82033 +83034 +84035 +85036 +86037 +87038 +88039 +89061 +8a062 +8b063 +8c064 +8d065 +8e066 +8f067 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +80171 +80272 +80373 +80474 +80575 +80676 +80777 +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4015e +4025f +40360 +4047b +4057c +4067d +4077e +40820 +40909 +40a0a +40b0d +40c0b +40d0c +40e30 +40f31 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +41062 +42063 +43064 +44065 +45066 +46067 +47068 +48069 +4906a +4a06b +4b06c +4c06d +4d06e +4e06f +4f070 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4017a +40241 +40342 +40443 +40544 +40645 +40746 +40847 +40948 +40a49 +40b4a +40c4b +40d4c +40e4d +40f4e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +41058 +42059 +4305a +44021 +45022 +46023 +47024 +48025 +49026 +4a027 +4b028 +4c029 +4d02a +4e02b +4f02c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +40140 +4025b +4035c +4040a +4055e +4065f +40760 +4087b +4097c +40a7d +40b7e +40c20 +40d09 +40e0a +40f0d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +41037 +42038 +43039 +44061 +45062 +46063 +47064 +48065 +49066 +4a067 +4b068 +4c069 +4d06a +4e06b +4f06c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +40176 +40277 +40378 +40479 +4057a +40641 +40742 +40843 +40944 +40a45 +40b46 +40c47 +40d48 +40e49 +40f4a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +41054 +42055 +43056 +44057 +45058 +46059 +4705a +48021 +49022 +4a023 +4b024 +4c025 +4d026 +4e027 +4f028 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4013c +4023d +4033e +4043f +40540 +4065b +4075c +4085d +4095e +40a5f +40b60 +40c7b +40d7c +40e7d +40f7e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +41033 +42034 +43035 +44036 +45037 +46038 +47039 +48061 +49062 +4a063 +4b064 +4c065 +4d066 +4e067 +4f068 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +40172 +40273 +40374 +40475 +40576 +40677 +40778 +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c015f +c0260 +c037b +c047c +c057d +c067e +c0720 +c0809 +c090a +c0a0d +c0b0b +c0c0c +c0d30 +c0e31 +c0f32 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c1063 +c2064 +c3065 +c4066 +c5067 +c6068 +c7069 +c806a +c906b +ca06c +cb06d +cc06e +cd06f +ce070 +cf071 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c0141 +c0242 +c0343 +c0444 +c0545 +c0646 +c0747 +c0848 +c0949 +c0a4a +c0b4b +c0c4c +c0d4d +c0e4e +c0f4f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c1059 +c205a +c3021 +c4022 +c5023 +c6024 +c7025 +c8026 +c9027 +ca028 +cb029 +cc02a +cd02b +ce02c +cf02d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c015b +c025c +c035d +c045e +c050a +c0660 +c077b +c087c +c097d +c0a7e +c0b20 +c0c09 +c0d0a +c0e0d +c0f0b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c1038 +c2039 +c3061 +c4062 +c5063 +c6064 +c7065 +c8066 +c9067 +ca068 +cb069 +cc06a +cd06b +ce06c +cf06d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c0177 +c0278 +c0379 +c047a +c0541 +c0642 +c0743 +c0844 +c0945 +c0a46 +c0b47 +c0c48 +c0d49 +c0e4a +c0f4b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c1055 +c2056 +c3057 +c4058 +c5059 +c605a +c7021 +c8022 +c9023 +ca024 +cb025 +cc026 +cd027 +ce028 +cf029 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c013d +c023e +c033f +c0440 +c055b +c065c +c075d +c085e +c095f +c0a60 +c0b7b +c0c7c +c0d7d +c0e7e +c0f20 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c1034 +c2035 +c3036 +c4037 +c5038 +c6039 +c7061 +c8062 +c9063 +ca064 +cb065 +cc066 +cd067 +ce068 +cf069 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c0173 +c0274 +c0375 +c0476 +c0577 +c0678 +c0779 +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +00160 +0027b +0037c +0047d +0057e +00620 +00709 +0080a +0090d +00a0b +00b0c +00c30 +00d31 +00e32 +00f33 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +01064 +02065 +03066 +04067 +05068 +06069 +0706a +0806b +0906c +0a06d +0b06e +0c06f +0d070 +0e071 +0f072 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +00142 +00243 +00344 +00445 +00546 +00647 +00748 +00849 +0094a +00a4b +00b4c +00c4d +00d4e +00e4f +00f50 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0105a +02021 +03022 +04023 +05024 +06025 +07026 +08027 +09028 +0a029 +0b02a +0c02b +0d02c +0e02d +0f02e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0015c +0025d +0035e +0045f +00560 +0060a +0077c +0087d +0097e +00a20 +00b09 +00c0a +00d0d +00e0b +00f0c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +01039 +02061 +03062 +04063 +05064 +06065 +07066 +08067 +09068 +0a069 +0b06a +0c06b +0d06c +0e06d +0f06e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +00178 +00279 +0037a +00441 +00542 +00643 +00744 +00845 +00946 +00a47 +00b48 +00c49 +00d4a +00e4b +00f4c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +01056 +02057 +03058 +04059 +0505a +06021 +07022 +08023 +09024 +0a025 +0b026 +0c027 +0d028 +0e029 +0f02a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0013e +0023f +00340 +0045b +0055c +0065d +0075e +0085f +00960 +00a7b +00b7c +00c7d +00d7e +00e20 +00f09 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +01035 +02036 +03037 +04038 +05039 +06061 +07062 +08063 +09064 +0a065 +0b066 +0c067 +0d068 +0e069 +0f06a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +00174 +00275 +00376 +00477 +00578 +00679 +0077a +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8017b +8027c +8037d +8047e +80520 +80609 +8070a +8080d +8090b +80a0c +80b30 +80c31 +80d32 +80e33 +80f34 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +81065 +82066 +83067 +84068 +85069 +8606a +8706b +8806c +8906d +8a06e +8b06f +8c070 +8d071 +8e072 +8f073 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +80143 +80244 +80345 +80446 +80547 +80648 +80749 +8084a +8094b +80a4c +80b4d +80c4e +80d4f +80e50 +80f51 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +81021 +82022 +83023 +84024 +85025 +86026 +87027 +88028 +89029 +8a02a +8b02b +8c02c +8d02d +8e02e +8f02f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8015d +8025e +8035f +80460 +8057b +8067c +8070a +8087e +80920 +80a09 +80b0a +80c0d +80d0b +80e0c +80f30 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +81061 +82062 +83063 +84064 +85065 +86066 +87067 +88068 +89069 +8a06a +8b06b +8c06c +8d06d +8e06e +8f06f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +80179 +8027a +80341 +80442 +80543 +80644 +80745 +80846 +80947 +80a48 +80b49 +80c4a +80d4b +80e4c +80f4d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +81057 +82058 +83059 +8405a +85021 +86022 +87023 +88024 +89025 +8a026 +8b027 +8c028 +8d029 +8e02a +8f02b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8013f +80240 +8035b +8045c +8055d +8065e +8075f +80860 +8097b +80a7c +80b7d +80c7e +80d20 +80e09 +80f0a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +81036 +82037 +83038 +84039 +85061 +86062 +87063 +88064 +89065 +8a066 +8b067 +8c068 +8d069 +8e06a +8f06b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +80175 +80276 +80377 +80478 +80579 +8067a +80741 +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4017c +4027d +4037e +40420 +40509 +4060a +4070d +4080b +4090c +40a30 +40b31 +40c32 +40d33 +40e34 +40f35 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +41066 +42067 +43068 +44069 +4506a +4606b +4706c +4806d +4906e +4a06f +4b070 +4c071 +4d072 +4e073 +4f074 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +40144 +40245 +40346 +40447 +40548 +40649 +4074a +4084b +4094c +40a4d +40b4e +40c4f +40d50 +40e51 +40f52 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +41022 +42023 +43024 +44025 +45026 +46027 +47028 +48029 +4902a +4a02b +4b02c +4c02d +4d02e +4e02f +4f03a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4015e +4025f +40360 +4047b +4057c +4067d +4077e +4080a +40909 +40a0a +40b0d +40c0b +40d0c +40e30 +40f31 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +41062 +42063 +43064 +44065 +45066 +46067 +47068 +48069 +4906a +4a06b +4b06c +4c06d +4d06e +4e06f +4f070 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4017a +40241 +40342 +40443 +40544 +40645 +40746 +40847 +40948 +40a49 +40b4a +40c4b +40d4c +40e4d +40f4e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +41058 +42059 +4305a +44021 +45022 +46023 +47024 +48025 +49026 +4a027 +4b028 +4c029 +4d02a +4e02b +4f02c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +40140 +4025b +4035c +4045d +4055e +4065f +40760 +4087b +4097c +40a7d +40b7e +40c20 +40d09 +40e0a +40f0d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +41037 +42038 +43039 +44061 +45062 +46063 +47064 +48065 +49066 +4a067 +4b068 +4c069 +4d06a +4e06b +4f06c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +40176 +40277 +40378 +40479 +4057a +40641 +40742 +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c017d +c027e +c0320 +c0409 +c050a +c060d +c070b +c080c +c0930 +c0a31 +c0b32 +c0c33 +c0d34 +c0e35 +c0f36 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c1067 +c2068 +c3069 +c406a +c506b +c606c +c706d +c806e +c906f +ca070 +cb071 +cc072 +cd073 +ce074 +cf075 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c0145 +c0246 +c0347 +c0448 +c0549 +c064a +c074b +c084c +c094d +c0a4e +c0b4f +c0c50 +c0d51 +c0e52 +c0f53 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c1023 +c2024 +c3025 +c4026 +c5027 +c6028 +c7029 +c802a +c902b +ca02c +cb02d +cc02e +cd02f +ce03a +cf03b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c015f +c0260 +c037b +c047c +c057d +c067e +c0720 +c0809 +c090a +c0a0d +c0b0b +c0c0c +c0d30 +c0e31 +c0f32 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c1063 +c2064 +c3065 +c4066 +c5067 +c6068 +c7069 +c806a +c906b +ca06c +cb06d +cc06e +cd06f +ce070 +cf071 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c0141 +c0242 +c0343 +c0444 +c0545 +c0646 +c0747 +c0848 +c0949 +c0a4a +c0b4b +c0c4c +c0d4d +c0e4e +c0f4f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c1059 +c205a +c3021 +c4022 +c5023 +c6024 +c7025 +c8026 +c9027 +ca028 +cb029 +cc02a +cd02b +ce02c +cf02d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c015b +c025c +c035d +c045e +c055f +c0660 +c077b +c087c +c097d +c0a7e +c0b20 +c0c09 +c0d0a +c0e0d +c0f0b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c1038 +c2039 +c3061 +c4062 +c5063 +c6064 +c7065 +c8066 +c9067 +ca068 +cb069 +cc06a +cd06b +ce06c +cf06d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c0177 +c0278 +c0379 +c047a +c0541 +c0642 +c0743 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0017e +00220 +00309 +0040a +0050d +0060b +0070c +00830 +00931 +00a32 +00b33 +00c34 +00d35 +00e36 +00f37 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +01068 +02069 +0306a +0406b +0506c +0606d +0706e +0806f +09070 +0a071 +0b072 +0c073 +0d074 +0e075 +0f076 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +00146 +00247 +00348 +00449 +0054a +0064b +0074c +0084d +0094e +00a4f +00b50 +00c51 +00d52 +00e53 +00f54 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +01024 +02025 +03026 +04027 +05028 +06029 +0702a +0802b +0902c +0a02d +0b02e +0c02f +0d03a +0e03b +0f03c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +00160 +0027b +0037c +0047d +0057e +00620 +00709 +0080a +0090d +00a0a +00b0c +00c30 +00d31 +00e32 +00f33 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +01064 +02065 +03066 +04067 +05068 +06069 +0706a +0806b +0906c +0a06d +0b06e +0c06f +0d070 +0e071 +0f072 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +00142 +00243 +00344 +00445 +00546 +00647 +00748 +00849 +0094a +00a4b +00b4c +00c4d +00d4e +00e4f +00f50 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0105a +02021 +03022 +04023 +05024 +06025 +07026 +08027 +09028 +0a029 +0b02a +0c02b +0d02c +0e02d +0f02e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0015c +0025d +0035e +0045f +00560 +0067b +0077c +0087d +0097e +00a20 +00b09 +00c0a +00d0d +00e0b +00f0c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +01039 +02061 +03062 +04063 +05064 +06065 +07066 +08067 +09068 +0a069 +0b06a +0c06b +0d06c +0e06d +0f06e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +00178 +00279 +0037a +00441 +00542 +00643 +00744 +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +80120 +80209 +8030a +8040d +8050b +8060c +80730 +80831 +80932 +80a33 +80b34 +80c35 +80d36 +80e37 +80f38 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +81069 +8206a +8306b +8406c +8506d +8606e +8706f +88070 +89071 +8a072 +8b073 +8c074 +8d075 +8e076 +8f077 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +80147 +80248 +80349 +8044a +8054b +8064c +8074d +8084e +8094f +80a50 +80b51 +80c52 +80d53 +80e54 +80f55 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +81025 +82026 +83027 +84028 +85029 +8602a +8702b +8802c +8902d +8a02e +8b02f +8c03a +8d03b +8e03c +8f03d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8017b +8027c +8037d +8047e +80520 +80609 +8070a +8080d +8090b +80a0c +80b0a +80c31 +80d32 +80e33 +80f34 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +81065 +82066 +83067 +84068 +85069 +8606a +8706b +8806c +8906d +8a06e +8b06f +8c070 +8d071 +8e072 +8f073 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +80143 +80244 +80345 +80446 +80547 +80648 +80749 +8084a +8094b +80a4c +80b4d +80c4e +80d4f +80e50 +80f51 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +81021 +82022 +83023 +84024 +85025 +86026 +87027 +88028 +89029 +8a02a +8b02b +8c02c +8d02d +8e02e +8f02f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8015d +8025e +8035f +80460 +8057b +8067c +8077d +8087e +80920 +80a09 +80b0a +80c0d +80d0b +80e0c +80f30 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +81061 +82062 +83063 +84064 +85065 +86066 +87067 +88068 +89069 +8a06a +8b06b +8c06c +8d06d +8e06e +8f06f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +80179 +8027a +80341 +80442 +80543 +80644 +80745 +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +40109 +4020a +4030d +4040b +4050c +40630 +40731 +40832 +40933 +40a34 +40b35 +40c36 +40d37 +40e38 +40f39 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4106a +4206b +4306c +4406d +4506e +4606f +47070 +48071 +49072 +4a073 +4b074 +4c075 +4d076 +4e077 +4f078 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +40148 +40249 +4034a +4044b +4054c +4064d +4074e +4084f +40950 +40a51 +40b52 +40c53 +40d54 +40e55 +40f56 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +41026 +42027 +43028 +44029 +4502a +4602b +4702c +4802d +4902e +4a02f +4b03a +4c03b +4d03c +4e03d +4f03e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4017c +4027d +4037e +40420 +40509 +4060a +4070d +4080b +4090c +40a30 +40b31 +40c0a +40d33 +40e34 +40f35 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +41066 +42067 +43068 +44069 +4506a +4606b +4706c +4806d +4906e +4a06f +4b070 +4c071 +4d072 +4e073 +4f074 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +40144 +40245 +40346 +40447 +40548 +40649 +4074a +4084b +4094c +40a4d +40b4e +40c4f +40d50 +40e51 +40f52 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +41022 +42023 +43024 +44025 +45026 +46027 +47028 +48029 +4902a +4a02b +4b02c +4c02d +4d02e +4e02f +4f03a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4015e +4025f +40360 +4047b +4057c +4067d +4077e +40820 +40909 +40a0a +40b0d +40c0b +40d0c +40e30 +40f31 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +41062 +42063 +43064 +44065 +45066 +46067 +47068 +48069 +4906a +4a06b +4b06c +4c06d +4d06e +4e06f +4f070 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4017a +40241 +40342 +40443 +40544 +40645 +40746 +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c010a +c020d +c030b +c040c +c0530 +c0631 +c0732 +c0833 +c0934 +c0a35 +c0b36 +c0c37 +c0d38 +c0e39 +c0f61 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c106b +c206c +c306d +c406e +c506f +c6070 +c7071 +c8072 +c9073 +ca074 +cb075 +cc076 +cd077 +ce078 +cf079 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c0149 +c024a +c034b +c044c +c054d +c064e +c074f +c0850 +c0951 +c0a52 +c0b53 +c0c54 +c0d55 +c0e56 +c0f57 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c1027 +c2028 +c3029 +c402a +c502b +c602c +c702d +c802e +c902f +ca03a +cb03b +cc03c +cd03d +ce03e +cf03f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c017d +c027e +c0320 +c0409 +c050a +c060d +c070b +c080c +c0930 +c0a31 +c0b32 +c0c33 +c0d0a +c0e35 +c0f36 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c1067 +c2068 +c3069 +c406a +c506b +c606c +c706d +c806e +c906f +ca070 +cb071 +cc072 +cd073 +ce074 +cf075 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c0145 +c0246 +c0347 +c0448 +c0549 +c064a +c074b +c084c +c094d +c0a4e +c0b4f +c0c50 +c0d51 +c0e52 +c0f53 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c1023 +c2024 +c3025 +c4026 +c5027 +c6028 +c7029 +c802a +c902b +ca02c +cb02d +cc02e +cd02f +ce03a +cf03b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c015f +c0260 +c037b +c047c +c057d +c067e +c0720 +c0809 +c090a +c0a0d +c0b0b +c0c0c +c0d30 +c0e31 +c0f32 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c1063 +c2064 +c3065 +c4066 +c5067 +c6068 +c7069 +c806a +c906b +ca06c +cb06d +cc06e +cd06f +ce070 +cf071 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c0141 +c0242 +c0343 +c0444 +c0545 +c0646 +c0747 +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0010d +0020b +0030c +00430 +00531 +00632 +00733 +00834 +00935 +00a36 +00b37 +00c38 +00d39 +00e61 +00f62 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0106c +0206d +0306e +0406f +05070 +06071 +07072 +08073 +09074 +0a075 +0b076 +0c077 +0d078 +0e079 +0f07a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0014a +0024b +0034c +0044d +0054e +0064f +00750 +00851 +00952 +00a53 +00b54 +00c55 +00d56 +00e57 +00f58 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +01028 +02029 +0302a +0402b +0502c +0602d +0702e +0802f +0903a +0a03b +0b03c +0c03d +0d03e +0e03f +0f040 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0017e +00220 +00309 +0040a +0050d +0060b +0070c +00830 +00931 +00a32 +00b33 +00c34 +00d35 +00e0a +00f37 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +01068 +02069 +0306a +0406b +0506c +0606d +0706e +0806f +09070 +0a071 +0b072 +0c073 +0d074 +0e075 +0f076 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +00146 +00247 +00348 +00449 +0054a +0064b +0074c +0084d +0094e +00a4f +00b50 +00c51 +00d52 +00e53 +00f54 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +01024 +02025 +03026 +04027 +05028 +06029 +0702a +0802b +0902c +0a02d +0b02e +0c02f +0d03a +0e03b +0f03c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +00160 +0027b +0037c +0047d +0057e +00620 +00709 +0080a +0090d +00a0b +00b0c +00c30 +00d31 +00e32 +00f33 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +01064 +02065 +03066 +04067 +05068 +06069 +0706a +0806b +0906c +0a06d +0b06e +0c06f +0d070 +0e071 +0f072 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +00142 +00243 +00344 +00445 +00546 +00647 +00748 +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8010b +8020c +80330 +80431 +80532 +80633 +80734 +80835 +80936 +80a37 +80b38 +80c39 +80d61 +80e62 +80f63 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8106d +8206e +8306f +84070 +85071 +86072 +87073 +88074 +89075 +8a076 +8b077 +8c078 +8d079 +8e07a +8f041 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8014b +8024c +8034d +8044e +8054f +80650 +80751 +80852 +80953 +80a54 +80b55 +80c56 +80d57 +80e58 +80f59 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +81029 +8202a +8302b +8402c +8502d +8602e +8702f +8803a +8903b +8a03c +8b03d +8c03e +8d03f +8e040 +8f05b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +80120 +80209 +8030a +8040d +8050b +8060c +80730 +80831 +80932 +80a33 +80b34 +80c35 +80d36 +80e37 +80f0a +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +81069 +8206a +8306b +8406c +8506d +8606e +8706f +88070 +89071 +8a072 +8b073 +8c074 +8d075 +8e076 +8f077 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +80147 +80248 +80349 +8044a +8054b +8064c +8074d +8084e +8094f +80a50 +80b51 +80c52 +80d53 +80e54 +80f55 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +81025 +82026 +83027 +84028 +85029 +8602a +8702b +8802c +8902d +8a02e +8b02f +8c03a +8d03b +8e03c +8f03d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8017b +8027c +8037d +8047e +80520 +80609 +8070a +8080d +8090b +80a0c +80b30 +80c31 +80d32 +80e33 +80f34 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +81065 +82066 +83067 +84068 +85069 +8606a +8706b +8806c +8906d +8a06e +8b06f +8c070 +8d071 +8e072 +8f073 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +80143 +80244 +80345 +80446 +80547 +80648 +80749 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4010c +40230 +40331 +40432 +40533 +40634 +40735 +40836 +40937 +40a38 +40b39 +40c61 +40d62 +40e63 +40f64 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4106e +4206f +43070 +44071 +45072 +46073 +47074 +48075 +49076 +4a077 +4b078 +4c079 +4d07a +4e041 +4f042 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4014c +4024d +4034e +4044f +40550 +40651 +40752 +40853 +40954 +40a55 +40b56 +40c57 +40d58 +40e59 +40f5a +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4102a +4202b +4302c +4402d +4502e +4602f +4703a +4803b +4903c +4a03d +4b03e +4c03f +4d040 +4e05b +4f05c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +40109 +4020a +4030d +4040b +4050c +40630 +40731 +40832 +40933 +40a34 +40b35 +40c36 +40d37 +40e38 +40f39 +4070a +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4106a +4206b +4306c +4406d +4506e +4606f +47070 +48071 +49072 +4a073 +4b074 +4c075 +4d076 +4e077 +4f078 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +40148 +40249 +4034a +4044b +4054c +4064d +4074e +4084f +40950 +40a51 +40b52 +40c53 +40d54 +40e55 +40f56 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +41026 +42027 +43028 +44029 +4502a +4602b +4702c +4802d +4902e +4a02f +4b03a +4c03b +4d03c +4e03d +4f03e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4017c +4027d +4037e +40420 +40509 +4060a +4070d +4080b +4090c +40a30 +40b31 +40c32 +40d33 +40e34 +40f35 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +41066 +42067 +43068 +44069 +4506a +4606b +4706c +4806d +4906e +4a06f +4b070 +4c071 +4d072 +4e073 +4f074 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +40144 +40245 +40346 +40447 +40548 +40649 +4074a +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c0130 +c0231 +c0332 +c0433 +c0534 +c0635 +c0736 +c0837 +c0938 +c0a39 +c0b61 +c0c62 +c0d63 +c0e64 +c0f65 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c106f +c2070 +c3071 +c4072 +c5073 +c6074 +c7075 +c8076 +c9077 +ca078 +cb079 +cc07a +cd041 +ce042 +cf043 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c014d +c024e +c034f +c0450 +c0551 +c0652 +c0753 +c0854 +c0955 +c0a56 +c0b57 +c0c58 +c0d59 +c0e5a +c0f21 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c102b +c202c +c302d +c402e +c502f +c603a +c703b +c803c +c903d +ca03e +cb03f +cc040 +cd05b +ce05c +cf05d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c010a +c020d +c030b +c040c +c0530 +c0631 +c0732 +c0833 +c0934 +c0a35 +c0b36 +c0c37 +c0d38 +c0e39 +c0f61 +c0762 +c070a +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c106b +c206c +c306d +c406e +c506f +c6070 +c7071 +c8072 +c9073 +ca074 +cb075 +cc076 +cd077 +ce078 +cf079 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c0149 +c024a +c034b +c044c +c054d +c064e +c074f +c0850 +c0951 +c0a52 +c0b53 +c0c54 +c0d55 +c0e56 +c0f57 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c1027 +c2028 +c3029 +c402a +c502b +c602c +c702d +c802e +c902f +ca03a +cb03b +cc03c +cd03d +ce03e +cf03f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c017d +c027e +c0320 +c0409 +c050a +c060d +c070b +c080c +c0930 +c0a31 +c0b32 +c0c33 +c0d34 +c0e35 +c0f36 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c1067 +c2068 +c3069 +c406a +c506b +c606c +c706d +c806e +c906f +ca070 +cb071 +cc072 +cd073 +ce074 +cf075 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c0145 +c0246 +c0347 +c0448 +c0549 +c064a +c074b +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +00131 +00232 +00333 +00434 +00535 +00636 +00737 +00838 +00939 +00a61 +00b62 +00c63 +00d64 +00e65 +00f66 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +01070 +02071 +03072 +04073 +05074 +06075 +07076 +08077 +09078 +0a079 +0b07a +0c041 +0d042 +0e043 +0f044 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0014e +0024f +00350 +00451 +00552 +00653 +00754 +00855 +00956 +00a57 +00b58 +00c59 +00d5a +00e21 +00f22 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0102c +0202d +0302e +0402f +0503a +0603b +0703c +0803d +0903e +0a03f +0b040 +0c05b +0d05c +0e05d +0f05e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0010d +0020b +0030c +00430 +00531 +00632 +00733 +00834 +00935 +00a36 +00b37 +00c38 +00d39 +00e61 +00f62 +00763 +00764 +0070a +00766 +00767 +00768 +00769 +0076a +0006b +0106c +0206d +0306e +0406f +05070 +06071 +07072 +08073 +09074 +0a075 +0b076 +0c077 +0d078 +0e079 +0f07a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0014a +0024b +0034c +0044d +0054e +0064f +00750 +00851 +00952 +00a53 +00b54 +00c55 +00d56 +00e57 +00f58 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +01028 +02029 +0302a +0402b +0502c +0602d +0702e +0802f +0903a +0a03b +0b03c +0c03d +0d03e +0e03f +0f040 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0017e +00220 +00309 +0040a +0050d +0060b +0070c +00830 +00931 +00a32 +00b33 +00c34 +00d35 +00e36 +00f37 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +01068 +02069 +0306a +0406b +0506c +0606d +0706e +0806f +09070 +0a071 +0b072 +0c073 +0d074 +0e075 +0f076 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +00146 +00247 +00348 +00449 +0054a +0064b +0074c +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +80132 +80233 +80334 +80435 +80536 +80637 +80738 +80839 +80961 +80a62 +80b63 +80c64 +80d65 +80e66 +80f67 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +81071 +82072 +83073 +84074 +85075 +86076 +87077 +88078 +89079 +8a07a +8b041 +8c042 +8d043 +8e044 +8f045 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8014f +80250 +80351 +80452 +80553 +80654 +80755 +80856 +80957 +80a58 +80b59 +80c5a +80d21 +80e22 +80f23 +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8102d +8202e +8302f +8403a +8503b +8603c +8703d +8803e +8903f +8a040 +8b05b +8c05c +8d05d +8e05e +8f05f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8010b +8020c +80330 +80431 +80532 +80633 +80734 +80835 +80936 +80a37 +80b38 +80c39 +80d61 +80e62 +80f63 +80764 +80765 +80766 +8070a +80768 +80769 +8076a +8076b +8006c +8106d +8206e +8306f +84070 +85071 +86072 +87073 +88074 +89075 +8a076 +8b077 +8c078 +8d079 +8e07a +8f041 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8014b +8024c +8034d +8044e +8054f +80650 +80751 +80852 +80953 +80a54 +80b55 +80c56 +80d57 +80e58 +80f59 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +81029 +8202a +8302b +8402c +8502d +8602e +8702f +8803a +8903b +8a03c +8b03d +8c03e +8d03f +8e040 +8f05b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +80120 +80209 +8030a +8040d +8050b +8060c +80730 +80831 +80932 +80a33 +80b34 +80c35 +80d36 +80e37 +80f38 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +81069 +8206a +8306b +8406c +8506d +8606e +8706f +88070 +89071 +8a072 +8b073 +8c074 +8d075 +8e076 +8f077 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +80147 +80248 +80349 +8044a +8054b +8064c +8074d +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +40133 +40234 +40335 +40436 +40537 +40638 +40739 +40861 +40962 +40a63 +40b64 +40c65 +40d66 +40e67 +40f68 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +41072 +42073 +43074 +44075 +45076 +46077 +47078 +48079 +4907a +4a041 +4b042 +4c043 +4d044 +4e045 +4f046 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +40150 +40251 +40352 +40453 +40554 +40655 +40756 +40857 +40958 +40a59 +40b5a +40c21 +40d22 +40e23 +40f24 +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4102e +4202f +4303a +4403b +4503c +4603d +4703e +4803f +49040 +4a05b +4b05c +4c05d +4d05e +4e05f +4f060 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4010c +40230 +40331 +40432 +40533 +40634 +40735 +40836 +40937 +40a38 +40b39 +40c61 +40d62 +40e63 +40f64 +40765 +40766 +40767 +40768 +4070a +4076a +4076b +4076c +4006d +4106e +4206f +43070 +44071 +45072 +46073 +47074 +48075 +49076 +4a077 +4b078 +4c079 +4d07a +4e041 +4f042 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4014c +4024d +4034e +4044f +40550 +40651 +40752 +40853 +40954 +40a55 +40b56 +40c57 +40d58 +40e59 +40f5a +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4102a +4202b +4302c +4402d +4502e +4602f +4703a +4803b +4903c +4a03d +4b03e +4c03f +4d040 +4e05b +4f05c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +40109 +4020a +4030d +4040b +4050c +40630 +40731 +40832 +40933 +40a34 +40b35 +40c36 +40d37 +40e38 +40f39 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4106a +4206b +4306c +4406d +4506e +4606f +47070 +48071 +49072 +4a073 +4b074 +4c075 +4d076 +4e077 +4f078 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +40148 +40249 +4034a +4044b +4054c +4064d +4074e +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c0134 +c0235 +c0336 +c0437 +c0538 +c0639 +c0761 +c0862 +c0963 +c0a64 +c0b65 +c0c66 +c0d67 +c0e68 +c0f69 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c1073 +c2074 +c3075 +c4076 +c5077 +c6078 +c7079 +c807a +c9041 +ca042 +cb043 +cc044 +cd045 +ce046 +cf047 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c0151 +c0252 +c0353 +c0454 +c0555 +c0656 +c0757 +c0858 +c0959 +c0a5a +c0b21 +c0c22 +c0d23 +c0e24 +c0f25 +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c102f +c203a +c303b +c403c +c503d +c603e +c703f +c8040 +c905b +ca05c +cb05d +cc05e +cd05f +ce060 +cf07b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c0130 +c0231 +c0332 +c0433 +c0534 +c0635 +c0736 +c0837 +c0938 +c0a39 +c0b61 +c0c62 +c0d63 +c0e64 +c0f65 +c0766 +c0767 +c0768 +c0769 +c076a +c070a +c076c +c076d +c006e +c106f +c2070 +c3071 +c4072 +c5073 +c6074 +c7075 +c8076 +c9077 +ca078 +cb079 +cc07a +cd041 +ce042 +cf043 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c014d +c024e +c034f +c0450 +c0551 +c0652 +c0753 +c0854 +c0955 +c0a56 +c0b57 +c0c58 +c0d59 +c0e5a +c0f21 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c102b +c202c +c302d +c402e +c502f +c603a +c703b +c803c +c903d +ca03e +cb03f +cc040 +cd05b +ce05c +cf05d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c010a +c020d +c030b +c040c +c0530 +c0631 +c0732 +c0833 +c0934 +c0a35 +c0b36 +c0c37 +c0d38 +c0e39 +c0f61 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c106b +c206c +c306d +c406e +c506f +c6070 +c7071 +c8072 +c9073 +ca074 +cb075 +cc076 +cd077 +ce078 +cf079 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c0149 +c024a +c034b +c044c +c054d +c064e +c074f +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +00135 +00236 +00337 +00438 +00539 +00661 +00762 +00863 +00964 +00a65 +00b66 +00c67 +00d68 +00e69 +00f6a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +01074 +02075 +03076 +04077 +05078 +06079 +0707a +08041 +09042 +0a043 +0b044 +0c045 +0d046 +0e047 +0f048 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +00152 +00253 +00354 +00455 +00556 +00657 +00758 +00859 +0095a +00a21 +00b22 +00c23 +00d24 +00e25 +00f26 +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0103a +0203b +0303c +0403d +0503e +0603f +07040 +0805b +0905c +0a05d +0b05e +0c05f +0d060 +0e07b +0f07c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +00131 +00232 +00333 +00434 +00535 +00636 +00737 +00838 +00939 +00a61 +00b62 +00c63 +00d64 +00e65 +00f66 +00767 +00768 +00769 +0076a +0076b +0076c +0070a +0076e +0006f +01070 +02071 +03072 +04073 +05074 +06075 +07076 +08077 +09078 +0a079 +0b07a +0c041 +0d042 +0e043 +0f044 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0014e +0024f +00350 +00451 +00552 +00653 +00754 +00855 +00956 +00a57 +00b58 +00c59 +00d5a +00e21 +00f22 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0102c +0202d +0302e +0402f +0503a +0603b +0703c +0803d +0903e +0a03f +0b040 +0c05b +0d05c +0e05d +0f05e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0010d +0020b +0030c +00430 +00531 +00632 +00733 +00834 +00935 +00a36 +00b37 +00c38 +00d39 +00e61 +00f62 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0106c +0206d +0306e +0406f +05070 +06071 +07072 +08073 +09074 +0a075 +0b076 +0c077 +0d078 +0e079 +0f07a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0014a +0024b +0034c +0044d +0054e +0064f +00750 +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +80136 +80237 +80338 +80439 +80561 +80662 +80763 +80864 +80965 +80a66 +80b67 +80c68 +80d69 +80e6a +80f6b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +81075 +82076 +83077 +84078 +85079 +8607a +87041 +88042 +89043 +8a044 +8b045 +8c046 +8d047 +8e048 +8f049 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +80153 +80254 +80355 +80456 +80557 +80658 +80759 +8085a +80921 +80a22 +80b23 +80c24 +80d25 +80e26 +80f27 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8103b +8203c +8303d +8403e +8503f +86040 +8705b +8805c +8905d +8a05e +8b05f +8c060 +8d07b +8e07c +8f07d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +80132 +80233 +80334 +80435 +80536 +80637 +80738 +80839 +80961 +80a62 +80b63 +80c64 +80d65 +80e66 +80f67 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8070a +80070 +81071 +82072 +83073 +84074 +85075 +86076 +87077 +88078 +89079 +8a07a +8b041 +8c042 +8d043 +8e044 +8f045 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8014f +80250 +80351 +80452 +80553 +80654 +80755 +80856 +80957 +80a58 +80b59 +80c5a +80d21 +80e22 +80f23 +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8102d +8202e +8302f +8403a +8503b +8603c +8703d +8803e +8903f +8a040 +8b05b +8c05c +8d05d +8e05e +8f05f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8010b +8020c +80330 +80431 +80532 +80633 +80734 +80835 +80936 +80a37 +80b38 +80c39 +80d61 +80e62 +80f63 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8106d +8206e +8306f +84070 +85071 +86072 +87073 +88074 +89075 +8a076 +8b077 +8c078 +8d079 +8e07a +8f041 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8014b +8024c +8034d +8044e +8054f +80650 +80751 +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +40137 +40238 +40339 +40461 +40562 +40663 +40764 +40865 +40966 +40a67 +40b68 +40c69 +40d6a +40e6b +40f6c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +41076 +42077 +43078 +44079 +4507a +46041 +47042 +48043 +49044 +4a045 +4b046 +4c047 +4d048 +4e049 +4f04a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +40154 +40255 +40356 +40457 +40558 +40659 +4075a +40821 +40922 +40a23 +40b24 +40c25 +40d26 +40e27 +40f28 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4103c +4203d +4303e +4403f +45040 +4605b +4705c +4805d +4905e +4a05f +4b060 +4c07b +4d07c +4e07d +4f07e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +40133 +40234 +40335 +40436 +40537 +40638 +40739 +40861 +40962 +40a63 +40b64 +40c65 +40d66 +40e67 +40f68 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +4000a +41072 +42073 +43074 +44075 +45076 +46077 +47078 +48079 +4907a +4a041 +4b042 +4c043 +4d044 +4e045 +4f046 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +40150 +40251 +40352 +40453 +40554 +40655 +40756 +40857 +40958 +40a59 +40b5a +40c21 +40d22 +40e23 +40f24 +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4102e +4202f +4303a +4403b +4503c +4603d +4703e +4803f +49040 +4a05b +4b05c +4c05d +4d05e +4e05f +4f060 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4010c +40230 +40331 +40432 +40533 +40634 +40735 +40836 +40937 +40a38 +40b39 +40c61 +40d62 +40e63 +40f64 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4106e +4206f +43070 +44071 +45072 +46073 +47074 +48075 +49076 +4a077 +4b078 +4c079 +4d07a +4e041 +4f042 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4014c +4024d +4034e +4044f +40550 +40651 +40752 +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c0138 +c0239 +c0361 +c0462 +c0563 +c0664 +c0765 +c0866 +c0967 +c0a68 +c0b69 +c0c6a +c0d6b +c0e6c +c0f6d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c1077 +c2078 +c3079 +c407a +c5041 +c6042 +c7043 +c8044 +c9045 +ca046 +cb047 +cc048 +cd049 +ce04a +cf04b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c0155 +c0256 +c0357 +c0458 +c0559 +c065a +c0721 +c0822 +c0923 +c0a24 +c0b25 +c0c26 +c0d27 +c0e28 +c0f29 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c103d +c203e +c303f +c4040 +c505b +c605c +c705d +c805e +c905f +ca060 +cb07b +cc07c +cd07d +ce07e +cf020 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c0134 +c0235 +c0336 +c0437 +c0538 +c0639 +c0761 +c0862 +c0963 +c0a64 +c0b65 +c0c66 +c0d67 +c0e68 +c0f69 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c100a +c2074 +c3075 +c4076 +c5077 +c6078 +c7079 +c807a +c9041 +ca042 +cb043 +cc044 +cd045 +ce046 +cf047 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c0151 +c0252 +c0353 +c0454 +c0555 +c0656 +c0757 +c0858 +c0959 +c0a5a +c0b21 +c0c22 +c0d23 +c0e24 +c0f25 +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c102f +c203a +c303b +c403c +c503d +c603e +c703f +c8040 +c905b +ca05c +cb05d +cc05e +cd05f +ce060 +cf07b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c0130 +c0231 +c0332 +c0433 +c0534 +c0635 +c0736 +c0837 +c0938 +c0a39 +c0b61 +c0c62 +c0d63 +c0e64 +c0f65 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c106f +c2070 +c3071 +c4072 +c5073 +c6074 +c7075 +c8076 +c9077 +ca078 +cb079 +cc07a +cd041 +ce042 +cf043 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c014d +c024e +c034f +c0450 +c0551 +c0652 +c0753 +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +00139 +00261 +00362 +00463 +00564 +00665 +00766 +00867 +00968 +00a69 +00b6a +00c6b +00d6c +00e6d +00f6e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +01078 +02079 +0307a +04041 +05042 +06043 +07044 +08045 +09046 +0a047 +0b048 +0c049 +0d04a +0e04b +0f04c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +00156 +00257 +00358 +00459 +0055a +00621 +00722 +00823 +00924 +00a25 +00b26 +00c27 +00d28 +00e29 +00f2a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0103e +0203f +03040 +0405b +0505c +0605d +0705e +0805f +09060 +0a07b +0b07c +0c07d +0d07e +0e020 +0f009 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +00135 +00236 +00337 +00438 +00539 +00661 +00762 +00863 +00964 +00a65 +00b66 +00c67 +00d68 +00e69 +00f6a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +01074 +0200a +03076 +04077 +05078 +06079 +0707a +08041 +09042 +0a043 +0b044 +0c045 +0d046 +0e047 +0f048 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +00152 +00253 +00354 +00455 +00556 +00657 +00758 +00859 +0095a +00a21 +00b22 +00c23 +00d24 +00e25 +00f26 +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0103a +0203b +0303c +0403d +0503e +0603f +07040 +0805b +0905c +0a05d +0b05e +0c05f +0d060 +0e07b +0f07c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +00131 +00232 +00333 +00434 +00535 +00636 +00737 +00838 +00939 +00a61 +00b62 +00c63 +00d64 +00e65 +00f66 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +01070 +02071 +03072 +04073 +05074 +06075 +07076 +08077 +09078 +0a079 +0b07a +0c041 +0d042 +0e043 +0f044 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0014e +0024f +00350 +00451 +00552 +00653 +00754 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +80161 +80262 +80363 +80464 +80565 +80666 +80767 +80868 +80969 +80a6a +80b6b +80c6c +80d6d +80e6e +80f6f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +81079 +8207a +83041 +84042 +85043 +86044 +87045 +88046 +89047 +8a048 +8b049 +8c04a +8d04b +8e04c +8f04d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +80157 +80258 +80359 +8045a +80521 +80622 +80723 +80824 +80925 +80a26 +80b27 +80c28 +80d29 +80e2a +80f2b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8103f +82040 +8305b +8405c +8505d +8605e +8705f +88060 +8907b +8a07c +8b07d +8c07e +8d020 +8e009 +8f00a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +80136 +80237 +80338 +80439 +80561 +80662 +80763 +80864 +80965 +80a66 +80b67 +80c68 +80d69 +80e6a +80f6b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +81075 +82076 +8300a +84078 +85079 +8607a +87041 +88042 +89043 +8a044 +8b045 +8c046 +8d047 +8e048 +8f049 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +80153 +80254 +80355 +80456 +80557 +80658 +80759 +8085a +80921 +80a22 +80b23 +80c24 +80d25 +80e26 +80f27 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8103b +8203c +8303d +8403e +8503f +86040 +8705b +8805c +8905d +8a05e +8b05f +8c060 +8d07b +8e07c +8f07d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +80132 +80233 +80334 +80435 +80536 +80637 +80738 +80839 +80961 +80a62 +80b63 +80c64 +80d65 +80e66 +80f67 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +81071 +82072 +83073 +84074 +85075 +86076 +87077 +88078 +89079 +8a07a +8b041 +8c042 +8d043 +8e044 +8f045 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8014f +80250 +80351 +80452 +80553 +80654 +80755 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +40162 +40263 +40364 +40465 +40566 +40667 +40768 +40869 +4096a +40a6b +40b6c +40c6d +40d6e +40e6f +40f70 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4107a +42041 +43042 +44043 +45044 +46045 +47046 +48047 +49048 +4a049 +4b04a +4c04b +4d04c +4e04d +4f04e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +40158 +40259 +4035a +40421 +40522 +40623 +40724 +40825 +40926 +40a27 +40b28 +40c29 +40d2a +40e2b +40f2c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +41040 +4205b +4305c +4405d +4505e +4605f +47060 +4807b +4907c +4a07d +4b07e +4c020 +4d009 +4e00a +4f00d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +40137 +40238 +40339 +40461 +40562 +40663 +40764 +40865 +40966 +40a67 +40b68 +40c69 +40d6a +40e6b +40f6c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +41076 +42077 +43078 +4400a +4507a +46041 +47042 +48043 +49044 +4a045 +4b046 +4c047 +4d048 +4e049 +4f04a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +40154 +40255 +40356 +40457 +40558 +40659 +4075a +40821 +40922 +40a23 +40b24 +40c25 +40d26 +40e27 +40f28 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4103c +4203d +4303e +4403f +45040 +4605b +4705c +4805d +4905e +4a05f +4b060 +4c07b +4d07c +4e07d +4f07e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +40133 +40234 +40335 +40436 +40537 +40638 +40739 +40861 +40962 +40a63 +40b64 +40c65 +40d66 +40e67 +40f68 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +41072 +42073 +43074 +44075 +45076 +46077 +47078 +48079 +4907a +4a041 +4b042 +4c043 +4d044 +4e045 +4f046 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +40150 +40251 +40352 +40453 +40554 +40655 +40756 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c0163 +c0264 +c0365 +c0466 +c0567 +c0668 +c0769 +c086a +c096b +c0a6c +c0b6d +c0c6e +c0d6f +c0e70 +c0f71 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c1041 +c2042 +c3043 +c4044 +c5045 +c6046 +c7047 +c8048 +c9049 +ca04a +cb04b +cc04c +cd04d +ce04e +cf04f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c0159 +c025a +c0321 +c0422 +c0523 +c0624 +c0725 +c0826 +c0927 +c0a28 +c0b29 +c0c2a +c0d2b +c0e2c +c0f2d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c105b +c205c +c305d +c405e +c505f +c6060 +c707b +c807c +c907d +ca07e +cb020 +cc009 +cd00a +ce00d +cf00b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c0138 +c0239 +c0361 +c0462 +c0563 +c0664 +c0765 +c0866 +c0967 +c0a68 +c0b69 +c0c6a +c0d6b +c0e6c +c0f6d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c1077 +c2078 +c3079 +c407a +c500a +c6042 +c7043 +c8044 +c9045 +ca046 +cb047 +cc048 +cd049 +ce04a +cf04b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c0155 +c0256 +c0357 +c0458 +c0559 +c065a +c0721 +c0822 +c0923 +c0a24 +c0b25 +c0c26 +c0d27 +c0e28 +c0f29 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c103d +c203e +c303f +c4040 +c505b +c605c +c705d +c805e +c905f +ca060 +cb07b +cc07c +cd07d +ce07e +cf020 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c0134 +c0235 +c0336 +c0437 +c0538 +c0639 +c0761 +c0862 +c0963 +c0a64 +c0b65 +c0c66 +c0d67 +c0e68 +c0f69 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c1073 +c2074 +c3075 +c4076 +c5077 +c6078 +c7079 +c807a +c9041 +ca042 +cb043 +cc044 +cd045 +ce046 +cf047 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c0151 +c0252 +c0353 +c0454 +c0555 +c0656 +c0757 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +00164 +00265 +00366 +00467 +00568 +00669 +0076a +0086b +0096c +00a6d +00b6e +00c6f +00d70 +00e71 +00f72 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +01042 +02043 +03044 +04045 +05046 +06047 +07048 +08049 +0904a +0a04b +0b04c +0c04d +0d04e +0e04f +0f050 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0015a +00221 +00322 +00423 +00524 +00625 +00726 +00827 +00928 +00a29 +00b2a +00c2b +00d2c +00e2d +00f2e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0105c +0205d +0305e +0405f +05060 +0607b +0707c +0807d +0907e +0a020 +0b009 +0c00a +0d00d +0e00b +0f00c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +00139 +00261 +00362 +00463 +00564 +00665 +00766 +00867 +00968 +00a69 +00b6a +00c6b +00d6c +00e6d +00f6e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +01078 +02079 +0307a +04041 +05042 +0600a +07044 +08045 +09046 +0a047 +0b048 +0c049 +0d04a +0e04b +0f04c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +00156 +00257 +00358 +00459 +0055a +00621 +00722 +00823 +00924 +00a25 +00b26 +00c27 +00d28 +00e29 +00f2a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0103e +0203f +03040 +0405b +0505c +0605d +0705e +0805f +09060 +0a07b +0b07c +0c07d +0d07e +0e020 +0f009 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +00135 +00236 +00337 +00438 +00539 +00661 +00762 +00863 +00964 +00a65 +00b66 +00c67 +00d68 +00e69 +00f6a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +01074 +02075 +03076 +04077 +05078 +06079 +0707a +08041 +09042 +0a043 +0b044 +0c045 +0d046 +0e047 +0f048 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +00152 +00253 +00354 +00455 +00556 +00657 +00758 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +80165 +80266 +80367 +80468 +80569 +8066a +8076b +8086c +8096d +80a6e +80b6f +80c70 +80d71 +80e72 +80f73 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +81043 +82044 +83045 +84046 +85047 +86048 +87049 +8804a +8904b +8a04c +8b04d +8c04e +8d04f +8e050 +8f051 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +80121 +80222 +80323 +80424 +80525 +80626 +80727 +80828 +80929 +80a2a +80b2b +80c2c +80d2d +80e2e +80f2f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8105d +8205e +8305f +84060 +8507b +8607c +8707d +8807e +89020 +8a009 +8b00a +8c00d +8d00b +8e00c +8f030 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +80161 +80262 +80363 +80464 +80565 +80666 +80767 +80868 +80969 +80a6a +80b6b +80c6c +80d6d +80e6e +80f6f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +81079 +8207a +83041 +84042 +85043 +86044 +8700a +88046 +89047 +8a048 +8b049 +8c04a +8d04b +8e04c +8f04d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +80157 +80258 +80359 +8045a +80521 +80622 +80723 +80824 +80925 +80a26 +80b27 +80c28 +80d29 +80e2a +80f2b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8103f +82040 +8305b +8405c +8505d +8605e +8705f +88060 +8907b +8a07c +8b07d +8c07e +8d020 +8e009 +8f00a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +80136 +80237 +80338 +80439 +80561 +80662 +80763 +80864 +80965 +80a66 +80b67 +80c68 +80d69 +80e6a +80f6b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +81075 +82076 +83077 +84078 +85079 +8607a +87041 +88042 +89043 +8a044 +8b045 +8c046 +8d047 +8e048 +8f049 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +80153 +80254 +80355 +80456 +80557 +80658 +80759 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +40166 +40267 +40368 +40469 +4056a +4066b +4076c +4086d +4096e +40a6f +40b70 +40c71 +40d72 +40e73 +40f74 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +41044 +42045 +43046 +44047 +45048 +46049 +4704a +4804b +4904c +4a04d +4b04e +4c04f +4d050 +4e051 +4f052 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +40122 +40223 +40324 +40425 +40526 +40627 +40728 +40829 +4092a +40a2b +40b2c +40c2d +40d2e +40e2f +40f3a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4105e +4205f +43060 +4407b +4507c +4607d +4707e +48020 +49009 +4a00a +4b00d +4c00b +4d00c +4e030 +4f031 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +40162 +40263 +40364 +40465 +40566 +40667 +40768 +40869 +4096a +40a6b +40b6c +40c6d +40d6e +40e6f +40f70 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4107a +42041 +43042 +44043 +45044 +46045 +47046 +4800a +49048 +4a049 +4b04a +4c04b +4d04c +4e04d +4f04e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +40158 +40259 +4035a +40421 +40522 +40623 +40724 +40825 +40926 +40a27 +40b28 +40c29 +40d2a +40e2b +40f2c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +41040 +4205b +4305c +4405d +4505e +4605f +47060 +4807b +4907c +4a07d +4b07e +4c020 +4d009 +4e00a +4f00d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +40137 +40238 +40339 +40461 +40562 +40663 +40764 +40865 +40966 +40a67 +40b68 +40c69 +40d6a +40e6b +40f6c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +41076 +42077 +43078 +44079 +4507a +46041 +47042 +48043 +49044 +4a045 +4b046 +4c047 +4d048 +4e049 +4f04a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +40154 +40255 +40356 +40457 +40558 +40659 +4075a +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c0167 +c0268 +c0369 +c046a +c056b +c066c +c076d +c086e +c096f +c0a70 +c0b71 +c0c72 +c0d73 +c0e74 +c0f75 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c1045 +c2046 +c3047 +c4048 +c5049 +c604a +c704b +c804c +c904d +ca04e +cb04f +cc050 +cd051 +ce052 +cf053 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c0123 +c0224 +c0325 +c0426 +c0527 +c0628 +c0729 +c082a +c092b +c0a2c +c0b2d +c0c2e +c0d2f +c0e3a +c0f3b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c105f +c2060 +c307b +c407c +c507d +c607e +c7020 +c8009 +c900a +ca00d +cb00b +cc00c +cd030 +ce031 +cf032 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c0163 +c0264 +c0365 +c0466 +c0567 +c0668 +c0769 +c086a +c096b +c0a6c +c0b6d +c0c6e +c0d6f +c0e70 +c0f71 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c1041 +c2042 +c3043 +c4044 +c5045 +c6046 +c7047 +c8048 +c900a +ca04a +cb04b +cc04c +cd04d +ce04e +cf04f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c0159 +c025a +c0321 +c0422 +c0523 +c0624 +c0725 +c0826 +c0927 +c0a28 +c0b29 +c0c2a +c0d2b +c0e2c +c0f2d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c105b +c205c +c305d +c405e +c505f +c6060 +c707b +c807c +c907d +ca07e +cb020 +cc009 +cd00a +ce00d +cf00b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c0138 +c0239 +c0361 +c0462 +c0563 +c0664 +c0765 +c0866 +c0967 +c0a68 +c0b69 +c0c6a +c0d6b +c0e6c +c0f6d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c1077 +c2078 +c3079 +c407a +c5041 +c6042 +c7043 +c8044 +c9045 +ca046 +cb047 +cc048 +cd049 +ce04a +cf04b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c0155 +c0256 +c0357 +c0458 +c0559 +c065a +c0721 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +00168 +00269 +0036a +0046b +0056c +0066d +0076e +0086f +00970 +00a71 +00b72 +00c73 +00d74 +00e75 +00f76 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +01046 +02047 +03048 +04049 +0504a +0604b +0704c +0804d +0904e +0a04f +0b050 +0c051 +0d052 +0e053 +0f054 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +00124 +00225 +00326 +00427 +00528 +00629 +0072a +0082b +0092c +00a2d +00b2e +00c2f +00d3a +00e3b +00f3c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +01060 +0207b +0307c +0407d +0507e +06020 +07009 +0800a +0900d +0a00b +0b00c +0c030 +0d031 +0e032 +0f033 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +00164 +00265 +00366 +00467 +00568 +00669 +0076a +0086b +0096c +00a6d +00b6e +00c6f +00d70 +00e71 +00f72 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +01042 +02043 +03044 +04045 +05046 +06047 +07048 +08049 +0904a +0a00a +0b04c +0c04d +0d04e +0e04f +0f050 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0015a +00221 +00322 +00423 +00524 +00625 +00726 +00827 +00928 +00a29 +00b2a +00c2b +00d2c +00e2d +00f2e +0072f +0073a +0073b +0073c +0073d +0073e +0073f +00740 +0005b +0105c +0205d +0305e +0405f +05060 +0607b +0707c +0807d +0907e +0a020 +0b009 +0c00a +0d00d +0e00b +0f00c +00730 +00731 +00732 +00733 +00734 +00735 +00736 +00737 +00038 +00139 +00261 +00362 +00463 +00564 +00665 +00766 +00867 +00968 +00a69 +00b6a +00c6b +00d6c +00e6d +00f6e +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +01078 +02079 +0307a +04041 +05042 +06043 +07044 +08045 +09046 +0a047 +0b048 +0c049 +0d04a +0e04b +0f04c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +00156 +00257 +00358 +00459 +0055a +00621 +00722 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +80169 +8026a +8036b +8046c +8056d +8066e +8076f +80870 +80971 +80a72 +80b73 +80c74 +80d75 +80e76 +80f77 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +81047 +82048 +83049 +8404a +8504b +8604c +8704d +8804e +8904f +8a050 +8b051 +8c052 +8d053 +8e054 +8f055 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +80125 +80226 +80327 +80428 +80529 +8062a +8072b +8082c +8092d +80a2e +80b2f +80c3a +80d3b +80e3c +80f3d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8107b +8207c +8307d +8407e +85020 +86009 +8700a +8800d +8900b +8a00c +8b030 +8c031 +8d032 +8e033 +8f034 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +80165 +80266 +80367 +80468 +80569 +8066a +8076b +8086c +8096d +80a6e +80b6f +80c70 +80d71 +80e72 +80f73 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +81043 +82044 +83045 +84046 +85047 +86048 +87049 +8804a +8904b +8a04c +8b00a +8c04e +8d04f +8e050 +8f051 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +80121 +80222 +80323 +80424 +80525 +80626 +80727 +80828 +80929 +80a2a +80b2b +80c2c +80d2d +80e2e +80f2f +8073a +8073b +8073c +8073d +8073e +8073f +80740 +8075b +8005c +8105d +8205e +8305f +84060 +8507b +8607c +8707d +8807e +89020 +8a009 +8b00a +8c00d +8d00b +8e00c +8f030 +80731 +80732 +80733 +80734 +80735 +80736 +80737 +80738 +80039 +80161 +80262 +80363 +80464 +80565 +80666 +80767 +80868 +80969 +80a6a +80b6b +80c6c +80d6d +80e6e +80f6f +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +81079 +8207a +83041 +84042 +85043 +86044 +87045 +88046 +89047 +8a048 +8b049 +8c04a +8d04b +8e04c +8f04d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +80157 +80258 +80359 +8045a +80521 +80622 +80723 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4016a +4026b +4036c +4046d +4056e +4066f +40770 +40871 +40972 +40a73 +40b74 +40c75 +40d76 +40e77 +40f78 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +41048 +42049 +4304a +4404b +4504c +4604d +4704e +4804f +49050 +4a051 +4b052 +4c053 +4d054 +4e055 +4f056 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +40126 +40227 +40328 +40429 +4052a +4062b +4072c +4082d +4092e +40a2f +40b3a +40c3b +40d3c +40e3d +40f3e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4107c +4207d +4307e +44020 +45009 +4600a +4700d +4800b +4900c +4a030 +4b031 +4c032 +4d033 +4e034 +4f035 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +40166 +40267 +40368 +40469 +4056a +4066b +4076c +4086d +4096e +40a6f +40b70 +40c71 +40d72 +40e73 +40f74 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +41044 +42045 +43046 +44047 +45048 +46049 +4704a +4804b +4904c +4a04d +4b04e +4c00a +4d050 +4e051 +4f052 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +40122 +40223 +40324 +40425 +40526 +40627 +40728 +40829 +4092a +40a2b +40b2c +40c2d +40d2e +40e2f +40f3a +4073b +4073c +4073d +4073e +4073f +40740 +4075b +4075c +4005d +4105e +4205f +43060 +4407b +4507c +4607d +4707e +48020 +49009 +4a00a +4b00d +4c00b +4d00c +4e030 +4f031 +40732 +40733 +40734 +40735 +40736 +40737 +40738 +40739 +40061 +40162 +40263 +40364 +40465 +40566 +40667 +40768 +40869 +4096a +40a6b +40b6c +40c6d +40d6e +40e6f +40f70 +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4107a +42041 +43042 +44043 +45044 +46045 +47046 +48047 +49048 +4a049 +4b04a +4c04b +4d04c +4e04d +4f04e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +40158 +40259 +4035a +40421 +40522 +40623 +40724 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c016b +c026c +c036d +c046e +c056f +c0670 +c0771 +c0872 +c0973 +c0a74 +c0b75 +c0c76 +c0d77 +c0e78 +c0f79 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c1049 +c204a +c304b +c404c +c504d +c604e +c704f +c8050 +c9051 +ca052 +cb053 +cc054 +cd055 +ce056 +cf057 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c0127 +c0228 +c0329 +c042a +c052b +c062c +c072d +c082e +c092f +c0a3a +c0b3b +c0c3c +c0d3d +c0e3e +c0f3f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c107d +c207e +c3020 +c4009 +c500a +c600d +c700b +c800c +c9030 +ca031 +cb032 +cc033 +cd034 +ce035 +cf036 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c0167 +c0268 +c0369 +c046a +c056b +c066c +c076d +c086e +c096f +c0a70 +c0b71 +c0c72 +c0d73 +c0e74 +c0f75 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c1045 +c2046 +c3047 +c4048 +c5049 +c604a +c704b +c804c +c904d +ca04e +cb04f +cc050 +cd00a +ce052 +cf053 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c0123 +c0224 +c0325 +c0426 +c0527 +c0628 +c0729 +c082a +c092b +c0a2c +c0b2d +c0c2e +c0d2f +c0e3a +c0f3b +c073c +c073d +c073e +c073f +c0740 +c075b +c075c +c075d +c005e +c105f +c2060 +c307b +c407c +c507d +c607e +c7020 +c8009 +c900a +ca00d +cb00b +cc00c +cd030 +ce031 +cf032 +c0733 +c0734 +c0735 +c0736 +c0737 +c0738 +c0739 +c0761 +c0062 +c0163 +c0264 +c0365 +c0466 +c0567 +c0668 +c0769 +c086a +c096b +c0a6c +c0b6d +c0c6e +c0d6f +c0e70 +c0f71 +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c1041 +c2042 +c3043 +c4044 +c5045 +c6046 +c7047 +c8048 +c9049 +ca04a +cb04b +cc04c +cd04d +ce04e +cf04f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c0159 +c025a +c0321 +c0422 +c0523 +c0624 +c0725 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0016c +0026d +0036e +0046f +00570 +00671 +00772 +00873 +00974 +00a75 +00b76 +00c77 +00d78 +00e79 +00f7a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0104a +0204b +0304c +0404d +0504e +0604f +07050 +08051 +09052 +0a053 +0b054 +0c055 +0d056 +0e057 +0f058 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +00128 +00229 +0032a +0042b +0052c +0062d +0072e +0082f +0093a +00a3b +00b3c +00c3d +00d3e +00e3f +00f40 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0107e +02020 +03009 +0400a +0500d +0600b +0700c +08030 +09031 +0a032 +0b033 +0c034 +0d035 +0e036 +0f037 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +00168 +00269 +0036a +0046b +0056c +0066d +0076e +0086f +00970 +00a71 +00b72 +00c73 +00d74 +00e75 +00f76 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +01046 +02047 +03048 +04049 +0504a +0604b +0704c +0804d +0904e +0a04f +0b050 +0c051 +0d052 +0e00a +0f054 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +00124 +00225 +00326 +00427 +00528 +00629 +0072a +0082b +0092c +00a2d +00b2e +00c2f +00d3a +00e3b +00f3c +0073d +0073e +0073f +00740 +0075b +0075c +0075d +0075e +0005f +01060 +0207b +0307c +0407d +0507e +06020 +07009 +0800a +0900d +0a00b +0b00c +0c030 +0d031 +0e032 +0f033 +00734 +00735 +00736 +00737 +00738 +00739 +00761 +00762 +00063 +00164 +00265 +00366 +00467 +00568 +00669 +0076a +0086b +0096c +00a6d +00b6e +00c6f +00d70 +00e71 +00f72 +00773 +00774 +00775 +00776 +00777 +00778 +00779 +0077a +00041 +01042 +02043 +03044 +04045 +05046 +06047 +07048 +08049 +0904a +0a04b +0b04c +0c04d +0d04e +0e04f +0f050 +00751 +00752 +00753 +00754 +00755 +00756 +00757 +00758 +00059 +0015a +00221 +00322 +00423 +00524 +00625 +00726 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8016d +8026e +8036f +80470 +80571 +80672 +80773 +80874 +80975 +80a76 +80b77 +80c78 +80d79 +80e7a +80f41 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8104b +8204c +8304d +8404e +8504f +86050 +87051 +88052 +89053 +8a054 +8b055 +8c056 +8d057 +8e058 +8f059 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +80129 +8022a +8032b +8042c +8052d +8062e +8072f +8083a +8093b +80a3c +80b3d +80c3e +80d3f +80e40 +80f5b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +81020 +82009 +8300a +8400d +8500b +8600c +87030 +88031 +89032 +8a033 +8b034 +8c035 +8d036 +8e037 +8f038 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +80169 +8026a +8036b +8046c +8056d +8066e +8076f +80870 +80971 +80a72 +80b73 +80c74 +80d75 +80e76 +80f77 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +81047 +82048 +83049 +8404a +8504b +8604c +8704d +8804e +8904f +8a050 +8b051 +8c052 +8d053 +8e054 +8f00a +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +80125 +80226 +80327 +80428 +80529 +8062a +8072b +8082c +8092d +80a2e +80b2f +80c3a +80d3b +80e3c +80f3d +8073e +8073f +80740 +8075b +8075c +8075d +8075e +8075f +80060 +8107b +8207c +8307d +8407e +85020 +86009 +8700a +8800d +8900b +8a00c +8b030 +8c031 +8d032 +8e033 +8f034 +80735 +80736 +80737 +80738 +80739 +80761 +80762 +80763 +80064 +80165 +80266 +80367 +80468 +80569 +8066a +8076b +8086c +8096d +80a6e +80b6f +80c70 +80d71 +80e72 +80f73 +80774 +80775 +80776 +80777 +80778 +80779 +8077a +80741 +80042 +81043 +82044 +83045 +84046 +85047 +86048 +87049 +8804a +8904b +8a04c +8b04d +8c04e +8d04f +8e050 +8f051 +80752 +80753 +80754 +80755 +80756 +80757 +80758 +80759 +8005a +80121 +80222 +80323 +80424 +80525 +80626 +80727 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4016e +4026f +40370 +40471 +40572 +40673 +40774 +40875 +40976 +40a77 +40b78 +40c79 +40d7a +40e41 +40f42 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4104c +4204d +4304e +4404f +45050 +46051 +47052 +48053 +49054 +4a055 +4b056 +4c057 +4d058 +4e059 +4f05a +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4012a +4022b +4032c +4042d +4052e +4062f +4073a +4083b +4093c +40a3d +40b3e +40c3f +40d40 +40e5b +40f5c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +41009 +4200a +4300d +4400b +4500c +46030 +47031 +48032 +49033 +4a034 +4b035 +4c036 +4d037 +4e038 +4f039 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4016a +4026b +4036c +4046d +4056e +4066f +40770 +40871 +40972 +40a73 +40b74 +40c75 +40d76 +40e77 +40f78 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +41048 +42049 +4304a +4404b +4504c +4604d +4704e +4804f +49050 +4a051 +4b052 +4c053 +4d054 +4e055 +4f056 +4070a +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +40126 +40227 +40328 +40429 +4052a +4062b +4072c +4082d +4092e +40a2f +40b3a +40c3b +40d3c +40e3d +40f3e +4073f +40740 +4075b +4075c +4075d +4075e +4075f +40760 +4007b +4107c +4207d +4307e +44020 +45009 +4600a +4700d +4800b +4900c +4a030 +4b031 +4c032 +4d033 +4e034 +4f035 +40736 +40737 +40738 +40739 +40761 +40762 +40763 +40764 +40065 +40166 +40267 +40368 +40469 +4056a +4066b +4076c +4086d +4096e +40a6f +40b70 +40c71 +40d72 +40e73 +40f74 +40775 +40776 +40777 +40778 +40779 +4077a +40741 +40742 +40043 +41044 +42045 +43046 +44047 +45048 +46049 +4704a +4804b +4904c +4a04d +4b04e +4c04f +4d050 +4e051 +4f052 +40753 +40754 +40755 +40756 +40757 +40758 +40759 +4075a +40021 +40122 +40223 +40324 +40425 +40526 +40627 +40728 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c016f +c0270 +c0371 +c0472 +c0573 +c0674 +c0775 +c0876 +c0977 +c0a78 +c0b79 +c0c7a +c0d41 +c0e42 +c0f43 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c104d +c204e +c304f +c4050 +c5051 +c6052 +c7053 +c8054 +c9055 +ca056 +cb057 +cc058 +cd059 +ce05a +cf021 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c012b +c022c +c032d +c042e +c052f +c063a +c073b +c083c +c093d +c0a3e +c0b3f +c0c40 +c0d5b +c0e5c +c0f5d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c100a +c200d +c300b +c400c +c5030 +c6031 +c7032 +c8033 +c9034 +ca035 +cb036 +cc037 +cd038 +ce039 +cf061 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c016b +c026c +c036d +c046e +c056f +c0670 +c0771 +c0872 +c0973 +c0a74 +c0b75 +c0c76 +c0d77 +c0e78 +c0f79 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c1049 +c204a +c304b +c404c +c504d +c604e +c704f +c8050 +c9051 +ca052 +cb053 +cc054 +cd055 +ce056 +cf057 +c0758 +c070a +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c0127 +c0228 +c0329 +c042a +c052b +c062c +c072d +c082e +c092f +c0a3a +c0b3b +c0c3c +c0d3d +c0e3e +c0f3f +c0740 +c075b +c075c +c075d +c075e +c075f +c0760 +c077b +c007c +c107d +c207e +c3020 +c4009 +c500a +c600d +c700b +c800c +c9030 +ca031 +cb032 +cc033 +cd034 +ce035 +cf036 +c0737 +c0738 +c0739 +c0761 +c0762 +c0763 +c0764 +c0765 +c0066 +c0167 +c0268 +c0369 +c046a +c056b +c066c +c076d +c086e +c096f +c0a70 +c0b71 +c0c72 +c0d73 +c0e74 +c0f75 +c0776 +c0777 +c0778 +c0779 +c077a +c0741 +c0742 +c0743 +c0044 +c1045 +c2046 +c3047 +c4048 +c5049 +c604a +c704b +c804c +c904d +ca04e +cb04f +cc050 +cd051 +ce052 +cf053 +c0754 +c0755 +c0756 +c0757 +c0758 +c0759 +c075a +c0721 +c0022 +c0123 +c0224 +c0325 +c0426 +c0527 +c0628 +c0729 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +00170 +00271 +00372 +00473 +00574 +00675 +00776 +00877 +00978 +00a79 +00b7a +00c41 +00d42 +00e43 +00f44 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0104e +0204f +03050 +04051 +05052 +06053 +07054 +08055 +09056 +0a057 +0b058 +0c059 +0d05a +0e021 +0f022 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0012c +0022d +0032e +0042f +0053a +0063b +0073c +0083d +0093e +00a3f +00b40 +00c5b +00d5c +00e5d +00f5e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0100d +0200b +0300c +04030 +05031 +06032 +07033 +08034 +09035 +0a036 +0b037 +0c038 +0d039 +0e061 +0f062 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0016c +0026d +0036e +0046f +00570 +00671 +00772 +00873 +00974 +00a75 +00b76 +00c77 +00d78 +00e79 +00f7a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0104a +0204b +0304c +0404d +0504e +0604f +07050 +08051 +09052 +0a053 +0b054 +0c055 +0d056 +0e057 +0f058 +00759 +0075a +0070a +00722 +00723 +00724 +00725 +00726 +00027 +00128 +00229 +0032a +0042b +0052c +0062d +0072e +0082f +0093a +00a3b +00b3c +00c3d +00d3e +00e3f +00f40 +0075b +0075c +0075d +0075e +0075f +00760 +0077b +0077c +0007d +0107e +02020 +03009 +0400a +0500d +0600b +0700c +08030 +09031 +0a032 +0b033 +0c034 +0d035 +0e036 +0f037 +00738 +00739 +00761 +00762 +00763 +00764 +00765 +00766 +00067 +00168 +00269 +0036a +0046b +0056c +0066d +0076e +0086f +00970 +00a71 +00b72 +00c73 +00d74 +00e75 +00f76 +00777 +00778 +00779 +0077a +00741 +00742 +00743 +00744 +00045 +01046 +02047 +03048 +04049 +0504a +0604b +0704c +0804d +0904e +0a04f +0b050 +0c051 +0d052 +0e053 +0f054 +00755 +00756 +00757 +00758 +00759 +0075a +00721 +00722 +00023 +00124 +00225 +00326 +00427 +00528 +00629 +0072a +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +80171 +80272 +80373 +80474 +80575 +80676 +80777 +80878 +80979 +80a7a +80b41 +80c42 +80d43 +80e44 +80f45 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8104f +82050 +83051 +84052 +85053 +86054 +87055 +88056 +89057 +8a058 +8b059 +8c05a +8d021 +8e022 +8f023 +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8012d +8022e +8032f +8043a +8053b +8063c +8073d +8083e +8093f +80a40 +80b5b +80c5c +80d5d +80e5e +80f5f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8100b +8200c +83030 +84031 +85032 +86033 +87034 +88035 +89036 +8a037 +8b038 +8c039 +8d061 +8e062 +8f063 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8016d +8026e +8036f +80470 +80571 +80672 +80773 +80874 +80975 +80a76 +80b77 +80c78 +80d79 +80e7a +80f41 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8104b +8204c +8304d +8404e +8504f +86050 +87051 +88052 +89053 +8a054 +8b055 +8c056 +8d057 +8e058 +8f059 +8075a +80721 +80722 +8070a +80724 +80725 +80726 +80727 +80028 +80129 +8022a +8032b +8042c +8052d +8062e +8072f +8083a +8093b +80a3c +80b3d +80c3e +80d3f +80e40 +80f5b +8075c +8075d +8075e +8075f +80760 +8077b +8077c +8077d +8007e +81020 +82009 +8300a +8400d +8500b +8600c +87030 +88031 +89032 +8a033 +8b034 +8c035 +8d036 +8e037 +8f038 +80739 +80761 +80762 +80763 +80764 +80765 +80766 +80767 +80068 +80169 +8026a +8036b +8046c +8056d +8066e +8076f +80870 +80971 +80a72 +80b73 +80c74 +80d75 +80e76 +80f77 +80778 +80779 +8077a +80741 +80742 +80743 +80744 +80745 +80046 +81047 +82048 +83049 +8404a +8504b +8604c +8704d +8804e +8904f +8a050 +8b051 +8c052 +8d053 +8e054 +8f055 +80756 +80757 +80758 +80759 +8075a +80721 +80722 +80723 +80024 +80125 +80226 +80327 +80428 +80529 +8062a +8072b +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +40172 +40273 +40374 +40475 +40576 +40677 +40778 +40879 +4097a +40a41 +40b42 +40c43 +40d44 +40e45 +40f46 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +41050 +42051 +43052 +44053 +45054 +46055 +47056 +48057 +49058 +4a059 +4b05a +4c021 +4d022 +4e023 +4f024 +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4012e +4022f +4033a +4043b +4053c +4063d +4073e +4083f +40940 +40a5b +40b5c +40c5d +40d5e +40e5f +40f60 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4100c +42030 +43031 +44032 +45033 +46034 +47035 +48036 +49037 +4a038 +4b039 +4c061 +4d062 +4e063 +4f064 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4016e +4026f +40370 +40471 +40572 +40673 +40774 +40875 +40976 +40a77 +40b78 +40c79 +40d7a +40e41 +40f42 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4104c +4204d +4304e +4404f +45050 +46051 +47052 +48053 +49054 +4a055 +4b056 +4c057 +4d058 +4e059 +4f05a +40721 +40722 +40723 +40724 +4070a +40726 +40727 +40728 +40029 +4012a +4022b +4032c +4042d +4052e +4062f +4073a +4083b +4093c +40a3d +40b3e +40c3f +40d40 +40e5b +40f5c +4075d +4075e +4075f +40760 +4077b +4077c +4077d +4077e +40020 +41009 +4200a +4300d +4400b +4500c +46030 +47031 +48032 +49033 +4a034 +4b035 +4c036 +4d037 +4e038 +4f039 +40761 +40762 +40763 +40764 +40765 +40766 +40767 +40768 +40069 +4016a +4026b +4036c +4046d +4056e +4066f +40770 +40871 +40972 +40a73 +40b74 +40c75 +40d76 +40e77 +40f78 +40779 +4077a +40741 +40742 +40743 +40744 +40745 +40746 +40047 +41048 +42049 +4304a +4404b +4504c +4604d +4704e +4804f +49050 +4a051 +4b052 +4c053 +4d054 +4e055 +4f056 +40757 +40758 +40759 +4075a +40721 +40722 +40723 +40724 +40025 +40126 +40227 +40328 +40429 +4052a +4062b +4072c +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c0173 +c0274 +c0375 +c0476 +c0577 +c0678 +c0779 +c087a +c0941 +c0a42 +c0b43 +c0c44 +c0d45 +c0e46 +c0f47 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c1051 +c2052 +c3053 +c4054 +c5055 +c6056 +c7057 +c8058 +c9059 +ca05a +cb021 +cc022 +cd023 +ce024 +cf025 +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c012f +c023a +c033b +c043c +c053d +c063e +c073f +c0840 +c095b +c0a5c +c0b5d +c0c5e +c0d5f +c0e60 +c0f7b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c1030 +c2031 +c3032 +c4033 +c5034 +c6035 +c7036 +c8037 +c9038 +ca039 +cb061 +cc062 +cd063 +ce064 +cf065 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c016f +c0270 +c0371 +c0472 +c0573 +c0674 +c0775 +c0876 +c0977 +c0a78 +c0b79 +c0c7a +c0d41 +c0e42 +c0f43 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c104d +c204e +c304f +c4050 +c5051 +c6052 +c7053 +c8054 +c9055 +ca056 +cb057 +cc058 +cd059 +ce05a +cf021 +c0722 +c0723 +c0724 +c0725 +c0726 +c070a +c0728 +c0729 +c002a +c012b +c022c +c032d +c042e +c052f +c063a +c073b +c083c +c093d +c0a3e +c0b3f +c0c40 +c0d5b +c0e5c +c0f5d +c075e +c075f +c0760 +c077b +c077c +c077d +c077e +c0720 +c0009 +c100a +c200d +c300b +c400c +c5030 +c6031 +c7032 +c8033 +c9034 +ca035 +cb036 +cc037 +cd038 +ce039 +cf061 +c0762 +c0763 +c0764 +c0765 +c0766 +c0767 +c0768 +c0769 +c006a +c016b +c026c +c036d +c046e +c056f +c0670 +c0771 +c0872 +c0973 +c0a74 +c0b75 +c0c76 +c0d77 +c0e78 +c0f79 +c077a +c0741 +c0742 +c0743 +c0744 +c0745 +c0746 +c0747 +c0048 +c1049 +c204a +c304b +c404c +c504d +c604e +c704f +c8050 +c9051 +ca052 +cb053 +cc054 +cd055 +ce056 +cf057 +c0758 +c0759 +c075a +c0721 +c0722 +c0723 +c0724 +c0725 +c0026 +c0127 +c0228 +c0329 +c042a +c052b +c062c +c072d +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +00174 +00275 +00376 +00477 +00578 +00679 +0077a +00841 +00942 +00a43 +00b44 +00c45 +00d46 +00e47 +00f48 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +01052 +02053 +03054 +04055 +05056 +06057 +07058 +08059 +0905a +0a021 +0b022 +0c023 +0d024 +0e025 +0f026 +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0013a +0023b +0033c +0043d +0053e +0063f +00740 +0085b +0095c +00a5d +00b5e +00c5f +00d60 +00e7b +00f7c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +01031 +02032 +03033 +04034 +05035 +06036 +07037 +08038 +09039 +0a061 +0b062 +0c063 +0d064 +0e065 +0f066 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +00170 +00271 +00372 +00473 +00574 +00675 +00776 +00877 +00978 +00a79 +00b7a +00c41 +00d42 +00e43 +00f44 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0104e +0204f +03050 +04051 +05052 +06053 +07054 +08055 +09056 +0a057 +0b058 +0c059 +0d05a +0e021 +0f022 +00723 +00724 +00725 +00726 +00727 +00728 +0070a +0072a +0002b +0012c +0022d +0032e +0042f +0053a +0063b +0073c +0083d +0093e +00a3f +00b40 +00c5b +00d5c +00e5d +00f5e +0075f +00760 +0077b +0077c +0077d +0077e +00720 +00709 +0000a +0100d +0200b +0300c +04030 +05031 +06032 +07033 +08034 +09035 +0a036 +0b037 +0c038 +0d039 +0e061 +0f062 +00763 +00764 +00765 +00766 +00767 +00768 +00769 +0076a +0006b +0016c +0026d +0036e +0046f +00570 +00671 +00772 +00873 +00974 +00a75 +00b76 +00c77 +00d78 +00e79 +00f7a +00741 +00742 +00743 +00744 +00745 +00746 +00747 +00748 +00049 +0104a +0204b +0304c +0404d +0504e +0604f +07050 +08051 +09052 +0a053 +0b054 +0c055 +0d056 +0e057 +0f058 +00759 +0075a +00721 +00722 +00723 +00724 +00725 +00726 +00027 +00128 +00229 +0032a +0042b +0052c +0062d +0072e +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +80175 +80276 +80377 +80478 +80579 +8067a +80741 +80842 +80943 +80a44 +80b45 +80c46 +80d47 +80e48 +80f49 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +81053 +82054 +83055 +84056 +85057 +86058 +87059 +8805a +89021 +8a022 +8b023 +8c024 +8d025 +8e026 +8f027 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8013b +8023c +8033d +8043e +8053f +80640 +8075b +8085c +8095d +80a5e +80b5f +80c60 +80d7b +80e7c +80f7d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +81032 +82033 +83034 +84035 +85036 +86037 +87038 +88039 +89061 +8a062 +8b063 +8c064 +8d065 +8e066 +8f067 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +80171 +80272 +80373 +80474 +80575 +80676 +80777 +80878 +80979 +80a7a +80b41 +80c42 +80d43 +80e44 +80f45 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8104f +82050 +83051 +84052 +85053 +86054 +87055 +88056 +89057 +8a058 +8b059 +8c05a +8d021 +8e022 +8f023 +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8070a +8002c +8012d +8022e +8032f +8043a +8053b +8063c +8073d +8083e +8093f +80a40 +80b5b +80c5c +80d5d +80e5e +80f5f +80760 +8077b +8077c +8077d +8077e +80720 +80709 +8070a +8000d +8100b +8200c +83030 +84031 +85032 +86033 +87034 +88035 +89036 +8a037 +8b038 +8c039 +8d061 +8e062 +8f063 +80764 +80765 +80766 +80767 +80768 +80769 +8076a +8076b +8006c +8016d +8026e +8036f +80470 +80571 +80672 +80773 +80874 +80975 +80a76 +80b77 +80c78 +80d79 +80e7a +80f41 +80742 +80743 +80744 +80745 +80746 +80747 +80748 +80749 +8004a +8104b +8204c +8304d +8404e +8504f +86050 +87051 +88052 +89053 +8a054 +8b055 +8c056 +8d057 +8e058 +8f059 +8075a +80721 +80722 +80723 +80724 +80725 +80726 +80727 +80028 +80129 +8022a +8032b +8042c +8052d +8062e +8072f +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +40176 +40277 +40378 +40479 +4057a +40641 +40742 +40843 +40944 +40a45 +40b46 +40c47 +40d48 +40e49 +40f4a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +41054 +42055 +43056 +44057 +45058 +46059 +4705a +48021 +49022 +4a023 +4b024 +4c025 +4d026 +4e027 +4f028 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4013c +4023d +4033e +4043f +40540 +4065b +4075c +4085d +4095e +40a5f +40b60 +40c7b +40d7c +40e7d +40f7e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +41033 +42034 +43035 +44036 +45037 +46038 +47039 +48061 +49062 +4a063 +4b064 +4c065 +4d066 +4e067 +4f068 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +40172 +40273 +40374 +40475 +40576 +40677 +40778 +40879 +4097a +40a41 +40b42 +40c43 +40d44 +40e45 +40f46 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +41050 +42051 +43052 +44053 +45054 +46055 +47056 +48057 +49058 +4a059 +4b05a +4c021 +4d022 +4e023 +4f024 +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4000a +4012e +4022f +4033a +4043b +4053c +4063d +4073e +4083f +40940 +40a5b +40b5c +40c5d +40d5e +40e5f +40f60 +4077b +4077c +4077d +4077e +40720 +40709 +4070a +4070d +4000b +4100c +42030 +43031 +44032 +45033 +46034 +47035 +48036 +49037 +4a038 +4b039 +4c061 +4d062 +4e063 +4f064 +40765 +40766 +40767 +40768 +40769 +4076a +4076b +4076c +4006d +4016e +4026f +40370 +40471 +40572 +40673 +40774 +40875 +40976 +40a77 +40b78 +40c79 +40d7a +40e41 +40f42 +40743 +40744 +40745 +40746 +40747 +40748 +40749 +4074a +4004b +4104c +4204d +4304e +4404f +45050 +46051 +47052 +48053 +49054 +4a055 +4b056 +4c057 +4d058 +4e059 +4f05a +40721 +40722 +40723 +40724 +40725 +40726 +40727 +40728 +40029 +4012a +4022b +4032c +4042d +4052e +4062f +4073a +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c0177 +c0278 +c0379 +c047a +c0541 +c0642 +c0743 +c0844 +c0945 +c0a46 +c0b47 +c0c48 +c0d49 +c0e4a +c0f4b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c1055 +c2056 +c3057 +c4058 +c5059 +c605a +c7021 +c8022 +c9023 +ca024 +cb025 +cc026 +cd027 +ce028 +cf029 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c013d +c023e +c033f +c0440 +c055b +c065c +c075d +c085e +c095f +c0a60 +c0b7b +c0c7c +c0d7d +c0e7e +c0f20 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c1034 +c2035 +c3036 +c4037 +c5038 +c6039 +c7061 +c8062 +c9063 +ca064 +cb065 +cc066 +cd067 +ce068 +cf069 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c0173 +c0274 +c0375 +c0476 +c0577 +c0678 +c0779 +c087a +c0941 +c0a42 +c0b43 +c0c44 +c0d45 +c0e46 +c0f47 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c1051 +c2052 +c3053 +c4054 +c5055 +c6056 +c7057 +c8058 +c9059 +ca05a +cb021 +cc022 +cd023 +ce024 +cf025 +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c010a +c023a +c033b +c043c +c053d +c063e +c073f +c0840 +c095b +c0a5c +c0b5d +c0c5e +c0d5f +c0e60 +c0f7b +c077c +c077d +c077e +c0720 +c0709 +c070a +c070d +c070b +c000c +c1030 +c2031 +c3032 +c4033 +c5034 +c6035 +c7036 +c8037 +c9038 +ca039 +cb061 +cc062 +cd063 +ce064 +cf065 +c0766 +c0767 +c0768 +c0769 +c076a +c076b +c076c +c076d +c006e +c016f +c0270 +c0371 +c0472 +c0573 +c0674 +c0775 +c0876 +c0977 +c0a78 +c0b79 +c0c7a +c0d41 +c0e42 +c0f43 +c0744 +c0745 +c0746 +c0747 +c0748 +c0749 +c074a +c074b +c004c +c104d +c204e +c304f +c4050 +c5051 +c6052 +c7053 +c8054 +c9055 +ca056 +cb057 +cc058 +cd059 +ce05a +cf021 +c0722 +c0723 +c0724 +c0725 +c0726 +c0727 +c0728 +c0729 +c002a +c012b +c022c +c032d +c042e +c052f +c063a +c073b +0076f +00770 +00771 +00772 +00773 +00774 +00775 +00776 +00077 +00178 +00279 +0037a +00441 +00542 +00643 +00744 +00845 +00946 +00a47 +00b48 +00c49 +00d4a +00e4b +00f4c +0074d +0074e +0074f +00750 +00751 +00752 +00753 +00754 +00055 +01056 +02057 +03058 +04059 +0505a +06021 +07022 +08023 +09024 +0a025 +0b026 +0c027 +0d028 +0e029 +0f02a +0072b +0072c +0072d +0072e +0072f +0073a +0073b +0073c +0003d +0013e +0023f +00340 +0045b +0055c +0065d +0075e +0085f +00960 +00a7b +00b7c +00c7d +00d7e +00e20 +00f09 +0070a +0070d +0070b +0070c +00730 +00731 +00732 +00733 +00034 +01035 +02036 +03037 +04038 +05039 +06061 +07062 +08063 +09064 +0a065 +0b066 +0c067 +0d068 +0e069 +0f06a +0076b +0076c +0076d +0076e +0076f +00770 +00771 +00772 +00073 +00174 +00275 +00376 +00477 +00578 +00679 +0077a +00841 +00942 +00a43 +00b44 +00c45 +00d46 +00e47 +00f48 +00749 +0074a +0074b +0074c +0074d +0074e +0074f +00750 +00051 +01052 +02053 +03054 +04055 +05056 +06057 +07058 +08059 +0905a +0a021 +0b022 +0c023 +0d024 +0e025 +0f026 +00727 +00728 +00729 +0072a +0072b +0072c +0072d +0072e +0002f +0013a +0020a +0033c +0043d +0053e +0063f +00740 +0085b +0095c +00a5d +00b5e +00c5f +00d60 +00e7b +00f7c +0077d +0077e +00720 +00709 +0070a +0070d +0070b +0070c +00030 +01031 +02032 +03033 +04034 +05035 +06036 +07037 +08038 +09039 +0a061 +0b062 +0c063 +0d064 +0e065 +0f066 +00767 +00768 +00769 +0076a +0076b +0076c +0076d +0076e +0006f +00170 +00271 +00372 +00473 +00574 +00675 +00776 +00877 +00978 +00a79 +00b7a +00c41 +00d42 +00e43 +00f44 +00745 +00746 +00747 +00748 +00749 +0074a +0074b +0074c +0004d +0104e +0204f +03050 +04051 +05052 +06053 +07054 +08055 +09056 +0a057 +0b058 +0c059 +0d05a +0e021 +0f022 +00723 +00724 +00725 +00726 +00727 +00728 +00729 +0072a +0002b +0012c +0022d +0032e +0042f +0053a +0063b +0073c +80770 +80771 +80772 +80773 +80774 +80775 +80776 +80777 +80078 +80179 +8027a +80341 +80442 +80543 +80644 +80745 +80846 +80947 +80a48 +80b49 +80c4a +80d4b +80e4c +80f4d +8074e +8074f +80750 +80751 +80752 +80753 +80754 +80755 +80056 +81057 +82058 +83059 +8405a +85021 +86022 +87023 +88024 +89025 +8a026 +8b027 +8c028 +8d029 +8e02a +8f02b +8072c +8072d +8072e +8072f +8073a +8073b +8073c +8073d +8003e +8013f +80240 +8035b +8045c +8055d +8065e +8075f +80860 +8097b +80a7c +80b7d +80c7e +80d20 +80e09 +80f0a +8070d +8070b +8070c +80730 +80731 +80732 +80733 +80734 +80035 +81036 +82037 +83038 +84039 +85061 +86062 +87063 +88064 +89065 +8a066 +8b067 +8c068 +8d069 +8e06a +8f06b +8076c +8076d +8076e +8076f +80770 +80771 +80772 +80773 +80074 +80175 +80276 +80377 +80478 +80579 +8067a +80741 +80842 +80943 +80a44 +80b45 +80c46 +80d47 +80e48 +80f49 +8074a +8074b +8074c +8074d +8074e +8074f +80750 +80751 +80052 +81053 +82054 +83055 +84056 +85057 +86058 +87059 +8805a +89021 +8a022 +8b023 +8c024 +8d025 +8e026 +8f027 +80728 +80729 +8072a +8072b +8072c +8072d +8072e +8072f +8003a +8013b +8023c +8030a +8043e +8053f +80640 +8075b +8085c +8095d +80a5e +80b5f +80c60 +80d7b +80e7c +80f7d +8077e +80720 +80709 +8070a +8070d +8070b +8070c +80730 +80031 +81032 +82033 +83034 +84035 +85036 +86037 +87038 +88039 +89061 +8a062 +8b063 +8c064 +8d065 +8e066 +8f067 +80768 +80769 +8076a +8076b +8076c +8076d +8076e +8076f +80070 +80171 +80272 +80373 +80474 +80575 +80676 +80777 +80878 +80979 +80a7a +80b41 +80c42 +80d43 +80e44 +80f45 +80746 +80747 +80748 +80749 +8074a +8074b +8074c +8074d +8004e +8104f +82050 +83051 +84052 +85053 +86054 +87055 +88056 +89057 +8a058 +8b059 +8c05a +8d021 +8e022 +8f023 +80724 +80725 +80726 +80727 +80728 +80729 +8072a +8072b +8002c +8012d +8022e +8032f +8043a +8053b +8063c +8073d +40771 +40772 +40773 +40774 +40775 +40776 +40777 +40778 +40079 +4017a +40241 +40342 +40443 +40544 +40645 +40746 +40847 +40948 +40a49 +40b4a +40c4b +40d4c +40e4d +40f4e +4074f +40750 +40751 +40752 +40753 +40754 +40755 +40756 +40057 +41058 +42059 +4305a +44021 +45022 +46023 +47024 +48025 +49026 +4a027 +4b028 +4c029 +4d02a +4e02b +4f02c +4072d +4072e +4072f +4073a +4073b +4073c +4073d +4073e +4003f +40140 +4025b +4035c +4045d +4055e +4065f +40760 +4087b +4097c +40a7d +40b7e +40c20 +40d09 +40e0a +40f0d +4070b +4070c +40730 +40731 +40732 +40733 +40734 +40735 +40036 +41037 +42038 +43039 +44061 +45062 +46063 +47064 +48065 +49066 +4a067 +4b068 +4c069 +4d06a +4e06b +4f06c +4076d +4076e +4076f +40770 +40771 +40772 +40773 +40774 +40075 +40176 +40277 +40378 +40479 +4057a +40641 +40742 +40843 +40944 +40a45 +40b46 +40c47 +40d48 +40e49 +40f4a +4074b +4074c +4074d +4074e +4074f +40750 +40751 +40752 +40053 +41054 +42055 +43056 +44057 +45058 +46059 +4705a +48021 +49022 +4a023 +4b024 +4c025 +4d026 +4e027 +4f028 +40729 +4072a +4072b +4072c +4072d +4072e +4072f +4073a +4003b +4013c +4023d +4033e +4040a +40540 +4065b +4075c +4085d +4095e +40a5f +40b60 +40c7b +40d7c +40e7d +40f7e +40720 +40709 +4070a +4070d +4070b +4070c +40730 +40731 +40032 +41033 +42034 +43035 +44036 +45037 +46038 +47039 +48061 +49062 +4a063 +4b064 +4c065 +4d066 +4e067 +4f068 +40769 +4076a +4076b +4076c +4076d +4076e +4076f +40770 +40071 +40172 +40273 +40374 +40475 +40576 +40677 +40778 +40879 +4097a +40a41 +40b42 +40c43 +40d44 +40e45 +40f46 +40747 +40748 +40749 +4074a +4074b +4074c +4074d +4074e +4004f +41050 +42051 +43052 +44053 +45054 +46055 +47056 +48057 +49058 +4a059 +4b05a +4c021 +4d022 +4e023 +4f024 +40725 +40726 +40727 +40728 +40729 +4072a +4072b +4072c +4002d +4012e +4022f +4033a +4043b +4053c +4063d +4073e +c0772 +c0773 +c0774 +c0775 +c0776 +c0777 +c0778 +c0779 +c007a +c0141 +c0242 +c0343 +c0444 +c0545 +c0646 +c0747 +c0848 +c0949 +c0a4a +c0b4b +c0c4c +c0d4d +c0e4e +c0f4f +c0750 +c0751 +c0752 +c0753 +c0754 +c0755 +c0756 +c0757 +c0058 +c1059 +c205a +c3021 +c4022 +c5023 +c6024 +c7025 +c8026 +c9027 +ca028 +cb029 +cc02a +cd02b +ce02c +cf02d +c072e +c072f +c073a +c073b +c073c +c073d +c073e +c073f +c0040 +c015b +c025c +c035d +c045e +c055f +c0660 +c077b +c087c +c097d +c0a7e +c0b20 +c0c09 +c0d0a +c0e0d +c0f0b +c070c +c0730 +c0731 +c0732 +c0733 +c0734 +c0735 +c0736 +c0037 +c1038 +c2039 +c3061 +c4062 +c5063 +c6064 +c7065 +c8066 +c9067 +ca068 +cb069 +cc06a +cd06b +ce06c +cf06d +c076e +c076f +c0770 +c0771 +c0772 +c0773 +c0774 +c0775 +c0076 +c0177 +c0278 +c0379 +c047a +c0541 +c0642 +c0743 +c0844 +c0945 +c0a46 +c0b47 +c0c48 +c0d49 +c0e4a +c0f4b +c074c +c074d +c074e +c074f +c0750 +c0751 +c0752 +c0753 +c0054 +c1055 +c2056 +c3057 +c4058 +c5059 +c605a +c7021 +c8022 +c9023 +ca024 +cb025 +cc026 +cd027 +ce028 +cf029 +c072a +c072b +c072c +c072d +c072e +c072f +c073a +c073b +c003c +c013d +c023e +c033f +c0440 +c050a +c065c +c075d +c085e +c095f +c0a60 +c0b7b +c0c7c +c0d7d +c0e7e +c0f20 +c0709 +c070a +c070d +c070b +c070c +c0730 +c0731 +c0732 +c0033 +c1034 +c2035 +c3036 +c4037 +c5038 +c6039 +c7061 +c8062 +c9063 +ca064 +cb065 +cc066 +cd067 +ce068 +cf069 +c076a +c076b +c076c +c076d +c076e +c076f +c0770 +c0771 +c0072 +c0173 +c0274 +c0375 +c0476 +c0577 +c0678 +c0779 +c087a +c0941 +c0a42 +c0b43 +c0c44 +c0d45 +c0e46 +c0f47 +c0748 +c0749 +c074a +c074b +c074c +c074d +c074e +c074f +c0050 +c1051 +c2052 +c3053 +c4054 +c5055 +c6056 +c7057 +c8058 +c9059 +ca05a +cb021 +cc022 +cd023 +ce024 +cf025 +c0726 +c0727 +c0728 +c0729 +c072a +c072b +c072c +c072d +c002e +c012f +c023a +c033b +c043c +c053d +c063e +c073f diff --git a/src/guidelines.vhd b/src/guidelines.vhd new file mode 100644 index 0000000..d477f47 --- /dev/null +++ b/src/guidelines.vhd @@ -0,0 +1,169 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: guidelines - Behavioral +-- +-- Description: When enabled, put guidelines on the screen +-- +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity guidelines is + Port ( clk : in STD_LOGIC; + enable_feature : in std_logic; + ------------------------------- + -- VGA data recovered from HDMI + ------------------------------- + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_red : in std_logic_vector(7 downto 0); + in_green : in std_logic_vector(7 downto 0); + in_blue : in std_logic_vector(7 downto 0); + is_interlaced : in std_logic; + is_second_field : in std_logic; + + ----------------------------------- + -- VGA data to be converted to HDMI + ----------------------------------- + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_red : out std_logic_vector(7 downto 0); + out_green : out std_logic_vector(7 downto 0); + out_blue : out std_logic_vector(7 downto 0)); +end guidelines; + +architecture Behavioral of guidelines is + signal hcount : unsigned(11 downto 0) := (others => '0'); + signal vcount : unsigned(11 downto 0) := (others => '0'); + signal h_size : unsigned(11 downto 0) := (others => '0'); + signal v_size : unsigned(11 downto 0) := (others => '0'); + signal last_blank : std_logic := '0'; + signal last_vsync : std_logic := '0'; +begin + +process(clk) + begin + if rising_edge(clk) then + out_blank <= in_blank; + out_hsync <= in_hsync; + out_vsync <= in_vsync; + out_red <= in_red; + out_green <= in_green; + out_blue <= in_blue; + + if enable_feature = '1' then + if h_size = 1280 then + if hcount = 426 or hcount = 854 then + out_red <= (others => '1'); + out_green <= (others => '1'); + out_blue <= (others => '1'); + end if; + end if; + + if h_size = 1920 then + if hcount = 640 or hcount = 1280 then + out_red <= (others => '1'); + out_green <= (others => '1'); + out_blue <= (others => '1'); + end if; + end if; + + if v_size = 720 then + if vcount = 240 or vcount = 480 then + out_red <= (others => '1'); + out_green <= (others => '1'); + out_blue <= (others => '1'); + end if; + end if; + + if v_size = 1080 then + if is_interlaced = '0' and (vcount = 360 or vcount = 720) then + out_red <= (others => '1'); + out_green <= (others => '1'); + out_blue <= (others => '1'); + end if; + + if is_interlaced = '1' and (vcount = 180 or vcount = 360) then + out_red <= (others => '1'); + out_green <= (others => '1'); + out_blue <= (others => '1'); + end if; + end if; + end if; + + ------------------------------------------------------------- + -- Count the number of lines in a frame (not field!!!) + ------------------------------------------------------------- + if last_blank = '0' and in_blank = '1' then + vcount <= vcount + 1; + end if; + + ------------------------------------------------------------- + -- Use the falling edge of VSYNC to to capture the number of + -- lines on the screen, as the rising edge is where the + -- interaced field is detected and can be a bit unstable. + ------------------------------------------------------------- + if in_vsync = '0' and last_vsync = '1' and is_second_field = '0'then + vcount <= (others => '0'); + v_size <= vcount; + end if; + + ------------------------------------------------------------- + -- Count the width of the frame + ------------------------------------------------------------- + if in_blank = '1' then + if hcount /= 0 then + h_size <= hcount; + end if; + hcount <= (others => '0'); + else + hcount <= hcount + 1; + end if; + last_blank <= in_blank; + last_vsync <= in_vsync; + if enable_feature = '1' and in_blank = '0' then + end if; + end if; + end process; +end Behavioral; diff --git a/src/hdmi_design.vhd b/src/hdmi_design.vhd new file mode 100644 index 0000000..ab70e0c --- /dev/null +++ b/src/hdmi_design.vhd @@ -0,0 +1,362 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Create Date: 22.07.2015 21:10:34 +-- Module Name: hdmi_design - Behavioral +-- Project Name: +-- +-- Description: Top level of a video processing design +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +library UNISIM; +use UNISIM.VComponents.all; + +entity hdmi_design is + Port ( + clk100 : in STD_LOGIC; + -- Control signals + led : out std_logic_vector(7 downto 0) :=(others => '0'); + sw : in std_logic_vector(7 downto 0) :=(others => '0'); + debug_pmod : out std_logic_vector(3 downto 0) :=(others => '0'); + + sck : in std_logic; + ncs : in std_logic; + sdi : in std_logic; + sdo : out std_logic; + + --HDMI input signals + hdmi_rx_cec : inout std_logic; + hdmi_rx_hpa : out std_logic; + hdmi_rx_scl : in std_logic; + hdmi_rx_sda : inout std_logic; + hdmi_rx_txen : out std_logic; + hdmi_rx_clk_n : in std_logic; + hdmi_rx_clk_p : in std_logic; + hdmi_rx_n : in std_logic_vector(2 downto 0); + hdmi_rx_p : in std_logic_vector(2 downto 0); + + --- HDMI out + hdmi_tx_cec : inout std_logic; + hdmi_tx_clk_n : out std_logic; + hdmi_tx_clk_p : out std_logic; + hdmi_tx_hpd : in std_logic; + hdmi_tx_rscl : inout std_logic; + hdmi_tx_rsda : inout std_logic; + hdmi_tx_p : out std_logic_vector(2 downto 0); + hdmi_tx_n : out std_logic_vector(2 downto 0); + -- For dumping symbols + rs232_tx : out std_logic + ); +end hdmi_design; + +architecture Behavioral of hdmi_design is + component hdmi_io is + Port ( + clk100 : in STD_LOGIC; + ------------------------------- + -- Control signals + ------------------------------- + clock_locked : out std_logic; + data_synced : out std_logic; + debug : out std_logic_vector(7 downto 0); + ------------------------------- + --HDMI input signals + ------------------------------- + hdmi_rx_cec : inout std_logic; + hdmi_rx_hpa : out std_logic; + hdmi_rx_scl : in std_logic; + hdmi_rx_sda : inout std_logic; + hdmi_rx_txen : out std_logic; + hdmi_rx_clk_n : in std_logic; + hdmi_rx_clk_p : in std_logic; + hdmi_rx_n : in std_logic_vector(2 downto 0); + hdmi_rx_p : in std_logic_vector(2 downto 0); + + ------------- + -- HDMI out + ------------- + hdmi_tx_cec : inout std_logic; + hdmi_tx_clk_n : out std_logic; + hdmi_tx_clk_p : out std_logic; + hdmi_tx_hpd : in std_logic; + hdmi_tx_rscl : inout std_logic; + hdmi_tx_rsda : inout std_logic; + hdmi_tx_p : out std_logic_vector(2 downto 0); + hdmi_tx_n : out std_logic_vector(2 downto 0); + + pixel_clk : out std_logic; + ------------------------------- + -- VGA data recovered from HDMI + ------------------------------- + in_hdmi_detected : out std_logic; + in_blank : out std_logic; + in_hsync : out std_logic; + in_vsync : out std_logic; + in_red : out std_logic_vector(7 downto 0); + in_green : out std_logic_vector(7 downto 0); + in_blue : out std_logic_vector(7 downto 0); + is_interlaced : out std_logic; + is_second_field : out std_logic; + + ------------------------------------- + -- Audio Levels + ------------------------------------- + audio_channel : out std_logic_vector(2 downto 0); + audio_de : out std_logic; + audio_sample : out std_logic_vector(23 downto 0); + + ----------------------------------- + -- VGA data to be converted to HDMI + ----------------------------------- + out_blank : in std_logic; + out_hsync : in std_logic; + out_vsync : in std_logic; + out_red : in std_logic_vector(7 downto 0); + out_green : in std_logic_vector(7 downto 0); + out_blue : in std_logic_vector(7 downto 0); + ----------------------------------- + -- For symbol dump or retransmit + ----------------------------------- + symbol_sync : out std_logic; -- indicates a fixed reference point in the frame. + symbol_ch0 : out std_logic_vector(9 downto 0); + symbol_ch1 : out std_logic_vector(9 downto 0); + symbol_ch2 : out std_logic_vector(9 downto 0) + ); + end component; + signal symbol_sync : std_logic; + signal symbol_ch0 : std_logic_vector(9 downto 0); + signal symbol_ch1 : std_logic_vector(9 downto 0); + signal symbol_ch2 : std_logic_vector(9 downto 0); + + component proc_top is + Port ( clk : in STD_LOGIC; + switches : in std_logic_vector(7 downto 0); + + sck : in std_logic; + ncs : in std_logic; + sdi : in std_logic; + sdo : out std_logic; + + ------------------ + -- Incoming pixels + ------------------ + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_red : in std_logic_vector(7 downto 0); + in_green : in std_logic_vector(7 downto 0); + in_blue : in std_logic_vector(7 downto 0); + is_interlaced : in std_logic; + is_second_field : in std_logic; + + ------------------- + -- Processed pixels + ------------------- + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_red : out std_logic_vector(7 downto 0); + out_green : out std_logic_vector(7 downto 0); + out_blue : out std_logic_vector(7 downto 0); + + debug : out std_logic_vector(5 downto 0) + ); + end component; + + component symbol_dump is + port ( + clk : in std_logic; + clk100 : in std_logic; + symbol_sync : in std_logic; -- indicates a fixed reference point in the frame. + symbol_ch0 : in std_logic_vector(9 downto 0); + symbol_ch1 : in std_logic_vector(9 downto 0); + symbol_ch2 : in std_logic_vector(9 downto 0); + rs232_tx : out std_logic); + end component; + + signal pixel_clk : std_logic; + signal in_blank : std_logic; + signal in_hsync : std_logic; + signal in_vsync : std_logic; + signal in_red : std_logic_vector(7 downto 0); + signal in_green : std_logic_vector(7 downto 0); + signal in_blue : std_logic_vector(7 downto 0); + signal is_interlaced : std_logic; + signal is_second_field : std_logic; + signal out_blank : std_logic; + signal out_hsync : std_logic; + signal out_vsync : std_logic; + signal out_red : std_logic_vector(7 downto 0); + signal out_green : std_logic_vector(7 downto 0); + signal out_blue : std_logic_vector(7 downto 0); + + signal audio_channel : std_logic_vector(2 downto 0); + signal audio_de : std_logic; + signal audio_sample : std_logic_vector(23 downto 0); + + signal debug : std_logic_vector(7 downto 0); + signal io_debug : std_logic_vector(7 downto 0); + signal proc_debug : std_logic_vector(5 downto 0); +begin + debug_pmod <= debug(3 downto 0); + led <= debug; + + debug(7 downto 6) <= io_debug(7 downto 6); + debug(5 downto 0) <= proc_debug; + +i_hdmi_io: hdmi_io port map ( + clk100 => clk100, + --------------------- + -- Control signals + --------------------- + clock_locked => open, + data_synced => open, + debug => io_debug, + --------------------- + -- HDMI input signals + --------------------- + hdmi_rx_cec => hdmi_rx_cec, + hdmi_rx_hpa => hdmi_rx_hpa, + hdmi_rx_scl => hdmi_rx_scl, + hdmi_rx_sda => hdmi_rx_sda, + hdmi_rx_txen => hdmi_rx_txen, + hdmi_rx_clk_n => hdmi_rx_clk_n, + hdmi_rx_clk_p => hdmi_rx_clk_p, + hdmi_rx_p => hdmi_rx_p, + hdmi_rx_n => hdmi_rx_n, + + ---------------------- + -- HDMI output signals + ---------------------- + hdmi_tx_cec => hdmi_tx_cec, + hdmi_tx_clk_n => hdmi_tx_clk_n, + hdmi_tx_clk_p => hdmi_tx_clk_p, + hdmi_tx_hpd => hdmi_tx_hpd, + hdmi_tx_rscl => hdmi_tx_rscl, + hdmi_tx_rsda => hdmi_tx_rsda, + hdmi_tx_p => hdmi_tx_p, + hdmi_tx_n => hdmi_tx_n, + + + pixel_clk => pixel_clk, + ------------------------------- + -- VGA data recovered from HDMI + ------------------------------- + in_blank => in_blank, + in_hsync => in_hsync, + in_vsync => in_vsync, + in_red => in_red, + in_green => in_green, + in_blue => in_blue, + is_interlaced => is_interlaced, + is_second_field => is_second_field, + + ----------------------------------- + -- For symbol dump or retransmit + ----------------------------------- + audio_channel => audio_channel, + audio_de => audio_de, + audio_sample => audio_sample, + + ----------------------------------- + -- VGA data to be converted to HDMI + ----------------------------------- + out_blank => out_blank, + out_hsync => out_hsync, + out_vsync => out_vsync, + out_red => out_red, + out_green => out_green, + out_blue => out_blue, + + symbol_sync => symbol_sync, + symbol_ch0 => symbol_ch0, + symbol_ch1 => symbol_ch1, + symbol_ch2 => symbol_ch2 + ); + +i_processing: proc_top Port map ( + clk => pixel_clk, + switches => sw, + + sck => sck, + ncs => ncs, + sdi => sdi, + sdo => sdo, + ------------------ + -- Incoming pixels + ------------------ + in_blank => in_blank, + in_hsync => in_hsync, + in_vsync => in_vsync, + in_red => in_red, + in_green => in_green, + in_blue => in_blue, + is_interlaced => is_interlaced, + is_second_field => is_second_field, + ------------------- + -- Processed pixels + ------------------- + out_blank => out_blank, + out_hsync => out_hsync, + out_vsync => out_vsync, + out_red => out_red, + out_green => out_green, + out_blue => out_blue, + + debug => proc_debug + ); + + -- Swap to this if you want to capture the HDMI symbols + -- and send them up the RS232 port + --rs232_tx <= '1'; +i_symbol_dump: symbol_dump port map ( + clk => pixel_clk, + clk100 => clk100, + symbol_sync => symbol_sync, + symbol_ch0 => symbol_ch0, + symbol_ch1 => symbol_ch1, + symbol_ch2 => symbol_ch2, + rs232_tx => rs232_tx); + +end Behavioral; \ No newline at end of file diff --git a/src/hdmi_input.vhd b/src/hdmi_input.vhd new file mode 100644 index 0000000..008ec41 --- /dev/null +++ b/src/hdmi_input.vhd @@ -0,0 +1,670 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: hdmi_input - Behavioral +-- +-- Description: Decode the video data out of an incoming HDMI data stream. +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +library UNISIM; +use UNISIM.VComponents.all; + +entity hdmi_input is + Port ( + system_clk : in std_logic; + + debug : out std_logic_vector(5 downto 0); + hdmi_detected : out std_logic; + + pixel_clk : out std_logic; -- Driven by BUFG + pixel_io_clk_x1 : out std_logic; -- Driven by BUFFIO + pixel_io_clk_x5 : out std_logic; -- Driven by BUFFIO + + -- HDMI input signals + hdmi_in_clk : in std_logic; + hdmi_in_ch0 : in std_logic; + hdmi_in_ch1 : in std_logic; + hdmi_in_ch2 : in std_logic; + + -- Status + pll_locked : out std_logic; + symbol_sync : out std_logic; + + -- Raw data signals + raw_blank : out std_logic; + raw_hsync : out std_logic; + raw_vsync : out std_logic; + raw_ch0 : out std_logic_vector(7 downto 0); + raw_ch1 : out std_logic_vector(7 downto 0); + raw_ch2 : out std_logic_vector(7 downto 0); + -- ADP data + adp_data_valid : out std_logic; + adp_header_bit : out std_logic; + adp_frame_bit : out std_logic; + adp_subpacket0_bits : out std_logic_vector(1 downto 0); + adp_subpacket1_bits : out std_logic_vector(1 downto 0); + adp_subpacket2_bits : out std_logic_vector(1 downto 0); + adp_subpacket3_bits : out std_logic_vector(1 downto 0); + -- For later reuse + symbol_ch0 : out std_logic_vector(9 downto 0); + symbol_ch1 : out std_logic_vector(9 downto 0); + symbol_ch2 : out std_logic_vector(9 downto 0) + + ); +end hdmi_input; + +architecture Behavioral of hdmi_input is + + component input_channel is + Port ( clk_mgmt : in STD_LOGIC; + clk : in STD_LOGIC; + clk_x1 : in STD_LOGIC; + clk_x5 : in STD_LOGIC; + serial : in STD_LOGIC; + reset : in STD_LOGIC; + ce : in STD_LOGIC; + invalid_symbol : out std_logic; + symbol : out std_logic_vector (9 downto 0); + ctl_valid : out std_logic; + ctl : out std_logic_vector (1 downto 0); + terc4_valid : out std_logic; + terc4 : out std_logic_vector (3 downto 0); + guardband_valid : out std_logic; + guardband : out std_logic_vector (0 downto 0); + data_valid : out std_logic; + data : out std_logic_vector (7 downto 0); + symbol_sync : out STD_LOGIC); + end component; + + signal clk_pixel_raw : std_logic; + + component alignment_detect is + Port ( clk : in STD_LOGIC; + invalid_symbol : in STD_LOGIC; + delay_count : out STD_LOGIC_VECTOR(4 downto 0); + delay_ce : out STD_LOGIC; + bitslip : out STD_LOGIC; + symbol_sync : out STD_LOGIC); + end component; + + signal clk_pixel : std_logic; + signal clk_pixel_x1 : std_logic; + signal clk_pixel_x5 : std_logic; + signal clk_pixel_x1_raw : std_logic; + signal clk_pixel_x5_raw : std_logic; + signal clk_200_raw : std_logic; + signal clk_200 : std_logic; + signal clkfb_1 : std_logic; + signal clkfb_2 : std_logic; + signal locked : std_logic; + signal reset : std_logic; + signal ser_reset : std_logic; + signal ser_ce : std_logic; + ------------------------------------------------------------- + -- The raw 10-bit received symbols + ------------------------------------------------------------- + signal ch0_symbol : std_logic_vector(9 downto 0); + signal ch1_symbol : std_logic_vector(9 downto 0); + signal ch2_symbol : std_logic_vector(9 downto 0); + + ------------------------------------------------------------- + -- For the decoded TMDS data + ------------------------------------------------------------- + signal ch0_invalid_symbol : std_logic; + signal ch0_ctl_valid : std_logic; + signal ch0_ctl : std_logic_vector(1 downto 0); + signal ch0_terc4_valid : std_logic; + signal ch0_terc4 : std_logic_vector (3 downto 0); + signal ch0_data_valid : std_logic; + signal ch0_data : std_logic_vector(7 downto 0); + signal ch0_guardband_valid : std_logic; + signal ch0_guardband : std_logic_vector (0 downto 0); + signal ch0_delay_count : std_logic_vector (4 downto 0); + signal ch0_delay_ce : STD_LOGIC; + signal ch0_bitslip : STD_LOGIC; + signal ch0_symbol_sync : STD_LOGIC; + + signal ch0_invalid_symbol_1 : std_logic; + signal ch0_ctl_valid_1 : std_logic; + signal ch0_ctl_1 : std_logic_vector(1 downto 0); + signal ch0_terc4_valid_1 : std_logic; + signal ch0_terc4_1 : std_logic_vector (3 downto 0); + signal ch0_data_valid_1 : std_logic; + signal ch0_data_1 : std_logic_vector(7 downto 0); + + signal ch1_invalid_symbol : std_logic; + signal ch1_ctl_valid : std_logic; + signal ch1_ctl : std_logic_vector(1 downto 0); + signal ch1_terc4_valid : std_logic; + signal ch1_terc4 : std_logic_vector (3 downto 0); + signal ch1_data_valid : std_logic; + signal ch1_data : std_logic_vector(7 downto 0); + signal ch1_guardband_valid : std_logic; + signal ch1_guardband : std_logic_vector (0 downto 0); + signal ch1_delay_count : std_logic_vector (4 downto 0); + signal ch1_delay_ce : STD_LOGIC; + signal ch1_bitslip : STD_LOGIC; + signal ch1_symbol_sync : STD_LOGIC; + + signal ch1_invalid_symbol_1 : std_logic; + signal ch1_ctl_valid_1 : std_logic; + signal ch1_ctl_1 : std_logic_vector(1 downto 0); + signal ch1_terc4_valid_1 : std_logic; + signal ch1_terc4_1 : std_logic_vector (3 downto 0); + signal ch1_data_valid_1 : std_logic; + signal ch1_data_1 : std_logic_vector(7 downto 0); + + signal ch2_invalid_symbol : std_logic; + signal ch2_ctl_valid : std_logic; + signal ch2_ctl : std_logic_vector(1 downto 0); + signal ch2_terc4_valid : std_logic; + signal ch2_terc4 : std_logic_vector (3 downto 0); + signal ch2_data_valid : std_logic; + signal ch2_data : std_logic_vector(7 downto 0); + signal ch2_guardband_valid : std_logic; + signal ch2_guardband : std_logic_vector (0 downto 0); + signal ch2_delay_count : std_logic_vector (4 downto 0); + signal ch2_delay_ce : STD_LOGIC; + signal ch2_bitslip : STD_LOGIC; + signal ch2_symbol_sync : STD_LOGIC; + + signal ch2_invalid_symbol_1 : std_logic; + signal ch2_ctl_valid_1 : std_logic; + signal ch2_ctl_1 : std_logic_vector(1 downto 0); + signal ch2_terc4_valid_1 : std_logic; + signal ch2_terc4_1 : std_logic_vector (3 downto 0); + signal ch2_data_valid_1 : std_logic; + signal ch2_data_1 : std_logic_vector(7 downto 0); + + + signal reset_counter : unsigned(7 downto 0) := (others => '1'); + + signal vdp_prefix_detect : std_logic_vector(7 downto 0) := (others => '0'); + signal vdp_guardband_detect : std_logic := '0'; + signal vdp_prefix_seen : std_logic := '0'; + signal in_vdp : std_logic := '0'; + + signal adp_prefix_detect : std_logic_vector(7 downto 0) := (others => '0'); + signal adp_guardband_detect : std_logic := '0'; + signal adp_prefix_seen : std_logic := '0'; + signal in_adp : std_logic := '0'; + signal dvid_mode : std_logic := '0'; + signal last_was_ctl : std_logic := '0'; + + signal in_dvid : std_logic := '0'; + signal symbol_sync_i : std_logic := '0'; +begin + pll_locked <= locked; + symbol_sync <= symbol_sync_i; + reset <= std_logic(reset_counter(reset_counter'high)); + symbol_ch0 <= ch0_symbol; + symbol_ch1 <= ch1_symbol; + symbol_ch2 <= ch2_symbol; + + + debug <= ch2_invalid_symbol & ch1_invalid_symbol & ch0_invalid_symbol & dvid_mode & locked & symbol_sync_i; + + -------------------------------------------- + -- a 200MHz clock for the IDELAY reference + -------------------------------------------- +clk_MMCME2_BASE_inst : MMCME2_BASE + generic map ( + BANDWIDTH => "OPTIMIZED", -- Jitter programming (OPTIMIZED, HIGH, LOW) + DIVCLK_DIVIDE => 1, -- Master division value (1-106) + CLKFBOUT_MULT_F => 8.0, -- Multiply value for all CLKOUT (2.000-64.000). + CLKFBOUT_PHASE => 0.0, -- Phase offset in degrees of CLKFB (-360.000-360.000). + CLKIN1_PERIOD => 10.0, -- Input clock period in ns to ps resolution (i.e. 33.333 is 30 MHz). + -- CLKOUT0_DIVIDE - CLKOUT6_DIVIDE: Divide amount for each CLKOUT (1-128) + CLKOUT0_DIVIDE_F => 4.0, -- Divide amount for CLKOUT0 (1.000-128.000). + CLKOUT1_DIVIDE => 1, + CLKOUT2_DIVIDE => 1, + CLKOUT3_DIVIDE => 1, + CLKOUT4_DIVIDE => 1, + CLKOUT5_DIVIDE => 1, + CLKOUT6_DIVIDE => 1, + -- CLKOUT0_DUTY_CYCLE - CLKOUT6_DUTY_CYCLE: Duty cycle for each CLKOUT (0.01-0.99). + CLKOUT0_DUTY_CYCLE => 0.5, + CLKOUT1_DUTY_CYCLE => 0.5, + CLKOUT2_DUTY_CYCLE => 0.5, + CLKOUT3_DUTY_CYCLE => 0.5, + CLKOUT4_DUTY_CYCLE => 0.5, + CLKOUT5_DUTY_CYCLE => 0.5, + CLKOUT6_DUTY_CYCLE => 0.5, + -- CLKOUT0_PHASE - CLKOUT6_PHASE: Phase offset for each CLKOUT (-360.000-360.000). + CLKOUT0_PHASE => 0.0, + CLKOUT1_PHASE => 0.0, + CLKOUT2_PHASE => 0.0, + CLKOUT3_PHASE => 0.0, + CLKOUT4_PHASE => 0.0, + CLKOUT5_PHASE => 0.0, + CLKOUT6_PHASE => 0.0, + CLKOUT4_CASCADE => FALSE, -- Cascade CLKOUT4 counter with CLKOUT6 (FALSE, TRUE) + REF_JITTER1 => 0.0, -- Reference input jitter in UI (0.000-0.999). + STARTUP_WAIT => FALSE -- Delays DONE until MMCM is locked (FALSE, TRUE) + ) + port map ( + -- Clock Outputs: 1-bit (each) output: User configurable clock outputs + CLKOUT0 => clk_200_raw, -- 1-bit output: CLKOUT0 + CLKOUT0B => open, -- 1-bit output: Inverted CLKOUT0 + CLKOUT1 => open, -- 1-bit output: CLKOUT1 + CLKOUT1B => open, -- 1-bit output: Inverted CLKOUT1 + CLKOUT2 => open, -- 1-bit output: CLKOUT2 + CLKOUT2B => open, -- 1-bit output: Inverted CLKOUT2 + CLKOUT3 => open, -- 1-bit output: CLKOUT3 + CLKOUT3B => open, -- 1-bit output: Inverted CLKOUT3 + CLKOUT4 => open, -- 1-bit output: CLKOUT4 + CLKOUT5 => open, -- 1-bit output: CLKOUT5 + CLKOUT6 => open, -- 1-bit output: CLKOUT6 + -- Feedback Clocks: 1-bit (each) output: Clock feedback ports + CLKFBOUT => clkfb_1, -- 1-bit output: Feedback clock + CLKFBOUTB => open, -- 1-bit output: Inverted CLKFBOUT + -- Status Ports: 1-bit (each) output: MMCM status ports + LOCKED => open, -- 1-bit output: LOCK + -- Clock Inputs: 1-bit (each) input: Clock input + CLKIN1 => system_clk, -- 1-bit input: Clock + -- Control Ports: 1-bit (each) input: MMCM control ports + PWRDWN => '0', -- 1-bit input: Power-down + RST => '0', -- 1-bit input: Reset + -- Feedback Clocks: 1-bit (each) input: Clock feedback ports + CLKFBIN => clkfb_1 -- 1-bit input: Feedback clock + ); + +i_BUFG: BUFG PORT MAP ( + I => clk_200_raw, + O => clk_200 + ); + ------------------------------ + -- Input Delay reference + -- + -- These are tied to the delay instances + -- by the IODELAY_GROUP attribute. + -------------------------------------------- +IDELAYCTRL_inst : IDELAYCTRL + port map ( + RDY => open, -- 1-bit output: Ready output + REFCLK => clk_200, -- 1-bit input: Reference clock input + RST => '0' -- 1-bit input: Active high reset input + ); + + -------------------------------- + -- MMCM driven by the HDMI clock + -------------------------------- +hdmi_MMCME2_BASE_inst : MMCME2_BASE + generic map ( + BANDWIDTH => "OPTIMIZED", -- Jitter programming (OPTIMIZED, HIGH, LOW) + DIVCLK_DIVIDE => 1, -- Master division value (1-106) + CLKFBOUT_MULT_F => 5.0, -- Multiply value for all CLKOUT (2.000-64.000). + CLKFBOUT_PHASE => 0.0, -- Phase offset in degrees of CLKFB (-360.000-360.000). + CLKIN1_PERIOD => 12.5, --1000.0/148.5, -- Input clock period in ns to ps resolution (i.e. 33.333 is 30 MHz). + -- CLKOUT0_DIVIDE - CLKOUT6_DIVIDE: Divide amount for each CLKOUT (1-128) + CLKOUT0_DIVIDE_F => 5.0, -- Divide amount for CLKOUT0 (1.000-128.000). + CLKOUT1_DIVIDE => 5, + CLKOUT2_DIVIDE => 1, + CLKOUT3_DIVIDE => 1, + CLKOUT4_DIVIDE => 1, + CLKOUT5_DIVIDE => 1, + CLKOUT6_DIVIDE => 1, + -- CLKOUT0_DUTY_CYCLE - CLKOUT6_DUTY_CYCLE: Duty cycle for each CLKOUT (0.01-0.99). + CLKOUT0_DUTY_CYCLE => 0.5, + CLKOUT1_DUTY_CYCLE => 0.5, + CLKOUT2_DUTY_CYCLE => 0.5, + CLKOUT3_DUTY_CYCLE => 0.5, + CLKOUT4_DUTY_CYCLE => 0.5, + CLKOUT5_DUTY_CYCLE => 0.5, + CLKOUT6_DUTY_CYCLE => 0.5, + -- CLKOUT0_PHASE - CLKOUT6_PHASE: Phase offset for each CLKOUT (-360.000-360.000). + CLKOUT0_PHASE => 0.0, + CLKOUT1_PHASE => 0.0, + CLKOUT2_PHASE => 0.0, + CLKOUT3_PHASE => 0.0, + CLKOUT4_PHASE => 0.0, + CLKOUT5_PHASE => 0.0, + CLKOUT6_PHASE => 0.0, + CLKOUT4_CASCADE => FALSE, -- Cascade CLKOUT4 counter with CLKOUT6 (FALSE, TRUE) + REF_JITTER1 => 0.0, -- Reference input jitter in UI (0.000-0.999). + STARTUP_WAIT => FALSE -- Delays DONE until MMCM is locked (FALSE, TRUE) + ) + port map ( + -- Clock Outputs: 1-bit (each) output: User configurable clock outputs + CLKOUT0 => clk_pixel_raw, -- 1-bit output: CLKOUT0 + CLKOUT0B => open, -- 1-bit output: Inverted CLKOUT0 + CLKOUT1 => clk_pixel_x1_raw, -- 1-bit output: CLKOUT1 + CLKOUT1B => open, -- 1-bit output: Inverted CLKOUT1 + CLKOUT2 => clk_pixel_x5_raw, -- 1-bit output: CLKOUT2 + CLKOUT2B => open, -- 1-bit output: Inverted CLKOUT2 + CLKOUT3 => open, -- 1-bit output: CLKOUT3 + CLKOUT3B => open, -- 1-bit output: Inverted CLKOUT3 + CLKOUT4 => open, -- 1-bit output: CLKOUT4 + CLKOUT5 => open, -- 1-bit output: CLKOUT5 + CLKOUT6 => open, -- 1-bit output: CLKOUT6 + -- Feedback Clocks: 1-bit (each) output: Clock feedback ports + CLKFBOUT => clkfb_2, -- 1-bit output: Feedback clock + CLKFBOUTB => open, -- 1-bit output: Inverted CLKFBOUT + -- Status Ports: 1-bit (each) output: MMCM status ports + LOCKED => locked, -- 1-bit output: LOCK + -- Clock Inputs: 1-bit (each) input: Clock input + CLKIN1 => hdmi_in_clk, -- 1-bit input: Clock + -- Control Ports: 1-bit (each) input: MMCM control ports + PWRDWN => '0', -- 1-bit input: Power-down + RST => '0', -- 1-bit input: Reset + -- Feedback Clocks: 1-bit (each) input: Clock feedback ports + CLKFBIN => clkfb_2 -- 1-bit input: Feedback clock + ); + + ---------------------------------- + -- Force the highest speed clock + -- through the IO clock buffer + -- (this is only rated for 600MHz!) + ----------------------------------- +BUFIO_x5_inst : BUFIO + port map ( + I => clk_pixel_x5_raw, -- 1-bit input: Clock input (connect to an IBUF or BUFMR). + O => clk_pixel_x5 -- 1-bit output: Clock output (connect to I/O clock loads). + ); + +BUFIO_x1_inst : BUFG + port map ( + I => clk_pixel_x1_raw, -- 1-bit input: Clock input (connect to an IBUF or BUFMR). + O => clk_pixel_x1 -- 1-bit output: Clock output (connect to I/O clock loads). + ); + +BUFIO_inst : BUFG + port map ( + I => clk_pixel_raw, -- 1-bit input: Clock input (connect to an IBUF or BUFMR). + O => clk_pixel -- 1-bit output: Clock output (connect to I/O clock loads). + ); + pixel_clk <= clk_pixel; + pixel_io_clk_x1 <= clk_pixel_x1; + pixel_io_clk_x5 <= clk_pixel_x5; + +ch0: input_channel Port map ( + clk_mgmt => system_clk, + clk => clk_pixel, + ce => ser_ce, + clk_x1 => clk_pixel_x1, + clk_x5 => clk_pixel_x5, + serial => hdmi_in_ch0, + invalid_symbol => ch0_invalid_symbol, + symbol => ch0_symbol, + ctl_valid => ch0_ctl_valid, + ctl => ch0_ctl, + terc4_valid => ch0_terc4_valid, + terc4 => ch0_terc4, + guardband_valid => ch0_guardband_valid, + guardband => ch0_guardband, + data_valid => ch0_data_valid, + data => ch0_data, + reset => ser_reset, + symbol_sync => ch0_symbol_sync); + +ch1: input_channel Port map ( + clk_mgmt => system_clk, + clk => clk_pixel, + ce => ser_ce, + clk_x1 => clk_pixel_x1, + clk_x5 => clk_pixel_x5, + serial => hdmi_in_ch1, + symbol => ch1_symbol, + invalid_symbol => ch1_invalid_symbol, + ctl_valid => ch1_ctl_valid, + ctl => ch1_ctl, + terc4_valid => ch1_terc4_valid, + terc4 => ch1_terc4, + guardband_valid => ch1_guardband_valid, + guardband => ch1_guardband, + data_valid => ch1_data_valid, + data => ch1_data, + reset => ser_reset, + symbol_sync => ch1_symbol_sync); + +ch2: input_channel Port map ( + clk_mgmt => system_clk, + clk => clk_pixel, + ce => ser_ce, + clk_x1 => clk_pixel_x1, + clk_x5 => clk_pixel_x5, + serial => hdmi_in_ch2, + invalid_symbol => ch2_invalid_symbol, + symbol => ch2_symbol, + ctl_valid => ch2_ctl_valid, + ctl => ch2_ctl, + terc4_valid => ch2_terc4_valid, + terc4 => ch2_terc4, + guardband_valid => ch2_guardband_valid, + guardband => ch2_guardband, + data_valid => ch2_data_valid, + data => ch2_data, + reset => ser_reset, + symbol_sync => ch2_symbol_sync); + + symbol_sync_i <= ch0_symbol_sync and ch1_symbol_sync and ch2_symbol_sync; + + hdmi_detected <= not dvid_mode; +hdmi_section_decode: process(clk_pixel) + begin + if rising_edge(clk_pixel) then + ------------------------------------------------------------------- + -- Output the values depending on what sort of data block we are in + ------------------------------------------------------------------- + if ch0_ctl_valid = '1' and ch1_ctl_valid = '1' and ch2_ctl_valid = '1' then + ------------------------------------------------------------------- + -- As soon as we see avalid CTL symbols we are no longer in the + -- video or aux data period it doesn't have any trailing guard band + ------------------------------------------------------------------- + in_vdp <= '0'; + in_adp <= '0'; + in_dvid <= '0'; + raw_vsync <= ch0_ctl(1); + raw_hsync <= ch0_ctl(0); + raw_blank <= '1'; + raw_ch2 <= (others => '0'); + raw_ch1 <= (others => '0'); + raw_ch0 <= (others => '0'); + last_was_ctl <= '1'; + adp_data_valid <= '0'; + else + last_was_ctl <= '0'; + adp_data_valid <= '0'; + if in_vdp = '1' then + raw_vsync <= '0'; + raw_hsync <= '0'; + raw_blank <= '0'; + raw_ch2 <= ch2_data; + raw_ch1 <= ch1_data; + raw_ch0 <= ch0_data; + if ch2_invalid_symbol = '1' or ch2_invalid_symbol = '1' or ch2_invalid_symbol = '1' then + raw_ch2 <= x"EF"; + raw_ch1 <= x"16"; + raw_ch0 <= x"16"; + end if; + + elsif in_dvid = '1' then + -- In the Video data period + raw_vsync <= '0'; + raw_hsync <= '0'; + raw_blank <= '0'; + raw_ch2 <= ch2_data; + raw_ch1 <= ch1_data; + raw_ch0 <= ch0_data; + elsif in_adp = '1' then + -- In the Aux Data Period Period + raw_vsync <= ch0_terc4(1); + raw_hsync <= ch0_terc4(0); + raw_blank <= '1'; + raw_ch0 <= (others => '0'); + raw_ch1 <= (others => '0'); + raw_ch2 <= (others => '0'); + -- ADP data extraction + adp_data_valid <= '1'; + adp_header_bit <= ch0_terc4(2); + adp_frame_bit <= ch0_terc4(3); + adp_subpacket0_bits <= ch2_terc4(0) & ch1_terc4(0); + adp_subpacket1_bits <= ch2_terc4(1) & ch1_terc4(1); + adp_subpacket2_bits <= ch2_terc4(2) & ch1_terc4(2); + adp_subpacket3_bits <= ch2_terc4(3) & ch1_terc4(3); + end if; + end if; + + ------------------------------------------------------------ + -- We need to detect 8 ADP or VDP prefix characters in a row + ------------------------------------------------------------ + vdp_prefix_detect <= vdp_prefix_detect(6 downto 0) & '0'; + vdp_prefix_seen <= '0'; + if ch0_ctl_valid = '1' and ch1_ctl_valid = '1' and ch1_ctl_valid = '1' then + if ch1_ctl = "01" and ch2_ctl = "00" then + vdp_prefix_detect(0) <= '1'; + if vdp_prefix_detect = "01111111" then + vdp_prefix_seen <= '1'; + end if; + end if; + end if; + + --------------------------------------------- + -- See if we can detect the ADP guardband + -- + -- The ADP guardband includes HSYNC and VSYNC + -- encoded in TERC4 coded in Ch0. + --------------------------------------------- + adp_prefix_detect <= adp_prefix_detect(6 downto 0) & '0'; + adp_prefix_seen <= '0'; + if ch0_ctl_valid = '1' and ch1_ctl_valid = '1' and ch1_ctl_valid = '1' then + if ch1_ctl = "01" and ch2_ctl = "01" then + adp_prefix_detect(0) <= '1'; + if adp_prefix_detect = "01111111" then + adp_prefix_seen <= '1'; + end if; + end if; + end if; + --------------------------------------------- + -- See if we can detect the ADP guardband + -- + -- The ADP guardband includes HSYNC and VSYNC + -- encoded in TERC4 coded in Ch0 - annoying! + --------------------------------------------- + adp_guardband_detect <= '0'; + if in_vdp = '0' and ch0_terc4_valid = '1' and ch1_guardband_valid = '1' and ch1_guardband_valid = '1' then + if ch0_terc4(3 downto 2) = "11" and ch1_guardband = "0" and ch2_guardband = "0" then + raw_vsync <= ch0_terc4(1); + raw_hsync <= ch0_terc4(0); + adp_guardband_detect <= adp_prefix_seen; + in_adp <= adp_guardband_detect AND (not in_adp) and (not in_vdp); + end if; + end if; + ----------------------------------------- + -- See if we can detect the VDP guardband + -- This is pretty nices as the guard + ----------------------------------------- + vdp_guardband_detect <= '0'; + if ch0_guardband_valid = '1' and ch1_guardband_valid = '1' and ch2_guardband_valid = '1' then + -- TERC Coded for the VDP guard band. + if ch0_guardband = "1" and ch1_guardband = "0" and ch2_guardband = "1" then + vdp_guardband_detect <= vdp_prefix_seen; + in_vdp <= vdp_guardband_detect AND (not in_adp) and (not in_vdp); + dvid_mode <= '0'; + end if; + end if; + -------------------------------- + -- Is this some DVID video data? + -------------------------------- + if dvid_mode = '1' and last_was_ctl = '1' and ch0_data_valid = '1' and ch1_data_valid = '1' and ch2_data_valid = '1' then + in_dvid <= '1'; + end if; + ------------------------------------------------------------- + -- Is this an un-announced video data? If so we receiving + -- DVI-D data, and not HDMI + ------------------------------------------------------------- + if ch0_data_valid = '1' and ch1_data_valid = '1' and ch2_data_valid = '1' + and last_was_ctl = '1' and vdp_prefix_seen = '0' and adp_prefix_seen = '0' then + dvid_mode <= '1'; + end if; + + ch0_invalid_symbol_1 <= ch0_invalid_symbol; + ch0_ctl_valid_1 <= ch0_ctl_valid; + ch0_ctl_1 <= ch0_ctl; + ch0_terc4_valid_1 <= ch0_terc4_valid; + ch0_terc4_1 <= ch0_terc4; + ch0_data_1 <= ch0_data; + + ch1_invalid_symbol_1 <= ch1_invalid_symbol; + ch1_ctl_valid_1 <= ch1_ctl_valid; + ch1_ctl_1 <= ch1_ctl; + ch1_terc4_valid_1 <= ch1_terc4_valid; + ch1_terc4_1 <= ch1_terc4; + ch1_data_1 <= ch1_data; + + ch2_invalid_symbol_1 <= ch2_invalid_symbol; + ch2_ctl_valid_1 <= ch2_ctl_valid; + ch2_ctl_1 <= ch2_ctl; + ch2_terc4_valid_1 <= ch2_terc4_valid; + ch2_terc4_1 <= ch2_terc4; + ch2_data_valid_1 <= ch2_data_valid; + ch2_data_1 <= ch2_data; + end if; + end process; + +------------------------------------------ +-- Reset the receivers if PLL lock is lost +------------------------------------------ +reset_proc: process(system_clk) + begin + if rising_edge(system_clk) then + if locked = '1' then + if reset_counter > 0 then + reset_counter <= reset_counter-1; + end if; + else + reset_counter <= (others => '1'); + end if; + end if; + end process; + +reset_proc2: process(clk_pixel) + begin + if rising_edge(clk_pixel) then + ser_reset <= reset_counter(reset_counter'high); + ser_ce <= not ser_reset; + end if; + end process; +end Behavioral; diff --git a/src/hdmi_io.vhd b/src/hdmi_io.vhd new file mode 100644 index 0000000..f72d713 --- /dev/null +++ b/src/hdmi_io.vhd @@ -0,0 +1,587 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field '0'); +begin + pixel_clk <= pixel_clk_i; + hdmi_rx_hpa <= '1'; + hdmi_rx_txen <= '1'; + hdmi_rx_cec <= 'Z'; + + debug(7) <= raw_hsync; + debug(6) <= raw_vsync; + debug(5) <= is_second_field_i; + debug(4) <= is_interlaced_i; + debug(3) <= out_hsync; + debug(2) <= out_vsync; + debug(1) <= out_blank; + debug(0) <= '0'; + +i_edid_rom: edid_rom port map ( + clk => clk100, + sclk_raw => hdmi_rx_scl, + sdat_raw => hdmi_rx_sda, + edid_debug => open); + + --------------------- + -- Input buffers + --------------------- +in_clk_buf: IBUFDS generic map ( IOSTANDARD => "TMDS_33") + port map ( I => hdmi_rx_clk_p, IB => hdmi_rx_clk_n, O => tmds_in_clk); + +in_rx0_buf: IBUFDS generic map ( IOSTANDARD => "TMDS_33") + port map ( I => hdmi_rx_p(0), IB => hdmi_rx_n(0), O => tmds_in_ch0); + +in_rx1_buf: IBUFDS generic map ( IOSTANDARD => "TMDS_33") + port map ( I => hdmi_rx_p(1), IB => hdmi_rx_n(1), O => tmds_in_ch1); + +in_rx2_buf: IBUFDS generic map ( IOSTANDARD => "TMDS_33") + port map ( I => hdmi_rx_p(2), IB => hdmi_rx_n(2), O => tmds_in_ch2); + +i_hdmi_input : hdmi_input port map ( + system_clk => clk100, + debug => open, + -- Pixel and serializer clocks + pixel_clk => pixel_clk_i, + pixel_io_clk_x1 => pixel_io_clk_x1, + pixel_io_clk_x5 => pixel_io_clk_x5, + --- HDMI input signals + hdmi_in_clk => tmds_in_clk, + hdmi_in_ch0 => tmds_in_ch0, + hdmi_in_ch1 => tmds_in_ch1, + hdmi_in_ch2 => tmds_in_ch2, + -- are the HDMI symbols in sync? + symbol_sync => data_synced, + pll_locked => clock_locked, + -- VGA internal Signals + hdmi_detected => in_hdmi_detected, + raw_blank => raw_blank, + raw_hsync => raw_hsync, + raw_vsync => raw_vsync, + raw_ch2 => raw_ch2, + raw_ch1 => raw_ch1, + raw_ch0 => raw_ch0, + -- ADP data + adp_data_valid => adp_data_valid, + adp_header_bit => adp_header_bit, + adp_frame_bit => adp_frame_bit, + adp_subpacket0_bits => adp_subpacket0_bits, + adp_subpacket1_bits => adp_subpacket1_bits, + adp_subpacket2_bits => adp_subpacket2_bits, + adp_subpacket3_bits => adp_subpacket3_bits, + -- For later reuse + symbol_ch0 => symbol_ch0, + symbol_ch1 => symbol_ch1, + symbol_ch2 => symbol_ch2 + ); + + ------------------------------------- + -- If the input data is in 422 format + -- then convert it to 12-bit 444 data + ------------------------------------- +i_expand_422_to_444: expand_422_to_444 Port map ( + clk => pixel_clk_i, + input_is_422 => input_is_422, + ------------------ + -- Incoming raw data + ------------------ + in_blank => raw_blank, + in_hsync => raw_hsync, + in_vsync => raw_vsync, + in_ch2 => raw_ch2, + in_ch1 => raw_ch1, + in_ch0 => raw_ch0, + + ------------------- + -- Processed pixels + ------------------- + out_blank => fourfourfour_blank, + out_hsync => fourfourfour_hsync, + out_vsync => fourfourfour_vsync, + out_U => fourfourfour_U, + out_V => fourfourfour_V, + out_W => fourfourfour_W + ); + + is_interlaced <= is_interlaced_i; + is_second_field <= is_second_field_i; +i_detect_interlace: detect_interlace Port map ( + clk => pixel_clk_i, + hsync => raw_hsync, + vsync => raw_vsync, + is_interlaced => is_interlaced_i, + is_second_field => is_second_field_i); + +i_conversion_to_RGB: conversion_to_RGB + port map ( + clk => pixel_clk_i, + ------------------------ + input_is_YCbCr => input_is_YCbCr, + input_is_sRGB => input_is_sRGB, + in_blank => fourfourfour_blank, + in_hsync => fourfourfour_hsync, + in_vsync => fourfourfour_vsync, + in_U => fourfourfour_U, + in_V => fourfourfour_V, + in_W => fourfourfour_W, + ------------------------ + out_blank => rgb_blank, + out_hsync => rgb_hsync, + out_vsync => rgb_vsync, + out_R => rgb_R, + out_G => rgb_G, + out_B => rgb_B + ); + + ----------------------------------------- + -- Colour space conversion yet to be done + ----------------------------------------- + in_blank <= rgb_blank; + in_hsync <= rgb_hsync; + in_vsync <= rgb_vsync; + in_blue <= rgb_B(11 downto 4); + in_green <= rgb_G(11 downto 4); + in_red <= rgb_R(11 downto 4); + + ------------------------------------------------ + -- Processing the non-video data #1 + -- Extracting the Video Infopacket data we need + -- to correctly convert the video data + ------------------------------------------------ +i_extract_video_infopacket_data: extract_video_infopacket_data port map ( + clk => pixel_clk_i, + -- ADP data + adp_data_valid => adp_data_valid, + adp_header_bit => adp_header_bit, + adp_frame_bit => adp_frame_bit, + adp_subpacket0_bits => adp_subpacket0_bits, + adp_subpacket1_bits => adp_subpacket1_bits, + adp_subpacket2_bits => adp_subpacket2_bits, + adp_subpacket3_bits => adp_subpacket3_bits, + -- The stuff we need + input_is_YCbCr => input_is_YCbCr, + input_is_422 => input_is_422, + input_is_sRGB => input_is_sRGB +); + ------------------------------------------------ + -- Processing the non-video data #2 + -- Extracting the Audio samples so we can display + -- level menters on the screen + ------------------------------------------------ +i_extract_audio_samples: extract_audio_samples PORT MAP ( + clk => pixel_clk_i, + -- ADP data + adp_data_valid => adp_data_valid, + adp_header_bit => adp_header_bit, + adp_frame_bit => adp_frame_bit, + adp_subpacket0_bits => adp_subpacket0_bits, + adp_subpacket1_bits => adp_subpacket1_bits, + adp_subpacket2_bits => adp_subpacket2_bits, + adp_subpacket3_bits => adp_subpacket3_bits, + -- The stuff we need + audio_de => audio_de, + audio_channel => audio_channel, + audio_sample => audio_sample); + +------------------------------------------------ +-- Outputting video data +----------------------------------------------- +i_DVID_output: DVID_output port map ( + pixel_clk => pixel_clk_i, + pixel_io_clk_x1 => pixel_io_clk_x1, + pixel_io_clk_x5 => pixel_io_clk_x5, + + data_valid => '1', + -- VGA Signals + vga_blank => out_blank, + vga_hsync => out_hsync, + vga_vsync => out_vsync, + vga_red => out_red, + vga_blue => out_blue, + vga_green => out_green, + + --- HDMI out + tmds_out_clk => tmds_out_clk, + tmds_out_ch0 => tmds_out_ch0, + tmds_out_ch1 => tmds_out_ch1, + tmds_out_ch2 => tmds_out_ch2 + ); + + ----------------------------- + -- Other HDMI control signals + ----------------------------- + hdmi_tx_rsda <= 'Z'; + hdmi_tx_cec <= 'Z'; + hdmi_tx_rscl <= '1'; + + ----------------- + -- Output buffers + ----------------- +out_clk_buf: OBUFDS generic map ( IOSTANDARD => "TMDS_33", SLEW => "FAST") + port map ( O => hdmi_tx_clk_p, OB => hdmi_tx_clk_n, I => tmds_out_clk); + +out_tx0_buf: OBUFDS generic map ( IOSTANDARD => "TMDS_33", SLEW => "FAST") + port map ( O => hdmi_tx_p(0), OB => hdmi_tx_n(0), I => tmds_out_ch0); + +out_tx1_buf: OBUFDS generic map ( IOSTANDARD => "TMDS_33", SLEW => "FAST") + port map ( O => hdmi_tx_p(1), OB => hdmi_tx_n(1), I => tmds_out_ch1); + +out_tx2_buf: OBUFDS generic map ( IOSTANDARD => "TMDS_33", SLEW => "FAST") + port map ( O => hdmi_tx_p(2), OB => hdmi_tx_n(2), I => tmds_out_ch2); + + -- Detect when VSYNC is held high for 8 cycles, so we can synchronise the capture of symbols +process(pixel_clk_i) + begin + if rising_edge(pixel_clk_i) then + if detect_sr = "11111111" and raw_vsync = '0' then + symbol_sync <= '1'; + else + symbol_sync <= '0'; + end if; + detect_sr <= detect_sr(6 downto 0) & raw_vsync; + end if; + end process; + +end Behavioral; diff --git a/src/input_channel.vhd b/src/input_channel.vhd new file mode 100644 index 0000000..576f0cb --- /dev/null +++ b/src/input_channel.vhd @@ -0,0 +1,157 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Create Date: 30.07.2015 23:11:34 +-- Module Name: input_channel - Behavioral +-- +-- Description: Receiving one of the three HDMI input channels. and decoding +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +entity input_channel is + Port ( clk_mgmt : in STD_LOGIC; + clk : in STD_LOGIC; + clk_x1 : in STD_LOGIC; + clk_x5 : in STD_LOGIC; + serial : in STD_LOGIC; + reset : in std_logic; + ce : in STD_LOGIC; + invalid_symbol : out std_logic; + symbol : out std_logic_vector (9 downto 0); + ctl_valid : out std_logic; + ctl : out std_logic_vector (1 downto 0); + terc4_valid : out std_logic; + terc4 : out std_logic_vector (3 downto 0); + guardband_valid : out std_logic; + guardband : out std_logic_vector (0 downto 0); + data_valid : out std_logic; + data : out std_logic_vector (7 downto 0); + symbol_sync : out STD_LOGIC); +end input_channel; + +architecture Behavioral of input_channel is + component deserialiser_1_to_10 is + Port ( clk_mgmt : in std_logic; + delay_ce : in std_logic; + delay_count : in std_logic_vector (4 downto 0); + ce : in STD_LOGIC; + clk : in std_logic; + clk_x1 : in std_logic; + bitslip : in std_logic; + clk_x5 : in std_logic; + reset : in std_logic; + serial : in std_logic; + data : out std_logic_vector (9 downto 0)); + end component; + + component TMDS_decoder is + Port ( clk : in std_logic; + symbol : in std_logic_vector (9 downto 0); + invalid_symbol : out std_logic; + ctl_valid : out std_logic; + ctl : out std_logic_vector (1 downto 0); + terc4_valid : out std_logic; + terc4 : out std_logic_vector (3 downto 0); + guardband_valid : out std_logic; + guardband : out std_logic_vector (0 downto 0); + data_valid : out std_logic; + data : out std_logic_vector (7 downto 0)); + end component; + + component alignment_detect is + Port ( clk : in STD_LOGIC; + invalid_symbol : in STD_LOGIC; + delay_count : out STD_LOGIC_VECTOR(4 downto 0); + delay_ce : out STD_LOGIC; + bitslip : out STD_LOGIC; + symbol_sync : out STD_LOGIC); + end component; + + signal delay_count : std_logic_vector (4 downto 0); + signal delay_ce : STD_LOGIC; + signal bitslip : STD_LOGIC; + signal symbol_sync_i : STD_LOGIC; + signal symbol_i : std_logic_vector (9 downto 0); + signal invalid_symbol_i: STD_LOGIC; + +begin + symbol <= symbol_i; + +i_deser: deserialiser_1_to_10 port map ( + clk_mgmt => clk_mgmt, + delay_ce => delay_ce, + delay_count => delay_count, + ce => ce, + clk => clk, + clk_x1 => clk_x1, + bitslip => bitslip, + clk_x5 => clk_x5, + reset => reset, + serial => serial, + data => symbol_i); + +i_decoder: tmds_decoder port map ( + clk => clk, + symbol => symbol_i, + invalid_symbol => invalid_symbol_i, + ctl_valid => ctl_valid, + ctl => ctl, + terc4_valid => terc4_valid, + terc4 => terc4, + guardband_valid => guardband_valid, + guardband => guardband, + data_valid => data_valid, + data => data + ); + + invalid_symbol <= invalid_symbol_i; + +i_alignment_detect: alignment_detect port map ( + clk => clk, + invalid_symbol => invalid_symbol_i, + delay_count => delay_count, + delay_ce => delay_ce, + bitslip => bitslip, + symbol_sync => symbol_sync); + +end Behavioral; diff --git a/src/line_delay.vhd b/src/line_delay.vhd new file mode 100644 index 0000000..823d5a3 --- /dev/null +++ b/src/line_delay.vhd @@ -0,0 +1,153 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: line_delay - Behavioral +-- +-- Description: Delay the video signal by one line, as measured by the rising +-- edge on hsync. This module works for line lengths of between +-- around 510 and around 2500 (needed for 640x480 through +-- 1920x1080. +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity line_delay is + Port ( clk : in STD_LOGIC; + ------------------------------- + -- VGA data recovered from HDMI + ------------------------------- + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_red : in std_logic_vector(7 downto 0); + in_green : in std_logic_vector(7 downto 0); + in_blue : in std_logic_vector(7 downto 0); + + ----------------------------------- + -- VGA data to be converted to HDMI + ----------------------------------- + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_red : out std_logic_vector(7 downto 0); + out_green : out std_logic_vector(7 downto 0); + out_blue : out std_logic_vector(7 downto 0)); +end line_delay; + +architecture Behavioral of line_delay is + type mem_block is array (0 to 511) of std_logic_vector(26 downto 0); + signal mem_0 : mem_block := (others => (others => '0')); + signal mem_1 : mem_block := (others => (others => '0')); + signal mem_2 : mem_block := (others => (others => '0')); + signal mem_3 : mem_block := (others => (others => '0')); + signal mem_4 : mem_block := (others => (others => '0')); + + signal wr_addr : unsigned(8 downto 0) := (others =>'1'); + signal offset_0 : unsigned(8 downto 0) := (others =>'1'); + signal offset_1 : unsigned(8 downto 0) := (others =>'1'); + signal offset_2 : unsigned(8 downto 0) := (others =>'1'); + signal offset_3 : unsigned(8 downto 0) := (others =>'1'); + signal offset_4 : unsigned(8 downto 0) := (others =>'1'); + + signal width : unsigned(11 downto 0) := (others =>'0'); + signal line_count : unsigned(11 downto 0) := (others =>'0'); + signal last_hsync : std_logic := '0'; + signal mid_0 : std_logic_vector(26 downto 0) := (others =>'0'); + signal mid_1 : std_logic_vector(26 downto 0) := (others =>'0'); + signal mid_2 : std_logic_vector(26 downto 0) := (others =>'0'); + signal mid_3 : std_logic_vector(26 downto 0) := (others =>'0'); +begin + +process(clk) + variable mem_4_out : std_logic_vector(26 downto 0); + variable temp : unsigned(11 downto 0) := (others =>'1'); + begin + if rising_edge(clk) then + ------------------------------------------------ + -- Retreive the value from the end of the delay + -- and break out the signals + ------------------------------------------------ + mem_4_out := mem_4(to_integer(wr_addr+offset_4)); + out_red <= mem_4_out(26 downto 19); + out_green <= mem_4_out(18 downto 11); + out_blue <= mem_4_out(10 downto 3); + out_blank <= mem_4_out(2); + out_hsync <= mem_4_out(1); + out_vsync <= mem_4_out(0); + + ------------------------------------------------- + -- Move everything through the five memory blocks + ------------------------------------------------- + mem_4(to_integer(wr_addr)) <= mid_3; + mid_3 <= mem_3(to_integer(wr_addr+offset_3)); + mem_3(to_integer(wr_addr)) <= mid_2; + mid_2 <= mem_2(to_integer(wr_addr+offset_2)); + mem_2(to_integer(wr_addr)) <= mid_1; + mid_1 <= mem_1(to_integer(wr_addr+offset_1)); + mem_1(to_integer(wr_addr)) <= mid_0; + mid_0 <= mem_0(to_integer(wr_addr+offset_0)); + mem_0(to_integer(wr_addr)) <= in_red & in_green & in_blue & in_blank & in_hsync & in_vsync; + wr_addr <= wr_addr - 1; + if in_hsync = '1' and last_hsync ='0' then + width <= line_count; + line_count <= (others => '0'); + else + line_count <=line_count + 1; + end if; + + ------------------------------------------------------------- + -- Update the offsets every cycle, not that we really need to + -- This improves the timing as we have less logic + ------------------------------------------------------------- + offset_0 <= to_unsigned(508,9); + temp := width-512+0; offset_1 <= temp(10 downto 2); + temp := width-512+1; offset_2 <= temp(10 downto 2); + temp := width-512+2; offset_3 <= temp(10 downto 2); + temp := width-512+3; offset_4 <= temp(10 downto 2); + + last_hsync <= in_hsync; + end if; + end process; + +end Behavioral; diff --git a/src/pixel_processing.vhd b/src/pixel_processing.vhd new file mode 100644 index 0000000..4ebdef1 --- /dev/null +++ b/src/pixel_processing.vhd @@ -0,0 +1,281 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: pixel_processing - Behavioral +-- +-- Description: Where you can do processing on the raw pixel data +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity pixel_processing is + Port ( clk : in STD_LOGIC; + ------------------------------- + -- VGA data recovered from HDMI + ------------------------------- + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_red : in std_logic_vector(7 downto 0); + in_green : in std_logic_vector(7 downto 0); + in_blue : in std_logic_vector(7 downto 0); + is_interlaced : in std_logic; + is_second_field : in std_logic; + ----------------------------------- + -- VGA data to be converted to HDMI + ----------------------------------- + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_red : out std_logic_vector(7 downto 0); + out_green : out std_logic_vector(7 downto 0); + out_blue : out std_logic_vector(7 downto 0); + ------------------------------------ + -- Audio only comes in.. + ------------------------------------ + audio_channel : in std_logic_vector(2 downto 0); + audio_de : in std_logic; + audio_sample : in std_logic_vector(23 downto 0); + + ---------------------------------- + -- Controls + ---------------------------------- + switches : in std_logic_vector(7 downto 0) + ); +end pixel_processing; + +architecture Behavioral of pixel_processing is + component audio_to_db is + Port ( clk : in STD_LOGIC; + in_channel : in STD_LOGIC_VECTOR (2 downto 0); + in_de : in STD_LOGIC; + in_sample : in STD_LOGIC_VECTOR (23 downto 0); + out_channel : out STD_LOGIC_VECTOR (2 downto 0); + out_de : out STD_LOGIC; + out_level : out STD_LOGIC_VECTOR (5 downto 0)); + end component; + + signal level_channel : std_logic_vector(2 downto 0); + signal level_de : std_logic; + signal level : std_logic_vector(5 downto 0); + + component audio_meters is + Port ( clk : in STD_LOGIC; + ------------------------------- + -- VGA data recovered from HDMI + ------------------------------- + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_red : in std_logic_vector(7 downto 0); + in_green : in std_logic_vector(7 downto 0); + in_blue : in std_logic_vector(7 downto 0); + is_interlaced : in std_logic; + is_second_field : in std_logic; + + ----------------------------------- + -- VGA data to be converted to HDMI + ----------------------------------- + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_red : out std_logic_vector(7 downto 0); + out_green : out std_logic_vector(7 downto 0); + out_blue : out std_logic_vector(7 downto 0); + + ------------------------------------- + -- Audio Levels + ------------------------------------- + signal audio_channel : in std_logic_vector(2 downto 0); + signal audio_de : in std_logic; + signal audio_level : in std_logic_vector(5 downto 0) + ); + end component; + + component edge_enhance is + Port ( clk : in STD_LOGIC; + enable_feature : in std_logic; + ------------------------------- + -- VGA data recovered from HDMI + ------------------------------- + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_red : in std_logic_vector(7 downto 0); + in_green : in std_logic_vector(7 downto 0); + in_blue : in std_logic_vector(7 downto 0); + + ----------------------------------- + -- VGA data to be converted to HDMI + ----------------------------------- + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_red : out std_logic_vector(7 downto 0); + out_green : out std_logic_vector(7 downto 0); + out_blue : out std_logic_vector(7 downto 0) + ); + end component; + + component guidelines is + Port ( clk : in STD_LOGIC; + enable_feature : in std_logic; + ------------------------------- + -- VGA data recovered from HDMI + ------------------------------- + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_red : in std_logic_vector(7 downto 0); + in_green : in std_logic_vector(7 downto 0); + in_blue : in std_logic_vector(7 downto 0); + is_interlaced : in std_logic; + is_second_field : in std_logic; + + ----------------------------------- + -- VGA data to be converted to HDMI + ----------------------------------- + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_red : out std_logic_vector(7 downto 0); + out_green : out std_logic_vector(7 downto 0); + out_blue : out std_logic_vector(7 downto 0) + ); + end component; + + signal b_blank : std_logic; + signal b_hsync : std_logic; + signal b_vsync : std_logic; + signal b_red : std_logic_vector(7 downto 0); + signal b_green : std_logic_vector(7 downto 0); + signal b_blue : std_logic_vector(7 downto 0); + + signal c_blank : std_logic; + signal c_hsync : std_logic; + signal c_vsync : std_logic; + signal c_red : std_logic_vector(7 downto 0); + signal c_green : std_logic_vector(7 downto 0); + signal c_blue : std_logic_vector(7 downto 0); + +begin + +i_audio_to_db: audio_to_db port map ( + clk => clk, + + in_channel => audio_channel, + in_de => audio_de, + in_sample => audio_sample, + + out_channel => level_channel, + out_de => level_de, + out_level => level + ); + +i_edge_enhance: edge_enhance Port map ( + clk => clk, + + enable_feature => switches(0), + + in_blank => in_blank, + in_hsync => in_hsync, + in_vsync => in_vsync, + in_red => in_red, + in_green => in_green, + in_blue => in_blue, + + out_blank => b_blank, + out_hsync => b_hsync, + out_vsync => b_vsync, + out_red => b_red, + out_green => b_green, + out_blue => b_blue + ); + +i_audio_meters: audio_meters Port map ( + clk => clk, + in_blank => b_blank, + in_hsync => b_hsync, + in_vsync => b_vsync, + in_red => b_red, + in_green => b_green, + in_blue => b_blue, + is_interlaced => is_interlaced, + is_second_field => is_second_field, + + out_blank => c_blank, + out_hsync => c_hsync, + out_vsync => c_vsync, + out_red => c_red, + out_green => c_green, + out_blue => c_blue, + + audio_channel => level_channel, + audio_de => level_de, + audio_level => level + ); + + +i_guidelines: guidelines Port map ( + clk => clk, + + enable_feature => switches(1), + + in_blank => c_blank, + in_hsync => c_hsync, + in_vsync => c_vsync, + in_red => c_red, + in_green => c_green, + in_blue => c_blue, + is_interlaced => is_interlaced, + is_second_field => is_second_field, + + out_blank => out_blank, + out_hsync => out_hsync, + out_vsync => out_vsync, + out_red => out_red, + out_green => out_green, + out_blue => out_blue + ); + + end Behavioral; \ No newline at end of file diff --git a/src/serialiser_10_to_1.vhd b/src/serialiser_10_to_1.vhd new file mode 100644 index 0000000..b10fed5 --- /dev/null +++ b/src/serialiser_10_to_1.vhd @@ -0,0 +1,176 @@ +---------------------------------------------------------------------------------- +-- File: serialiser_10_to_1.vhd +-- +-- Engineer: Mike Field +-- +-- Module Name: serialiser_10_to_1 - Behavioral +-- +-- Description: Using the OSERDESE2 as a 10:1 serialiser, using a x1 and x5 +-- clocks (using DDR outputs). +-- +-- The tricky bit is that reset needs to be asserted, and then CE asserted +-- after the reset or it will not simulate correctly (outputs show as 'X') +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +library UNISIM; +use UNISIM.VComponents.all; + +entity serialiser_10_to_1 is + Port ( clk : in STD_LOGIC; + clk_x5 : in STD_LOGIC; + data : in STD_LOGIC_VECTOR (9 downto 0); + reset : in std_logic; + serial : out STD_LOGIC); +end serialiser_10_to_1; + +architecture Behavioral of serialiser_10_to_1 is + signal shift1 : std_logic := '0'; + signal shift2 : std_logic := '0'; + signal ce_delay : std_logic_vector(7 downto 0) := (others => '0'); + signal reset_delay : std_logic_vector(7 downto 0) := (others => '0'); +begin + +master_serdes : OSERDESE2 + generic map ( + DATA_RATE_OQ => "DDR", -- DDR, SDR + DATA_RATE_TQ => "DDR", -- DDR, BUF, SDR + DATA_WIDTH => 10, -- Parallel data width (2-8,10,14) + INIT_OQ => '1', -- Initial value of OQ output (1'b0,1'b1) + INIT_TQ => '1', -- Initial value of TQ output (1'b0,1'b1) + SERDES_MODE => "MASTER", -- MASTER, SLAVE + SRVAL_OQ => '0', -- OQ output value when SR is used (1'b0,1'b1) + SRVAL_TQ => '0', -- TQ output value when SR is used (1'b0,1'b1) + TBYTE_CTL => "FALSE", -- Enable tristate byte operation (FALSE, TRUE) + TBYTE_SRC => "FALSE", -- Tristate byte source (FALSE, TRUE) + TRISTATE_WIDTH => 1 -- 3-state converter width (1,4) + ) + port map ( + OFB => open, -- 1-bit output: Feedback path for data + OQ => serial, -- 1-bit output: Data path output + -- SHIFTOUT1 / SHIFTOUT2: 1-bit (each) output: Data output expansion (1-bit each) + SHIFTOUT1 => open, + SHIFTOUT2 => open, + TBYTEOUT => open, -- 1-bit output: Byte group tristate + TFB => open, -- 1-bit output: 3-state control + TQ => open, -- 1-bit output: 3-state control + CLK => clk_x5, -- 1-bit input: High speed clock + CLKDIV => clk, -- 1-bit input: Divided clock + -- D1 - D8: 1-bit (each) input: Parallel data inputs (1-bit each) + D1 => data(0), + D2 => data(1), + D3 => data(2), + D4 => data(3), + D5 => data(4), + D6 => data(5), + D7 => data(6), + D8 => data(7), + OCE => '1', --ce_delay(0), -- 1-bit input: Output data clock enable + RST => reset, -- 1-bit input: Reset + -- SHIFTIN1 / SHIFTIN2: 1-bit (each) input: Data input expansion (1-bit each) + SHIFTIN1 => SHIFT1, + SHIFTIN2 => SHIFT2, + -- T1 - T4: 1-bit (each) input: Parallel 3-state inputs + T1 => '0', + T2 => '0', + T3 => '0', + T4 => '0', + TBYTEIN => '0', -- 1-bit input: Byte group tristate + TCE => '0' -- 1-bit input: 3-state clock enable + ); + +slave_serdes : OSERDESE2 + generic map ( + DATA_RATE_OQ => "DDR", -- DDR, SDR + DATA_RATE_TQ => "DDR", -- DDR, BUF, SDR + DATA_WIDTH => 10, -- Parallel data width (2-8,10,14) + INIT_OQ => '1', -- Initial value of OQ output (1'b0,1'b1) + INIT_TQ => '1', -- Initial value of TQ output (1'b0,1'b1) + SERDES_MODE => "SLAVE", -- MASTER, SLAVE + SRVAL_OQ => '0', -- OQ output value when SR is used (1'b0,1'b1) + SRVAL_TQ => '0', -- TQ output value when SR is used (1'b0,1'b1) + TBYTE_CTL => "FALSE", -- Enable tristate byte operation (FALSE, TRUE) + TBYTE_SRC => "FALSE", -- Tristate byte source (FALSE, TRUE) + TRISTATE_WIDTH => 1 -- 3-state converter width (1,4) + ) + port map ( + OFB => open, -- 1-bit output: Feedback path for data + OQ => open, -- 1-bit output: Data path output + -- SHIFTOUT1 / SHIFTOUT2: 1-bit (each) output: Data output expansion (1-bit each) + SHIFTOUT1 => shift1, + SHIFTOUT2 => shift2, + + TBYTEOUT => open, -- 1-bit output: Byte group tristate + TFB => open, -- 1-bit output: 3-state control + TQ => open, -- 1-bit output: 3-state control + CLK => clk_x5, -- 1-bit input: High speed clock + CLKDIV => clk, -- 1-bit input: Divided clock + -- D1 - D8: 1-bit (each) input: Parallel data inputs (1-bit each) + D1 => '0', + D2 => '0', + D3 => data(8), + D4 => data(9), + D5 => '0', + D6 => '0', + D7 => '0', + D8 => '0', + OCE => '1', --ce_delay(0), -- 1-bit input: Output data clock enable + RST => reset, -- 1-bit input: Reset + -- SHIFTIN1 / SHIFTIN2: 1-bit (each) input: Data input expansion (1-bit each) + SHIFTIN1 => '0', + SHIFTIN2 => '0', + -- T1 - T4: 1-bit (each) input: Parallel 3-state inputs + T1 => '0', + T2 => '0', + T3 => '0', + T4 => '0', + TBYTEIN => '0', -- 1-bit input: Byte group tristate + TCE => '0' -- 1-bit input: 3-state clock enable + ); + +delay_ce: process(clk_x5) + begin + if rising_edge(clk_x5) then + ce_delay <= not reset & ce_delay(ce_delay'high downto 1); + end if; + end process; +end Behavioral; \ No newline at end of file diff --git a/src/spi_regfile.v b/src/spi_regfile.v new file mode 100644 index 0000000..0fbc2f6 --- /dev/null +++ b/src/spi_regfile.v @@ -0,0 +1,97 @@ +`timescale 1ns / 1ps + +module spi_regfile( + input clk, rst, + + input sck, sdi, ncs, + output reg sdo, + + input [7:0] spi_data_in, + output reg [7:0] spi_data_out, + + input [7:0] spi_status_word, + output reg [7:0] spi_cmd_word, + output reg spi_cmd_begin, + output reg spi_cmd_active, + output reg spi_cmd_step, + output reg [19:0] spi_cmd_idx, + output [7:0] rxbuf_dbg +); + +reg [6:0] txbuf; +reg [7:0] rxbuf; +reg is_cmd_word; +reg last_ncs; +reg last_sck; +reg load_data; + +assign rxbuf_dbg = rxbuf; + +wire sck_clean, sdi_clean, ncs_clean; +edge_cleaner sck_cleaner (.clk(clk), .in(sck), .out(sck_clean)); +edge_cleaner sdi_cleaner (.clk(clk), .in(sdi), .out(sdi_clean)); +edge_cleaner ncs_cleaner (.clk(clk), .in(ncs), .out(ncs_clean)); + +/* SPI mode 0: CPOL = 0, CPHA = 0. Initial SDO setup on falling ~CS edge */ + +always @(posedge clk) begin + spi_cmd_begin <= 0; + spi_cmd_step <= 0; + last_ncs <= ncs_clean; + last_sck <= sck_clean; + + if (rst) begin + is_cmd_word <= 1; + spi_cmd_active <= 0; + spi_cmd_idx <= 0; + + end else begin + if (last_ncs && !ncs_clean) begin + txbuf <= spi_status_word[6:0]; + sdo <= spi_status_word[7]; + rxbuf <= 8'h01; + end + + if (!ncs_clean) begin + if (!last_sck && sck_clean) begin /* sampling edge */ + if (!rxbuf[7]) begin + rxbuf <= {rxbuf[6:0], sdi_clean}; + + end else begin + rxbuf <= 8'h01; + load_data <= 1; + + if (is_cmd_word) begin + spi_cmd_word <= {rxbuf[6:0], sdi_clean}; + is_cmd_word <= 0; + spi_cmd_active <= 1; + spi_cmd_begin <= 1; + spi_cmd_idx <= 0; + + end else begin + spi_data_out <= {rxbuf[6:0], sdi_clean}; + spi_cmd_idx <= spi_cmd_idx+1; + spi_cmd_step <= 1; + end + end + + end else if (last_sck && !sck_clean) begin /* driving edge */ + if (load_data) begin + sdo <= spi_data_in[7]; + txbuf <= spi_data_in[6:0]; + load_data <= 0; + + end else begin + sdo <= txbuf[6]; + txbuf <= {txbuf[5:0], 1'b0}; + end + end + + end else begin + spi_cmd_active <= 0; + is_cmd_word <= 1; + end + end +end + +endmodule diff --git a/src/symbol_dump.vhd b/src/symbol_dump.vhd new file mode 100644 index 0000000..4f3f997 --- /dev/null +++ b/src/symbol_dump.vhd @@ -0,0 +1,192 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: symbol_dump - Behavioral +-- +-- Description: Create a trace of HDMI symbols - a 1024 word memory block is filled +-- and then transmitted over rs232. Then refilled again, but this time +-- waiting an extra 1024 cycles from when symbol_sync is asserted. +-- +-- If the video source is paused, then the entire frame can be capbured +-- (excluding ADP data periods, which might get broken on the boundary. +-- +-- The captured data can then be analysed by hand or used to drive +-- simulations. +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity symbol_dump is + Port ( clk : in STD_LOGIC; + clk100 : in STD_LOGIC; + symbol_sync : in STD_LOGIC; + symbol_ch0 : in STD_LOGIC_VECTOR (9 downto 0); + symbol_ch1 : in STD_LOGIC_VECTOR (9 downto 0); + symbol_ch2 : in STD_LOGIC_VECTOR (9 downto 0); + rs232_tx : out STD_LOGIC); +end symbol_dump; + +architecture Behavioral of symbol_dump is + type array_hex is array(0 to 15) of std_logic_vector(9 downto 0); + signal hex : array_hex := ( + "1001100000", "1001100010", "1001100100", "1001100110", + "1001101000", "1001101010", "1001101100", "1001101110", + "1001110000", "1001110010", "1010000010", "1010000100", + "1010000110", "1010001000", "1010001010", "1010001100"); + + type array_memory is array(0 to 1023) of std_logic_vector(29 downto 0); + signal memory : array_memory := (others => (others =>'0')); + signal position : unsigned(23 downto 0) := (others => '0'); + signal capture_point : unsigned(23 downto 0) := (others => '0'); + signal write_address : unsigned(9 downto 0) := (others => '0'); + signal write_enable : std_logic := '0'; + signal write_data : std_logic_vector(29 downto 0) := (others => '0'); + + --- For signaling into the 100MHz domain + signal ready_to_send : std_logic := '0'; + signal ready_to_send_meta : std_logic := '0'; + signal ready_to_send_synced : std_logic := '0'; + --- For signaling into the pixel clock domain + signal sending_data : std_logic := '0'; + signal sending_data_meta : std_logic := '0'; + signal sending_data_synced : std_logic := '0'; + + signal rd_address : unsigned(9 downto 0) := (others => '0'); + signal rd_data : std_logic_vector(29 downto 0) := (others => '0'); + signal tx_data : std_logic_vector(89 downto 0) := (others => '1'); + signal tx_count : unsigned(7 downto 0) := (others => '0'); + signal baud_counter : unsigned(12 downto 0) := (others => '0'); + signal baud_counter_max : unsigned(12 downto 0) := to_unsigned(100000000/115200,13); +begin + +process(clk) + begin + if rising_edge(clk) then + if write_enable = '1' then + memory(to_integer(write_address)) <= symbol_ch2 & symbol_ch1 & symbol_ch0; + end if; + -- track where we are in the frame. + if symbol_sync = '1' then + position <= (others => '0'); + else + position <= position+1; + end if; + + -- If we are capturing remember where we have got up to + -- and see if we have captured our full amount. + if write_enable = '1' then + capture_point <= position; + write_data <= symbol_ch2 & symbol_ch1 & symbol_ch0; + write_data <= symbol_ch2 & symbol_ch1 & symbol_ch0; + if write_address = 1023 then + write_enable <= '0'; + ready_to_send <= '1'; + end if; + write_address <= write_address+1; + end if; + + -- Do we start capturing at this point? + -- (write address resets itself to 0, so we don't + -- have to do it here) + if position = capture_point and ready_to_send = '0' and sending_data_synced = '0' then + write_enable <= '1'; + end if; + + -- Do we need to re-arm ready for the next capture + if sending_data_synced = '1' then + ready_to_send <= '0'; + end if; + + + -- Bring data_sent into this clock domain + sending_data_synced <= sending_data_meta; + sending_data_meta <= sending_data; + + end if; + end process; + +process(clk100) + begin + if rising_edge(clk100) then + + if baud_counter = 0 then + rs232_tx <= tx_data(0); + tx_data <= '1' & tx_data(89 downto 1); + baud_counter <= baud_counter_max; + if(tx_count > 0) then + tx_count <= tx_count-1; + end if; + else + baud_counter <= baud_counter -1; + end if; + + if sending_data = '1' or ready_to_send_synced = '1' then + if tx_count = 0 then + tx_data(89 downto 80) <= hex(to_integer(unsigned(rd_data( 3 downto 0)))); + tx_data(79 downto 70) <= hex(to_integer(unsigned(rd_data( 7 downto 4)))); + tx_data(69 downto 60) <= hex(to_integer(unsigned(rd_data(11 downto 8)))); + tx_data(59 downto 50) <= hex(to_integer(unsigned(rd_data(15 downto 12)))); + tx_data(49 downto 40) <= hex(to_integer(unsigned(rd_data(19 downto 16)))); + tx_data(39 downto 30) <= hex(to_integer(unsigned(rd_data(23 downto 20)))); + tx_data(29 downto 20) <= hex(to_integer(unsigned(rd_data(27 downto 24)))); + tx_data(19 downto 10) <= hex(to_integer(unsigned(rd_data(29 downto 28)))); + tx_data( 9 downto 0) <= "1000010100"; -- New line + tx_count <= to_unsigned(90,8); + + rd_data <= memory(to_integer(rd_address)); + rd_address <= rd_address+1; + if rd_address = 1023 then + sending_data <= '0'; + else + sending_data <= '1'; + end if; + end if; + end if; + + -- Bring the ready to send signal into this clock domain + ready_to_send_synced <= ready_to_send_meta; + ready_to_send_meta <= ready_to_send; + end if; + end process; +end Behavioral; diff --git a/src/term_emu.v b/src/term_emu.v new file mode 100644 index 0000000..1b820da --- /dev/null +++ b/src/term_emu.v @@ -0,0 +1,324 @@ +`timescale 1ns / 1ps + +module term_emu( + input clk, rst, + + input in_byte_valid, + input [7:0] in_byte, + output reg in_byte_ack, + + output reg glyph_buffer_w_valid, + output reg [15:0] glyph_buffer_w_addr, + output reg [19:0] glyph_buffer_w_data +); + +parameter GLYPHMEM_W = 256; /* glyphs */ +parameter GLYPHMEM_H = 128; /* glyphs */ + +localparam ST_PARSE_TEXT = 9'b000000001, + ST_PARSE_ESC = 9'b000000010, + ST_PARSE_CSI = 9'b000000100, + ST_PARSE_SEP = 9'b000100000, + ST_PARSE_INVAL = 9'b010000000; + + +wire [15:0] glyph_buffer_w_addr_comp = (GLYPHMEM_W*glyph_y) + glyph_x; + +reg [8:0] parser_state; +reg [3:0] cur_fg; +reg [3:0] cur_bg; +reg cur_bold; +reg cur_underline; +localparam NUM_BUF_SZ = 8; +reg [NUM_BUF_SZ*12-1:0] num_buf; +wire [11:0] num_buf_last; +assign num_buf_last = num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-1-11]; +reg [7:0] parser_action; +reg parser_valid; +reg [4:0] num_buf_idx; +reg [9:0] glyph_x; +reg [9:0] glyph_y; +reg [11:0] csi_act_ctr; +reg cursor_movement_x_pos; +reg cursor_movement_x_neg; +reg cursor_movement_y_pos; +reg cursor_movement_y_neg; +reg esc_inval; +reg num_start; + +always @(posedge clk) begin + in_byte_ack <= 0; + glyph_buffer_w_valid <= 0; + + if (rst) begin + parser_state <= ST_PARSE_TEXT; + num_buf <= 0; + parser_valid <= 0; + parser_action <= 0; + glyph_x <= 0; + glyph_y <= 0; + num_start <= 0; + cur_fg <= 7; + cur_bg <= 0; + cur_bold <= 0; + cur_underline <= 0; + num_buf_idx <= 0; + csi_act_ctr <= 0; + esc_inval <= 0; + cursor_movement_x_pos <= 0; + cursor_movement_x_neg <= 0; + cursor_movement_y_pos <= 0; + cursor_movement_y_neg <= 0; + + end else if (!parser_valid && in_byte_valid) begin + in_byte_ack <= 1; + + case (parser_state) + (ST_PARSE_TEXT): begin + if (in_byte == 8'h1b) begin /* \e */ + parser_state <= ST_PARSE_ESC; + + end else if (in_byte == 8'h0a) begin /* \n */ + glyph_x <= 0; + glyph_buffer_w_valid <= 1; + glyph_buffer_w_data <= {1'b0, 1'b0, 2'b00, cur_bg, 4'b0000, in_byte}; + glyph_buffer_w_addr <= glyph_buffer_w_addr_comp; + + if (glyph_y != GLYPHMEM_H-1) begin + glyph_y <= glyph_y + 1; + end + + end else begin + glyph_buffer_w_valid <= 1; + glyph_buffer_w_data <= {cur_underline, cur_bold, 2'b00, cur_bg, cur_fg, in_byte}; + glyph_buffer_w_addr <= glyph_buffer_w_addr_comp; + if (glyph_x != GLYPHMEM_W-1) begin + glyph_x <= glyph_x + 1; + end + end + end + + (ST_PARSE_ESC): begin + if (in_byte == 8'h5b) begin /* [ */ + parser_state <= ST_PARSE_CSI; + num_buf <= {{0}}; + num_start <= 1; + + end else begin + parser_state <= ST_PARSE_INVAL; + end + end + + (ST_PARSE_CSI), (ST_PARSE_SEP): begin + if (in_byte >= 8'h30 && in_byte <= 8'h39) begin /* 0-9 */ + if (num_start) begin + num_start <= 0; + num_buf <= {num_buf[NUM_BUF_SZ*12-1:12], 8'hff, ~in_byte[3:0]}; + end else begin + num_buf <= {num_buf[NUM_BUF_SZ*12-1:12], num_buf[7:0], ~in_byte[3:0]}; + end + parser_state = ST_PARSE_CSI; + + end else if (in_byte == 8'h3b) begin /* ; */ + num_buf <= {num_buf[NUM_BUF_SZ*12-1-12:0], 12'hfff}; + parser_state <= ST_PARSE_SEP; + num_start <= 1; + + end else if (in_byte >= 8'h40 && in_byte <= 8'h7e) begin + parser_action <= in_byte; + parser_valid <= 1; + num_buf_idx <= 0; + esc_inval <= 0; + csi_act_ctr <= 0; + cursor_movement_x_pos <= 0; + cursor_movement_x_neg <= 0; + cursor_movement_y_pos <= 0; + cursor_movement_y_neg <= 0; + parser_state <= ST_PARSE_TEXT; + + end else begin + parser_state <= ST_PARSE_INVAL; + end + end + + (ST_PARSE_INVAL): begin + if (in_byte >= 8'h40 && in_byte <= 8'h7e) begin + parser_state <= ST_PARSE_TEXT; + end + end + endcase + + end else if (parser_valid) begin + if (cursor_movement_x_pos || cursor_movement_x_neg || cursor_movement_y_pos || cursor_movement_y_neg) begin + csi_act_ctr <= bcd12_inc(csi_act_ctr); + + if (csi_act_ctr != ~num_buf_last) begin + if (cursor_movement_x_pos) begin + if (glyph_x != GLYPHMEM_W-1) glyph_x <= glyph_x + 1; + end else if (cursor_movement_x_neg) begin + if (glyph_x != 0) glyph_x <= glyph_x - 1; + end else if (cursor_movement_y_pos) begin + if (glyph_y != GLYPHMEM_H-1) glyph_y <= glyph_y + 1; + end else if (cursor_movement_y_neg) begin + if (glyph_y != 0) glyph_y <= glyph_y - 1; + end + end + + if (num_buf_last == 0 || ~num_buf_last == 12'h001 || csi_act_ctr == ~num_buf_last) begin + if (cursor_movement_x_pos && cursor_movement_y_pos) begin + num_buf <= {num_buf[NUM_BUF_SZ*12-1-12:0], 12'h000}; + cursor_movement_x_pos <= 0; + end else begin + parser_valid <= 0; + end + end + + end else if (parser_action == 8'h41 && !esc_inval) begin /* A; Cursor up */ + cursor_movement_y_neg <= 1; + num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0]; + + end else if (parser_action == 8'h42 && !esc_inval) begin /* B; Cursor down */ + cursor_movement_y_pos <= 1; + num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0]; + + end else if (parser_action == 8'h43 && !esc_inval) begin /* C; Cursor forward */ + cursor_movement_x_pos <= 1; + num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0]; + + end else if (parser_action == 8'h44 && !esc_inval) begin /* D; Cursor back */ + cursor_movement_x_neg <= 1; + num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0]; + + end else if (parser_action == 8'h45 && !esc_inval) begin /* E; Cursor next line */ + glyph_x <= 0; + cursor_movement_y_pos <= 1; + num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0]; + + end else if (parser_action == 8'h46 && !esc_inval) begin /* F: Cursor previous line */ + glyph_x <= 0; + cursor_movement_y_neg <= 1; + num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0]; + + end else if (parser_action == 8'h47 && !esc_inval) begin /* G: Cursor horizontal absolute */ + glyph_x <= 0; + num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0]; + if (num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] != 0) begin + cursor_movement_x_pos <= 1; + end else begin + parser_valid <= 0; + end + + end else if (parser_action == 8'h48 && !esc_inval) begin /* H: Cursor x/y absolute */ + glyph_x <= 0; + glyph_y <= 0; + num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-24] <= num_buf[23:0]; + if (num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] != 0) begin + cursor_movement_x_pos <= 1; + cursor_movement_y_pos <= 1; + end else begin + parser_valid <= 0; + end + + end else if (parser_action == 8'h6d && !esc_inval) begin /* m; CSI SGR */ + if (num_buf_idx == NUM_BUF_SZ-1) begin + parser_valid <= 0; + end + + case (~num_buf_last) + (12'h000): begin /* reset */ + cur_fg <= 7; + cur_bg <= 0; + cur_bold <= 0; + cur_underline <= 0; + end + (12'h001): begin /* bold */ + cur_bold <= 1; + end + (12'h004): begin /* underlined */ + cur_underline <= 1; + end + (12'h007): begin /* reverse video */ + cur_fg = cur_bg; + cur_bg = cur_fg; + end + (12'h022): begin /* not bold */ + cur_bold <= 0; + end + (12'h024): begin /* not underlined */ + cur_underline <= 0; + end + + (12'h030): cur_fg <= 0; + (12'h031): cur_fg <= 1; + (12'h032): cur_fg <= 2; + (12'h033): cur_fg <= 3; + (12'h034): cur_fg <= 4; + (12'h035): cur_fg <= 5; + (12'h036): cur_fg <= 6; + (12'h037): cur_fg <= 7; + (12'h038): esc_inval <= 1; + (12'h039): cur_fg <= 7; + + (12'h040): cur_bg <= 0; + (12'h041): cur_bg <= 1; + (12'h042): cur_bg <= 2; + (12'h043): cur_bg <= 3; + (12'h044): cur_bg <= 4; + (12'h045): cur_bg <= 5; + (12'h046): cur_bg <= 6; + (12'h047): cur_bg <= 7; + (12'h048): esc_inval <= 1; + (12'h049): cur_bg <= 0; + + (12'h090): cur_fg <= 8; + (12'h091): cur_fg <= 9; + (12'h092): cur_fg <= 10; + (12'h093): cur_fg <= 11; + (12'h094): cur_fg <= 12; + (12'h095): cur_fg <= 13; + (12'h096): cur_fg <= 14; + (12'h097): cur_fg <= 15; + + (12'h100): cur_bg <= 8; + (12'h101): cur_bg <= 9; + (12'h102): cur_bg <= 10; + (12'h103): cur_bg <= 11; + (12'h104): cur_bg <= 12; + (12'h105): cur_bg <= 13; + (12'h106): cur_bg <= 14; + (12'h107): cur_bg <= 15; + /* (12'hfff): ignore! */ + endcase + + num_buf_idx <= num_buf_idx + 1; + num_buf <= {num_buf[NUM_BUF_SZ*12-1-12:0], 12'h000}; + + end else begin + parser_valid <= 0; + end + end +end + +function [11:0] bcd12_inc; +input [11:0] in; +begin + bcd12_inc = in; + if (in[3:0] != 4'h9) begin + bcd12_inc[3:0] = in[3:0]+1; + end else begin + bcd12_inc[3:0] = 4'h0; + if (in[7:4] != 4'h9) begin + bcd12_inc[7:4] = in[7:4] + 1; + end else begin + bcd12_inc[7:4] = 0; + if (in[11:8] != 4'h9) begin + bcd12_inc[11:8] = in[11:8] + 1; + end else begin + bcd12_inc[11:8] = 0; + end + end + end +end +endfunction + +endmodule \ No newline at end of file diff --git a/src/term_renderer.v b/src/term_renderer.v new file mode 100644 index 0000000..44d6d32 --- /dev/null +++ b/src/term_renderer.v @@ -0,0 +1,168 @@ +`timescale 1ns / 1ps + +module term_renderer( +input rst, clk, + +input in_blank, in_vsync, in_hsync, + +input [19:0] glyphmem_data, +output [15:0] glyphmem_r_addr, + +output out_hsync, out_vsync, +output [7:0] out_red, +output [7:0] out_green, +output [7:0] out_blue +); + +parameter GLYPHMEM_W = 256; /* glyphs */ +parameter GLYPHMEM_H = 128; /* glyphs */ + +/* Glyph table instantiation */ +`include "gen/gen_font_params_default.vh" +localparam FONT_GLYPH_W = `GEN_FONT_GLYPH_W_default; +localparam FONT_GLYPH_H = `GEN_FONT_GLYPH_H_default; +localparam FONT_GLYPH_COUNT = `GEN_FONT_GLYPH_COUNT_default; +reg [FONT_GLYPH_W-1:0] glyph_table_default [0:FONT_GLYPH_COUNT*FONT_GLYPH_H-1]; +/* This is the dumbest thing, but it seems vivado is just *that* stupid. */ +`ifdef SYNTHESIS +initial $readmemh("../../src/gen/gen_glyphtable_default.hex", glyph_table_default); +`else +initial $readmemh("../../../../src/gen/gen_glyphtable_default.hex", glyph_table_default); +`endif + +`include "gen/gen_font_params_bold.vh" +/* NOTE: Bold font must have same glyph w/h, glyph count as regular font above */ +reg [FONT_GLYPH_W-1:0] glyph_table_bold [0:FONT_GLYPH_COUNT*FONT_GLYPH_H-1]; +`ifdef SYNTHESIS +initial $readmemh("../../src/gen/gen_glyphtable_bold.hex", glyph_table_bold); +`else +initial $readmemh("../../../../src/gen/gen_glyphtable_bold.hex", glyph_table_bold); +`endif + +/* Color palette */ +function [23:0] color_palette; +input [3:0] index; +begin + /* Peppermint color palette: https://noahfrederick.com/log/lion-terminal-theme-peppermint */ + case (index) + default: color_palette = 24'h353535; + (1): color_palette = 24'he64569; + (2): color_palette = 24'h89d287; + (3): color_palette = 24'hdab752; + (4): color_palette = 24'h439ecf; + (5): color_palette = 24'hd961dc; + (6): color_palette = 24'h64aaaf; + (7): color_palette = 24'hb3b3b3; + (8): color_palette = 24'h535353; + (9): color_palette = 24'he4859a; + (10): color_palette = 24'ha2cca1; + (11): color_palette = 24'he1e387; + (12): color_palette = 24'h6fbbe2; + (13): color_palette = 24'he586e7; + (14): color_palette = 24'h96dcda; + (15): color_palette = 24'hdedede; + endcase +end +endfunction + +/* Glyph x/y synchronization logic */ +reg [11:0] glyph_x; +reg [11:0] glyph_y; +reg [FONT_GLYPH_W-1:0] glyph_sreg_out; +reg [5:0] px_x; +reg [5:0] px_y; +reg in_hsync_last, in_vsync_last, in_blank_last; + +wire [7:0] gm_data_glyph = glyphmem_data[7:0]; +wire [11:0] gm_data_style = glyphmem_data[19:8]; +reg [11:0] glyphmem_style_reg; +wire [3:0] gm_data_fgcolor = glyphmem_style_reg[3:0]; +wire [3:0] gm_data_bgcolor = glyphmem_style_reg[7:4]; +reg [3:0] last_bgcolor; +wire gm_data_bold = gm_data_style[10]; +wire gm_data_underline = glyphmem_style_reg[11] && !newline_found; +reg newline_found; + +assign out_vsync = in_vsync_last; +assign out_hsync = in_hsync_last; + +assign glyphmem_r_addr = (GLYPHMEM_W*glyph_y) + glyph_x; +wire px_data = glyph_sreg_out[FONT_GLYPH_W-1] || (gm_data_underline && px_y == FONT_GLYPH_H-2); +assign {out_red, out_green, out_blue} = color_palette(newline_found ? last_bgcolor : (px_data ? gm_data_fgcolor : gm_data_bgcolor)); + +/* Core logic */ +always @(posedge clk) begin + if (rst) begin + glyph_x <= 0; + glyph_y <= 0; + px_x <= 0; + px_y <= 0; + in_hsync_last <= 0; + in_vsync_last <= 0; + in_blank_last <= 0; + glyph_sreg_out <= 0; + glyphmem_style_reg <= 0; + newline_found <= 0; + + end else begin + in_hsync_last <= in_hsync; + in_vsync_last <= in_vsync; + in_blank_last <= in_blank; + + if (!in_blank_last && in_blank) begin + glyph_x <= 0; + px_x <= 0; + newline_found <= 0; + + if (px_y != FONT_GLYPH_H-1) begin + px_y <= px_y + 1; + end else begin + glyph_y <= glyph_y + 1; + px_y <= 0; + end + + end + + if (!in_blank) begin + if (px_x != FONT_GLYPH_W-1) begin + px_x <= px_x + 1; + + end else begin + px_x <= 0; + end + + if (px_x == 0) begin + if (newline_found) begin + glyph_sreg_out <= 0; + end else if (gm_data_bold) begin + glyph_sreg_out <= glyph_table_bold[gm_data_glyph*FONT_GLYPH_H + px_y]; + end else begin + glyph_sreg_out <= glyph_table_default[gm_data_glyph*FONT_GLYPH_H + px_y]; + end + + glyphmem_style_reg <= gm_data_style; + glyph_x <= glyph_x + 1; + + if (!newline_found && gm_data_glyph == 8'h0a) begin /* Newline character */ + newline_found <= 1; + last_bgcolor <= gm_data_bgcolor; + end + + end else begin + glyph_sreg_out <= {glyph_sreg_out[FONT_GLYPH_W-2:0], 1'b0}; + end + + end else if (!in_hsync_last) begin + glyph_sreg_out <= 0; + glyphmem_style_reg <= 0; + end + + if (in_vsync_last && !in_vsync) begin + glyph_y <= 0; + px_y <= 0; + end + end +end + + +endmodule \ No newline at end of file diff --git a/src/tmds_decoder.vhd b/src/tmds_decoder.vhd new file mode 100644 index 0000000..6507b7c --- /dev/null +++ b/src/tmds_decoder.vhd @@ -0,0 +1,915 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Create Date: 10.07.2015 20:06:49 +-- Design Name: +-- Module Name: TMDS_decoder - Behavioral +-- +-- Description: Decoding for TMDS encoded symbols. This performs the conversion +-- using a table lookup for simplicity +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity TMDS_decoder is + Port ( clk : in std_logic; + symbol : in std_logic_vector (9 downto 0); + invalid_symbol : out std_logic; + + ctl_valid : out std_logic; + ctl : out std_logic_vector (1 downto 0); + + terc4_valid : out std_logic; + terc4 : out std_logic_vector (3 downto 0); + + guardband_valid : out std_logic; + guardband : out std_logic_vector (0 downto 0); + + data_valid : out std_logic; + data : out std_logic_vector (7 downto 0)); +end TMDS_decoder; + +architecture Behavioral of TMDS_decoder is + signal lookup : std_logic_vector (8 downto 0); +begin + +decode_ctl: process(clk) + begin + if rising_edge(clk) then + ------------------ + -- TMDS data bytes + if lookup(8) = '1' then + data_valid <= '1'; + data <= lookup(7 downto 0); + else + data_valid <= '0'; + end if; + + ------------ + -- CTL codes + if lookup(8 downto 7) = "01" then + ctl_valid <= '1'; + ctl <= lookup(1 downto 0); + else + ctl_valid <= '0'; + end if; + + ------------------------------ + -- All other codes are invalid + ------------------------------ + if lookup(8 downto 7) = "00" then + invalid_symbol <= '1'; + else + invalid_symbol <= '0'; + end if; + + terc4_valid <= '0'; + guardband_valid <= '0'; + if lookup(8) = '1' then + ------------------------- + -- Decode the guard bands + ------------------------- + case lookup(7 downto 0) is + when x"55" => guardband_valid <= '1'; guardband <= "0"; + when x"AB" => guardband_valid <= '1'; guardband <= "1"; + when others => null; + end case; + + ------------------------- + -- Decode TERC4 data + ------------------------- + case lookup(7 downto 0) is + when x"5B" => terc4_valid <= '1'; terc4 <= "0000";-- "1010011100" TERC4 0000 + when x"5A" => terc4_valid <= '1'; terc4 <= "0001"; -- "1001100011" TERC4 0001 + when x"D3" => terc4_valid <= '1'; terc4 <= "0010"; -- "1011100100" TERC4 0010 + when x"D9" => terc4_valid <= '1'; terc4 <= "0011"; -- "1011100010" TERC4 0011 + when x"93" => terc4_valid <= '1'; terc4 <= "0100"; -- "0101110001" TERC4 0100 + when x"22" => terc4_valid <= '1'; terc4 <= "0101"; -- "0100011110" TERC4 0101 + when x"92" => terc4_valid <= '1'; terc4 <= "0110"; -- "0110001110" TERC4 0110 + when x"44" => terc4_valid <= '1'; terc4 <= "0111"; -- "0100111100" TERC4 0111 + when x"AB" => terc4_valid <= '1'; terc4 <= "1000"; -- "1011001100" TERC4 1000 & HDMI Guard band (video C0 and Video C2) + when x"4B" => terc4_valid <= '1'; terc4 <= "1001"; -- "0100111001" TERC4 1001 + when x"A4" => terc4_valid <= '1'; terc4 <= "1010"; -- "0110011100" TERC4 1010 + when x"B5" => terc4_valid <= '1'; terc4 <= "1011"; -- "1011000110" TERC4 1011 + when x"6D" => terc4_valid <= '1'; terc4 <= "1100"; -- "1010001110" TERC4 1100 + when x"6C" => terc4_valid <= '1'; terc4 <= "1101"; -- "1001110001" TERC4 1101 + when x"A5" => terc4_valid <= '1'; terc4 <= "1110"; -- "0101100011" TERC4 1110 + when x"BA" => terc4_valid <= '1'; terc4 <= "1111"; -- "1011000011" TERC4 1111 + when others => null; + end case; + end if; + + ------------------------------------------------------------- + -- Convert the incoming signal to something we can decode + -- + -- For data symbols + -- ---------------- + -- bit 8 - 1 -- Data word flage + -- bits 7:0 - xxxxxxxx - Data value + -- + -- For CTL symbols + -- --------------- + -- bit 8 - 0 - Data word flage + -- bit 7 - 1 - CTL Indicator + -- bits 6:2 - X - Ignored + -- bits 1:0 - xx - CTL value + -- + -- For Invalid symbols + -- ------------------- + -- bit 8 - 0 - Data word flage + -- bit 7 - 0 - TERC4 Inicated + -- bit 6 - 0 - CTL Indicator + -- bit 5 - 0 - Guard band indicator + -- bits 4:0 - X - Unused + -- + ------------------------------------------------------------- + case symbol is + -- DVI-D Data sybmols + -- Data 00 + when "1111111111" => lookup <= "100000000"; + when "0100000000" => lookup <= "100000000"; + -- Data 01 + when "0111111111" => lookup <= "100000001"; + when "1100000000" => lookup <= "100000001"; + -- Data 02 + when "0111111110" => lookup <= "100000010"; + when "1100000001" => lookup <= "100000010"; + -- Data 03 + when "1111111110" => lookup <= "100000011"; + when "0100000001" => lookup <= "100000011"; + -- Data 04 + when "0111111100" => lookup <= "100000100"; + when "1100000011" => lookup <= "100000100"; + -- Data 05 + when "1111111100" => lookup <= "100000101"; + when "0100000011" => lookup <= "100000101"; + -- Data 06 + when "1111111101" => lookup <= "100000110"; + when "0100000010" => lookup <= "100000110"; + -- Data 07 + when "0111111101" => lookup <= "100000111"; + when "1100000010" => lookup <= "100000111"; + -- Data 08 + when "0111111000" => lookup <= "100001000"; + when "1100000111" => lookup <= "100001000"; + -- Data 09 + when "1111111000" => lookup <= "100001001"; + when "0100000111" => lookup <= "100001001"; + -- Data 0a + when "1111111001" => lookup <= "100001010"; + when "0100000110" => lookup <= "100001010"; + -- Data 0b + when "0111111001" => lookup <= "100001011"; + when "1100000110" => lookup <= "100001011"; + -- Data 0c + when "1111111011" => lookup <= "100001100"; + when "0100000100" => lookup <= "100001100"; + -- Data 0d + when "0111111011" => lookup <= "100001101"; + when "1100000100" => lookup <= "100001101"; + -- Data 0e + when "0111111010" => lookup <= "100001110"; + when "1100000101" => lookup <= "100001110"; + -- Data 0f + when "1111111010" => lookup <= "100001111"; + when "0100000101" => lookup <= "100001111"; + -- Data 10 + when "0111110000" => lookup <= "100010000"; + -- Data 11 + when "0100001111" => lookup <= "100010001"; + -- Data 12 + when "1111110001" => lookup <= "100010010"; + when "0100001110" => lookup <= "100010010"; + -- Data 13 + when "0111110001" => lookup <= "100010011"; + when "1100001110" => lookup <= "100010011"; + -- Data 14 + when "1111110011" => lookup <= "100010100"; + when "0100001100" => lookup <= "100010100"; + -- Data 15 + when "0111110011" => lookup <= "100010101"; + when "1100001100" => lookup <= "100010101"; + -- Data 16 + when "0111110010" => lookup <= "100010110"; + when "1100001101" => lookup <= "100010110"; + -- Data 17 + when "1111110010" => lookup <= "100010111"; + when "0100001101" => lookup <= "100010111"; + -- Data 18 + when "1111110111" => lookup <= "100011000"; + when "0100001000" => lookup <= "100011000"; + -- Data 19 + when "0111110111" => lookup <= "100011001"; + when "1100001000" => lookup <= "100011001"; + -- Data 1a + when "0111110110" => lookup <= "100011010"; + when "1100001001" => lookup <= "100011010"; + -- Data 1b + when "1111110110" => lookup <= "100011011"; + when "0100001001" => lookup <= "100011011"; + -- Data 1c + when "0111110100" => lookup <= "100011100"; + when "1100001011" => lookup <= "100011100"; + -- Data 1d + when "1111110100" => lookup <= "100011101"; + when "0100001011" => lookup <= "100011101"; + -- Data 1e + when "1001011111" => lookup <= "100011110"; + when "0010100000" => lookup <= "100011110"; + -- Data 1f + when "0001011111" => lookup <= "100011111"; + when "1010100000" => lookup <= "100011111"; + -- Data 20 + when "1100011111" => lookup <= "100100000"; + when "0111100000" => lookup <= "100100000"; + -- Data 21 + when "0100011111" => lookup <= "100100001"; + when "1111100000" => lookup <= "100100001"; + -- Data 22 + when "0100011110" => lookup <= "100100010"; -- TERC4 0101 + -- Data 23 + when "0111100001" => lookup <= "100100011"; + -- Data 24 + when "1111100011" => lookup <= "100100100"; + when "0100011100" => lookup <= "100100100"; + -- Data 25 + when "0111100011" => lookup <= "100100101"; + when "1100011100" => lookup <= "100100101"; + -- Data 26 + when "0111100010" => lookup <= "100100110"; + -- Data 27 + when "0100011101" => lookup <= "100100111"; + -- Data 28 + when "1111100111" => lookup <= "100101000"; + when "0100011000" => lookup <= "100101000"; + -- Data 29 + when "0111100111" => lookup <= "100101001"; + when "1100011000" => lookup <= "100101001"; + -- Data 2a + when "0111100110" => lookup <= "100101010"; + when "1100011001" => lookup <= "100101010"; + -- Data 2b + when "1111100110" => lookup <= "100101011"; + when "0100011001" => lookup <= "100101011"; + -- Data 2c + when "0111100100" => lookup <= "100101100"; + -- Data 2d + when "0100011011" => lookup <= "100101101"; + -- Data 2e + when "1001001111" => lookup <= "100101110"; + when "0010110000" => lookup <= "100101110"; + -- Data 2f + when "0001001111" => lookup <= "100101111"; + when "1010110000" => lookup <= "100101111"; + -- Data 30 + when "1111101111" => lookup <= "100110000"; + when "0100010000" => lookup <= "100110000"; + -- Data 31 + when "0111101111" => lookup <= "100110001"; + when "1100010000" => lookup <= "100110001"; + -- Data 32 + when "0111101110" => lookup <= "100110010"; + when "1100010001" => lookup <= "100110010"; + -- Data 33 + when "1111101110" => lookup <= "100110011"; + when "0100010001" => lookup <= "100110011"; + -- Data 34 + when "0111101100" => lookup <= "100110100"; + when "1100010011" => lookup <= "100110100"; + -- Data 35 + when "1111101100" => lookup <= "100110101"; + when "0100010011" => lookup <= "100110101"; + -- Data 36 + when "1001000111" => lookup <= "100110110"; + -- Data 37 + when "1010111000" => lookup <= "100110111"; + -- Data 38 + when "0111101000" => lookup <= "100111000"; + -- Data 39 + when "0100010111" => lookup <= "100111001"; + -- Data 3a + when "0010111100" => lookup <= "100111010"; + when "1001000011" => lookup <= "100111010"; + -- Data 3b + when "1010111100" => lookup <= "100111011"; + when "0001000011" => lookup <= "100111011"; + -- Data 3c + when "0010111110" => lookup <= "100111100"; + when "1001000001" => lookup <= "100111100"; + -- Data 3d + when "1010111110" => lookup <= "100111101"; + when "0001000001" => lookup <= "100111101"; + -- Data 3e + when "1010111111" => lookup <= "100111110"; + when "0001000000" => lookup <= "100111110"; + -- Data 3f + when "0010111111" => lookup <= "100111111"; + when "1001000000" => lookup <= "100111111"; + -- Data 40 + when "1100111111" => lookup <= "101000000"; + when "0111000000" => lookup <= "101000000"; + -- Data 41 + when "0100111111" => lookup <= "101000001"; + when "1111000000" => lookup <= "101000001"; + -- Data 42 + when "0100111110" => lookup <= "101000010"; + when "1111000001" => lookup <= "101000010"; + -- Data 43 + when "1100111110" => lookup <= "101000011"; + when "0111000001" => lookup <= "101000011"; + -- Data 44 + when "0100111100" => lookup <= "101000100"; -- TERC4 0111 + -- Data 45 + when "0111000011" => lookup <= "101000101"; + -- Data 46 + when "1100111101" => lookup <= "101000110"; + when "0111000010" => lookup <= "101000110"; + -- Data 47 + when "0100111101" => lookup <= "101000111"; + when "1111000010" => lookup <= "101000111"; + -- Data 48 + when "1111000111" => lookup <= "101001000"; + when "0100111000" => lookup <= "101001000"; + -- Data 49 + when "0111000111" => lookup <= "101001001"; + when "1100111000" => lookup <= "101001001"; + -- Data 4a + when "0111000110" => lookup <= "101001010"; + -- Data 4b + when "0100111001" => lookup <= "101001011"; -- TERC4 1001 + -- Data 4c + when "1100111011" => lookup <= "101001100"; + when "0111000100" => lookup <= "101001100"; + -- Data 4d + when "0100111011" => lookup <= "101001101"; + when "1111000100" => lookup <= "101001101"; + -- Data 4e + when "1001101111" => lookup <= "101001110"; + when "0010010000" => lookup <= "101001110"; + -- Data 4f + when "0001101111" => lookup <= "101001111"; + when "1010010000" => lookup <= "101001111"; + -- Data 50 + when "1111001111" => lookup <= "101010000"; + when "0100110000" => lookup <= "101010000"; + -- Data 51 + when "0111001111" => lookup <= "101010001"; + when "1100110000" => lookup <= "101010001"; + -- Data 52 + when "0111001110" => lookup <= "101010010"; + when "1100110001" => lookup <= "101010010"; + -- Data 53 + when "1111001110" => lookup <= "101010011"; + when "0100110001" => lookup <= "101010011"; + -- Data 54 + when "0111001100" => lookup <= "101010100"; + -- Data 55 + when "0100110011" => lookup <= "101010101"; -- HDMI Guard band (video C1, data C1 & C2) + -- Data 56 + when "1001100111" => lookup <= "101010110"; + when "0010011000" => lookup <= "101010110"; + -- Data 57 + when "0001100111" => lookup <= "101010111"; + when "1010011000" => lookup <= "101010111"; + -- Data 58 + when "1100110111" => lookup <= "101011000"; + when "0111001000" => lookup <= "101011000"; + -- Data 59 + when "0100110111" => lookup <= "101011001"; + when "1111001000" => lookup <= "101011001"; + -- Data 5a + when "1001100011" => lookup <= "101011010"; -- TERC4 0001 + -- Data 5b + when "1010011100" => lookup <= "101011011"; -- TERC4 0000 + -- Data 5c + when "0010011110" => lookup <= "101011100"; + when "1001100001" => lookup <= "101011100"; + -- Data 5d + when "1010011110" => lookup <= "101011101"; + when "0001100001" => lookup <= "101011101"; + -- Data 5e + when "1010011111" => lookup <= "101011110"; + when "0001100000" => lookup <= "101011110"; + -- Data 5f + when "0010011111" => lookup <= "101011111"; + when "1001100000" => lookup <= "101011111"; + -- Data 60 + when "1111011111" => lookup <= "101100000"; + when "0100100000" => lookup <= "101100000"; + -- Data 61 + when "0111011111" => lookup <= "101100001"; + when "1100100000" => lookup <= "101100001"; + -- Data 62 + when "0111011110" => lookup <= "101100010"; + when "1100100001" => lookup <= "101100010"; + -- Data 63 + when "1111011110" => lookup <= "101100011"; + when "0100100001" => lookup <= "101100011"; + -- Data 64 + when "0111011100" => lookup <= "101100100"; + when "1100100011" => lookup <= "101100100"; + -- Data 65 + when "1111011100" => lookup <= "101100101"; + when "0100100011" => lookup <= "101100101"; + -- Data 66 + when "1001110111" => lookup <= "101100110"; + when "0010001000" => lookup <= "101100110"; + -- Data 67 + when "0001110111" => lookup <= "101100111"; + when "1010001000" => lookup <= "101100111"; + -- Data 68 + when "0111011000" => lookup <= "101101000"; + -- Data 69 + when "0100100111" => lookup <= "101101001"; + -- Data 6a + when "1001110011" => lookup <= "101101010"; + when "0010001100" => lookup <= "101101010"; + -- Data 6b + when "0001110011" => lookup <= "101101011"; + when "1010001100" => lookup <= "101101011"; + -- Data 6c + when "1001110001" => lookup <= "101101100"; -- TERC4 1101 + -- Data 6d + when "1010001110" => lookup <= "101101101"; -- TERC4 1100 + -- Data 6e + when "1010001111" => lookup <= "101101110"; + when "0001110000" => lookup <= "101101110"; + -- Data 6f + when "0010001111" => lookup <= "101101111"; + when "1001110000" => lookup <= "101101111"; + -- Data 70 + when "1100101111" => lookup <= "101110000"; + when "0111010000" => lookup <= "101110000"; + -- Data 71 + when "0100101111" => lookup <= "101110001"; + when "1111010000" => lookup <= "101110001"; + -- Data 72 + when "1001111011" => lookup <= "101110010"; + when "0010000100" => lookup <= "101110010"; + -- Data 73 + when "0001111011" => lookup <= "101110011"; + when "1010000100" => lookup <= "101110011"; + -- Data 74 + when "1001111001" => lookup <= "101110100"; + when "0010000110" => lookup <= "101110100"; + -- Data 75 + when "0001111001" => lookup <= "101110101"; + when "1010000110" => lookup <= "101110101"; + -- Data 76 + when "1010000111" => lookup <= "101110110"; + -- Data 77 + when "1001111000" => lookup <= "101110111"; + -- Data 78 + when "1001111101" => lookup <= "101111000"; + when "0010000010" => lookup <= "101111000"; + -- Data 79 + when "0001111101" => lookup <= "101111001"; + when "1010000010" => lookup <= "101111001"; + -- Data 7a + when "0001111100" => lookup <= "101111010"; + when "1010000011" => lookup <= "101111010"; + -- Data 7b + when "1001111100" => lookup <= "101111011"; + when "0010000011" => lookup <= "101111011"; + -- Data 7c + when "0001111110" => lookup <= "101111100"; + when "1010000001" => lookup <= "101111100"; + -- Data 7d + when "1001111110" => lookup <= "101111101"; + when "0010000001" => lookup <= "101111101"; + -- Data 7e + when "1001111111" => lookup <= "101111110"; + when "0010000000" => lookup <= "101111110"; + -- Data 7f + when "0001111111" => lookup <= "101111111"; + when "1010000000" => lookup <= "101111111"; + -- Data 80 + when "1101111111" => lookup <= "110000000"; + when "0110000000" => lookup <= "110000000"; + -- Data 81 + when "0101111111" => lookup <= "110000001"; + when "1110000000" => lookup <= "110000001"; + -- Data 82 + when "0101111110" => lookup <= "110000010"; + when "1110000001" => lookup <= "110000010"; + -- Data 83 + when "1101111110" => lookup <= "110000011"; + when "0110000001" => lookup <= "110000011"; + -- Data 84 + when "0101111100" => lookup <= "110000100"; + when "1110000011" => lookup <= "110000100"; + -- Data 85 + when "1101111100" => lookup <= "110000101"; + when "0110000011" => lookup <= "110000101"; + -- Data 86 + when "1101111101" => lookup <= "110000110"; + when "0110000010" => lookup <= "110000110"; + -- Data 87 + when "0101111101" => lookup <= "110000111"; + when "1110000010" => lookup <= "110000111"; + -- Data 88 + when "0101111000" => lookup <= "110001000"; + -- Data 89 + when "0110000111" => lookup <= "110001001"; + -- Data 8a + when "1101111001" => lookup <= "110001010"; + when "0110000110" => lookup <= "110001010"; + -- Data 8b + when "0101111001" => lookup <= "110001011"; + when "1110000110" => lookup <= "110001011"; + -- Data 8c + when "1101111011" => lookup <= "110001100"; + when "0110000100" => lookup <= "110001100"; + -- Data 8d + when "0101111011" => lookup <= "110001101"; + when "1110000100" => lookup <= "110001101"; + -- Data 8e + when "1000101111" => lookup <= "110001110"; + when "0011010000" => lookup <= "110001110"; + -- Data 8f + when "0000101111" => lookup <= "110001111"; + when "1011010000" => lookup <= "110001111"; + -- Data 90 + when "1110001111" => lookup <= "110010000"; + when "0101110000" => lookup <= "110010000"; + -- Data 91 + when "0110001111" => lookup <= "110010001"; + when "1101110000" => lookup <= "110010001"; + -- Data 92 + when "0110001110" => lookup <= "110010010"; -- TERC4 0110 + -- Data 93 + when "0101110001" => lookup <= "110010011"; -- TERC4 0100 + -- Data 94 + when "1101110011" => lookup <= "110010100"; + when "0110001100" => lookup <= "110010100"; + -- Data 95 + when "0101110011" => lookup <= "110010101"; + when "1110001100" => lookup <= "110010101"; + -- Data 96 + when "1000100111" => lookup <= "110010110"; + -- Data 97 + when "1011011000" => lookup <= "110010111"; + -- Data 98 + when "1101110111" => lookup <= "110011000"; + when "0110001000" => lookup <= "110011000"; + -- Data 99 + when "0101110111" => lookup <= "110011001"; + when "1110001000" => lookup <= "110011001"; + -- Data 9a + when "0011011100" => lookup <= "110011010"; + when "1000100011" => lookup <= "110011010"; + -- Data 9b + when "1011011100" => lookup <= "110011011"; + when "0000100011" => lookup <= "110011011"; + -- Data 9c + when "0011011110" => lookup <= "110011100"; + when "1000100001" => lookup <= "110011100"; + -- Data 9d + when "1011011110" => lookup <= "110011101"; + when "0000100001" => lookup <= "110011101"; + -- Data 9e + when "1011011111" => lookup <= "110011110"; + when "0000100000" => lookup <= "110011110"; + -- Data 9f + when "0011011111" => lookup <= "110011111"; + when "1000100000" => lookup <= "110011111"; + -- Data a0 + when "1110011111" => lookup <= "110100000"; + when "0101100000" => lookup <= "110100000"; + -- Data a1 + when "0110011111" => lookup <= "110100001"; + when "1101100000" => lookup <= "110100001"; + -- Data a2 + when "0110011110" => lookup <= "110100010"; + when "1101100001" => lookup <= "110100010"; + -- Data a3 + when "1110011110" => lookup <= "110100011"; + when "0101100001" => lookup <= "110100011"; + -- Data a4 + when "0110011100" => lookup <= "110100100"; -- TERC4 1010 + -- Data a5 + when "0101100011" => lookup <= "110100101"; -- TERC4 1110 + -- Data a6 + when "1000110111" => lookup <= "110100110"; + when "0011001000" => lookup <= "110100110"; + -- Data a7 + when "0000110111" => lookup <= "110100111"; + when "1011001000" => lookup <= "110100111"; + -- Data a8 + when "1101100111" => lookup <= "110101000"; + when "0110011000" => lookup <= "110101000"; + -- Data a9 + when "0101100111" => lookup <= "110101001"; + when "1110011000" => lookup <= "110101001"; + -- Data aa + when "1000110011" => lookup <= "110101010"; + -- Data ab + when "1011001100" => lookup <= "110101011"; -- TERC4 1000 & HDMI Guard band (video C0 and Video C2) + -- Data ac + when "0011001110" => lookup <= "110101100"; + when "1000110001" => lookup <= "110101100"; + -- Data ad + when "1011001110" => lookup <= "110101101"; + when "0000110001" => lookup <= "110101101"; + -- Data ae + when "1011001111" => lookup <= "110101110"; + when "0000110000" => lookup <= "110101110"; + -- Data af + when "0011001111" => lookup <= "110101111"; + when "1000110000" => lookup <= "110101111"; + -- Data b0 + when "1101101111" => lookup <= "110110000"; + when "0110010000" => lookup <= "110110000"; + -- Data b1 + when "0101101111" => lookup <= "110110001"; + when "1110010000" => lookup <= "110110001"; + -- Data b2 + when "1000111011" => lookup <= "110110010"; + when "0011000100" => lookup <= "110110010"; + -- Data b3 + when "0000111011" => lookup <= "110110011"; + when "1011000100" => lookup <= "110110011"; + -- Data b4 + when "1000111001" => lookup <= "110110100"; + -- Data b5 + when "1011000110" => lookup <= "110110101"; -- TERC4 1011 + -- Data b6 + when "1011000111" => lookup <= "110110110"; + when "0000111000" => lookup <= "110110110"; + -- Data b7 + when "0011000111" => lookup <= "110110111"; + when "1000111000" => lookup <= "110110111"; + -- Data b8 + when "1000111101" => lookup <= "110111000"; + when "0011000010" => lookup <= "110111000"; + -- Data b9 + when "0000111101" => lookup <= "110111001"; + when "1011000010" => lookup <= "110111001"; + -- Data ba + when "1011000011" => lookup <= "110111010"; -- TERC4 1111 + -- Data bb + when "1000111100" => lookup <= "110111011"; + -- Data bc + when "0000111110" => lookup <= "110111100"; + when "1011000001" => lookup <= "110111100"; + -- Data bd + when "1000111110" => lookup <= "110111101"; + when "0011000001" => lookup <= "110111101"; + -- Data be + when "1000111111" => lookup <= "110111110"; + when "0011000000" => lookup <= "110111110"; + -- Data bf + when "0000111111" => lookup <= "110111111"; + when "1011000000" => lookup <= "110111111"; + -- Data c0 + when "1110111111" => lookup <= "111000000"; + when "0101000000" => lookup <= "111000000"; + -- Data c1 + when "0110111111" => lookup <= "111000001"; + when "1101000000" => lookup <= "111000001"; + -- Data c2 + when "0110111110" => lookup <= "111000010"; + when "1101000001" => lookup <= "111000010"; + -- Data c3 + when "1110111110" => lookup <= "111000011"; + when "0101000001" => lookup <= "111000011"; + -- Data c4 + when "0110111100" => lookup <= "111000100"; + when "1101000011" => lookup <= "111000100"; + -- Data c5 + when "1110111100" => lookup <= "111000101"; + when "0101000011" => lookup <= "111000101"; + -- Data c6 + when "1000010111" => lookup <= "111000110"; + -- Data c7 + when "1011101000" => lookup <= "111000111"; + -- Data c8 + when "0110111000" => lookup <= "111001000"; + -- Data c9 + when "0101000111" => lookup <= "111001001"; + -- Data ca + when "0011101100" => lookup <= "111001010"; + when "1000010011" => lookup <= "111001010"; + -- Data cb + when "1011101100" => lookup <= "111001011"; + when "0000010011" => lookup <= "111001011"; + -- Data cc + when "0011101110" => lookup <= "111001100"; + when "1000010001" => lookup <= "111001100"; + -- Data cd + when "1011101110" => lookup <= "111001101"; + when "0000010001" => lookup <= "111001101"; + -- Data ce + when "1011101111" => lookup <= "111001110"; + when "0000010000" => lookup <= "111001110"; + -- Data cf + when "0011101111" => lookup <= "111001111"; + when "1000010000" => lookup <= "111001111"; + -- Data d0 + when "1101001111" => lookup <= "111010000"; + when "0110110000" => lookup <= "111010000"; + -- Data d1 + when "0101001111" => lookup <= "111010001"; + when "1110110000" => lookup <= "111010001"; + -- Data d2 + when "1000011011" => lookup <= "111010010"; + -- Data d3 + when "1011100100" => lookup <= "111010011"; -- TERC4 0010 + -- Data d4 + when "0011100110" => lookup <= "111010100"; + when "1000011001" => lookup <= "111010100"; + -- Data d5 + when "1011100110" => lookup <= "111010101"; + when "0000011001" => lookup <= "111010101"; + -- Data d6 + when "1011100111" => lookup <= "111010110"; + when "0000011000" => lookup <= "111010110"; + -- Data d7 + when "0011100111" => lookup <= "111010111"; + when "1000011000" => lookup <= "111010111"; + -- Data d8 + when "1000011101" => lookup <= "111011000"; + -- Data d9 + when "1011100010" => lookup <= "111011001"; -- TERC4 0011 + -- Data da + when "1011100011" => lookup <= "111011010"; + when "0000011100" => lookup <= "111011010"; + -- Data db + when "0011100011" => lookup <= "111011011"; + when "1000011100" => lookup <= "111011011"; + -- Data dc + when "1011100001" => lookup <= "111011100"; + -- Data dd + when "1000011110" => lookup <= "111011101"; + -- Data de + when "1000011111" => lookup <= "111011110"; + when "0011100000" => lookup <= "111011110"; + -- Data df + when "0000011111" => lookup <= "111011111"; + when "1011100000" => lookup <= "111011111"; + -- Data e0 + when "1101011111" => lookup <= "111100000"; + when "0110100000" => lookup <= "111100000"; + -- Data e1 + when "0101011111" => lookup <= "111100001"; + when "1110100000" => lookup <= "111100001"; + -- Data e2 + when "0011110100" => lookup <= "111100010"; + when "1000001011" => lookup <= "111100010"; + -- Data e3 + when "1011110100" => lookup <= "111100011"; + when "0000001011" => lookup <= "111100011"; + -- Data e4 + when "0011110110" => lookup <= "111100100"; + when "1000001001" => lookup <= "111100100"; + -- Data e5 + when "1011110110" => lookup <= "111100101"; + when "0000001001" => lookup <= "111100101"; + -- Data e6 + when "1011110111" => lookup <= "111100110"; + when "0000001000" => lookup <= "111100110"; + -- Data e7 + when "0011110111" => lookup <= "111100111"; + when "1000001000" => lookup <= "111100111"; + -- Data e8 + when "0011110010" => lookup <= "111101000"; + when "1000001101" => lookup <= "111101000"; + -- Data e9 + when "1011110010" => lookup <= "111101001"; + when "0000001101" => lookup <= "111101001"; + -- Data ea + when "1011110011" => lookup <= "111101010"; + when "0000001100" => lookup <= "111101010"; + -- Data eb + when "0011110011" => lookup <= "111101011"; + when "1000001100" => lookup <= "111101011"; + -- Data ec + when "1011110001" => lookup <= "111101100"; + when "0000001110" => lookup <= "111101100"; + -- Data ed + when "0011110001" => lookup <= "111101101"; + when "1000001110" => lookup <= "111101101"; + -- Data ee + when "1000001111" => lookup <= "111101110"; + -- Data ef + when "1011110000" => lookup <= "111101111"; + -- Data f0 + when "0011111010" => lookup <= "111110000"; + when "1000000101" => lookup <= "111110000"; + -- Data f1 + when "1011111010" => lookup <= "111110001"; + when "0000000101" => lookup <= "111110001"; + -- Data f2 + when "1011111011" => lookup <= "111110010"; + when "0000000100" => lookup <= "111110010"; + -- Data f3 + when "0011111011" => lookup <= "111110011"; + when "1000000100" => lookup <= "111110011"; + -- Data f4 + when "1011111001" => lookup <= "111110100"; + when "0000000110" => lookup <= "111110100"; + -- Data f5 + when "0011111001" => lookup <= "111110101"; + when "1000000110" => lookup <= "111110101"; + -- Data f6 + when "0011111000" => lookup <= "111110110"; + when "1000000111" => lookup <= "111110110"; + -- Data f7 + when "1011111000" => lookup <= "111110111"; + when "0000000111" => lookup <= "111110111"; + -- Data f8 + when "1011111101" => lookup <= "111111000"; + when "0000000010" => lookup <= "111111000"; + -- Data f9 + when "0011111101" => lookup <= "111111001"; + when "1000000010" => lookup <= "111111001"; + -- Data fa + when "0011111100" => lookup <= "111111010"; + when "1000000011" => lookup <= "111111010"; + -- Data fb + when "1011111100" => lookup <= "111111011"; + when "0000000011" => lookup <= "111111011"; + -- Data fc + when "0011111110" => lookup <= "111111100"; + when "1000000001" => lookup <= "111111100"; + -- Data fd + when "1011111110" => lookup <= "111111101"; + when "0000000001" => lookup <= "111111101"; + -- Data fe + when "1011111111" => lookup <= "111111110"; + when "0000000000" => lookup <= "111111110"; + -- Data ff + when "0011111111" => lookup <= "111111111"; + when "1000000000" => lookup <= "111111111"; + + -- DVI-D CTL symbols + when "0010101011" => lookup <= "01" & "00000" & "01"; -- CTL1 + when "0101010100" => lookup <= "01" & "00000" & "10"; -- CTL2 + when "1010101011" => lookup <= "01" & "00000" & "11"; -- CTL3 + when "1101010100" => lookup <= "01" & "00000" & "00"; -- CTL0 + + -- Invalid symbols + when others => lookup <= "0000" & "00000"; + end case; + end if; + end process; +end Behavioral; + +-- For Guard band and TERC4 decoding (to be done later!) +-- when x"55" => -- "0100110011" HDMI Guard band (video C1, data C1 & C2) +-- when x"5B" => -- "1010011100" TERC4 0000 +-- when x"5A" => -- "1001100011" TERC4 0001 +-- when x"D3" => -- "1011100100" TERC4 0010 +-- when x"D9" => -- "1011100010" TERC4 0011 +-- when x"93" => -- "0101110001" TERC4 0100 +-- when x"22" => -- "0100011110" TERC4 0101 +-- when x"92" => -- "0110001110" TERC4 0110 +-- when x"44" => -- "0100111100" TERC4 0111 +-- when x"AB" => -- "1011001100" TERC4 1000 & HDMI Guard band (video C0 and Video C2) +-- when x"4B" => -- "0100111001" TERC4 1001 +-- when x"A4" => -- "0110011100" TERC4 1010 +-- when x"B5" => -- "1011000110" TERC4 1011 +-- when x"6D" => -- "1010001110" TERC4 1100 +-- when x"6C" => -- "1001110001" TERC4 1101 +-- when x"A5" => -- "0101100011" TERC4 1110 +-- when x"BA" => -- "1011000011" TERC4 1111 \ No newline at end of file diff --git a/src/tmds_encoder.vhd b/src/tmds_encoder.vhd new file mode 100644 index 0000000..539bf4a --- /dev/null +++ b/src/tmds_encoder.vhd @@ -0,0 +1,144 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: tmds_encoder - Behavioral +-- +-- Description: 8b/10b TMDS encoder +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; + +entity tmds_encoder is + Port ( clk : in std_logic; + data : in std_logic_vector (7 downto 0); + c : in std_logic_vector (1 downto 0); + blank : in std_logic; + encoded : out std_logic_vector (9 downto 0)); +end entity; + +architecture Behavioral of tmds_encoder is + signal xored : STD_LOGIC_VECTOR (8 downto 0); + signal xnored : STD_LOGIC_VECTOR (8 downto 0); + + signal ones : STD_LOGIC_VECTOR (3 downto 0); + signal data_word : STD_LOGIC_VECTOR (8 downto 0); + signal data_word_inv : STD_LOGIC_VECTOR (8 downto 0); + signal data_word_disparity : STD_LOGIC_VECTOR (3 downto 0); + signal dc_bias : STD_LOGIC_VECTOR (3 downto 0) := (others => '0'); +begin + -- Work our the two different encodings for the byte + xored(0) <= data(0); + xored(1) <= data(1) xor xored(0); + xored(2) <= data(2) xor xored(1); + xored(3) <= data(3) xor xored(2); + xored(4) <= data(4) xor xored(3); + xored(5) <= data(5) xor xored(4); + xored(6) <= data(6) xor xored(5); + xored(7) <= data(7) xor xored(6); + xored(8) <= '1'; + + xnored(0) <= data(0); + xnored(1) <= data(1) xnor xnored(0); + xnored(2) <= data(2) xnor xnored(1); + xnored(3) <= data(3) xnor xnored(2); + xnored(4) <= data(4) xnor xnored(3); + xnored(5) <= data(5) xnor xnored(4); + xnored(6) <= data(6) xnor xnored(5); + xnored(7) <= data(7) xnor xnored(6); + xnored(8) <= '0'; + + -- Count how many ones are set in data + ones <= "0000" + data(0) + data(1) + data(2) + data(3) + + data(4) + data(5) + data(6) + data(7); + +-- Decide which encoding to use +process(ones, data(0), xnored, xored) +begin + if ones > 4 or (ones = 4 and data(0) = '0') then + data_word <= xnored; + data_word_inv <= NOT(xnored); + else + data_word <= xored; + data_word_inv <= NOT(xored); + end if; +end process; + +-- Work out the DC bias of the dataword; +data_word_disparity <= "1100" + data_word(0) + data_word(1) + data_word(2) + data_word(3) + + data_word(4) + data_word(5) + data_word(6) + data_word(7); + +-- Now work out what the output should be +process(clk) + begin + if rising_edge(clk) then + if blank = '1' then + -- In the control periods, all values have and have balanced bit count + case c is + when "00" => encoded <= "1101010100"; + when "01" => encoded <= "0010101011"; + when "10" => encoded <= "0101010100"; + when others => encoded <= "1010101011"; + end case; + dc_bias <= (others => '0'); + else + if dc_bias = "00000" or data_word_disparity = 0 then + -- dataword has no disparity + if data_word(8) = '1' then + encoded <= "01" & data_word(7 downto 0); + dc_bias <= dc_bias + data_word_disparity; + else + encoded <= "10" & data_word_inv(7 downto 0); + dc_bias <= dc_bias - data_word_disparity; + end if; + elsif (dc_bias(3) = '0' and data_word_disparity(3) = '0') or + (dc_bias(3) = '1' and data_word_disparity(3) = '1') then + encoded <= '1' & data_word(8) & data_word_inv(7 downto 0); + dc_bias <= dc_bias + data_word(8) - data_word_disparity; + else + encoded <= '0' & data_word; + dc_bias <= dc_bias - data_word_inv(8) + data_word_disparity; + end if; + end if; + end if; + end process; +end Behavioral; \ No newline at end of file diff --git a/src/top.v b/src/top.v new file mode 100644 index 0000000..8f1742c --- /dev/null +++ b/src/top.v @@ -0,0 +1,396 @@ + +module proc_top( + input clk, + + input sck, sdi, ncs, + output sdo, + + input in_blank, in_hsync, in_vsync, + input [7:0] in_red, + input [7:0] in_green, + input [7:0] in_blue, + input is_interlaced, is_second_field, + + output out_blank, out_hsync, out_vsync, + output [7:0] out_red, + output [7:0] out_green, + output [7:0] out_blue, + + output [5:0] debug, + + input [7:0] switches +); + +/* ================= */ +/* DEBUG DEBUG DEBUG */ +/* ================= */ + +/* Color bar generator */ +/* +parameter CB_HRES = 1280; +parameter CB_VRES = 720; +parameter CB_H_FP = 68; +parameter CB_H_BP = 300; +parameter CB_V_FP = 25; +parameter CB_V_BP = 5; + +reg [11:0] cb_x = 0; +reg [11:0] cb_y = 0; +reg [11:0] cb_cnt = 0; +reg [5:0] cb_bar = 0; + +reg cb_hsync = 0, cb_vsync = 0, cb_blank = 1, cb_vactive = 0; +reg [7:0] cb_red; +reg [7:0] cb_green; +reg [7:0] cb_blue; + +assign out_hsync = cb_hsync; +assign out_vsync = cb_vsync; +assign out_blank = cb_blank; +assign out_red = cb_red; +assign out_green = cb_green; +assign out_blue = cb_blue; + +always @(posedge clk) begin + //cb_hsync <= in_hsync; + //cb_vsync <= in_vsync; + //cb_blank <= in_blank; + //cb_red <= in_red; + //cb_green <= in_green; + //cb_blue <= in_blue; + + cb_x <= cb_x + 1; + + cb_hsync <= cb_x >= 8 && cb_x <= 15; + cb_vsync <= cb_y >= 4 && cb_y <= 7; + + if (cb_x == CB_H_FP + CB_HRES + CB_H_BP - 1) begin + cb_x <= 0; + cb_y <= cb_y + 1; + + + if (cb_y == CB_V_FP - 1) begin + cb_vactive <= 1; + + end else if (cb_y == CB_V_FP + CB_VRES - 1) begin + cb_vactive <= 0; + + end else if (cb_y == CB_V_FP + CB_VRES + CB_V_BP - 1) begin + cb_y <= 0; + end + + end else if (cb_vactive && (cb_x == CB_H_FP - 1)) begin + cb_red <= 0; + cb_green <= 0; + cb_blue <= 0; + cb_blank <= 0; + + end else if (cb_vactive && (cb_x == CB_H_FP + CB_HRES - 1)) begin + cb_blank <= 1; + cb_cnt <= 0; + cb_bar <= 0; + + end + + if (!cb_blank) begin + cb_cnt <= cb_cnt + 1; + + if (cb_cnt == 127) begin + cb_cnt <= 0; + cb_bar <= cb_bar + 1; + + if (cb_bar == 7) begin + cb_bar <= 0; + end + end + end + + if (cb_y < CB_V_FP + 30 || cb_y > CB_V_FP + CB_VRES - 30) begin + cb_red <= {8{cb_bar[0]}}; + cb_green <= {8{cb_bar[1]}}; + cb_blue <= {8{cb_bar[2]}}; + + end else begin + cb_red <= in_red; + cb_green <= in_green; + cb_blue <= in_blue; + end +end +*/ + +/* ================= */ +/* END DEBUG END */ +/* ================= */ + +parameter GLYPHMEM_W = 256; /* glyphs */ +parameter GLYPHMEM_H = 128; /* glyphs */ +parameter PAYLOAD_BUF_SIZE = 16384; + +reg rst = 0; +reg [3:0] rst_cnt = 0; + +always @(posedge clk) begin + if (rst_cnt != 0) begin + rst <= 1; + end + + if (rst_cnt != 4'hf) begin + rst_cnt <= rst_cnt + 1; + end else begin + rst <= 0; + end +end + +reg input_idle = 0; +reg [19:0] idle_cnt = 0; +always @(posedge clk) begin + if (in_vsync) begin + idle_cnt <= 0; + input_idle <= 0; + + end else begin + if (idle_cnt == 20'hfffff) begin + input_idle <= 1; + + end else begin + idle_cnt <= idle_cnt + 1; + end + end +end + +/* Switches */ +wire bypass = switches[0]; + +/* spi interface */ +reg [7:0] spi_data_in; +wire [7:0] spi_data_out; +wire win_locked; +wire [7:0] spi_status_word = {5'h00, bypass, win_locked, input_idle}; +wire [7:0] spi_cmd_word; +wire spi_cmd_begin, spi_cmd_active, spi_cmd_step; +wire [19:0] spi_cmd_idx; + +/* term emu */ +wire temu_in_valid = (spi_cmd_word == 8'h23) && spi_cmd_step; +wire glyph_buffer_w_valid; +wire [15:0] glyph_buffer_w_addr; +wire [19:0] glyph_buffer_w_data; + +/* matcher */ +wire win_blank; +wire [11:0] win_w; +wire [11:0] win_h; +wire out_data_en; +wire out_data_valid; +wire [7:0] matcher_debug; + +assign debug = {matcher_debug[3:2], win_blank, win_locked, out_data_en, out_data_valid}; + +/* term renderer */ +wire [7:0] win_red; +wire [7:0] win_green; +wire [7:0] win_blue; + +/* spi read index logic */ +reg [15:0] spi_payload_r_idx; +reg [1:0] spi_payload_byte; +always @(posedge clk) begin + if (spi_cmd_begin) begin + spi_payload_r_idx <= 0; + spi_payload_byte <= 0; + end else if (spi_cmd_step) begin + if (spi_payload_byte == 2) begin + spi_payload_r_idx <= spi_payload_r_idx + 1; + spi_payload_byte <= 0; + + end else begin + spi_payload_byte <= spi_payload_byte + 1; + end + end +end + +/* payload buffer access logic */ +reg [23:0] payload_buf [0:PAYLOAD_BUF_SIZE-1]; +reg out_data_en_last; +reg [15:0] payload_w_idx; +reg [23:0] payload_r_data; +always @(posedge clk) begin + out_data_en_last <= out_data_en; + + if (!out_data_en) begin + payload_w_idx <= 0; + end + + if (out_data_valid) begin + if (payload_w_idx != PAYLOAD_BUF_SIZE) begin + payload_buf[payload_w_idx] <= {in_red, in_green, in_blue}; + payload_w_idx <= payload_w_idx + 1; + end + end + + payload_r_data <= payload_buf[spi_payload_r_idx]; +end + +/* SPI read payload memory access logic */ +always @(posedge clk) begin + if (spi_cmd_active && (spi_cmd_word == 8'h22)) begin + case (spi_payload_byte) + 0: spi_data_in <= payload_r_data[23:16]; + 1: spi_data_in <= payload_r_data[15:8]; + default: spi_data_in <= payload_r_data[7:0]; + endcase + end +end + +/* glyph memory logic */ +reg [19:0] glyphmem [0:GLYPHMEM_W*GLYPHMEM_H-1]; +/* This is the dumbest thing, but it seems vivado is just *that* stupid. */ +`ifdef SYNTHESIS +initial $readmemh("../../src/gen/glyph_buffer_init_file.hex", glyphmem); +`else +initial $readmemh("../../../../src/gen/glyph_buffer_init_file.hex", glyphmem); +`endif + +reg [19:0] glyphmem_r_data; +wire [15:0] glyphmem_r_addr; +always @(posedge clk) begin + if (glyph_buffer_w_valid) begin + glyphmem[glyph_buffer_w_addr] <= glyph_buffer_w_data; + end + + glyphmem_r_data <= glyphmem[glyphmem_r_addr]; +end + +wire [7:0] rxbuf_dbg; + +spi_regfile spi_regfile_dut ( + .clk(clk), .rst(rst), + + .sck(sck), .sdi(sdi), .sdo(sdo), .ncs(ncs), + + .spi_data_in(spi_data_in), + .spi_data_out(spi_data_out), + + .spi_status_word(spi_status_word), + .spi_cmd_word(spi_cmd_word), + .spi_cmd_begin(spi_cmd_begin), + .spi_cmd_active(spi_cmd_active), + .spi_cmd_step(spi_cmd_step), + .spi_cmd_idx(spi_cmd_idx), + + .rxbuf_dbg(rxbuf_dbg) +); + +term_emu #( + .GLYPHMEM_W(GLYPHMEM_W), + .GLYPHMEM_H(GLYPHMEM_H) +) term_emu_i ( + .clk(clk), .rst(rst), + + .in_byte_valid(temu_in_valid), + .in_byte(spi_data_out), + .in_byte_ack(), + + .glyph_buffer_w_valid(glyph_buffer_w_valid), + .glyph_buffer_w_addr(glyph_buffer_w_addr), + .glyph_buffer_w_data(glyph_buffer_w_data) +); + +term_renderer #( + .GLYPHMEM_W(GLYPHMEM_W), + .GLYPHMEM_H(GLYPHMEM_H) + ) term_renderer_i ( + .rst(rst), + .clk(clk), + + .in_blank(win_blank), + .in_vsync(in_vsync), + .in_hsync(in_hsync), + + .out_hsync(), + .out_vsync(), + + .glyphmem_data(glyphmem_r_data), + .glyphmem_r_addr(glyphmem_r_addr), + + .out_red(win_red), + .out_green(win_green), + .out_blue(win_blue) +); + +wire [11:0] win_x_dbg; +wire [11:0] win_y_dbg; +wire [11:0] win_w_dbg; +wire [11:0] win_h_dbg; +wire [11:0] scan_x_dbg; +wire [11:0] scan_y_dbg; +wire [8:0] match_dbg; + +window_matcher window_matcher_i ( + .clk(clk), + .rst(rst), + + .bypass(bypass), + .debug(matcher_debug), + .scan_x_dbg(scan_x_dbg), + .scan_y_dbg(scan_y_dbg), + .match_dbg(match_dbg), + + .in_blank(in_blank), + .in_hsync(in_hsync), + .in_vsync(in_vsync), + .in_red(in_red), + .in_green(in_green), + .in_blue(in_blue), + + .win_blank(win_blank), + .win_locked(win_locked), + .win_w(win_w), + .win_h(win_h), + + .win_x_dbg(win_x_dbg), + .win_y_dbg(win_y_dbg), + .win_w_dbg(win_w_dbg), + .win_h_dbg(win_h_dbg), + + .out_data_en(out_data_en), + .out_data_valid(out_data_valid), + + .win_red(win_red), + .win_green(win_green), + .win_blue(win_blue), + + .out_blank(out_blank), + .out_hsync(out_hsync), + .out_vsync(out_vsync), + .out_red(out_red), + .out_green(out_green), + .out_blue(out_blue) + ); + +ila_0 i_ila_0 ( + .clk(clk), + + .probe0(payload_w_idx[11:0]), + .probe1(spi_payload_r_idx[11:0]), + .probe2(scan_x_dbg), + .probe3(scan_y_dbg), + .probe4(payload_r_data), + .probe5(in_blank), + .probe6(spi_cmd_step), + .probe7(in_vsync), + .probe8(spi_data_in), + .probe9(temu_in_valid), + .probe10(spi_cmd_begin), + .probe11(spi_cmd_active), + .probe12(spi_payload_byte[0]), + .probe13(spi_payload_byte[1]), + .probe14(out_data_en), + .probe15(out_data_valid), + .probe16(sck), + .probe17(sdi), + .probe18(sdo), + .probe19(ncs) + ); + +endmodule \ No newline at end of file diff --git a/src/window_matcher.v b/src/window_matcher.v new file mode 100644 index 0000000..4bb542b --- /dev/null +++ b/src/window_matcher.v @@ -0,0 +1,410 @@ +`timescale 1ns / 1ps +////////////////////////////////////////////////////////////////////////////////// +// Company: +// Engineer: +// +// Create Date: 06/14/2021 05:44:00 PM +// Design Name: +// Module Name: window_matcher +// Project Name: +// Target Devices: +// Tool Versions: +// Description: +// +// Dependencies: +// +// Revision: +// Revision 0.01 - File Created +// Additional Comments: +// +////////////////////////////////////////////////////////////////////////////////// + + +module window_matcher( + /* Pixel clock and synchronous, active-high reset */ + input clk, rst, + + input bypass, + + /* Input pixel bus */ + input in_blank, in_hsync, in_vsync, + input [7:0] in_red, [7:0] in_green, [7:0] in_blue, + + /* Output pixel bus */ + output out_blank, + output out_hsync, out_vsync, + output [7:0] out_red, [7:0] out_green, [7:0] out_blue, + + /* Overlay data IO */ + output reg win_blank, + output [11:0] win_x_dbg, + output [11:0] win_y_dbg, + output [11:0] win_w_dbg, + output [11:0] win_h_dbg, + output reg [11:0] win_w, + output reg [11:0] win_h, + output reg win_locked, + input [7:0] win_red, [7:0] win_green, [7:0] win_blue, + + /* Extracted data output */ + output reg out_data_en, + output reg out_data_valid, + + output [7:0] debug, + output [7:0] match_dbg, + output [11:0] scan_x_dbg, + output [11:0] scan_y_dbg + ); + + wire [23:0] in_pxd = {in_red, in_green, in_blue}; + wire [23:0] win_pxd = {win_red, win_green, win_blue}; + wire [23:0] out_pxd; + assign {out_red, out_green, out_blue} = out_pxd; + + assign debug = {in_pxd_match_dbg, win_blank, win_hactive, win_locked, 1'b0}; + + /* Pattern matching */ + localparam [23:0] MARKER_0 = 24'h001020; + localparam [23:0] MARKER_1 = 24'h304050; + localparam [23:0] MARKER_2 = 24'h607080; + localparam [23:0] MARKER_3 = 24'h90a0b0; + localparam [23:0] MARKER_4 = 24'hc0d0e0; + localparam [23:0] MARKER_5 = 24'hf04020; + localparam [23:0] MARKER_6 = 24'h504030; + localparam [23:0] MARKER_7 = 24'h201000; + + /* In captures, we rarely observe that a channel value like 8'h50 gets changed to 8'h4f. I have no idea why this is, and pröperly debugging it is a major To-Do. For now, however, we simply dump the four LSBs and adjust the upper nibble to round. + */ + function [7:0] unfuck; + input [7:0] in_ch; + begin + unfuck[3:0] = 4'h0; + + if (in_ch[3:0] < 8) begin + unfuck[7:4] = in_ch[7:4]; + end else begin + unfuck[7:4] = in_ch[7:4] + 1; + end + end + endfunction + + wire [7:0] in_red_unfucked = unfuck(in_red); + wire [7:0] in_green_unfucked = unfuck(in_green); + wire [7:0] in_blue_unfucked = unfuck(in_blue); + wire [23:0] in_pxd_unfucked = {in_red_unfucked, in_green_unfucked, in_blue_unfucked}; + + wire [7:0] in_pxd_match = { + in_pxd_unfucked == MARKER_7, + in_pxd_unfucked == MARKER_6, + in_pxd_unfucked == MARKER_5, + in_pxd_unfucked == MARKER_4, + in_pxd_unfucked == MARKER_3, + in_pxd_unfucked == MARKER_2, + in_pxd_unfucked == MARKER_1, + in_pxd_unfucked == MARKER_0 + }; + assign match_dbg = in_pxd_match; + + reg [3:0] in_pxd_match_dbg; + always @(posedge clk) begin + if (rst) begin + in_pxd_match_dbg <= 0; + end else begin + if (!in_blank) begin + in_pxd_match_dbg <= in_pxd_match_dbg | in_pxd_match[7:4]; + end else begin + in_pxd_match_dbg <= 0; + end + end + end + + reg [7:0] in_pxd_match_sr [6:0]; + wire in_pxd_pattern_match = + in_pxd_match_sr[6][0] + && in_pxd_match_sr[5][1] + && in_pxd_match_sr[4][2] + && in_pxd_match_sr[3][3] + && in_pxd_match_sr[2][4] + && in_pxd_match_sr[1][5] + && in_pxd_match_sr[0][6] + && in_pxd_match[7] + && !in_blank; + + always @(posedge clk) begin + if (rst == 1) begin + in_pxd_match_sr[0] <= 0; + in_pxd_match_sr[1] <= 0; + in_pxd_match_sr[2] <= 0; + in_pxd_match_sr[3] <= 0; + in_pxd_match_sr[4] <= 0; + in_pxd_match_sr[5] <= 0; + in_pxd_match_sr[6] <= 0; + end else begin + in_pxd_match_sr[0] <= in_pxd_match; + in_pxd_match_sr[1] <= in_pxd_match_sr[0]; + in_pxd_match_sr[2] <= in_pxd_match_sr[1]; + in_pxd_match_sr[3] <= in_pxd_match_sr[2]; + in_pxd_match_sr[4] <= in_pxd_match_sr[3]; + in_pxd_match_sr[5] <= in_pxd_match_sr[4]; + in_pxd_match_sr[6] <= in_pxd_match_sr[5]; + end + end + + /* Pixel scan state machine */ + reg [11:0] scan_x; + reg [11:0] scan_y; + assign scan_x_dbg = scan_x; + assign scan_y_dbg = scan_y; + + reg [11:0] scan_x_reg [7:0]; + reg in_hsync_reg; + reg in_vsync_reg; + reg in_blank_reg; + reg [23:0] in_pxd_reg; + + assign out_hsync = in_hsync_reg; + assign out_vsync = in_vsync_reg; + assign out_blank = in_blank_reg; + + always @(posedge clk) begin + if (rst == 1) begin + scan_x <= 0; + scan_x_reg[0] <= 0; + scan_x_reg[1] <= 0; + scan_x_reg[2] <= 0; + scan_x_reg[3] <= 0; + scan_x_reg[4] <= 0; + scan_x_reg[5] <= 0; + scan_x_reg[6] <= 0; + scan_x_reg[7] <= 0; + scan_y <= 0; + in_hsync_reg <= 0; + in_vsync_reg <= 0; + in_blank_reg <= 0; + in_pxd_reg <= 0; + + end else begin + in_hsync_reg <= in_hsync; + in_vsync_reg <= in_vsync; + in_blank_reg <= in_blank; + in_pxd_reg <= in_pxd; + scan_x_reg[0] <= scan_x; + scan_x_reg[1] <= scan_x_reg[0]; + scan_x_reg[2] <= scan_x_reg[1]; + scan_x_reg[3] <= scan_x_reg[2]; + scan_x_reg[4] <= scan_x_reg[3]; + scan_x_reg[5] <= scan_x_reg[4]; + scan_x_reg[6] <= scan_x_reg[5]; + scan_x_reg[7] <= scan_x_reg[6]; + + if (!in_blank) begin + scan_x <= scan_x + 1; + end + + if (!in_blank_reg && in_blank) begin + scan_y <= scan_y + 1; + scan_x_reg[0] <= 0; + scan_x_reg[1] <= 0; + scan_x_reg[2] <= 0; + scan_x_reg[3] <= 0; + scan_x_reg[4] <= 0; + scan_x_reg[5] <= 0; + scan_x_reg[6] <= 0; + scan_x_reg[7] <= 0; + scan_x <= 0; + end + + if (in_vsync_reg && !in_vsync) begin + scan_y <= 0; + end + end + end + + /* Window matching state machine */ + reg [11:0] win_x_int; + reg [11:0] win_y_int; + reg [11:0] win_w_int; + reg [11:0] win_h_int; + + assign win_x_dbg = win_x_int; + assign win_y_dbg = win_y_int; + assign win_w_dbg = win_w_int; + assign win_h_dbg = win_h_int; + + localparam ST_MAT_WAITING = 5'b00000, + ST_MAT_RX0 = 5'b00001, + ST_MAT_RX1 = 5'b00010, + ST_MAT_RX2 = 5'b00100, + ST_MAT_RX3 = 5'b01000, + ST_MAT_DATA = 5'b10000; + reg [4:0] matcher_state; + wire matched = matcher_state[4]; + + reg [11:0] dval_x_reg; + reg [11:0] dval_y_reg; + + always @(posedge clk) begin + if (rst == 1) begin + out_data_valid <= 0; + out_data_en <= 0; + end + + if (rst || in_vsync) begin + matcher_state <= ST_MAT_WAITING; + win_x_int <= 0; + win_y_int <= 0; + win_w_int <= 0; + win_h_int <= 0; + dval_x_reg <= 0; + dval_y_reg <= 0; + end + + if (!rst) begin + if (in_blank) begin + /* Reset state if the header is only partially contained in this frame */ + if (matcher_state != ST_MAT_DATA) begin + matcher_state <= ST_MAT_WAITING; + end + + end else begin + case (matcher_state) + ST_MAT_WAITING: begin + if (in_pxd_pattern_match) begin + matcher_state <= ST_MAT_RX0; + win_x_int <= scan_x_reg[7]; + win_y_int <= scan_y; + end + end + ST_MAT_RX0: begin + matcher_state <= ST_MAT_RX1; + end + ST_MAT_RX1: begin + matcher_state <= ST_MAT_RX2; + end + ST_MAT_RX2: begin + matcher_state <= ST_MAT_RX3; + win_w_int <= in_pxd; + end + ST_MAT_RX3: begin + matcher_state <= ST_MAT_DATA; + win_h_int <= in_pxd; + out_data_valid <= 1; + out_data_en <= 1; + dval_x_reg <= 13; + dval_y_reg <= 0; + end + endcase + end + + if (matcher_state == ST_MAT_DATA) begin + /* blank */ + if (scan_x == win_x_int && out_data_en) begin + out_data_valid <= 1; + dval_x_reg <= 1; + + end else if (out_data_en) begin + dval_x_reg <= dval_x_reg + 1; + end + + if (dval_x_reg == win_w_int || in_blank) begin + out_data_valid <= 0; + end + + if (!in_blank_reg && in_blank) begin + dval_y_reg <= dval_y_reg + 1; + end + + if (dval_y_reg == win_h_int) begin + out_data_en <= 0; + end + end + end + end + + /* Match locking process */ + reg [11:0] win_x; + reg [11:0] win_y; + always @(posedge clk) begin + if (rst) begin + win_locked <= 0; + win_w <= 0; + win_h <= 0; + win_x <= 0; + win_y <= 0; + + end else begin + if (in_vsync_reg == 0 && in_vsync == 1) begin + win_locked <= matched; + + if (matched) begin + win_w <= win_w_int; + win_h <= win_h_int; + win_x <= win_x_int; + win_y <= win_y_int; + end else begin + win_w <= 0; + win_h <= 0; + win_x <= 0; + win_y <= 0; + end + end + end + end + + + /* Window H/VSYNC outputs */ + reg [11:0] win_blank_ctr; + reg [11:0] win_hsync_ctr; + reg win_hactive; + + always @(posedge clk) begin + if (rst) begin + win_blank <= 1; + win_hactive <= 0; + win_blank_ctr <= 0; + win_hsync_ctr <= 0; + + end else begin + if (win_locked) begin + /* hsync */ + if (scan_x == win_x && win_hactive) begin + win_blank <= 0; + win_blank_ctr <= 1; + end + + if (win_blank == 0) begin + win_blank_ctr <= win_blank_ctr + 1; + end + + if (win_blank_ctr == win_w || in_blank) begin + win_blank <= 1; + win_blank_ctr <= 0; + end + + if (win_hactive && in_blank_reg && !in_blank) begin + win_hsync_ctr <= win_hsync_ctr + 1; + end + + if (scan_y == win_y) begin + win_hactive <= 1; + end + + if (win_hsync_ctr == win_h && !in_blank_reg && in_blank) begin + win_hactive <= 0; + end + + if (in_vsync_reg == 1 && in_vsync == 0) begin + win_hsync_ctr <= 0; + win_hactive <= 0; + end + end + end + end + + /* Payload extractor */ + reg [23:0] in_pxd_last; + always @(posedge clk) in_pxd_last <= rst ? 0 : in_pxd; + + /* Compositor */ + assign out_pxd = (!win_blank && !bypass) ? win_pxd : in_pxd_reg; +endmodule diff --git a/term_emu_tb_behav.wcfg b/term_emu_tb_behav.wcfg new file mode 100644 index 0000000..a479146 --- /dev/null +++ b/term_emu_tb_behav.wcfg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + testcase_id[31:0] + testcase_id[31:0] + UNSIGNEDDECRADIX + + + clk + clk + + + rst + rst + + + read_pos[31:0] + read_pos[31:0] + + + in_byte_valid + in_byte_valid + + + in_byte[7:0] + in_byte[7:0] + ASCIIRADIX + + + in_byte_ack + in_byte_ack + + + parser_state[8:0] + parser_state[8:0] + + + cur_fg[3:0] + cur_fg[3:0] + + + cur_bg[3:0] + cur_bg[3:0] + + + cur_bold + cur_bold + + + cur_underline + cur_underline + + + num_buf[95:0] + num_buf[95:0] + + + num_buf_last[11:0] + num_buf_last[11:0] + + + parser_action[7:0] + parser_action[7:0] + + + parser_valid + parser_valid + + + num_buf_idx[4:0] + num_buf_idx[4:0] + + + csi_act_ctr[11:0] + csi_act_ctr[11:0] + + + cursor_movement_x_pos + cursor_movement_x_pos + + + cursor_movement_x_neg + cursor_movement_x_neg + + + cursor_movement_y_pos + cursor_movement_y_pos + + + cursor_movement_y_neg + cursor_movement_y_neg + + + esc_inval + esc_inval + + + glyph_y[9:0] + glyph_y[9:0] + #FFFF00 + true + + + glyph_x[9:0] + glyph_x[9:0] + #FFFF00 + true + + + glyph_buffer_w_valid + glyph_buffer_w_valid + #FFFF00 + true + + + glyph_buffer_w_addr[15:0] + glyph_buffer_w_addr[15:0] + #FFFF00 + true + + + glyph_buffer_w_data[19:0] + glyph_buffer_w_data[19:0] + #FFFF00 + true + + diff --git a/term_renderer_tb_behav.wcfg b/term_renderer_tb_behav.wcfg new file mode 100644 index 0000000..fca2c2f --- /dev/null +++ b/term_renderer_tb_behav.wcfg @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + testcase_id[31:0] + testcase_id[31:0] + #008000 + true + UNSIGNEDDECRADIX + + + rst + rst + + + clk + clk + + + in_vsync + in_vsync + + + in_hsync + in_hsync + + + glyphmem_data[19:0] + glyphmem_data[19:0] + + + glyphmem_r_addr[15:0] + glyphmem_r_addr[15:0] + + + out_red[7:0] + out_red[7:0] + + + out_green[7:0] + out_green[7:0] + + + out_blue[7:0] + out_blue[7:0] + + + glyph_sreg_out[7:0] + glyph_sreg_out[7:0] + + + glyph_x[11:0] + glyph_x[11:0] + UNSIGNEDDECRADIX + #FFFF00 + true + + + glyph_y[11:0] + glyph_y[11:0] + UNSIGNEDDECRADIX + #FFFF00 + true + + + px_x[5:0] + px_x[5:0] + UNSIGNEDDECRADIX + #FFFF00 + true + + + px_y[5:0] + px_y[5:0] + UNSIGNEDDECRADIX + #FFFF00 + true + + + in_hsync_last + in_hsync_last + + + in_vsync_last + in_vsync_last + + + GLYPHMEM_W[31:0] + GLYPHMEM_W[31:0] + + + GLYPHMEM_H[31:0] + GLYPHMEM_H[31:0] + + + FONT_GLYPH_W[31:0] + FONT_GLYPH_W[31:0] + + + FONT_GLYPH_H[31:0] + FONT_GLYPH_H[31:0] + + + FONT_GLYPH_COUNT[31:0] + FONT_GLYPH_COUNT[31:0] + + + gm_data_fgcolor[3:0] + gm_data_fgcolor[3:0] + + + gm_data_bgcolor[3:0] + gm_data_bgcolor[3:0] + + + gm_data_bold + gm_data_bold + + + gm_data_underline + gm_data_underline + + diff --git a/terminus-font-4.49.1/ter-u16b.bdf b/terminus-font-4.49.1/ter-u16b.bdf new file mode 100644 index 0000000..ca0c45a --- /dev/null +++ b/terminus-font-4.49.1/ter-u16b.bdf @@ -0,0 +1,31216 @@ +STARTFONT 2.1 +FONT -xos4-Terminus-Bold-R-Normal--16-160-72-72-C-80-ISO10646-1 +SIZE 16 72 72 +FONTBOUNDINGBOX 8 16 0 -4 +STARTPROPERTIES 20 +FAMILY_NAME "Terminus" +FOUNDRY "xos4" +SETWIDTH_NAME "Normal" +ADD_STYLE_NAME "" +COPYRIGHT "Copyright (C) 2020 Dimitar Toshkov Zhekov" +NOTICE "Licensed under the SIL Open Font License, Version 1.1" +WEIGHT_NAME "Bold" +SLANT "R" +PIXEL_SIZE 16 +POINT_SIZE 160 +RESOLUTION_X 72 +RESOLUTION_Y 72 +SPACING "C" +AVERAGE_WIDTH 80 +CHARSET_REGISTRY "ISO10646" +CHARSET_ENCODING "1" +MIN_SPACE 8 +FONT_ASCENT 12 +FONT_DESCENT 4 +DEFAULT_CHAR 65533 +ENDPROPERTIES +CHARS 1356 +STARTCHAR char0 +ENCODING 0 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +EE +C6 +00 +C6 +C6 +C6 +00 +C6 +C6 +EE +00 +00 +00 +00 +ENDCHAR +STARTCHAR space +ENCODING 32 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR exclam +ENCODING 33 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +18 +18 +18 +18 +18 +00 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotedbl +ENCODING 34 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR numbersign +ENCODING 35 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +6C +FE +6C +6C +FE +6C +6C +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR dollar +ENCODING 36 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +10 +10 +7C +D6 +D0 +D0 +7C +16 +16 +D6 +7C +10 +10 +00 +00 +ENDCHAR +STARTCHAR percent +ENCODING 37 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +66 +D6 +6C +0C +18 +18 +30 +36 +6B +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ampersand +ENCODING 38 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +6C +38 +76 +DC +CC +CC +DC +76 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotesingle +ENCODING 39 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR parenleft +ENCODING 40 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +18 +30 +30 +30 +30 +30 +30 +18 +0C +00 +00 +00 +00 +ENDCHAR +STARTCHAR parenright +ENCODING 41 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +18 +0C +0C +0C +0C +0C +0C +18 +30 +00 +00 +00 +00 +ENDCHAR +STARTCHAR asterisk +ENCODING 42 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +6C +38 +FE +38 +6C +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR plus +ENCODING 43 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +18 +18 +7E +18 +18 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR comma +ENCODING 44 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +30 +00 +00 +00 +ENDCHAR +STARTCHAR hyphen +ENCODING 45 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FE +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR period +ENCODING 46 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR slash +ENCODING 47 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +06 +0C +0C +18 +18 +30 +30 +60 +60 +00 +00 +00 +00 +ENDCHAR +STARTCHAR zero +ENCODING 48 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +CE +DE +F6 +E6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR one +ENCODING 49 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +38 +78 +18 +18 +18 +18 +18 +18 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR two +ENCODING 50 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +06 +0C +18 +30 +60 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR three +ENCODING 51 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +06 +3C +06 +06 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR four +ENCODING 52 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +0E +1E +36 +66 +C6 +FE +06 +06 +06 +00 +00 +00 +00 +ENDCHAR +STARTCHAR five +ENCODING 53 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C0 +C0 +C0 +FC +06 +06 +06 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR six +ENCODING 54 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +60 +C0 +C0 +FC +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR seven +ENCODING 55 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +06 +06 +0C +0C +18 +18 +30 +30 +30 +00 +00 +00 +00 +ENDCHAR +STARTCHAR eight +ENCODING 56 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +7C +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR nine +ENCODING 57 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +7E +06 +06 +0C +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR colon +ENCODING 58 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +18 +18 +00 +00 +00 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR semicolon +ENCODING 59 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +18 +18 +00 +00 +00 +18 +18 +30 +00 +00 +00 +ENDCHAR +STARTCHAR less +ENCODING 60 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +06 +0C +18 +30 +60 +30 +18 +0C +06 +00 +00 +00 +00 +ENDCHAR +STARTCHAR equal +ENCODING 61 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +00 +00 +FE +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR greater +ENCODING 62 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +60 +30 +18 +0C +06 +0C +18 +30 +60 +00 +00 +00 +00 +ENDCHAR +STARTCHAR question +ENCODING 63 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +0C +18 +18 +00 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR at +ENCODING 64 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +CE +D6 +D6 +D6 +D6 +CE +C0 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR A +ENCODING 65 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR B +ENCODING 66 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +C6 +C6 +C6 +FC +C6 +C6 +C6 +C6 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR C +ENCODING 67 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C0 +C0 +C0 +C0 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR D +ENCODING 68 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F8 +CC +C6 +C6 +C6 +C6 +C6 +C6 +CC +F8 +00 +00 +00 +00 +ENDCHAR +STARTCHAR E +ENCODING 69 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR F +ENCODING 70 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR G +ENCODING 71 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C0 +C0 +DE +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR H +ENCODING 72 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR I +ENCODING 73 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +18 +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR J +ENCODING 74 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +1E +0C +0C +0C +0C +0C +0C +CC +CC +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR K +ENCODING 75 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +CC +D8 +F0 +F0 +D8 +CC +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR L +ENCODING 76 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR M +ENCODING 77 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +C6 +EE +FE +D6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR N +ENCODING 78 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +E6 +F6 +DE +CE +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR O +ENCODING 79 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR P +ENCODING 80 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +C6 +C6 +C6 +C6 +FC +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Q +ENCODING 81 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +DE +7C +06 +00 +00 +00 +ENDCHAR +STARTCHAR R +ENCODING 82 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +C6 +C6 +C6 +C6 +FC +F0 +D8 +CC +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR S +ENCODING 83 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C0 +C0 +7C +06 +06 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR T +ENCODING 84 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FF +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR U +ENCODING 85 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR V +ENCODING 86 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +C6 +6C +6C +6C +38 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR W +ENCODING 87 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +C6 +D6 +FE +EE +C6 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR X +ENCODING 88 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +6C +6C +38 +38 +6C +6C +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Y +ENCODING 89 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C3 +C3 +66 +66 +3C +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Z +ENCODING 90 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +06 +06 +0C +18 +30 +60 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR bracketleft +ENCODING 91 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +30 +30 +30 +30 +30 +30 +30 +30 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR backslash +ENCODING 92 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +60 +60 +30 +30 +18 +18 +0C +0C +06 +06 +00 +00 +00 +00 +ENDCHAR +STARTCHAR bracketright +ENCODING 93 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +0C +0C +0C +0C +0C +0C +0C +0C +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR asciicircum +ENCODING 94 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +3C +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR underscore +ENCODING 95 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FE +00 +00 +ENDCHAR +STARTCHAR grave +ENCODING 96 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR a +ENCODING 97 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR b +ENCODING 98 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +FC +C6 +C6 +C6 +C6 +C6 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR c +ENCODING 99 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C0 +C0 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR d +ENCODING 100 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +06 +06 +7E +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR e +ENCODING 101 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR f +ENCODING 102 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +1E +30 +30 +FC +30 +30 +30 +30 +30 +30 +00 +00 +00 +00 +ENDCHAR +STARTCHAR g +ENCODING 103 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR h +ENCODING 104 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +FC +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR i +ENCODING 105 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR j +ENCODING 106 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +06 +00 +0E +06 +06 +06 +06 +06 +06 +66 +66 +3C +00 +ENDCHAR +STARTCHAR k +ENCODING 107 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +C6 +CC +D8 +F0 +D8 +CC +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR l +ENCODING 108 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +18 +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR m +ENCODING 109 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +D6 +D6 +D6 +D6 +D6 +D6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR n +ENCODING 110 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR o +ENCODING 111 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR p +ENCODING 112 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +C6 +C6 +C6 +C6 +C6 +FC +C0 +C0 +C0 +00 +ENDCHAR +STARTCHAR q +ENCODING 113 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +06 +00 +ENDCHAR +STARTCHAR r +ENCODING 114 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +DE +F0 +E0 +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR s +ENCODING 115 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +C0 +C0 +7C +06 +06 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR t +ENCODING 116 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +30 +30 +FC +30 +30 +30 +30 +30 +1E +00 +00 +00 +00 +ENDCHAR +STARTCHAR u +ENCODING 117 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR v +ENCODING 118 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +6C +6C +38 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR w +ENCODING 119 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +D6 +D6 +D6 +D6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR x +ENCODING 120 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +6C +38 +6C +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR y +ENCODING 121 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR z +ENCODING 122 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +0C +18 +30 +60 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR braceleft +ENCODING 123 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +1C +30 +30 +30 +60 +30 +30 +30 +30 +1C +00 +00 +00 +00 +ENDCHAR +STARTCHAR bar +ENCODING 124 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR braceright +ENCODING 125 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +70 +18 +18 +18 +0C +18 +18 +18 +18 +70 +00 +00 +00 +00 +ENDCHAR +STARTCHAR asciitilde +ENCODING 126 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +73 +DB +CE +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR nbspace +ENCODING 160 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR exclamdown +ENCODING 161 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +00 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR cent +ENCODING 162 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +10 +10 +7C +D6 +D0 +D0 +D0 +D6 +7C +10 +10 +00 +00 +ENDCHAR +STARTCHAR sterling +ENCODING 163 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +60 +60 +F8 +60 +60 +60 +66 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR currency +ENCODING 164 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +66 +3C +66 +66 +66 +3C +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR yen +ENCODING 165 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C3 +C3 +66 +3C +18 +7E +18 +7E +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR brokenbar +ENCODING 166 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +18 +18 +00 +00 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR section +ENCODING 167 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +3C +66 +60 +38 +6C +66 +66 +36 +1C +06 +66 +3C +00 +00 +00 +ENDCHAR +STARTCHAR dieresis +ENCODING 168 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR copyright +ENCODING 169 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7E +81 +99 +A5 +A1 +A5 +99 +81 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR ordfeminine +ENCODING 170 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +3C +06 +3E +66 +3E +00 +7E +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR guillemotleft +ENCODING 171 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +1B +36 +6C +D8 +6C +36 +1B +00 +00 +00 +00 +ENDCHAR +STARTCHAR logicalnot +ENCODING 172 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +06 +06 +06 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR softhyphen +ENCODING 173 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +7C +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR registered +ENCODING 174 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7E +81 +B9 +A5 +B9 +A9 +A5 +81 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR macron +ENCODING 175 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR degree +ENCODING 176 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +6C +6C +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR plusminus +ENCODING 177 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +18 +18 +7E +18 +18 +00 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR twosuperior +ENCODING 178 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +6C +0C +18 +30 +7C +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR threesuperior +ENCODING 179 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +78 +0C +38 +0C +0C +78 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR acute +ENCODING 180 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR mu +ENCODING 181 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +CE +F6 +C0 +C0 +C0 +00 +ENDCHAR +STARTCHAR paragraph +ENCODING 182 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +D6 +D6 +D6 +D6 +76 +16 +16 +16 +16 +00 +00 +00 +00 +ENDCHAR +STARTCHAR periodcentered +ENCODING 183 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +18 +18 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR cedilla +ENCODING 184 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +30 +30 +60 +00 +ENDCHAR +STARTCHAR onesuperior +ENCODING 185 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +38 +18 +18 +18 +3C +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ordmasculine +ENCODING 186 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +3C +66 +66 +66 +3C +00 +7E +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR guillemotright +ENCODING 187 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +D8 +6C +36 +1B +36 +6C +D8 +00 +00 +00 +00 +ENDCHAR +STARTCHAR onequarter +ENCODING 188 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +E0 +62 +66 +6C +18 +30 +66 +CE +9A +3E +06 +06 +00 +00 +ENDCHAR +STARTCHAR onehalf +ENCODING 189 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +E0 +62 +66 +6C +18 +30 +60 +DC +B6 +0C +18 +3E +00 +00 +ENDCHAR +STARTCHAR threequarters +ENCODING 190 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +E0 +30 +62 +36 +EC +18 +30 +66 +CE +9A +3E +06 +06 +00 +00 +ENDCHAR +STARTCHAR questiondown +ENCODING 191 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +30 +00 +30 +30 +60 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Agrave +ENCODING 192 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +18 +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Aacute +ENCODING 193 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Acircumflex +ENCODING 194 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Atilde +ENCODING 195 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +76 +DC +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Adieresis +ENCODING 196 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Aring +ENCODING 197 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +38 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR AE +ENCODING 198 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +D8 +D8 +D8 +FE +D8 +D8 +D8 +D8 +DE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ccedilla +ENCODING 199 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C0 +C0 +C0 +C0 +C6 +C6 +7C +30 +30 +60 +00 +ENDCHAR +STARTCHAR Egrave +ENCODING 200 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +18 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Eacute +ENCODING 201 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ecircumflex +ENCODING 202 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Edieresis +ENCODING 203 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Igrave +ENCODING 204 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +18 +00 +3C +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Iacute +ENCODING 205 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0C +18 +00 +3C +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Icircumflex +ENCODING 206 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +3C +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Idieresis +ENCODING 207 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +66 +66 +00 +3C +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Eth +ENCODING 208 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +6C +66 +66 +F6 +66 +66 +66 +6C +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ntilde +ENCODING 209 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +76 +DC +00 +C6 +C6 +E6 +F6 +DE +CE +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ograve +ENCODING 210 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +18 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Oacute +ENCODING 211 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ocircumflex +ENCODING 212 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Otilde +ENCODING 213 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +76 +DC +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Odieresis +ENCODING 214 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR multiply +ENCODING 215 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +6C +38 +38 +6C +C6 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Oslash +ENCODING 216 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C7 +C6 +CE +DE +F6 +E6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ugrave +ENCODING 217 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +18 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Uacute +ENCODING 218 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ucircumflex +ENCODING 219 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Udieresis +ENCODING 220 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Yacute +ENCODING 221 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0C +18 +C3 +C3 +66 +66 +3C +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Thorn +ENCODING 222 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +FC +C6 +C6 +C6 +C6 +FC +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR germandbls +ENCODING 223 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +CC +CC +C8 +FC +C6 +C6 +C6 +E6 +DC +00 +00 +00 +00 +ENDCHAR +STARTCHAR agrave +ENCODING 224 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +18 +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR aacute +ENCODING 225 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR acircumflex +ENCODING 226 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR atilde +ENCODING 227 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +76 +DC +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR adieresis +ENCODING 228 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR aring +ENCODING 229 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +38 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR ae +ENCODING 230 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +6C +16 +16 +7E +D0 +D0 +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ccedilla +ENCODING 231 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C0 +C0 +C0 +C6 +7C +30 +30 +60 +00 +ENDCHAR +STARTCHAR egrave +ENCODING 232 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +18 +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR eacute +ENCODING 233 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ecircumflex +ENCODING 234 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR edieresis +ENCODING 235 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR igrave +ENCODING 236 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +18 +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR iacute +ENCODING 237 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +18 +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR icircumflex +ENCODING 238 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR idieresis +ENCODING 239 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR eth +ENCODING 240 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +68 +30 +58 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ntilde +ENCODING 241 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +76 +DC +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ograve +ENCODING 242 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +18 +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR oacute +ENCODING 243 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ocircumflex +ENCODING 244 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR otilde +ENCODING 245 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +76 +DC +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR odieresis +ENCODING 246 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR divide +ENCODING 247 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +18 +18 +00 +7E +00 +18 +18 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR oslash +ENCODING 248 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3D +67 +6E +7E +76 +E6 +BC +00 +00 +00 +00 +ENDCHAR +STARTCHAR ugrave +ENCODING 249 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +18 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uacute +ENCODING 250 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR ucircumflex +ENCODING 251 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR udieresis +ENCODING 252 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR yacute +ENCODING 253 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR thorn +ENCODING 254 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +FC +C6 +C6 +C6 +C6 +C6 +FC +C0 +C0 +C0 +00 +ENDCHAR +STARTCHAR ydieresis +ENCODING 255 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR Amacron +ENCODING 256 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +7C +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR amacron +ENCODING 257 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Abreve +ENCODING 258 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR abreve +ENCODING 259 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Aogonek +ENCODING 260 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +06 +0C +07 +00 +ENDCHAR +STARTCHAR aogonek +ENCODING 261 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +06 +7E +C6 +C6 +C6 +7E +06 +0C +07 +00 +ENDCHAR +STARTCHAR Cacute +ENCODING 262 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +7C +C6 +C6 +C0 +C0 +C0 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR cacute +ENCODING 263 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +7C +C6 +C0 +C0 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ccircumflex +ENCODING 264 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +7C +C6 +C6 +C0 +C0 +C0 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ccircumflex +ENCODING 265 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +00 +7C +C6 +C0 +C0 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Cdotaccent +ENCODING 266 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +00 +7C +C6 +C6 +C0 +C0 +C0 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR cdotaccent +ENCODING 267 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +00 +7C +C6 +C0 +C0 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ccaron +ENCODING 268 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +7C +C6 +C6 +C0 +C0 +C0 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ccaron +ENCODING 269 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7C +C6 +C0 +C0 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Dcaron +ENCODING 270 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +F8 +CC +C6 +C6 +C6 +C6 +C6 +CC +F8 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dcaron +ENCODING 271 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +06 +06 +06 +7E +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Dcroat +ENCODING 272 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +6C +66 +66 +F6 +66 +66 +66 +6C +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dcroat +ENCODING 273 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +1F +06 +7E +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Emacron +ENCODING 274 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR emacron +ENCODING 275 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ebreve +ENCODING 276 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR ebreve +ENCODING 277 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Edotaccent +ENCODING 278 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR edotaccent +ENCODING 279 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Eogonek +ENCODING 280 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +C0 +FE +06 +0C +07 +00 +ENDCHAR +STARTCHAR eogonek +ENCODING 281 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +FE +C0 +C0 +7C +18 +30 +1C +00 +ENDCHAR +STARTCHAR Ecaron +ENCODING 282 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR ecaron +ENCODING 283 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Gcircumflex +ENCODING 284 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +7C +C6 +C0 +C0 +DE +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR gcircumflex +ENCODING 285 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +00 +7E +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR Gbreve +ENCODING 286 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +7C +C6 +C0 +C0 +DE +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR gbreve +ENCODING 287 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7E +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR Gdotaccent +ENCODING 288 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +00 +7C +C6 +C0 +C0 +DE +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR gdotaccent +ENCODING 289 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +00 +7E +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR Gcommaaccent +ENCODING 290 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C0 +C0 +DE +C6 +C6 +C6 +7C +00 +30 +30 +60 +ENDCHAR +STARTCHAR gcommaaccent +ENCODING 291 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +0C +18 +18 +00 +7E +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR Hcircumflex +ENCODING 292 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR hcircumflex +ENCODING 293 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +1C +36 +C0 +C0 +C0 +FC +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Hbar +ENCODING 294 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +66 +FF +66 +66 +7E +66 +66 +66 +66 +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR hbar +ENCODING 295 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +60 +F8 +60 +7C +66 +66 +66 +66 +66 +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Itilde +ENCODING 296 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +76 +DC +00 +3C +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR itilde +ENCODING 297 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +76 +DC +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Imacron +ENCODING 298 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7E +00 +3C +18 +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR imacron +ENCODING 299 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ibreve +ENCODING 300 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +3C +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ibreve +ENCODING 301 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Iogonek +ENCODING 302 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +18 +18 +18 +18 +18 +18 +18 +18 +3C +18 +30 +1C +00 +ENDCHAR +STARTCHAR iogonek +ENCODING 303 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +00 +38 +18 +18 +18 +18 +18 +3C +18 +30 +1C +00 +ENDCHAR +STARTCHAR Idotaccent +ENCODING 304 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +00 +3C +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR dotlessi +ENCODING 305 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR IJ +ENCODING 306 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +CF +C6 +C6 +C6 +C6 +C6 +C6 +F6 +F6 +DC +00 +00 +00 +00 +ENDCHAR +STARTCHAR ij +ENCODING 307 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +36 +36 +1C +00 +ENDCHAR +STARTCHAR Jcircumflex +ENCODING 308 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +1C +36 +00 +1E +0C +0C +0C +0C +0C +CC +CC +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR jcircumflex +ENCODING 309 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0E +1B +00 +0E +06 +06 +06 +06 +06 +06 +66 +66 +3C +00 +ENDCHAR +STARTCHAR Kcommaaccent +ENCODING 310 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +CC +D8 +F0 +F0 +D8 +CC +C6 +C6 +00 +30 +30 +60 +ENDCHAR +STARTCHAR kcommaaccent +ENCODING 311 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +C6 +CC +D8 +F0 +D8 +CC +C6 +00 +30 +30 +60 +ENDCHAR +STARTCHAR kgreenlandic +ENCODING 312 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +CC +D8 +F0 +D8 +CC +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Lacute +ENCODING 313 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +C0 +00 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR lacute +ENCODING 314 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0C +18 +00 +38 +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Lcommaaccent +ENCODING 315 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +FE +00 +30 +30 +60 +ENDCHAR +STARTCHAR lcommaaccent +ENCODING 316 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +18 +18 +18 +18 +18 +18 +18 +18 +3C +00 +18 +18 +30 +ENDCHAR +STARTCHAR Lcaron +ENCODING 317 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR lcaron +ENCODING 318 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +38 +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ldot +ENCODING 319 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +C0 +CC +CC +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR ldot +ENCODING 320 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +18 +18 +18 +1B +1B +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Lslash +ENCODING 321 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +60 +60 +60 +60 +70 +E0 +60 +60 +60 +7F +00 +00 +00 +00 +ENDCHAR +STARTCHAR lslash +ENCODING 322 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +18 +18 +18 +1C +38 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Nacute +ENCODING 323 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +C6 +C6 +C6 +E6 +F6 +DE +CE +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR nacute +ENCODING 324 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ncommaaccent +ENCODING 325 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +E6 +F6 +DE +CE +C6 +C6 +C6 +00 +30 +30 +60 +ENDCHAR +STARTCHAR ncommaaccent +ENCODING 326 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +00 +30 +30 +60 +ENDCHAR +STARTCHAR Ncaron +ENCODING 327 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +C6 +C6 +C6 +E6 +F6 +DE +CE +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ncaron +ENCODING 328 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR napostrophe +ENCODING 329 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +C0 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Eng +ENCODING 330 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +E6 +F6 +DE +CE +C6 +C6 +C6 +06 +06 +1C +00 +ENDCHAR +STARTCHAR eng +ENCODING 331 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +06 +06 +1C +00 +ENDCHAR +STARTCHAR Omacron +ENCODING 332 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR omacron +ENCODING 333 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Obreve +ENCODING 334 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR obreve +ENCODING 335 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ohungarumlaut +ENCODING 336 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +36 +6C +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ohungarumlaut +ENCODING 337 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +36 +6C +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR OE +ENCODING 338 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +D8 +D8 +D8 +DE +D8 +D8 +D8 +D8 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR oe +ENCODING 339 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +D6 +D6 +DE +D0 +D0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Racute +ENCODING 340 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +FC +C6 +C6 +C6 +FC +F0 +D8 +CC +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR racute +ENCODING 341 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +DE +F0 +E0 +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Rcommaaccent +ENCODING 342 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +C6 +C6 +C6 +C6 +FC +F0 +D8 +CC +C6 +00 +30 +30 +60 +ENDCHAR +STARTCHAR rcommaaccent +ENCODING 343 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +6F +78 +70 +60 +60 +60 +60 +00 +60 +60 +C0 +ENDCHAR +STARTCHAR Rcaron +ENCODING 344 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +FC +C6 +C6 +C6 +FC +F0 +D8 +CC +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR rcaron +ENCODING 345 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +DE +F0 +E0 +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Sacute +ENCODING 346 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +7C +C6 +C0 +C0 +7C +06 +06 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR sacute +ENCODING 347 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +18 +00 +7E +C0 +C0 +7C +06 +06 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR Scircumflex +ENCODING 348 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +7C +C6 +C0 +C0 +7C +06 +06 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR scircumflex +ENCODING 349 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +00 +7E +C0 +C0 +7C +06 +06 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR Scedilla +ENCODING 350 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C0 +C0 +7C +06 +06 +C6 +C6 +7C +30 +30 +60 +00 +ENDCHAR +STARTCHAR scedilla +ENCODING 351 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +C0 +C0 +7C +06 +06 +FC +30 +30 +60 +00 +ENDCHAR +STARTCHAR Scaron +ENCODING 352 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +7C +C6 +C0 +C0 +7C +06 +06 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR scaron +ENCODING 353 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7E +C0 +C0 +7C +06 +06 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR Tcedilla +ENCODING 354 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FF +18 +18 +18 +18 +18 +18 +18 +18 +18 +0C +0C +18 +00 +ENDCHAR +STARTCHAR tcedilla +ENCODING 355 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +30 +30 +FC +30 +30 +30 +30 +30 +1E +0C +0C +18 +00 +ENDCHAR +STARTCHAR Tcaron +ENCODING 356 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +FF +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR tcaron +ENCODING 357 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +30 +30 +FC +30 +30 +30 +30 +30 +1E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Tbar +ENCODING 358 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FF +18 +18 +18 +7E +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR tbar +ENCODING 359 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +30 +30 +FC +30 +78 +30 +30 +30 +1E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Utilde +ENCODING 360 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +76 +DC +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR utilde +ENCODING 361 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +76 +DC +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Umacron +ENCODING 362 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR umacron +ENCODING 363 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ubreve +ENCODING 364 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ubreve +ENCODING 365 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Uring +ENCODING 366 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +38 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uring +ENCODING 367 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +38 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Uhungarumlaut +ENCODING 368 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +36 +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uhungarumlaut +ENCODING 369 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +36 +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Uogonek +ENCODING 370 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +18 +30 +1C +00 +ENDCHAR +STARTCHAR uogonek +ENCODING 371 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +0C +07 +00 +ENDCHAR +STARTCHAR Wcircumflex +ENCODING 372 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +C6 +C6 +C6 +C6 +D6 +FE +EE +C6 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR wcircumflex +ENCODING 373 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +00 +C6 +C6 +D6 +D6 +D6 +D6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ycircumflex +ENCODING 374 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +C3 +C3 +66 +66 +3C +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ycircumflex +ENCODING 375 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR Ydieresis +ENCODING 376 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +66 +66 +00 +C3 +C3 +66 +66 +3C +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Zacute +ENCODING 377 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +FE +06 +0C +18 +30 +60 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR zacute +ENCODING 378 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +FE +0C +18 +30 +60 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Zdotaccent +ENCODING 379 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +00 +FE +06 +0C +18 +30 +60 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR zdotaccent +ENCODING 380 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +00 +FE +0C +18 +30 +60 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Zcaron +ENCODING 381 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +FE +06 +0C +18 +30 +60 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR zcaron +ENCODING 382 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +FE +0C +18 +30 +60 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR longs +ENCODING 383 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +1E +30 +30 +30 +30 +30 +30 +30 +30 +30 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0186 +ENCODING 390 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +06 +06 +06 +06 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni018E +ENCODING 398 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +06 +06 +06 +3E +06 +06 +06 +06 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Schwa +ENCODING 399 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +06 +06 +FE +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0190 +ENCODING 400 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C0 +78 +C0 +C0 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR florin +ENCODING 402 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0E +1B +18 +18 +7E +18 +18 +18 +18 +18 +18 +D8 +70 +00 +ENDCHAR +STARTCHAR uni019D +ENCODING 413 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +66 +66 +66 +76 +7E +6E +66 +66 +66 +66 +60 +60 +C0 +00 +ENDCHAR +STARTCHAR uni019E +ENCODING 414 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +06 +06 +06 +00 +ENDCHAR +STARTCHAR uni01B5 +ENCODING 437 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +06 +0C +18 +FE +30 +60 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01B6 +ENCODING 438 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +0C +18 +FC +30 +60 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ezh +ENCODING 439 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +06 +0C +18 +3C +06 +06 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01CD +ENCODING 461 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01CE +ENCODING 462 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01CF +ENCODING 463 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +3C +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01D0 +ENCODING 464 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01D1 +ENCODING 465 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01D2 +ENCODING 466 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01D3 +ENCODING 467 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01D4 +ENCODING 468 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01E2 +ENCODING 482 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +7E +D8 +D8 +D8 +FE +D8 +D8 +D8 +D8 +DE +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01E3 +ENCODING 483 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +6C +16 +16 +7E +D0 +D0 +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01E4 +ENCODING 484 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C0 +C0 +DE +C6 +DF +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01E5 +ENCODING 485 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +C6 +C6 +DF +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR Gcaron +ENCODING 486 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +7C +C6 +C0 +C0 +DE +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR gcaron +ENCODING 487 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7E +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR uni01E8 +ENCODING 488 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +C6 +C6 +CC +D8 +F0 +F0 +D8 +CC +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01E9 +ENCODING 489 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +C0 +C0 +C0 +C6 +CC +D8 +F0 +D8 +CC +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01EA +ENCODING 490 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +18 +30 +1C +00 +ENDCHAR +STARTCHAR uni01EB +ENCODING 491 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +18 +30 +1C +00 +ENDCHAR +STARTCHAR uni01EC +ENCODING 492 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +18 +30 +1C +00 +ENDCHAR +STARTCHAR uni01ED +ENCODING 493 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +18 +30 +1C +00 +ENDCHAR +STARTCHAR uni01EE +ENCODING 494 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +FE +0C +18 +3C +06 +06 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01EF +ENCODING 495 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +FE +06 +0C +18 +3C +06 +06 +C6 +C6 +7C +00 +ENDCHAR +STARTCHAR uni01F0 +ENCODING 496 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +1B +0E +00 +0E +06 +06 +06 +06 +06 +06 +66 +66 +3C +00 +ENDCHAR +STARTCHAR uni01F4 +ENCODING 500 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +7C +C6 +C0 +C0 +DE +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01F5 +ENCODING 501 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +18 +00 +7E +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR AEacute +ENCODING 508 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0C +18 +00 +7E +D8 +D8 +D8 +FE +D8 +D8 +D8 +DE +00 +00 +00 +00 +ENDCHAR +STARTCHAR aeacute +ENCODING 509 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +18 +00 +6C +16 +16 +7E +D0 +D0 +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Oslashacute +ENCODING 510 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +7C +C7 +C6 +CE +DE +F6 +E6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR oslashacute +ENCODING 511 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +3D +67 +6E +7E +76 +E6 +BC +00 +00 +00 +00 +ENDCHAR +STARTCHAR Scommaaccent +ENCODING 536 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C0 +C0 +7C +06 +06 +C6 +C6 +7C +00 +30 +30 +60 +ENDCHAR +STARTCHAR scommaaccent +ENCODING 537 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +C0 +C0 +7C +06 +06 +FC +00 +30 +30 +60 +ENDCHAR +STARTCHAR Tcommaaccent +ENCODING 538 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FF +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +18 +18 +30 +ENDCHAR +STARTCHAR tcommaaccent +ENCODING 539 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +30 +30 +FC +30 +30 +30 +30 +30 +1E +00 +0C +0C +18 +ENDCHAR +STARTCHAR uni0232 +ENCODING 562 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7E +00 +C3 +C3 +66 +66 +3C +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0233 +ENCODING 563 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR dotlessj +ENCODING 567 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +0E +06 +06 +06 +06 +06 +06 +66 +66 +3C +00 +ENDCHAR +STARTCHAR uni0254 +ENCODING 596 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +06 +06 +06 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0258 +ENCODING 600 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +FE +06 +06 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR schwa +ENCODING 601 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +06 +06 +FE +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni025B +ENCODING 603 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C0 +78 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0272 +ENCODING 626 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +66 +66 +66 +66 +66 +66 +60 +60 +C0 +00 +ENDCHAR +STARTCHAR ezh +ENCODING 658 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +06 +0C +18 +3C +06 +06 +C6 +C6 +7C +00 +ENDCHAR +STARTCHAR commaturnedmod +ENCODING 699 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57929 +ENCODING 700 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii64937 +ENCODING 701 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +30 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR circumflex +ENCODING 710 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR caron +ENCODING 711 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR breve +ENCODING 728 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dotaccent +ENCODING 729 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ogonek +ENCODING 731 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +30 +1C +00 +ENDCHAR +STARTCHAR tilde +ENCODING 732 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +76 +DC +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR hungarumlaut +ENCODING 733 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +36 +6C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR gravecomb +ENCODING 768 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR acutecomb +ENCODING 769 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0302 +ENCODING 770 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR tildecomb +ENCODING 771 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +76 +DC +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0304 +ENCODING 772 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0305 +ENCODING 773 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FE +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0306 +ENCODING 774 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0307 +ENCODING 775 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0308 +ENCODING 776 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni030A +ENCODING 778 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +6C +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni030B +ENCODING 779 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +36 +6C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni030C +ENCODING 780 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0329 +ENCODING 809 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +00 +ENDCHAR +STARTCHAR tonos +ENCODING 900 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +C0 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dieresistonos +ENCODING 901 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +6C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Alphatonos +ENCODING 902 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +C0 +7C +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR anoteleia +ENCODING 903 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Epsilontonos +ENCODING 904 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +C0 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Etatonos +ENCODING 905 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +C0 +00 +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Iotatonos +ENCODING 906 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +C0 +3C +18 +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Omicrontonos +ENCODING 908 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +C0 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Upsilontonos +ENCODING 910 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +C0 +00 +C3 +C3 +66 +66 +3C +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Omegatonos +ENCODING 911 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +C0 +7C +C6 +C6 +C6 +C6 +C6 +C6 +6C +6C +EE +00 +00 +00 +00 +ENDCHAR +STARTCHAR iotadieresistonos +ENCODING 912 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +D8 +D8 +00 +70 +30 +30 +30 +30 +30 +1C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Alpha +ENCODING 913 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Beta +ENCODING 914 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +C6 +C6 +C6 +FC +C6 +C6 +C6 +C6 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR Gamma +ENCODING 915 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Delta +ENCODING 916 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +38 +38 +6C +6C +6C +C6 +C6 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Epsilon +ENCODING 917 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Zeta +ENCODING 918 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +06 +06 +0C +18 +30 +60 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Eta +ENCODING 919 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Theta +ENCODING 920 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +D6 +D6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Iota +ENCODING 921 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +18 +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Kappa +ENCODING 922 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +CC +D8 +F0 +F0 +D8 +CC +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Lambda +ENCODING 923 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +38 +38 +6C +6C +6C +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Mu +ENCODING 924 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +C6 +EE +FE +D6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Nu +ENCODING 925 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +E6 +F6 +DE +CE +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Xi +ENCODING 926 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +00 +00 +00 +7C +00 +00 +00 +00 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Omicron +ENCODING 927 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Pi +ENCODING 928 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Rho +ENCODING 929 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +C6 +C6 +C6 +C6 +FC +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Sigma +ENCODING 931 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C0 +60 +30 +18 +18 +30 +60 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Tau +ENCODING 932 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FF +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Upsilon +ENCODING 933 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C3 +C3 +66 +66 +3C +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Phi +ENCODING 934 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +7C +D6 +D6 +D6 +D6 +D6 +D6 +7C +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Chi +ENCODING 935 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +6C +6C +38 +38 +6C +6C +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Psi +ENCODING 936 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +D6 +D6 +D6 +D6 +D6 +D6 +D6 +7C +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Omega +ENCODING 937 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +6C +6C +EE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Iotadieresis +ENCODING 938 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +66 +66 +00 +3C +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Upsilondieresis +ENCODING 939 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +66 +66 +00 +C3 +C3 +66 +66 +3C +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR alphatonos +ENCODING 940 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +7A +CE +CC +CC +CC +CE +7A +00 +00 +00 +00 +ENDCHAR +STARTCHAR epsilontonos +ENCODING 941 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +7C +C6 +C0 +78 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR etatonos +ENCODING 942 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +06 +06 +06 +00 +ENDCHAR +STARTCHAR iotatonos +ENCODING 943 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +70 +30 +30 +30 +30 +30 +1C +00 +00 +00 +00 +ENDCHAR +STARTCHAR upsilondieresistonos +ENCODING 944 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR alpha +ENCODING 945 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7A +CE +CC +CC +CC +CE +7A +00 +00 +00 +00 +ENDCHAR +STARTCHAR beta +ENCODING 946 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +CC +CC +C8 +FC +C6 +C6 +C6 +C6 +FC +C0 +C0 +C0 +00 +ENDCHAR +STARTCHAR gamma +ENCODING 947 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C3 +C3 +66 +66 +3C +3C +18 +18 +18 +18 +00 +ENDCHAR +STARTCHAR delta +ENCODING 948 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +30 +18 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR epsilon +ENCODING 949 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C0 +78 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR zeta +ENCODING 950 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +0C +18 +30 +60 +C0 +C0 +C0 +C0 +7C +06 +06 +0C +00 +ENDCHAR +STARTCHAR eta +ENCODING 951 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +06 +06 +06 +00 +ENDCHAR +STARTCHAR theta +ENCODING 952 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +66 +66 +66 +7E +66 +66 +66 +66 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR iota +ENCODING 953 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +70 +30 +30 +30 +30 +30 +1C +00 +00 +00 +00 +ENDCHAR +STARTCHAR kappa +ENCODING 954 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +CC +D8 +F0 +D8 +CC +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR lambda +ENCODING 955 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +30 +18 +18 +3C +3C +66 +66 +C3 +C3 +00 +00 +00 +00 +ENDCHAR +STARTCHAR mugreek +ENCODING 956 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +CE +F6 +C0 +C0 +C0 +00 +ENDCHAR +STARTCHAR nu +ENCODING 957 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +6C +6C +38 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR xi +ENCODING 958 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +C0 +C0 +C0 +7C +C0 +C0 +C0 +C0 +7C +06 +06 +0C +00 +ENDCHAR +STARTCHAR omicron +ENCODING 959 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR pi +ENCODING 960 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR rho +ENCODING 961 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +FC +C0 +C0 +C0 +00 +ENDCHAR +STARTCHAR sigma1 +ENCODING 962 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C0 +C0 +C0 +C0 +7C +06 +06 +0C +00 +ENDCHAR +STARTCHAR sigma +ENCODING 963 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3F +66 +66 +66 +66 +66 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR tau +ENCODING 964 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FF +18 +18 +18 +18 +18 +0E +00 +00 +00 +00 +ENDCHAR +STARTCHAR upsilon +ENCODING 965 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR phi +ENCODING 966 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +4C +D6 +D6 +D6 +D6 +D6 +7C +10 +10 +10 +00 +ENDCHAR +STARTCHAR chi +ENCODING 967 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +6C +6C +38 +38 +6C +6C +C6 +C6 +00 +ENDCHAR +STARTCHAR psi +ENCODING 968 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +D6 +D6 +D6 +D6 +D6 +D6 +7C +10 +10 +10 +00 +ENDCHAR +STARTCHAR omega +ENCODING 969 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +C6 +D6 +D6 +D6 +FE +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR iotadieresis +ENCODING 970 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +D8 +D8 +00 +70 +30 +30 +30 +30 +30 +1C +00 +00 +00 +00 +ENDCHAR +STARTCHAR upsilondieresis +ENCODING 971 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR omicrontonos +ENCODING 972 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR upsilontonos +ENCODING 973 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR omegatonos +ENCODING 974 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +44 +C6 +D6 +D6 +D6 +FE +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR theta1 +ENCODING 977 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +66 +66 +66 +3F +06 +E6 +66 +66 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR phi1 +ENCODING 981 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +7C +D6 +D6 +D6 +D6 +D6 +7C +10 +00 +00 +00 +ENDCHAR +STARTCHAR uni03F0 +ENCODING 1008 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +E3 +36 +1C +18 +38 +6C +C7 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni03F1 +ENCODING 1009 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +FC +C0 +C0 +7C +00 +ENDCHAR +STARTCHAR uni03F2 +ENCODING 1010 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C0 +C0 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni03F3 +ENCODING 1011 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +06 +00 +0E +06 +06 +06 +06 +06 +06 +66 +66 +3C +00 +ENDCHAR +STARTCHAR uni03F4 +ENCODING 1012 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni03F5 +ENCODING 1013 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +60 +C0 +FC +C0 +60 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni03F6 +ENCODING 1014 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +F8 +0C +06 +7E +06 +0C +F8 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0400 +ENCODING 1024 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +18 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10023 +ENCODING 1025 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10051 +ENCODING 1026 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F0 +60 +60 +7C +66 +66 +66 +66 +66 +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10052 +ENCODING 1027 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +00 +FE +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10053 +ENCODING 1028 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C0 +C0 +F8 +C0 +C0 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10054 +ENCODING 1029 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C0 +C0 +7C +06 +06 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10055 +ENCODING 1030 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +18 +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10056 +ENCODING 1031 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +66 +66 +00 +3C +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10057 +ENCODING 1032 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +1E +0C +0C +0C +0C +0C +0C +CC +CC +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10058 +ENCODING 1033 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +70 +D0 +DC +D6 +D6 +D6 +D6 +D6 +9C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10059 +ENCODING 1034 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +D0 +D0 +D0 +DC +F6 +D6 +D6 +D6 +D6 +DC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10060 +ENCODING 1035 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F0 +60 +60 +7C +66 +66 +66 +66 +66 +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10061 +ENCODING 1036 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +30 +C6 +C6 +CC +D8 +F0 +F0 +D8 +CC +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni040D +ENCODING 1037 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +18 +C6 +C6 +C6 +CE +DE +F6 +E6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10062 +ENCODING 1038 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +06 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10145 +ENCODING 1039 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +FE +38 +38 +00 +00 +ENDCHAR +STARTCHAR afii10017 +ENCODING 1040 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10018 +ENCODING 1041 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +C0 +C0 +FC +C6 +C6 +C6 +C6 +C6 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10019 +ENCODING 1042 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +C6 +C6 +C6 +FC +C6 +C6 +C6 +C6 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10020 +ENCODING 1043 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10021 +ENCODING 1044 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3E +66 +66 +66 +66 +66 +66 +66 +66 +FF +C3 +00 +00 +00 +ENDCHAR +STARTCHAR afii10022 +ENCODING 1045 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10024 +ENCODING 1046 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +D6 +D6 +D6 +7C +38 +7C +D6 +D6 +D6 +D6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10025 +ENCODING 1047 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +06 +3C +06 +06 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10026 +ENCODING 1048 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +CE +DE +F6 +E6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10027 +ENCODING 1049 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +C6 +C6 +C6 +CE +DE +F6 +E6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10028 +ENCODING 1050 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +CC +D8 +F0 +F0 +D8 +CC +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10029 +ENCODING 1051 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +1E +36 +66 +66 +66 +66 +66 +66 +66 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10030 +ENCODING 1052 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +C6 +EE +FE +D6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10031 +ENCODING 1053 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10032 +ENCODING 1054 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10033 +ENCODING 1055 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10034 +ENCODING 1056 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +C6 +C6 +C6 +C6 +FC +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10035 +ENCODING 1057 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C0 +C0 +C0 +C0 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10036 +ENCODING 1058 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FF +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10037 +ENCODING 1059 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +06 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10038 +ENCODING 1060 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +10 +7C +D6 +D6 +D6 +D6 +D6 +D6 +D6 +D6 +7C +10 +00 +00 +00 +ENDCHAR +STARTCHAR afii10039 +ENCODING 1061 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +6C +6C +38 +38 +6C +6C +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10040 +ENCODING 1062 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7F +03 +03 +00 +00 +ENDCHAR +STARTCHAR afii10041 +ENCODING 1063 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +06 +06 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10042 +ENCODING 1064 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +D6 +D6 +D6 +D6 +D6 +D6 +D6 +D6 +D6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10043 +ENCODING 1065 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +D6 +D6 +D6 +D6 +D6 +D6 +D6 +D6 +D6 +7F +03 +03 +00 +00 +ENDCHAR +STARTCHAR afii10044 +ENCODING 1066 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +E0 +60 +60 +7C +66 +66 +66 +66 +66 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10045 +ENCODING 1067 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +E6 +D6 +D6 +D6 +D6 +D6 +E6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10046 +ENCODING 1068 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +60 +60 +60 +7C +66 +66 +66 +66 +66 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10047 +ENCODING 1069 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +06 +06 +3E +06 +06 +06 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10048 +ENCODING 1070 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +CC +D6 +D6 +D6 +D6 +F6 +D6 +D6 +D6 +CC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10049 +ENCODING 1071 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +C6 +C6 +C6 +C6 +7E +1E +36 +66 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10065 +ENCODING 1072 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10066 +ENCODING 1073 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C0 +C0 +FC +C6 +C6 +C6 +C6 +C6 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10067 +ENCODING 1074 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +CC +CC +C8 +FC +C6 +C6 +C6 +C6 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10068 +ENCODING 1075 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +C0 +C0 +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10069 +ENCODING 1076 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR afii10070 +ENCODING 1077 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10072 +ENCODING 1078 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +D6 +D6 +7C +38 +7C +D6 +D6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10073 +ENCODING 1079 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +06 +3C +06 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10074 +ENCODING 1080 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10075 +ENCODING 1081 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10076 +ENCODING 1082 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +CC +D8 +F0 +D8 +CC +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10077 +ENCODING 1083 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +66 +66 +66 +66 +66 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10078 +ENCODING 1084 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +EE +FE +D6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10079 +ENCODING 1085 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +FE +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10080 +ENCODING 1086 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10081 +ENCODING 1087 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10082 +ENCODING 1088 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +C6 +C6 +C6 +C6 +C6 +FC +C0 +C0 +C0 +00 +ENDCHAR +STARTCHAR afii10083 +ENCODING 1089 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C0 +C0 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10084 +ENCODING 1090 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FF +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10085 +ENCODING 1091 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR afii10086 +ENCODING 1092 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +7C +D6 +D6 +D6 +D6 +D6 +7C +10 +00 +00 +00 +ENDCHAR +STARTCHAR afii10087 +ENCODING 1093 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +6C +38 +6C +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10088 +ENCODING 1094 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7F +03 +03 +00 +00 +ENDCHAR +STARTCHAR afii10089 +ENCODING 1095 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +7E +06 +06 +06 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10090 +ENCODING 1096 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +D6 +D6 +D6 +D6 +D6 +D6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10091 +ENCODING 1097 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +D6 +D6 +D6 +D6 +D6 +D6 +7F +03 +03 +00 +00 +ENDCHAR +STARTCHAR afii10092 +ENCODING 1098 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +E0 +60 +7C +66 +66 +66 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10093 +ENCODING 1099 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +E6 +D6 +D6 +D6 +E6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10094 +ENCODING 1100 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +7C +66 +66 +66 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10095 +ENCODING 1101 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +06 +3E +06 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10096 +ENCODING 1102 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +CC +D6 +D6 +F6 +D6 +D6 +CC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10097 +ENCODING 1103 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +C6 +C6 +7E +36 +66 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0450 +ENCODING 1104 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +18 +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10071 +ENCODING 1105 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10099 +ENCODING 1106 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +60 +F8 +60 +7C +66 +66 +66 +66 +66 +66 +06 +06 +1C +00 +ENDCHAR +STARTCHAR afii10100 +ENCODING 1107 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +FE +C0 +C0 +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10101 +ENCODING 1108 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C0 +F8 +C0 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10102 +ENCODING 1109 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +C0 +C0 +7C +06 +06 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10103 +ENCODING 1110 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10104 +ENCODING 1111 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10105 +ENCODING 1112 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +06 +00 +0E +06 +06 +06 +06 +06 +06 +66 +66 +3C +00 +ENDCHAR +STARTCHAR afii10106 +ENCODING 1113 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +70 +D0 +DC +D6 +D6 +D6 +9C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10107 +ENCODING 1114 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +D0 +D0 +DC +F6 +D6 +D6 +DC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10108 +ENCODING 1115 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +60 +F8 +60 +7C +66 +66 +66 +66 +66 +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10109 +ENCODING 1116 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +30 +00 +C6 +CC +D8 +F0 +D8 +CC +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni045D +ENCODING 1117 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +18 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10110 +ENCODING 1118 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR afii10193 +ENCODING 1119 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +FE +38 +38 +00 +00 +ENDCHAR +STARTCHAR afii10146 +ENCODING 1122 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +60 +F8 +60 +7C +66 +66 +66 +66 +66 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10194 +ENCODING 1123 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +60 +60 +F8 +60 +60 +7C +66 +66 +66 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni046A +ENCODING 1130 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C6 +6C +6C +38 +7C +D6 +D6 +D6 +D6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni046B +ENCODING 1131 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +6C +28 +38 +7C +D6 +D6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10050 +ENCODING 1168 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +06 +06 +FE +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10098 +ENCODING 1169 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +06 +06 +FE +C0 +C0 +C0 +C0 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0492 +ENCODING 1170 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7F +60 +60 +60 +FC +60 +60 +60 +60 +60 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0493 +ENCODING 1171 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7F +60 +60 +FC +60 +60 +60 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0494 +ENCODING 1172 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C0 +C0 +C0 +C0 +FC +C6 +C6 +C6 +C6 +06 +0C +00 +00 +ENDCHAR +STARTCHAR uni0495 +ENCODING 1173 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +C0 +C0 +F8 +CC +CC +CC +0C +18 +00 +00 +ENDCHAR +STARTCHAR uni0496 +ENCODING 1174 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +D6 +D6 +D6 +7C +38 +7C +D6 +D6 +D6 +D7 +03 +03 +00 +00 +ENDCHAR +STARTCHAR uni0497 +ENCODING 1175 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +D6 +D6 +7C +38 +7C +D6 +D7 +03 +03 +00 +00 +ENDCHAR +STARTCHAR uni0498 +ENCODING 1176 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +06 +3C +06 +06 +C6 +C6 +7C +30 +30 +30 +00 +ENDCHAR +STARTCHAR uni0499 +ENCODING 1177 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +06 +3C +06 +C6 +7C +30 +30 +30 +00 +ENDCHAR +STARTCHAR uni049A +ENCODING 1178 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +CC +D8 +F0 +F0 +D8 +CC +C6 +C7 +03 +03 +00 +00 +ENDCHAR +STARTCHAR uni049B +ENCODING 1179 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +CC +D8 +F0 +D8 +CC +C7 +03 +03 +00 +00 +ENDCHAR +STARTCHAR uni049C +ENCODING 1180 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +D6 +DC +F8 +F8 +DC +D6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni049D +ENCODING 1181 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +D6 +DC +F8 +DC +D6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04A0 +ENCODING 1184 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +E3 +E3 +66 +6C +78 +78 +6C +66 +63 +63 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04A1 +ENCODING 1185 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +E3 +66 +6C +78 +6C +66 +63 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04A2 +ENCODING 1186 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +C7 +03 +03 +00 +00 +ENDCHAR +STARTCHAR uni04A3 +ENCODING 1187 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +FE +C6 +C6 +C7 +03 +03 +00 +00 +ENDCHAR +STARTCHAR uni04A4 +ENCODING 1188 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +CF +CC +CC +CC +FC +CC +CC +CC +CC +CC +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04A5 +ENCODING 1189 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +CF +CC +CC +FC +CC +CC +CC +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04AA +ENCODING 1194 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C0 +C0 +C0 +C0 +C6 +C6 +7C +30 +30 +30 +00 +ENDCHAR +STARTCHAR uni04AB +ENCODING 1195 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C0 +C0 +C0 +C6 +7C +30 +30 +30 +00 +ENDCHAR +STARTCHAR uni04AE +ENCODING 1198 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C3 +C3 +66 +66 +3C +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04AF +ENCODING 1199 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C3 +C3 +66 +66 +3C +3C +18 +18 +18 +18 +00 +ENDCHAR +STARTCHAR uni04B0 +ENCODING 1200 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C3 +C3 +66 +66 +3C +18 +7E +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04B1 +ENCODING 1201 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C3 +C3 +66 +66 +3C +3C +18 +7E +18 +18 +00 +ENDCHAR +STARTCHAR uni04B2 +ENCODING 1202 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +6C +6C +38 +38 +6C +6C +C6 +C7 +03 +03 +00 +00 +ENDCHAR +STARTCHAR uni04B3 +ENCODING 1203 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +6C +38 +6C +C6 +C7 +03 +03 +00 +00 +ENDCHAR +STARTCHAR uni04B6 +ENCODING 1206 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +06 +07 +03 +03 +00 +00 +ENDCHAR +STARTCHAR uni04B7 +ENCODING 1207 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +7E +06 +06 +07 +03 +03 +00 +00 +ENDCHAR +STARTCHAR uni04B8 +ENCODING 1208 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +D6 +D6 +7E +16 +16 +06 +06 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04B9 +ENCODING 1209 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +D6 +D6 +7E +16 +06 +06 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04BA +ENCODING 1210 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +C0 +FC +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04BB +ENCODING 1211 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C0 +C0 +FC +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04C0 +ENCODING 1216 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +18 +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04C1 +ENCODING 1217 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +D6 +D6 +D6 +7C +38 +7C +D6 +D6 +D6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04C2 +ENCODING 1218 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +D6 +D6 +7C +38 +7C +D6 +D6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04CF +ENCODING 1231 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +18 +18 +18 +18 +18 +18 +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D0 +ENCODING 1232 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D1 +ENCODING 1233 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D2 +ENCODING 1234 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D3 +ENCODING 1235 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +7C +06 +7E +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D4 +ENCODING 1236 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +D8 +D8 +D8 +FE +D8 +D8 +D8 +D8 +DE +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D5 +ENCODING 1237 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +6C +16 +16 +7E +D0 +D0 +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D6 +ENCODING 1238 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +38 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D7 +ENCODING 1239 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +38 +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D8 +ENCODING 1240 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +06 +06 +FE +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10846 +ENCODING 1241 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +06 +06 +FE +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DA +ENCODING 1242 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +7C +C6 +06 +06 +FE +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DB +ENCODING 1243 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +7C +06 +06 +FE +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DC +ENCODING 1244 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +D6 +D6 +D6 +7C +38 +7C +D6 +D6 +D6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DD +ENCODING 1245 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +D6 +D6 +7C +38 +7C +D6 +D6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DE +ENCODING 1246 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +7C +C6 +C6 +06 +3C +06 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DF +ENCODING 1247 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +7C +C6 +06 +3C +06 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E2 +ENCODING 1250 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +C6 +C6 +C6 +CE +DE +F6 +E6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E3 +ENCODING 1251 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E4 +ENCODING 1252 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +C6 +C6 +C6 +CE +DE +F6 +E6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E5 +ENCODING 1253 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E6 +ENCODING 1254 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E7 +ENCODING 1255 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E8 +ENCODING 1256 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E9 +ENCODING 1257 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +FE +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04EA +ENCODING 1258 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +7C +C6 +C6 +C6 +FE +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04EB +ENCODING 1259 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +7C +C6 +C6 +FE +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04EC +ENCODING 1260 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +7C +C6 +06 +06 +3E +06 +06 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04ED +ENCODING 1261 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +7C +C6 +06 +3E +06 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04EE +ENCODING 1262 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +06 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04EF +ENCODING 1263 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR uni04F0 +ENCODING 1264 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +C6 +C6 +C6 +C6 +7E +06 +06 +06 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04F1 +ENCODING 1265 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR uni04F2 +ENCODING 1266 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +36 +6C +00 +C6 +C6 +C6 +C6 +7E +06 +06 +06 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04F3 +ENCODING 1267 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +36 +6C +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR uni04F4 +ENCODING 1268 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +C6 +C6 +C6 +C6 +7E +06 +06 +06 +06 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04F5 +ENCODING 1269 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +C6 +C6 +C6 +7E +06 +06 +06 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04F8 +ENCODING 1272 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +00 +C6 +C6 +C6 +E6 +D6 +D6 +D6 +D6 +E6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04F9 +ENCODING 1273 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +00 +C6 +C6 +E6 +D6 +D6 +D6 +E6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57664 +ENCODING 1488 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +66 +66 +3C +78 +CC +CC +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57665 +ENCODING 1489 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +06 +06 +06 +06 +06 +06 +06 +06 +FF +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57666 +ENCODING 1490 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +0C +0C +0C +0C +0C +1E +36 +63 +C3 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57667 +ENCODING 1491 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FF +06 +06 +06 +06 +06 +06 +06 +06 +06 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57668 +ENCODING 1492 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +06 +06 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57669 +ENCODING 1493 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +70 +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57670 +ENCODING 1494 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +0C +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57671 +ENCODING 1495 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57672 +ENCODING 1496 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +CC +CE +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57673 +ENCODING 1497 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +70 +18 +18 +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57674 +ENCODING 1498 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +00 +ENDCHAR +STARTCHAR afii57675 +ENCODING 1499 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +06 +06 +06 +06 +06 +06 +06 +06 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57676 +ENCODING 1500 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +C0 +C0 +FE +06 +06 +06 +06 +0C +18 +30 +30 +30 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57677 +ENCODING 1501 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57678 +ENCODING 1502 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +DC +76 +66 +66 +66 +66 +66 +66 +66 +6E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57679 +ENCODING 1503 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F0 +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57680 +ENCODING 1504 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +0C +0C +0C +0C +0C +0C +0C +0C +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57681 +ENCODING 1505 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +66 +66 +66 +66 +66 +66 +66 +66 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57682 +ENCODING 1506 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +66 +66 +36 +36 +1C +38 +E0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57683 +ENCODING 1507 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +66 +06 +06 +06 +06 +06 +06 +06 +06 +00 +ENDCHAR +STARTCHAR afii57684 +ENCODING 1508 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +66 +06 +06 +06 +06 +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57685 +ENCODING 1509 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +63 +63 +33 +36 +1C +18 +18 +18 +18 +18 +18 +18 +18 +00 +ENDCHAR +STARTCHAR afii57686 +ENCODING 1510 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +66 +6C +38 +30 +18 +18 +0C +FC +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57687 +ENCODING 1511 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +06 +06 +C6 +C6 +CC +D8 +D8 +D8 +D8 +C0 +C0 +C0 +00 +ENDCHAR +STARTCHAR afii57688 +ENCODING 1512 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +06 +06 +06 +06 +06 +06 +06 +06 +06 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57689 +ENCODING 1513 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +D6 +D6 +D6 +D6 +D6 +E6 +C6 +C6 +CC +F8 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57690 +ENCODING 1514 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +66 +66 +66 +66 +66 +66 +66 +66 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1E0C +ENCODING 7692 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F8 +CC +C6 +C6 +C6 +C6 +C6 +C6 +CC +F8 +00 +30 +30 +00 +ENDCHAR +STARTCHAR uni1E0D +ENCODING 7693 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +06 +06 +7E +C6 +C6 +C6 +C6 +C6 +7E +00 +18 +18 +00 +ENDCHAR +STARTCHAR Klinebelow +ENCODING 7732 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +CC +D8 +F0 +F0 +D8 +CC +C6 +C6 +00 +7C +00 +00 +ENDCHAR +STARTCHAR klinebelow +ENCODING 7733 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +C6 +CC +D8 +F0 +D8 +CC +C6 +00 +7C +00 +00 +ENDCHAR +STARTCHAR uni1E36 +ENCODING 7734 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +FE +00 +18 +18 +00 +ENDCHAR +STARTCHAR uni1E37 +ENCODING 7735 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +18 +18 +18 +18 +18 +18 +18 +18 +3C +00 +18 +18 +00 +ENDCHAR +STARTCHAR uni1E40 +ENCODING 7744 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +82 +C6 +EE +FE +D6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1E41 +ENCODING 7745 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +30 +00 +FC +D6 +D6 +D6 +D6 +D6 +D6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1E42 +ENCODING 7746 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +C6 +EE +FE +D6 +C6 +C6 +C6 +C6 +C6 +00 +18 +18 +00 +ENDCHAR +STARTCHAR uni1E43 +ENCODING 7747 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +D6 +D6 +D6 +D6 +D6 +D6 +00 +18 +18 +00 +ENDCHAR +STARTCHAR uni1E44 +ENCODING 7748 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +C6 +C6 +C6 +E6 +F6 +DE +CE +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1E45 +ENCODING 7749 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +30 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1E46 +ENCODING 7750 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +E6 +F6 +DE +CE +C6 +C6 +C6 +00 +18 +18 +00 +ENDCHAR +STARTCHAR uni1E47 +ENCODING 7751 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +C6 +C6 +C6 +C6 +C6 +C6 +00 +18 +18 +00 +ENDCHAR +STARTCHAR uni1E6C +ENCODING 7788 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FF +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +18 +18 +00 +ENDCHAR +STARTCHAR uni1E6D +ENCODING 7789 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +30 +30 +FC +30 +30 +30 +30 +30 +1E +00 +0C +0C +00 +ENDCHAR +STARTCHAR Edotbelow +ENCODING 7864 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +C0 +FE +00 +18 +18 +00 +ENDCHAR +STARTCHAR edotbelow +ENCODING 7865 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +18 +18 +00 +ENDCHAR +STARTCHAR Etilde +ENCODING 7868 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +76 +DC +00 +FE +C0 +C0 +C0 +F8 +C0 +C0 +C0 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR etilde +ENCODING 7869 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +76 +DC +00 +7C +C6 +C6 +FE +C0 +C0 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1ECA +ENCODING 7882 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +18 +18 +18 +18 +18 +18 +18 +18 +3C +00 +18 +18 +00 +ENDCHAR +STARTCHAR uni1ECB +ENCODING 7883 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +00 +38 +18 +18 +18 +18 +18 +3C +00 +18 +18 +00 +ENDCHAR +STARTCHAR Odotbelow +ENCODING 7884 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +18 +18 +00 +ENDCHAR +STARTCHAR odotbelow +ENCODING 7885 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +7C +00 +18 +18 +00 +ENDCHAR +STARTCHAR uni1EE4 +ENCODING 7908 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +18 +18 +00 +ENDCHAR +STARTCHAR uni1EE5 +ENCODING 7909 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +00 +18 +18 +00 +ENDCHAR +STARTCHAR Ytilde +ENCODING 7928 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +76 +DC +00 +C3 +C3 +66 +66 +3C +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ytilde +ENCODING 7929 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +76 +DC +00 +C6 +C6 +C6 +C6 +C6 +C6 +7E +06 +06 +7C +00 +ENDCHAR +STARTCHAR uni2000 +ENCODING 8192 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2001 +ENCODING 8193 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR enspace +ENCODING 8194 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2003 +ENCODING 8195 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2004 +ENCODING 8196 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2005 +ENCODING 8197 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2006 +ENCODING 8198 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2007 +ENCODING 8199 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2008 +ENCODING 8200 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2009 +ENCODING 8201 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni200A +ENCODING 8202 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni200B +ENCODING 8203 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii61664 +ENCODING 8204 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii301 +ENCODING 8205 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii299 +ENCODING 8206 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii300 +ENCODING 8207 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR hyphentwo +ENCODING 8208 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +7C +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2011 +ENCODING 8209 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +7C +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR figuredash +ENCODING 8210 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FE +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR endash +ENCODING 8211 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FE +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR emdash +ENCODING 8212 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FE +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii00208 +ENCODING 8213 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FE +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dblverticalbar +ENCODING 8214 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +6C +6C +6C +6C +6C +6C +6C +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR underscoredbl +ENCODING 8215 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FE +00 +FE +ENDCHAR +STARTCHAR quoteleft +ENCODING 8216 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +30 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quoteright +ENCODING 8217 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +18 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotesinglbase +ENCODING 8218 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +30 +00 +00 +00 +ENDCHAR +STARTCHAR quotereversed +ENCODING 8219 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +30 +30 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotedblleft +ENCODING 8220 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +CC +CC +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotedblright +ENCODING 8221 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +33 +33 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotedblbase +ENCODING 8222 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +66 +66 +CC +00 +00 +00 +ENDCHAR +STARTCHAR uni201F +ENCODING 8223 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +CC +CC +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dagger +ENCODING 8224 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +7E +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR daggerdbl +ENCODING 8225 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +7E +18 +18 +18 +18 +7E +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR bullet +ENCODING 8226 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +18 +3C +3C +18 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ellipsis +ENCODING 8230 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +DB +DB +00 +00 +00 +00 +ENDCHAR +STARTCHAR perthousand +ENCODING 8240 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +EC +AC +F8 +18 +30 +30 +60 +7F +D5 +DF +00 +00 +00 +00 +ENDCHAR +STARTCHAR minute +ENCODING 8242 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +18 +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR second +ENCODING 8243 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +66 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR guilsinglleft +ENCODING 8249 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +0C +18 +30 +60 +30 +18 +0C +00 +00 +00 +00 +ENDCHAR +STARTCHAR guilsinglright +ENCODING 8250 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +30 +18 +0C +18 +30 +60 +00 +00 +00 +00 +ENDCHAR +STARTCHAR exclamdbl +ENCODING 8252 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +66 +66 +66 +66 +66 +66 +66 +00 +66 +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR overline +ENCODING 8254 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FE +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2070 +ENCODING 8304 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +6C +6C +6C +6C +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2071 +ENCODING 8305 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +00 +38 +18 +18 +18 +3C +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2074 +ENCODING 8308 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +0C +1C +34 +7E +0C +0C +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2075 +ENCODING 8309 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +78 +60 +78 +0C +0C +78 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2076 +ENCODING 8310 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +60 +78 +6C +6C +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2077 +ENCODING 8311 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +7C +0C +18 +18 +30 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2078 +ENCODING 8312 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +6C +38 +6C +6C +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2079 +ENCODING 8313 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +6C +6C +3C +0C +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni207A +ENCODING 8314 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +7E +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni207B +ENCODING 8315 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +7C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni207C +ENCODING 8316 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +7C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni207D +ENCODING 8317 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +30 +30 +30 +30 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni207E +ENCODING 8318 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +30 +18 +18 +18 +18 +30 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR nsuperior +ENCODING 8319 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +6C +6C +6C +6C +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2080 +ENCODING 8320 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +38 +6C +6C +6C +6C +38 +00 +00 +00 +ENDCHAR +STARTCHAR uni2081 +ENCODING 8321 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +18 +38 +18 +18 +18 +3C +00 +00 +00 +ENDCHAR +STARTCHAR uni2082 +ENCODING 8322 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +38 +6C +0C +18 +30 +7C +00 +00 +00 +ENDCHAR +STARTCHAR uni2083 +ENCODING 8323 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +78 +0C +38 +0C +0C +78 +00 +00 +00 +ENDCHAR +STARTCHAR uni2084 +ENCODING 8324 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +0C +1C +34 +7E +0C +0C +00 +00 +00 +ENDCHAR +STARTCHAR uni2085 +ENCODING 8325 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +78 +60 +78 +0C +0C +78 +00 +00 +00 +ENDCHAR +STARTCHAR uni2086 +ENCODING 8326 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +38 +60 +78 +6C +6C +38 +00 +00 +00 +ENDCHAR +STARTCHAR uni2087 +ENCODING 8327 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +7C +0C +18 +18 +30 +30 +00 +00 +00 +ENDCHAR +STARTCHAR uni2088 +ENCODING 8328 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +38 +6C +38 +6C +6C +38 +00 +00 +00 +ENDCHAR +STARTCHAR uni2089 +ENCODING 8329 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +38 +6C +6C +3C +0C +38 +00 +00 +00 +ENDCHAR +STARTCHAR uni208A +ENCODING 8330 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +18 +18 +7E +18 +18 +00 +00 +00 +ENDCHAR +STARTCHAR uni208B +ENCODING 8331 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7C +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni208C +ENCODING 8332 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +7C +00 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni208D +ENCODING 8333 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +18 +30 +30 +30 +30 +18 +00 +00 +00 +ENDCHAR +STARTCHAR uni208E +ENCODING 8334 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +30 +18 +18 +18 +18 +30 +00 +00 +00 +ENDCHAR +STARTCHAR uni2090 +ENCODING 8336 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +38 +0C +3C +6C +3C +00 +00 +00 +ENDCHAR +STARTCHAR uni2091 +ENCODING 8337 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +38 +6C +7C +60 +3C +00 +00 +00 +ENDCHAR +STARTCHAR uni2092 +ENCODING 8338 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +38 +6C +6C +6C +38 +00 +00 +00 +ENDCHAR +STARTCHAR uni2093 +ENCODING 8339 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +66 +3C +18 +3C +66 +00 +00 +00 +ENDCHAR +STARTCHAR uni2094 +ENCODING 8340 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +78 +0C +7C +6C +38 +00 +00 +00 +ENDCHAR +STARTCHAR uni2095 +ENCODING 8341 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +60 +60 +78 +6C +6C +6C +6C +00 +00 +00 +ENDCHAR +STARTCHAR uni2096 +ENCODING 8342 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +60 +60 +66 +6C +78 +6C +66 +00 +00 +00 +ENDCHAR +STARTCHAR uni2097 +ENCODING 8343 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +38 +18 +18 +18 +18 +18 +3C +00 +00 +00 +ENDCHAR +STARTCHAR uni2098 +ENCODING 8344 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +FC +D6 +D6 +D6 +D6 +00 +00 +00 +ENDCHAR +STARTCHAR uni209A +ENCODING 8346 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +78 +6C +6C +6C +78 +60 +60 +00 +ENDCHAR +STARTCHAR peseta +ENCODING 8359 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F8 +CC +CC +CC +FA +C6 +CF +C6 +C6 +C3 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57636 +ENCODING 8362 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F2 +8A +8A +AA +AA +AA +AA +A2 +A2 +BC +00 +00 +00 +00 +ENDCHAR +STARTCHAR Euro +ENCODING 8364 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +1E +33 +60 +FC +60 +FC +60 +33 +1E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni20AE +ENCODING 8366 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FF +18 +18 +1E +78 +1E +78 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2102 +ENCODING 8450 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +52 +52 +50 +50 +50 +50 +52 +52 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni210E +ENCODING 8462 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +FC +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni210F +ENCODING 8463 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +60 +F8 +60 +7C +66 +66 +66 +66 +66 +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2115 +ENCODING 8469 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +62 +52 +6A +56 +4A +46 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii61352 +ENCODING 8470 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +96 +96 +96 +D0 +F0 +F0 +B0 +96 +90 +96 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni211A +ENCODING 8474 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +52 +52 +52 +52 +52 +52 +52 +5A +3C +06 +00 +00 +00 +ENDCHAR +STARTCHAR uni211D +ENCODING 8477 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F8 +A4 +A4 +A4 +A4 +B8 +A8 +B4 +AA +E6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR trademark +ENCODING 8482 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FB +55 +55 +51 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2124 +ENCODING 8484 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +02 +06 +0A +14 +28 +50 +60 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ohm +ENCODING 8486 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +6C +6C +EE +00 +00 +00 +00 +ENDCHAR +STARTCHAR aleph +ENCODING 8501 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +66 +66 +33 +33 +3E +7C +CC +CC +C6 +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowleft +ENCODING 8592 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +20 +60 +FE +FE +60 +20 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowup +ENCODING 8593 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +3C +7E +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowright +ENCODING 8594 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +08 +0C +FE +FE +0C +08 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdown +ENCODING 8595 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +18 +18 +18 +18 +18 +7E +3C +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowboth +ENCODING 8596 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +24 +66 +FF +FF +66 +24 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowupdn +ENCODING 8597 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +3C +7E +18 +18 +18 +18 +7E +3C +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21A4 +ENCODING 8612 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +22 +62 +FE +FE +62 +22 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21A6 +ENCODING 8614 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +88 +8C +FE +FE +8C +88 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowupdnbse +ENCODING 8616 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +3C +7E +18 +18 +18 +7E +3C +18 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21B2 +ENCODING 8626 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +06 +06 +06 +26 +66 +FE +FE +60 +20 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21B3 +ENCODING 8627 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +C0 +C0 +C0 +C8 +CC +FE +FE +0C +08 +00 +00 +00 +00 +ENDCHAR +STARTCHAR carriagereturn +ENCODING 8629 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +06 +06 +26 +66 +FE +FE +60 +20 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21BB +ENCODING 8635 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +F8 +38 +68 +CB +C3 +C3 +66 +3C +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21CB +ENCODING 8651 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +20 +60 +FE +FE +00 +FE +FE +0C +08 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21CC +ENCODING 8652 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +08 +0C +FE +FE +00 +FE +FE +60 +20 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdblleft +ENCODING 8656 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +3E +7E +E0 +7E +3E +10 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdblup +ENCODING 8657 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +38 +7C +EE +6C +6C +6C +6C +6C +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdblright +ENCODING 8658 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +F8 +FC +0E +FC +F8 +10 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdbldown +ENCODING 8659 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +6C +6C +6C +6C +EE +7C +38 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdblboth +ENCODING 8660 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +24 +7E +FF +C3 +FF +7E +24 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21D5 +ENCODING 8661 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +38 +7C +EE +6C +6C +EE +7C +38 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR universal +ENCODING 8704 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +FE +6C +6C +6C +38 +38 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR existential +ENCODING 8707 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +FE +06 +06 +06 +FE +06 +06 +06 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2204 +ENCODING 8708 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +FE +1E +16 +36 +FE +36 +66 +66 +FE +C0 +00 +00 +00 +ENDCHAR +STARTCHAR emptyset +ENCODING 8709 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +0C +7C +CE +DE +F6 +E6 +7C +60 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR increment +ENCODING 8710 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +38 +38 +6C +6C +6C +C6 +C6 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR gradient +ENCODING 8711 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C6 +C6 +6C +6C +6C +38 +38 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR element +ENCODING 8712 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +3E +60 +C0 +C0 +FE +C0 +C0 +60 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR notelement +ENCODING 8713 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +3E +6C +CC +D8 +FE +D8 +F0 +70 +7E +60 +00 +00 +00 +ENDCHAR +STARTCHAR uni220A +ENCODING 8714 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +3E +60 +C0 +FE +C0 +60 +3E +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR suchthat +ENCODING 8715 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +F8 +0C +06 +06 +FE +06 +06 +0C +F8 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni220C +ENCODING 8716 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +F8 +6C +66 +36 +FE +36 +1E +1C +FC +0C +00 +00 +00 +ENDCHAR +STARTCHAR uni220D +ENCODING 8717 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +F8 +0C +06 +FE +06 +0C +F8 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR minus +ENCODING 8722 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FE +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2213 +ENCODING 8723 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +00 +18 +18 +7E +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2214 +ENCODING 8724 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +18 +18 +00 +18 +18 +7E +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2215 +ENCODING 8725 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +02 +06 +0C +18 +30 +60 +C0 +80 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2216 +ENCODING 8726 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +80 +C0 +60 +30 +18 +0C +06 +02 +00 +00 +00 +00 +ENDCHAR +STARTCHAR bulletoperator +ENCODING 8729 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +38 +38 +38 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR radical +ENCODING 8730 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +0E +0C +0C +0C +0C +CC +CC +CC +6C +3C +1C +00 +00 +00 +00 +ENDCHAR +STARTCHAR infinity +ENCODING 8734 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +D6 +D6 +D6 +7C +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR orthogonal +ENCODING 8735 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +C0 +C0 +C0 +C0 +C0 +FE +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2225 +ENCODING 8741 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +6C +6C +6C +6C +6C +6C +6C +6C +6C +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR logicaland +ENCODING 8743 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +18 +18 +3C +3C +66 +66 +C3 +C3 +00 +00 +00 +00 +ENDCHAR +STARTCHAR logicalor +ENCODING 8744 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +C3 +C3 +66 +66 +3C +3C +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR intersection +ENCODING 8745 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR union +ENCODING 8746 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR approxequal +ENCODING 8776 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +76 +DC +00 +76 +DC +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR notequal +ENCODING 8800 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +06 +FE +18 +30 +FE +C0 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR equivalence +ENCODING 8801 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +FE +00 +00 +FE +00 +00 +FE +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR lessequal +ENCODING 8804 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +0C +18 +30 +60 +30 +18 +0C +00 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR greaterequal +ENCODING 8805 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +30 +18 +0C +06 +0C +18 +30 +00 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni226A +ENCODING 8810 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +09 +1B +36 +6C +D8 +6C +36 +1B +09 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni226B +ENCODING 8811 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +90 +D8 +6C +36 +1B +36 +6C +D8 +90 +00 +00 +00 +00 +ENDCHAR +STARTCHAR propersubset +ENCODING 8834 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +7E +C0 +C0 +C0 +C0 +C0 +7E +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR propersuperset +ENCODING 8835 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +FC +06 +06 +06 +06 +06 +FC +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR reflexsubset +ENCODING 8838 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7E +C0 +C0 +C0 +C0 +C0 +7E +00 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR reflexsuperset +ENCODING 8839 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +FC +06 +06 +06 +06 +06 +FC +00 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR perpendicular +ENCODING 8869 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +18 +18 +18 +18 +18 +18 +18 +FF +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni22C2 +ENCODING 8898 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni22C3 +ENCODING 8899 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2300 +ENCODING 8960 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +06 +0C +7C +CE +DE +F6 +E6 +7C +60 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR house +ENCODING 8962 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +38 +6C +C6 +C6 +C6 +C6 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2308 +ENCODING 8968 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +30 +30 +30 +30 +30 +30 +30 +30 +30 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2309 +ENCODING 8969 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +0C +0C +0C +0C +0C +0C +0C +0C +0C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni230A +ENCODING 8970 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +30 +30 +30 +30 +30 +30 +30 +30 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni230B +ENCODING 8971 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +0C +0C +0C +0C +0C +0C +0C +0C +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR revlogicalnot +ENCODING 8976 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +C0 +C0 +C0 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2319 +ENCODING 8985 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C0 +C0 +C0 +FE +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR integraltp +ENCODING 8992 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0E +1B +1B +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR integralbt +ENCODING 8993 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +18 +18 +D8 +D8 +70 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni239B +ENCODING 9115 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +06 +0C +18 +18 +30 +30 +30 +60 +60 +60 +60 +60 +60 +60 +60 +60 +ENDCHAR +STARTCHAR uni239C +ENCODING 9116 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +ENDCHAR +STARTCHAR uni239D +ENCODING 9117 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +60 +60 +60 +60 +60 +60 +60 +60 +30 +30 +30 +18 +18 +0C +06 +ENDCHAR +STARTCHAR uni239E +ENCODING 9118 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +30 +18 +18 +0C +0C +0C +06 +06 +06 +06 +06 +06 +06 +06 +06 +ENDCHAR +STARTCHAR uni239F +ENCODING 9119 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +ENDCHAR +STARTCHAR uni23A0 +ENCODING 9120 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +06 +06 +06 +06 +06 +06 +06 +06 +06 +0C +0C +0C +18 +18 +30 +60 +ENDCHAR +STARTCHAR uni23A1 +ENCODING 9121 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7E +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +ENDCHAR +STARTCHAR uni23A2 +ENCODING 9122 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +ENDCHAR +STARTCHAR uni23A3 +ENCODING 9123 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +60 +7E +ENDCHAR +STARTCHAR uni23A4 +ENCODING 9124 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7E +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +ENDCHAR +STARTCHAR uni23A5 +ENCODING 9125 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +ENDCHAR +STARTCHAR uni23A6 +ENCODING 9126 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +06 +7E +ENDCHAR +STARTCHAR uni23A7 +ENCODING 9127 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0F +18 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni23A8 +ENCODING 9128 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +30 +30 +30 +30 +30 +30 +E0 +E0 +30 +30 +30 +30 +30 +30 +30 +ENDCHAR +STARTCHAR uni23A9 +ENCODING 9129 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +30 +18 +0F +ENDCHAR +STARTCHAR uni23AB +ENCODING 9131 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +F0 +18 +0C +0C +0C +0C +0C +0C +0C +0C +0C +0C +0C +0C +0C +0C +ENDCHAR +STARTCHAR uni23AC +ENCODING 9132 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0C +0C +0C +0C +0C +0C +0C +07 +07 +0C +0C +0C +0C +0C +0C +0C +ENDCHAR +STARTCHAR uni23AD +ENCODING 9133 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0C +0C +0C +0C +0C +0C +0C +0C +0C +0C +0C +0C +0C +0C +18 +F0 +ENDCHAR +STARTCHAR uni23AE +ENCODING 9134 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni23AF +ENCODING 9135 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni23BA +ENCODING 9146 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni23BB +ENCODING 9147 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +FF +FF +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni23BC +ENCODING 9148 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FF +FF +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni23BD +ENCODING 9149 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FF +FF +ENDCHAR +STARTCHAR uni23D0 +ENCODING 9168 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2409 +ENCODING 9225 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +CC +CC +FC +CC +CC +CC +00 +3F +0C +0C +0C +0C +0C +00 +00 +ENDCHAR +STARTCHAR uni240A +ENCODING 9226 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +C0 +C0 +C0 +C0 +C0 +F8 +00 +3F +30 +3C +30 +30 +30 +00 +00 +ENDCHAR +STARTCHAR uni240B +ENCODING 9227 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +CC +CC +CC +CC +78 +30 +00 +3F +0C +0C +0C +0C +0C +00 +00 +ENDCHAR +STARTCHAR uni240C +ENCODING 9228 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +FC +C0 +F0 +C0 +C0 +C0 +00 +3F +30 +3C +30 +30 +30 +00 +00 +ENDCHAR +STARTCHAR uni240D +ENCODING 9229 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +78 +CC +C0 +C0 +CC +78 +00 +3E +33 +33 +3E +36 +33 +00 +00 +ENDCHAR +STARTCHAR uni2424 +ENCODING 9252 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +CC +EC +FC +DC +CC +CC +00 +30 +30 +30 +30 +30 +3F +00 +00 +ENDCHAR +STARTCHAR SF100000 +ENCODING 9472 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2501 +ENCODING 9473 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +FF +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF110000 +ENCODING 9474 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2503 +ENCODING 9475 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +38 +38 +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2508 +ENCODING 9480 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +AA +AA +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2509 +ENCODING 9481 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +AA +AA +AA +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni250A +ENCODING 9482 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +00 +18 +18 +18 +00 +18 +18 +18 +00 +18 +18 +18 +00 +ENDCHAR +STARTCHAR uni250B +ENCODING 9483 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +00 +38 +38 +38 +00 +38 +38 +38 +00 +38 +38 +38 +00 +ENDCHAR +STARTCHAR SF010000 +ENCODING 9484 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +1F +1F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni250D +ENCODING 9485 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +1F +1F +1F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni250E +ENCODING 9486 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +3F +3F +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni250F +ENCODING 9487 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +3F +3F +3F +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR SF030000 +ENCODING 9488 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +F8 +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2511 +ENCODING 9489 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +F8 +F8 +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2512 +ENCODING 9490 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +F8 +F8 +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2513 +ENCODING 9491 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +F8 +F8 +F8 +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR SF020000 +ENCODING 9492 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +1F +1F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2515 +ENCODING 9493 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +1F +1F +1F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2516 +ENCODING 9494 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +3F +3F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2517 +ENCODING 9495 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +3F +3F +3F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF040000 +ENCODING 9496 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +F8 +F8 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2519 +ENCODING 9497 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +F8 +F8 +F8 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni251A +ENCODING 9498 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +F8 +F8 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni251B +ENCODING 9499 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +F8 +F8 +F8 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF080000 +ENCODING 9500 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +1F +1F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni251D +ENCODING 9501 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +1F +1F +1F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni251E +ENCODING 9502 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +3F +3F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni251F +ENCODING 9503 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +3F +3F +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2520 +ENCODING 9504 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +3F +3F +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2521 +ENCODING 9505 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +3F +3F +3F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2522 +ENCODING 9506 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +3F +3F +3F +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2523 +ENCODING 9507 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +3F +3F +3F +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR SF090000 +ENCODING 9508 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +F8 +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2525 +ENCODING 9509 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +F8 +F8 +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2526 +ENCODING 9510 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +F8 +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2527 +ENCODING 9511 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +F8 +F8 +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2528 +ENCODING 9512 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +F8 +F8 +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2529 +ENCODING 9513 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +F8 +F8 +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni252A +ENCODING 9514 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +F8 +F8 +F8 +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni252B +ENCODING 9515 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +F8 +F8 +F8 +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR SF060000 +ENCODING 9516 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni252D +ENCODING 9517 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +F8 +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni252E +ENCODING 9518 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +1F +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni252F +ENCODING 9519 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +FF +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2530 +ENCODING 9520 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2531 +ENCODING 9521 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +F8 +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2532 +ENCODING 9522 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +3F +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2533 +ENCODING 9523 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +FF +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR SF070000 +ENCODING 9524 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2535 +ENCODING 9525 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +F8 +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2536 +ENCODING 9526 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +1F +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2537 +ENCODING 9527 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +FF +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2538 +ENCODING 9528 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2539 +ENCODING 9529 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +F8 +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni253A +ENCODING 9530 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +3F +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni253B +ENCODING 9531 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +FF +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF050000 +ENCODING 9532 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni253D +ENCODING 9533 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +F8 +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni253E +ENCODING 9534 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +1F +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni253F +ENCODING 9535 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +FF +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2540 +ENCODING 9536 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2541 +ENCODING 9537 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2542 +ENCODING 9538 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2543 +ENCODING 9539 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +F8 +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2544 +ENCODING 9540 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +3F +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2545 +ENCODING 9541 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +F8 +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2546 +ENCODING 9542 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +1F +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2547 +ENCODING 9543 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +FF +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2548 +ENCODING 9544 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +FF +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni2549 +ENCODING 9545 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +F8 +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni254A +ENCODING 9546 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +3F +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni254B +ENCODING 9547 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +FF +FF +FF +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR SF430000 +ENCODING 9552 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FF +FF +00 +FF +FF +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF240000 +ENCODING 9553 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +6C +6C +6C +6C +6C +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF510000 +ENCODING 9554 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +1F +1F +18 +1F +1F +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF520000 +ENCODING 9555 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +7F +7F +6C +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF390000 +ENCODING 9556 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7F +7F +60 +6F +6F +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF220000 +ENCODING 9557 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +F8 +F8 +18 +F8 +F8 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF210000 +ENCODING 9558 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FC +FC +6C +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF250000 +ENCODING 9559 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +FC +0C +EC +EC +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF500000 +ENCODING 9560 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +1F +1F +18 +1F +1F +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF490000 +ENCODING 9561 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +6C +6C +7F +7F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF380000 +ENCODING 9562 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +6F +6F +60 +7F +7F +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF280000 +ENCODING 9563 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +F8 +F8 +18 +F8 +F8 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF270000 +ENCODING 9564 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +6C +6C +FC +FC +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF260000 +ENCODING 9565 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +EC +EC +0C +FC +FC +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF360000 +ENCODING 9566 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +1F +1F +18 +1F +1F +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF370000 +ENCODING 9567 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +6C +6C +6F +6F +6C +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF420000 +ENCODING 9568 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +6F +6F +60 +6F +6F +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF190000 +ENCODING 9569 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +F8 +F8 +18 +F8 +F8 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF200000 +ENCODING 9570 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +6C +6C +EC +EC +6C +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF230000 +ENCODING 9571 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +EC +EC +0C +EC +EC +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF470000 +ENCODING 9572 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FF +FF +00 +FF +FF +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF480000 +ENCODING 9573 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +FF +6C +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF410000 +ENCODING 9574 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FF +FF +00 +EF +EF +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF450000 +ENCODING 9575 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +FF +FF +00 +FF +FF +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF460000 +ENCODING 9576 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +6C +6C +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF400000 +ENCODING 9577 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +EF +EF +00 +FF +FF +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF540000 +ENCODING 9578 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +FF +FF +18 +FF +FF +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF530000 +ENCODING 9579 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +6C +6C +FF +FF +6C +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR SF440000 +ENCODING 9580 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +6C +6C +6C +6C +6C +EF +EF +00 +EF +EF +6C +6C +6C +6C +6C +6C +ENDCHAR +STARTCHAR uni256D +ENCODING 9581 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +07 +0F +1C +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni256E +ENCODING 9582 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +E0 +F0 +38 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni256F +ENCODING 9583 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +38 +F0 +E0 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2570 +ENCODING 9584 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +1C +0F +07 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2571 +ENCODING 9585 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +01 +01 +03 +02 +06 +04 +0C +08 +18 +10 +30 +20 +60 +40 +C0 +80 +ENDCHAR +STARTCHAR uni2572 +ENCODING 9586 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +80 +C0 +40 +60 +20 +30 +10 +18 +08 +0C +04 +06 +02 +03 +01 +01 +ENDCHAR +STARTCHAR uni2573 +ENCODING 9587 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +81 +C1 +43 +62 +26 +34 +1C +18 +18 +1C +34 +26 +62 +43 +C1 +81 +ENDCHAR +STARTCHAR uni2574 +ENCODING 9588 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +F8 +F8 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2575 +ENCODING 9589 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2576 +ENCODING 9590 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +1F +1F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2577 +ENCODING 9591 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +18 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2578 +ENCODING 9592 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +F8 +F8 +F8 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2579 +ENCODING 9593 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +38 +38 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni257A +ENCODING 9594 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +1F +1F +1F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni257B +ENCODING 9595 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +38 +38 +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni257C +ENCODING 9596 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +1F +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni257D +ENCODING 9597 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +38 +38 +38 +38 +38 +38 +38 +38 +38 +ENDCHAR +STARTCHAR uni257E +ENCODING 9598 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +F8 +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni257F +ENCODING 9599 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +38 +38 +38 +38 +38 +38 +38 +38 +38 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR upblock +ENCODING 9600 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +FF +FF +FF +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2581 +ENCODING 9601 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FF +FF +ENDCHAR +STARTCHAR uni2582 +ENCODING 9602 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni2583 +ENCODING 9603 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR dnblock +ENCODING 9604 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni2585 +ENCODING 9605 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni2586 +ENCODING 9606 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni2587 +ENCODING 9607 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR block +ENCODING 9608 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni2589 +ENCODING 9609 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +ENDCHAR +STARTCHAR uni258A +ENCODING 9610 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni258B +ENCODING 9611 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR lfblock +ENCODING 9612 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni258D +ENCODING 9613 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni258E +ENCODING 9614 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni258F +ENCODING 9615 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR rtblock +ENCODING 9616 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +ENDCHAR +STARTCHAR ltshade +ENCODING 9617 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +88 +22 +88 +22 +88 +22 +88 +22 +88 +22 +88 +22 +88 +22 +88 +22 +ENDCHAR +STARTCHAR shade +ENCODING 9618 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +AA +55 +AA +55 +AA +55 +AA +55 +AA +55 +AA +55 +AA +55 +AA +55 +ENDCHAR +STARTCHAR dkshade +ENCODING 9619 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +EE +BB +EE +BB +EE +BB +EE +BB +EE +BB +EE +BB +EE +BB +EE +BB +ENDCHAR +STARTCHAR uni2596 +ENCODING 9622 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni2597 +ENCODING 9623 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +0F +0F +0F +0F +0F +0F +0F +0F +ENDCHAR +STARTCHAR uni2598 +ENCODING 9624 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2599 +ENCODING 9625 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni259A +ENCODING 9626 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +0F +0F +0F +0F +0F +0F +0F +0F +ENDCHAR +STARTCHAR uni259B +ENCODING 9627 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +FF +FF +FF +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni259C +ENCODING 9628 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +FF +FF +FF +0F +0F +0F +0F +0F +0F +0F +0F +ENDCHAR +STARTCHAR uni259D +ENCODING 9629 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0F +0F +0F +0F +0F +0F +0F +0F +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni259E +ENCODING 9630 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0F +0F +0F +0F +0F +0F +0F +0F +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni259F +ENCODING 9631 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0F +0F +0F +0F +0F +0F +0F +0F +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR filledbox +ENCODING 9632 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +7C +7C +7C +7C +7C +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR filledrect +ENCODING 9644 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +FE +FE +FE +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni25AE +ENCODING 9646 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR triagup +ENCODING 9650 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +18 +18 +3C +3C +7E +7E +FF +FF +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni25B6 +ENCODING 9654 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +C0 +F0 +FC +FF +FF +FC +F0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR triagrt +ENCODING 9658 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +C0 +F0 +FC +FF +FF +FC +F0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR triagdn +ENCODING 9660 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +FF +FF +7E +7E +3C +3C +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni25C0 +ENCODING 9664 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +03 +0F +3F +FF +FF +3F +0F +03 +00 +00 +00 +00 +ENDCHAR +STARTCHAR triaglf +ENCODING 9668 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +03 +0F +3F +FF +FF +3F +0F +03 +00 +00 +00 +00 +ENDCHAR +STARTCHAR blackdiamond +ENCODING 9670 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +18 +3C +7E +FF +7E +3C +18 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR lozenge +ENCODING 9674 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +18 +3C +66 +C3 +66 +3C +18 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR circle +ENCODING 9675 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +66 +42 +42 +66 +3C +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR H18533 +ENCODING 9679 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +7E +7E +7E +7E +3C +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR invbullet +ENCODING 9688 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +FF +E7 +C3 +C3 +E7 +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR invcircle +ENCODING 9689 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +C3 +99 +BD +BD +99 +C3 +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR smileface +ENCODING 9786 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +82 +AA +82 +82 +BA +92 +82 +82 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR invsmileface +ENCODING 9787 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +FE +D6 +FE +FE +C6 +EE +FE +FE +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR sun +ENCODING 9788 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +18 +DB +7E +3C +E7 +3C +7E +DB +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR female +ENCODING 9792 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +66 +66 +66 +66 +3C +18 +7E +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR male +ENCODING 9794 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3E +0E +1A +32 +78 +CC +CC +CC +CC +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR spade +ENCODING 9824 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +18 +3C +7E +FF +FF +7E +18 +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR club +ENCODING 9827 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +3C +3C +18 +5A +FF +FF +5A +18 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR heart +ENCODING 9829 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +6C +FE +FE +FE +FE +7C +38 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR diamond +ENCODING 9830 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +18 +3C +7E +FF +7E +3C +18 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR musicalnote +ENCODING 9834 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +66 +7E +60 +60 +60 +60 +60 +E0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR musicalnotedbl +ENCODING 9835 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +66 +7E +66 +66 +66 +66 +66 +6E +EC +C0 +00 +00 +00 +ENDCHAR +STARTCHAR uni2713 +ENCODING 10003 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +03 +03 +06 +06 +CC +CC +78 +78 +30 +30 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2714 +ENCODING 10004 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +07 +07 +0E +0E +DC +FC +78 +78 +30 +30 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2717 +ENCODING 10007 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +CC +78 +38 +38 +3C +66 +60 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2718 +ENCODING 10008 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0E +EE +7C +3C +3C +3E +77 +73 +E0 +E0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni27E8 +ENCODING 10216 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +0C +18 +18 +30 +30 +18 +18 +0C +0C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni27E9 +ENCODING 10217 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +30 +18 +18 +0C +0C +18 +18 +30 +30 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni27EA +ENCODING 10218 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +36 +36 +6C +6C +D8 +D8 +6C +6C +36 +36 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni27EB +ENCODING 10219 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +D8 +D8 +6C +6C +36 +36 +6C +6C +D8 +D8 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2800 +ENCODING 10240 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2801 +ENCODING 10241 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2802 +ENCODING 10242 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2803 +ENCODING 10243 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2804 +ENCODING 10244 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2805 +ENCODING 10245 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2806 +ENCODING 10246 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2807 +ENCODING 10247 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2808 +ENCODING 10248 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2809 +ENCODING 10249 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280A +ENCODING 10250 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280B +ENCODING 10251 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280C +ENCODING 10252 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280D +ENCODING 10253 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280E +ENCODING 10254 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280F +ENCODING 10255 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2810 +ENCODING 10256 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2811 +ENCODING 10257 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2812 +ENCODING 10258 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2813 +ENCODING 10259 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2814 +ENCODING 10260 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2815 +ENCODING 10261 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2816 +ENCODING 10262 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2817 +ENCODING 10263 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2818 +ENCODING 10264 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2819 +ENCODING 10265 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281A +ENCODING 10266 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281B +ENCODING 10267 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281C +ENCODING 10268 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281D +ENCODING 10269 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281E +ENCODING 10270 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281F +ENCODING 10271 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2820 +ENCODING 10272 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2821 +ENCODING 10273 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2822 +ENCODING 10274 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2823 +ENCODING 10275 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2824 +ENCODING 10276 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2825 +ENCODING 10277 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2826 +ENCODING 10278 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2827 +ENCODING 10279 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2828 +ENCODING 10280 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2829 +ENCODING 10281 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282A +ENCODING 10282 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282B +ENCODING 10283 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282C +ENCODING 10284 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282D +ENCODING 10285 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282E +ENCODING 10286 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282F +ENCODING 10287 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2830 +ENCODING 10288 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2831 +ENCODING 10289 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2832 +ENCODING 10290 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2833 +ENCODING 10291 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2834 +ENCODING 10292 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2835 +ENCODING 10293 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2836 +ENCODING 10294 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2837 +ENCODING 10295 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2838 +ENCODING 10296 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2839 +ENCODING 10297 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283A +ENCODING 10298 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283B +ENCODING 10299 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283C +ENCODING 10300 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283D +ENCODING 10301 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283E +ENCODING 10302 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283F +ENCODING 10303 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2840 +ENCODING 10304 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2841 +ENCODING 10305 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2842 +ENCODING 10306 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2843 +ENCODING 10307 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2844 +ENCODING 10308 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2845 +ENCODING 10309 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2846 +ENCODING 10310 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2847 +ENCODING 10311 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2848 +ENCODING 10312 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2849 +ENCODING 10313 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni284A +ENCODING 10314 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni284B +ENCODING 10315 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni284C +ENCODING 10316 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni284D +ENCODING 10317 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni284E +ENCODING 10318 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni284F +ENCODING 10319 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2850 +ENCODING 10320 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2851 +ENCODING 10321 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2852 +ENCODING 10322 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2853 +ENCODING 10323 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2854 +ENCODING 10324 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2855 +ENCODING 10325 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2856 +ENCODING 10326 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2857 +ENCODING 10327 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2858 +ENCODING 10328 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2859 +ENCODING 10329 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni285A +ENCODING 10330 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni285B +ENCODING 10331 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni285C +ENCODING 10332 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni285D +ENCODING 10333 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni285E +ENCODING 10334 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni285F +ENCODING 10335 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2860 +ENCODING 10336 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2861 +ENCODING 10337 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2862 +ENCODING 10338 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2863 +ENCODING 10339 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2864 +ENCODING 10340 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2865 +ENCODING 10341 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2866 +ENCODING 10342 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2867 +ENCODING 10343 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2868 +ENCODING 10344 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2869 +ENCODING 10345 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni286A +ENCODING 10346 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni286B +ENCODING 10347 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni286C +ENCODING 10348 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni286D +ENCODING 10349 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni286E +ENCODING 10350 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni286F +ENCODING 10351 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2870 +ENCODING 10352 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2871 +ENCODING 10353 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2872 +ENCODING 10354 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2873 +ENCODING 10355 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2874 +ENCODING 10356 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2875 +ENCODING 10357 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2876 +ENCODING 10358 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2877 +ENCODING 10359 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2878 +ENCODING 10360 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2879 +ENCODING 10361 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni287A +ENCODING 10362 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni287B +ENCODING 10363 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni287C +ENCODING 10364 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni287D +ENCODING 10365 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni287E +ENCODING 10366 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni287F +ENCODING 10367 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +60 +60 +00 +ENDCHAR +STARTCHAR uni2880 +ENCODING 10368 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2881 +ENCODING 10369 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2882 +ENCODING 10370 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2883 +ENCODING 10371 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2884 +ENCODING 10372 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2885 +ENCODING 10373 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2886 +ENCODING 10374 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2887 +ENCODING 10375 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2888 +ENCODING 10376 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2889 +ENCODING 10377 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni288A +ENCODING 10378 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni288B +ENCODING 10379 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni288C +ENCODING 10380 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni288D +ENCODING 10381 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni288E +ENCODING 10382 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni288F +ENCODING 10383 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2890 +ENCODING 10384 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2891 +ENCODING 10385 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2892 +ENCODING 10386 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2893 +ENCODING 10387 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2894 +ENCODING 10388 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2895 +ENCODING 10389 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2896 +ENCODING 10390 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2897 +ENCODING 10391 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2898 +ENCODING 10392 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni2899 +ENCODING 10393 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni289A +ENCODING 10394 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni289B +ENCODING 10395 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni289C +ENCODING 10396 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni289D +ENCODING 10397 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni289E +ENCODING 10398 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni289F +ENCODING 10399 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28A0 +ENCODING 10400 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28A1 +ENCODING 10401 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28A2 +ENCODING 10402 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28A3 +ENCODING 10403 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28A4 +ENCODING 10404 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28A5 +ENCODING 10405 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28A6 +ENCODING 10406 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28A7 +ENCODING 10407 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28A8 +ENCODING 10408 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28A9 +ENCODING 10409 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28AA +ENCODING 10410 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28AB +ENCODING 10411 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28AC +ENCODING 10412 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28AD +ENCODING 10413 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28AE +ENCODING 10414 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28AF +ENCODING 10415 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28B0 +ENCODING 10416 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28B1 +ENCODING 10417 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28B2 +ENCODING 10418 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28B3 +ENCODING 10419 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28B4 +ENCODING 10420 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28B5 +ENCODING 10421 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28B6 +ENCODING 10422 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28B7 +ENCODING 10423 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28B8 +ENCODING 10424 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28B9 +ENCODING 10425 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28BA +ENCODING 10426 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28BB +ENCODING 10427 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28BC +ENCODING 10428 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28BD +ENCODING 10429 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28BE +ENCODING 10430 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28BF +ENCODING 10431 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +06 +06 +00 +ENDCHAR +STARTCHAR uni28C0 +ENCODING 10432 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28C1 +ENCODING 10433 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28C2 +ENCODING 10434 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28C3 +ENCODING 10435 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28C4 +ENCODING 10436 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28C5 +ENCODING 10437 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28C6 +ENCODING 10438 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28C7 +ENCODING 10439 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28C8 +ENCODING 10440 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28C9 +ENCODING 10441 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28CA +ENCODING 10442 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28CB +ENCODING 10443 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28CC +ENCODING 10444 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28CD +ENCODING 10445 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28CE +ENCODING 10446 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28CF +ENCODING 10447 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28D0 +ENCODING 10448 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28D1 +ENCODING 10449 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28D2 +ENCODING 10450 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28D3 +ENCODING 10451 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28D4 +ENCODING 10452 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28D5 +ENCODING 10453 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28D6 +ENCODING 10454 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28D7 +ENCODING 10455 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28D8 +ENCODING 10456 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28D9 +ENCODING 10457 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28DA +ENCODING 10458 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28DB +ENCODING 10459 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +00 +00 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28DC +ENCODING 10460 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28DD +ENCODING 10461 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28DE +ENCODING 10462 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28DF +ENCODING 10463 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +60 +60 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28E0 +ENCODING 10464 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28E1 +ENCODING 10465 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28E2 +ENCODING 10466 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28E3 +ENCODING 10467 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28E4 +ENCODING 10468 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28E5 +ENCODING 10469 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28E6 +ENCODING 10470 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28E7 +ENCODING 10471 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28E8 +ENCODING 10472 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28E9 +ENCODING 10473 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28EA +ENCODING 10474 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28EB +ENCODING 10475 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28EC +ENCODING 10476 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28ED +ENCODING 10477 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +00 +00 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28EE +ENCODING 10478 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28EF +ENCODING 10479 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +60 +60 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28F0 +ENCODING 10480 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28F1 +ENCODING 10481 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28F2 +ENCODING 10482 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28F3 +ENCODING 10483 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28F4 +ENCODING 10484 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28F5 +ENCODING 10485 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28F6 +ENCODING 10486 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28F7 +ENCODING 10487 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +60 +60 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28F8 +ENCODING 10488 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28F9 +ENCODING 10489 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28FA +ENCODING 10490 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28FB +ENCODING 10491 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +06 +06 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28FC +ENCODING 10492 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28FD +ENCODING 10493 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +06 +06 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28FE +ENCODING 10494 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +06 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni28FF +ENCODING 10495 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +66 +66 +00 +00 +66 +66 +00 +00 +66 +66 +00 +00 +66 +66 +00 +ENDCHAR +STARTCHAR uni2E2C +ENCODING 11820 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C6 +C6 +00 +00 +00 +C6 +C6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uniE0A0 +ENCODING 57504 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +C0 +C0 +CC +DE +FF +CC +CC +CC +98 +30 +60 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uniE0A1 +ENCODING 57505 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +C0 +C0 +C0 +C0 +C0 +FC +00 +33 +3B +3F +37 +33 +33 +00 +00 +ENDCHAR +STARTCHAR uniE0A2 +ENCODING 57506 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +3C +66 +66 +66 +66 +FF +FF +E7 +C3 +E7 +FF +FF +FF +00 +00 +ENDCHAR +STARTCHAR uniE0B0 +ENCODING 57520 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +80 +C0 +E0 +F0 +F8 +FC +FE +FF +FF +FE +FC +F8 +F0 +E0 +C0 +80 +ENDCHAR +STARTCHAR uniE0B1 +ENCODING 57521 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +80 +C0 +60 +30 +18 +0C +06 +03 +03 +06 +0C +18 +30 +60 +C0 +80 +ENDCHAR +STARTCHAR uniE0B2 +ENCODING 57522 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +01 +03 +07 +0F +1F +3F +7F +FF +FF +7F +3F +1F +0F +07 +03 +01 +ENDCHAR +STARTCHAR uniE0B3 +ENCODING 57523 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +01 +03 +06 +0C +18 +30 +60 +C0 +C0 +60 +30 +18 +0C +06 +03 +01 +ENDCHAR +STARTCHAR uniF6BE +ENCODING 63166 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +0E +06 +06 +06 +06 +06 +06 +66 +66 +3C +00 +ENDCHAR +STARTCHAR uniFFFD +ENCODING 65533 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +C6 +C6 +C6 +C6 +C6 +C6 +C6 +C6 +FE +00 +00 +00 +00 +ENDCHAR +ENDFONT diff --git a/terminus-font-4.49.1/ter-u16n.bdf b/terminus-font-4.49.1/ter-u16n.bdf new file mode 100644 index 0000000..18839c6 --- /dev/null +++ b/terminus-font-4.49.1/ter-u16n.bdf @@ -0,0 +1,31216 @@ +STARTFONT 2.1 +FONT -xos4-Terminus-Medium-R-Normal--16-160-72-72-C-80-ISO10646-1 +SIZE 16 72 72 +FONTBOUNDINGBOX 8 16 0 -4 +STARTPROPERTIES 20 +FAMILY_NAME "Terminus" +FOUNDRY "xos4" +SETWIDTH_NAME "Normal" +ADD_STYLE_NAME "" +COPYRIGHT "Copyright (C) 2020 Dimitar Toshkov Zhekov" +NOTICE "Licensed under the SIL Open Font License, Version 1.1" +WEIGHT_NAME "Medium" +SLANT "R" +PIXEL_SIZE 16 +POINT_SIZE 160 +RESOLUTION_X 72 +RESOLUTION_Y 72 +SPACING "C" +AVERAGE_WIDTH 80 +CHARSET_REGISTRY "ISO10646" +CHARSET_ENCODING "1" +MIN_SPACE 8 +FONT_ASCENT 12 +FONT_DESCENT 4 +DEFAULT_CHAR 65533 +ENDPROPERTIES +CHARS 1356 +STARTCHAR char0 +ENCODING 0 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +66 +42 +00 +42 +42 +42 +00 +42 +42 +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR space +ENCODING 32 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR exclam +ENCODING 33 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +10 +10 +10 +10 +10 +00 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotedbl +ENCODING 34 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +24 +24 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR numbersign +ENCODING 35 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +24 +7E +24 +24 +7E +24 +24 +24 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dollar +ENCODING 36 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +10 +10 +7C +92 +90 +90 +7C +12 +12 +92 +7C +10 +10 +00 +00 +ENDCHAR +STARTCHAR percent +ENCODING 37 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +64 +94 +68 +08 +10 +10 +20 +2C +52 +4C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ampersand +ENCODING 38 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +24 +18 +30 +4A +44 +44 +44 +3A +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotesingle +ENCODING 39 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +10 +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR parenleft +ENCODING 40 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +20 +20 +20 +20 +20 +20 +10 +08 +00 +00 +00 +00 +ENDCHAR +STARTCHAR parenright +ENCODING 41 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +20 +10 +08 +08 +08 +08 +08 +08 +10 +20 +00 +00 +00 +00 +ENDCHAR +STARTCHAR asterisk +ENCODING 42 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +24 +18 +7E +18 +24 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR plus +ENCODING 43 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +10 +10 +7C +10 +10 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR comma +ENCODING 44 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +10 +10 +20 +00 +00 +00 +ENDCHAR +STARTCHAR hyphen +ENCODING 45 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +7E +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR period +ENCODING 46 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR slash +ENCODING 47 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +04 +04 +08 +08 +10 +10 +20 +20 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR zero +ENCODING 48 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +46 +4A +52 +62 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR one +ENCODING 49 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +18 +28 +08 +08 +08 +08 +08 +08 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR two +ENCODING 50 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +02 +04 +08 +10 +20 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR three +ENCODING 51 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +02 +1C +02 +02 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR four +ENCODING 52 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +02 +06 +0A +12 +22 +42 +7E +02 +02 +02 +00 +00 +00 +00 +ENDCHAR +STARTCHAR five +ENCODING 53 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +40 +40 +7C +02 +02 +02 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR six +ENCODING 54 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +1C +20 +40 +40 +7C +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR seven +ENCODING 55 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +02 +02 +04 +04 +08 +08 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR eight +ENCODING 56 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +3C +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR nine +ENCODING 57 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +3E +02 +02 +04 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR colon +ENCODING 58 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +10 +10 +00 +00 +00 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR semicolon +ENCODING 59 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +10 +10 +00 +00 +00 +10 +10 +20 +00 +00 +00 +ENDCHAR +STARTCHAR less +ENCODING 60 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +04 +08 +10 +20 +40 +20 +10 +08 +04 +00 +00 +00 +00 +ENDCHAR +STARTCHAR equal +ENCODING 61 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +00 +00 +7E +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR greater +ENCODING 62 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +40 +20 +10 +08 +04 +08 +10 +20 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR question +ENCODING 63 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +04 +08 +08 +00 +08 +08 +00 +00 +00 +00 +ENDCHAR +STARTCHAR at +ENCODING 64 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +82 +9E +A2 +A2 +A2 +A6 +9A +80 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR A +ENCODING 65 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR B +ENCODING 66 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +42 +42 +42 +7C +42 +42 +42 +42 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR C +ENCODING 67 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +40 +40 +40 +40 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR D +ENCODING 68 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +44 +42 +42 +42 +42 +42 +42 +44 +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR E +ENCODING 69 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +40 +40 +78 +40 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR F +ENCODING 70 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +40 +40 +78 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR G +ENCODING 71 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +40 +40 +4E +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR H +ENCODING 72 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +7E +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR I +ENCODING 73 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR J +ENCODING 74 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0E +04 +04 +04 +04 +04 +04 +44 +44 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR K +ENCODING 75 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +44 +48 +50 +60 +60 +50 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR L +ENCODING 76 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +40 +40 +40 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR M +ENCODING 77 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +C6 +AA +92 +92 +82 +82 +82 +82 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR N +ENCODING 78 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +62 +52 +4A +46 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR O +ENCODING 79 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR P +ENCODING 80 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +42 +42 +42 +42 +7C +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Q +ENCODING 81 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +42 +42 +42 +4A +3C +02 +00 +00 +00 +ENDCHAR +STARTCHAR R +ENCODING 82 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +42 +42 +42 +42 +7C +50 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR S +ENCODING 83 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +40 +40 +3C +02 +02 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR T +ENCODING 84 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +10 +10 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR U +ENCODING 85 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR V +ENCODING 86 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +42 +24 +24 +24 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR W +ENCODING 87 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +82 +82 +82 +82 +92 +92 +AA +C6 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR X +ENCODING 88 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +24 +24 +18 +18 +24 +24 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Y +ENCODING 89 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +82 +44 +44 +28 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Z +ENCODING 90 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +02 +02 +04 +08 +10 +20 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR bracketleft +ENCODING 91 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +20 +20 +20 +20 +20 +20 +20 +20 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR backslash +ENCODING 92 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +20 +20 +10 +10 +08 +08 +04 +04 +00 +00 +00 +00 +ENDCHAR +STARTCHAR bracketright +ENCODING 93 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +08 +08 +08 +08 +08 +08 +08 +08 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR asciicircum +ENCODING 94 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +10 +28 +44 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR underscore +ENCODING 95 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7E +00 +00 +ENDCHAR +STARTCHAR grave +ENCODING 96 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +08 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR a +ENCODING 97 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR b +ENCODING 98 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +7C +42 +42 +42 +42 +42 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR c +ENCODING 99 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +40 +40 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR d +ENCODING 100 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +02 +02 +02 +3E +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR e +ENCODING 101 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR f +ENCODING 102 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0E +10 +10 +7C +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR g +ENCODING 103 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR h +ENCODING 104 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR i +ENCODING 105 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR j +ENCODING 106 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +04 +04 +00 +0C +04 +04 +04 +04 +04 +04 +44 +44 +38 +00 +ENDCHAR +STARTCHAR k +ENCODING 107 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +42 +44 +48 +70 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR l +ENCODING 108 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR m +ENCODING 109 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +92 +92 +92 +92 +92 +92 +00 +00 +00 +00 +ENDCHAR +STARTCHAR n +ENCODING 110 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR o +ENCODING 111 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR p +ENCODING 112 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +42 +42 +42 +42 +42 +7C +40 +40 +40 +00 +ENDCHAR +STARTCHAR q +ENCODING 113 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +42 +42 +42 +42 +42 +3E +02 +02 +02 +00 +ENDCHAR +STARTCHAR r +ENCODING 114 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +5E +60 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR s +ENCODING 115 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +40 +40 +3C +02 +02 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR t +ENCODING 116 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +10 +7C +10 +10 +10 +10 +10 +0E +00 +00 +00 +00 +ENDCHAR +STARTCHAR u +ENCODING 117 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR v +ENCODING 118 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +24 +24 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR w +ENCODING 119 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +82 +82 +92 +92 +92 +92 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR x +ENCODING 120 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +24 +18 +24 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR y +ENCODING 121 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR z +ENCODING 122 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +04 +08 +10 +20 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR braceleft +ENCODING 123 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +10 +10 +10 +20 +10 +10 +10 +10 +0C +00 +00 +00 +00 +ENDCHAR +STARTCHAR bar +ENCODING 124 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR braceright +ENCODING 125 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +08 +08 +08 +04 +08 +08 +08 +08 +30 +00 +00 +00 +00 +ENDCHAR +STARTCHAR asciitilde +ENCODING 126 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +62 +92 +8C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR nbspace +ENCODING 160 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR exclamdown +ENCODING 161 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +00 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR cent +ENCODING 162 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +10 +10 +7C +92 +90 +90 +90 +92 +7C +10 +10 +00 +00 +ENDCHAR +STARTCHAR sterling +ENCODING 163 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +20 +20 +78 +20 +20 +20 +22 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR currency +ENCODING 164 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +44 +38 +44 +44 +44 +38 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR yen +ENCODING 165 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +82 +44 +28 +10 +7C +10 +7C +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR brokenbar +ENCODING 166 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +10 +10 +00 +00 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR section +ENCODING 167 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +44 +40 +30 +48 +44 +44 +24 +18 +04 +44 +38 +00 +00 +00 +ENDCHAR +STARTCHAR dieresis +ENCODING 168 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR copyright +ENCODING 169 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7E +81 +99 +A5 +A1 +A5 +99 +81 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR ordfeminine +ENCODING 170 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +04 +3C +44 +3C +00 +7C +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR guillemotleft +ENCODING 171 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +12 +24 +48 +90 +48 +24 +12 +00 +00 +00 +00 +ENDCHAR +STARTCHAR logicalnot +ENCODING 172 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +02 +02 +02 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR softhyphen +ENCODING 173 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +3C +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR registered +ENCODING 174 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7E +81 +B9 +A5 +B9 +A9 +A5 +81 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR macron +ENCODING 175 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +3C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR degree +ENCODING 176 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +24 +24 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR plusminus +ENCODING 177 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +10 +10 +7C +10 +10 +00 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR twosuperior +ENCODING 178 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +24 +04 +08 +10 +3C +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR threesuperior +ENCODING 179 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +04 +18 +04 +04 +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR acute +ENCODING 180 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR mu +ENCODING 181 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +46 +7A +40 +40 +40 +00 +ENDCHAR +STARTCHAR paragraph +ENCODING 182 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +92 +92 +92 +92 +72 +12 +12 +12 +12 +00 +00 +00 +00 +ENDCHAR +STARTCHAR periodcentered +ENCODING 183 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +10 +10 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR cedilla +ENCODING 184 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +10 +10 +20 +00 +ENDCHAR +STARTCHAR onesuperior +ENCODING 185 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +10 +30 +10 +10 +10 +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ordmasculine +ENCODING 186 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +44 +44 +44 +38 +00 +7C +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR guillemotright +ENCODING 187 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +90 +48 +24 +12 +24 +48 +90 +00 +00 +00 +00 +ENDCHAR +STARTCHAR onequarter +ENCODING 188 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +20 +60 +20 +22 +24 +08 +10 +22 +46 +8A +1E +02 +02 +00 +00 +ENDCHAR +STARTCHAR onehalf +ENCODING 189 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +20 +60 +20 +22 +24 +08 +10 +20 +4C +92 +04 +08 +1E +00 +00 +ENDCHAR +STARTCHAR threequarters +ENCODING 190 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +E0 +10 +60 +12 +E4 +08 +10 +22 +46 +8A +1E +02 +02 +00 +00 +ENDCHAR +STARTCHAR questiondown +ENCODING 191 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +00 +10 +10 +20 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Agrave +ENCODING 192 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +08 +00 +3C +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Aacute +ENCODING 193 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +3C +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Acircumflex +ENCODING 194 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +3C +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Atilde +ENCODING 195 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +32 +4C +00 +3C +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Adieresis +ENCODING 196 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +3C +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Aring +ENCODING 197 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +18 +3C +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR AE +ENCODING 198 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +90 +90 +90 +FC +90 +90 +90 +90 +9E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ccedilla +ENCODING 199 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +40 +40 +40 +40 +42 +42 +3C +10 +10 +20 +00 +ENDCHAR +STARTCHAR Egrave +ENCODING 200 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +08 +00 +7E +40 +40 +40 +78 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Eacute +ENCODING 201 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +7E +40 +40 +40 +78 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ecircumflex +ENCODING 202 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +7E +40 +40 +40 +78 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Edieresis +ENCODING 203 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +7E +40 +40 +40 +78 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Igrave +ENCODING 204 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +20 +10 +00 +38 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Iacute +ENCODING 205 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +38 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Icircumflex +ENCODING 206 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +38 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Idieresis +ENCODING 207 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +44 +44 +00 +38 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Eth +ENCODING 208 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +44 +42 +42 +F2 +42 +42 +42 +44 +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ntilde +ENCODING 209 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +32 +4C +00 +42 +42 +62 +52 +4A +46 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ograve +ENCODING 210 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +08 +00 +3C +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Oacute +ENCODING 211 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +3C +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ocircumflex +ENCODING 212 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +3C +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Otilde +ENCODING 213 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +32 +4C +00 +3C +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Odieresis +ENCODING 214 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +3C +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR multiply +ENCODING 215 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +24 +18 +18 +24 +42 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Oslash +ENCODING 216 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +43 +42 +46 +4A +52 +62 +42 +C2 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ugrave +ENCODING 217 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +08 +42 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Uacute +ENCODING 218 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +42 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ucircumflex +ENCODING 219 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Udieresis +ENCODING 220 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Yacute +ENCODING 221 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +82 +82 +44 +44 +28 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Thorn +ENCODING 222 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +7C +42 +42 +42 +42 +7C +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR germandbls +ENCODING 223 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +44 +44 +48 +7C +42 +42 +42 +62 +5C +00 +00 +00 +00 +ENDCHAR +STARTCHAR agrave +ENCODING 224 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +08 +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR aacute +ENCODING 225 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR acircumflex +ENCODING 226 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR atilde +ENCODING 227 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +32 +4C +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR adieresis +ENCODING 228 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR aring +ENCODING 229 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +18 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR ae +ENCODING 230 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +6C +12 +72 +9E +90 +90 +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ccedilla +ENCODING 231 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +40 +40 +40 +42 +3C +10 +10 +20 +00 +ENDCHAR +STARTCHAR egrave +ENCODING 232 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +08 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR eacute +ENCODING 233 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ecircumflex +ENCODING 234 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR edieresis +ENCODING 235 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR igrave +ENCODING 236 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +20 +10 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR iacute +ENCODING 237 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR icircumflex +ENCODING 238 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +48 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR idieresis +ENCODING 239 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +48 +48 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR eth +ENCODING 240 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +28 +10 +28 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ntilde +ENCODING 241 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +32 +4C +00 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ograve +ENCODING 242 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +08 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR oacute +ENCODING 243 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ocircumflex +ENCODING 244 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR otilde +ENCODING 245 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +32 +4C +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR odieresis +ENCODING 246 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR divide +ENCODING 247 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +10 +00 +7C +00 +10 +10 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR oslash +ENCODING 248 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +02 +3C +46 +4A +52 +62 +42 +BC +00 +00 +00 +00 +ENDCHAR +STARTCHAR ugrave +ENCODING 249 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +08 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uacute +ENCODING 250 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR ucircumflex +ENCODING 251 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR udieresis +ENCODING 252 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR yacute +ENCODING 253 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +42 +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR thorn +ENCODING 254 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +7C +42 +42 +42 +42 +42 +7C +40 +40 +40 +00 +ENDCHAR +STARTCHAR ydieresis +ENCODING 255 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +42 +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR Amacron +ENCODING 256 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +3C +00 +3C +42 +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR amacron +ENCODING 257 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +3C +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Abreve +ENCODING 258 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +3C +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR abreve +ENCODING 259 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Aogonek +ENCODING 260 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +7E +42 +42 +42 +42 +02 +04 +03 +00 +ENDCHAR +STARTCHAR aogonek +ENCODING 261 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +02 +3E +42 +42 +42 +3E +02 +04 +03 +00 +ENDCHAR +STARTCHAR Cacute +ENCODING 262 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +3C +42 +42 +40 +40 +40 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR cacute +ENCODING 263 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +3C +42 +40 +40 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ccircumflex +ENCODING 264 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +3C +42 +42 +40 +40 +40 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ccircumflex +ENCODING 265 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +00 +3C +42 +40 +40 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Cdotaccent +ENCODING 266 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +00 +3C +42 +42 +40 +40 +40 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR cdotaccent +ENCODING 267 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +00 +3C +42 +40 +40 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ccaron +ENCODING 268 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +3C +42 +42 +40 +40 +40 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ccaron +ENCODING 269 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3C +42 +40 +40 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Dcaron +ENCODING 270 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +78 +44 +42 +42 +42 +42 +42 +44 +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dcaron +ENCODING 271 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +02 +02 +02 +3E +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Dcroat +ENCODING 272 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +44 +42 +42 +F2 +42 +42 +42 +44 +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dcroat +ENCODING 273 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +02 +0F +02 +3E +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Emacron +ENCODING 274 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +3C +00 +7E +40 +40 +40 +78 +40 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR emacron +ENCODING 275 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +3C +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ebreve +ENCODING 276 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +7E +40 +40 +40 +78 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR ebreve +ENCODING 277 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Edotaccent +ENCODING 278 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +00 +7E +40 +40 +40 +78 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR edotaccent +ENCODING 279 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Eogonek +ENCODING 280 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +40 +40 +78 +40 +40 +40 +40 +7E +02 +04 +03 +00 +ENDCHAR +STARTCHAR eogonek +ENCODING 281 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +7E +40 +40 +3C +08 +10 +0C +00 +ENDCHAR +STARTCHAR Ecaron +ENCODING 282 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +7E +40 +40 +40 +78 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR ecaron +ENCODING 283 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Gcircumflex +ENCODING 284 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +3C +42 +40 +40 +4E +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR gcircumflex +ENCODING 285 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +00 +3E +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR Gbreve +ENCODING 286 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +3C +42 +40 +40 +4E +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR gbreve +ENCODING 287 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3E +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR Gdotaccent +ENCODING 288 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +00 +3C +42 +40 +40 +4E +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR gdotaccent +ENCODING 289 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +08 +00 +3E +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR Gcommaaccent +ENCODING 290 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +40 +40 +4E +42 +42 +42 +3C +00 +10 +10 +20 +ENDCHAR +STARTCHAR gcommaaccent +ENCODING 291 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +08 +08 +00 +3E +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR Hcircumflex +ENCODING 292 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +42 +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR hcircumflex +ENCODING 293 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0C +12 +40 +40 +40 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Hbar +ENCODING 294 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +FF +42 +42 +7E +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR hbar +ENCODING 295 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +F0 +40 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Itilde +ENCODING 296 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +32 +4C +00 +38 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR itilde +ENCODING 297 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +34 +58 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Imacron +ENCODING 298 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +38 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR imacron +ENCODING 299 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +78 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ibreve +ENCODING 300 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +38 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ibreve +ENCODING 301 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +48 +30 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Iogonek +ENCODING 302 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +10 +10 +10 +10 +10 +10 +10 +10 +38 +10 +20 +18 +00 +ENDCHAR +STARTCHAR iogonek +ENCODING 303 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +00 +30 +10 +10 +10 +10 +10 +38 +10 +20 +18 +00 +ENDCHAR +STARTCHAR Idotaccent +ENCODING 304 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +00 +38 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dotlessi +ENCODING 305 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR IJ +ENCODING 306 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +E7 +42 +42 +42 +42 +42 +42 +52 +52 +EC +00 +00 +00 +00 +ENDCHAR +STARTCHAR ij +ENCODING 307 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +00 +C6 +42 +42 +42 +42 +42 +E2 +12 +12 +0C +00 +ENDCHAR +STARTCHAR Jcircumflex +ENCODING 308 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0C +12 +00 +0E +04 +04 +04 +04 +04 +44 +44 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR jcircumflex +ENCODING 309 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +12 +00 +0C +04 +04 +04 +04 +04 +04 +44 +44 +38 +00 +ENDCHAR +STARTCHAR Kcommaaccent +ENCODING 310 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +44 +48 +50 +60 +60 +50 +48 +44 +42 +00 +10 +10 +20 +ENDCHAR +STARTCHAR kcommaaccent +ENCODING 311 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +42 +44 +48 +70 +48 +44 +42 +00 +10 +10 +20 +ENDCHAR +STARTCHAR kgreenlandic +ENCODING 312 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +44 +48 +70 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Lacute +ENCODING 313 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +20 +40 +00 +40 +40 +40 +40 +40 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR lacute +ENCODING 314 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +30 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Lcommaaccent +ENCODING 315 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +40 +40 +40 +40 +40 +40 +7E +00 +10 +10 +20 +ENDCHAR +STARTCHAR lcommaaccent +ENCODING 316 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +10 +10 +20 +ENDCHAR +STARTCHAR Lcaron +ENCODING 317 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +40 +40 +40 +40 +40 +40 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR lcaron +ENCODING 318 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +48 +30 +00 +30 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ldot +ENCODING 319 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +40 +44 +44 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR ldot +ENCODING 320 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +10 +10 +10 +11 +11 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Lslash +ENCODING 321 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +40 +60 +C0 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR lslash +ENCODING 322 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +10 +10 +10 +18 +30 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Nacute +ENCODING 323 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +42 +42 +42 +62 +52 +4A +46 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR nacute +ENCODING 324 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ncommaaccent +ENCODING 325 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +62 +52 +4A +46 +42 +42 +42 +00 +10 +10 +20 +ENDCHAR +STARTCHAR ncommaaccent +ENCODING 326 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +42 +42 +42 +42 +42 +42 +00 +10 +10 +20 +ENDCHAR +STARTCHAR Ncaron +ENCODING 327 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +42 +42 +42 +62 +52 +4A +46 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ncaron +ENCODING 328 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR napostrophe +ENCODING 329 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +80 +00 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Eng +ENCODING 330 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +62 +52 +4A +46 +42 +42 +42 +02 +02 +0C +00 +ENDCHAR +STARTCHAR eng +ENCODING 331 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +42 +42 +42 +42 +42 +42 +02 +02 +0C +00 +ENDCHAR +STARTCHAR Omacron +ENCODING 332 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +3C +00 +3C +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR omacron +ENCODING 333 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +3C +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Obreve +ENCODING 334 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +3C +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR obreve +ENCODING 335 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ohungarumlaut +ENCODING 336 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +12 +24 +00 +3C +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ohungarumlaut +ENCODING 337 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +12 +24 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR OE +ENCODING 338 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +90 +90 +90 +9C +90 +90 +90 +90 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR oe +ENCODING 339 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +92 +92 +9E +90 +90 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Racute +ENCODING 340 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +7C +42 +42 +42 +7C +50 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR racute +ENCODING 341 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +5E +60 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Rcommaaccent +ENCODING 342 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +42 +42 +42 +42 +7C +50 +48 +44 +42 +00 +10 +10 +20 +ENDCHAR +STARTCHAR rcommaaccent +ENCODING 343 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +5E +60 +40 +40 +40 +40 +40 +00 +40 +40 +80 +ENDCHAR +STARTCHAR Rcaron +ENCODING 344 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +7C +42 +42 +42 +7C +50 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR rcaron +ENCODING 345 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +5E +60 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Sacute +ENCODING 346 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +3C +42 +40 +40 +3C +02 +02 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR sacute +ENCODING 347 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +04 +08 +00 +3E +40 +40 +3C +02 +02 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Scircumflex +ENCODING 348 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +3C +42 +40 +40 +3C +02 +02 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR scircumflex +ENCODING 349 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +00 +3E +40 +40 +3C +02 +02 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Scedilla +ENCODING 350 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +40 +40 +3C +02 +02 +42 +42 +3C +10 +10 +20 +00 +ENDCHAR +STARTCHAR scedilla +ENCODING 351 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +40 +40 +3C +02 +02 +7C +10 +10 +20 +00 +ENDCHAR +STARTCHAR Scaron +ENCODING 352 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +3C +42 +40 +40 +3C +02 +02 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR scaron +ENCODING 353 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3E +40 +40 +3C +02 +02 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Tcedilla +ENCODING 354 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +10 +10 +10 +10 +10 +10 +10 +10 +10 +08 +08 +10 +00 +ENDCHAR +STARTCHAR tcedilla +ENCODING 355 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +10 +7C +10 +10 +10 +10 +10 +0E +04 +04 +08 +00 +ENDCHAR +STARTCHAR Tcaron +ENCODING 356 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +FE +10 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR tcaron +ENCODING 357 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +10 +10 +7C +10 +10 +10 +10 +10 +0E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Tbar +ENCODING 358 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +10 +10 +10 +7C +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR tbar +ENCODING 359 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +10 +7C +10 +38 +10 +10 +10 +0E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Utilde +ENCODING 360 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +32 +4C +00 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR utilde +ENCODING 361 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +32 +4C +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Umacron +ENCODING 362 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +3C +00 +42 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR umacron +ENCODING 363 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +3C +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ubreve +ENCODING 364 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +42 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR ubreve +ENCODING 365 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Uring +ENCODING 366 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +18 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uring +ENCODING 367 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +18 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Uhungarumlaut +ENCODING 368 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +12 +24 +00 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uhungarumlaut +ENCODING 369 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +12 +24 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Uogonek +ENCODING 370 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +42 +42 +42 +42 +42 +3C +08 +10 +0C +00 +ENDCHAR +STARTCHAR uogonek +ENCODING 371 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +3E +02 +04 +03 +00 +ENDCHAR +STARTCHAR Wcircumflex +ENCODING 372 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +82 +82 +82 +82 +92 +92 +AA +C6 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR wcircumflex +ENCODING 373 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +00 +82 +82 +92 +92 +92 +92 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ycircumflex +ENCODING 374 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +82 +82 +44 +44 +28 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ycircumflex +ENCODING 375 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +18 +24 +00 +42 +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR Ydieresis +ENCODING 376 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +44 +44 +00 +82 +82 +44 +44 +28 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Zacute +ENCODING 377 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +7E +02 +04 +08 +10 +20 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR zacute +ENCODING 378 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +7E +04 +08 +10 +20 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Zdotaccent +ENCODING 379 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +00 +7E +02 +04 +08 +10 +20 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR zdotaccent +ENCODING 380 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +00 +7E +04 +08 +10 +20 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Zcaron +ENCODING 381 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +7E +02 +04 +08 +10 +20 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR zcaron +ENCODING 382 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +7E +04 +08 +10 +20 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR longs +ENCODING 383 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0E +10 +10 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0186 +ENCODING 390 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +02 +02 +02 +02 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni018E +ENCODING 398 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +02 +02 +02 +1E +02 +02 +02 +02 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Schwa +ENCODING 399 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +02 +02 +7E +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0190 +ENCODING 400 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +40 +38 +40 +40 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR florin +ENCODING 402 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +12 +10 +10 +7C +10 +10 +10 +10 +10 +10 +90 +60 +00 +ENDCHAR +STARTCHAR uni019D +ENCODING 413 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +62 +52 +4A +46 +42 +42 +42 +40 +40 +80 +00 +ENDCHAR +STARTCHAR uni019E +ENCODING 414 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +42 +42 +42 +42 +42 +42 +02 +02 +02 +00 +ENDCHAR +STARTCHAR uni01B5 +ENCODING 437 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +02 +04 +08 +7E +10 +20 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01B6 +ENCODING 438 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +04 +08 +7C +10 +20 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ezh +ENCODING 439 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +02 +04 +08 +1C +02 +02 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01CD +ENCODING 461 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +3C +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01CE +ENCODING 462 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01CF +ENCODING 463 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +38 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01D0 +ENCODING 464 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +48 +30 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01D1 +ENCODING 465 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +3C +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01D2 +ENCODING 466 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01D3 +ENCODING 467 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +42 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01D4 +ENCODING 468 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01E2 +ENCODING 482 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +7E +90 +90 +90 +FC +90 +90 +90 +90 +9E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01E3 +ENCODING 483 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +6C +12 +72 +9E +90 +90 +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01E4 +ENCODING 484 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +40 +40 +4E +42 +4F +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01E5 +ENCODING 485 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +42 +42 +4F +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR Gcaron +ENCODING 486 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +3C +42 +40 +40 +4E +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR gcaron +ENCODING 487 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3E +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR uni01E8 +ENCODING 488 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +42 +44 +48 +50 +60 +60 +50 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01E9 +ENCODING 489 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +40 +40 +40 +42 +44 +48 +70 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01EA +ENCODING 490 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +42 +42 +42 +42 +3C +08 +10 +0C +00 +ENDCHAR +STARTCHAR uni01EB +ENCODING 491 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +42 +42 +42 +3C +08 +10 +0C +00 +ENDCHAR +STARTCHAR uni01EC +ENCODING 492 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +3C +00 +3C +42 +42 +42 +42 +42 +42 +42 +42 +3C +08 +10 +0C +00 +ENDCHAR +STARTCHAR uni01ED +ENCODING 493 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +3C +00 +3C +42 +42 +42 +42 +42 +3C +08 +10 +0C +00 +ENDCHAR +STARTCHAR uni01EE +ENCODING 494 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +7E +04 +08 +1C +02 +02 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01EF +ENCODING 495 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +7E +02 +04 +08 +1C +02 +02 +42 +42 +3C +00 +ENDCHAR +STARTCHAR uni01F0 +ENCODING 496 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +12 +0C +00 +0C +04 +04 +04 +04 +04 +04 +44 +44 +38 +00 +ENDCHAR +STARTCHAR uni01F4 +ENCODING 500 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +3C +42 +40 +40 +4E +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni01F5 +ENCODING 501 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +04 +08 +00 +3E +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR AEacute +ENCODING 508 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +7E +90 +90 +90 +FC +90 +90 +90 +9E +00 +00 +00 +00 +ENDCHAR +STARTCHAR aeacute +ENCODING 509 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +6C +12 +72 +9E +90 +90 +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Oslashacute +ENCODING 510 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +3D +42 +46 +4A +52 +62 +42 +C2 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR oslashacute +ENCODING 511 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +02 +3C +46 +4A +52 +62 +42 +BC +00 +00 +00 +00 +ENDCHAR +STARTCHAR Scommaaccent +ENCODING 536 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +40 +40 +3C +02 +02 +42 +42 +3C +00 +10 +10 +20 +ENDCHAR +STARTCHAR scommaaccent +ENCODING 537 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +40 +40 +3C +02 +02 +7C +00 +10 +10 +20 +ENDCHAR +STARTCHAR Tcommaaccent +ENCODING 538 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +10 +10 +10 +10 +10 +10 +10 +10 +10 +00 +10 +10 +20 +ENDCHAR +STARTCHAR tcommaaccent +ENCODING 539 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +10 +7C +10 +10 +10 +10 +10 +0E +00 +04 +04 +08 +ENDCHAR +STARTCHAR uni0232 +ENCODING 562 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +00 +82 +82 +44 +44 +28 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0233 +ENCODING 563 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +3C +00 +42 +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR dotlessj +ENCODING 567 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +0C +04 +04 +04 +04 +04 +04 +44 +44 +38 +00 +ENDCHAR +STARTCHAR uni0254 +ENCODING 596 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +02 +02 +02 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0258 +ENCODING 600 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +7E +02 +02 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR schwa +ENCODING 601 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +02 +02 +7E +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni025B +ENCODING 603 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +40 +38 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0272 +ENCODING 626 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +42 +42 +42 +42 +42 +42 +40 +40 +80 +00 +ENDCHAR +STARTCHAR ezh +ENCODING 658 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +02 +04 +08 +1C +02 +02 +42 +42 +3C +00 +ENDCHAR +STARTCHAR commaturnedmod +ENCODING 699 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57929 +ENCODING 700 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +08 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii64937 +ENCODING 701 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +08 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR circumflex +ENCODING 710 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR caron +ENCODING 711 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR breve +ENCODING 728 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dotaccent +ENCODING 729 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ogonek +ENCODING 731 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +08 +10 +0C +00 +ENDCHAR +STARTCHAR tilde +ENCODING 732 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +32 +4C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR hungarumlaut +ENCODING 733 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +12 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR gravecomb +ENCODING 768 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +08 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR acutecomb +ENCODING 769 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0302 +ENCODING 770 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR tildecomb +ENCODING 771 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +32 +4C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0304 +ENCODING 772 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +3C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0305 +ENCODING 773 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7E +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0306 +ENCODING 774 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0307 +ENCODING 775 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0308 +ENCODING 776 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni030A +ENCODING 778 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +24 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni030B +ENCODING 779 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +12 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni030C +ENCODING 780 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0329 +ENCODING 809 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +10 +10 +00 +ENDCHAR +STARTCHAR tonos +ENCODING 900 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +80 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dieresistonos +ENCODING 901 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Alphatonos +ENCODING 902 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +80 +3C +42 +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR anoteleia +ENCODING 903 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Epsilontonos +ENCODING 904 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +80 +7E +40 +40 +40 +78 +40 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Etatonos +ENCODING 905 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +80 +42 +42 +42 +42 +7E +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Iotatonos +ENCODING 906 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +80 +38 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Omicrontonos +ENCODING 908 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +80 +3C +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Upsilontonos +ENCODING 910 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +80 +00 +82 +82 +44 +44 +28 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Omegatonos +ENCODING 911 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +80 +3C +42 +42 +42 +42 +42 +42 +24 +24 +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR iotadieresistonos +ENCODING 912 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +48 +48 +00 +30 +10 +10 +10 +10 +10 +0C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Alpha +ENCODING 913 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Beta +ENCODING 914 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +42 +42 +42 +7C +42 +42 +42 +42 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Gamma +ENCODING 915 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +40 +40 +40 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Delta +ENCODING 916 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +28 +28 +44 +44 +44 +82 +82 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR Epsilon +ENCODING 917 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +40 +40 +78 +40 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Zeta +ENCODING 918 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +02 +02 +04 +08 +10 +20 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Eta +ENCODING 919 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +7E +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Theta +ENCODING 920 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +5A +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Iota +ENCODING 921 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Kappa +ENCODING 922 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +44 +48 +50 +60 +60 +50 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Lambda +ENCODING 923 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +28 +28 +44 +44 +44 +82 +82 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Mu +ENCODING 924 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +C6 +AA +92 +92 +82 +82 +82 +82 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Nu +ENCODING 925 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +62 +52 +4A +46 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Xi +ENCODING 926 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +00 +00 +00 +3C +00 +00 +00 +00 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Omicron +ENCODING 927 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR Pi +ENCODING 928 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +42 +42 +42 +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Rho +ENCODING 929 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +42 +42 +42 +42 +7C +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Sigma +ENCODING 931 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +20 +10 +08 +08 +10 +20 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Tau +ENCODING 932 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +10 +10 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Upsilon +ENCODING 933 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +82 +44 +44 +28 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Phi +ENCODING 934 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +7C +92 +92 +92 +92 +92 +92 +7C +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Chi +ENCODING 935 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +24 +24 +18 +18 +24 +24 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Psi +ENCODING 936 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +92 +92 +92 +92 +92 +92 +92 +7C +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Omega +ENCODING 937 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +42 +42 +24 +24 +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Iotadieresis +ENCODING 938 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +44 +44 +00 +38 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR Upsilondieresis +ENCODING 939 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +44 +44 +00 +82 +82 +44 +44 +28 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR alphatonos +ENCODING 940 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +3A +46 +44 +44 +44 +46 +3A +00 +00 +00 +00 +ENDCHAR +STARTCHAR epsilontonos +ENCODING 941 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +3C +42 +40 +38 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR etatonos +ENCODING 942 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +7C +42 +42 +42 +42 +42 +42 +02 +02 +02 +00 +ENDCHAR +STARTCHAR iotatonos +ENCODING 943 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +30 +10 +10 +10 +10 +10 +0C +00 +00 +00 +00 +ENDCHAR +STARTCHAR upsilondieresistonos +ENCODING 944 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +24 +00 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR alpha +ENCODING 945 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3A +46 +44 +44 +44 +46 +3A +00 +00 +00 +00 +ENDCHAR +STARTCHAR beta +ENCODING 946 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +44 +44 +48 +7C +42 +42 +42 +42 +7C +40 +40 +40 +00 +ENDCHAR +STARTCHAR gamma +ENCODING 947 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +82 +82 +44 +44 +28 +28 +10 +10 +10 +10 +00 +ENDCHAR +STARTCHAR delta +ENCODING 948 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3E +10 +08 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR epsilon +ENCODING 949 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +40 +38 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR zeta +ENCODING 950 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +04 +08 +10 +20 +40 +40 +40 +40 +3C +02 +02 +04 +00 +ENDCHAR +STARTCHAR eta +ENCODING 951 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +42 +42 +42 +42 +42 +42 +02 +02 +02 +00 +ENDCHAR +STARTCHAR theta +ENCODING 952 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +44 +44 +44 +7C +44 +44 +44 +44 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR iota +ENCODING 953 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +30 +10 +10 +10 +10 +10 +0C +00 +00 +00 +00 +ENDCHAR +STARTCHAR kappa +ENCODING 954 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +44 +48 +70 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR lambda +ENCODING 955 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +20 +20 +10 +10 +28 +28 +44 +44 +82 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR mugreek +ENCODING 956 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +46 +7A +40 +40 +40 +00 +ENDCHAR +STARTCHAR nu +ENCODING 957 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +24 +24 +18 +18 +00 +00 +00 +00 +ENDCHAR +STARTCHAR xi +ENCODING 958 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3E +40 +40 +40 +3C +40 +40 +40 +40 +3C +02 +02 +04 +00 +ENDCHAR +STARTCHAR omicron +ENCODING 959 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR pi +ENCODING 960 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR rho +ENCODING 961 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +42 +42 +42 +7C +40 +40 +40 +00 +ENDCHAR +STARTCHAR sigma1 +ENCODING 962 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +40 +40 +40 +40 +3C +02 +02 +04 +00 +ENDCHAR +STARTCHAR sigma +ENCODING 963 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +44 +44 +44 +44 +44 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR tau +ENCODING 964 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +10 +10 +10 +10 +10 +0C +00 +00 +00 +00 +ENDCHAR +STARTCHAR upsilon +ENCODING 965 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR phi +ENCODING 966 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +4C +92 +92 +92 +92 +92 +7C +10 +10 +10 +00 +ENDCHAR +STARTCHAR chi +ENCODING 967 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +24 +24 +18 +18 +24 +24 +42 +42 +00 +ENDCHAR +STARTCHAR psi +ENCODING 968 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +92 +92 +92 +92 +92 +92 +7C +10 +10 +10 +00 +ENDCHAR +STARTCHAR omega +ENCODING 969 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +82 +92 +92 +92 +92 +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR iotadieresis +ENCODING 970 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +48 +48 +00 +30 +10 +10 +10 +10 +10 +0C +00 +00 +00 +00 +ENDCHAR +STARTCHAR upsilondieresis +ENCODING 971 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR omicrontonos +ENCODING 972 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR upsilontonos +ENCODING 973 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR omegatonos +ENCODING 974 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +44 +82 +92 +92 +92 +92 +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR theta1 +ENCODING 977 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +44 +44 +44 +3E +04 +C4 +44 +44 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR phi1 +ENCODING 981 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +7C +92 +92 +92 +92 +92 +7C +10 +00 +00 +00 +ENDCHAR +STARTCHAR uni03F0 +ENCODING 1008 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C2 +24 +18 +10 +30 +48 +86 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni03F1 +ENCODING 1009 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +42 +42 +42 +7C +40 +40 +3C +00 +ENDCHAR +STARTCHAR uni03F2 +ENCODING 1010 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +40 +40 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni03F3 +ENCODING 1011 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +04 +04 +00 +0C +04 +04 +04 +04 +04 +04 +44 +44 +38 +00 +ENDCHAR +STARTCHAR uni03F4 +ENCODING 1012 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +7E +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni03F5 +ENCODING 1013 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +1E +20 +40 +7C +40 +20 +1E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni03F6 +ENCODING 1014 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +78 +04 +02 +3E +02 +04 +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0400 +ENCODING 1024 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +08 +00 +7E +40 +40 +40 +78 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10023 +ENCODING 1025 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +7E +40 +40 +40 +78 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10051 +ENCODING 1026 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F8 +20 +20 +3C +22 +22 +22 +22 +22 +24 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10052 +ENCODING 1027 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +00 +7E +40 +40 +40 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10053 +ENCODING 1028 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +40 +40 +78 +40 +40 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10054 +ENCODING 1029 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +40 +40 +3C +02 +02 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10055 +ENCODING 1030 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10056 +ENCODING 1031 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +44 +44 +00 +38 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10057 +ENCODING 1032 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0E +04 +04 +04 +04 +04 +04 +44 +44 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10058 +ENCODING 1033 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +50 +90 +9C +92 +92 +92 +92 +92 +9C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10059 +ENCODING 1034 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +90 +90 +90 +9C +F2 +92 +92 +92 +92 +9C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10060 +ENCODING 1035 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F8 +20 +20 +3C +22 +22 +22 +22 +22 +22 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10061 +ENCODING 1036 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +10 +42 +44 +48 +50 +60 +60 +50 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni040D +ENCODING 1037 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +08 +42 +42 +42 +46 +4A +52 +62 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10062 +ENCODING 1038 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +42 +42 +42 +42 +42 +3E +02 +02 +02 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10145 +ENCODING 1039 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +42 +42 +42 +42 +42 +7E +18 +18 +00 +00 +ENDCHAR +STARTCHAR afii10017 +ENCODING 1040 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10018 +ENCODING 1041 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +40 +40 +7C +42 +42 +42 +42 +42 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10019 +ENCODING 1042 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +42 +42 +42 +7C +42 +42 +42 +42 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10020 +ENCODING 1043 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +40 +40 +40 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10021 +ENCODING 1044 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +44 +44 +44 +44 +44 +44 +44 +44 +FE +82 +00 +00 +00 +ENDCHAR +STARTCHAR afii10022 +ENCODING 1045 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +40 +40 +78 +40 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10024 +ENCODING 1046 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +92 +92 +92 +54 +38 +54 +92 +92 +92 +92 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10025 +ENCODING 1047 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +02 +1C +02 +02 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10026 +ENCODING 1048 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +46 +4A +52 +62 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10027 +ENCODING 1049 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +42 +42 +42 +46 +4A +52 +62 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10028 +ENCODING 1050 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +44 +48 +50 +60 +60 +50 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10029 +ENCODING 1051 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0E +12 +22 +22 +22 +22 +22 +22 +22 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10030 +ENCODING 1052 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +C6 +AA +92 +92 +82 +82 +82 +82 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10031 +ENCODING 1053 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +7E +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10032 +ENCODING 1054 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10033 +ENCODING 1055 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +42 +42 +42 +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10034 +ENCODING 1056 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +42 +42 +42 +42 +7C +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10035 +ENCODING 1057 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +40 +40 +40 +40 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10036 +ENCODING 1058 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +10 +10 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10037 +ENCODING 1059 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +42 +3E +02 +02 +02 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10038 +ENCODING 1060 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +10 +7C +92 +92 +92 +92 +92 +92 +92 +92 +7C +10 +00 +00 +00 +ENDCHAR +STARTCHAR afii10039 +ENCODING 1061 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +24 +24 +18 +18 +24 +24 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10040 +ENCODING 1062 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +42 +42 +42 +42 +42 +3F +01 +01 +00 +00 +ENDCHAR +STARTCHAR afii10041 +ENCODING 1063 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +42 +3E +02 +02 +02 +02 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10042 +ENCODING 1064 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +92 +92 +92 +92 +92 +92 +92 +92 +92 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10043 +ENCODING 1065 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +92 +92 +92 +92 +92 +92 +92 +92 +92 +7F +01 +01 +00 +00 +ENDCHAR +STARTCHAR afii10044 +ENCODING 1066 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C0 +40 +40 +7C +42 +42 +42 +42 +42 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10045 +ENCODING 1067 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +82 +82 +F2 +8A +8A +8A +8A +8A +F2 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10046 +ENCODING 1068 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +7C +42 +42 +42 +42 +42 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10047 +ENCODING 1069 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +02 +02 +1E +02 +02 +02 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10048 +ENCODING 1070 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +8C +92 +92 +92 +92 +F2 +92 +92 +92 +8C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10049 +ENCODING 1071 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3E +42 +42 +42 +42 +3E +0A +12 +22 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10065 +ENCODING 1072 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10066 +ENCODING 1073 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +40 +40 +7C +42 +42 +42 +42 +42 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10067 +ENCODING 1074 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +44 +44 +48 +7C +42 +42 +42 +42 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10068 +ENCODING 1075 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +40 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10069 +ENCODING 1076 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR afii10070 +ENCODING 1077 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10072 +ENCODING 1078 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +92 +92 +54 +38 +54 +92 +92 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10073 +ENCODING 1079 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +02 +1C +02 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10074 +ENCODING 1080 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10075 +ENCODING 1081 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10076 +ENCODING 1082 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +44 +48 +70 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10077 +ENCODING 1083 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +1E +22 +22 +22 +22 +22 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10078 +ENCODING 1084 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +82 +C6 +AA +92 +82 +82 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10079 +ENCODING 1085 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +7E +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10080 +ENCODING 1086 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10081 +ENCODING 1087 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10082 +ENCODING 1088 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +42 +42 +42 +42 +42 +7C +40 +40 +40 +00 +ENDCHAR +STARTCHAR afii10083 +ENCODING 1089 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +40 +40 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10084 +ENCODING 1090 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10085 +ENCODING 1091 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR afii10086 +ENCODING 1092 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +7C +92 +92 +92 +92 +92 +7C +10 +00 +00 +00 +ENDCHAR +STARTCHAR afii10087 +ENCODING 1093 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +24 +18 +24 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10088 +ENCODING 1094 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +3F +01 +01 +00 +00 +ENDCHAR +STARTCHAR afii10089 +ENCODING 1095 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +3E +02 +02 +02 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10090 +ENCODING 1096 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +92 +92 +92 +92 +92 +92 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10091 +ENCODING 1097 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +92 +92 +92 +92 +92 +92 +7F +01 +01 +00 +00 +ENDCHAR +STARTCHAR afii10092 +ENCODING 1098 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +60 +20 +3C +22 +22 +22 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10093 +ENCODING 1099 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +82 +82 +F2 +8A +8A +8A +F2 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10094 +ENCODING 1100 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +78 +44 +44 +44 +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10095 +ENCODING 1101 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +02 +1E +02 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10096 +ENCODING 1102 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +8C +92 +92 +F2 +92 +92 +8C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10097 +ENCODING 1103 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +42 +42 +3E +12 +22 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0450 +ENCODING 1104 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +08 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10071 +ENCODING 1105 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10099 +ENCODING 1106 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +F0 +40 +7C +42 +42 +42 +42 +42 +42 +02 +02 +0C +00 +ENDCHAR +STARTCHAR afii10100 +ENCODING 1107 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +7E +40 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10101 +ENCODING 1108 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +40 +78 +40 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10102 +ENCODING 1109 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3E +40 +40 +3C +02 +02 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10103 +ENCODING 1110 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10104 +ENCODING 1111 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +48 +48 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10105 +ENCODING 1112 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +04 +04 +00 +0C +04 +04 +04 +04 +04 +04 +44 +44 +38 +00 +ENDCHAR +STARTCHAR afii10106 +ENCODING 1113 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +70 +90 +9C +92 +92 +92 +9C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10107 +ENCODING 1114 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +90 +90 +9C +F2 +92 +92 +9C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10108 +ENCODING 1115 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +F0 +40 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10109 +ENCODING 1116 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +10 +00 +42 +44 +48 +70 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni045D +ENCODING 1117 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +08 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10110 +ENCODING 1118 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +42 +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR afii10193 +ENCODING 1119 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +7E +18 +18 +00 +00 +ENDCHAR +STARTCHAR afii10146 +ENCODING 1122 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +F0 +40 +7C +42 +42 +42 +42 +42 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10194 +ENCODING 1123 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +20 +20 +78 +20 +20 +3C +22 +22 +22 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni046A +ENCODING 1130 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +82 +44 +28 +38 +54 +92 +92 +92 +92 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni046B +ENCODING 1131 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FE +44 +28 +38 +54 +92 +92 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10050 +ENCODING 1168 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +02 +02 +7E +40 +40 +40 +40 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10098 +ENCODING 1169 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +02 +02 +7E +40 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0492 +ENCODING 1170 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +40 +40 +F8 +40 +40 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0493 +ENCODING 1171 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +40 +40 +F8 +40 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni0494 +ENCODING 1172 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +40 +40 +40 +7C +42 +42 +42 +42 +02 +04 +00 +00 +ENDCHAR +STARTCHAR uni0495 +ENCODING 1173 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +40 +40 +78 +44 +44 +44 +04 +08 +00 +00 +ENDCHAR +STARTCHAR uni0496 +ENCODING 1174 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +92 +92 +92 +54 +38 +54 +92 +92 +92 +93 +01 +01 +00 +00 +ENDCHAR +STARTCHAR uni0497 +ENCODING 1175 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +92 +92 +54 +38 +54 +92 +93 +01 +01 +00 +00 +ENDCHAR +STARTCHAR uni0498 +ENCODING 1176 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +02 +1C +02 +02 +42 +42 +3C +10 +10 +10 +00 +ENDCHAR +STARTCHAR uni0499 +ENCODING 1177 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +02 +1C +02 +42 +3C +10 +10 +10 +00 +ENDCHAR +STARTCHAR uni049A +ENCODING 1178 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +44 +48 +50 +60 +60 +50 +48 +44 +43 +01 +01 +00 +00 +ENDCHAR +STARTCHAR uni049B +ENCODING 1179 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +44 +48 +70 +48 +44 +43 +01 +01 +00 +00 +ENDCHAR +STARTCHAR uni049C +ENCODING 1180 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +54 +58 +70 +70 +58 +54 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni049D +ENCODING 1181 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +54 +58 +70 +58 +54 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04A0 +ENCODING 1184 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +C2 +44 +48 +50 +60 +60 +50 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04A1 +ENCODING 1185 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +C2 +44 +48 +70 +48 +44 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04A2 +ENCODING 1186 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +7E +42 +42 +42 +42 +43 +01 +01 +00 +00 +ENDCHAR +STARTCHAR uni04A3 +ENCODING 1187 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +7E +42 +42 +43 +01 +01 +00 +00 +ENDCHAR +STARTCHAR uni04A4 +ENCODING 1188 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +47 +44 +44 +44 +7C +44 +44 +44 +44 +44 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04A5 +ENCODING 1189 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +47 +44 +44 +7C +44 +44 +44 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04AA +ENCODING 1194 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +40 +40 +40 +40 +42 +42 +3C +10 +10 +10 +00 +ENDCHAR +STARTCHAR uni04AB +ENCODING 1195 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +40 +40 +40 +42 +3C +10 +10 +10 +00 +ENDCHAR +STARTCHAR uni04AE +ENCODING 1198 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +82 +44 +44 +28 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04AF +ENCODING 1199 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +82 +82 +44 +44 +28 +28 +10 +10 +10 +10 +00 +ENDCHAR +STARTCHAR uni04B0 +ENCODING 1200 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +82 +44 +44 +28 +10 +7C +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04B1 +ENCODING 1201 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +82 +82 +44 +44 +28 +28 +10 +7C +10 +10 +00 +ENDCHAR +STARTCHAR uni04B2 +ENCODING 1202 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +24 +24 +18 +18 +24 +24 +42 +43 +01 +01 +00 +00 +ENDCHAR +STARTCHAR uni04B3 +ENCODING 1203 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +24 +18 +24 +42 +43 +01 +01 +00 +00 +ENDCHAR +STARTCHAR uni04B6 +ENCODING 1206 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +42 +3E +02 +02 +02 +03 +01 +01 +00 +00 +ENDCHAR +STARTCHAR uni04B7 +ENCODING 1207 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +3E +02 +02 +03 +01 +01 +00 +00 +ENDCHAR +STARTCHAR uni04B8 +ENCODING 1208 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +4A +4A +3E +0A +0A +02 +02 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04B9 +ENCODING 1209 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +4A +4A +3E +0A +02 +02 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04BA +ENCODING 1210 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +40 +7C +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04BB +ENCODING 1211 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +7C +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04C0 +ENCODING 1216 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04C1 +ENCODING 1217 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +92 +92 +92 +54 +38 +54 +92 +92 +92 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04C2 +ENCODING 1218 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +92 +92 +54 +38 +54 +92 +92 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04CF +ENCODING 1231 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D0 +ENCODING 1232 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +3C +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D1 +ENCODING 1233 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D2 +ENCODING 1234 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +3C +42 +42 +42 +7E +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D3 +ENCODING 1235 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +3C +02 +3E +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D4 +ENCODING 1236 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +90 +90 +90 +FC +90 +90 +90 +90 +9E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D5 +ENCODING 1237 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +6C +12 +72 +9E +90 +90 +6C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D6 +ENCODING 1238 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +18 +00 +7E +40 +40 +40 +78 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D7 +ENCODING 1239 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +18 +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04D8 +ENCODING 1240 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +02 +02 +7E +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii10846 +ENCODING 1241 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +02 +02 +7E +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DA +ENCODING 1242 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +3C +42 +02 +02 +7E +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DB +ENCODING 1243 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +3C +02 +02 +7E +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DC +ENCODING 1244 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +44 +44 +00 +92 +92 +92 +54 +38 +54 +92 +92 +92 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DD +ENCODING 1245 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +44 +44 +00 +92 +92 +54 +38 +54 +92 +92 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DE +ENCODING 1246 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +3C +42 +42 +02 +1C +02 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04DF +ENCODING 1247 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +3C +42 +02 +1C +02 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E2 +ENCODING 1250 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +3C +00 +42 +42 +42 +46 +4A +52 +62 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E3 +ENCODING 1251 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +3C +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E4 +ENCODING 1252 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +42 +42 +42 +46 +4A +52 +62 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E5 +ENCODING 1253 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +42 +42 +42 +42 +42 +42 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E6 +ENCODING 1254 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +3C +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E7 +ENCODING 1255 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +3C +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E8 +ENCODING 1256 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +7E +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04E9 +ENCODING 1257 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +7E +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04EA +ENCODING 1258 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +3C +42 +42 +42 +7E +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04EB +ENCODING 1259 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +3C +42 +42 +7E +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04EC +ENCODING 1260 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +3C +42 +02 +02 +1E +02 +02 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04ED +ENCODING 1261 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +3C +42 +02 +1E +02 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04EE +ENCODING 1262 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +3C +00 +42 +42 +42 +42 +42 +3E +02 +02 +02 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04EF +ENCODING 1263 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +3C +00 +42 +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR uni04F0 +ENCODING 1264 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +42 +42 +42 +42 +3E +02 +02 +02 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04F1 +ENCODING 1265 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +42 +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR uni04F2 +ENCODING 1266 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +12 +24 +00 +42 +42 +42 +42 +3E +02 +02 +02 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04F3 +ENCODING 1267 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +12 +24 +00 +42 +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR uni04F4 +ENCODING 1268 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +24 +24 +00 +42 +42 +42 +42 +3E +02 +02 +02 +02 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04F5 +ENCODING 1269 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +00 +42 +42 +42 +3E +02 +02 +02 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04F8 +ENCODING 1272 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +48 +48 +00 +82 +82 +82 +F2 +8A +8A +8A +8A +F2 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni04F9 +ENCODING 1273 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +48 +48 +00 +82 +82 +F2 +8A +8A +8A +F2 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57664 +ENCODING 1488 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +22 +22 +14 +28 +44 +44 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57665 +ENCODING 1489 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +02 +02 +02 +02 +02 +02 +02 +02 +7F +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57666 +ENCODING 1490 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +70 +08 +08 +08 +08 +08 +14 +24 +42 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57667 +ENCODING 1491 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7F +02 +02 +02 +02 +02 +02 +02 +02 +02 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57668 +ENCODING 1492 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +02 +02 +42 +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57669 +ENCODING 1493 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +08 +08 +08 +08 +08 +08 +08 +08 +08 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57670 +ENCODING 1494 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +08 +10 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57671 +ENCODING 1495 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +42 +42 +42 +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57672 +ENCODING 1496 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +4C +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57673 +ENCODING 1497 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +08 +08 +08 +08 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57674 +ENCODING 1498 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +02 +02 +02 +02 +02 +02 +02 +02 +02 +02 +02 +02 +00 +ENDCHAR +STARTCHAR afii57675 +ENCODING 1499 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +02 +02 +02 +02 +02 +02 +02 +02 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57676 +ENCODING 1500 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +40 +7E +02 +02 +02 +02 +04 +08 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57677 +ENCODING 1501 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +42 +42 +42 +42 +42 +42 +42 +42 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57678 +ENCODING 1502 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +DC +62 +42 +42 +42 +42 +42 +42 +42 +4E +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57679 +ENCODING 1503 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +70 +08 +08 +08 +08 +08 +08 +08 +08 +08 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57680 +ENCODING 1504 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +04 +04 +04 +04 +04 +04 +04 +04 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57681 +ENCODING 1505 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57682 +ENCODING 1506 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +22 +22 +22 +14 +14 +18 +60 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57683 +ENCODING 1507 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +32 +02 +02 +02 +02 +02 +02 +02 +02 +00 +ENDCHAR +STARTCHAR afii57684 +ENCODING 1508 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +32 +02 +02 +02 +02 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57685 +ENCODING 1509 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +22 +24 +18 +10 +10 +10 +10 +10 +10 +10 +10 +00 +ENDCHAR +STARTCHAR afii57686 +ENCODING 1510 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +22 +24 +18 +10 +08 +08 +04 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57687 +ENCODING 1511 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +02 +02 +42 +42 +44 +48 +48 +48 +48 +40 +40 +40 +00 +ENDCHAR +STARTCHAR afii57688 +ENCODING 1512 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +02 +02 +02 +02 +02 +02 +02 +02 +02 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57689 +ENCODING 1513 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +92 +92 +92 +92 +92 +A2 +C2 +82 +84 +F8 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57690 +ENCODING 1514 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FC +42 +42 +42 +42 +42 +42 +42 +42 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1E0C +ENCODING 7692 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +78 +44 +42 +42 +42 +42 +42 +42 +44 +78 +00 +10 +10 +00 +ENDCHAR +STARTCHAR uni1E0D +ENCODING 7693 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +02 +02 +02 +3E +42 +42 +42 +42 +42 +3E +00 +08 +08 +00 +ENDCHAR +STARTCHAR Klinebelow +ENCODING 7732 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +44 +48 +50 +60 +60 +50 +48 +44 +42 +00 +3C +00 +00 +ENDCHAR +STARTCHAR klinebelow +ENCODING 7733 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +42 +44 +48 +70 +48 +44 +42 +00 +3C +00 +00 +ENDCHAR +STARTCHAR uni1E36 +ENCODING 7734 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +40 +40 +40 +40 +40 +40 +7E +00 +10 +10 +00 +ENDCHAR +STARTCHAR uni1E37 +ENCODING 7735 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +30 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +10 +10 +00 +ENDCHAR +STARTCHAR uni1E40 +ENCODING 7744 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +82 +C6 +AA +92 +92 +82 +82 +82 +82 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1E41 +ENCODING 7745 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +00 +FC +92 +92 +92 +92 +92 +92 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1E42 +ENCODING 7746 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +C6 +AA +92 +92 +82 +82 +82 +82 +82 +00 +10 +10 +00 +ENDCHAR +STARTCHAR uni1E43 +ENCODING 7747 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +FC +92 +92 +92 +92 +92 +92 +00 +10 +10 +00 +ENDCHAR +STARTCHAR uni1E44 +ENCODING 7748 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +42 +42 +42 +62 +52 +4A +46 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1E45 +ENCODING 7749 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +00 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1E46 +ENCODING 7750 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +62 +52 +4A +46 +42 +42 +42 +00 +10 +10 +00 +ENDCHAR +STARTCHAR uni1E47 +ENCODING 7751 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +42 +42 +42 +42 +42 +42 +00 +10 +10 +00 +ENDCHAR +STARTCHAR uni1E6C +ENCODING 7788 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +10 +10 +10 +10 +10 +10 +10 +10 +10 +00 +10 +10 +00 +ENDCHAR +STARTCHAR uni1E6D +ENCODING 7789 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +10 +7C +10 +10 +10 +10 +10 +0E +00 +04 +04 +00 +ENDCHAR +STARTCHAR Edotbelow +ENCODING 7864 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +40 +40 +40 +78 +40 +40 +40 +40 +7E +00 +10 +10 +00 +ENDCHAR +STARTCHAR edotbelow +ENCODING 7865 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +7E +40 +40 +3C +00 +10 +10 +00 +ENDCHAR +STARTCHAR Etilde +ENCODING 7868 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +32 +4C +00 +7E +40 +40 +40 +78 +40 +40 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR etilde +ENCODING 7869 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +32 +4C +00 +3C +42 +42 +7E +40 +40 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni1ECA +ENCODING 7882 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +10 +10 +10 +10 +10 +10 +10 +10 +38 +00 +10 +10 +00 +ENDCHAR +STARTCHAR uni1ECB +ENCODING 7883 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +00 +30 +10 +10 +10 +10 +10 +38 +00 +10 +10 +00 +ENDCHAR +STARTCHAR Odotbelow +ENCODING 7884 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +10 +10 +00 +ENDCHAR +STARTCHAR odotbelow +ENCODING 7885 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +42 +42 +42 +42 +42 +3C +00 +10 +10 +00 +ENDCHAR +STARTCHAR uni1EE4 +ENCODING 7908 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +10 +10 +00 +ENDCHAR +STARTCHAR uni1EE5 +ENCODING 7909 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +3E +00 +08 +08 +00 +ENDCHAR +STARTCHAR Ytilde +ENCODING 7928 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +64 +98 +00 +82 +82 +44 +44 +28 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ytilde +ENCODING 7929 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +32 +4C +00 +42 +42 +42 +42 +42 +42 +3E +02 +02 +3C +00 +ENDCHAR +STARTCHAR uni2000 +ENCODING 8192 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2001 +ENCODING 8193 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR enspace +ENCODING 8194 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2003 +ENCODING 8195 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2004 +ENCODING 8196 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2005 +ENCODING 8197 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2006 +ENCODING 8198 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2007 +ENCODING 8199 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2008 +ENCODING 8200 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2009 +ENCODING 8201 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni200A +ENCODING 8202 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni200B +ENCODING 8203 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii61664 +ENCODING 8204 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii301 +ENCODING 8205 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii299 +ENCODING 8206 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii300 +ENCODING 8207 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR hyphentwo +ENCODING 8208 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +3C +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2011 +ENCODING 8209 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +3C +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR figuredash +ENCODING 8210 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +7E +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR endash +ENCODING 8211 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +7E +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR emdash +ENCODING 8212 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FE +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii00208 +ENCODING 8213 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FE +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dblverticalbar +ENCODING 8214 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +00 +00 +00 +00 +ENDCHAR +STARTCHAR underscoredbl +ENCODING 8215 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7E +00 +7E +ENDCHAR +STARTCHAR quoteleft +ENCODING 8216 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +08 +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quoteright +ENCODING 8217 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +08 +08 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotesinglbase +ENCODING 8218 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +08 +08 +10 +00 +00 +00 +ENDCHAR +STARTCHAR quotereversed +ENCODING 8219 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +10 +10 +08 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotedblleft +ENCODING 8220 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +12 +24 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotedblright +ENCODING 8221 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +12 +12 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR quotedblbase +ENCODING 8222 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +24 +24 +48 +00 +00 +00 +ENDCHAR +STARTCHAR uni201F +ENCODING 8223 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +48 +48 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR dagger +ENCODING 8224 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +7C +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR daggerdbl +ENCODING 8225 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +7C +10 +10 +10 +10 +7C +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR bullet +ENCODING 8226 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +18 +3C +3C +18 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR ellipsis +ENCODING 8230 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +92 +92 +00 +00 +00 +00 +ENDCHAR +STARTCHAR perthousand +ENCODING 8240 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +48 +A8 +50 +10 +20 +20 +40 +54 +AA +94 +00 +00 +00 +00 +ENDCHAR +STARTCHAR minute +ENCODING 8242 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +10 +10 +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR second +ENCODING 8243 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +24 +24 +24 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR guilsinglleft +ENCODING 8249 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +08 +10 +20 +10 +08 +04 +00 +00 +00 +00 +ENDCHAR +STARTCHAR guilsinglright +ENCODING 8250 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +20 +10 +08 +04 +08 +10 +20 +00 +00 +00 +00 +ENDCHAR +STARTCHAR exclamdbl +ENCODING 8252 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +24 +24 +24 +24 +24 +24 +24 +00 +24 +24 +00 +00 +00 +00 +ENDCHAR +STARTCHAR overline +ENCODING 8254 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7E +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2070 +ENCODING 8304 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +24 +24 +24 +24 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2071 +ENCODING 8305 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +00 +30 +10 +10 +10 +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2074 +ENCODING 8308 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +0C +14 +3E +04 +04 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2075 +ENCODING 8309 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +20 +38 +04 +04 +38 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2076 +ENCODING 8310 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +20 +38 +24 +24 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2077 +ENCODING 8311 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +3C +04 +08 +08 +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2078 +ENCODING 8312 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +24 +18 +24 +24 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2079 +ENCODING 8313 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +18 +24 +24 +1C +04 +18 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni207A +ENCODING 8314 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +7C +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni207B +ENCODING 8315 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +7C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni207C +ENCODING 8316 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +00 +7C +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni207D +ENCODING 8317 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +08 +10 +10 +10 +10 +08 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni207E +ENCODING 8318 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +10 +08 +08 +08 +08 +10 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR nsuperior +ENCODING 8319 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +24 +24 +24 +24 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2080 +ENCODING 8320 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +18 +24 +24 +24 +24 +18 +00 +00 +00 +ENDCHAR +STARTCHAR uni2081 +ENCODING 8321 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +10 +30 +10 +10 +10 +38 +00 +00 +00 +ENDCHAR +STARTCHAR uni2082 +ENCODING 8322 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +18 +24 +04 +08 +10 +3C +00 +00 +00 +ENDCHAR +STARTCHAR uni2083 +ENCODING 8323 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +38 +04 +18 +04 +04 +38 +00 +00 +00 +ENDCHAR +STARTCHAR uni2084 +ENCODING 8324 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +04 +0C +14 +3E +04 +04 +00 +00 +00 +ENDCHAR +STARTCHAR uni2085 +ENCODING 8325 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +38 +20 +38 +04 +04 +38 +00 +00 +00 +ENDCHAR +STARTCHAR uni2086 +ENCODING 8326 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +18 +20 +38 +24 +24 +18 +00 +00 +00 +ENDCHAR +STARTCHAR uni2087 +ENCODING 8327 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +3C +04 +08 +08 +10 +10 +00 +00 +00 +ENDCHAR +STARTCHAR uni2088 +ENCODING 8328 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +18 +24 +18 +24 +24 +18 +00 +00 +00 +ENDCHAR +STARTCHAR uni2089 +ENCODING 8329 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +18 +24 +24 +1C +04 +18 +00 +00 +00 +ENDCHAR +STARTCHAR uni208A +ENCODING 8330 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +10 +10 +7C +10 +10 +00 +00 +00 +ENDCHAR +STARTCHAR uni208B +ENCODING 8331 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +7C +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni208C +ENCODING 8332 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +7C +00 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni208D +ENCODING 8333 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +08 +10 +10 +10 +10 +08 +00 +00 +00 +ENDCHAR +STARTCHAR uni208E +ENCODING 8334 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +10 +08 +08 +08 +08 +10 +00 +00 +00 +ENDCHAR +STARTCHAR uni2090 +ENCODING 8336 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +18 +04 +1C +24 +1C +00 +00 +00 +ENDCHAR +STARTCHAR uni2091 +ENCODING 8337 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +18 +24 +3C +20 +1C +00 +00 +00 +ENDCHAR +STARTCHAR uni2092 +ENCODING 8338 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +18 +24 +24 +24 +18 +00 +00 +00 +ENDCHAR +STARTCHAR uni2093 +ENCODING 8339 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +44 +28 +10 +28 +44 +00 +00 +00 +ENDCHAR +STARTCHAR uni2094 +ENCODING 8340 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +38 +04 +3C +24 +18 +00 +00 +00 +ENDCHAR +STARTCHAR uni2095 +ENCODING 8341 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +20 +20 +38 +24 +24 +24 +24 +00 +00 +00 +ENDCHAR +STARTCHAR uni2096 +ENCODING 8342 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +20 +20 +24 +28 +30 +28 +24 +00 +00 +00 +ENDCHAR +STARTCHAR uni2097 +ENCODING 8343 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +30 +10 +10 +10 +10 +10 +38 +00 +00 +00 +ENDCHAR +STARTCHAR uni2098 +ENCODING 8344 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +78 +54 +54 +54 +54 +00 +00 +00 +ENDCHAR +STARTCHAR uni209A +ENCODING 8346 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +38 +24 +24 +24 +38 +20 +20 +00 +ENDCHAR +STARTCHAR peseta +ENCODING 8359 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F0 +88 +88 +88 +F4 +84 +8E +84 +84 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii57636 +ENCODING 8362 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F2 +8A +8A +AA +AA +AA +AA +A2 +A2 +BC +00 +00 +00 +00 +ENDCHAR +STARTCHAR Euro +ENCODING 8364 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +1C +22 +40 +F8 +40 +F8 +40 +22 +1C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni20AE +ENCODING 8366 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +10 +10 +1C +70 +1C +70 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2102 +ENCODING 8450 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +52 +52 +50 +50 +50 +50 +52 +52 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni210E +ENCODING 8462 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +40 +40 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni210F +ENCODING 8463 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +F0 +40 +7C +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2115 +ENCODING 8469 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +62 +52 +6A +56 +4A +46 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR afii61352 +ENCODING 8470 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +96 +96 +96 +D0 +F0 +F0 +B0 +96 +90 +96 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni211A +ENCODING 8474 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +52 +52 +52 +52 +52 +52 +52 +5A +3C +06 +00 +00 +00 +ENDCHAR +STARTCHAR uni211D +ENCODING 8477 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +F8 +A4 +A4 +A4 +A4 +B8 +A8 +B4 +AA +E6 +00 +00 +00 +00 +ENDCHAR +STARTCHAR trademark +ENCODING 8482 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FB +55 +55 +51 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2124 +ENCODING 8484 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +02 +06 +0A +14 +28 +50 +60 +40 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR Ohm +ENCODING 8486 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +42 +42 +24 +24 +66 +00 +00 +00 +00 +ENDCHAR +STARTCHAR aleph +ENCODING 8501 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +44 +44 +22 +22 +34 +58 +88 +88 +84 +44 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowleft +ENCODING 8592 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +20 +40 +FE +40 +20 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowup +ENCODING 8593 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +38 +54 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowright +ENCODING 8594 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +08 +04 +FE +04 +08 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdown +ENCODING 8595 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +10 +10 +10 +10 +10 +54 +38 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowboth +ENCODING 8596 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +24 +42 +FF +42 +24 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowupdn +ENCODING 8597 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +38 +54 +10 +10 +10 +10 +54 +38 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21A4 +ENCODING 8612 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +22 +42 +FE +42 +22 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21A6 +ENCODING 8614 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +88 +84 +FE +84 +88 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowupdnbse +ENCODING 8616 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +38 +54 +10 +10 +10 +54 +38 +10 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21B2 +ENCODING 8626 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +02 +02 +02 +02 +02 +22 +42 +FE +40 +20 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21B3 +ENCODING 8627 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +80 +80 +80 +80 +80 +88 +84 +FE +04 +08 +00 +00 +00 +00 +ENDCHAR +STARTCHAR carriagereturn +ENCODING 8629 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +02 +02 +02 +22 +42 +FE +40 +20 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21BB +ENCODING 8635 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +F0 +30 +50 +92 +82 +82 +44 +38 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21CB +ENCODING 8651 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +20 +40 +FE +00 +FE +04 +08 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21CC +ENCODING 8652 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +08 +04 +FE +00 +FE +40 +20 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdblleft +ENCODING 8656 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +20 +7E +C0 +7E +20 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdblup +ENCODING 8657 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +38 +6C +28 +28 +28 +28 +28 +28 +28 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdblright +ENCODING 8658 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +08 +FC +06 +FC +08 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdbldown +ENCODING 8659 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +28 +28 +28 +28 +28 +28 +28 +6C +38 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR arrowdblboth +ENCODING 8660 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +24 +7E +C3 +7E +24 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni21D5 +ENCODING 8661 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +38 +6C +28 +28 +28 +28 +6C +38 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR universal +ENCODING 8704 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +82 +82 +82 +7C +44 +44 +28 +28 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR existential +ENCODING 8707 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7E +02 +02 +02 +7E +02 +02 +02 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2204 +ENCODING 8708 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +04 +7E +0A +0A +12 +7E +12 +22 +22 +7E +40 +00 +00 +00 +ENDCHAR +STARTCHAR emptyset +ENCODING 8709 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +02 +04 +7C +8A +92 +92 +A2 +7C +40 +80 +00 +00 +00 +00 +ENDCHAR +STARTCHAR increment +ENCODING 8710 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +28 +28 +44 +44 +44 +82 +82 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR gradient +ENCODING 8711 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FE +82 +82 +44 +44 +44 +28 +28 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR element +ENCODING 8712 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +1E +20 +40 +40 +7E +40 +40 +20 +1E +00 +00 +00 +00 +ENDCHAR +STARTCHAR notelement +ENCODING 8713 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +02 +1E +24 +44 +48 +7E +48 +50 +30 +3E +20 +00 +00 +00 +ENDCHAR +STARTCHAR uni220A +ENCODING 8714 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +1E +20 +40 +7E +40 +20 +1E +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR suchthat +ENCODING 8715 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +78 +04 +02 +02 +7E +02 +02 +04 +78 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni220C +ENCODING 8716 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +40 +78 +24 +22 +12 +7E +12 +0A +0C +7C +04 +00 +00 +00 +ENDCHAR +STARTCHAR uni220D +ENCODING 8717 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +78 +04 +02 +7E +02 +04 +78 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR minus +ENCODING 8722 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +7E +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2213 +ENCODING 8723 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +00 +10 +10 +7C +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2214 +ENCODING 8724 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +10 +00 +10 +10 +7C +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2215 +ENCODING 8725 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +02 +04 +08 +10 +20 +40 +80 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2216 +ENCODING 8726 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +80 +40 +20 +10 +08 +04 +02 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR bulletoperator +ENCODING 8729 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +18 +18 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR radical +ENCODING 8730 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +06 +04 +04 +04 +04 +44 +44 +44 +24 +14 +0C +00 +00 +00 +00 +ENDCHAR +STARTCHAR infinity +ENCODING 8734 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7C +92 +92 +92 +7C +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR orthogonal +ENCODING 8735 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +40 +40 +40 +40 +40 +7E +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2225 +ENCODING 8741 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +00 +00 +00 +00 +ENDCHAR +STARTCHAR logicaland +ENCODING 8743 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +10 +28 +28 +44 +44 +82 +82 +00 +00 +00 +00 +ENDCHAR +STARTCHAR logicalor +ENCODING 8744 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +82 +82 +44 +44 +28 +28 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR intersection +ENCODING 8745 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +3C +42 +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR union +ENCODING 8746 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR approxequal +ENCODING 8776 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +32 +4C +00 +32 +4C +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR notequal +ENCODING 8800 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +02 +7E +08 +10 +7E +40 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR equivalence +ENCODING 8801 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +7E +00 +00 +7E +00 +00 +7E +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR lessequal +ENCODING 8804 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +04 +08 +10 +20 +10 +08 +04 +00 +3E +00 +00 +00 +00 +ENDCHAR +STARTCHAR greaterequal +ENCODING 8805 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +20 +10 +08 +04 +08 +10 +20 +00 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni226A +ENCODING 8810 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +09 +12 +24 +48 +90 +48 +24 +12 +09 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni226B +ENCODING 8811 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +90 +48 +24 +12 +09 +12 +24 +48 +90 +00 +00 +00 +00 +ENDCHAR +STARTCHAR propersubset +ENCODING 8834 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +3E +40 +40 +40 +40 +40 +3E +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR propersuperset +ENCODING 8835 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +7C +02 +02 +02 +02 +02 +7C +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR reflexsubset +ENCODING 8838 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +3E +40 +40 +40 +40 +40 +3E +00 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR reflexsuperset +ENCODING 8839 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +7C +02 +02 +02 +02 +02 +7C +00 +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR perpendicular +ENCODING 8869 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +10 +10 +10 +10 +10 +10 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni22C2 +ENCODING 8898 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3C +42 +42 +42 +42 +42 +42 +42 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni22C3 +ENCODING 8899 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +42 +42 +42 +42 +42 +42 +42 +42 +42 +3C +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2300 +ENCODING 8960 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +02 +04 +7C +8A +92 +92 +A2 +7C +40 +80 +00 +00 +00 +00 +ENDCHAR +STARTCHAR house +ENCODING 8962 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +28 +44 +82 +82 +82 +82 +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2308 +ENCODING 8968 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +20 +20 +20 +20 +20 +20 +20 +20 +20 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2309 +ENCODING 8969 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +08 +08 +08 +08 +08 +08 +08 +08 +08 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni230A +ENCODING 8970 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +20 +20 +20 +20 +20 +20 +20 +20 +20 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni230B +ENCODING 8971 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +08 +08 +08 +08 +08 +08 +08 +08 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR revlogicalnot +ENCODING 8976 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +7E +40 +40 +40 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2319 +ENCODING 8985 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +40 +7E +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR integraltp +ENCODING 8992 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +12 +12 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR integralbt +ENCODING 8993 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +10 +10 +90 +90 +60 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni239B +ENCODING 9115 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +04 +08 +10 +10 +20 +20 +20 +40 +40 +40 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni239C +ENCODING 9116 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni239D +ENCODING 9117 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +40 +40 +40 +40 +40 +40 +40 +40 +20 +20 +20 +10 +10 +08 +04 +ENDCHAR +STARTCHAR uni239E +ENCODING 9118 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +20 +10 +10 +08 +08 +08 +04 +04 +04 +04 +04 +04 +04 +04 +04 +ENDCHAR +STARTCHAR uni239F +ENCODING 9119 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +ENDCHAR +STARTCHAR uni23A0 +ENCODING 9120 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +04 +04 +04 +04 +04 +04 +04 +04 +04 +08 +08 +08 +10 +10 +20 +40 +ENDCHAR +STARTCHAR uni23A1 +ENCODING 9121 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni23A2 +ENCODING 9122 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +ENDCHAR +STARTCHAR uni23A3 +ENCODING 9123 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +40 +7C +ENDCHAR +STARTCHAR uni23A4 +ENCODING 9124 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +7C +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +ENDCHAR +STARTCHAR uni23A5 +ENCODING 9125 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +ENDCHAR +STARTCHAR uni23A6 +ENCODING 9126 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +04 +7C +ENDCHAR +STARTCHAR uni23A7 +ENCODING 9127 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0E +10 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23A8 +ENCODING 9128 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +20 +20 +20 +20 +20 +20 +20 +C0 +C0 +20 +20 +20 +20 +20 +20 +20 +ENDCHAR +STARTCHAR uni23A9 +ENCODING 9129 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +20 +10 +0E +ENDCHAR +STARTCHAR uni23AB +ENCODING 9131 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +E0 +10 +08 +08 +08 +08 +08 +08 +08 +08 +08 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR uni23AC +ENCODING 9132 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +08 +08 +08 +08 +08 +08 +06 +06 +08 +08 +08 +08 +08 +08 +08 +ENDCHAR +STARTCHAR uni23AD +ENCODING 9133 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +08 +08 +08 +08 +08 +08 +08 +08 +08 +08 +08 +08 +08 +08 +10 +E0 +ENDCHAR +STARTCHAR uni23AE +ENCODING 9134 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni23AF +ENCODING 9135 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni23BA +ENCODING 9146 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni23BB +ENCODING 9147 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +FF +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni23BC +ENCODING 9148 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FF +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni23BD +ENCODING 9149 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FF +ENDCHAR +STARTCHAR uni23D0 +ENCODING 9168 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2409 +ENCODING 9225 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +88 +88 +F8 +88 +88 +88 +00 +1F +04 +04 +04 +04 +04 +00 +00 +ENDCHAR +STARTCHAR uni240A +ENCODING 9226 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +80 +80 +80 +80 +80 +F8 +00 +1F +10 +1C +10 +10 +10 +00 +00 +ENDCHAR +STARTCHAR uni240B +ENCODING 9227 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +88 +88 +50 +50 +20 +20 +00 +1F +04 +04 +04 +04 +04 +00 +00 +ENDCHAR +STARTCHAR uni240C +ENCODING 9228 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +F8 +80 +E0 +80 +80 +80 +00 +1F +10 +1C +10 +10 +10 +00 +00 +ENDCHAR +STARTCHAR uni240D +ENCODING 9229 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +70 +88 +80 +80 +88 +70 +00 +1E +11 +11 +1E +12 +11 +00 +00 +ENDCHAR +STARTCHAR uni2424 +ENCODING 9252 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +88 +C8 +A8 +98 +88 +88 +00 +10 +10 +10 +10 +10 +1F +00 +00 +ENDCHAR +STARTCHAR SF100000 +ENCODING 9472 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2501 +ENCODING 9473 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF110000 +ENCODING 9474 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2503 +ENCODING 9475 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2508 +ENCODING 9480 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +AA +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2509 +ENCODING 9481 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +AA +AA +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni250A +ENCODING 9482 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +00 +10 +10 +10 +00 +10 +10 +10 +00 +10 +10 +10 +00 +ENDCHAR +STARTCHAR uni250B +ENCODING 9483 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +00 +18 +18 +18 +00 +18 +18 +18 +00 +18 +18 +18 +00 +ENDCHAR +STARTCHAR SF010000 +ENCODING 9484 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +1F +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni250D +ENCODING 9485 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +1F +1F +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni250E +ENCODING 9486 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +1F +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni250F +ENCODING 9487 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +1F +1F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF030000 +ENCODING 9488 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +F0 +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2511 +ENCODING 9489 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +F0 +F0 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2512 +ENCODING 9490 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +F8 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2513 +ENCODING 9491 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +F8 +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF020000 +ENCODING 9492 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +1F +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2515 +ENCODING 9493 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +1F +1F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2516 +ENCODING 9494 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +1F +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2517 +ENCODING 9495 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +1F +1F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF040000 +ENCODING 9496 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +F0 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2519 +ENCODING 9497 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +F0 +F0 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni251A +ENCODING 9498 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +F8 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni251B +ENCODING 9499 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +F8 +F8 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF080000 +ENCODING 9500 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +1F +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni251D +ENCODING 9501 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +1F +1F +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni251E +ENCODING 9502 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +1F +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni251F +ENCODING 9503 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +1F +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2520 +ENCODING 9504 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +1F +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2521 +ENCODING 9505 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +1F +1F +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2522 +ENCODING 9506 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +1F +1F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2523 +ENCODING 9507 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +1F +1F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF090000 +ENCODING 9508 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +F0 +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2525 +ENCODING 9509 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +F0 +F0 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2526 +ENCODING 9510 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +F8 +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2527 +ENCODING 9511 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +F8 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2528 +ENCODING 9512 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +F8 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2529 +ENCODING 9513 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +F8 +F8 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni252A +ENCODING 9514 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +F8 +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni252B +ENCODING 9515 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +F8 +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF060000 +ENCODING 9516 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni252D +ENCODING 9517 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +F0 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni252E +ENCODING 9518 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +1F +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni252F +ENCODING 9519 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +FF +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2530 +ENCODING 9520 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2531 +ENCODING 9521 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2532 +ENCODING 9522 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +1F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2533 +ENCODING 9523 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF070000 +ENCODING 9524 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2535 +ENCODING 9525 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +F0 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2536 +ENCODING 9526 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +1F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2537 +ENCODING 9527 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2538 +ENCODING 9528 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2539 +ENCODING 9529 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +F8 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni253A +ENCODING 9530 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +1F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni253B +ENCODING 9531 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF050000 +ENCODING 9532 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni253D +ENCODING 9533 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +F0 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni253E +ENCODING 9534 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +1F +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni253F +ENCODING 9535 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +FF +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2540 +ENCODING 9536 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2541 +ENCODING 9537 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2542 +ENCODING 9538 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2543 +ENCODING 9539 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +F0 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2544 +ENCODING 9540 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +1F +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2545 +ENCODING 9541 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2546 +ENCODING 9542 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +1F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2547 +ENCODING 9543 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +FF +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2548 +ENCODING 9544 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni2549 +ENCODING 9545 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +F8 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni254A +ENCODING 9546 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +1F +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni254B +ENCODING 9547 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +FF +FF +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR SF430000 +ENCODING 9552 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +FF +00 +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF240000 +ENCODING 9553 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF510000 +ENCODING 9554 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +1F +10 +1F +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR SF520000 +ENCODING 9555 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +3F +28 +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF390000 +ENCODING 9556 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +3F +20 +2F +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF220000 +ENCODING 9557 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +F0 +10 +F0 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR SF210000 +ENCODING 9558 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +F8 +28 +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF250000 +ENCODING 9559 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +F8 +08 +E8 +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF500000 +ENCODING 9560 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +1F +10 +1F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF490000 +ENCODING 9561 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +28 +3F +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF380000 +ENCODING 9562 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +2F +20 +3F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF280000 +ENCODING 9563 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +F0 +10 +F0 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF270000 +ENCODING 9564 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +28 +F8 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF260000 +ENCODING 9565 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +E8 +08 +F8 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF360000 +ENCODING 9566 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +1F +10 +1F +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR SF370000 +ENCODING 9567 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +28 +2F +28 +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF420000 +ENCODING 9568 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +2F +20 +2F +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF190000 +ENCODING 9569 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +F0 +10 +F0 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR SF200000 +ENCODING 9570 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +28 +E8 +28 +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF230000 +ENCODING 9571 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +E8 +08 +E8 +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF470000 +ENCODING 9572 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +FF +00 +FF +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR SF480000 +ENCODING 9573 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +28 +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF410000 +ENCODING 9574 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +FF +00 +EF +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF450000 +ENCODING 9575 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +FF +00 +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF460000 +ENCODING 9576 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +28 +FF +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF400000 +ENCODING 9577 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +EF +00 +FF +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR SF540000 +ENCODING 9578 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +FF +10 +FF +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR SF530000 +ENCODING 9579 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +28 +FF +28 +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR SF440000 +ENCODING 9580 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +28 +28 +28 +28 +28 +28 +EF +00 +EF +28 +28 +28 +28 +28 +28 +28 +ENDCHAR +STARTCHAR uni256D +ENCODING 9581 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +07 +08 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni256E +ENCODING 9582 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +C0 +20 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni256F +ENCODING 9583 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +20 +C0 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2570 +ENCODING 9584 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +08 +07 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2571 +ENCODING 9585 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +01 +01 +02 +02 +04 +04 +08 +08 +10 +10 +20 +20 +40 +40 +80 +80 +ENDCHAR +STARTCHAR uni2572 +ENCODING 9586 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +80 +80 +40 +40 +20 +20 +10 +10 +08 +08 +04 +04 +02 +02 +01 +01 +ENDCHAR +STARTCHAR uni2573 +ENCODING 9587 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +81 +81 +42 +42 +24 +24 +18 +18 +18 +18 +24 +24 +42 +42 +81 +81 +ENDCHAR +STARTCHAR uni2574 +ENCODING 9588 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +F0 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2575 +ENCODING 9589 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +10 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2576 +ENCODING 9590 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +1F +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2577 +ENCODING 9591 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +10 +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR uni2578 +ENCODING 9592 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +F0 +F0 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2579 +ENCODING 9593 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +18 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni257A +ENCODING 9594 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +1F +1F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni257B +ENCODING 9595 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +18 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni257C +ENCODING 9596 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +1F +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni257D +ENCODING 9597 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +10 +10 +10 +10 +10 +10 +10 +18 +18 +18 +18 +18 +18 +18 +18 +18 +ENDCHAR +STARTCHAR uni257E +ENCODING 9598 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +FF +F0 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni257F +ENCODING 9599 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +18 +18 +18 +18 +18 +18 +18 +18 +10 +10 +10 +10 +10 +10 +10 +10 +ENDCHAR +STARTCHAR upblock +ENCODING 9600 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +FF +FF +FF +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2581 +ENCODING 9601 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FF +FF +ENDCHAR +STARTCHAR uni2582 +ENCODING 9602 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni2583 +ENCODING 9603 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR dnblock +ENCODING 9604 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni2585 +ENCODING 9605 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni2586 +ENCODING 9606 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni2587 +ENCODING 9607 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR block +ENCODING 9608 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni2589 +ENCODING 9609 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +FE +ENDCHAR +STARTCHAR uni258A +ENCODING 9610 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +FC +ENDCHAR +STARTCHAR uni258B +ENCODING 9611 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +F8 +ENDCHAR +STARTCHAR lfblock +ENCODING 9612 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni258D +ENCODING 9613 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +E0 +ENDCHAR +STARTCHAR uni258E +ENCODING 9614 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +C0 +ENDCHAR +STARTCHAR uni258F +ENCODING 9615 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR rtblock +ENCODING 9616 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +0F +ENDCHAR +STARTCHAR ltshade +ENCODING 9617 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +88 +22 +88 +22 +88 +22 +88 +22 +88 +22 +88 +22 +88 +22 +88 +22 +ENDCHAR +STARTCHAR shade +ENCODING 9618 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +AA +55 +AA +55 +AA +55 +AA +55 +AA +55 +AA +55 +AA +55 +AA +55 +ENDCHAR +STARTCHAR dkshade +ENCODING 9619 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +EE +BB +EE +BB +EE +BB +EE +BB +EE +BB +EE +BB +EE +BB +EE +BB +ENDCHAR +STARTCHAR uni2596 +ENCODING 9622 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni2597 +ENCODING 9623 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +0F +0F +0F +0F +0F +0F +0F +0F +ENDCHAR +STARTCHAR uni2598 +ENCODING 9624 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2599 +ENCODING 9625 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR uni259A +ENCODING 9626 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +0F +0F +0F +0F +0F +0F +0F +0F +ENDCHAR +STARTCHAR uni259B +ENCODING 9627 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +FF +FF +FF +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni259C +ENCODING 9628 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +FF +FF +FF +0F +0F +0F +0F +0F +0F +0F +0F +ENDCHAR +STARTCHAR uni259D +ENCODING 9629 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0F +0F +0F +0F +0F +0F +0F +0F +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni259E +ENCODING 9630 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0F +0F +0F +0F +0F +0F +0F +0F +F0 +F0 +F0 +F0 +F0 +F0 +F0 +F0 +ENDCHAR +STARTCHAR uni259F +ENCODING 9631 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +0F +0F +0F +0F +0F +0F +0F +0F +FF +FF +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR filledbox +ENCODING 9632 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +3C +3C +3C +3C +3C +3C +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR filledrect +ENCODING 9644 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +7E +7E +7E +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni25AE +ENCODING 9646 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +7E +7E +7E +7E +7E +7E +7E +7E +7E +00 +00 +00 +00 +ENDCHAR +STARTCHAR triagup +ENCODING 9650 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +10 +38 +38 +7C +7C +FE +FE +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni25B6 +ENCODING 9654 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +C0 +F0 +FC +FF +FC +F0 +C0 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR triagrt +ENCODING 9658 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +C0 +F0 +FC +FF +FC +F0 +C0 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR triagdn +ENCODING 9660 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +FE +FE +7C +7C +38 +38 +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni25C0 +ENCODING 9664 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +03 +0F +3F +FF +3F +0F +03 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR triaglf +ENCODING 9668 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +03 +0F +3F +FF +3F +0F +03 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR blackdiamond +ENCODING 9670 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +38 +7C +FE +7C +38 +10 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR lozenge +ENCODING 9674 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +28 +44 +82 +44 +28 +10 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR circle +ENCODING 9675 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +18 +24 +24 +18 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR H18533 +ENCODING 9679 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +18 +3C +3C +18 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR invbullet +ENCODING 9688 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +FF +E7 +C3 +C3 +E7 +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR invcircle +ENCODING 9689 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +FF +FF +FF +FF +FF +FF +E7 +DB +DB +E7 +FF +FF +FF +FF +FF +FF +ENDCHAR +STARTCHAR smileface +ENCODING 9786 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +82 +AA +82 +82 +BA +92 +82 +82 +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR invsmileface +ENCODING 9787 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7C +FE +D6 +FE +FE +C6 +EE +FE +FE +7C +00 +00 +00 +00 +ENDCHAR +STARTCHAR sun +ENCODING 9788 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +10 +92 +54 +38 +EE +38 +54 +92 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR female +ENCODING 9792 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +38 +44 +44 +44 +44 +38 +10 +7C +10 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR male +ENCODING 9794 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +1E +06 +0A +12 +38 +44 +44 +44 +44 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR spade +ENCODING 9824 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +10 +38 +7C +FE +FE +7C +10 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR club +ENCODING 9827 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +10 +38 +38 +10 +54 +FE +FE +54 +10 +38 +00 +00 +00 +00 +ENDCHAR +STARTCHAR heart +ENCODING 9829 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +6C +FE +FE +FE +FE +7C +38 +10 +00 +00 +00 +00 +ENDCHAR +STARTCHAR diamond +ENCODING 9830 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +10 +38 +7C +FE +7C +38 +10 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR musicalnote +ENCODING 9834 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +3E +22 +3E +20 +20 +20 +20 +20 +20 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR musicalnotedbl +ENCODING 9835 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +42 +7E +42 +42 +42 +42 +42 +42 +44 +80 +00 +00 +00 +ENDCHAR +STARTCHAR uni2713 +ENCODING 10003 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +02 +02 +04 +04 +88 +88 +50 +50 +20 +20 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2714 +ENCODING 10004 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +03 +03 +06 +06 +CC +CC +78 +78 +30 +30 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2717 +ENCODING 10007 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +04 +44 +28 +18 +18 +14 +22 +20 +40 +40 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2718 +ENCODING 10008 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +0C +CC +78 +38 +38 +3C +66 +60 +C0 +C0 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni27E8 +ENCODING 10216 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +08 +08 +10 +10 +20 +20 +10 +10 +08 +08 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni27E9 +ENCODING 10217 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +20 +20 +10 +10 +08 +08 +10 +10 +20 +20 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni27EA +ENCODING 10218 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +12 +12 +24 +24 +48 +48 +24 +24 +12 +12 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni27EB +ENCODING 10219 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +48 +48 +24 +24 +12 +12 +24 +24 +48 +48 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2800 +ENCODING 10240 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2801 +ENCODING 10241 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2802 +ENCODING 10242 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2803 +ENCODING 10243 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2804 +ENCODING 10244 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2805 +ENCODING 10245 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2806 +ENCODING 10246 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2807 +ENCODING 10247 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2808 +ENCODING 10248 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2809 +ENCODING 10249 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280A +ENCODING 10250 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280B +ENCODING 10251 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280C +ENCODING 10252 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280D +ENCODING 10253 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280E +ENCODING 10254 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni280F +ENCODING 10255 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2810 +ENCODING 10256 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2811 +ENCODING 10257 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2812 +ENCODING 10258 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2813 +ENCODING 10259 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2814 +ENCODING 10260 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2815 +ENCODING 10261 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2816 +ENCODING 10262 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2817 +ENCODING 10263 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2818 +ENCODING 10264 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2819 +ENCODING 10265 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281A +ENCODING 10266 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281B +ENCODING 10267 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281C +ENCODING 10268 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281D +ENCODING 10269 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281E +ENCODING 10270 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni281F +ENCODING 10271 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2820 +ENCODING 10272 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2821 +ENCODING 10273 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2822 +ENCODING 10274 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2823 +ENCODING 10275 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2824 +ENCODING 10276 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2825 +ENCODING 10277 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2826 +ENCODING 10278 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2827 +ENCODING 10279 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2828 +ENCODING 10280 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2829 +ENCODING 10281 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282A +ENCODING 10282 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282B +ENCODING 10283 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282C +ENCODING 10284 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282D +ENCODING 10285 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282E +ENCODING 10286 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni282F +ENCODING 10287 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2830 +ENCODING 10288 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2831 +ENCODING 10289 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2832 +ENCODING 10290 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2833 +ENCODING 10291 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2834 +ENCODING 10292 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2835 +ENCODING 10293 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2836 +ENCODING 10294 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2837 +ENCODING 10295 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2838 +ENCODING 10296 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2839 +ENCODING 10297 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283A +ENCODING 10298 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283B +ENCODING 10299 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283C +ENCODING 10300 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283D +ENCODING 10301 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283E +ENCODING 10302 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni283F +ENCODING 10303 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uni2840 +ENCODING 10304 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2841 +ENCODING 10305 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2842 +ENCODING 10306 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2843 +ENCODING 10307 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2844 +ENCODING 10308 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2845 +ENCODING 10309 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2846 +ENCODING 10310 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2847 +ENCODING 10311 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2848 +ENCODING 10312 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2849 +ENCODING 10313 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni284A +ENCODING 10314 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni284B +ENCODING 10315 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni284C +ENCODING 10316 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni284D +ENCODING 10317 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni284E +ENCODING 10318 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni284F +ENCODING 10319 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2850 +ENCODING 10320 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2851 +ENCODING 10321 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2852 +ENCODING 10322 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2853 +ENCODING 10323 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2854 +ENCODING 10324 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2855 +ENCODING 10325 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2856 +ENCODING 10326 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2857 +ENCODING 10327 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2858 +ENCODING 10328 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2859 +ENCODING 10329 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni285A +ENCODING 10330 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni285B +ENCODING 10331 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni285C +ENCODING 10332 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni285D +ENCODING 10333 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni285E +ENCODING 10334 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni285F +ENCODING 10335 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2860 +ENCODING 10336 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2861 +ENCODING 10337 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2862 +ENCODING 10338 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2863 +ENCODING 10339 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2864 +ENCODING 10340 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2865 +ENCODING 10341 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2866 +ENCODING 10342 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2867 +ENCODING 10343 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2868 +ENCODING 10344 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2869 +ENCODING 10345 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni286A +ENCODING 10346 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni286B +ENCODING 10347 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni286C +ENCODING 10348 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni286D +ENCODING 10349 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni286E +ENCODING 10350 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni286F +ENCODING 10351 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2870 +ENCODING 10352 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2871 +ENCODING 10353 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2872 +ENCODING 10354 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2873 +ENCODING 10355 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2874 +ENCODING 10356 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2875 +ENCODING 10357 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2876 +ENCODING 10358 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2877 +ENCODING 10359 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2878 +ENCODING 10360 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2879 +ENCODING 10361 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni287A +ENCODING 10362 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni287B +ENCODING 10363 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni287C +ENCODING 10364 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni287D +ENCODING 10365 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni287E +ENCODING 10366 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni287F +ENCODING 10367 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +40 +40 +00 +ENDCHAR +STARTCHAR uni2880 +ENCODING 10368 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2881 +ENCODING 10369 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2882 +ENCODING 10370 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2883 +ENCODING 10371 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2884 +ENCODING 10372 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2885 +ENCODING 10373 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2886 +ENCODING 10374 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2887 +ENCODING 10375 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2888 +ENCODING 10376 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2889 +ENCODING 10377 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni288A +ENCODING 10378 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni288B +ENCODING 10379 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni288C +ENCODING 10380 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni288D +ENCODING 10381 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni288E +ENCODING 10382 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni288F +ENCODING 10383 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2890 +ENCODING 10384 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2891 +ENCODING 10385 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2892 +ENCODING 10386 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2893 +ENCODING 10387 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2894 +ENCODING 10388 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2895 +ENCODING 10389 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2896 +ENCODING 10390 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2897 +ENCODING 10391 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2898 +ENCODING 10392 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni2899 +ENCODING 10393 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni289A +ENCODING 10394 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni289B +ENCODING 10395 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni289C +ENCODING 10396 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni289D +ENCODING 10397 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni289E +ENCODING 10398 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni289F +ENCODING 10399 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28A0 +ENCODING 10400 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28A1 +ENCODING 10401 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28A2 +ENCODING 10402 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28A3 +ENCODING 10403 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28A4 +ENCODING 10404 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28A5 +ENCODING 10405 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28A6 +ENCODING 10406 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28A7 +ENCODING 10407 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28A8 +ENCODING 10408 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28A9 +ENCODING 10409 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28AA +ENCODING 10410 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28AB +ENCODING 10411 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28AC +ENCODING 10412 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28AD +ENCODING 10413 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28AE +ENCODING 10414 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28AF +ENCODING 10415 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28B0 +ENCODING 10416 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28B1 +ENCODING 10417 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28B2 +ENCODING 10418 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28B3 +ENCODING 10419 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28B4 +ENCODING 10420 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28B5 +ENCODING 10421 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28B6 +ENCODING 10422 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28B7 +ENCODING 10423 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28B8 +ENCODING 10424 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28B9 +ENCODING 10425 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28BA +ENCODING 10426 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28BB +ENCODING 10427 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28BC +ENCODING 10428 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28BD +ENCODING 10429 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28BE +ENCODING 10430 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28BF +ENCODING 10431 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +04 +04 +00 +ENDCHAR +STARTCHAR uni28C0 +ENCODING 10432 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28C1 +ENCODING 10433 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28C2 +ENCODING 10434 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28C3 +ENCODING 10435 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28C4 +ENCODING 10436 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28C5 +ENCODING 10437 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28C6 +ENCODING 10438 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28C7 +ENCODING 10439 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28C8 +ENCODING 10440 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28C9 +ENCODING 10441 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28CA +ENCODING 10442 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28CB +ENCODING 10443 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28CC +ENCODING 10444 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28CD +ENCODING 10445 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28CE +ENCODING 10446 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28CF +ENCODING 10447 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28D0 +ENCODING 10448 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28D1 +ENCODING 10449 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28D2 +ENCODING 10450 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28D3 +ENCODING 10451 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28D4 +ENCODING 10452 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28D5 +ENCODING 10453 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28D6 +ENCODING 10454 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28D7 +ENCODING 10455 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28D8 +ENCODING 10456 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28D9 +ENCODING 10457 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28DA +ENCODING 10458 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28DB +ENCODING 10459 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +00 +00 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28DC +ENCODING 10460 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28DD +ENCODING 10461 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28DE +ENCODING 10462 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28DF +ENCODING 10463 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +40 +40 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28E0 +ENCODING 10464 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28E1 +ENCODING 10465 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28E2 +ENCODING 10466 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28E3 +ENCODING 10467 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28E4 +ENCODING 10468 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28E5 +ENCODING 10469 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28E6 +ENCODING 10470 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28E7 +ENCODING 10471 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28E8 +ENCODING 10472 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28E9 +ENCODING 10473 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28EA +ENCODING 10474 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28EB +ENCODING 10475 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28EC +ENCODING 10476 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28ED +ENCODING 10477 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +00 +00 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28EE +ENCODING 10478 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28EF +ENCODING 10479 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +40 +40 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28F0 +ENCODING 10480 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28F1 +ENCODING 10481 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28F2 +ENCODING 10482 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28F3 +ENCODING 10483 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28F4 +ENCODING 10484 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28F5 +ENCODING 10485 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28F6 +ENCODING 10486 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28F7 +ENCODING 10487 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +40 +40 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28F8 +ENCODING 10488 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28F9 +ENCODING 10489 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28FA +ENCODING 10490 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28FB +ENCODING 10491 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +04 +04 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28FC +ENCODING 10492 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28FD +ENCODING 10493 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +04 +04 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28FE +ENCODING 10494 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +04 +04 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni28FF +ENCODING 10495 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +44 +44 +00 +00 +44 +44 +00 +00 +44 +44 +00 +00 +44 +44 +00 +ENDCHAR +STARTCHAR uni2E2C +ENCODING 11820 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +42 +42 +00 +00 +00 +42 +42 +00 +00 +00 +00 +ENDCHAR +STARTCHAR uniE0A0 +ENCODING 57504 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +80 +80 +88 +9C +AA +88 +88 +88 +10 +20 +40 +80 +80 +80 +80 +80 +ENDCHAR +STARTCHAR uniE0A1 +ENCODING 57505 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +80 +80 +80 +80 +80 +F8 +00 +11 +19 +15 +13 +11 +11 +00 +00 +ENDCHAR +STARTCHAR uniE0A2 +ENCODING 57506 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +38 +44 +44 +44 +44 +FE +FE +EE +C6 +EE +FE +FE +FE +00 +00 +ENDCHAR +STARTCHAR uniE0B0 +ENCODING 57520 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +80 +C0 +E0 +F0 +F8 +FC +FE +FF +FF +FE +FC +F8 +F0 +E0 +C0 +80 +ENDCHAR +STARTCHAR uniE0B1 +ENCODING 57521 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +80 +40 +20 +10 +08 +04 +02 +01 +01 +02 +04 +08 +10 +20 +40 +80 +ENDCHAR +STARTCHAR uniE0B2 +ENCODING 57522 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +01 +03 +07 +0F +1F +3F +7F +FF +FF +7F +3F +1F +0F +07 +03 +01 +ENDCHAR +STARTCHAR uniE0B3 +ENCODING 57523 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +01 +02 +04 +08 +10 +20 +40 +80 +80 +40 +20 +10 +08 +04 +02 +01 +ENDCHAR +STARTCHAR uniF6BE +ENCODING 63166 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +00 +00 +00 +0C +04 +04 +04 +04 +04 +04 +44 +44 +38 +00 +ENDCHAR +STARTCHAR uniFFFD +ENCODING 65533 +SWIDTH 500 0 +DWIDTH 8 0 +BBX 8 16 0 -4 +BITMAP +00 +00 +7E +42 +42 +42 +42 +42 +42 +42 +42 +7E +00 +00 +00 +00 +ENDCHAR +ENDFONT diff --git a/test_bench/hdmi_test_generator/hdmi_ouput_test.vhd b/test_bench/hdmi_test_generator/hdmi_ouput_test.vhd new file mode 100644 index 0000000..ffaff27 --- /dev/null +++ b/test_bench/hdmi_test_generator/hdmi_ouput_test.vhd @@ -0,0 +1,149 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Top level design for my minimal HDMI output project +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +entity hdmi_output_test is + Port ( clk50 : in STD_LOGIC; + + hdmi_out_p : out STD_LOGIC_VECTOR(3 downto 0); + hdmi_out_n : out STD_LOGIC_VECTOR(3 downto 0); + + leds : out std_logic_vector(7 downto 0)); +end hdmi_output_test; + +architecture Behavioral of hdmi_output_test is + + COMPONENT vga_gen + PORT( + clk50 : IN std_logic; + pixel_clock : OUT std_logic; + red_p : OUT std_logic_vector(7 downto 0); + green_p : OUT std_logic_vector(7 downto 0); + blue_p : OUT std_logic_vector(7 downto 0); + blank : OUT std_logic; + hsync : OUT std_logic; + vsync : OUT std_logic + ); + END COMPONENT; + + COMPONENT Minimal_hdmi_symbols + PORT( + clk : IN std_logic; + blank : IN std_logic; + hsync : IN std_logic; + vsync : IN std_logic; + red : IN std_logic; + green : IN std_logic; + blue : IN std_logic; + c0 : OUT std_logic_vector(9 downto 0); + c1 : OUT std_logic_vector(9 downto 0); + c2 : OUT std_logic_vector(9 downto 0) + ); + END COMPONENT; + + COMPONENT serializers + PORT( + clk : IN std_logic; + c0 : IN std_logic_vector(9 downto 0); + c1 : IN std_logic_vector(9 downto 0); + c2 : IN std_logic_vector(9 downto 0); + hdmi_p : OUT std_logic_vector(3 downto 0); + hdmi_n : OUT std_logic_vector(3 downto 0) + ); + END COMPONENT; + + signal pixel_clock : std_logic; + + signal red_p : std_logic_vector(7 downto 0); + signal green_p : std_logic_vector(7 downto 0); + signal blue_p : std_logic_vector(7 downto 0); + signal blank : std_logic; + signal hsync : std_logic; + signal vsync : std_logic; + + signal c0, c1, c2 : std_logic_vector(9 downto 0); +begin + leds <= x"AA"; + +--------------------------------------- +-- Generate a 1280x720 VGA test pattern +--------------------------------------- +Inst_vga_gen: vga_gen PORT MAP( + clk50 => clk50, + pixel_clock => pixel_clock, + red_p => red_p, + green_p => green_p, + blue_p => blue_p, + blank => blank, + hsync => hsync, + vsync => vsync + ); + +--------------------------------------------------- +-- Convert 9 bits of the VGA signals to the DVI-D/TMDS output +--------------------------------------------------- +i_Minimal_hdmi_symbols: Minimal_hdmi_symbols PORT MAP( + clk => pixel_clock, + blank => blank, + hsync => hsync, + vsync => vsync, + red => red_p(7), + green => green_p(7), + blue => blue_p(7), + c0 => c0, + c1 => c1, + c2 => c2 + ); + +i_serializers : serializers PORT MAP ( + clk => pixel_clock, + c0 => c0, + c1 => c1, + c2 => c2, + hdmi_p => hdmi_out_p, + hdmi_n => hdmi_out_n); + +end Behavioral; + diff --git a/test_bench/hdmi_test_generator/minimal_hdmi_symbols.vhd b/test_bench/hdmi_test_generator/minimal_hdmi_symbols.vhd new file mode 100644 index 0000000..cfe9d6f --- /dev/null +++ b/test_bench/hdmi_test_generator/minimal_hdmi_symbols.vhd @@ -0,0 +1,283 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field (others => '0')); + signal symbols : STD_LOGIC_VECTOR (29 downto 0) := (others => '0'); + + signal last_blank : std_logic := '0'; + signal last_vsync : std_logic := '0'; + signal last_hsync : std_logic := '0'; + + signal data_island_armed : std_logic := '0'; + signal data_island_index : unsigned(5 downto 0) := (others => '1'); +begin + c0 <= symbols(29 downto 20); + c1 <= symbols(19 downto 10); + c2 <= symbols( 9 downto 0); + +process(clk) + begin + if rising_edge(clk) then + case symbol_queue(0) is + --------------------------------------------------------------- + -- Eight TMDS encoded colours for testing + --------------------------------------------------------------- + when "00000" => symbols <= "0111110000" & "0111110000" & "0111110000"; -- RGB 0x101010 - Black + when "00001" => symbols <= "0111110000" & "0111110000" & "1011110000"; -- RGB 0xEF1010 - Red + when "00010" => symbols <= "0111110000" & "1011110000" & "0111110000"; -- RGB 0x10EF10 - Green + when "00011" => symbols <= "0111110000" & "1011110000" & "1011110000"; -- RGB 0xEFEF10 - Cyan + when "00100" => symbols <= "1011110000" & "0111110000" & "0111110000"; -- RGB 0x1010EF - Blue + when "00101" => symbols <= "1011110000" & "0111110000" & "1011110000"; -- RGB 0xEF10EF - Magenta + when "00110" => symbols <= "1011110000" & "1011110000" & "0111110000"; -- RGB 0x10EFEF - Yellow + when "00111" => symbols <= "1011110000" & "1011110000" & "1011110000"; -- RGB 0xEFEFEF - White + --------------------------------------------------------------- + -- control symbols from 5.4.2 - part of the DVI-D standard + --------------------------------------------------------------- + when "01000" => symbols <= "1101010100" & "1101010100" & "1101010100"; -- CTL periods + when "01001" => symbols <= "0010101011" & "1101010100" & "1101010100"; -- Hsync + when "01010" => symbols <= "0101010100" & "1101010100" & "1101010100"; -- vSync + when "01011" => symbols <= "1010101011" & "1101010100" & "1101010100"; -- vSync+hSync + --------------------------------------------------------------- + -- Symbols to signal the start of a HDMI feature + --------------------------------------------------------------- + when "01100" => symbols <= "0101010100" & "0010101011" & "0010101011"; -- DataIslandPeamble, with VSYNC - 5.2.1.1 + when "01101" => symbols <= "0101100011" & "0100110011" & "0100110011"; -- DataIslandGuardBand, with VSYNC - 5.2.3.3 + when "01110" => symbols <= "1101010100" & "0010101011" & "1101010100"; -- VideoPramble 5.2.1.1 + when "01111" => symbols <= "1011001100" & "0100110011" & "1011001100"; -- VideoGuardBand 5.2.2.1 + + --------------------------------------------------------------- + -- From TERC4 codes in 5.4.3, and data data layout from 5.2.3.1 + -- + -- First nibble is used for the nFirstWordOfPacket (MSB) Header Bit, VSYNC, HSYNC (LSB). + -- The packet is sent where VSYNC = '1' and HSYNC = '0', so we are left with 4 options + -- Second nibble is used for the odd bits the four data sub-packets + -- Third nibble is used for the even bits the four data sub-packets + -- + -- These can be used to contruct a data island with any header + -- and any data in subpacket 0, but all other subpackets + -- must be 0s. + --------------------------------------------------------------- + when "10000" => symbols <= "1011100100" & "1010011100" & "1010011100"; -- 0010 0000 0000, TERC4 coded + when "10001" => symbols <= "1011100100" & "1010011100" & "1001100011"; -- 0010 0000 0001, TERC4 coded + when "10010" => symbols <= "1011100100" & "1001100011" & "1010011100"; -- 0010 0000 0000, TERC4 coded + when "10011" => symbols <= "1011100100" & "1001100011" & "1001100011"; -- 0010 0001 0001, TERC4 coded + when "10100" => symbols <= "0110001110" & "1010011100" & "1010011100"; -- 0110 0000 0000, TERC4 coded + when "10101" => symbols <= "0110001110" & "1010011100" & "1001100011"; -- 0110 0000 0001, TERC4 coded + when "10110" => symbols <= "0110001110" & "1001100011" & "1010011100"; -- 0110 0001 0000, TERC4 coded + when "10111" => symbols <= "0110001110" & "1001100011" & "1001100011"; -- 0110 0001 0001, TERC4 coded + when "11000" => symbols <= "0110011100" & "1010011100" & "1010011100"; -- 1010 0000 0000, TERC4 coded + when "11001" => symbols <= "0110011100" & "1010011100" & "1001100011"; -- 1010 0000 0001, TERC4 coded + when "11010" => symbols <= "0110011100" & "1001100011" & "1010011100"; -- 1010 0001 0000, TERC4 coded + when "11011" => symbols <= "0110011100" & "1001100011" & "1001100011"; -- 1010 0001 0001, TERC4 coded + when "11100" => symbols <= "0101100011" & "1010011100" & "1010011100"; -- 1110 0000 0000, TERC4 coded + when "11101" => symbols <= "0101100011" & "1010011100" & "1001100011"; -- 1110 0000 0001, TERC4 coded + when "11110" => symbols <= "0101100011" & "1001100011" & "1010011100"; -- 1110 0001 0000, TERC4 coded + when "11111" => symbols <= "0101100011" & "1001100011" & "1001100011"; -- 1110 0001 0001, TERC4 coded + + when others => symbols <= (others => '0'); + end case; + + if blank = '0' then + -- Are we being asked to send video data? If so we need to send a peramble + if last_blank = '1' then + symbol_queue(10) <= "00" & blue & green & red; + symbol_queue(9) <= "01111"; -- Video Guard Band + symbol_queue(8) <= "01111"; + symbol_queue(7) <= "01110"; -- Video Preamble + symbol_queue(6) <= "01110"; + symbol_queue(5) <= "01110"; + symbol_queue(4) <= "01110"; + symbol_queue(3) <= "01110"; + symbol_queue(2) <= "01110"; + symbol_queue(1) <= "01110"; + symbol_queue(0) <= "01110"; + else + symbol_queue(0 to 9) <= symbol_queue(1 to 10); + symbol_queue(10) <= "00" & blue & green & red; + end if; + else + -- Just merge in the syncs into the control period + case data_island_index is + when "000000" => symbol_queue(10) <= "01100"; -- Data island preamble + when "000001" => symbol_queue(10) <= "01100"; -- Data island preamble + when "000010" => symbol_queue(10) <= "01100"; -- Data island preamble + when "000011" => symbol_queue(10) <= "01100"; -- Data island preamble + when "000100" => symbol_queue(10) <= "01100"; -- Data island preamble + when "000101" => symbol_queue(10) <= "01100"; -- Data island preamble + when "000110" => symbol_queue(10) <= "01100"; -- Data island preamble + when "000111" => symbol_queue(10) <= "01100"; -- Data island preamble + when "001000" => symbol_queue(10) <= "01101"; -- Data island Guard Band + when "001001" => symbol_queue(10) <= "01101"; -- Data island Guard Band + + + ------------------------- + -- For a YCC mode AVI Infoframe Data Island + ------------------------- + -- Data Island (0-7) + when "001010" => symbol_queue(10) <= "10011"; -- First word + when "001011" => symbol_queue(10) <= "11111"; + when "001100" => symbol_queue(10) <= "11001"; + when "001101" => symbol_queue(10) <= "11000"; + when "001110" => symbol_queue(10) <= "11000"; + when "001111" => symbol_queue(10) <= "11000"; + when "010000" => symbol_queue(10) <= "11000"; + when "010001" => symbol_queue(10) <= "11110"; + -- Data Island (8-15) + when "010010" => symbol_queue(10) <= "11000"; + when "010011" => symbol_queue(10) <= "11100"; + when "010100" => symbol_queue(10) <= "11000"; + when "010101" => symbol_queue(10) <= "11000"; + when "010110" => symbol_queue(10) <= "11000"; + when "010111" => symbol_queue(10) <= "11000"; + when "011000" => symbol_queue(10) <= "11000"; + when "011001" => symbol_queue(10) <= "11000"; + -- Data Island (16-23) + when "011010" => symbol_queue(10) <= "11100"; + when "011011" => symbol_queue(10) <= "11000"; + when "011100" => symbol_queue(10) <= "11100"; + when "011101" => symbol_queue(10) <= "11100"; + when "011110" => symbol_queue(10) <= "11000"; + when "011111" => symbol_queue(10) <= "11000"; + when "100000" => symbol_queue(10) <= "11000"; + when "100001" => symbol_queue(10) <= "11000"; + -- Data Island (24-31) + when "100010" => symbol_queue(10) <= "11000"; + when "100011" => symbol_queue(10) <= "11000"; + when "100100" => symbol_queue(10) <= "11100"; + when "100101" => symbol_queue(10) <= "11000"; + when "100110" => symbol_queue(10) <= "11010"; + when "100111" => symbol_queue(10) <= "11100"; + when "101000" => symbol_queue(10) <= "11111"; + when "101001" => symbol_queue(10) <= "11110"; + + ------------------------- + -- For a NULL Data Island + ------------------------- + -- Data Island (0-7) +-- when "001010" => symbol_queue(10) <= "10000"; -- First word +-- when "001011" => symbol_queue(10) <= "11000"; +-- when "001100" => symbol_queue(10) <= "11000"; +-- when "001101" => symbol_queue(10) <= "11000"; +-- when "001110" => symbol_queue(10) <= "11000"; +-- when "001111" => symbol_queue(10) <= "11000"; +-- when "010000" => symbol_queue(10) <= "11000"; +-- when "010001" => symbol_queue(10) <= "11000"; + -- Data Island (8-15) +-- when "010010" => symbol_queue(10) <= "11000"; +-- when "010011" => symbol_queue(10) <= "11000"; +-- when "010100" => symbol_queue(10) <= "11000"; +-- when "010101" => symbol_queue(10) <= "11000"; +-- when "010110" => symbol_queue(10) <= "11000"; +-- when "010111" => symbol_queue(10) <= "11000"; +-- when "011000" => symbol_queue(10) <= "11000"; +-- when "011001" => symbol_queue(10) <= "11000"; + -- Data Island (16-23) +-- when "011010" => symbol_queue(10) <= "11000"; +-- when "011011" => symbol_queue(10) <= "11000"; +-- when "011100" => symbol_queue(10) <= "11000"; +-- when "011101" => symbol_queue(10) <= "11000"; +-- when "011110" => symbol_queue(10) <= "11000"; +-- when "011111" => symbol_queue(10) <= "11000"; +-- when "100000" => symbol_queue(10) <= "11000"; +-- when "100001" => symbol_queue(10) <= "11000"; + -- Data Island (24-31) +-- when "100010" => symbol_queue(10) <= "11000"; +-- when "100011" => symbol_queue(10) <= "11000"; +-- when "100100" => symbol_queue(10) <= "11000"; +-- when "100101" => symbol_queue(10) <= "11000"; +-- when "100110" => symbol_queue(10) <= "11000"; +-- when "100111" => symbol_queue(10) <= "11000"; +-- when "101000" => symbol_queue(10) <= "11000"; +-- when "101001" => symbol_queue(10) <= "11000"; + + -- Trailing guard band + when "101010" => symbol_queue(10) <= "01101"; -- Data island Guard Band + when "101011" => symbol_queue(10) <= "01101"; -- Data island Guard Band + -- There has to be four CTL symbols before the next block of video our data, + -- But that won't be a problem for us, we will have the rest of the vertical + -- Blanking interval + when others => symbol_queue(10) <= "010" & Vsync & Hsync; + end case; + + symbol_queue(0 to 9) <= symbol_queue(1 to 10); + end if; + + if data_island_index /= "111111" then + data_island_index <= data_island_index + 1; + end if; + + -- If we see the rising edge of vsync we need to send + -- a data island the next time we see the hsync signal + -- drop. + if last_vsync = '0' and vsync = '1' then + data_island_armed <= '1'; + end if; + + if data_island_armed = '1' and last_hsync = '1' and hsync = '0' then + data_island_index <= (others => '0'); + data_island_armed <= '0'; + end if; + + last_blank <= blank; + last_hsync <= hsync; + last_vsync <= vsync; + end if; + end process; + +end Behavioral; + diff --git a/test_bench/hdmi_test_generator/serializers.vhd b/test_bench/hdmi_test_generator/serializers.vhd new file mode 100644 index 0000000..d9f55d3 --- /dev/null +++ b/test_bench/hdmi_test_generator/serializers.vhd @@ -0,0 +1,165 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Convert 3x 10-bit symbols to three serial channels and the clock channel. +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +library UNISIM; +use UNISIM.VComponents.all; + +entity serializers is + Port ( clk : in STD_LOGIC; + c0 : in STD_LOGIC_VECTOR (9 downto 0); + c1 : in STD_LOGIC_VECTOR (9 downto 0); + c2 : in STD_LOGIC_VECTOR (9 downto 0); + hdmi_p : out STD_LOGIC_VECTOR (3 downto 0); + hdmi_n : out STD_LOGIC_VECTOR (3 downto 0)); +end serializers; + +architecture Behavioral of serializers is + -- For holding the outward bound TMDS symbols in the slow and fast domain + signal c0_high_speed : std_logic_vector(9 downto 0) := (others => '0'); + signal c1_high_speed : std_logic_vector(9 downto 0) := (others => '0'); + signal c2_high_speed : std_logic_vector(9 downto 0) := (others => '0'); + signal clk_high_speed : std_logic_vector(9 downto 0) := (others => '0'); + signal c2_output_bits : std_logic_vector(1 downto 0) := "00"; + signal c1_output_bits : std_logic_vector(1 downto 0) := "00"; + signal c0_output_bits : std_logic_vector(1 downto 0) := "00"; + signal clk_output_bits : std_logic_vector(1 downto 0) := "00"; + + -- Controlling the transfers into the high speed domain + signal latch_high_speed : std_logic_vector(4 downto 0) := "00001"; + + -- From the DDR outputs to the output buffers + signal c0_serial, c1_serial, c2_serial, clk_serial : std_logic; + + -- For generating the x5 clocks + signal clk_x5, clk_x5_n, clk_x5_unbuffered : std_logic; + signal clk_feedback : std_logic; + + -- To glue the HSYNC and VSYNC into the control character. + signal syncs : std_logic_vector(1 downto 0); +begin + +process(clk_x5) + begin + --------------------------------------------------------------- + -- Now take the 10-bit words and take it into the high-speed + -- clock domain once every five cycles. + -- + -- Then send out two bits every clock cycle using DDR output + -- registers. + --------------------------------------------------------------- + if rising_edge(clk_x5) then + c0_output_bits <= c0_high_speed(1 downto 0); + c1_output_bits <= c1_high_speed(1 downto 0); + c2_output_bits <= c2_high_speed(1 downto 0); + clk_output_bits <= clk_high_speed(1 downto 0); + + if latch_high_speed(0) = '1' then + c0_high_speed <= c0; + c1_high_speed <= c1; + c2_high_speed <= c2; + clk_high_speed <= "0000011111"; + else + c0_high_speed <= "00" & c0_high_speed(9 downto 2); + c1_high_speed <= "00" & c1_high_speed(9 downto 2); + c2_high_speed <= "00" & c2_high_speed(9 downto 2); + clk_high_speed <= "00" & clk_high_speed(9 downto 2); + end if; + latch_high_speed <= latch_high_speed(0) & latch_high_speed(4 downto 1); + end if; + end process; + + ------------------------------------------------------------------ + -- Convert the TMDS codes into a serial stream, two bits at a time + ------------------------------------------------------------------ + clk_x5_n <= not clk_x5; +c0_to_serial: ODDR2 + generic map(DDR_ALIGNMENT => "C0", INIT => '0', SRTYPE => "ASYNC") + port map (C0 => clk_x5, C1 => clk_x5_n, CE => '1', R => '0', S => '0', + D0 => C0_output_bits(0), D1 => C0_output_bits(1), Q => c0_serial); +OBUFDS_c0 : OBUFDS port map ( O => hdmi_p(0), OB => hdmi_n(0), I => c0_serial); + +c1_to_serial: ODDR2 + generic map(DDR_ALIGNMENT => "C0", INIT => '0', SRTYPE => "ASYNC") + port map (C0 => clk_x5, C1 => clk_x5_n, CE => '1', R => '0', S => '0', + D0 => C1_output_bits(0), D1 => C1_output_bits(1), Q => c1_serial); +OBUFDS_c1 : OBUFDS port map ( O => hdmi_p(1), OB => hdmi_n(1), I => c1_serial); + +c2_to_serial: ODDR2 + generic map(DDR_ALIGNMENT => "C0", INIT => '0', SRTYPE => "ASYNC") + port map (C0 => clk_x5, C1 => clk_x5_n, CE => '1', R => '0', S => '0', + D0 => C2_output_bits(0), D1 => C2_output_bits(1), Q => c2_serial); +OBUFDS_c2 : OBUFDS port map ( O => hdmi_p(2), OB => hdmi_n(2), I => c2_serial); + +clk_to_serial: ODDR2 + generic map(DDR_ALIGNMENT => "C0", INIT => '0', SRTYPE => "ASYNC") + port map (C0 => clk_x5, C1 => clk_x5_n, CE => '1', R => '0', S => '0', + D0 => Clk_output_bits(0), D1 => Clk_output_bits(1), Q => clk_serial); +OBUFDS_clk : OBUFDS port map ( O => hdmi_p(3), OB => hdmi_n(3), I => clk_serial); + + ------------------------------------------------------------------ + -- Use a PLL to generate a x5 clock, which is used to drive + -- the DDR registers.This allows 10 bits to be sent for every + -- pixel clock + ------------------------------------------------------------------ +PLL_BASE_inst : PLL_BASE + generic map ( + CLKFBOUT_MULT => 10, + CLKOUT0_DIVIDE => 2, CLKOUT0_PHASE => 0.0, -- Output 5x original frequency + CLK_FEEDBACK => "CLKFBOUT", + CLKIN_PERIOD => 13.33, + DIVCLK_DIVIDE => 1 + ) + port map ( + CLKFBOUT => clk_feedback, + CLKOUT0 => clk_x5_unbuffered, + CLKFBIN => clk_feedback, + CLKIN => clk, + RST => '0' + ); + +BUFG_pclkx5 : BUFG port map ( I => clk_x5_unbuffered, O => clk_x5); + +end Behavioral; + diff --git a/test_bench/hdmi_test_generator/vga_clocking.vhd b/test_bench/hdmi_test_generator/vga_clocking.vhd new file mode 100644 index 0000000..27ee481 --- /dev/null +++ b/test_bench/hdmi_test_generator/vga_clocking.vhd @@ -0,0 +1,90 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field 16, + CLKOUT0_DIVIDE => 20, CLKOUT0_PHASE => 0.0, -- Output pixel clock, 1.5x original frequency + CLK_FEEDBACK => "CLKFBOUT", -- Clock source to drive CLKFBIN ("CLKFBOUT" or "CLKOUT0") + CLKIN_PERIOD => 20.0, -- IMPORTANT! 20.00 => 50MHz + DIVCLK_DIVIDE => 1 -- Division value for all output clocks (1-52) + ) + port map ( + CLKFBOUT => clk_feedback, + CLKOUT0 => clock_x1_unbuffered, + CLKOUT1 => open, + CLKOUT2 => open, + CLKOUT3 => open, + CLKOUT4 => open, + CLKOUT5 => open, + LOCKED => pll_locked, + CLKFBIN => clk_feedback, + CLKIN => clk50_buffered, + RST => '0' -- 1-bit input: Reset input + ); + +BUFG_clk : BUFG port map ( I => clk50, O => clk50_buffered); +BUFG_pclock : BUFG port map ( I => clock_x1_unbuffered, O => clock_x1); + +end Behavioral; \ No newline at end of file diff --git a/test_bench/hdmi_test_generator/vga_gen.vhd b/test_bench/hdmi_test_generator/vga_gen.vhd new file mode 100644 index 0000000..6165c7e --- /dev/null +++ b/test_bench/hdmi_test_generator/vga_gen.vhd @@ -0,0 +1,143 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Description: Generates a test 1280x720 signal +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity vga_gen is + Port ( clk50 : in STD_LOGIC; + pixel_clock : out std_logic; + + red_p : out STD_LOGIC_VECTOR (7 downto 0) := (others => '0'); + green_p : out STD_LOGIC_VECTOR (7 downto 0) := (others => '0'); + blue_p : out STD_LOGIC_VECTOR (7 downto 0) := (others => '0'); + blank : out STD_LOGIC := '0'; + hsync : out STD_LOGIC := '0'; + vsync : out STD_LOGIC := '0'); +end vga_gen; + +architecture Behavioral of vga_gen is + COMPONENT vga_clocking + PORT( clk50 : IN std_logic; + pixel_clock : OUT std_logic); + END COMPONENT; + + constant h_rez : natural := 800; + constant h_sync_start : natural := 800+40; + constant h_sync_end : natural := 800+40+128; + constant h_max : natural := 1056; + signal h_count : unsigned(11 downto 0) := (others => '0'); + signal h_offset : unsigned(7 downto 0) := (others => '0'); + + constant v_rez : natural := 600; + constant v_sync_start : natural := 600+1; + constant v_sync_end : natural := 600+1+4; + constant v_max : natural := 628; + signal v_count : unsigned(11 downto 0) := x"250"; + signal v_offset : unsigned(7 downto 0) := (others => '0'); + signal clk40 : std_logic; +begin + +Inst_clocking: vga_clocking PORT MAP( + clk50 => clk50, + pixel_clock => clk40 + ); + pixel_clock <= clk40; + + +process(clk40) + begin + if rising_edge(clk40) then + if h_count < h_rez and v_count < v_rez then + red_p <= std_logic_vector(h_count(7 downto 0)+h_offset); + green_p <= std_logic_vector(v_count(7 downto 0)+v_offset); + blue_p <= std_logic_vector(h_count(7 downto 0)+v_count(7 downto 0)); + blank <= '0'; + if h_count = 0 or h_count = h_rez-1 then + red_p <= (others => '1'); + green_p <= (others => '1'); + blue_p <= (others => '1'); + end if; + if v_count = 0 or v_count = v_rez-1 then + red_p <= (others => '1'); + green_p <= (others => '0'); + blue_p <= (others => '0'); + end if; + else + red_p <= (others => '0'); + green_p <= (others => '0'); + blue_p <= (others => '0'); + blank <= '1'; + end if; + + if h_count >= h_sync_start and h_count < h_sync_end then + hsync <= '1'; + else + hsync <= '0'; + end if; + + if v_count >= v_sync_start and v_count < v_sync_end then + vsync <= '1'; + else + vsync <= '0'; + end if; + + if h_count = h_max then + h_count <= (others => '0'); + if v_count = v_max then + h_offset <= h_offset + 1; + v_offset <= v_offset + 1; + v_count <= (others => '0'); + else + v_count <= v_count+1; + end if; + else + h_count <= h_count+1; + end if; + + end if; + end process; + +end Behavioral; + diff --git a/test_bench/spi_regfile_tb.v b/test_bench/spi_regfile_tb.v new file mode 100644 index 0000000..f578667 --- /dev/null +++ b/test_bench/spi_regfile_tb.v @@ -0,0 +1,128 @@ +`timescale 1ns / 1ps + +module spi_regfile_tb(); + +localparam period = 10; +parameter WORDSIZE = 8; +reg clk, rst; + +reg sck, sdi, ncs; +wire sdo; + +reg [15:0] spi_data_in; +wire [15:0] spi_data_out; +wire [15:0] spi_status_word = 16'h3141; +wire [15:0] spi_cmd_word; +wire spi_cmd_begin, spi_cmd_active, spi_cmd_step; +wire [19:0] spi_cmd_idx; + +initial begin + clk = 0; + /* rst set below */ + sck = 0; + sdi = 0; + ncs = 1; + forever #period clk = ~clk; +end + +integer i; +integer j; +integer k; +integer testcase; +reg [WORDSIZE-1:0] sim_rxdata [1:4]; +reg [WORDSIZE-1:0] sim_txdata [1:4]; +reg [WORDSIZE-1:0] sim_txbuf; +initial begin + sim_rxdata[1] = 16'h523a; + sim_rxdata[2] = 16'hbeef; + sim_rxdata[3] = 16'h7721; + sim_rxdata[4] = 16'h0108; + + sim_txdata[1] = 16'h1234; + sim_txdata[2] = 16'h5678; + sim_txdata[3] = 16'h9abc; + sim_txdata[4] = 16'hdef9; + + for (j=1; j<=4; j=j+1) begin + $display("TC-%d: rx/tx %d word", j, j); + testcase = j; + + rst = 1; + repeat(2) @(posedge clk); + rst = 0; + @(posedge clk); + + spi_data_in = sim_txdata[1]; + @(posedge clk); + + ncs = 0; + @(posedge clk); + if (spi_cmd_begin) $finish; + if (spi_cmd_active) $finish; + if (spi_cmd_step) $finish; + + for (k=1; k<=j; k=k+1) begin + sim_txbuf = 0; + + for (i=1; i<=WORDSIZE; i=i+1) begin + sdi = sim_rxdata[k][WORDSIZE-i]; + sck = 0; + + @(posedge clk); + + sck = 1; + sim_txbuf[WORDSIZE-i] = sdo; + + if (i == WORDSIZE) begin + spi_data_in = sim_txdata[k+1]; + end + + if (spi_cmd_step) $finish; + + @(posedge clk); + end + + if (!spi_cmd_active) $finish; + if (k == 1 && !spi_cmd_begin) $finish; + if (k > 1 && spi_cmd_begin) $finish; + if (k == 1 && spi_cmd_step) $finish; + if (k > 1 && !spi_cmd_step) $finish; + if (spi_cmd_word != sim_rxdata[1]) $finish; + if (k > 1 && spi_data_out != sim_rxdata[k]) $finish; + if (k == 1 && sim_txbuf != 16'h3141) $finish; + if (k > 1 && sim_txbuf != sim_txdata[k]) $finish; + if (spi_cmd_idx != k-1) $finish; + end + + sck = 0; + @(posedge clk); + ncs = 1; + @(posedge clk); + + if (spi_cmd_active) $finish; + if (spi_cmd_step) $finish; + if (spi_cmd_begin) $finish; + + repeat(10) @(posedge clk); + end + + $finish; +end + +spi_regfile spi_regfile_dut ( + .clk(clk), .rst(rst), + + .sck(sck), .sdi(sdi), .sdo(sdo), .ncs(ncs), + + .spi_data_in(spi_data_in), + .spi_data_out(spi_data_out), + + .spi_status_word(spi_status_word), + .spi_cmd_word(spi_cmd_word), + .spi_cmd_begin(spi_cmd_begin), + .spi_cmd_active(spi_cmd_active), + .spi_cmd_step(spi_cmd_step), + .spi_cmd_idx(spi_cmd_idx) +); + +endmodule \ No newline at end of file diff --git a/test_bench/tb_audio_to_db.vhd b/test_bench/tb_audio_to_db.vhd new file mode 100644 index 0000000..e4eb4ca --- /dev/null +++ b/test_bench/tb_audio_to_db.vhd @@ -0,0 +1,110 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: tb_audio_to_db - Behavioral +-- +-- Description: A testbench for the audio sample to db level calculation +-- +---------------------------------------------------------------------------------- +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +---------------------------------------------------------------------------------- +----- Want to say thanks? -------------------------------------------------------- +---------------------------------------------------------------------------------- +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +------------------------------------------------------------------------------------ + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +entity tb_audio_to_db is +end tb_audio_to_db; + +architecture Behavioral of tb_audio_to_db is + component audio_to_db is + Port ( clk : in STD_LOGIC; + + in_channel : in STD_LOGIC_VECTOR (2 downto 0); + in_de : in STD_LOGIC; + in_sample : in STD_LOGIC_VECTOR (23 downto 0); + + out_channel : out STD_LOGIC_VECTOR (2 downto 0); + out_de : out STD_LOGIC; + out_level : out STD_LOGIC_VECTOR (5 downto 0)); + end component; + + signal clk : STD_LOGIC := '0'; + + signal in_channel : STD_LOGIC_VECTOR (2 downto 0) := (others => '0'); + signal in_de : STD_LOGIC := '1'; + signal in_sample : STD_LOGIC_VECTOR (23 downto 0) := (others => '0'); + + signal out_channel : STD_LOGIC_VECTOR (2 downto 0); + signal out_de : STD_LOGIC; + signal out_level : STD_LOGIC_VECTOR (5 downto 0); + +begin + +process + begin + wait for 5 ns; + clk <= '1'; + wait for 5 ns; + clk <= '0'; + end process; + +process + begin + wait until rising_edge(clk); + in_de <= '1'; + in_sample <= in_sample(in_sample'high-1 downto 0) & not in_sample(in_sample'high); + wait until rising_edge(clk); + in_de <= '0'; + wait until rising_edge(clk); + wait until rising_edge(clk); + wait until rising_edge(clk); + wait until rising_edge(clk); + end process; + +uut: audio_to_db port map ( + clk => clk, + in_channel => in_channel, + in_de => in_de, + in_sample => in_sample, + + out_channel => out_channel, + out_de => out_de, + out_level => out_level); + +end Behavioral; diff --git a/test_bench/tb_convert_yCbCr_to_RGB.vhd b/test_bench/tb_convert_yCbCr_to_RGB.vhd new file mode 100644 index 0000000..974c6b9 --- /dev/null +++ b/test_bench/tb_convert_yCbCr_to_RGB.vhd @@ -0,0 +1,147 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Description: A testbench for YCbCr to RGB decoding +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +------------------------------------------------------------------------------------ +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +-- +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +--use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx leaf cells in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity tb_convert_yCbCr_to_RGB is +end tb_convert_yCbCr_to_RGB; + +architecture Behavioral of tb_convert_yCbCr_to_RGB is + component conversion_YCbCr_to_RGB is + port ( clk : in std_Logic; + input_is_YCbCr : in std_Logic; + + ------------------------ + in_blank : in std_logic; + in_hsync : in std_logic; + in_vsync : in std_logic; + in_U : in std_logic_vector(11 downto 0); -- B or Cb + in_V : in std_logic_vector(11 downto 0); -- G or Y + in_W : in std_logic_vector(11 downto 0); -- R or Cr + + ------------------------ + out_blank : out std_logic; + out_hsync : out std_logic; + out_vsync : out std_logic; + out_R : out std_logic_vector(11 downto 0); + out_G : out std_logic_vector(11 downto 0); + out_B : out std_logic_vector(11 downto 0)); + end component; + + signal clk : std_Logic := '0'; + signal input_is_YCbCr : std_Logic := '0'; + signal in_blank : std_logic := '0'; + signal in_hsync : std_logic := '0'; + signal in_vsync : std_logic := '0'; + signal in_U : std_logic_vector(11 downto 0) := x"800"; -- B or Cb + signal in_V : std_logic_vector(11 downto 0) := x"800"; -- G or Y + signal in_W : std_logic_vector(11 downto 0) := x"800"; -- R or Cr + signal out_blank : std_logic := '0'; + signal out_hsync : std_logic := '0'; + signal out_vsync : std_logic := '0'; + signal out_R : std_logic_vector(11 downto 0); + signal out_G : std_logic_vector(11 downto 0); + signal out_B : std_logic_vector(11 downto 0); + +begin + +process + begin + wait for 5 ns; + clk <= not clk; + end process; + +stim: process + begin + wait for 100 ns; + in_U <= x"100"; + wait for 100 ns; + in_U <= x"EFF"; + wait for 100 ns; + in_U <= x"800"; + + wait for 100 ns; + in_V <= x"100"; + wait for 100 ns; + in_V <= x"EFF"; + wait for 100 ns; + in_V <= x"800"; + + wait for 100 ns; + in_W <= x"100"; + wait for 100 ns; + in_W <= x"EFF"; + wait for 100 ns; + in_W <= x"800"; + + end process; +uut: conversion_YCbCr_to_RGB port map ( + clk => clk, + input_is_YCbCr => '1', + ------------------------ + in_blank => in_blank, + in_hsync => in_hsync, + in_vsync => in_vsync, + in_U => in_U, + in_V => in_V, + in_W => in_W, + ------------------------ + out_blank => out_blank, + out_hsync => out_hsync, + out_vsync => out_vsync, + out_R => out_R, + out_G => out_G, + out_B => out_B); + +end Behavioral; diff --git a/test_bench/tb_hdmi_decode.vhd b/test_bench/tb_hdmi_decode.vhd new file mode 100644 index 0000000..bdd3848 --- /dev/null +++ b/test_bench/tb_hdmi_decode.vhd @@ -0,0 +1,313 @@ +---------------------------------------------------------------------------------- +-- Engineer: Mike Field +-- +-- Module Name: tb_hdmi_decode - Behavioral +-- +-- Description: A testbench for testing HDMI decoding +-- +------------------------------------------------------------------------------------ +-- The MIT License (MIT) +-- +-- Copyright (c) 2015 Michael Alan Field +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +---------------------------------------------------------------------------------- +----- Want to say thanks? ---------------------------------------------------------- +------------------------------------------------------------------------------------ +-- +-- This design has taken many hours - with the industry metric of 30 lines +-- per day, it is equivalent to about 6 months of work. I'm more than happy +-- to share it if you can make use of it. It is released under the MIT license, +-- so you are not under any onus to say thanks, but.... +-- +-- If you what to say thanks for this design how about trying PayPal? +-- Educational use - Enough for a beer +-- Hobbyist use - Enough for a pizza +-- Research use - Enough to take the family out to dinner +-- Commercial use - A weeks pay for an engineer (I wish!) +------------------------------------------------------------------------------------ + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +entity tb_hdmi_decode is +end tb_hdmi_decode; + +architecture Behavioral of tb_hdmi_decode is + component hdmi_design is + Port ( + clk100 : in STD_LOGIC; + -- Control signals + led : out std_logic_vector(7 downto 0); + sw : in std_logic_vector(7 downto 0) :=(others => '0'); + debug_pmod : out std_logic_vector(7 downto 0) :=(others => '0'); + + --HDMI input signals + hdmi_rx_cec : inout std_logic; + hdmi_rx_hpa : out std_logic; + hdmi_rx_scl : in std_logic; + hdmi_rx_sda : inout std_logic; + hdmi_rx_txen : out std_logic; + hdmi_rx_clk_n : in std_logic; + hdmi_rx_clk_p : in std_logic; + hdmi_rx_n : in std_logic_vector(2 downto 0); + hdmi_rx_p : in std_logic_vector(2 downto 0); + + --- HDMI out + hdmi_tx_cec : inout std_logic; + hdmi_tx_clk_n : out std_logic; + hdmi_tx_clk_p : out std_logic; + hdmi_tx_hpd : in std_logic; + hdmi_tx_rscl : inout std_logic; + hdmi_tx_rsda : inout std_logic; + hdmi_tx_p : out std_logic_vector(2 downto 0); + hdmi_tx_n : out std_logic_vector(2 downto 0); + -- For dumping symbols + rs232_tx : out std_logic + ); + end component; + + component hdmi_output_test is + Port ( clk50 : in STD_LOGIC; + + hdmi_out_p : out STD_LOGIC_VECTOR(3 downto 0); + hdmi_out_n : out STD_LOGIC_VECTOR(3 downto 0); + + leds : out std_logic_vector(7 downto 0)); + end component; + + + signal clk : std_logic := '0'; + signal clk50 : std_logic := '1'; + signal led : std_logic_vector(7 downto 0); + signal hdmi_rx_cec : std_logic; + signal hdmi_rx_hpa : std_logic; + signal hdmi_rx_scl : std_logic; + signal hdmi_rx_sda : std_logic; + signal hdmi_rx_txen : std_logic; + signal hdmi_rx_clk_n : std_logic; + signal hdmi_rx_clk_p : std_logic; + signal hdmi2_rx_clk_n : std_logic := '1'; + signal hdmi2_rx_clk_p : std_logic := '0'; + signal hdmi_out_n : std_logic_vector(3 downto 0); + signal hdmi_out_p : std_logic_vector(3 downto 0); + signal hdmi_rx_n : std_logic_vector(2 downto 0); + signal hdmi_rx_p : std_logic_vector(2 downto 0); + signal hdmi_tx_cec : std_logic; + signal hdmi_tx_clk_n : std_logic; + signal hdmi_tx_clk_p : std_logic; + signal hdmi_tx_hpd : std_logic; + signal hdmi_tx_rscl : std_logic; + signal hdmi_tx_rsda : std_logic; + signal hdmi_tx_p : std_logic_vector(2 downto 0); + signal hdmi_tx_n : std_logic_vector(2 downto 0); + + signal sdat_drive : std_logic := '1'; + signal rs232_tx : std_logic := '1'; +begin +hdmi_rx_sda <= '0' when sdat_drive = '0' else 'H'; + + hdmi_rx_p <= transport hdmi_out_p(2 downto 0) after 5.00 ns; + hdmi_rx_n <= transport hdmi_out_n(2 downto 0) after 5.00 ns; + hdmi_rx_clk_p <= transport hdmi_out_p(3) after 1.25 ns; + hdmi_rx_clk_n <= transport hdmi_out_n(3) after 1.25 ns; + +clk_proc: process +begin + wait for 7.0 ns; + while 1 = 1 loop + wait for 5.0 ns; + clk <= not clk; + end loop; +end process; + +clk50_proc: process +begin + wait for 7.0 ns; + while 1 = 1 loop + wait for 5.0 ns; + clk50 <= not clk50; + end loop; +end process; + +i_gen_signal: hdmi_output_test port map ( + clk50 => clk50, + hdmi_out_p => hdmi_out_p, + hdmi_out_n => hdmi_out_n, + leds => open); + +uut: hdmi_design Port map ( + clk100 => clk, + led => open, + sw => (others => '0'), + debug_pmod => open, + --HDMI in + hdmi_rx_cec => hdmi_rx_cec, + hdmi_rx_hpa => hdmi_rx_hpa, + hdmi_rx_scl => hdmi_rx_scl, + hdmi_rx_sda => hdmi_rx_sda, + hdmi_rx_txen => hdmi_rx_txen, + hdmi_rx_clk_n => hdmi_rx_clk_n, + hdmi_rx_clk_p => hdmi_rx_clk_p, + hdmi_rx_n => hdmi_rx_n, + hdmi_rx_p => hdmi_rx_p, + + --- HDMI out + hdmi_tx_cec => hdmi_tx_cec, + hdmi_tx_clk_n => hdmi_tx_clk_n, + hdmi_tx_clk_p => hdmi_tx_clk_p, + hdmi_tx_hpd => hdmi_tx_hpd, + hdmi_tx_rscl => hdmi_tx_rscl, + hdmi_tx_rsda => hdmi_tx_rsda, + hdmi_tx_p => hdmi_tx_p, + hdmi_tx_n => hdmi_tx_n, + + rs232_tx => rs232_tx +); + +edid_test_proc: process +begin + hdmi_rx_scl <= '1'; + wait for 1 us; +-- START condition + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- DEVICE ADDRESS FOR WRITE +-- dev bit 7 + sdat_drive <= '1'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 6 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 6 + sdat_drive <= '1'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 4 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 3 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 2 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 1 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 0 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- Slave ACK +-- Device to ack + sdat_drive <= '1'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- SEND WRITE ADDRESS +-- addr bit 7 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- addr bit 6 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- addr bit 6 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- addr bit 4 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- addr bit 3 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- addr bit 2 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- addr bit 1 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- addr bit 0 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- Slave ACK + sdat_drive <= '1'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- repeated START condition + sdat_drive <= '1'; wait for 200 ns; hdmi_rx_scl <= '1'; + wait for 400 ns; sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- DEVICE ADDRESS / READ - +-- dev bit 7 + sdat_drive <= '1'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 6 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 6 + sdat_drive <= '1'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 4 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 3 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 2 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 1 + sdat_drive <= '0'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- dev bit 0 - READ! + sdat_drive <= '1'; wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; + +-- ACK???? +-- Device to ack + sdat_drive <= '1'; + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; + +for i in 1 to 127 loop +-- READ First byte +-- read bit 7 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 6 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 6 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 4 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 3 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 2 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 1 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 0 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; + sdat_drive <= '1'; + +-- Host to ack + sdat_drive <= '0'; + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; + sdat_drive <= '1'; +end loop; +-- READ Second +-- read bit 7 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 6 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 6 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 4 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 3 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 2 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 1 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; +-- read bit 0 + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; + sdat_drive <= '1'; + +-- Master NACK + sdat_drive <= '1'; + wait for 200 ns; hdmi_rx_scl <= '1'; wait for 400 ns; hdmi_rx_scl <= '0'; wait for 200 ns; + sdat_drive <= '1'; + +-- STOP + sdat_drive <= '1'; + wait for 200 ns; + hdmi_rx_scl <= '1'; + wait for 200 ns; + + wait; +end process; + +end Behavioral; diff --git a/test_bench/term_emu_tb.v b/test_bench/term_emu_tb.v new file mode 100644 index 0000000..429dd2c --- /dev/null +++ b/test_bench/term_emu_tb.v @@ -0,0 +1,77 @@ +`timescale 1ns / 1ps + +module term_emu_tb(); + +parameter GLYPHMEM_W = 256; /* glyphs */ +parameter GLYPHMEM_H = 128; /* glyphs */ + +localparam period = 4; + +reg clk, rst; +reg in_byte_valid; +reg [7:0] in_byte; + +wire in_byte_ack; +wire glyph_buffer_w_valid; +wire [15:0] glyph_buffer_w_addr; +wire [19:0] glyph_buffer_w_data; + +reg [19:0] glyph_buffer; + +initial begin + rst = 1; + clk = 0; + repeat(2) #period clk = ~clk; + rst = 0; + forever #period clk = ~clk; +end + + +`include "test_data/00TEMU_TEST_STR_LOADERS.v" + +integer testcase_id; +integer read_pos; +initial begin + `include "test_data/00TEMU_TEST_STR_RUNNERS.v" + $finish; +end + + +reg [19:0] glyphmem [0:GLYPHMEM_W*GLYPHMEM_H-1]; +reg last_rst; +always @(posedge clk) begin + last_rst <= rst; + + if (~last_rst && rst) begin + for (integer i=0; i\\033[91m\\033[Atest',\n", + " 'cur_d': 'Foobar\\nbaz>\\033[91m\\033[Btest',\n", + " 'cur_l': 'Foobar\\nbaz>\\033[91m\\033[Dtest',\n", + " 'cur_r': 'Foobar\\nbaz>\\033[91m\\033[Ctest',\n", + " 'cur_n': 'Foobar\\nbaz>\\033[91m\\033[Etest',\n", + " 'cur_p': 'Foobar\\nbaz>\\033[91m\\033[Ftest',\n", + " 'cur_hh': 'Foobar\\nbaz>\\033[91m\\033[Gtest',\n", + " 'cur_h': 'Foobar\\nbaz>\\033[91m\\033[Htest',\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 359, + "id": "ambient-assault", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0xf6f'" + ] + }, + "execution_count": 359, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "hex((~0x90)&0xfff)" + ] + }, + { + "cell_type": "code", + "execution_count": 360, + "id": "competent-monster", + "metadata": {}, + "outputs": [], + "source": [ + "def gen_loaders(testcases=TESTCASES):\n", + " with open(test_data_dir / '00TEMU_TEST_STR_LOADERS.v', 'w') as f, redirect_stdout(f):\n", + " print()\n", + " for name, le_str in testcases.items():\n", + " print(f'reg [31:0] test_temu_{name} [0:{len(le_str)}];')\n", + "\n", + " print()\n", + " print('initial begin')\n", + " for name, le_str in testcases.items():\n", + " print(f'$readmemh(\"../../../../test_bench/{test_data_dir / name}.hex\", test_temu_{name});')\n", + " print('end')\n", + "\n", + "gen_loaders()" + ] + }, + { + "cell_type": "code", + "execution_count": 361, + "id": "regional-handle", + "metadata": {}, + "outputs": [], + "source": [ + "def write_hexfiles(testcases=TESTCASES):\n", + " for name, le_str in testcases.items():\n", + " with open(test_data_dir / f'{name}.hex', 'w') as f, redirect_stdout(f):\n", + " for c in le_str + ' ': # pad at the end to take 1-cycle pipeline delay into account\n", + " print(f'{ord(c):02x}')\n", + "write_hexfiles()" + ] + }, + { + "cell_type": "code", + "execution_count": 362, + "id": "understanding-things", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Testcase 0: empty_str\n", + "Testcase 1: one_char\n", + "Testcase 2: simple_str\n", + "Testcase 3: newline\n", + "Testcase 4: bold\n", + "Testcase 5: underline\n", + "Testcase 6: basic_fg\n", + "Testcase 7: basic_bg\n", + "Testcase 8: separate\n", + "Testcase 9: combined\n", + "Testcase 10: complex\n", + "Testcase 11: reset\n", + "Testcase 12: fg_newline\n", + "Testcase 13: color_palette\n", + "Testcase 14: cur_u\n", + "Testcase 15: cur_d\n", + "Testcase 16: cur_l\n", + "Testcase 17: cur_r\n", + "Testcase 18: cur_n\n", + "Testcase 19: cur_p\n", + "Testcase 20: cur_hh\n", + "Testcase 21: cur_h\n" + ] + } + ], + "source": [ + "RUNNER_TPL = '''\n", + "/* Start of generated test case {{name}} */\n", + "\n", + "testcase_id = {{testcase_id}};\n", + "rst = 1;\n", + "repeat(2) @(posedge clk);\n", + "rst = 0;\n", + "repeat(8) @(posedge clk);\n", + "\n", + "$display(\"Running {{name}}\");\n", + "for (read_pos=0; read_pos<{{str_len}}; read_pos=read_pos+1) begin\n", + " in_byte = {{mem}}[read_pos];\n", + " in_byte_valid = 1;\n", + " @(posedge clk);\n", + " while (!in_byte_ack) begin\n", + " @(posedge clk);\n", + " end\n", + " in_byte_valid = 0;\n", + "end\n", + "\n", + "$writememh(\"test_term_emu_dump_{{name}}.hex\", glyphmem);\n", + "\n", + "/* End of generated test case {{name}} */\n", + "'''\n", + "\n", + "\n", + "def gen_runners(testcases=TESTCASES):\n", + " with open(test_data_dir / '00TEMU_TEST_STR_RUNNERS.v', 'w') as f, redirect_stdout(f):\n", + " tpl = jinja2.Environment().from_string(RUNNER_TPL, globals=globals())\n", + " for i, (name, le_str) in enumerate(testcases.items()):\n", + " print(tpl.render(name=name, str_len=len(le_str) + 1, mem=f'test_temu_{name}', testcase_id=i))\n", + " print(f'Testcase {i:>3}: {name}', file=sys.stderr)\n", + " \n", + "gen_runners()" + ] + }, + { + "cell_type": "code", + "execution_count": 363, + "id": "southeast-proportion", + "metadata": {}, + "outputs": [], + "source": [ + "def read_hexfile(filename):\n", + " with open(filename) as f:\n", + " gen = ((int(line, 16) if re.match(r'^[0-9a-f]+$', line) else 0) for line in f if line.strip())\n", + " return list(gen)\n", + "\n", + "def show_tc(tc_id, w=100, h=5, glyphmem_w=256, glyphmem_h=128):\n", + " data = read_hexfile(f'../Artix-7-HDMI-processing.sim/sim_1/behav/xsim/test_term_emu_dump_{tc_id}.hex')\n", + " data = data[1:]\n", + " for y in range(h):\n", + " for x in range(w):\n", + " entry = data[y*glyphmem_w + x]\n", + " char = chr(entry&0xff)\n", + "\n", + " style = (entry>>8)&0xfff\n", + " bold = 1 if style&(1<<10) else 22\n", + " underline = 4 if style&(1<<11) else 24\n", + " bg = (style>>4) & 0xf\n", + " bg = 40 + bg if bg < 8 else 100 + bg - 8\n", + " fg = style & 0xf\n", + " fg = 30 + fg if fg < 8 else 90 + fg - 8\n", + " print(f'\\033[{bold};{underline};{bg};{fg}m', end='')\n", + "\n", + " if char == '\\n':\n", + " print('↵', end='')\n", + " elif char in string.printable:\n", + " print(char, end='')\n", + " elif char in ' \\0':\n", + " print(' ', end='')\n", + " else:\n", + " print('\\033[40;37m?', end='')\n", + " print()" + ] + }, + { + "cell_type": "code", + "execution_count": 364, + "id": "confidential-exhibition", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[22;24;40;30m/\u001b[22;24;40;30m/\u001b[22;24;40;31m/\u001b[22;24;40;31m/\u001b[22;24;40;32m/\u001b[22;24;40;32m/\u001b[22;24;40;33m/\u001b[22;24;40;33m/\u001b[22;24;40;34m/\u001b[22;24;40;34m/\u001b[22;24;40;35m/\u001b[22;24;40;35m/\u001b[22;24;40;36m/\u001b[22;24;40;36m/\u001b[22;24;40;37m/\u001b[22;24;40;37m/\u001b[22;24;40;37m \u001b[22;24;40;37m \u001b[22;24;40;90m/\u001b[22;24;40;90m/\u001b[22;24;40;91m/\u001b[22;24;40;91m/\u001b[22;24;40;92m/\u001b[22;24;40;92m/\u001b[22;24;40;93m/\u001b[22;24;40;93m/\u001b[22;24;40;94m/\u001b[22;24;40;94m/\u001b[22;24;40;95m/\u001b[22;24;40;95m/\u001b[22;24;40;96m/\u001b[22;24;40;96m/\u001b[22;24;40;97m/\u001b[22;24;40;97m/\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;97m/\u001b[22;24;40;97m/\u001b[22;24;41;97m/\u001b[22;24;41;97m/\u001b[22;24;42;97m/\u001b[22;24;42;97m/\u001b[22;24;43;97m/\u001b[22;24;43;97m/\u001b[22;24;44;97m/\u001b[22;24;44;97m/\u001b[22;24;45;97m/\u001b[22;24;45;97m/\u001b[22;24;46;97m/\u001b[22;24;46;97m/\u001b[22;24;47;97m/\u001b[22;24;47;97m/\u001b[22;24;40;37m \u001b[22;24;40;37m \u001b[22;24;100;37m/\u001b[22;24;100;37m/\u001b[22;24;101;37m/\u001b[22;24;101;37m/\u001b[22;24;102;37m/\u001b[22;24;102;37m/\u001b[22;24;103;37m/\u001b[22;24;103;37m/\u001b[22;24;104;37m/\u001b[22;24;104;37m/\u001b[22;24;105;37m/\u001b[22;24;105;37m/\u001b[22;24;106;37m/\u001b[22;24;106;37m/\u001b[22;24;107;37m/\u001b[22;24;107;37m/\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n" + ] + } + ], + "source": [ + "show_tc('color_palette')" + ] + }, + { + "cell_type": "code", + "execution_count": 365, + "id": "compressed-operator", + "metadata": {}, + "outputs": [], + "source": [ + "#show_tc('long_str')" + ] + }, + { + "cell_type": "code", + "execution_count": 366, + "id": "becoming-growth", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[22;24;40;37mF\u001b[22;24;40;37mo\u001b[22;24;40;37mo\u001b[22;24;40;37mb\u001b[22;24;40;37ma\u001b[22;24;40;37mr\u001b[22;24;40;37m\u001b[40;37m?\u001b[22;24;40;37ma\u001b[22;24;40;37mz\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n" + ] + } + ], + "source": [ + "show_tc('newline')" + ] + }, + { + "cell_type": "code", + "execution_count": 367, + "id": "sticky-novel", + "metadata": {}, + "outputs": [], + "source": [ + "#show_tc('long_lines')" + ] + }, + { + "cell_type": "code", + "execution_count": 368, + "id": "endless-lecture", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[22;24;40;37mF\u001b[22;24;40;37mo\u001b[22;24;40;37mo\u001b[22;24;40;37m \u001b[1;24;40;37mt\u001b[1;24;40;37me\u001b[1;24;40;37ms\u001b[1;24;40;37mt\u001b[22;24;40;37m \u001b[22;24;40;37mb\u001b[22;24;40;37ma\u001b[22;24;40;37mr\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n" + ] + } + ], + "source": [ + "show_tc('bold')" + ] + }, + { + "cell_type": "code", + "execution_count": 369, + "id": "latter-blowing", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[22;24;40;37mF\u001b[22;24;40;37mo\u001b[22;24;40;37mo\u001b[22;24;40;37m \u001b[22;4;40;37mt\u001b[22;4;40;37me\u001b[22;4;40;37ms\u001b[22;4;40;37mt\u001b[22;24;40;37m \u001b[22;24;40;37mb\u001b[22;24;40;37ma\u001b[22;24;40;37mr\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n" + ] + } + ], + "source": [ + "show_tc('underline')" + ] + }, + { + "cell_type": "code", + "execution_count": 370, + "id": "criminal-documentation", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[22;24;40;37mF\u001b[22;24;40;37mo\u001b[22;24;40;37mo\u001b[22;24;40;37mb\u001b[22;24;40;37ma\u001b[22;24;40;37mr\u001b[22;24;40;33mb\u001b[22;24;40;33ma\u001b[22;24;40;33mz\u001b[22;24;40;37m \u001b[22;24;40;37mt\u001b[22;24;40;37mh\u001b[22;24;40;37mi\u001b[22;24;40;37ms\u001b[22;24;40;37m \u001b[22;24;40;37mi\u001b[22;24;40;37ms\u001b[22;24;40;37m \u001b[22;24;40;37ma\u001b[22;24;40;37m \u001b[22;24;40;37mt\u001b[22;24;40;37me\u001b[22;24;40;37ms\u001b[22;24;40;37mt\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n" + ] + } + ], + "source": [ + "show_tc('basic_fg')" + ] + }, + { + "cell_type": "code", + "execution_count": 371, + "id": "colored-assumption", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[22;24;40;37mF\u001b[22;24;40;37mo\u001b[22;24;40;37mo\u001b[22;24;40;37mb\u001b[22;24;40;37ma\u001b[22;24;40;37mr\u001b[22;24;43;37mb\u001b[22;24;43;37ma\u001b[22;24;43;37mz\u001b[22;24;40;37m \u001b[22;24;40;37mt\u001b[22;24;40;37mh\u001b[22;24;40;37mi\u001b[22;24;40;37ms\u001b[22;24;40;37m \u001b[22;24;40;37mi\u001b[22;24;40;37ms\u001b[22;24;40;37m \u001b[22;24;40;37ma\u001b[22;24;40;37m \u001b[22;24;40;37mt\u001b[22;24;40;37me\u001b[22;24;40;37ms\u001b[22;24;40;37mt\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n" + ] + } + ], + "source": [ + "show_tc('basic_bg')" + ] + }, + { + "cell_type": "code", + "execution_count": 372, + "id": "quiet-mailing", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[22;24;40;37mF\u001b[22;24;40;37mo\u001b[22;24;40;37mo\u001b[22;24;40;37mb\u001b[22;24;40;37ma\u001b[22;24;40;37mr\u001b[22;24;43;35mb\u001b[22;24;43;35ma\u001b[22;24;43;35mz\u001b[22;24;40;37m \u001b[22;24;40;37mt\u001b[22;24;40;37mh\u001b[22;24;40;37mi\u001b[22;24;40;37ms\u001b[22;24;40;37m \u001b[22;24;40;37mi\u001b[22;24;40;37ms\u001b[22;24;40;37m \u001b[22;24;40;37ma\u001b[22;24;40;37m \u001b[22;24;40;37mt\u001b[22;24;40;37me\u001b[22;24;40;37ms\u001b[22;24;40;37mt\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n" + ] + } + ], + "source": [ + "show_tc('separate')" + ] + }, + { + "cell_type": "code", + "execution_count": 373, + "id": "proved-madagascar", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[22;24;40;37mF\u001b[22;24;40;37mo\u001b[22;24;40;37mo\u001b[22;24;40;37mb\u001b[22;24;40;37ma\u001b[22;24;40;37mr\u001b[22;24;43;35mb\u001b[22;24;43;35ma\u001b[22;24;43;35mz\u001b[22;24;40;37m \u001b[22;24;40;37mt\u001b[22;24;40;37mh\u001b[22;24;40;37mi\u001b[22;24;40;37ms\u001b[22;24;40;37m \u001b[22;24;40;37mi\u001b[22;24;40;37ms\u001b[22;24;40;37m \u001b[22;24;40;37ma\u001b[22;24;40;37m \u001b[22;24;40;37mt\u001b[22;24;40;37me\u001b[22;24;40;37ms\u001b[22;24;40;37mt\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n" + ] + } + ], + "source": [ + "show_tc('combined')" + ] + }, + { + "cell_type": "code", + "execution_count": 374, + "id": "original-zimbabwe", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[22;24;40;37mF\u001b[22;24;40;37mo\u001b[22;24;40;37mo\u001b[22;24;40;37mb\u001b[22;24;40;37ma\u001b[22;24;40;37mr\u001b[22;24;43;35mb\u001b[22;24;43;35ma\u001b[22;24;43;35mz\u001b[22;24;40;35m \u001b[22;24;40;35mt\u001b[22;24;40;35mh\u001b[22;24;40;35mi\u001b[22;24;40;35ms\u001b[22;24;40;35m \u001b[22;24;40;35mi\u001b[22;24;40;35ms\u001b[22;24;40;35m \u001b[22;24;40;35ma\u001b[22;24;40;35m \u001b[22;24;40;35mt\u001b[22;24;40;35me\u001b[22;24;40;35ms\u001b[22;24;40;35mt\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n", + "\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n" + ] + } + ], + "source": [ + "show_tc('complex')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/test_bench/term_emu_tb_show.py b/test_bench/term_emu_tb_show.py new file mode 100644 index 0000000..8b5a869 --- /dev/null +++ b/test_bench/term_emu_tb_show.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 + +import re +import string + +def read_hexfile(filename): + with open(filename) as f: + gen = ((int(line, 16) if re.match(r'^[0-9a-f]+$', line) else 0) for line in f if line.strip()) + return list(gen) + +def show_tc(tc_id, w=100, h=5, glyphmem_w=256, glyphmem_h=128): + data = read_hexfile(f'../Artix-7-HDMI-processing.sim/sim_1/behav/xsim/test_term_emu_dump_{tc_id}.hex') + data = data[1:] + for y in range(h): + for x in range(w): + entry = data[y*glyphmem_w + x] + char = chr(entry&0xff) + + style = (entry>>8)&0xfff + bold = 1 if style&(1<<10) else 22 + underline = 4 if style&(1<<11) else 24 + bg = (style>>4) & 0xf + bg = 40 + bg if bg < 8 else 100 + bg - 8 + fg = style & 0xf + fg = 30 + fg if fg < 8 else 90 + fg - 8 + print(f'\033[{bold};{underline};{bg};{fg}m', end='') + + if char == '\n': + print('↵', end='') + elif char in string.printable: + print(char, end='') + elif char in ' \0': + print(' ', end='') + else: + print('\033[40;37m?', end='') + print() + +if __name__ == '__main__': + for tc in [ + 'bold', + 'underline', + 'basic_fg', + 'basic_bg', + 'separate', + 'combined', + 'complex', + 'reset', + 'fg_newline', + 'color_palette', + 'cur_u', + 'cur_d', + 'cur_l', + 'cur_r', + 'cur_n', + 'cur_p', + 'cur_hh', + 'cur_h', + ]: + print() + print(f'\033[0m=== Testcase {tc} ===') + show_tc(tc) diff --git a/test_bench/term_renderer_analysis.ipynb b/test_bench/term_renderer_analysis.ipynb new file mode 100644 index 0000000..baf617c --- /dev/null +++ b/test_bench/term_renderer_analysis.ipynb @@ -0,0 +1,267 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 121, + "id": "martial-democrat", + "metadata": {}, + "outputs": [], + "source": [ + "import re\n", + "import contextlib\n", + "import itertools\n", + "import string\n", + "\n", + "from PIL import Image\n", + "import numpy as np\n", + "from matplotlib import pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "flexible-synthetic", + "metadata": {}, + "outputs": [], + "source": [ + "TC_BODY = '''\n", + "testcase_id = {tc_id};\n", + "\n", + "rst = 1;\n", + "clk = 0;\n", + "repeat(2) @(posedge clk);\n", + "rst = 0;\n", + "repeat(8) @(posedge clk);\n", + "\n", + "@(posedge clk) vsync = 1;\n", + "for (integer y=0; y<{h}; y=y+1) begin\n", + " for (integer x=0; x<{w}; x=x+1) begin\n", + " @(posedge clk) hsync = 1;\n", + " end\n", + " repeat(5) @(posedge clk) hsync = 0;\n", + "end\n", + "repeat(100) @(posedge clk) vsync = 0;\n", + "\n", + "$writememh(\"test_term_fb_dump_{tc_id}.hex\", data_recording, 0, ({w}+5) * {h} + 100);\n", + "'''\n", + "\n", + "TESTCASES = [\n", + " (32, 32),\n", + " (100, 20),\n", + " (92, 97),\n", + " (400, 400),\n", + "]\n", + "\n", + "def write_testcases():\n", + " with open('test_data/00TERM_RENDERER_TC_IDX.v', 'w') as f, contextlib.redirect_stdout(f):\n", + " for tc_id, (w, h) in enumerate(TESTCASES):\n", + " print(TC_BODY.format(tc_id=tc_id, w=w, h=h))\n", + " \n", + "write_testcases()" + ] + }, + { + "cell_type": "code", + "execution_count": 185, + "id": "fifteen-swimming", + "metadata": {}, + "outputs": [], + "source": [ + "def read_hexfile(filename):\n", + " with open(filename) as f:\n", + " gen = ((int(line, 16) if re.match(r'^[0-9a-f]+$', line) else 0) for line in f if line.strip())\n", + " return np.array([ ((p>>16)&0xff, (p>>8)&0xff, p&0xff) for p in gen ])[:-1]\n", + "\n", + "def display_image(filename, w, h, **kwargs):\n", + " w_blanked = w+5\n", + " img = read_hexfile(filename).astype(np.uint8)[8+1:][:h*w_blanked].reshape((h, w_blanked, 3))[:,:w,:]\n", + " #fig, ax = plt.subplots(**kwargs)\n", + " #ax.imshow(img, interpolation='None')\n", + " return Image.fromarray(img)" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "id": "excessive-permit", + "metadata": {}, + "outputs": [], + "source": [ + "def show_tc(tc_id, **kwargs):\n", + " w, h = TESTCASES[tc_id]\n", + " return display_image(f'../Artix-7-HDMI-processing.sim/sim_1/behav/xsim/test_term_fb_dump_{tc_id}.hex', w, h, **kwargs)" + ] + }, + { + "cell_type": "code", + "execution_count": 192, + "id": "cathedral-information", + "metadata": {}, + "outputs": [], + "source": [ + "def write_glyph_buffer_init_file(fn):\n", + " with open(fn, 'w') as f:\n", + " for row in range(128):\n", + " for col, c in enumerate(itertools.islice(itertools.cycle(string.printable), row, row+256)):\n", + " if col == row+30:\n", + " c = '\\n'\n", + " underline = bool(row&1)\n", + " bold = bool(row&2)\n", + " bgcolor = max(0, col%24-8) if col//24%2 == 1 else 0\n", + " fgcolor = 0 if col//24%2 == 1 and col%24 > 8 else (7 if col%24<8 else col%24-8)\n", + " code = (int(underline)<<19) | (int(bold)<<18) | (bgcolor<<12) | (fgcolor<<8) | ord(c)\n", + " print(f'{code:05x}', file=f)" + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "id": "available-being", + "metadata": {}, + "outputs": [], + "source": [ + "write_glyph_buffer_init_file('test_data/test_glyphmem_data.hex')" + ] + }, + { + "cell_type": "code", + "execution_count": 198, + "id": "hollow-husband", + "metadata": {}, + "outputs": [], + "source": [ + "write_glyph_buffer_init_file(f'../src/gen/glyph_buffer_init_file.hex')" + ] + }, + { + "cell_type": "code", + "execution_count": 172, + "id": "selective-pepper", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAACUAAAAgCAIAAAAaMSbnAAAA90lEQVR4nO1WwQ3DMAh0Ks+TVwfoKtmiUt6RskVX7SMSohgumLpIrcrLIZgDzgZP8/VWEuWSCVZKqfxj2VdaP+6bMF32VSgte+CnciOxx3KB7bEfVz3bzMKi44lsVDArAhxZbVVHNm0BgQBqTf6snQEwDoP4GwUG5AVvCBgmIn7fY4d24v3Mc3/pV5sH50z1I/ESJLt//vG+G8/sn0JDa+ecs7wp/RNvcM45y9u7/ROI6u28f8bmnBW6wl+XF3XOgTp14DnnHCbFi9dFLRhJLjzr7Hn4Ftjn933sodXfu8dCnWekF28qZ0w/Ov+oElV8f0io2tn1fAJMBbkaUxYHBgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "execution_count": 172, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "show_tc(0)" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "id": "alone-olympus", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGkAAAAUCAIAAAABXIRyAAABfUlEQVR4nO2YMQ7CMAxFU9QVBiQkpg6MDEwcgFPAzC2QOiNxC2Z6IEYGJiQkBrgAQyRjnMR13VBAypucYJz0N07iZrP5wiRU9L49gT8mx431rgR7v9kS1/WuJJ0hfz4OiYadmVDQyft76Q+GYD/uN965mEzPpyPvY3lpR6Rxm+SfIX8+jjdarb6MszsxQn8wxHqRZhtEOet9BjXCaHEH/QS5t1eyLkIPxj/wV15DiNG4APt6OYNdTKZg4/ytqoM1lsuV8WpnJ1SbC+5fSI81avPXtNs324D1Go0LaGK9YPurqoOVDKDaKd4kvyuF9kHX043G6y6c6uN+w2cFBq87BfScjSIc49woeCzIWWENvNCMSsc37aIIJ19fjcYSjtIl+rtxrNl3uRgjXlCMMRmuySR7NvzE3FEb3Y2F4+o2OwvkKRGO5KlNYXzIGvaczVI9qybVs3qSdnqSdnqSdnqSdnqC9SzpAfsXvtNFqXNJXaHAU8+6PT/1nU4ybjc8AfzHHaob9pe4AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "execution_count": 175, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "show_tc(1)" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "id": "certified-olive", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGEAAABhCAIAAABJZFj0AAAEqElEQVR4nO2dPU5cMRDHTUSRRIECCYlqC0qKVDlArrK3iEQdiVtwq5QpqJCQKOACKbwZZsfzZT/vWxvmV/l5vX7e4c3Y/j/bnHz/8TMFKp+O3YAJOMUX27tbSN//+k2Kbu9uSaZUXq+H1IYLK1VBpl6e5ez8AtKvL8964c31zcPfPzjnzUbEBOUlqUsqr9fD1mbaUSlcNoxwdn6B7UIuPbh8jW1rM87a+t50CadsrufvLP0A/YcdxdwSl1cbSD89PkB6c32TE9npGBvlG5vPcPkVkpMTpt+lZXFtCdgul1cbuBTjETSrtjV61JDiVFmyrE23r7Opry/POGZj8HOkQPu1LgZSCldV3gsSs3MCPzhJtdeejboYyP+8VN3LeZdD0D6G7NXKNR+uho4/pXSC5yKe2AkfKWO5qjGk875twSgD/kUMRPwrux50aul/8D6J+ZpJzNdswkY2YSObsJFN2MhGnK+RHEiPoBN1mceRcbYCM18rc4bSiTz37cuer31wnUjCnq+9A51I0mrb9SOFEXQiom055RFI4ykbqx9perbJIDpRQzyS9CMnXhtNoROxlJp/bQ0uG30QnUjCHkPOqBP1RdSP0sA6UW3MJv6VXY8VjzKkXwv9yCbmayLwNO1i9rzBIiN5nNSLff76jc3/gvJhlBS+ZhO+ZhM2stlbW4M/kHQcZSImrRJQ+n6l/JL2ADkeNbxTw+ziEfxI3A74zWU+rgJPa9kCynelMkvag+lio6W+5uwQPQYalp2vNYtESXaxWg5nR1Y/ksbZ5XtaXs9OjrmC6VakvJJfku3ea/0R2OXs/CLLANlAYJfLq03Wj7KBiH5Ex0f6H7M2LvjL6wXwpf7ugEDiEVwSGwGsjZh1tYPrRMpijQNB+362z/K/tGhj8Ii+69d6tZIEkYPS0bI5Hkmf7o2PCPpYDqPEC8/YTx92KfU0KNkN/VrMaW1ivmYTNrIJG9mEjWzCRja2foQZVidaiDQ1yRj6ES46sk60EN1GXl/7CDqRhKEfZYbSiWp9kH1Jm+RNNIZ+NIVORG6kL0cotRFJP8oJl34E9041cWFNnWiJfgSwNpI0Nu/aGk+xvrAPJmvT7vBr/UInwpDnqHEMOalOlONR7bfe4tEsOlFVPEo1/VrsX2sn5msisf4o1h91JXzNJmxkI46ztyvuO6uar+kTNJOGLf7t59YkobnS8Gcr7POQ8o8LnrgxvuZs5SA/ZgU6nFujsLC2Lr6Z5BEAu38Nj7MzrnNrurT1vn7fmeSDVb4p7Tsqz63Jl9m/sKXE89ikH+Nvqx5o4FKRNwcZ2Yo65JpIUtGhlxpVnxHVXSoaP6I796679q8tboyXMS1ra7VSrK2NwUr5ciBalsdU3Vc6j+3p8UHal02IOa1NzNdswkY2YSObsJFN2MhGXH+UJteJ/MAIQOr+XeeMvmOdyHNS1HrnRMxL3dk+EivrREv0o/I9bbmITTv/aAqdqNZnpbPqs1FKX9POP5pUJ1ohDvTxNSfH0olWOiNKYoqI3m1f9qQ60QrNrj4/Ww9Gzno8S5DMdUxsVSzK/2Bhx0dx/lE1MV8TifVH9vojIHzNJnzN5h+fL/vKYArbwwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "execution_count": 176, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "show_tc(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 186, + "id": "empty-scoop", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 186, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "show_tc(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 191, + "id": "christian-intention", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0x41'" + ] + }, + "execution_count": 191, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "hex(ord('A'))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/test_bench/term_renderer_tb.v b/test_bench/term_renderer_tb.v new file mode 100644 index 0000000..83baa3c --- /dev/null +++ b/test_bench/term_renderer_tb.v @@ -0,0 +1,107 @@ +`timescale 1ns / 1ps +////////////////////////////////////////////////////////////////////////////////// +// Company: +// Engineer: +// +// Create Date: 06/15/2021 10:49:32 AM +// Design Name: +// Module Name: window_matcher_tb +// Project Name: +// Target Devices: +// Tool Versions: +// Description: +// +// Dependencies: +// +// Revision: +// Revision 0.01 - File Created +// Additional Comments: +// +////////////////////////////////////////////////////////////////////////////////// + + +module term_renderer_tb(); + +parameter GLYPHMEM_W = 256; /* glyphs */ +parameter GLYPHMEM_H = 128; /* glyphs */ + +localparam period = 4; +localparam REC_MAXLEN = 200000; + +reg rst, clk; +reg vsync, hsync; +reg [19:0] glyphmem_data; +wire [15:0] glyphmem_r_addr; +wire [7:0] out_red; +wire [7:0] out_green; +wire [7:0] out_blue; + +initial begin + rst = 1; + clk = 0; + repeat(2) #period clk = ~clk; + rst = 0; + forever #period clk = ~clk; +end + +reg [23:0] data_recording [0:REC_MAXLEN]; +integer testcase_id; +integer rec_pos; +initial begin + `include "test_data/00TERM_RENDERER_TC_IDX.v" + $finish(); +end + +always @(posedge clk) begin + if (rst) begin + rec_pos <= 0; + for (integer i=0; i" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "@testcase()\n", + "def test_empty():\n", + " return add_blanking(zero_pixbuf(50, 30))\n", + "\n", + "@testcase()\n", + "def test_random():\n", + " return add_blanking(random_pixbuf(50, 30))\n", + "\n", + "@testcase()\n", + "def test_coords():\n", + " return add_blanking(coord_pixbuf(50, 30))\n", + "\n", + "@testcase(win_w=50, win_h=20)\n", + "def test_simple_window():\n", + " return add_blanking(add_window(coord_pixbuf(100, 80), 20, 30, 50, 20))\n", + "\n", + "fig, axs = plt.subplots(4, 4, figsize=(12, 9))\n", + "for ax, bools in zip(axs.flatten(), product([False, True], repeat=4)):\n", + " #if not any(bools):\n", + " # ax.axis('off')\n", + " # continue\n", + " \n", + " cxl, cxh, cyl, cyh = bools\n", + " w, h = 100, 80\n", + " win_x = 0 if cxl else 20\n", + " win_y = 0 if cyl else 15\n", + " win_w = w-win_x if cxh else w-win_x-30\n", + " win_h = h-win_y if cyh else h-win_y-20\n", + " \n", + " clip_id = ''.join('01'[i] for i in bools)\n", + " @testcase(f'test_window_clip_{clip_id}', win_w=win_w, win_h=win_h)\n", + " def fun():\n", + " return add_blanking(add_window(coord_pixbuf(w, h), win_x, win_y, win_w, win_h))\n", + " \n", + " ax.imshow(fun()[:,:,3])\n", + " \n", + "for bools in product([False, True], repeat=2):\n", + " ox, oy = bools\n", + " w, h = 100, 80\n", + " win_x = 50\n", + " win_y = 50\n", + " win_w = 80 if ox else 30\n", + " win_h = 50 if oy else 20\n", + " \n", + " ov_id = ''.join('01'[i] for i in bools)\n", + " @testcase(f'test_window_overflow_{ov_id}', win_w=win_w, win_h=win_h)\n", + " def fun():\n", + " return add_blanking(add_window(coord_pixbuf(w, h), win_x, win_y, win_w, win_h))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "divided-hopkins", + "metadata": {}, + "outputs": [], + "source": [ + "def gen_loader(testcases):\n", + " print()\n", + " for name, (fb_len, _win_w, _win_h) in testcases.items():\n", + " print(f'reg [31:0] test_fb_{name} [0:{fb_len}];')\n", + " \n", + " print()\n", + " print('initial begin')\n", + " for name, fb_len in testcases.items():\n", + " print(f'$readmemh(\"../../../../test_bench/{test_data_dir / name}.hex\", test_fb_{name});')\n", + " print('end')\n", + " \n", + "with open(test_data_dir / '00WM_TEST_POS_LOADERS.v', 'w') as f, redirect_stdout(f):\n", + " gen_loader(registered_testcases)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "subtle-ending", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Testcase 0: test_empty\n", + "Testcase 1: test_random\n", + "Testcase 2: test_coords\n", + "Testcase 3: test_simple_window\n", + "Testcase 4: test_window_clip_0000\n", + "Testcase 5: test_window_clip_0001\n", + "Testcase 6: test_window_clip_0010\n", + "Testcase 7: test_window_clip_0011\n", + "Testcase 8: test_window_clip_0100\n", + "Testcase 9: test_window_clip_0101\n", + "Testcase 10: test_window_clip_0110\n", + "Testcase 11: test_window_clip_0111\n", + "Testcase 12: test_window_clip_1000\n", + "Testcase 13: test_window_clip_1001\n", + "Testcase 14: test_window_clip_1010\n", + "Testcase 15: test_window_clip_1011\n", + "Testcase 16: test_window_clip_1100\n", + "Testcase 17: test_window_clip_1101\n", + "Testcase 18: test_window_clip_1110\n", + "Testcase 19: test_window_clip_1111\n", + "Testcase 20: test_window_overflow_00\n", + "Testcase 21: test_window_overflow_01\n", + "Testcase 22: test_window_overflow_10\n", + "Testcase 23: test_window_overflow_11\n" + ] + } + ], + "source": [ + "RUNNER_TPL = '''\n", + "/* Start of generated test case {{name}} */\n", + "\n", + "testcase_id = {{testcase_id}};\n", + "rst = 1;\n", + "repeat(2) @(posedge clk);\n", + "rst = 0;\n", + "repeat(8) @(posedge clk);\n", + "\n", + "$display(\"Running {{name}}\");\n", + "for (read_pos=0; read_pos<{{fb_len}}; read_pos=read_pos+1) begin\n", + " \n", + " if (!in_vsync_last && in_vsync) begin\n", + " if (!(win_locked == 0)) $finish;\n", + " if (!(win_w == 0)) $finish;\n", + " if (!(win_h == 0)) $finish;\n", + " end\n", + " \n", + " // if (!(win_hsync == 0)) $finish;\n", + " if (in_blank && !win_blank) $finish;\n", + " if (!(in_blank || win_w == 0)) $finish;\n", + " if (!(in_blank || win_h == 0)) $finish;\n", + " if (!(!out_data_valid || out_data_en)) $finish;\n", + " \n", + " in_blank = ~{{mem}}[read_pos][{{ FLAG_BLANK }}];\n", + " in_hsync = {{mem}}[read_pos][{{ FLAG_HSYNC }}];\n", + " in_vsync = {{mem}}[read_pos][{{ FLAG_VSYNC }}];\n", + " expected_data_last = expected_data;\n", + " win_blank_exp_last = win_blank_exp;\n", + " // win_hsync_exp_last = win_hsync_exp;\n", + " win_header_last = win_header;\n", + " expected_data = {{mem}}[read_pos][31:8];\n", + " win_blank_exp = ~{{mem}}[read_pos][{{ FLAG_WIN_BLANK }}];\n", + " // win_hsync_exp = {{mem}}[read_pos][{{ FLAG_WIN_HSYNC }}];\n", + " win_header = {{mem}}[read_pos][{{ FLAG_WIN_HEADER }}];\n", + " in_red = {{mem}}[read_pos][31:24];\n", + " in_green = {{mem}}[read_pos][23:16];\n", + " in_blue = {{mem}}[read_pos][15: 8];\n", + " @(posedge clk);\n", + "end\n", + "\n", + "for (read_pos=0; read_pos<{{fb_len}}; read_pos=read_pos+1) begin\n", + " if (read_pos > 0) begin\n", + " if (!(win_blank == win_blank_exp)) $finish;\n", + " // if (!(win_hsync == win_hsync_exp)) $finish;\n", + " end\n", + " \n", + " if (!in_vsync_last && in_vsync) begin\n", + " if (!(win_locked == {{(win_w > 0)|int}})) $finish;\n", + " if (!(win_w == {{win_w}})) $finish;\n", + " if (!(win_h == {{win_h}})) $finish;\n", + " end\n", + " \n", + " in_blank = ~{{mem}}[read_pos][{{ FLAG_BLANK }}];\n", + " in_hsync = {{mem}}[read_pos][{{ FLAG_HSYNC }}];\n", + " in_vsync_last = in_vsync;\n", + " in_vsync = {{mem}}[read_pos][{{ FLAG_VSYNC }}];\n", + " win_blank_exp_last = win_blank_exp;\n", + " // win_hsync_exp_last = win_hsync_exp;\n", + " win_blank_exp = ~{{mem}}[read_pos][{{ FLAG_WIN_BLANK }}];\n", + " // win_hsync_exp = {{mem}}[read_pos][{{ FLAG_WIN_HSYNC }}];\n", + " win_header = {{mem}}[read_pos][{{ FLAG_WIN_HEADER }}];\n", + " in_red = 0;\n", + " in_green = 0;\n", + " in_blue = 0;\n", + " \n", + " @(posedge clk);\n", + "end\n", + "\n", + "/* End of generated test case {{name}} */\n", + "'''\n", + "\n", + "def gen_runner(testcases):\n", + " tpl = jinja2.Environment().from_string(RUNNER_TPL, globals=globals())\n", + " for i, (name, (fb_len, win_w, win_h)) in enumerate(testcases.items()):\n", + " print(tpl.render(name=name, fb_len=fb_len, mem=f'test_fb_{name}', win_w=win_w, win_h=win_h, testcase_id=i,\n", + " FLAG_BLANK = int(math.log2(AlphaFlags.BLANK.value)),\n", + " FLAG_HSYNC = int(math.log2(AlphaFlags.HSYNC.value)),\n", + " FLAG_VSYNC = int(math.log2(AlphaFlags.VSYNC.value)),\n", + " FLAG_WIN_BLANK = int(math.log2(AlphaFlags.WIN_BLANK.value)),\n", + " # FLAG_WIN_HSYNC = int(math.log2(AlphaFlags.WIN_HSYNC.value)),\n", + " FLAG_WIN_HEADER = int(math.log2(AlphaFlags.WIN_HEADER.value)),\n", + " ))\n", + " print(f'Testcase {i:>3}: {name}', file=sys.stderr)\n", + "\n", + "with open(test_data_dir / '00WM_TEST_POS_RUNNERS.v', 'w') as f, redirect_stdout(f):\n", + " gen_runner(registered_testcases)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "native-council", + "metadata": {}, + "outputs": [], + "source": [ + "def show(foo):\n", + " fig, ax = plt.subplots(figsize=(12, 9))\n", + " ax.imshow(foo, interpolation='None')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "divine-prince", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAr8AAAFaCAYAAAAXeDVCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAAsTAAALEwEAmpwYAAAVJElEQVR4nO3db4xld33f8c+33vUamyLswrob26qdaENCULDplDixGjUsbp0Eef3ElWkdrVJLq1aEQJQ2XSdSUZ9ZbZQmD9pIK+ywUlxT1zG1hVJgu4RGlRLD+g/BxjjrGjCLN15DQqBBMjb59sEcwmQ9k7kzc2dnVr/XS1qde869l/PTl53r99w5O7e6OwAAMIK/tdULAACAs0X8AgAwDPELAMAwxC8AAMMQvwAADEP8AgAwjA3Fb1XdUFVPVdXTVXVoXosCAIDNUOv9Pb9VdV6SP05yfZKTST6V5J3d/dn5LQ8AAOZnxwae+9YkT3f3M0lSVR9Msj/JivF7fu3qC3LRBk4JAACr+0b+7Cvd/fozj28kfi9L8qUl+yeT/Mjf9IQLclF+pPZt4JQAALC6/9X3fXG54xuJ31rm2Cuuoaiqg0kOJskFuXADpwMAgI3ZyD94O5nkiiX7lyd57swHdffh7l7o7oWd2bWB0wEAwMZs5J3fTyXZW1VXJflykluS/LO5rArOYR997rGtXsKa7bv1tq1eAueYHR9/eKuXALAu647f7n65qn4uyUeTnJfkru5+Ym4rAwCAOdvIO7/p7t9N8rtzWgsAAGyqDcUv8EouIQCA7cvHGwMAMAzxCwDAMMQvAADDEL8AAAxD/AIAMAzxCwDAMMQvAADDEL8AAAxD/AIAMAzxCwDAMMQvAADDEL8AAAxD/AIAMAzxCwDAMMQvAADDEL8AAAxD/AIAMAzxCwDAMMQvAADDEL8AAAxD/AIAMAzxCwDAMMQvAADDEL8AAAxD/AIAMAzxCwDAMMQvAADDWDV+q+quqjpdVY8vOXZJVR2tqhPT9uLNXSYAAGzcLO/8fiDJDWccO5TkWHfvTXJs2gcAgG1t1fjt7t9P8qdnHN6f5Mh0+0iSm+a7LAAAmL/1XvN7aXefSpJpu3t+SwIAgM2xY7NPUFUHkxxMkgty4WafDgAAVrTed36fr6o9STJtT6/0wO4+3N0L3b2wM7vWeToAANi49cbvg0kOTLcPJHlgPssBAIDNM8uvOrsnyR8keUNVnayq25LckeT6qjqR5PppHwAAtrVVr/nt7neucNe+Oa8FAAA2lU94AwBgGOIXAIBhiF8AAIYhfgEAGIb4BQBgGOIXAIBhiF8AAIYhfgEAGIb4BQBgGOIXAIBhiF8AAIYhfgEAGIb4BQBgGOIXAIBhiF8AAIYhfgEAGIb4BQBgGOIXAIBhiF8AAIYhfgEAGIb4BQBgGOIXAIBhiF8AAIYhfgEAGIb4BQBgGOIXAIBhiF8AAIYhfgEAGIb4BQBgGKvGb1VdUVW/V1VPVtUTVfWe6fglVXW0qk5M24s3f7kAALB+s7zz+3KSX+zuH0xybZJ3VdUbkxxKcqy79yY5Nu0DAMC2tWr8dvep7n5kuv2NJE8muSzJ/iRHpocdSXLTJq0RAADmYk3X/FbVlUmuSfJQkku7+1SyGMhJds99dQAAMEczx29VvTrJ7yR5b3d/fQ3PO1hVx6vq+Et5cT1rBACAuZgpfqtqZxbD9+7uvn86/HxV7Znu35Pk9HLP7e7D3b3Q3Qs7s2seawYAgHWZ5bc9VJI7kzzZ3b+25K4HkxyYbh9I8sD8lwcAAPOzY4bHXJfkZ5J8pqoem479cpI7ktxbVbcleTbJzZuyQgAAmJNV47e7/0+SWuHuffNdDgAAbB6f8AYAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADCMVeO3qi6oqk9W1aer6omq+vfT8Uuq6mhVnZi2F2/+cgEAYP1meef3xSRv6+43J7k6yQ1VdW2SQ0mOdffeJMemfQAA2LZWjd9e9P+m3Z3Tn06yP8mR6fiRJDdtxgIBAGBeZrrmt6rOq6rHkpxOcrS7H0pyaXefSpJpu3vTVgkAAHMwU/x297e7++oklyd5a1W9adYTVNXBqjpeVcdfyovrXCYAAGzcmn7bQ3d/LcknktyQ5Pmq2pMk0/b0Cs853N0L3b2wM7s2tloAANiAWX7bw+ur6rXT7VcleXuSzyV5MMmB6WEHkjywSWsEAIC52DHDY/YkOVJV52Uxlu/t7g9X1R8kubeqbkvybJKbN3GdAACwYavGb3f/UZJrljn+1ST7NmNRAACwGXzCGwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDBmjt+qOq+qHq2qD0/7l1TV0ao6MW0v3rxlAgDAxq3lnd/3JHlyyf6hJMe6e2+SY9M+AABsWzPFb1VdnuSnk7x/yeH9SY5Mt48kuWmuKwMAgDmb9Z3fX0/yS0n+csmxS7v7VJJM293zXRoAAMzXqvFbVe9Icrq7H17PCarqYFUdr6rjL+XF9fxPAADAXOyY4THXJbmxqn4qyQVJXlNVv53k+ara092nqmpPktPLPbm7Dyc5nCSvqUt6TusGAIA1W/Wd3+6+vbsv7+4rk9yS5OPdfWuSB5McmB52IMkDm7ZKAACYg438nt87klxfVSeSXD/tAwDAtjXLZQ9/pbs/keQT0+2vJtk3/yUBAMDm8AlvAAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAw9gxy4Oq6gtJvpHk20le7u6FqrokyX9LcmWSLyT5p939Z5uzTAAA2Li1vPP7E919dXcvTPuHkhzr7r1Jjk37AACwbW3ksof9SY5Mt48kuWnDqwEAgE00a/x2ko9V1cNVdXA6dml3n0qSabt7MxYIAADzMtM1v0mu6+7nqmp3kqNV9blZTzDF8sEkuSAXrmOJAAAwHzO989vdz03b00k+lOStSZ6vqj1JMm1Pr/Dcw9290N0LO7NrPqsGAIB1WDV+q+qiqvrb37md5B8neTzJg0kOTA87kOSBzVokAADMwyyXPVya5ENV9Z3H/9fu/khVfSrJvVV1W5Jnk9y8ecsEAICNWzV+u/uZJG9e5vhXk+zbjEUBAMBm8AlvAAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAw5gpfqvqtVV1X1V9rqqerKofrapLqupoVZ2Ythdv9mIBAGAjZn3n9zeSfKS7fyDJm5M8meRQkmPdvTfJsWkfAAC2rVXjt6pek+THk9yZJN39re7+WpL9SY5MDzuS5KbNWSIAAMzHLO/8fm+SF5L8VlU9WlXvr6qLklza3aeSZNru3sR1AgDAhs0SvzuSvCXJb3b3NUn+Imu4xKGqDlbV8ao6/lJeXOcyAQBg42aJ35NJTnb3Q9P+fVmM4eerak+STNvTyz25uw9390J3L+zMrnmsGQAA1mXHag/o7j+pqi9V1Ru6+6kk+5J8dvpzIMkd0/aBTV0pnCN2fPzhrV4CALCCVeN38u4kd1fV+UmeSfKzWXzX+N6qui3Js0lu3pwlAgDAfMwUv939WJKFZe7aN9fVAADAJvIJbwAADEP8AgAwDPELAMAwxC8AAMMQvwAADEP8AgAwDPELAMAwxC8AAMMQvwAADEP8AgAwDPELAMAwxC8AAMMQvwAADEP8AgAwDPELAMAwxC8AAMMQvwAADEP8AgAwDPELAMAwxC8AAMMQvwAADEP8AgAwDPELAMAwxC8AAMMQvwAADEP8AgAwDPELAMAwxC8AAMMQvwAADGPV+K2qN1TVY0v+fL2q3ltVl1TV0ao6MW0vPhsLBgCA9Vo1frv7qe6+uruvTvL3k3wzyYeSHEpyrLv3Jjk27QMAwLa11sse9iX5v939xST7kxyZjh9JctMc1wUAAHO31vi9Jck90+1Lu/tUkkzb3fNcGAAAzNvM8VtV5ye5Mcl/X8sJqupgVR2vquMv5cW1rg8AAOZmLe/8/mSSR7r7+Wn/+arakyTT9vRyT+ruw9290N0LO7NrY6sFAIANWEv8vjPfveQhSR5McmC6fSDJA/NaFAAAbIaZ4reqLkxyfZL7lxy+I8n1VXViuu+O+S8PAADmZ8csD+rubyb5O2cc+2oWf/sDAACcE3zCGwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDDELwAAwxC/AAAMQ/wCADAM8QsAwDBmit+q+oWqeqKqHq+qe6rqgqq6pKqOVtWJaXvxZi8WAAA2YtX4rarLkvx8koXuflOS85LckuRQkmPdvTfJsWkfAAC2rVkve9iR5FVVtSPJhUmeS7I/yZHp/iNJbpr76gAAYI5Wjd/u/nKSX03ybJJTSf68uz+W5NLuPjU95lSS3Zu5UAAA2KhZLnu4OIvv8l6V5HuSXFRVt856gqo6WFXHq+r4S3lx/SsFAIANmuWyh7cn+Xx3v9DdLyW5P8mPJXm+qvYkybQ9vdyTu/twdy9098LO7JrXugEAYM1mid9nk1xbVRdWVSXZl+TJJA8mOTA95kCSBzZniQAAMB87VntAdz9UVfcleSTJy0keTXI4yauT3FtVt2UxkG/ezIUCAMBGrRq/SdLd70vyvjMOv5jFd4EBAOCc4BPeAAAYhvgFAGAY4hcAgGGIXwAAhiF+AQAYhvgFAGAY4hcAgGGIXwAAhlHdffZOVvVCki8meV2Sr5y1E5+7zGl2ZjUbc5qNOc3OrGZjTrMzq9mY0+r+Xne//syDZzV+/+qkVce7e+Gsn/gcY06zM6vZmNNszGl2ZjUbc5qdWc3GnNbPZQ8AAAxD/AIAMIytit/DW3Tec405zc6sZmNOszGn2ZnVbMxpdmY1G3Napy255hcAALaCyx4AABjGWY3fqrqhqp6qqqer6tDZPPd2V1VXVNXvVdWTVfVEVb1nOn5JVR2tqhPT9uKtXut2UFXnVdWjVfXhad+czlBVr62q+6rqc9Pfqx81p+VV1S9MX3ePV9U9VXWBWSVVdVdVna6qx5ccW3EuVXX79Pr+VFX9k61Z9dZYYVb/cfr6+6Oq+lBVvXbJfUPOark5LbnvX1dVV9Xrlhwbck7JyrOqqndP83iiqv7DkuPDzmqtzlr8VtV5Sf5zkp9M8sYk76yqN56t858DXk7yi939g0muTfKuaT6Hkhzr7r1Jjk37JO9J8uSSfXN6pd9I8pHu/oEkb87ivMzpDFV1WZKfT7LQ3W9Kcl6SW2JWSfKBJDeccWzZuUyvV7ck+aHpOf9let0fxQfyylkdTfKm7v7hJH+c5PZk+Fl9IK+cU6rqiiTXJ3l2ybGR55QsM6uq+okk+5P8cHf/UJJfnY6PPqs1OZvv/L41ydPd/Ux3fyvJB7P4fyBJuvtUdz8y3f5GFkPlsizO6Mj0sCNJbtqSBW4jVXV5kp9O8v4lh81piap6TZIfT3JnknT3t7r7azGnlexI8qqq2pHkwiTPxazS3b+f5E/POLzSXPYn+WB3v9jdn0/ydBZf94ew3Ky6+2Pd/fK0+4dJLp9uDzurFf5OJcl/SvJLSZb+Q6Rh55SsOKt/leSO7n5xeszp6fjQs1qrsxm/lyX50pL9k9MxzlBVVya5JslDSS7t7lPJYiAn2b2FS9sufj2LL5J/ueSYOf1135vkhSS/NV0e8v6quijm9Ard/eUsvnvybJJTSf68uz8Ws1rJSnPxGv83+xdJ/ud026yWqKobk3y5uz99xl3m9Erfn+QfVtVDVfW/q+ofTMfNag3OZvzWMsf8qokzVNWrk/xOkvd299e3ej3bTVW9I8np7n54q9eyze1I8pYkv9nd1yT5i4z5Y/tVTdes7k9yVZLvSXJRVd26tas6J3mNX0FV/UoWL227+zuHlnnYkLOqqguT/EqSf7fc3cscG3JOS+xIcnEWL4/8N0nuraqKWa3J2Yzfk0muWLJ/eRZ/tMikqnZmMXzv7u77p8PPV9We6f49SU6v9PxBXJfkxqr6QhYvnXlbVf12zOlMJ5Oc7O6Hpv37shjD5vRKb0/y+e5+obtfSnJ/kh+LWa1kpbl4jV9GVR1I8o4k/7y/+7tFzeq7vi+L33h+enpdvzzJI1X1d2NOyzmZ5P5e9Mks/gT0dTGrNTmb8fupJHur6qqqOj+LF2Y/eBbPv61N37ndmeTJ7v61JXc9mOTAdPtAkgfO9tq2k+6+vbsv7+4rs/h36OPdfWvM6a/p7j9J8qWqesN0aF+Sz8aclvNskmur6sLp63BfFq+5N6vlrTSXB5PcUlW7quqqJHuTfHIL1rdtVNUNSf5tkhu7+5tL7jKrSXd/prt3d/eV0+v6ySRvmV7DzOmV/keStyVJVX1/kvOTfCVmtSY7ztaJuvvlqvq5JB/N4r+mvqu7nzhb5z8HXJfkZ5J8pqoem479cpI7svhjjduy+B/pm7dmedueOb3Su5PcPX2z+UySn83iN7zmtER3P1RV9yV5JIs/mn40i5+c9OoMPququifJP0ryuqo6meR9WeFrrbufqKp7s/hN1stJ3tXd396ShW+BFWZ1e5JdSY4ufl+VP+zufznyrJabU3ffudxjR55TsuLfqbuS3DX9+rNvJTkw/URh6FmtlU94AwBgGD7hDQCAYYhfAACGIX4BABiG+AUAYBjiFwCAYYhfAACGIX4BABiG+AUAYBj/H5CDRsT+I7WJAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "show(add_blanking(add_window(coord_pixbuf(w, h), 20, 0, 50, 60))[6:,:,3] & 0x38)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "crazy-watson", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "show(add_blanking(add_window(coord_pixbuf(w, h), 20, 0, 50, 60))[6:,:,3])" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "musical-physiology", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([6, 6, 6, ..., 0, 0, 0])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "add_blanking(add_window(coord_pixbuf(w, h), 20, 0, 50, 60))[:,:,3].flatten()[370:]" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "random-lying", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "show(add_blanking(random_pixbuf(200, 100))[:,:,3])" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "falling-arrival", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "show(add_blanking(add_window(coord_pixbuf(100, 80), 20, 30, 50, 20))[:,:,3])" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "pretty-thumb", + "metadata": {}, + "outputs": [], + "source": [ + "#(add_blanking(add_window(coord_pixbuf(100, 80), 20, 30, 50, 20))[:,9,3] & AlphaFlags.WIN_HSYNC.value).astype(bool).sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "found-endorsement", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "show(add_blanking(random_pixbuf(200, 100))[:,:,0])" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "banner-yemen", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, axs = plt.subplots(2, 2, figsize=(12, 9))\n", + "foo = add_blanking(coord_pixbuf(500, 300))\n", + "axs[0,0].imshow(foo[:,:,0], interpolation='None')\n", + "axs[0,1].imshow(foo[:,:,1], interpolation='None')\n", + "axs[1,0].imshow(foo[:,:,2], interpolation='None')\n", + "axs[1,1].imshow(foo[:,:,3], interpolation='None')" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "unique-netherlands", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, axs = plt.subplots(3, 2, figsize=(12, 12))\n", + "foo = add_blanking(add_window(zero_pixbuf(500, 300), 50, 100, 100, 50))\n", + "axs[0,0].imshow(foo[:,:,0], interpolation='None')\n", + "axs[0,1].imshow(foo[:,:,1], interpolation='None')\n", + "axs[1,0].imshow(foo[:,:,2], interpolation='None')\n", + "axs[1,1].axis('off')\n", + "axs[2,0].imshow(foo[:,:,3] & 0x7, interpolation='None')\n", + "axs[2,1].imshow(foo[:,:,3] & 0x38, interpolation='None')" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "pleasant-perception", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, axs = plt.subplots(3, 2, figsize=(12, 12))\n", + "foo = add_blanking(add_window(zero_pixbuf(500, 300), -40, -20, 100, 50))\n", + "axs[0,0].imshow(foo[:,:,0], interpolation='None')\n", + "axs[0,1].imshow(foo[:,:,1], interpolation='None')\n", + "axs[1,0].imshow(foo[:,:,2], interpolation='None')\n", + "axs[1,1].axis('off')\n", + "axs[2,0].imshow(foo[:,:,3] & 0x07, interpolation='None')\n", + "axs[2,1].imshow(foo[:,:,3] & 0x38, interpolation='None')" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "varying-large", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, axs = plt.subplots(3, 2, figsize=(12, 12))\n", + "foo = add_blanking(add_window(zero_pixbuf(500, 300), 420, 290, 100, 50))\n", + "axs[0,0].imshow(foo[:,:,0], interpolation='None')\n", + "axs[0,1].imshow(foo[:,:,1], interpolation='None')\n", + "axs[1,0].imshow(foo[:,:,2], interpolation='None')\n", + "axs[1,1].axis('off')\n", + "axs[2,0].imshow(foo[:,:,3] & 0x07, interpolation='None')\n", + "axs[2,1].imshow(foo[:,:,3] & 0x38, interpolation='None')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/window_matcher_tb_behav.wcfg b/window_matcher_tb_behav.wcfg new file mode 100644 index 0000000..7913cef --- /dev/null +++ b/window_matcher_tb_behav.wcfg @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + clk + clk + + + rst + rst + + + in_blank + in_blank + + + in_hsync + in_hsync + + + in_vsync + in_vsync + + + in_red[7:0] + in_red[7:0] + + + in_green[7:0] + in_green[7:0] + + + in_blue[7:0] + in_blue[7:0] + + + out_hsync + out_hsync + + + out_vsync + out_vsync + + + out_red[7:0] + out_red[7:0] + + + out_green[7:0] + out_green[7:0] + + + out_blue[7:0] + out_blue[7:0] + + + win_blank + win_blank + + + win_hactive + win_hactive + + + win_locked + win_locked + + + win_blank_exp + win_blank_exp + + + out_data_en + out_data_en + #FFA500 + true + + + out_data_valid + out_data_valid + #FFA500 + true + + + in_pxd[23:0] + in_pxd[23:0] + + + win_pxd[23:0] + win_pxd[23:0] + + + out_pxd[23:0] + out_pxd[23:0] + + + in_pxd_match[7:0] + in_pxd_match[7:0] + + + in_pxd_match_sr[6:0][7:0] + in_pxd_match_sr[6:0][7:0] + + + in_pxd_pattern_match + in_pxd_pattern_match + + + scan_x[11:0] + scan_x[11:0] + UNSIGNEDDECRADIX + + + scan_y[11:0] + scan_y[11:0] + UNSIGNEDDECRADIX + + + win_x[11:0] + win_x[11:0] + UNSIGNEDDECRADIX + + + win_y[11:0] + win_y[11:0] + UNSIGNEDDECRADIX + + + win_x_int[11:0] + win_x_int[11:0] + UNSIGNEDDECRADIX + + + win_y_int[11:0] + win_y_int[11:0] + UNSIGNEDDECRADIX + + + dval_x_reg[11:0] + dval_x_reg[11:0] + UNSIGNEDDECRADIX + + + dval_y_reg[11:0] + dval_y_reg[11:0] + UNSIGNEDDECRADIX + + + win_w_int[11:0] + win_w_int[11:0] + UNSIGNEDDECRADIX + + + win_h_int[11:0] + win_h_int[11:0] + UNSIGNEDDECRADIX + + + win_w[11:0] + win_w[11:0] + UNSIGNEDDECRADIX + + + win_h[11:0] + win_h[11:0] + UNSIGNEDDECRADIX + + + win_hsync_ctr[11:0] + win_hsync_ctr[11:0] + UNSIGNEDDECRADIX + + + matcher_state[4:0] + matcher_state[4:0] + + + matched + matched + + + scan_x_reg[7:0][11:0] + scan_x_reg[7:0][11:0] + + + in_hsync_reg + in_hsync_reg + + + in_vsync_reg + in_vsync_reg + + + in_pxd_reg[23:0] + in_pxd_reg[23:0] + + + testcase_id[31:0] + testcase_id[31:0] + #FAAFBE + true + UNSIGNEDDECRADIX + + + expected_data[23:0] + expected_data[23:0] + #FAAFBE + true + + + expected_data_last[23:0] + expected_data_last[23:0] + #FAAFBE + true + + + read_pos[31:0] + read_pos[31:0] + #FAAFBE + true + + + win_header + win_header + #FAAFBE + true + +