commit 41dbf0b4201b2ebe396d710e989ca127ff9d0b0f Author: Will Scullin Date: Wed Sep 4 18:42:09 2019 -0700 First commit to github. Based on original webpage version, modified to use webpack and babel. diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..07dad77 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.js] +indent_size = 4 + +[*.md] +trim_trailing_whitespace = true + +[Makefile] +indent_style = tab +indent_size = 8 diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..d566b2f --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,53 @@ +{ + "rules": { + "indent": [ + 2, + 4 + ], + "quotes": [ + 2, + "single" + ], + "linebreak-style": [ + 2, + "unix" + ], + "semi": [ + 2, + "always" + ] + }, + "env": { + "builtin": true, + "browser": true, + "jquery": true, + "es6": true + }, + "parserOptions": { + "sourceType": "module" + }, + "extends": "eslint:recommended", + "overrides": [ + { + "files": [ "bin/*", "babel.config.js", "webpack.config.js" ], + "rules": { + "no-console": 0 + }, + "env": { + "node": true, + "jquery": false, + "browser": false + } + }, { + "files": [ "test/*"], + "env": { + "jest": true + } + }, { + "files": [ "js/entry1.js"], + "env": { + "commonjs": true + } + } + ] +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..13b4ef0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.*~ +.vscode +/dist +/node_modules diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..67731d2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2010-2019 Will Scullin + +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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..e80a7ec --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +apple1js +======== + +An Apple 1 emulator written in Javascript. + +Things are still a little rough around the edges right now, hopefully I will have more time to clean things up. + +First + +```sh +npm install +``` + +To run a development server + +```sh +npm run dev +``` + +The open +[http://localhost:8080/apple1js.html](http://localhost:8080/apple1js.html) + +To build a static distribution into `dist` + +```sh +npm run build +``` diff --git a/about.html b/about.html new file mode 100644 index 0000000..1334ca3 --- /dev/null +++ b/about.html @@ -0,0 +1,161 @@ + + + + + + + + + + About Apple 1js + + + + + + + + + +
+ Apple 1js +
+
+

What is this?

+ Apple 1js + is an Apple 1 emulator written entirely in JavaScript and HTML5. +

Updates

+

2013-06-25

+ +

2013-06-05

+ +

2013-05-28

+ +

2013-05-27

+ +

Requirements

+ +

Known Limitations

+ +

Acknowlegements

+ +

Contact

+ +
+ + diff --git a/apple1js.html b/apple1js.html new file mode 100644 index 0000000..c2c972b --- /dev/null +++ b/apple1js.html @@ -0,0 +1,161 @@ + + + + + +Apple 1js - An Apple 1 Emulator in JavaScript + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Apple 1js

+

An Apple 1 Emulator in JavaScript

+ + + + +
+
+ +
+
Type E000R for BASIC
+
+
+
0KHz
+ + +
+ +
+
+
+ + +
+
+
+
+
+
+
+
+ + + + + + diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..442aa3c --- /dev/null +++ b/babel.config.js @@ -0,0 +1,13 @@ +// babel.config.js +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current', + }, + }, + ], + ], +}; diff --git a/css/apple1.css b/css/apple1.css new file mode 100644 index 0000000..8429394 --- /dev/null +++ b/css/apple1.css @@ -0,0 +1,366 @@ +/* Copyright 2010-2013 Will Scullin */ + +img { + border: none; +} + +img#badge { + padding: 0px 12px; + cursor: pointer; +} + +h1 { + margin: 0px; + padding: 3px 0px 0px 10px; + color: #fff; + font-family: Helvetica, Ariel; + font-size: 17px; + font-weight: normal; +} + +h2 { + margin: 0px; + padding: 3px 0px 0px 10px; + color: #fff; + font-family: Helvetica, Ariel; + font-size: 13px; + font-weight: normal; +} + +input[type="button"] { + width: 75px; +} + +input[type="text"] { + width: 40px; +} + +body { + margin: 16px 0px; + font-size: 10px; + background-color: #114024; + color: #fff; +} + +#display { + margin: 5px 0px; +} + +.overscan { + margin: auto; + position: relative; + background-color: black; + padding: 16px; + width: 560px; + height: 384px; + border: 6px solid #75d475; + border-radius: 10px; +} + +#power { + padding: 2px; + border: 1px inset #ddc364; +} + +span.code { + font-family: Courier; + font-size: 14px; + white-space: pre; +} + +th { + background-color: #ccc; +} + +.inset { + background: #114024; + width: 590px; + border-radius: 6px; + border: 3px solid #75d475; + padding: 6px; + margin: 10px 0px; + position: relative; +} + +#speed { + margin: 9px 0px; + width: 200px; +} + +#khz { + margin-right: 4px; + padding: 4px; + float: left; + font-family: Courier; + font-size: 12px; + width: 60px; + height: 15px; + text-align: right; + background: #000; + color: #fff; + border: 2px solid #75d475; + border-radius: 4px; +} + +canvas { + position: absolute; + top: 16px; + left: 16px; + cursor: crosshair; + width: 560px; + height: 384px; + image-rendering: -moz-crisp-edges; + image-rendering: -webkit-optimize-contrast; + image-rendering: optimize-contrast; +} + +:-webkit-full-screen #display { + width: 100%; + height: 100%; +} + +@media screen and (min-device-width:1120px) { +:-webkit-full-screen { + background: #000; +} + +:-webkit-full-screen .overscan { + border: 0px none !important; + width: 1120px; + height: 768px; +} + +:-webkit-full-screen canvas { + width: 1120px; + height: 768px; +} + +:-webkit-full-screen #scanlines { + width: 1120px; + height: 768px; +} +} + +#scanlines { + position: absolute; + top: 16px; + left: 16px; + cursor: crosshair; + z-index: 1; + width: 560px; + height: 384px; +} + +#about iframe { + border: 1px inset #666; + width: 99%; + height: 99%; +} + +#about { + padding: 16px; + margin: 0px; + font-family: "Adobe Garamond Pro",Garamond,Times; + font-size: 14px; + background-color: #fff; + color: #000; +} + +#about a { + background-color: #fff; + color: #000; +} + +#load select { + width: 250px; + height: 300px; +} + +#keyboard { + border-radius: 6px; + padding: 0px 0px 3px 0px; +} + +#keyboard .row { + display: block; + margin: 0px; + padding: 0px; + height: 43px; + font-family: Helvetica; + width: 605px; +} + +#keyboard .row0 { + margin-left: 20px; +} + +#keyboard .row2 { + margin-left: 10px; +} + +#keyboard .row3 { + margin-left: 10px; +} + +#keyboard .row4 { + margin-left: 10px; +} + +#keyboard .key { + display: block; + float: left; + margin: 0px; + padding: 0px; + width: 34px; + height: 34px; + background-color: #44372C; + color: white; + vertical-align: bottom; + text-align: center; + position: relative; + border: 5px outset #66594E; + border-radius: 5px; + cursor: pointer; +} + +#keyboard .pressed { + background-color: #22150A; + border: 5px outset #44372C; +} + +#keyboard .key div { + border-radius: 3px; + position: absolute; + bottom: 0px; + width: 100%; + text-align: center; +} + +#keyboard .vcenter div { + bottom: 10px; +} + +#keyboard .vcenter2 div { + bottom: 5px; +} + +#keyboard .key span { + font-size: 14px; +} + +#keyboard .key span.small { + font-size: 7px; +} + +#keyboard .key-SHIFT { + width: 53px; +} + +#keyboard .active { + color: #4f4; +} + +#keyboard .key-RETURN { + width: 52px; +} + +#keyboard .key-DELETE { + width: 47px; +} + +#keyboard .key-TAB { + width: 47px; +} + +#keyboard .key-nbsp { + margin-left: 104px; + width: 330px; +} + +#keyboard .key-POW { + width: 38px; + height: 38px; + border: 2px groove black; + background-color: #ffd; + color: black; + border-radius: 2px; +} + +#keyboard .key-POW div { + bottom: 15px; +} + +#keyboard .key-POW span { + background: #4f4; + color: #4f4; +} + +#keyboard .key-OPEN_APPLE div { + background-image: url(../img/open-apple24.png); + width: 24px; + height: 24px; + bottom: 1px; + left: 4px; +} + +#keyboard .key-OPEN_APPLE span { + display: none; +} + +#keyboard .key-OPEN_APPLE.active div { + background-image: url(../img/open-apple24-green.png); +} + +#keyboard .key-CLOSED_APPLE div { + background-image: url(../img/closed-apple24.png); + width: 24px; + height: 24px; + bottom: 1px; + left: 4px; +} + +#keyboard .key-CLOSED_APPLE.active div { + background-image: url(../img/closed-apple24-green.png); +} + +#keyboard .key-CLOSED_APPLE span { + display: none; +} + +#text_input { + font-family: Courier, fixed; +} + +#player { + position: absolute; + left: 290px; + top: 12px; + border: 2px solid #75d475; + border-radius: 4px; + width: 100px; + height: 10px; + background: black; + text-align: center; +} + +#supply { + width: 75px; + height: 10px; + position: absolute; + background: brown; +} + +#takeup { + width: 0px; + height: 10px; + position: absolute; + right: 0px; + background: brown; +} + +#tape { + width: 0px; + height: 10px; + position: absolute; + background: brown; +} diff --git a/css/custom-choc/images/ui-anim_basic_16x16.gif b/css/custom-choc/images/ui-anim_basic_16x16.gif new file mode 100755 index 0000000..085ccae Binary files /dev/null and b/css/custom-choc/images/ui-anim_basic_16x16.gif differ diff --git a/css/custom-choc/images/ui-bg_flat_0_aaaaaa_40x100.png b/css/custom-choc/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100755 index 0000000..5b5dab2 Binary files /dev/null and b/css/custom-choc/images/ui-bg_flat_0_aaaaaa_40x100.png differ diff --git a/css/custom-choc/images/ui-bg_glass_15_5f391b_1x400.png b/css/custom-choc/images/ui-bg_glass_15_5f391b_1x400.png new file mode 100755 index 0000000..04c0197 Binary files /dev/null and b/css/custom-choc/images/ui-bg_glass_15_5f391b_1x400.png differ diff --git a/css/custom-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png b/css/custom-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png new file mode 100755 index 0000000..814dca9 Binary files /dev/null and b/css/custom-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png differ diff --git a/css/custom-choc/images/ui-bg_gloss-wave_25_453326_500x100.png b/css/custom-choc/images/ui-bg_gloss-wave_25_453326_500x100.png new file mode 100755 index 0000000..c790d09 Binary files /dev/null and b/css/custom-choc/images/ui-bg_gloss-wave_25_453326_500x100.png differ diff --git a/css/custom-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png b/css/custom-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png new file mode 100755 index 0000000..8decbc7 Binary files /dev/null and b/css/custom-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png differ diff --git a/css/custom-choc/images/ui-bg_highlight-soft_20_201913_1x100.png b/css/custom-choc/images/ui-bg_highlight-soft_20_201913_1x100.png new file mode 100755 index 0000000..63e7609 Binary files /dev/null and b/css/custom-choc/images/ui-bg_highlight-soft_20_201913_1x100.png differ diff --git a/css/custom-choc/images/ui-bg_highlight-soft_20_9c947c_1x100.png b/css/custom-choc/images/ui-bg_highlight-soft_20_9c947c_1x100.png new file mode 100755 index 0000000..f27c552 Binary files /dev/null and b/css/custom-choc/images/ui-bg_highlight-soft_20_9c947c_1x100.png differ diff --git a/css/custom-choc/images/ui-bg_inset-soft_10_201913_1x100.png b/css/custom-choc/images/ui-bg_inset-soft_10_201913_1x100.png new file mode 100755 index 0000000..7003624 Binary files /dev/null and b/css/custom-choc/images/ui-bg_inset-soft_10_201913_1x100.png differ diff --git a/css/custom-choc/images/ui-icons_222222_256x240.png b/css/custom-choc/images/ui-icons_222222_256x240.png new file mode 100755 index 0000000..b273ff1 Binary files /dev/null and b/css/custom-choc/images/ui-icons_222222_256x240.png differ diff --git a/css/custom-choc/images/ui-icons_e3ddc9_256x240.png b/css/custom-choc/images/ui-icons_e3ddc9_256x240.png new file mode 100755 index 0000000..51308e2 Binary files /dev/null and b/css/custom-choc/images/ui-icons_e3ddc9_256x240.png differ diff --git a/css/custom-choc/images/ui-icons_f1fd86_256x240.png b/css/custom-choc/images/ui-icons_f1fd86_256x240.png new file mode 100755 index 0000000..06ce08f Binary files /dev/null and b/css/custom-choc/images/ui-icons_f1fd86_256x240.png differ diff --git a/css/custom-choc/images/ui-icons_ffffff_256x240.png b/css/custom-choc/images/ui-icons_ffffff_256x240.png new file mode 100755 index 0000000..42f8f99 Binary files /dev/null and b/css/custom-choc/images/ui-icons_ffffff_256x240.png differ diff --git a/css/custom-choc/jquery-ui-1.8.all.css b/css/custom-choc/jquery-ui-1.8.all.css new file mode 100755 index 0000000..592a528 --- /dev/null +++ b/css/custom-choc/jquery-ui-1.8.all.css @@ -0,0 +1,489 @@ +/* +* jQuery UI CSS Framework +* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +*/ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* +* jQuery UI CSS Framework +* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Segoe%20UI,%20Helvetica,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=453326&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=25&borderColorHeader=695649&fcHeader=e3ddc9&iconColorHeader=e3ddc9&bgColorContent=201913&bgTextureContent=05_inset_soft.png&bgImgOpacityContent=10&borderColorContent=9c947c&fcContent=ffffff&iconColorContent=222222&bgColorDefault=1c160d&bgTextureDefault=12_gloss_wave.png&bgImgOpacityDefault=20&borderColorDefault=695444&fcDefault=e3ddc9&iconColorDefault=e3ddc9&bgColorHover=44372c&bgTextureHover=12_gloss_wave.png&bgImgOpacityHover=30&borderColorHover=9c947c&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=201913&bgTextureActive=03_highlight_soft.png&bgImgOpacityActive=20&borderColorActive=9c947c&fcActive=e3ddc9&iconColorActive=e3ddc9&bgColorHighlight=9c947c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=20&borderColorHighlight=d0cdc3&fcHighlight=ffffff&iconColorHighlight=ffffff&bgColorError=5f391b&bgTextureError=02_glass.png&bgImgOpacityError=15&borderColorError=5f391b&fcError=ffffff&iconColorError=f1fd86&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +*/ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Segoe UI, Helvetica, Arial, sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Segoe UI, Helvetica, Arial, sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #9c947c; background: #201913 url(images/ui-bg_inset-soft_10_201913_1x100.png) 50% bottom repeat-x; color: #ffffff; } +.ui-widget-content a { color: #ffffff; } +.ui-widget-header { border: 1px solid #695649; background: #453326 url(images/ui-bg_gloss-wave_25_453326_500x100.png) 50% 50% repeat-x; color: #e3ddc9; font-weight: bold; } +.ui-widget-header a { color: #e3ddc9; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #695444; background: #1c160d url(images/ui-bg_gloss-wave_20_1c160d_500x100.png) 50% 50% repeat-x; font-weight: bold; color: #e3ddc9; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #e3ddc9; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #9c947c; background: #44372c url(images/ui-bg_gloss-wave_30_44372c_500x100.png) 50% 50% repeat-x; font-weight: bold; color: #ffffff; } +.ui-state-hover a, .ui-state-hover a:hover { color: #ffffff; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #9c947c; background: #201913 url(images/ui-bg_highlight-soft_20_201913_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e3ddc9; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e3ddc9; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #d0cdc3; background: #9c947c url(images/ui-bg_highlight-soft_20_9c947c_1x100.png) 50% top repeat-x; color: #ffffff; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #ffffff; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #5f391b; background: #5f391b url(images/ui-bg_glass_15_5f391b_1x400.png) 50% 50% repeat-x; color: #ffffff; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_e3ddc9_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_e3ddc9_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_e3ddc9_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_f1fd86_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; } +.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; } +.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } +.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } +.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } +.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } +.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } +.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* Resizable +----------------------------------*/ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Selectable +----------------------------------*/ +.ui-selectable-helper { border:1px dotted black } +/* Accordion +----------------------------------*/ +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +/* IE7-/Win - Fix extra vertical space in lists */ +.ui-accordion a { zoom: 1; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; }/* Autocomplete +----------------------------------*/ +.ui-autocomplete { position: absolute; cursor: default; } +.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* Menu +----------------------------------*/ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* Button +----------------------------------*/ + +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ + + + + + +/* Dialog +----------------------------------*/ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* Slider +----------------------------------*/ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs +----------------------------------*/ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } +/* Datepicker +----------------------------------*/ +.ui-datepicker { width: 17em; padding: .2em .2em 0; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +}/* Progressbar +----------------------------------*/ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/css/index.html b/css/index.html new file mode 100644 index 0000000..6922839 --- /dev/null +++ b/css/index.html @@ -0,0 +1,7 @@ + + +Computer Says No + + + + diff --git a/css/scanlines.png b/css/scanlines.png new file mode 100644 index 0000000..99c96d0 Binary files /dev/null and b/css/scanlines.png differ diff --git a/css/tektura.ttf b/css/tektura.ttf new file mode 100644 index 0000000..d0b8bbb Binary files /dev/null and b/css/tektura.ttf differ diff --git a/js/apple1.js b/js/apple1.js new file mode 100644 index 0000000..de1ee67 --- /dev/null +++ b/js/apple1.js @@ -0,0 +1,462 @@ +import Apple1IO from './apple1io'; +import CPU6502 from './cpu6502'; +import Prefs from './prefs'; +import RAM from './ram'; +import { TextPage } from './canvas1'; +import { debug, hup } from './util'; + +import Basic from './roms/basic'; +import Bios from './roms/bios'; +import Krusader from './roms/krusader'; + +import ACI from './cards/aci'; + +import { mapKeyEvent, KeyBoard } from './ui/keyboard'; + +var DEBUG=false; +var TRACE=true; +var skidmarks = []; + +var focused = false; +var startTime = Date.now(); +var lastCycles = 0; +var renderedFrames = 0, lastFrames = 0; +var paused = false; + +var hashtag; +var prefs = new Prefs(); +var runTimer = null; +var cpu = new CPU6502(); + +var krusader = window.location.hash == '#krusader'; + +var raml, ramh, rom, aci, io, text, keyboard; + +// 32K base memory. Should be 0x0f for 4K, 0x1f for 8K, 0x3f for 16K +raml = new RAM(0x00, 0x7f); +text = new TextPage(); +text.init(); + +aci = new ACI(cpu, { progress: function(val) { + //$("#takeup").css("width", val * 75); + //$("#supply").css("width", 75 - val * 75); + $('#tape').css('width', val * 100); +}}); +io = new Apple1IO(text); + +if (krusader) { + ramh = null; + rom = new Krusader(); +} else { + // ramh = new RAM(0xe0, 0xef); // 4K ACI memory. + ramh = new Basic(); + rom = new Bios(); +} +keyboard = new KeyBoard(cpu, io, text); + +cpu.addPageHandler(raml); +if (ramh) { + cpu.addPageHandler(ramh); +} +cpu.addPageHandler(rom); + +cpu.addPageHandler(aci); +cpu.addPageHandler(io); + +var showFPS = false; + +//aci.setData([0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88]) +//aci.setData([0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07]) +//aci.setData([0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef]) + +//aci.setData(tapes['BASIC']); +aci.setData(window.tapes['Microchess'].tracks); + +// Audio Buffer Source +var context; +if (typeof window.webkitAudioContext != 'undefined') { + context = new window.webkitAudioContext(); +} + +function doLoadLocal() { + var files = $('#local_file').prop('files'); + if (files.length == 1) { + var file = files[0]; + var fileReader = new FileReader(); + fileReader.onload = function(ev) { + context.decodeAudioData(ev.target.result, function(buffer) { + var buf = []; + var data = buffer.getChannelData(0); + var old = (data[0] > 0.25); + var last = 0; + for (var idx = 1; idx < data.length; idx++) { + var current = (data[idx] > 0.25); + if (current != old) { + var delta = idx - last; + buf.push(parseInt(delta / buffer.sampleRate * 1023000)); + old = current; + last = idx; + } + } + aci.buffer = buf; + $('#local').dialog('close'); + }); + }; + fileReader.readAsArrayBuffer(file); + } +} + +export function openLoadLocal() { + $('#local').dialog('open'); +} + +function updateKHz() { + var now = Date.now(); + var ms = now - startTime; + var cycles = cpu.cycles(); + var delta; + + if (showFPS) { + delta = renderedFrames - lastFrames; + var fps = parseInt(delta/(ms/1000)); + $('#khz').text( fps + 'fps'); + } else { + delta = cycles - lastCycles; + var khz = parseInt(delta/ms); + $('#khz').text( khz + 'KHz'); + } + + startTime = now; + lastCycles = cycles; + lastFrames = renderedFrames; +} + +var loading = false; +var throttling = true; +var turbotape = false; + +export function toggleFPS() { + showFPS = !showFPS; +} + +export function toggleSpeed() +{ + throttling = $('#speed_toggle').prop('checked'); + if (runTimer) { + run(); + } +} + +export function setTurboTape(val) { + turbotape = val; +} + +var _requestAnimationFrame = + window.requestAnimationFrame || + window.mozRequestAnimationFrame || + window.webkitRequestAnimationFrame || + window.msRequestAnimationFrame; + +function run(pc) { + if (runTimer) { + clearInterval(runTimer); + } + + if (pc) { + cpu.setPC(pc); + } + + var ival = 30, step = 1023 * ival, stepMax = step; + + if (!throttling) { + ival = 1; + } + + var now, last = Date.now(); + var runFn = function() { + now = Date.now(); + renderedFrames++; + if (_requestAnimationFrame) { + step = (now - last) * 1023; + last = now; + if (step > stepMax) { + step = stepMax; + } + } + if (document.location.hash != hashtag) { + hashtag = document.location.hash; + } + if (!loading) { + if (DEBUG) { + cpu.stepCyclesDebug(TRACE ? 1 : step, function() { + var line = cpu.dumpRegisters() + ' ' + cpu.dumpPC(); + if (TRACE) { + debug(line); + } else { + skidmarks.push(); + if (skidmarks.length > 256) { + skidmarks.shift(); + } + } + }); + } else { + cpu.stepCycles(step); + } + text.blit(); + } + if (!paused && _requestAnimationFrame) { + _requestAnimationFrame(runFn); + } + }; + if (_requestAnimationFrame) { + _requestAnimationFrame(runFn); + } else { + runTimer = setInterval(runFn, ival); + } +} + +function stop() { + if (runTimer) { + clearInterval(runTimer); + } + runTimer = null; +} + +function reset() +{ + cpu.reset(); +} + +export function loadBinary(bin) { + stop(); + for (var idx = 0; idx < bin.length; idx++) { + var pos = bin.start + idx; + cpu.write(pos >> 8, pos & 0xff, bin.data[idx]); + } + run(bin.start); +} + +var _key; +function _keydown(evt) { + if (evt.keyCode === 112) { + cpu.reset(); + } else if (evt.keyCode === 113) { + if (document.webkitIsFullScreen) { + document.webkitCancelFullScreen(); + } else { + var elem = document.getElementById('display'); + elem.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT); + } + } else if (evt.keyCode == $.ui.keyCode.SHIFT) { + keyboard.shiftKey(true); + } else if (evt.keyCode == $.ui.keyCode.CONTROL) { + keyboard.controlKey(true); + } else if (!focused && (!evt.metaKey || evt.ctrlKey)) { + evt.preventDefault(); + + var key = mapKeyEvent(evt); + if (key != 0xff) { + if (_key != 0xff) io.keyUp(); + io.keyDown(key); + _key = key; + } + } +} + +function _keyup(evt) { + _key = 0xff; + + if (evt.keyCode == $.ui.keyCode.SHIFT) { + keyboard.shiftKey(false); + } else if (evt.keyCode == $.ui.keyCode.CONTROL) { + keyboard.controlKey(false); + } else { + if (!focused) { + io.keyUp(); + } + } +} + +var _updateScreenTimer = null; + +export function updateScreen() { + var green = $('#green_screen').prop('checked'); + var scanlines = $('#show_scanlines').prop('checked'); + + text.green(green); + text.scanlines(scanlines); + + if (!_updateScreenTimer) + _updateScreenTimer = + setInterval(function() { + text.refresh(); + clearInterval(_updateScreenTimer); + _updateScreenTimer = null; + }, 100); +} + +paused = false; +export function pauseRun(b) { + if (paused) { + run(); + b.value = 'Pause'; + } else { + stop(); + b.value = 'Run'; + } + paused = !paused; +} + +export function openLoadText(event) { + if (event.altKey) { + $('#local').dialog('open'); + } else { + $('#input_text').dialog('open'); + $('#text_input').focus(); + } +} + +function doLoadText() { + var text = $('#text_input').val(); + if (!text.indexOf('//Binary')) { + var lines = text.split('\n'); + $.each(lines, function(_, line) { + var parts = line.split(': '); + if (parts.length == 2) { + var addr; + if (parts[0].length > 0) { + addr = parseInt(parts[0], 16); + } + var data = parts[1].split(' '); + for (var idx = 0; idx < data.length; idx++) { + cpu.write(addr >> 8, addr & 0xff, parseInt(data[idx], 16)); + addr++; + } + } + }); + } else { + io.paste(text); + } + $('#input_text').dialog('close'); +} + +$(function() { + hashtag = document.location.hash; + + $('button,input[type=button],a.button').button(); + + /* + * Input Handling + */ + + var canvas = document.getElementById('text'); + var context = canvas.getContext('2d'); + + text.setContext(context); + + $(window).keydown(_keydown); + $(window).keyup(_keyup); + + $('.overscan').bind('paste', function(event) { + io.paste(event.originalEvent.clipboardData().getData('text/plain')); + event.preventDefault(); + }); + + $('input,textarea').focus(function() { focused = true; }); + $('input,textarea').blur(function() { focused = false; }); + + keyboard.create($('#keyboard')); + + if (prefs.havePrefs()) { + $('input[type=checkbox]').each(function() { + var val = prefs.readPref(this.id); + if (val != null) + this.checked = JSON.parse(val); + }); + $('input[type=checkbox]').change(function() { + prefs.writePref(this.id, JSON.stringify(this.checked)); + }); + } + + turbotape = $('#turbo_tape').prop('checked'); + + $.each(window.tapes, function(key) { + $('#tape_select').append( + '');}); + + $('#tape_select').change(function(event) { + var tape = window.tapes[event.target.value]; + if (!tape) { + $('#text_input').val(''); + return; + } + window.location.hash = event.target.value; + reset(); + if (turbotape) { + var trackIdx = 0, script = ''; + var parts = tape.script.split('\n'); + // Ignore part 0 (C100R) + // Split part 1 into ranges + var ranges = parts[1].split(' '); + var idx; + for (idx = 0; idx < ranges.length; idx++) { + var range = ranges[idx].split('.'); + var start = parseInt(range[0], 16); + var end = parseInt(range[1], 16); + var track = tape.tracks[trackIdx]; + var kdx = 0; + for (var jdx = start; jdx <= end; jdx++) { + cpu.write(jdx >> 8, jdx & 0xff, track[kdx++]); + } + trackIdx++; + } + // Execute parts 2-n + for (idx = 2; idx < parts.length; idx++) { + if (parts[idx]) { + script += parts[idx] + '\n'; + } + } + $('#text_input').val(script); + $('#tape').css('width', 100); + } else { + aci.setData(tape.tracks); + $('#text_input').val(tape.script); + } + }); + + // reset(); + run(); + setInterval(updateKHz, 1000); + updateScreen(); + + var cancel = function() { $(this).dialog('close'); }; + $('#options').dialog({ autoOpen: false, + modal: true, + width: 320, + height: 400, + buttons: {'Close': cancel }}); + $('#input_text').dialog({ autoOpen: false, + modal: true, + width: 530, + buttons: [ + { + text: 'Cancel', + click: cancel + }, + { + text: 'OK', + click: doLoadText + }]}); + $('#local').dialog({ autoOpen: false, + modal: true, + width: 530, + buttons: {'Cancel': cancel, 'OK': doLoadLocal }}); + + var tape = hup(); + if (tape) { + $('#tape_select').val(tape).change(); + doLoadText(); + } +}); diff --git a/js/apple1io.js b/js/apple1io.js new file mode 100644 index 0000000..ab243f4 --- /dev/null +++ b/js/apple1io.js @@ -0,0 +1,97 @@ +/* Copyright 2010-2019 Will Scullin + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ + +export default function Apple1IO(text) { + var _key = 0; + var _keyReady = false; + + var _displayReady = false; + var _nextDSP = 0; + var _buffer = []; + + var LOC = { + KBD: 0x10, + KBDRDY: 0x011, + DSP: 0x12, + DSPCTL: 0x13 + }; + + return { + start: function() { return 0xd0; }, + end: function() { return 0xd0; }, + read: function(page, off) { + var result = 0; + off &= 0x13; + switch (off) { + case LOC.KBD: + // Keyboard + if (_buffer.length) { + result = _buffer.shift().toUpperCase().charCodeAt(0) & 0x7f; + _keyReady = (_buffer.length > 0); + } else { + result = _key; + _keyReady = false; + } + result |= 0x80; + break; + case LOC.KBDRDY: + result = _keyReady ? 0x80 : 0x00; + break; + case LOC.DSP: + // Display + // result = (Math.random() > 0.5) ? 0x80 : 0x00; + result = (Date.now() > _nextDSP) ? 0x00 : 0x80; + break; + case LOC.DSPCTL: + break; + } + return result; + }, + write: function(page, off, val) { + off &= 0x13; + switch (off) { + case LOC.KBD: + break; + case LOC.KBDRDY: + break; + case LOC.DSP: + // Display + if (_displayReady) { + text.write(val); + } + _nextDSP = Date.now() + ((_buffer.length > 0) ? 0 : 17); + break; + case LOC.DSPCTL: + // Don't pretend we care what the value was... + _displayReady = true; + break; + } + }, + reset: function apple1io_reset() { + text.clear(); + _buffer = []; + _keyReady = false; + _displayReady = false; + }, + keyUp: function apple1io_keyUp() { + }, + keyDown: function apple1io_keyDown(key) { + _key = key; + _keyReady = true; + }, + paste: function apple1io_paste(buffer) { + buffer = buffer.replace(/\/\/.*\n/g, ''); + buffer = buffer.replace(/\n/g, '\r'); + _buffer = buffer.split(''); + _keyReady = true; + } + }; +} diff --git a/js/base64.js b/js/base64.js new file mode 100644 index 0000000..f40cf2e --- /dev/null +++ b/js/base64.js @@ -0,0 +1,110 @@ +export function base64_encode (data) { + // Twacked by Will Scullin to handle arrays of "bytes" + + // http://kevin.vanzonneveld.net + // + original by: Tyler Akins (http://rumkin.com) + // + improved by: Bayron Guevara + // + improved by: Thunder.m + // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // + bugfixed by: Pellentesque Malesuada + // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // - depends on: utf8_encode + // * example 1: base64_encode('Kevin van Zonneveld'); + // * returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA==' + + // mozilla has this native + // - but breaks in 2.0.0.12! + //if (typeof this.window['atob'] == 'function') { + // return atob(data); + //} + + var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc='', tmp_arr = []; + + if (!data) { + return data; + } + + do { // pack three octets into four hexets + o1 = data[i++]; + o2 = data[i++]; + o3 = data[i++]; + + bits = o1<<16 | o2<<8 | o3; + + h1 = bits>>18 & 0x3f; + h2 = bits>>12 & 0x3f; + h3 = bits>>6 & 0x3f; + h4 = bits & 0x3f; + + // use hexets to index into b64, and append result to encoded string + tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4); + } while (i < data.length); + + enc = tmp_arr.join(''); + + switch (data.length % 3) { + case 1: + enc = enc.slice(0, -2) + '=='; + break; + case 2: + enc = enc.slice(0, -1) + '='; + break; + } + + return enc; +} + +export function base64_decode(data) { + // Twacked by Will Scullin to handle arrays of "bytes" + + // http://kevin.vanzonneveld.net + // + original by: Tyler Akins (http://rumkin.com) + // + improved by: Thunder.m + // + input by: Aman Gupta + // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // + bugfixed by: Onno Marsman + // + bugfixed by: Pellentesque Malesuada + // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // + input by: Brett Zamir (http://brett-zamir.me) + // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // - depends on: utf8_decode + // * example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA=='); + // * returns 1: 'Kevin van Zonneveld' + + // mozilla has this native + // - but breaks in 2.0.0.12! + //if (typeof this.window['btoa'] == 'function') { + // return btoa(data); + //} + + var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, tmp_arr = []; + + if (!data) { + return data; + } + + do { // unpack four hexets into three octets using index points in b64 + h1 = b64.indexOf(data.charAt(i++)); + h2 = b64.indexOf(data.charAt(i++)); + h3 = b64.indexOf(data.charAt(i++)); + h4 = b64.indexOf(data.charAt(i++)); + + bits = h1<<18 | h2<<12 | h3<<6 | h4; + + o1 = bits>>16 & 0xff; + o2 = bits>>8 & 0xff; + o3 = bits & 0xff; + + tmp_arr[ac++] = o1; + if (h3 != 64) { + tmp_arr[ac++] = o2; + } + if (h4 != 64) { + tmp_arr[ac++] = o3; + } + } while (i < data.length); + + return tmp_arr; +} diff --git a/js/canvas1.js b/js/canvas1.js new file mode 100644 index 0000000..ebaa198 --- /dev/null +++ b/js/canvas1.js @@ -0,0 +1,193 @@ +/* Copyright 2010-2019Will Scullin + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ + +import { charset } from './roms/apple1char'; + +/* +0: A9 9 AA 20 EF FF E8 8A 4C 2 0 +0R +*/ + +/* + * Text Page Drawing + */ + +export function TextPage() +{ + var _page; + var _context; + + var _buffer = []; + var _greenMode = false; + var _scanlines = false; + + var _black = [0x00,0x00,0x00]; + var _white = [0xee,0xff,0xff]; + var _green = [0x00,0xff,0x80]; + var _blinking = 0; + + var _row = 0; + var _col = 0; + var _dirty = false; + + function _init() { + _buffer = []; + for (var row = 0; row < 24; row++) { + _buffer[row] = []; + for (var col = 0; col < 40; col++) { + _buffer[row][col] = 0x00; + } + } + _dirty = true; + } + + _init(); + + return { + init: function() { + var self = this; + window.setInterval(function() { + _blinking = (_blinking + 1) % 3; + self._blink(); + _dirty = true; + }, 333); + }, + + write: function(val) { + var col; + val &= 0x7f; + + if (this.transcript) { + if (val == 0xd) { + this.transcript += '\n'; + } else if (val >= 0x20) { + if (val >= 0x60) { + val &= 0x5f; + } + this.transcript += String.fromCharCode(val); + } + } + + if (val == 0x0d) { + for (col = _col; col < 40; col++) { + _buffer[_row][col] = 0x20; + } + _col = 0; + _row++; + } else { + if (val >= 0x20) { + if (val >= 0x60) { + val &= 0x5f; + } + _buffer[_row][_col] = val; + _col++; + if (_col > 39) { + _col = 0; + _row++; + } + } + } + if (_row > 23) { + _row = 23; + _buffer.shift(); + _buffer.push([]); + for (col = 0; col < 40; col++) { + _buffer[_row][col] = 0x20; + } + } + _buffer[_row][_col] = 0x00; + this.refresh(); + }, + writeAt: function(row, col, val) { + _buffer[row][col] = val; + var data = _page.data, fore, back, color; + var off = (col * 14 + row * 560 * 8 * 2) * 4; + + fore = _greenMode ? _green : _white; + back = _black; + if (!val && !_blinking) { + fore = _black; + } + for (var jdx = 0; jdx < 8; jdx++) { + var b = charset[(val & 0x3f) * 8 + jdx]; + for (var idx = 0; idx < 7; idx += 1) { + b <<= 1; + color = (b & 0x80) ? fore : back; + var c0 = color[0], c1 = color[1], c2 = color[2]; + data[off + 0] = data[off + 4] = c0; + data[off + 1] = data[off + 5] = c1; + data[off + 2] = data[off + 6] = c2; + if (!_scanlines) { + data[off + 560 * 4] = data[off + 560 * 4 + 4] = c0; + data[off + 560 * 4 + 1] = data[off + 560 * 4 + 5] = c1; + data[off + 560 * 4 + 2] = data[off + 560 * 4 + 6] = c2; + } else { + data[off + 560 * 4] = data[off + 560 * 4 + 4] = c0 >> 1; + data[off + 560 * 4 + 1] = data[off + 560 * 4 + 5] = c1 >> 1; + data[off + 560 * 4 + 2] = data[off + 560 * 4 + 6] = c2 >> 1; + } + off += 8; + } + off += 546 * 4 + 560 * 4; + } + }, + _blink: function() { + for (var row = 0; row < 24; row++) { + for (var col = 0; col < 40; col++) { + var val = _buffer[row][col]; + if (!val) { + this.writeAt(row, col, val); + } + } + } + _dirty = true; + }, + refresh: function() { + for (var row = 0; row < 24; row++) { + for (var col = 0; col < 40; col++) { + this.writeAt(row, col, _buffer[row][col]); + } + } + _dirty = true; + }, + green: function(on) { + _greenMode = on; + this.refresh(); + }, + scanlines: function(on) { + _scanlines = on; + this.refresh(); + }, + blit: function() { + if (_dirty) { + _context.putImageData(_page, 0, 0, 0, 0, 7 * 40 * 2, 8 * 24 * 2); + } + }, + setContext: function(context) { + _context = context; + _page = context.createImageData(560, 384); + for (var idx = 0; idx < 560 * 384 * 4; idx++) { + _page.data[idx] = 0xff; + } + }, + clear: function canvas_clearScreen() { + for (var row = 0; row < 24; row++) { + for (var col = 0; col < 40; col++) { + _buffer[row][col] = 0x20; + } + } + _col = 0; + _row = 0; + this.refresh(); + }, + transcript: '' + }; +} diff --git a/js/cards/aci.js b/js/cards/aci.js new file mode 100644 index 0000000..b750778 --- /dev/null +++ b/js/cards/aci.js @@ -0,0 +1,158 @@ +import { debug } from '../util'; + +export default function ACI(cpu, cb) { + var _last = cpu.cycles(); + var _next = _last; + var _recording = false; + var _readOffset = 0; + var _flip = false; + var _beKind = false; + var _progress = 0; + + var rom = [ + 0xA9,0xAA,0x20,0xEF,0xFF,0xA9,0x8D,0x20, + 0xEF,0xFF,0xA0,0xFF,0xC8,0xAD,0x11,0xD0, + 0x10,0xFB,0xAD,0x10,0xD0,0x99,0x00,0x02, + 0x20,0xEF,0xFF,0xC9,0x9B,0xF0,0xE1,0xC9, + 0x8D,0xD0,0xE9,0xA2,0xFF,0xA9,0x00,0x85, + 0x24,0x85,0x25,0x85,0x26,0x85,0x27,0xE8, + 0xBD,0x00,0x02,0xC9,0xD2,0xF0,0x56,0xC9, + 0xD7,0xF0,0x35,0xC9,0xAE,0xF0,0x27,0xC9, + 0x8D,0xF0,0x20,0xC9,0xA0,0xF0,0xE8,0x49, + 0xB0,0xC9,0x0A,0x90,0x06,0x69,0x88,0xC9, + 0xFA,0x90,0xAD,0x0A,0x0A,0x0A,0x0A,0xA0, + 0x04,0x0A,0x26,0x24,0x26,0x25,0x88,0xD0, + 0xF8,0xF0,0xCC,0x4C,0x1A,0xFF,0xA5,0x24, + 0x85,0x26,0xA5,0x25,0x85,0x27,0xB0,0xBF, + 0xA9,0x40,0x20,0xCC,0xC1,0x88,0xA2,0x00, + 0xA1,0x26,0xA2,0x10,0x0A,0x20,0xDB,0xC1, + 0xD0,0xFA,0x20,0xF1,0xC1,0xA0,0x1E,0x90, + 0xEC,0xA6,0x28,0xB0,0x98,0x20,0xBC,0xC1, + 0xA9,0x16,0x20,0xCC,0xC1,0x20,0xBC,0xC1, + 0xA0,0x1F,0x20,0xBF,0xC1,0xB0,0xF9,0x20, + 0xBF,0xC1,0xA0,0x3A,0xA2,0x08,0x48,0x20, + 0xBC,0xC1,0x68,0x2A,0xA0,0x39,0xCA,0xD0, + 0xF5,0x81,0x26,0x20,0xF1,0xC1,0xA0,0x35, + 0x90,0xEA,0xB0,0xCD,0x20,0xBF,0xC1,0x88, + 0xAD,0x81,0xC0,0xC5,0x29,0xF0,0xF8,0x85, + 0x29,0xC0,0x80,0x60,0x86,0x28,0xA0,0x42, + 0x20,0xE0,0xC1,0xD0,0xF9,0x69,0xFE,0xB0, + 0xF5,0xA0,0x1E,0x20,0xE0,0xC1,0xA0,0x2C, + 0x88,0xD0,0xFD,0x90,0x05,0xA0,0x2F,0x88, + 0xD0,0xFD,0xBC,0x00,0xC0,0xA0,0x29,0xCA, + 0x60,0xA5,0x26,0xC5,0x24,0xA5,0x27,0xE5, + 0x25,0xE6,0x26,0xD0,0x02,0xE6,0x27,0x60 + ]; + + return { + start: function aci_start() { + return 0xc0; + }, + end: function aci_end() { + return 0xc1; + }, + read: function aci_read(page, off) { + var now = cpu.cycles(); + var result = rom[off]; + if (page == 0xc0) { + if (_recording) { + var delta = now - _last; + this.buffer.push(delta); + _last = now; + } else { + var progress; + if (_readOffset < this.buffer.length) { + if (now > _next) { + if ((_readOffset % 1000) == 0) { + debug('Read ' + (_readOffset / 1000)); + } + _flip = !_flip; + _next = now + this.buffer[_readOffset++]; + } + } + result = _flip ? rom[off | 0x01] : rom[off & 0xfe]; + + progress = Math.round(_readOffset / this.buffer.length * 100) / 100; + if (_progress != progress) { + _progress = progress; + cb.progress(_progress); + } + } + } else { + switch (off) { + case 0x00: + _recording = false; + _beKind = true; + debug('Entering ACI CLI'); + break; + case 0x63: + if (_recording) { + this.buffer.push(5000000); + _recording = false; + } + debug('Exiting ACI CLI'); + break; + case 0x70: // WRITE + _recording = true; + if (_beKind) { + _beKind = false; + this.buffer = []; + } + debug('Start write'); + _last = now; + break; + //case 0x7c: // WBITLOOP: + // _debug = true; + // debug("Write bit loop"); + // break; + case 0x8d: // READ + _recording = false; + debug('Start read'); + if (_beKind) { + _readOffset = 0; + _next = now + 5000000; + _beKind = false; + + cb.progress(0); + } + break; + default: + break; + } + } + return result; + }, + write: function aci_write() {}, + + getState: function aci_getState() { return {}; }, + setState: function aci_setState() {}, + + setData: function aci_setData(data) { + var seg, idx, jdx, d, b; + this.buffer = []; + for (seg = 0; seg < data.length; seg++) { + for (idx = 0; idx < 16384; idx++) { + this.buffer.push(592); + } + this.buffer.push(180); + this.buffer.push(238); + d = data[seg]; + for (idx = 0; idx < d.length; idx++) { + b = d[idx]; + for (jdx = 0; jdx < 8; jdx++) { + if (b & 0x80) { + this.buffer.push(473); + this.buffer.push(473); + } else { + this.buffer.push(238); + this.buffer.push(238); + } + b <<= 1; + } + } + this.buffer.push(5000000); + } + }, + buffer: [] + }; +} diff --git a/js/copyright.js b/js/copyright.js new file mode 100644 index 0000000..5e8e36e --- /dev/null +++ b/js/copyright.js @@ -0,0 +1,11 @@ +/*! + * Copyright 2010-2018 Will Scullin + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ diff --git a/js/cpu6502.js b/js/cpu6502.js new file mode 100644 index 0000000..a7ec241 --- /dev/null +++ b/js/cpu6502.js @@ -0,0 +1,1375 @@ +/* + * Copyright 2010-2013 Will Scullin + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ + +import { debug, toHex } from './util'; + +export default function CPU6502(options) +{ + options = options || {}; + + var is65C02 = options['65C02'] ? true : false; + + /* Registers */ + var pc = 0, // Program Counter + sr = 0x20, // Process Status Register + ar = 0, // Accumulator + xr = 0, // X Register + yr = 0, // Y Register + sp = 0xff; // Stack Pointer + + /* Addressing Mode */ + var modes = { + accumulator: 0, // A (Accumulator) + implied: 1, // Implied + immediate: 2, // # Immediate + absolute: 3, // a Absolute + zeroPage: 4, // zp Zero Page + relative: 5, // r Relative + + absoluteX: 6, // a,X Absolute, X + absoluteY: 7, // a,Y Absolute, Y + zeroPageX: 8, // zp,X Zero Page, X + zeroPageY: 9, // zp,Y Zero Page, Y + + absoluteIndirect: 10, // (a) Indirect + zeroPageXIndirect: 11, // (zp,X) Zero Page Indexed Indirect + zeroPageIndirectY: 12, // (zp),Y Zero Page Indexed with Y + + /* 65c02 */ + zeroPageIndirect: 13, // (zp), + absoluteXIndirect: 14 // (a, X) + }; + + var sizes = { + 0 /* modes.accumulator */: 1, + 1 /* modes.implied */: 1, + 2 /* modes.immediate */: 2, + 3 /* modes.absolute */: 3, + 4 /* modes.zeroPage */: 2, + 5 /* modes.relative */: 2, + 6 /* modes.absoluteX */: 3, + 7 /* modes.absoluteY */: 3, + 8 /* modes.zeroPageX */: 2, + 9 /* modes.zeroPageY */: 2, + 10 /* modes.indirect */: 3, + 11 /* modes.zeroPageXIndirect */: 2, + 12 /* modes.zeroPageYIndirect */: 2, + + 13 /* mode.zeroPageIndirect */: 2, + 14 /* mode.absoluteXIndirect */: 3 + }; + + /* Flags */ + var flags = { + N: 0x80, // Negative + V: 0x40, // oVerflow + B: 0x10, // Break + D: 0x08, // Decimal + I: 0x04, // Interrupt + Z: 0x02, // Zero + C: 0x01 // Carry + }; + + /* Memory Locations */ + var loc = { + STACK: 0x100, + NMI: 0xFFFA, + RESET: 0xFFFC, + BRK: 0xFFFE + }; + + var idx; + + var readPages = []; + var writePages = []; + var resetHandlers = []; + var inCallback = false; + var cycles = 0; + + var blankPage = { + read: function() { return 0; }, + write: function() {} + }; + + for (idx = 0; idx < 0x100; idx++) { + readPages[idx] = blankPage; + writePages[idx] = blankPage; + } + + function setFlag(f, on) { + sr = on ? (sr | f) : (sr & ~f); + } + + function testNZ(val) { + sr = val === 0 ? (sr | flags.Z) : (sr & ~flags.Z); + sr = val & 0x80 ? (sr | flags.N) : (sr & ~flags.N); + + return val; + } + + function testZ(val) { + sr = val === 0 ? (sr | flags.Z) : (sr & ~flags.Z); + + return val; + } + + function add(a, b, sub) { + if (sub) + b ^= 0xff; + + // KEGS + var c, v; + if (sr & flags.D) { + c = (a & 0x0f) + (b & 0x0f) + (sr & flags.C); + if (sub) { + if (c < 0x10) + c = (c - 0x06) & 0x0f; + c += (a & 0xf0) + (b & 0xf0); + v = (c >> 1) ^ c; + if (c < 0x100) + c = (c + 0xa0) & 0xff; + } else { + if (c > 0x09) + c = (c - 0x0a) | 0x10; // carry to MSN + c += (a & 0xf0) + (b & 0xf0); + v = (c >> 1) ^ c; + if (c > 0x99) + c += 0x60; + } + } else { + c = a + b + (sr & flags.C); + v = (c ^ a) & 0x80; + } + + if ((a ^ b) & 0x80) + v = 0; + + setFlag(flags.C, c > 0xff); + setFlag(flags.V, v); + + return testNZ(c & 0xff); + } + + function increment(a) { + return testNZ((a + 0x01) & 0xff); + } + + function decrement(a) { + return testNZ((a + 0xff) & 0xff); + } + + function readBytePC(dbg) { + var addr = (pc++) & 0xffff, + page = addr >> 8, + off = addr & 0xff; + + return readPages[page].read(page, off, dbg); + } + + function readByte(addr, dbg) { + var page = addr >> 8, + off = addr & 0xff; + + return readPages[page].read(page, off, dbg); + } + + function writeByte(addr, val) { + var page = addr >> 8, + off = addr & 0xff; + + writePages[page].write(page, off, val); + } + + function readWord(addr, dbg) { + return readByte(addr, dbg) | (readByte(addr + 1, dbg) << 8); + } + + function readWordPC(dbg) { + return readBytePC(dbg) | (readBytePC(dbg) << 8); + } + + function readZPWord(addr, dbg) { + var lsb, msb; + + lsb = readByte(addr & 0xff, dbg); + msb = readByte((addr + 1) & 0xff, dbg); + + return (msb << 8) | lsb; + } + + function pushByte(val) { + writeByte(loc.STACK | sp, val); + sp = (sp + 0xff) & 0xff; + } + + function pushWord(val) { + pushByte(val >> 8); + pushByte(val & 0xff); + } + + function pullByte() { + sp = (sp + 0x01) & 0xff; + var result = readByte(loc.STACK | sp); + return result; + } + + function pullWord() { + var lsb = pullByte(), + msb = pullByte(); + + return (msb << 8) | lsb; + } + + function indirectBug(addr) { + var page = addr & 0xff00; + var off = addr & 0xff; + var lsb = readByte(page | (off & 0xff)); + var msb = readByte(page | ((off + 0x01) & 0xff)); + + return (msb << 8) | lsb; + } + + /* + * Read functions + */ + + // #$00 + function readImmediate() { + return readBytePC(); + } + + // $0000 + function readAbsolute() { + return readByte(readWordPC()); + } + + // $00 + function readZeroPage() { + return readByte(readBytePC()); + } + + // $0000,X + function readAbsoluteX() { + var addr = readWordPC(), oldPage = addr >> 8, page; + addr = (addr + xr) & 0xffff; + page = addr >> 8; + if (page != oldPage) { + cycles++; + } + return readByte(addr); + } + + // $0000,Y + function readAbsoluteY() { + var addr = readWordPC(), oldPage = addr >> 8, page; + addr = (addr + yr) & 0xffff; + page = addr >> 8; + if (page != oldPage) { + cycles++; + } + return readByte(addr); + } + + // $00,X + function readZeroPageX() { + return readByte((readBytePC() + xr) & 0xff); + } + + // $00,Y + function readZeroPageY() { + return readByte((readBytePC() + yr) & 0xff); + } + + // ($00,X) + function readZeroPageXIndirect() { + return readByte(readZPWord((readBytePC() + xr) & 0xff)); + } + + // ($00),Y + function readZeroPageIndirectY() { + var addr = readZPWord(readBytePC()), oldPage = addr >> 8, page; + addr = (addr + yr) & 0xffff; + page = addr >> 8; + if (page != oldPage) { + cycles++; + } + return readByte(addr); + } + + // ($00) (65C02) + function readZeroPageIndirect() { + return readByte(readZPWord(readBytePC())); + } + + /* + * Write Functions + */ + + // $0000 + function writeAbsolute(val) { + writeByte(readWordPC(), val); + } + + // $00 + function writeZeroPage(val) { + writeByte(readBytePC(), val); + } + + // $0000,X + function writeAbsoluteX(val) { + writeByte((readWordPC() + xr) & 0xffff, val); + } + + // $0000,Y + function writeAbsoluteY(val) { + writeByte((readWordPC() + yr) & 0xffff, val); + } + + // $00,X + function writeZeroPageX(val) { + writeByte((readBytePC() + xr) & 0xff, val); + } + + // $00,Y + function writeZeroPageY(val) { + writeByte((readBytePC() + yr) & 0xff, val); + } + + // ($00,X) + function writeZeroPageXIndirect(val) { + writeByte(readZPWord((readBytePC() + xr) & 0xff), val); + } + + // ($00),Y + function writeZeroPageIndirectY(val) { + writeByte((readZPWord(readBytePC()) + yr) & 0xffff, val); + } + + // ($00) (65C02) + function writeZeroPageIndirect(val) { + writeByte(readZPWord(readBytePC()), val); + } + + // $00 + function readAddrZeroPage() { + return readBytePC(); + } + + // $00,X + function readAddrZeroPageX() { + return (readBytePC() + xr) & 0xff; + } + + // $0000 (65C02) + function readAddrAbsolute() { + return readWordPC(); + } + + // $0000 + function readAddrAbsoluteIndirectBug() { + return indirectBug(readWordPC()); + } + + // ($0000) + function readAddrAbsoluteIndirect() { + return readWord(readWordPC()); + } + + // $0000,X + function readAddrAbsoluteX() { + return (readWordPC() + xr) & 0xffff; + } + + // $(0000,X) + function readAddrAbsoluteXIndirect() { + return readWord((readWordPC() + xr) & 0xffff); + } + + /* Break */ + function brk(readFn) { + readFn(); + pushWord(pc); + php(); + if (is65C02) { + setFlag(flags.D, false); + } + setFlag(flags.I, true); + pc = readWord(loc.BRK); + } + + /* Load Accumulator */ + function lda(readFn) { + ar = testNZ(readFn()); + } + + /* Load X Register */ + function ldx(readFn) { + xr = testNZ(readFn()); + } + + /* Load Y Register */ + function ldy(readFn) { + yr = testNZ(readFn()); + } + + /* Store Accumulator */ + function sta(writeFn) { + writeFn(ar); + } + + /* Store X Register */ + function stx(writeFn) { + writeFn(xr); + } + + /* Store Y Register */ + function sty(writeFn) { + writeFn(yr); + } + + /* Store Zero */ + function stz(writeFn) { + writeFn(0); + } + + /* Add with Carry */ + function adc(readFn) { + ar = add(ar, readFn(), false); + } + + /* Subtract with Carry */ + function sbc(readFn) { + ar = add(ar, readFn(), true); + } + + /* Increment Memory */ + function incA() { + ar = increment(ar); + } + + function inc(readAddrFn) { + var addr = readAddrFn(); + writeByte(addr, increment(readByte(addr))); + } + + /* Increment X */ + function inx() { + xr = increment(xr); + } + + /* Increment Y */ + function iny() { + yr = increment(yr); + } + + /* Decrement Memory */ + function decA() { + ar = decrement(ar); + } + + function dec(readAddrFn) { + var addr = readAddrFn(); + writeByte(addr, decrement(readByte(addr))); + } + + /* Decrement X */ + function dex() { + xr = decrement(xr); + } + + /* Decrement Y */ + function dey() { + yr = decrement(yr); + } + + function shiftLeft(val) { + setFlag(flags.C, val & 0x80); + return testNZ((val << 1) & 0xff); + } + + /* Arithmatic Shift Left */ + function aslA() { + ar = shiftLeft(ar); + } + + function asl(readAddrFn) { + var addr = readAddrFn(); + writeByte(addr, shiftLeft(readByte(addr))); + } + + function shiftRight(val) { + setFlag(flags.C, val & 0x01); + return testNZ(val >> 1); + } + + /* Logical Shift Right */ + function lsrA() { + ar = shiftRight(ar); + } + + function lsr(readAddrFn) { + var addr = readAddrFn(); + writeByte(addr, shiftRight(readByte(addr))); + } + + function rotateLeft(val) { + var c = (sr & flags.C); + setFlag(flags.C, val & 0x80); + return testNZ(((val << 1) | (c ? 0x01 : 0x00)) & 0xff); + } + + /* Rotate Left */ + function rolA() { + ar = rotateLeft(ar); + } + + function rol(readAddrFn) { + var addr = readAddrFn(); + writeByte(addr, rotateLeft(readByte(addr))); + } + + function rotateRight(a) { + var c = (sr & flags.C); + setFlag(flags.C, a & 0x01); + return testNZ((a >> 1) | (c ? 0x80 : 0x00)); + } + + /* Rotate Right */ + function rorA() { + ar = rotateRight(ar); + } + + function ror(readAddrFn) { + var addr = readAddrFn(); + writeByte(addr, rotateRight(readByte(addr))); + } + + /* Logical And Accumulator */ + function and(readFn) { + ar = testNZ(ar & readFn()); + } + + /* Logical Or Accumulator */ + function ora(readFn) { + ar = testNZ(ar | readFn()); + } + + /* Logical Exclusive Or Accumulator */ + function eor(readFn) { + ar = testNZ(ar ^ readFn()); + } + + /* Test and Reset Bits */ + function trb(readAddrFn) { + var addr = readAddrFn(), + val = readByte(addr); + testZ(val & ar); + writeByte(addr, val & ~ar); + } + + /* Test and Set Bits */ + function tsb(readAddrFn) { + var addr = readAddrFn(), + val = readByte(addr); + testZ(val & ar); + writeByte(addr, val | ar); + } + + /* Bit */ + function bit(readFn) { + var val = readFn(); + setFlag(flags.Z, !(val & ar)); + setFlag(flags.N, val & 0x80); + setFlag(flags.V, val & 0x40); + } + + /* Bit Immediate*/ + function bitI(readFn) { + var val = readFn(); + setFlag(flags.Z, !(val & ar)); + } + + function compare(a, b) + { + b = (b ^ 0xff); + var c = a + b + 1; + setFlag(flags.C, c > 0xff); + testNZ(c & 0xff); + } + + function cmp(readFn) { + compare(ar, readFn()); + } + + function cpx(readFn) { + compare(xr, readFn()); + } + + function cpy(readFn) { + compare(yr, readFn()); + } + + /* Branches */ + function brs(f) { + var off = readBytePC(); // changes pc + if (f & sr) { + var oldPC = pc; + pc += off > 127 ? off - 256 : off; + cycles++; + if ((pc >> 8) != (oldPC >> 8)) cycles++; + } + } + + function brc(f) { + var off = readBytePC(); // changes pc + if (!(f & sr)) { + var oldPC = pc; + pc += off > 127 ? off - 256 : off; + cycles++; + if ((pc >> 8) != (oldPC >> 8)) cycles++; + } + } + + /* Transfers and stack */ + function tax() { testNZ(xr = ar); } + + function txa() { testNZ(ar = xr); } + + function tay() { testNZ(yr = ar); } + + function tya() { testNZ(ar = yr); } + + function tsx() { testNZ(xr = sp); } + + function txs() { sp = xr; } + + function pha() { pushByte(ar); } + + function pla() { testNZ(ar = pullByte()); } + + function phx() { pushByte(xr); } + + function plx() { testNZ(xr = pullByte()); } + + function phy() { pushByte(yr); } + + function ply() { testNZ(yr = pullByte()); } + + function php() { pushByte(sr | flags.B); } + + function plp() { sr = (pullByte() & ~flags.B) | 0x20; } + + /* Jump */ + function jmp(readAddrFn) { + pc = readAddrFn(); + } + + /* Jump Subroutine */ + function jsr(readAddrFn) { + var dest = readAddrFn(); + pushWord(pc - 1); + pc = dest; + } + + /* Return from Subroutine */ + function rts() { + pc = (pullWord() + 1) & 0xffff; + } + + /* Return from Subroutine */ + function rti() { + sr = pullByte() & ~flags.B; + pc = pullWord(); + } + + /* Set and Clear */ + function set(flag) { + sr |= flag; + } + + function clr(flag) { + sr &= ~flag; + } + + /* No-Op */ + function nop() { + } + + var ops = { + // LDA + 0xa9: ['LDA', lda, readImmediate, modes.immediate, 2], + 0xa5: ['LDA', lda, readZeroPage, modes.zeroPage, 3], + 0xb5: ['LDA', lda, readZeroPageX, modes.zeroPageX, 4], + 0xad: ['LDA', lda, readAbsolute, modes.absolute, 4], + 0xbd: ['LDA', lda, readAbsoluteX, modes.absoluteX, 4], + 0xb9: ['LDA', lda, readAbsoluteY, modes.absoluteY, 4], + 0xa1: ['LDA', lda, readZeroPageXIndirect, modes.zeroPageXIndirect, 6], + 0xb1: ['LDA', lda, readZeroPageIndirectY, modes.zeroPageIndirectY, 5], + + // LDX + 0xa2: ['LDX', ldx, readImmediate, modes.immediate, 2], + 0xa6: ['LDX', ldx, readZeroPage, modes.zeroPage, 3], + 0xb6: ['LDX', ldx, readZeroPageY, modes.zeroPageY, 4], + 0xae: ['LDX', ldx, readAbsolute, modes.absolute, 4], + 0xbe: ['LDX', ldx, readAbsoluteY, modes.absoluteY, 4], + + // LDY + 0xa0: ['LDY', ldy, readImmediate, modes.immediate, 2], + 0xa4: ['LDY', ldy, readZeroPage, modes.zeroPage, 3], + 0xb4: ['LDY', ldy, readZeroPageX, modes.zeroPageX, 4], + 0xac: ['LDY', ldy, readAbsolute, modes.absolute, 4], + 0xbc: ['LDY', ldy, readAbsoluteX, modes.absoluteX, 4], + + // STA + 0x85: ['STA', sta, writeZeroPage, modes.zeroPage, 3], + 0x95: ['STA', sta, writeZeroPageX, modes.zeroPageX, 4], + 0x8d: ['STA', sta, writeAbsolute, modes.absolute, 4], + 0x9d: ['STA', sta, writeAbsoluteX, modes.absoluteX, 5], + 0x99: ['STA', sta, writeAbsoluteY, modes.absoluteY, 5], + 0x81: ['STA', sta, writeZeroPageXIndirect, modes.zeroPageXIndirect, 6], + 0x91: ['STA', sta, writeZeroPageIndirectY, modes.zeroPageIndirectY, 6], + + // STX + 0x86: ['STX', stx, writeZeroPage, modes.zeroPage, 3], + 0x96: ['STX', stx, writeZeroPageY, modes.zeroPageY, 4], + 0x8e: ['STX', stx, writeAbsolute, modes.absolute, 4], + + // STY + 0x84: ['STY', sty, writeZeroPage, modes.zeroPage, 3], + 0x94: ['STY', sty, writeZeroPageX, modes.zeroPageX, 4], + 0x8c: ['STY', sty, writeAbsolute, modes.absolute, 4], + + // ADC + 0x69: ['ADC', adc, readImmediate, modes.immediate, 2], + 0x65: ['ADC', adc, readZeroPage, modes.zeroPage, 3], + 0x75: ['ADC', adc, readZeroPageX, modes.zeroPageX, 4], + 0x6D: ['ADC', adc, readAbsolute, modes.absolute, 4], + 0x7D: ['ADC', adc, readAbsoluteX, modes.absoluteX, 4], + 0x79: ['ADC', adc, readAbsoluteY, modes.absoluteY, 4], + 0x61: ['ADC', adc, readZeroPageXIndirect, modes.zeroPageXIndirect, 6], + 0x71: ['ADC', adc, readZeroPageIndirectY, modes.zeroPageIndirectY, 5], + + // SBC + 0xe9: ['SBC', sbc, readImmediate, modes.immediate, 2], + 0xe5: ['SBC', sbc, readZeroPage, modes.zeroPage, 3], + 0xf5: ['SBC', sbc, readZeroPageX, modes.zeroPageX, 4], + 0xeD: ['SBC', sbc, readAbsolute, modes.absolute, 4], + 0xfD: ['SBC', sbc, readAbsoluteX, modes.absoluteX, 4], + 0xf9: ['SBC', sbc, readAbsoluteY, modes.absoluteY, 4], + 0xe1: ['SBC', sbc, readZeroPageXIndirect, modes.zeroPageXIndirect, 6], + 0xf1: ['SBC', sbc, readZeroPageIndirectY, modes.zeroPageIndirectY, 5], + + // INC + 0xe6: ['INC', inc, readAddrZeroPage, modes.zeroPage, 5], + 0xf6: ['INC', inc, readAddrZeroPageX, modes.zeroPageX, 6], + 0xee: ['INC', inc, readAddrAbsolute, modes.absolute, 6], + 0xfe: ['INC', inc, readAddrAbsoluteX, modes.absoluteX, 7], + + // INX + 0xe8: ['INX', inx, null, modes.implied, 2], + + // INY + 0xc8: ['INY', iny, null, modes.implied, 2], + + // DEC + 0xc6: ['DEC', dec, readAddrZeroPage, modes.zeroPage, 5], + 0xd6: ['DEC', dec, readAddrZeroPageX, modes.zeroPageX, 6], + 0xce: ['DEC', dec, readAddrAbsolute, modes.absolute, 6], + 0xde: ['DEC', dec, readAddrAbsoluteX, modes.absoluteX, 7], + + // DEX + 0xca: ['DEX', dex, null, modes.implied, 2], + + // DEY + 0x88: ['DEY', dey, null, modes.implied, 2], + + // ASL + 0x0A: ['ASL', aslA, null, modes.accumulator, 2], + 0x06: ['ASL', asl, readAddrZeroPage, modes.zeroPage, 5], + 0x16: ['ASL', asl, readAddrZeroPageX, modes.zeroPageX, 6], + 0x0E: ['ASL', asl, readAddrAbsolute, modes.absolute, 6], + 0x1E: ['ASL', asl, readAddrAbsoluteX, modes.absoluteX, 7], + + // LSR + 0x4A: ['LSR', lsrA, null, modes.accumulator, 2], + 0x46: ['LSR', lsr, readAddrZeroPage, modes.zeroPage, 5], + 0x56: ['LSR', lsr, readAddrZeroPageX, modes.zeroPageX, 6], + 0x4E: ['LSR', lsr, readAddrAbsolute, modes.absolute, 6], + 0x5E: ['LSR', lsr, readAddrAbsoluteX, modes.absoluteX, 7], + + // ROL + 0x2A: ['ROL', rolA, null, modes.accumulator, 2], + 0x26: ['ROL', rol, readAddrZeroPage, modes.zeroPage, 5], + 0x36: ['ROL', rol, readAddrZeroPageX, modes.zeroPageX, 6], + 0x2E: ['ROL', rol, readAddrAbsolute, modes.absolute, 6], + 0x3E: ['ROL', rol, readAddrAbsoluteX, modes.absoluteX, 7], + + // ROR + 0x6A: ['ROR', rorA, null, modes.accumulator, 2], + 0x66: ['ROR', ror, readAddrZeroPage, modes.zeroPage, 5], + 0x76: ['ROR', ror, readAddrZeroPageX, modes.zeroPageX, 6], + 0x6E: ['ROR', ror, readAddrAbsolute, modes.absolute, 6], + 0x7E: ['ROR', ror, readAddrAbsoluteX, modes.absoluteX, 7], + + // AND + 0x29: ['AND', and, readImmediate, modes.immediate, 2], + 0x25: ['AND', and, readZeroPage, modes.zeroPage, 2], + 0x35: ['AND', and, readZeroPageX, modes.zeroPageX, 3], + 0x2D: ['AND', and, readAbsolute, modes.absolute, 4], + 0x3D: ['AND', and, readAbsoluteX, modes.absoluteX, 4], + 0x39: ['AND', and, readAbsoluteY, modes.absoluteY, 4], + 0x21: ['AND', and, readZeroPageXIndirect, modes.zeroPageXIndirect, 6], + 0x31: ['AND', and, readZeroPageIndirectY, modes.zeroPageIndirectY, 5], + + // ORA + 0x09: ['ORA', ora, readImmediate, modes.immediate, 2], + 0x05: ['ORA', ora, readZeroPage, modes.zeroPage, 2], + 0x15: ['ORA', ora, readZeroPageX, modes.zeroPageX, 3], + 0x0D: ['ORA', ora, readAbsolute, modes.absolute, 4], + 0x1D: ['ORA', ora, readAbsoluteX, modes.absoluteX, 4], + 0x19: ['ORA', ora, readAbsoluteY, modes.absoluteY, 4], + 0x01: ['ORA', ora, readZeroPageXIndirect, modes.zeroPageXIndirect, 6], + 0x11: ['ORA', ora, readZeroPageIndirectY, modes.zeroPageIndirectY, 5], + + // EOR + 0x49: ['EOR', eor, readImmediate, modes.immediate, 2], + 0x45: ['EOR', eor, readZeroPage, modes.zeroPage, 3], + 0x55: ['EOR', eor, readZeroPageX, modes.zeroPageX, 4], + 0x4D: ['EOR', eor, readAbsolute, modes.absolute, 4], + 0x5D: ['EOR', eor, readAbsoluteX, modes.absoluteX, 4], + 0x59: ['EOR', eor, readAbsoluteY, modes.absoluteY, 4], + 0x41: ['EOR', eor, readZeroPageXIndirect, modes.zeroPageXIndirect, 6], + 0x51: ['EOR', eor, readZeroPageIndirectY, modes.zeroPageIndirectY, 5], + + // CMP + 0xc9: ['CMP', cmp, readImmediate, modes.immediate, 2], + 0xc5: ['CMP', cmp, readZeroPage, modes.zeroPage, 3], + 0xd5: ['CMP', cmp, readZeroPageX, modes.zeroPageX, 4], + 0xcD: ['CMP', cmp, readAbsolute, modes.absolute, 4], + 0xdD: ['CMP', cmp, readAbsoluteX, modes.absoluteX, 4], + 0xd9: ['CMP', cmp, readAbsoluteY, modes.absoluteY, 4], + 0xc1: ['CMP', cmp, readZeroPageXIndirect, modes.zeroPageXIndirect, 6], + 0xd1: ['CMP', cmp, readZeroPageIndirectY, modes.zeroPageIndirectY, 5], + + // CPX + 0xE0: ['CPX', cpx, readImmediate, modes.immediate, 2], + 0xE4: ['CPX', cpx, readZeroPage, modes.zeroPage, 3], + 0xEC: ['CPX', cpx, readAbsolute, modes.absolute, 4], + + // CPY + 0xC0: ['CPY', cpy, readImmediate, modes.immediate, 2], + 0xC4: ['CPY', cpy, readZeroPage, modes.zeroPage, 3], + 0xCC: ['CPY', cpy, readAbsolute, modes.absolute, 4], + + // BIT + 0x24: ['BIT', bit, readZeroPage, modes.zeroPage, 3], + 0x2C: ['BIT', bit, readAbsolute, modes.absolute, 4], + + // BCC + 0x90: ['BCC', brc, flags.C, modes.relative, 2], + + // BCS + 0xB0: ['BCS', brs, flags.C, modes.relative, 2], + + // BEQ + 0xF0: ['BEQ', brs, flags.Z, modes.relative, 2], + + // BMI + 0x30: ['BMI', brs, flags.N, modes.relative, 2], + + // BNE + 0xD0: ['BNE', brc, flags.Z, modes.relative, 2], + + // BPL + 0x10: ['BPL', brc, flags.N, modes.relative, 2], + + // BVC + 0x50: ['BVC', brc, flags.V, modes.relative, 2], + + // BVS + 0x70: ['BVS', brs, flags.V, modes.relative, 2], + + // TAX + 0xAA: ['TAX', tax, null, modes.implied, 2], + + // TXA + 0x8A: ['TXA', txa, null, modes.implied, 2], + + // TAY + 0xA8: ['TAY', tay, null, modes.implied, 2], + + // TYA + 0x98: ['TYA', tya, null, modes.implied, 2], + + // TSX + 0xBA: ['TSX', tsx, null, modes.implied, 2], + + // TXS + 0x9A: ['TXS', txs, null, modes.implied, 2], + + // PHA + 0x48: ['PHA', pha, null, modes.implied, 3], + + // PLA + 0x68: ['PLA', pla, null, modes.implied, 4], + + // PHP + 0x08: ['PHP', php, null, modes.implied, 3], + + // PLP + 0x28: ['PLP', plp, null, modes.implied, 4], + + // JMP + 0x4C: ['JMP', jmp, + readAddrAbsolute, modes.absolute, 3], + 0x6C: ['JMP', jmp, + readAddrAbsoluteIndirectBug, modes.absoluteIndirect, 5], + + // JSR + 0x20: ['JSR', jsr, readAddrAbsolute, modes.absolute, 6], + + // RTS + 0x60: ['RTS', rts, null, modes.implied, 6], + + // RTI + 0x40: ['RTI', rti, null, modes.implied, 6], + + // SEC + 0x38: ['SEC', set, flags.C, modes.implied, 2], + + // SED + 0xF8: ['SED', set, flags.D, modes.implied, 2], + + // SEI + 0x78: ['SEI', set, flags.I, modes.implied, 2], + + // CLC + 0x18: ['CLC', clr, flags.C, modes.implied, 2], + + // CLD + 0xD8: ['CLD', clr, flags.D, modes.implied, 2], + + // CLI + 0x58: ['CLI', clr, flags.I, modes.implied, 2], + + // CLV + 0xB8: ['CLV', clr, flags.V, modes.implied, 2], + + // NOP + 0xea: ['NOP', nop, null, modes.implied, 2], + + // BRK + 0x00: ['BRK', brk, readImmediate, modes.immediate, 7] + }; + + /* 65C02 Instructions */ + + var cops = { + // INC / DEC A + 0x1A: ['INC', incA, null, modes.accumulator, 2], + 0x3A: ['DEC', decA, null, modes.accumulator, 2], + + // Indirect Zero Page for the masses + 0x12: ['ORA', ora, readZeroPageIndirect, modes.zeroPageIndirect, 5], + 0x32: ['AND', and, readZeroPageIndirect, modes.zeroPageIndirect, 5], + 0x52: ['EOR', eor, readZeroPageIndirect, modes.zeroPageIndirect, 5], + 0x72: ['ADC', adc, readZeroPageIndirect, modes.zeroPageIndirect, 5], + 0x92: ['STA', sta, writeZeroPageIndirect, modes.zeroPageIndirect, 5], + 0xB2: ['LDA', lda, readZeroPageIndirect, modes.zeroPageIndirect, 5], + 0xD2: ['CMP', cmp, readZeroPageIndirect, modes.zeroPageIndirect, 5], + 0xF2: ['SBC', sbc, readZeroPageIndirect, modes.zeroPageIndirect, 5], + + // Better BIT + 0x34: ['BIT', bit, readZeroPageX, modes.zeroPageX, 4], + 0x3C: ['BIT', bit, readAbsoluteX, modes.absoluteX, 4], + 0x89: ['BIT', bitI, readImmediate, modes.immediate, 2], + + // JMP absolute indirect indexed + 0x6C: ['JMP', jmp, readAddrAbsoluteIndirect, + modes.absoluteIndirect, 6], + 0x7C: ['JMP', jmp, readAddrAbsoluteXIndirect, + modes.absoluteXIndirect, 6], + + // BRA + 0x80: ['BRA', brc, 0, modes.relative, 3], + + // PHX + 0xDA: ['PHX', phx, null, modes.implied, 3], + + // PHY + 0x5A: ['PHY', phy, null, modes.implied, 3], + + // PLX + 0xFA: ['PLX', plx, null, modes.implied, 3], + + // PLY + 0x7A: ['PLY', ply, null, modes.implied, 3], + + // STZ + 0x64: ['STZ', stz, writeZeroPage, modes.zeroPage, 3], + 0x74: ['STZ', stz, writeZeroPageX, modes.zeroPageX, 4], + 0x9C: ['STZ', stz, writeAbsolute, modes.absolute, 4], + 0x9E: ['STZ', stz, writeAbsoluteX, modes.absoluteX, 5], + + // TRB + 0x14: ['TRB', trb, readAddrZeroPage, modes.zeroPage, 5], + 0x1C: ['TRB', trb, readAddrAbsolute, modes.absolute, 6], + + // TSB + 0x04: ['TSB', tsb, readAddrZeroPage, modes.zeroPage, 5], + 0x0C: ['TSB', tsb, readAddrAbsolute, modes.absolute, 6] + }; + + if (is65C02) { + for (var key in cops) { + ops[key] = cops[key]; + } + } + + function unknown(b) { + var unk; + + if (is65C02) { + unk = ['NOP (' + toHex(b) + ')', function() { + debug('Unknown OpCode: ' + toHex(b) + ' at ' + toHex(pc - 1, 4)); + }, null, modes.implied, 2]; + } else { + unk = ['???', + function() { /* debug("Unknown OpCode: " + toHex(b) + + " at " + toHex(pc - 1, 4)); */ }, + null, modes.implied, + 1]; + } + ops[b] = unk; + return unk; + } + + /* Certain browsers benefit from using arrays over maps */ + var opary = []; + + for (idx = 0; idx < 0x100; idx++) { + opary[idx] = ops[idx] || unknown(idx); + } + + function dumpArgs(addr, m, symbols) { + function toHexOrSymbol(v, n) { + if (symbols && symbols[v]) { + return symbols[v]; + } else { + return '$' + toHex(v, n); + } + } + var result = ''; + switch (m) { + case modes.implied: + break; + case modes.immediate: + result = '#' + toHexOrSymbol(readByte(addr, true)); + break; + case modes.absolute: + result = '' + toHexOrSymbol(readWord(addr, true), 4); + break; + case modes.zeroPage: + result = '' + toHexOrSymbol(readByte(addr, true)); + break; + case modes.relative: + { + var off = readByte(addr, true); + if (off > 127) { + off -= 256; + } + addr += off + 1; + result = '' + toHexOrSymbol(addr, 4) + ' (' + off + ')'; + } + break; + case modes.absoluteX: + result = '' + toHexOrSymbol(readWord(addr, true), 4) + ',X'; + break; + case modes.absoluteY: + result = '' + toHexOrSymbol(readWord(addr, true), 4) + ',Y'; + break; + case modes.zeroPageX: + result = '' + toHexOrSymbol(readByte(addr, true)) + ',X'; + break; + case modes.zeroPageY: + result = '' + toHexOrSymbol(readByte(addr, true)) + ',Y'; + break; + case modes.absoluteIndirect: + result = '(' + toHexOrSymbol(readWord(addr, true), 4) + ')'; + break; + case modes.zeroPageXIndirect: + result = '(' + toHexOrSymbol(readByte(addr, true)) + ',X)'; + break; + case modes.zeroPageIndirectY: + result = '(' + toHexOrSymbol(readByte(addr, true)) + '),Y'; + break; + case modes.accumulator: + result = 'A'; + break; + case modes.zeroPageIndirect: + result = '(' + toHexOrSymbol(readByte(addr, true)) + ')'; + break; + case modes.absoluteXIndirect: + result = '(' + toHexOrSymbol(readWord(addr, true), 4) + ',X)'; + break; + default: + break; + } + return result; + } + + return { + step: function cpu_step(cb) { + var op = opary[readBytePC()]; + + op[1](op[2]); + cycles += op[4]; + + if (cb) { + inCallback = true; + cb(this); + inCallback = false; + } + }, + + stepN: function(n) { + var op, idx; + + for (idx = 0; idx < n; idx++) { + op = opary[readBytePC()]; + op[1](op[2]); + cycles += op[4]; + } + }, + + stepCycles: function(c) { + var op, end = cycles + c; + + while (cycles < end) { + op = opary[readBytePC()]; + op[1](op[2]); + cycles += op[4]; + } + }, + + stepCyclesDebug: function(c, cb) + { + var op, end = cycles + c; + + if (inCallback) + return; + + while (cycles < end) { + op = opary[readBytePC()]; + op[1](op[2]); + cycles += op[4]; + + if (cb) { + inCallback = true; + cb(this); + inCallback = false; + } + } + }, + + addPageHandler: function(pho) { + for (var idx = pho.start(); idx <= pho.end(); idx++) { + writePages[idx] = pho; + if (pho.read) + readPages[idx] = pho; + if (pho.write) + writePages[idx] = pho; + } + if (pho.reset) + resetHandlers.push(pho); + }, + + reset: function cpu_reset() + { + // cycles = 0; + sr = 0x20; + sp = 0xff; + ar = 0; + yr = 0; + xr = 0; + pc = readWord(loc.RESET); + + for (var idx = 0; idx < resetHandlers.length; idx++) { + resetHandlers[idx].reset(); + } + }, + + /* IRQ - Interupt Request */ + irq: function cpu_irq() + { + if (!(sr & flags.I)) { + pushWord(pc); + pushByte(sr & ~flags.B); + if (is65C02) { + setFlag(flags.D, false); + } + setFlag(flags.I, true); + pc = readWord(loc.BRK); + } + }, + + /* NMI Non-maskable Interrupt */ + nmi: function cpu_nmi() + { + pushWord(pc); + pushByte(sr & ~flags.B); + if (is65C02) { + setFlag(flags.D, false); + } + setFlag(flags.I, true); + pc = readWord(loc.NMI); + }, + + setPC: function(_pc) { + pc = _pc; + }, + + dumpPC: function(_pc, symbols) { + if (_pc === undefined) { + _pc = pc; + } + var b = readByte(_pc, true), + op = ops[b], + size = sizes[op[3]], + result = toHex(_pc, 4) + '- '; + + if (symbols) { + if (symbols[_pc]) { + result += symbols[_pc] + + ' '.substring(symbols[_pc].length); + } else { + result += ' '; + } + } + + for (var idx = 0; idx < 4; idx++) { + if (idx < size) { + result += toHex(readByte(_pc + idx, true)) + ' '; + } else { + result += ' '; + } + } + + if (op === undefined) + result += '??? (' + toHex(b) + ')'; + else + result += op[0] + ' ' + dumpArgs(_pc + 1, op[3], symbols); + + return result; + }, + + dumpPage: function(start, end) { + var result = ''; + if (start === undefined) { + start = pc >> 8; + } + if (end === undefined) { + end = start; + } + for (var page = start; page <= end; page++) { + var b, idx, jdx; + for (idx = 0; idx < 16; idx++) { + result += toHex(page) + toHex(idx << 4) + ': '; + for (jdx = 0; jdx < 16; jdx++) { + b = readByte(page * 256 + idx * 16 + jdx, true); + result += toHex(b) + ' '; + } + result += ' '; + for (jdx = 0; jdx < 16; jdx++) { + b = readByte(page * 256 + idx * 16 + jdx, true) & 0x7f; + if (b >= 0x20 && b < 0x7f) { + result += String.fromCharCode(b); + } else { + result += '.'; + } + } + result += '\n'; + } + } + return result; + }, + + list: function(_pc, symbols) { + if (_pc === undefined) { + _pc = pc; + } + var results = []; + for (var jdx = 0; jdx < 20; jdx++) { + var b = readByte(_pc), op = ops[b]; + results.push(this.dumpPC(_pc, symbols)); + _pc += sizes[op[3]]; + } + return results; + }, + + cycles: function() { + return cycles; + }, + + registers: function() { + return [pc,ar,xr,yr,sr,sp]; + }, + + getState: function() { + return { + a: ar, + x: xr, + y: yr, + s: sr, + pc: pc, + sp: sp, + cycles: cycles + }; + }, + + setState: function(state) { + ar = state.a; + xr = state.x; + yr = state.y; + sr = state.s; + pc = state.pc; + sp = state.sp; + cycles = state.cycles; + }, + + dumpRegisters: function() { + return toHex(pc, 4) + + '- A=' + toHex(ar) + + ' X=' + toHex(xr) + + ' Y=' + toHex(yr) + + ' P=' + toHex(sr) + + ' S=' + toHex(sp) + + ' ' + + (sr & flags.N ? 'N' : '-') + + (sr & flags.V ? 'V' : '-') + + '-' + + (sr & flags.B ? 'B' : '-') + + (sr & flags.D ? 'D' : '-') + + (sr & flags.I ? 'I' : '-') + + (sr & flags.Z ? 'Z' : '-') + + (sr & flags.C ? 'C' : '-'); + }, + + read: function(page, off) { + return readPages[page].read(page, off, false); + }, + + write: function(page, off, val) { + writePages[page].write(page, off, val); + } + }; +} diff --git a/js/entry1.js b/js/entry1.js new file mode 100644 index 0000000..4015012 --- /dev/null +++ b/js/entry1.js @@ -0,0 +1,3 @@ +var Apple1 = require('./apple1'); + +module.exports = { Apple1: Apple1 }; diff --git a/js/prefs.js b/js/prefs.js new file mode 100644 index 0000000..7c338ef --- /dev/null +++ b/js/prefs.js @@ -0,0 +1,30 @@ +/* Copyright 2010-2019 Will Scullin + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ + +/*exported Prefs */ + +export default function Prefs() +{ + return { + havePrefs: function() { + return typeof(localStorage) !== 'undefined'; + }, + readPref: function(name) { + if (localStorage) + return localStorage.getItem(name); + return null; + }, + writePref: function(name, value) { + if (localStorage) + localStorage.setItem(name, value); + } + }; +} diff --git a/js/ram.js b/js/ram.js new file mode 100644 index 0000000..a64c5d3 --- /dev/null +++ b/js/ram.js @@ -0,0 +1,57 @@ +/* -*- mode: JavaScript; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* Copyright 2010-2019Will Scullin + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ + +import { base64_decode, base64_encode } from './base64'; +import { allocMemPages } from './util'; + +export default function RAM(sp, ep) { + var mem; + var start_page = sp; + var end_page = ep; + + mem = allocMemPages(ep - sp + 1); + + for (var page = 0; page <= ep; page++) { + for (var off = 0; off < 0x100; off++) { + mem[page * 0x100 + off] = 0; // Math.floor(Math.random()*256); + } + } + + return { + start: function() { + return start_page; + }, + end: function() { + return end_page; + }, + read: function(page, off) { + return mem[(page - start_page) * 0x100 + off]; + }, + write: function(page, off, val) { + mem[(page - start_page) * 0x100 + off] = val; + }, + + getState: function() { + return { + start: start_page, + end: end_page, + mem: base64_encode(mem) + }; + }, + + setState: function(state) { + start_page = state.start; + end_page = state.end; + mem = base64_decode(state.mem); + } + }; +} diff --git a/js/roms/apple1char.js b/js/roms/apple1char.js new file mode 100644 index 0000000..f0b6f35 --- /dev/null +++ b/js/roms/apple1char.js @@ -0,0 +1,258 @@ +export var charset = [ + 0x00,0x1c,0x22,0x2a,0x2e,0x2c,0x20,0x1e, + 0x00,0x08,0x14,0x22,0x22,0x3e,0x22,0x22, + 0x00,0x3c,0x22,0x22,0x3c,0x22,0x22,0x3c, + 0x00,0x1c,0x22,0x20,0x20,0x20,0x22,0x1c, + 0x00,0x3c,0x22,0x22,0x22,0x22,0x22,0x3c, + 0x00,0x3e,0x20,0x20,0x3c,0x20,0x20,0x3e, + 0x00,0x3e,0x20,0x20,0x3c,0x20,0x20,0x20, + 0x00,0x1e,0x20,0x20,0x20,0x26,0x22,0x1e, + 0x00,0x22,0x22,0x22,0x3e,0x22,0x22,0x22, + 0x00,0x1c,0x08,0x08,0x08,0x08,0x08,0x1c, + 0x00,0x02,0x02,0x02,0x02,0x02,0x22,0x1c, + 0x00,0x22,0x24,0x28,0x30,0x28,0x24,0x22, + 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x3e, + 0x00,0x22,0x36,0x2a,0x2a,0x22,0x22,0x22, + 0x00,0x22,0x22,0x32,0x2a,0x26,0x22,0x22, + 0x00,0x1c,0x22,0x22,0x22,0x22,0x22,0x1c, + 0x00,0x3c,0x22,0x22,0x3c,0x20,0x20,0x20, + 0x00,0x1c,0x22,0x22,0x22,0x2a,0x24,0x1a, + 0x00,0x3c,0x22,0x22,0x3c,0x28,0x24,0x22, + 0x00,0x1c,0x22,0x20,0x1c,0x02,0x22,0x1c, + 0x00,0x3e,0x08,0x08,0x08,0x08,0x08,0x08, + 0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x1c, + 0x00,0x22,0x22,0x22,0x22,0x22,0x14,0x08, + 0x00,0x22,0x22,0x22,0x2a,0x2a,0x36,0x22, + 0x00,0x22,0x22,0x14,0x08,0x14,0x22,0x22, + 0x00,0x22,0x22,0x14,0x08,0x08,0x08,0x08, + 0x00,0x3e,0x02,0x04,0x08,0x10,0x20,0x3e, + 0x00,0x3e,0x30,0x30,0x30,0x30,0x30,0x3e, + 0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x00, + 0x00,0x3e,0x06,0x06,0x06,0x06,0x06,0x3e, + 0x00,0x00,0x00,0x08,0x14,0x22,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x08, + 0x00,0x14,0x14,0x14,0x00,0x00,0x00,0x00, + 0x00,0x14,0x14,0x3e,0x14,0x3e,0x14,0x14, + 0x00,0x08,0x1e,0x28,0x1c,0x0a,0x3c,0x08, + 0x00,0x30,0x32,0x04,0x08,0x10,0x26,0x06, + 0x00,0x10,0x28,0x28,0x10,0x2a,0x24,0x1a, + 0x00,0x08,0x08,0x08,0x00,0x00,0x00,0x00, + 0x00,0x08,0x10,0x20,0x20,0x20,0x10,0x08, + 0x00,0x08,0x04,0x02,0x02,0x02,0x04,0x08, + 0x00,0x08,0x2a,0x1c,0x08,0x1c,0x2a,0x08, + 0x00,0x00,0x08,0x08,0x3e,0x08,0x08,0x00, + 0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x10, + 0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08, + 0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x00, + 0x00,0x1c,0x22,0x26,0x2a,0x32,0x22,0x1c, + 0x00,0x08,0x18,0x08,0x08,0x08,0x08,0x1c, + 0x00,0x1c,0x22,0x02,0x0c,0x10,0x20,0x3e, + 0x00,0x3e,0x02,0x04,0x0c,0x02,0x22,0x1c, + 0x00,0x04,0x0c,0x14,0x24,0x3e,0x04,0x04, + 0x00,0x3e,0x20,0x3c,0x02,0x02,0x22,0x1c, + 0x00,0x0e,0x10,0x20,0x3c,0x22,0x22,0x1c, + 0x00,0x3e,0x02,0x04,0x08,0x10,0x10,0x10, + 0x00,0x1c,0x22,0x22,0x1c,0x22,0x22,0x1c, + 0x00,0x1c,0x22,0x22,0x1e,0x02,0x04,0x38, + 0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x00, + 0x00,0x00,0x00,0x08,0x00,0x08,0x08,0x10, + 0x00,0x04,0x08,0x10,0x20,0x10,0x08,0x04, + 0x00,0x00,0x00,0x3e,0x00,0x3e,0x00,0x00, + 0x00,0x10,0x08,0x04,0x02,0x04,0x08,0x10, + 0x00,0x1c,0x22,0x04,0x08,0x08,0x00,0x08, + 0x80,0x9c,0xa2,0xaa,0xae,0xac,0xa0,0x9e, + 0x80,0x88,0x94,0xa2,0xa2,0xbe,0xa2,0xa2, + 0x80,0xbc,0xa2,0xa2,0xbc,0xa2,0xa2,0xbc, + 0x80,0x9c,0xa2,0xa0,0xa0,0xa0,0xa2,0x9c, + 0x80,0xbc,0xa2,0xa2,0xa2,0xa2,0xa2,0xbc, + 0x80,0xbe,0xa0,0xa0,0xbc,0xa0,0xa0,0xbe, + 0x80,0xbe,0xa0,0xa0,0xbc,0xa0,0xa0,0xa0, + 0x80,0x9e,0xa0,0xa0,0xa0,0xa6,0xa2,0x9e, + 0x80,0xa2,0xa2,0xa2,0xbe,0xa2,0xa2,0xa2, + 0x80,0x9c,0x88,0x88,0x88,0x88,0x88,0x9c, + 0x80,0x82,0x82,0x82,0x82,0x82,0xa2,0x9c, + 0x80,0xa2,0xa4,0xa8,0xb0,0xa8,0xa4,0xa2, + 0x80,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xbe, + 0x80,0xa2,0xb6,0xaa,0xaa,0xa2,0xa2,0xa2, + 0x80,0xa2,0xa2,0xb2,0xaa,0xa6,0xa2,0xa2, + 0x80,0x9c,0xa2,0xa2,0xa2,0xa2,0xa2,0x9c, + 0x80,0xbc,0xa2,0xa2,0xbc,0xa0,0xa0,0xa0, + 0x80,0x9c,0xa2,0xa2,0xa2,0xaa,0xa4,0x9a, + 0x80,0xbc,0xa2,0xa2,0xbc,0xa8,0xa4,0xa2, + 0x80,0x9c,0xa2,0xa0,0x9c,0x82,0xa2,0x9c, + 0x80,0xbe,0x88,0x88,0x88,0x88,0x88,0x88, + 0x80,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0x9c, + 0x80,0xa2,0xa2,0xa2,0xa2,0xa2,0x94,0x88, + 0x80,0xa2,0xa2,0xa2,0xaa,0xaa,0xb6,0xa2, + 0x80,0xa2,0xa2,0x94,0x88,0x94,0xa2,0xa2, + 0x80,0xa2,0xa2,0x94,0x88,0x88,0x88,0x88, + 0x80,0xbe,0x82,0x84,0x88,0x90,0xa0,0xbe, + 0x80,0xbe,0xb0,0xb0,0xb0,0xb0,0xb0,0xbe, + 0x80,0x80,0xa0,0x90,0x88,0x84,0x82,0x80, + 0x80,0xbe,0x86,0x86,0x86,0x86,0x86,0xbe, + 0x80,0x80,0x80,0x88,0x94,0xa2,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xbe, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,0x88,0x88,0x88,0x88,0x88,0x80,0x88, + 0x80,0x94,0x94,0x94,0x80,0x80,0x80,0x80, + 0x80,0x94,0x94,0xbe,0x94,0xbe,0x94,0x94, + 0x80,0x88,0x9e,0xa8,0x9c,0x8a,0xbc,0x88, + 0x80,0xb0,0xb2,0x84,0x88,0x90,0xa6,0x86, + 0x80,0x90,0xa8,0xa8,0x90,0xaa,0xa4,0x9a, + 0x80,0x88,0x88,0x88,0x80,0x80,0x80,0x80, + 0x80,0x88,0x90,0xa0,0xa0,0xa0,0x90,0x88, + 0x80,0x88,0x84,0x82,0x82,0x82,0x84,0x88, + 0x80,0x88,0xaa,0x9c,0x88,0x9c,0xaa,0x88, + 0x80,0x80,0x88,0x88,0xbe,0x88,0x88,0x80, + 0x80,0x80,0x80,0x80,0x80,0x88,0x88,0x90, + 0x80,0x80,0x80,0x80,0xbe,0x80,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x88, + 0x80,0x80,0x82,0x84,0x88,0x90,0xa0,0x80, + 0x80,0x9c,0xa2,0xa6,0xaa,0xb2,0xa2,0x9c, + 0x80,0x88,0x98,0x88,0x88,0x88,0x88,0x9c, + 0x80,0x9c,0xa2,0x82,0x8c,0x90,0xa0,0xbe, + 0x80,0xbe,0x82,0x84,0x8c,0x82,0xa2,0x9c, + 0x80,0x84,0x8c,0x94,0xa4,0xbe,0x84,0x84, + 0x80,0xbe,0xa0,0xbc,0x82,0x82,0xa2,0x9c, + 0x80,0x8e,0x90,0xa0,0xbc,0xa2,0xa2,0x9c, + 0x80,0xbe,0x82,0x84,0x88,0x90,0x90,0x90, + 0x80,0x9c,0xa2,0xa2,0x9c,0xa2,0xa2,0x9c, + 0x80,0x9c,0xa2,0xa2,0x9e,0x82,0x84,0xb8, + 0x80,0x80,0x80,0x88,0x80,0x88,0x80,0x80, + 0x80,0x80,0x80,0x88,0x80,0x88,0x88,0x90, + 0x80,0x84,0x88,0x90,0xa0,0x90,0x88,0x84, + 0x80,0x80,0x80,0xbe,0x80,0xbe,0x80,0x80, + 0x80,0x90,0x88,0x84,0x82,0x84,0x88,0x90, + 0x80,0x9c,0xa2,0x84,0x88,0x88,0x80,0x88, + 0x00,0x1c,0x22,0x2a,0x2e,0x2c,0x20,0x1e, + 0x00,0x08,0x14,0x22,0x22,0x3e,0x22,0x22, + 0x00,0x3c,0x22,0x22,0x3c,0x22,0x22,0x3c, + 0x00,0x1c,0x22,0x20,0x20,0x20,0x22,0x1c, + 0x00,0x3c,0x22,0x22,0x22,0x22,0x22,0x3c, + 0x00,0x3e,0x20,0x20,0x3c,0x20,0x20,0x3e, + 0x00,0x3e,0x20,0x20,0x3c,0x20,0x20,0x20, + 0x00,0x1e,0x20,0x20,0x20,0x26,0x22,0x1e, + 0x00,0x22,0x22,0x22,0x3e,0x22,0x22,0x22, + 0x00,0x1c,0x08,0x08,0x08,0x08,0x08,0x1c, + 0x00,0x02,0x02,0x02,0x02,0x02,0x22,0x1c, + 0x00,0x22,0x24,0x28,0x30,0x28,0x24,0x22, + 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x3e, + 0x00,0x22,0x36,0x2a,0x2a,0x22,0x22,0x22, + 0x00,0x22,0x22,0x32,0x2a,0x26,0x22,0x22, + 0x00,0x1c,0x22,0x22,0x22,0x22,0x22,0x1c, + 0x00,0x3c,0x22,0x22,0x3c,0x20,0x20,0x20, + 0x00,0x1c,0x22,0x22,0x22,0x2a,0x24,0x1a, + 0x00,0x3c,0x22,0x22,0x3c,0x28,0x24,0x22, + 0x00,0x1c,0x22,0x20,0x1c,0x02,0x22,0x1c, + 0x00,0x3e,0x08,0x08,0x08,0x08,0x08,0x08, + 0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x1c, + 0x00,0x22,0x22,0x22,0x22,0x22,0x14,0x08, + 0x00,0x22,0x22,0x22,0x2a,0x2a,0x36,0x22, + 0x00,0x22,0x22,0x14,0x08,0x14,0x22,0x22, + 0x00,0x22,0x22,0x14,0x08,0x08,0x08,0x08, + 0x00,0x3e,0x02,0x04,0x08,0x10,0x20,0x3e, + 0x00,0x3e,0x30,0x30,0x30,0x30,0x30,0x3e, + 0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x00, + 0x00,0x3e,0x06,0x06,0x06,0x06,0x06,0x3e, + 0x00,0x00,0x00,0x08,0x14,0x22,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x08, + 0x00,0x14,0x14,0x14,0x00,0x00,0x00,0x00, + 0x00,0x14,0x14,0x3e,0x14,0x3e,0x14,0x14, + 0x00,0x08,0x1e,0x28,0x1c,0x0a,0x3c,0x08, + 0x00,0x30,0x32,0x04,0x08,0x10,0x26,0x06, + 0x00,0x10,0x28,0x28,0x10,0x2a,0x24,0x1a, + 0x00,0x08,0x08,0x08,0x00,0x00,0x00,0x00, + 0x00,0x08,0x10,0x20,0x20,0x20,0x10,0x08, + 0x00,0x08,0x04,0x02,0x02,0x02,0x04,0x08, + 0x00,0x08,0x2a,0x1c,0x08,0x1c,0x2a,0x08, + 0x00,0x00,0x08,0x08,0x3e,0x08,0x08,0x00, + 0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x10, + 0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08, + 0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x00, + 0x00,0x1c,0x22,0x26,0x2a,0x32,0x22,0x1c, + 0x00,0x08,0x18,0x08,0x08,0x08,0x08,0x1c, + 0x00,0x1c,0x22,0x02,0x0c,0x10,0x20,0x3e, + 0x00,0x3e,0x02,0x04,0x0c,0x02,0x22,0x1c, + 0x00,0x04,0x0c,0x14,0x24,0x3e,0x04,0x04, + 0x00,0x3e,0x20,0x3c,0x02,0x02,0x22,0x1c, + 0x00,0x0e,0x10,0x20,0x3c,0x22,0x22,0x1c, + 0x00,0x3e,0x02,0x04,0x08,0x10,0x10,0x10, + 0x00,0x1c,0x22,0x22,0x1c,0x22,0x22,0x1c, + 0x00,0x1c,0x22,0x22,0x1e,0x02,0x04,0x38, + 0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x00, + 0x00,0x00,0x00,0x08,0x00,0x08,0x08,0x10, + 0x00,0x04,0x08,0x10,0x20,0x10,0x08,0x04, + 0x00,0x00,0x00,0x3e,0x00,0x3e,0x00,0x00, + 0x00,0x10,0x08,0x04,0x02,0x04,0x08,0x10, + 0x00,0x1c,0x22,0x04,0x08,0x08,0x00,0x08, + 0x80,0x9c,0xa2,0xaa,0xae,0xac,0xa0,0x9e, + 0x80,0x88,0x94,0xa2,0xa2,0xbe,0xa2,0xa2, + 0x80,0xbc,0xa2,0xa2,0xbc,0xa2,0xa2,0xbc, + 0x80,0x9c,0xa2,0xa0,0xa0,0xa0,0xa2,0x9c, + 0x80,0xbc,0xa2,0xa2,0xa2,0xa2,0xa2,0xbc, + 0x80,0xbe,0xa0,0xa0,0xbc,0xa0,0xa0,0xbe, + 0x80,0xbe,0xa0,0xa0,0xbc,0xa0,0xa0,0xa0, + 0x80,0x9e,0xa0,0xa0,0xa0,0xa6,0xa2,0x9e, + 0x80,0xa2,0xa2,0xa2,0xbe,0xa2,0xa2,0xa2, + 0x80,0x9c,0x88,0x88,0x88,0x88,0x88,0x9c, + 0x80,0x82,0x82,0x82,0x82,0x82,0xa2,0x9c, + 0x80,0xa2,0xa4,0xa8,0xb0,0xa8,0xa4,0xa2, + 0x80,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xbe, + 0x80,0xa2,0xb6,0xaa,0xaa,0xa2,0xa2,0xa2, + 0x80,0xa2,0xa2,0xb2,0xaa,0xa6,0xa2,0xa2, + 0x80,0x9c,0xa2,0xa2,0xa2,0xa2,0xa2,0x9c, + 0x80,0xbc,0xa2,0xa2,0xbc,0xa0,0xa0,0xa0, + 0x80,0x9c,0xa2,0xa2,0xa2,0xaa,0xa4,0x9a, + 0x80,0xbc,0xa2,0xa2,0xbc,0xa8,0xa4,0xa2, + 0x80,0x9c,0xa2,0xa0,0x9c,0x82,0xa2,0x9c, + 0x80,0xbe,0x88,0x88,0x88,0x88,0x88,0x88, + 0x80,0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0x9c, + 0x80,0xa2,0xa2,0xa2,0xa2,0xa2,0x94,0x88, + 0x80,0xa2,0xa2,0xa2,0xaa,0xaa,0xb6,0xa2, + 0x80,0xa2,0xa2,0x94,0x88,0x94,0xa2,0xa2, + 0x80,0xa2,0xa2,0x94,0x88,0x88,0x88,0x88, + 0x80,0xbe,0x82,0x84,0x88,0x90,0xa0,0xbe, + 0x80,0xbe,0xb0,0xb0,0xb0,0xb0,0xb0,0xbe, + 0x80,0x80,0xa0,0x90,0x88,0x84,0x82,0x80, + 0x80,0xbe,0x86,0x86,0x86,0x86,0x86,0xbe, + 0x80,0x80,0x80,0x88,0x94,0xa2,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xbe, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,0x88,0x88,0x88,0x88,0x88,0x80,0x88, + 0x80,0x94,0x94,0x94,0x80,0x80,0x80,0x80, + 0x80,0x94,0x94,0xbe,0x94,0xbe,0x94,0x94, + 0x80,0x88,0x9e,0xa8,0x9c,0x8a,0xbc,0x88, + 0x80,0xb0,0xb2,0x84,0x88,0x90,0xa6,0x86, + 0x80,0x90,0xa8,0xa8,0x90,0xaa,0xa4,0x9a, + 0x80,0x88,0x88,0x88,0x80,0x80,0x80,0x80, + 0x80,0x88,0x90,0xa0,0xa0,0xa0,0x90,0x88, + 0x80,0x88,0x84,0x82,0x82,0x82,0x84,0x88, + 0x80,0x88,0xaa,0x9c,0x88,0x9c,0xaa,0x88, + 0x80,0x80,0x88,0x88,0xbe,0x88,0x88,0x80, + 0x80,0x80,0x80,0x80,0x80,0x88,0x88,0x90, + 0x80,0x80,0x80,0x80,0xbe,0x80,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x88, + 0x80,0x80,0x82,0x84,0x88,0x90,0xa0,0x80, + 0x80,0x9c,0xa2,0xa6,0xaa,0xb2,0xa2,0x9c, + 0x80,0x88,0x98,0x88,0x88,0x88,0x88,0x9c, + 0x80,0x9c,0xa2,0x82,0x8c,0x90,0xa0,0xbe, + 0x80,0xbe,0x82,0x84,0x8c,0x82,0xa2,0x9c, + 0x80,0x84,0x8c,0x94,0xa4,0xbe,0x84,0x84, + 0x80,0xbe,0xa0,0xbc,0x82,0x82,0xa2,0x9c, + 0x80,0x8e,0x90,0xa0,0xbc,0xa2,0xa2,0x9c, + 0x80,0xbe,0x82,0x84,0x88,0x90,0x90,0x90, + 0x80,0x9c,0xa2,0xa2,0x9c,0xa2,0xa2,0x9c, + 0x80,0x9c,0xa2,0xa2,0x9e,0x82,0x84,0xb8, + 0x80,0x80,0x80,0x88,0x80,0x88,0x80,0x80, + 0x80,0x80,0x80,0x88,0x80,0x88,0x88,0x90, + 0x80,0x84,0x88,0x90,0xa0,0x90,0x88,0x84, + 0x80,0x80,0x80,0xbe,0x80,0xbe,0x80,0x80, + 0x80,0x90,0x88,0x84,0x82,0x84,0x88,0x90, + 0x80,0x9c,0xa2,0x84,0x88,0x88,0x80,0x88 +]; diff --git a/js/roms/basic.js b/js/roms/basic.js new file mode 100644 index 0000000..b3c312f --- /dev/null +++ b/js/roms/basic.js @@ -0,0 +1,537 @@ +export default function Basic() { + var ram = [ + 0x4c,0xb0,0xe2,0xad,0x11,0xd0,0x10,0xfb, + 0xad,0x10,0xd0,0x60,0x8a,0x29,0x20,0xf0, + 0x23,0xa9,0xa0,0x85,0xe4,0x4c,0xc9,0xe3, + 0xa9,0x20,0xc5,0x24,0xb0,0x0c,0xa9,0x8d, + 0xa0,0x07,0x20,0xc9,0xe3,0xa9,0xa0,0x88, + 0xd0,0xf8,0xa0,0x00,0xb1,0xe2,0xe6,0xe2, + 0xd0,0x02,0xe6,0xe3,0x60,0x20,0x15,0xe7, + 0x20,0x76,0xe5,0xa5,0xe2,0xc5,0xe6,0xa5, + 0xe3,0xe5,0xe7,0xb0,0xef,0x20,0x6d,0xe0, + 0x4c,0x3b,0xe0,0xa5,0xca,0x85,0xe2,0xa5, + 0xcb,0x85,0xe3,0xa5,0x4c,0x85,0xe6,0xa5, + 0x4d,0x85,0xe7,0xd0,0xde,0x20,0x15,0xe7, + 0x20,0x6d,0xe5,0xa5,0xe4,0x85,0xe2,0xa5, + 0xe5,0x85,0xe3,0xb0,0xc7,0x86,0xd8,0xa9, + 0xa0,0x85,0xfa,0x20,0x2a,0xe0,0x98,0x85, + 0xe4,0x20,0x2a,0xe0,0xaa,0x20,0x2a,0xe0, + 0x20,0x1b,0xe5,0x20,0x18,0xe0,0x84,0xfa, + 0xaa,0x10,0x18,0x0a,0x10,0xe9,0xa5,0xe4, + 0xd0,0x03,0x20,0x11,0xe0,0x8a,0x20,0xc9, + 0xe3,0xa9,0x25,0x20,0x1a,0xe0,0xaa,0x30, + 0xf5,0x85,0xe4,0xc9,0x01,0xd0,0x05,0xa6, + 0xd8,0x4c,0xcd,0xe3,0x48,0x84,0xce,0xa2, + 0xed,0x86,0xcf,0xc9,0x51,0x90,0x04,0xc6, + 0xcf,0xe9,0x50,0x48,0xb1,0xce,0xaa,0x88, + 0xb1,0xce,0x10,0xfa,0xe0,0xc0,0xb0,0x04, + 0xe0,0x00,0x30,0xf2,0xaa,0x68,0xe9,0x01, + 0xd0,0xe9,0x24,0xe4,0x30,0x03,0x20,0xf8, + 0xef,0xb1,0xce,0x10,0x10,0xaa,0x29,0x3f, + 0x85,0xe4,0x18,0x69,0xa0,0x20,0xc9,0xe3, + 0x88,0xe0,0xc0,0x90,0xec,0x20,0x0c,0xe0, + 0x68,0xc9,0x5d,0xf0,0xa4,0xc9,0x28,0xd0, + 0x8a,0xf0,0x9e,0x20,0x18,0xe1,0x95,0x50, + 0xd5,0x78,0x90,0x11,0xa0,0x2b,0x4c,0xe0, + 0xe3,0x20,0x34,0xee,0xd5,0x50,0x90,0xf4, + 0x20,0xe4,0xef,0x95,0x78,0x4c,0x23,0xe8, + 0x20,0x34,0xee,0xf0,0xe7,0x38,0xe9,0x01, + 0x60,0x20,0x18,0xe1,0x95,0x50,0x18,0xf5, + 0x78,0x4c,0x02,0xe1,0xa0,0x14,0xd0,0xd6, + 0x20,0x18,0xe1,0xe8,0xb5,0x50,0x85,0xda, + 0x65,0xce,0x48,0xa8,0xb5,0x78,0x85,0xdb, + 0x65,0xcf,0x48,0xc4,0xca,0xe5,0xcb,0xb0, + 0xe3,0xa5,0xda,0x69,0xfe,0x85,0xda,0xa9, + 0xff,0xa8,0x65,0xdb,0x85,0xdb,0xc8,0xb1, + 0xda,0xd9,0xcc,0x00,0xd0,0x0f,0x98,0xf0, + 0xf5,0x68,0x91,0xda,0x99,0xcc,0x00,0x88, + 0x10,0xf7,0xe8,0x60,0xea,0xa0,0x80,0xd0, + 0x95,0xa9,0x00,0x20,0x0a,0xe7,0xa0,0x02, + 0x94,0x78,0x20,0x0a,0xe7,0xa9,0xbf,0x20, + 0xc9,0xe3,0xa0,0x00,0x20,0x9e,0xe2,0x94, + 0x78,0xea,0xea,0xea,0xb5,0x51,0x85,0xce, + 0xb5,0x79,0x85,0xcf,0xe8,0xe8,0x20,0xbc, + 0xe1,0xb5,0x4e,0xd5,0x76,0xb0,0x15,0xf6, + 0x4e,0xa8,0xb1,0xce,0xb4,0x50,0xc4,0xe4, + 0x90,0x04,0xa0,0x83,0xd0,0xc1,0x91,0xda, + 0xf6,0x50,0x90,0xe5,0xb4,0x50,0x8a,0x91, + 0xda,0xe8,0xe8,0x60,0xb5,0x51,0x85,0xda, + 0x38,0xe9,0x02,0x85,0xe4,0xb5,0x79,0x85, + 0xdb,0xe9,0x00,0x85,0xe5,0xa0,0x00,0xb1, + 0xe4,0x18,0xe5,0xda,0x85,0xe4,0x60,0xb5, + 0x53,0x85,0xce,0xb5,0x7b,0x85,0xcf,0xb5, + 0x51,0x85,0xda,0xb5,0x79,0x85,0xdb,0xe8, + 0xe8,0xe8,0xa0,0x00,0x94,0x78,0x94,0xa0, + 0xc8,0x94,0x50,0xb5,0x4d,0xd5,0x75,0x08, + 0x48,0xb5,0x4f,0xd5,0x77,0x90,0x07,0x68, + 0x28,0xb0,0x02,0x56,0x50,0x60,0xa8,0xb1, + 0xce,0x85,0xe4,0x68,0xa8,0x28,0xb0,0xf3, + 0xb1,0xda,0xc5,0xe4,0xd0,0xed,0xf6,0x4f, + 0xf6,0x4d,0xb0,0xd7,0x20,0xd7,0xe1,0x4c, + 0x36,0xe7,0x20,0x54,0xe2,0x06,0xce,0x26, + 0xcf,0x90,0x0d,0x18,0xa5,0xe6,0x65,0xda, + 0x85,0xe6,0xa5,0xe7,0x65,0xdb,0x85,0xe7, + 0x88,0xf0,0x09,0x06,0xe6,0x26,0xe7,0x10, + 0xe4,0x4c,0x7e,0xe7,0xa5,0xe6,0x20,0x08, + 0xe7,0xa5,0xe7,0x95,0xa0,0x06,0xe5,0x90, + 0x28,0x4c,0x6f,0xe7,0xa9,0x55,0x85,0xe5, + 0x20,0x5b,0xe2,0xa5,0xce,0x85,0xda,0xa5, + 0xcf,0x85,0xdb,0x20,0x15,0xe7,0x84,0xe6, + 0x84,0xe7,0xa5,0xcf,0x10,0x09,0xca,0x06, + 0xe5,0x20,0x6f,0xe7,0x20,0x15,0xe7,0xa0, + 0x10,0x60,0x20,0x6c,0xee,0xf0,0xc5,0xff, + 0xc9,0x84,0xd0,0x02,0x46,0xf8,0xc9,0xdf, + 0xf0,0x11,0xc9,0x9b,0xf0,0x06,0x99,0x00, + 0x02,0xc8,0x10,0x0a,0xa0,0x8b,0x20,0xc4, + 0xe3,0xa0,0x01,0x88,0x30,0xf6,0x20,0x03, + 0xe0,0xea,0xea,0x20,0xc9,0xe3,0xc9,0x8d, + 0xd0,0xd6,0xa9,0xdf,0x99,0x00,0x02,0x60, + 0x20,0xd3,0xef,0x20,0xcd,0xe3,0x46,0xd9, + 0xa9,0xbe,0x20,0xc9,0xe3,0xa0,0x00,0x84, + 0xfa,0x24,0xf8,0x10,0x0c,0xa6,0xf6,0xa5, + 0xf7,0x20,0x1b,0xe5,0xa9,0xa0,0x20,0xc9, + 0xe3,0xa2,0xff,0x9a,0x20,0x9e,0xe2,0x84, + 0xf1,0x8a,0x85,0xc8,0xa2,0x20,0x20,0x91, + 0xe4,0xa5,0xc8,0x69,0x00,0x85,0xe0,0xa9, + 0x00,0xaa,0x69,0x02,0x85,0xe1,0xa1,0xe0, + 0x29,0xf0,0xc9,0xb0,0xf0,0x03,0x4c,0x83, + 0xe8,0xa0,0x02,0xb1,0xe0,0x99,0xcd,0x00, + 0x88,0xd0,0xf8,0x20,0x8a,0xe3,0xa5,0xf1, + 0xe5,0xc8,0xc9,0x04,0xf0,0xa8,0x91,0xe0, + 0xa5,0xca,0xf1,0xe0,0x85,0xe4,0xa5,0xcb, + 0xe9,0x00,0x85,0xe5,0xa5,0xe4,0xc5,0xcc, + 0xa5,0xe5,0xe5,0xcd,0x90,0x45,0xa5,0xca, + 0xf1,0xe0,0x85,0xe6,0xa5,0xcb,0xe9,0x00, + 0x85,0xe7,0xb1,0xca,0x91,0xe6,0xe6,0xca, + 0xd0,0x02,0xe6,0xcb,0xa5,0xe2,0xc5,0xca, + 0xa5,0xe3,0xe5,0xcb,0xb0,0xe0,0xb5,0xe4, + 0x95,0xca,0xca,0x10,0xf9,0xb1,0xe0,0xa8, + 0x88,0xb1,0xe0,0x91,0xe6,0x98,0xd0,0xf8, + 0x24,0xf8,0x10,0x09,0xb5,0xf7,0x75,0xf5, + 0x95,0xf7,0xe8,0xf0,0xf7,0x10,0x7e,0x00, + 0x00,0x00,0x00,0xa0,0x14,0xd0,0x71,0x20, + 0x15,0xe7,0xa5,0xe2,0x85,0xe6,0xa5,0xe3, + 0x85,0xe7,0x20,0x75,0xe5,0xa5,0xe2,0x85, + 0xe4,0xa5,0xe3,0x85,0xe5,0xd0,0x0e,0x20, + 0x15,0xe7,0x20,0x6d,0xe5,0xa5,0xe6,0x85, + 0xe2,0xa5,0xe7,0x85,0xe3,0xa0,0x00,0xa5, + 0xca,0xc5,0xe4,0xa5,0xcb,0xe5,0xe5,0xb0, + 0x16,0xa5,0xe4,0xd0,0x02,0xc6,0xe5,0xc6, + 0xe4,0xa5,0xe6,0xd0,0x02,0xc6,0xe7,0xc6, + 0xe6,0xb1,0xe4,0x91,0xe6,0x90,0xe0,0xa5, + 0xe6,0x85,0xca,0xa5,0xe7,0x85,0xcb,0x60, + 0x20,0xc9,0xe3,0xc8,0xb9,0x00,0xeb,0x30, + 0xf7,0xc9,0x8d,0xd0,0x06,0xa9,0x00,0x85, + 0x24,0xa9,0x8d,0xe6,0x24,0x2c,0xf2,0xd0, + 0x30,0xfb,0x8d,0xf2,0xd0,0x60,0xa0,0x06, + 0x20,0xd3,0xee,0x24,0xd9,0x30,0x03,0x4c, + 0xb6,0xe2,0x4c,0x9a,0xeb,0x2a,0x69,0xa0, + 0xdd,0x00,0x02,0xd0,0x53,0xb1,0xfe,0x0a, + 0x30,0x06,0x88,0xb1,0xfe,0x30,0x29,0xc8, + 0x86,0xc8,0x98,0x48,0xa2,0x00,0xa1,0xfe, + 0xaa,0x4a,0x49,0x48,0x11,0xfe,0xc9,0xc0, + 0x90,0x01,0xe8,0xc8,0xd0,0xf3,0x68,0xa8, + 0x8a,0x4c,0xc0,0xe4,0xe6,0xf1,0xa6,0xf1, + 0xf0,0xbc,0x9d,0x00,0x02,0x60,0xa6,0xc8, + 0xa9,0xa0,0xe8,0xdd,0x00,0x02,0xb0,0xfa, + 0xb1,0xfe,0x29,0x3f,0x4a,0xd0,0xb6,0xbd, + 0x00,0x02,0xb0,0x06,0x69,0x3f,0xc9,0x1a, + 0x90,0x6f,0x69,0x4f,0xc9,0x0a,0x90,0x69, + 0xa6,0xfd,0xc8,0xb1,0xfe,0x29,0xe0,0xc9, + 0x20,0xf0,0x7a,0xb5,0xa8,0x85,0xc8,0xb5, + 0xd1,0x85,0xf1,0x88,0xb1,0xfe,0x0a,0x10, + 0xfa,0x88,0xb0,0x38,0x0a,0x30,0x35,0xb4, + 0x58,0x84,0xff,0xb4,0x80,0xe8,0x10,0xda, + 0xf0,0xb3,0xc9,0x7e,0xb0,0x22,0xca,0x10, + 0x04,0xa0,0x06,0x10,0x29,0x94,0x80,0xa4, + 0xff,0x94,0x58,0xa4,0xc8,0x94,0xa8,0xa4, + 0xf1,0x94,0xd1,0x29,0x1f,0xa8,0xb9,0x20, + 0xec,0x0a,0xa8,0xa9,0x76,0x2a,0x85,0xff, + 0xd0,0x01,0xc8,0xc8,0x86,0xfd,0xb1,0xfe, + 0x30,0x84,0xd0,0x05,0xa0,0x0e,0x4c,0xe0, + 0xe3,0xc9,0x03,0xb0,0xc3,0x4a,0xa6,0xc8, + 0xe8,0xbd,0x00,0x02,0x90,0x04,0xc9,0xa2, + 0xf0,0x0a,0xc9,0xdf,0xf0,0x06,0x86,0xc8, + 0x20,0x1c,0xe4,0xc8,0x88,0xa6,0xfd,0xb1, + 0xfe,0x88,0x0a,0x10,0xcf,0xb4,0x58,0x84, + 0xff,0xb4,0x80,0xe8,0xb1,0xfe,0x29,0x9f, + 0xd0,0xed,0x85,0xf2,0x85,0xf3,0x98,0x48, + 0x86,0xfd,0xb4,0xd0,0x84,0xc9,0x18,0xa9, + 0x0a,0x85,0xf9,0xa2,0x00,0xc8,0xb9,0x00, + 0x02,0x29,0x0f,0x65,0xf2,0x48,0x8a,0x65, + 0xf3,0x30,0x1c,0xaa,0x68,0xc6,0xf9,0xd0, + 0xf2,0x85,0xf2,0x86,0xf3,0xc4,0xf1,0xd0, + 0xde,0xa4,0xc9,0xc8,0x84,0xf1,0x20,0x1c, + 0xe4,0x68,0xa8,0xa5,0xf3,0xb0,0xa9,0xa0, + 0x00,0x10,0x8b,0x85,0xf3,0x86,0xf2,0xa2, + 0x04,0x86,0xc9,0xa9,0xb0,0x85,0xf9,0xa5, + 0xf2,0xdd,0x63,0xe5,0xa5,0xf3,0xfd,0x68, + 0xe5,0x90,0x0d,0x85,0xf3,0xa5,0xf2,0xfd, + 0x63,0xe5,0x85,0xf2,0xe6,0xf9,0xd0,0xe7, + 0xa5,0xf9,0xe8,0xca,0xf0,0x0e,0xc9,0xb0, + 0xf0,0x02,0x85,0xc9,0x24,0xc9,0x30,0x04, + 0xa5,0xfa,0xf0,0x0b,0x20,0xc9,0xe3,0x24, + 0xf8,0x10,0x04,0x99,0x00,0x02,0xc8,0xca, + 0x10,0xc1,0x60,0x01,0x0a,0x64,0xe8,0x10, + 0x00,0x00,0x00,0x03,0x27,0xa5,0xca,0x85, + 0xe6,0xa5,0xcb,0x85,0xe7,0xe8,0xa5,0xe7, + 0x85,0xe5,0xa5,0xe6,0x85,0xe4,0xc5,0x4c, + 0xa5,0xe5,0xe5,0x4d,0xb0,0x26,0xa0,0x01, + 0xb1,0xe4,0xe5,0xce,0xc8,0xb1,0xe4,0xe5, + 0xcf,0xb0,0x19,0xa0,0x00,0xa5,0xe6,0x71, + 0xe4,0x85,0xe6,0x90,0x03,0xe6,0xe7,0x18, + 0xc8,0xa5,0xce,0xf1,0xe4,0xc8,0xa5,0xcf, + 0xf1,0xe4,0xb0,0xca,0x60,0x46,0xf8,0xa5, + 0x4c,0x85,0xca,0xa5,0x4d,0x85,0xcb,0xa5, + 0x4a,0x85,0xcc,0xa5,0x4b,0x85,0xcd,0xa9, + 0x00,0x85,0xfb,0x85,0xfc,0x85,0xfe,0xa9, + 0x00,0x85,0x1d,0x60,0xa5,0xd0,0x69,0x05, + 0x85,0xd2,0xa5,0xd1,0x69,0x00,0x85,0xd3, + 0xa5,0xd2,0xc5,0xca,0xa5,0xd3,0xe5,0xcb, + 0x90,0x03,0x4c,0x6b,0xe3,0xa5,0xce,0x91, + 0xd0,0xa5,0xcf,0xc8,0x91,0xd0,0xa5,0xd2, + 0xc8,0x91,0xd0,0xa5,0xd3,0xc8,0x91,0xd0, + 0xa9,0x00,0xc8,0x91,0xd0,0xc8,0x91,0xd0, + 0xa5,0xd2,0x85,0xcc,0xa5,0xd3,0x85,0xcd, + 0xa5,0xd0,0x90,0x43,0x85,0xce,0x84,0xcf, + 0x20,0xff,0xe6,0x30,0x0e,0xc9,0x40,0xf0, + 0x0a,0x4c,0x28,0xe6,0x06,0xc9,0x49,0xd0, + 0x07,0xa9,0x49,0x85,0xcf,0x20,0xff,0xe6, + 0xa5,0x4b,0x85,0xd1,0xa5,0x4a,0x85,0xd0, + 0xc5,0xcc,0xa5,0xd1,0xe5,0xcd,0xb0,0x94, + 0xb1,0xd0,0xc8,0xc5,0xce,0xd0,0x06,0xb1, + 0xd0,0xc5,0xcf,0xf0,0x0e,0xc8,0xb1,0xd0, + 0x48,0xc8,0xb1,0xd0,0x85,0xd1,0x68,0xa0, + 0x00,0xf0,0xdb,0xa5,0xd0,0x69,0x03,0x20, + 0x0a,0xe7,0xa5,0xd1,0x69,0x00,0x95,0x78, + 0xa5,0xcf,0xc9,0x40,0xd0,0x1c,0x88,0x98, + 0x20,0x0a,0xe7,0x88,0x94,0x78,0xa0,0x03, + 0xf6,0x78,0xc8,0xb1,0xd0,0x30,0xf9,0x10, + 0x09,0xa9,0x00,0x85,0xd4,0x85,0xd5,0xa2, + 0x20,0x48,0xa0,0x00,0xb1,0xe0,0x10,0x18, + 0x0a,0x30,0x81,0x20,0xff,0xe6,0x20,0x08, + 0xe7,0x20,0xff,0xe6,0x95,0xa0,0x24,0xd4, + 0x10,0x01,0xca,0x20,0xff,0xe6,0xb0,0xe6, + 0xc9,0x28,0xd0,0x1f,0xa5,0xe0,0x20,0x0a, + 0xe7,0xa5,0xe1,0x95,0x78,0x24,0xd4,0x30, + 0x0b,0xa9,0x01,0x20,0x0a,0xe7,0xa9,0x00, + 0x95,0x78,0xf6,0x78,0x20,0xff,0xe6,0x30, + 0xf9,0xb0,0xd3,0x24,0xd4,0x10,0x06,0xc9, + 0x04,0xb0,0xd0,0x46,0xd4,0xa8,0x85,0xd6, + 0xb9,0x98,0xe9,0x29,0x55,0x0a,0x85,0xd7, + 0x68,0xa8,0xb9,0x98,0xe9,0x29,0xaa,0xc5, + 0xd7,0xb0,0x09,0x98,0x48,0x20,0xff,0xe6, + 0xa5,0xd6,0x90,0x95,0xb9,0x10,0xea,0x85, + 0xce,0xb9,0x88,0xea,0x85,0xcf,0x20,0xfc, + 0xe6,0x4c,0xd8,0xe6,0x6c,0xce,0x00,0xe6, + 0xe0,0xd0,0x02,0xe6,0xe1,0xb1,0xe0,0x60, + 0x94,0x77,0xca,0x30,0x03,0x95,0x50,0x60, + 0xa0,0x66,0x4c,0xe0,0xe3,0xa0,0x00,0xb5, + 0x50,0x85,0xce,0xb5,0xa0,0x85,0xcf,0xb5, + 0x78,0xf0,0x0e,0x85,0xcf,0xb1,0xce,0x48, + 0xc8,0xb1,0xce,0x85,0xcf,0x68,0x85,0xce, + 0x88,0xe8,0x60,0x20,0x4a,0xe7,0x20,0x15, + 0xe7,0x98,0x20,0x08,0xe7,0x95,0xa0,0xc5, + 0xce,0xd0,0x06,0xc5,0xcf,0xd0,0x02,0xf6, + 0x50,0x60,0x20,0x82,0xe7,0x20,0x59,0xe7, + 0x20,0x15,0xe7,0x24,0xcf,0x30,0x1b,0xca, + 0x60,0x20,0x15,0xe7,0xa5,0xcf,0xd0,0x04, + 0xa5,0xce,0xf0,0xf3,0xa9,0xff,0x20,0x08, + 0xe7,0x95,0xa0,0x24,0xcf,0x30,0xe9,0x20, + 0x15,0xe7,0x98,0x38,0xe5,0xce,0x20,0x08, + 0xe7,0x98,0xe5,0xcf,0x50,0x23,0xa0,0x00, + 0x10,0x90,0x20,0x6f,0xe7,0x20,0x15,0xe7, + 0xa5,0xce,0x85,0xda,0xa5,0xcf,0x85,0xdb, + 0x20,0x15,0xe7,0x18,0xa5,0xce,0x65,0xda, + 0x20,0x08,0xe7,0xa5,0xcf,0x65,0xdb,0x70, + 0xdd,0x95,0xa0,0x60,0x20,0x15,0xe7,0xa4, + 0xce,0xf0,0x05,0x88,0xa5,0xcf,0xf0,0x0c, + 0x60,0xa5,0x24,0x09,0x07,0xa8,0xc8,0xa9, + 0xa0,0x20,0xc9,0xe3,0xc4,0x24,0xb0,0xf7, + 0x60,0x20,0xb1,0xe7,0x20,0x15,0xe7,0xa5, + 0xcf,0x10,0x0a,0xa9,0xad,0x20,0xc9,0xe3, + 0x20,0x72,0xe7,0x50,0xef,0x88,0x84,0xd5, + 0x86,0xcf,0xa6,0xce,0x20,0x1b,0xe5,0xa6, + 0xcf,0x60,0x20,0x15,0xe7,0xa5,0xce,0x85, + 0xf6,0xa5,0xcf,0x85,0xf7,0x88,0x84,0xf8, + 0xc8,0xa9,0x0a,0x85,0xf4,0x84,0xf5,0x60, + 0x20,0x15,0xe7,0xa5,0xce,0xa4,0xcf,0x10, + 0xf2,0x20,0x15,0xe7,0xb5,0x50,0x85,0xda, + 0xb5,0x78,0x85,0xdb,0xa5,0xce,0x91,0xda, + 0xc8,0xa5,0xcf,0x91,0xda,0xe8,0x60,0x68, + 0x68,0x24,0xd5,0x10,0x05,0x20,0xcd,0xe3, + 0x46,0xd5,0x60,0xa0,0xff,0x84,0xd7,0x60, + 0x20,0xcd,0xef,0xf0,0x07,0xa9,0x25,0x85, + 0xd6,0x88,0x84,0xd4,0xe8,0x60,0xa5,0xca, + 0xa4,0xcb,0xd0,0x5a,0xa0,0x41,0xa5,0xfc, + 0xc9,0x08,0xb0,0x5e,0xa8,0xe6,0xfc,0xa5, + 0xe0,0x99,0x00,0x01,0xa5,0xe1,0x99,0x08, + 0x01,0xa5,0xdc,0x99,0x10,0x01,0xa5,0xdd, + 0x99,0x18,0x01,0x20,0x15,0xe7,0x20,0x6d, + 0xe5,0x90,0x04,0xa0,0x37,0xd0,0x3b,0xa5, + 0xe4,0xa4,0xe5,0x85,0xdc,0x84,0xdd,0x2c, + 0x11,0xd0,0x30,0x4f,0x18,0x69,0x03,0x90, + 0x01,0xc8,0xa2,0xff,0x86,0xd9,0x9a,0x85, + 0xe0,0x84,0xe1,0x20,0x79,0xe6,0x24,0xd9, + 0x10,0x49,0x18,0xa0,0x00,0xa5,0xdc,0x71, + 0xdc,0xa4,0xdd,0x90,0x01,0xc8,0xc5,0x4c, + 0xd0,0xd1,0xc4,0x4d,0xd0,0xcd,0xa0,0x34, + 0x46,0xd9,0x4c,0xe0,0xe3,0xa0,0x4a,0xa5, + 0xfc,0xf0,0xf7,0xc6,0xfc,0xa8,0xb9,0x0f, + 0x01,0x85,0xdc,0xb9,0x17,0x01,0x85,0xdd, + 0xbe,0xff,0x00,0xb9,0x07,0x01,0xa8,0x8a, + 0x4c,0x7a,0xe8,0xa0,0x63,0x20,0xc4,0xe3, + 0xa0,0x01,0xb1,0xdc,0xaa,0xc8,0xb1,0xdc, + 0x20,0x1b,0xe5,0x4c,0xb3,0xe2,0xc6,0xfb, + 0xa0,0x5b,0xa5,0xfb,0xf0,0xc4,0xa8,0xb5, + 0x50,0xd9,0x1f,0x01,0xd0,0xf0,0xb5,0x78, + 0xd9,0x27,0x01,0xd0,0xe9,0xb9,0x2f,0x01, + 0x85,0xda,0xb9,0x37,0x01,0x85,0xdb,0x20, + 0x15,0xe7,0xca,0x20,0x93,0xe7,0x20,0x01, + 0xe8,0xca,0xa4,0xfb,0xb9,0x67,0x01,0x95, + 0x9f,0xb9,0x5f,0x01,0xa0,0x00,0x20,0x08, + 0xe7,0x20,0x82,0xe7,0x20,0x59,0xe7,0x20, + 0x15,0xe7,0xa4,0xfb,0xa5,0xce,0xf0,0x05, + 0x59,0x37,0x01,0x10,0x12,0xb9,0x3f,0x01, + 0x85,0xdc,0xb9,0x47,0x01,0x85,0xdd,0xbe, + 0x4f,0x01,0xb9,0x57,0x01,0xd0,0x87,0xc6, + 0xfb,0x60,0xa0,0x54,0xa5,0xfb,0xc9,0x08, + 0xf0,0x9a,0xe6,0xfb,0xa8,0xb5,0x50,0x99, + 0x20,0x01,0xb5,0x78,0x99,0x28,0x01,0x60, + 0x20,0x15,0xe7,0xa4,0xfb,0xa5,0xce,0x99, + 0x5f,0x01,0xa5,0xcf,0x99,0x67,0x01,0xa9, + 0x01,0x99,0x2f,0x01,0xa9,0x00,0x99,0x37, + 0x01,0xa5,0xdc,0x99,0x3f,0x01,0xa5,0xdd, + 0x99,0x47,0x01,0xa5,0xe0,0x99,0x4f,0x01, + 0xa5,0xe1,0x99,0x57,0x01,0x60,0x20,0x15, + 0xe7,0xa4,0xfb,0xa5,0xce,0x99,0x2f,0x01, + 0xa5,0xcf,0x4c,0x66,0xe9,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xab,0x03,0x03,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0x3f,0x3f,0xc0,0xc0,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x30,0x0f,0xc0, + 0xcc,0xff,0x55,0x00,0xab,0xab,0x03,0x03, + 0xff,0xff,0x55,0xff,0xff,0x55,0xcf,0xcf, + 0xcf,0xcf,0xcf,0xff,0x55,0xc3,0xc3,0xc3, + 0x55,0xf0,0xf0,0xcf,0x56,0x56,0x56,0x55, + 0xff,0xff,0x55,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0xff,0xff,0xff,0x03,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x00,0xab,0x03, + 0x57,0x03,0x03,0x03,0x03,0x07,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0xaa,0xff,0xff,0xff,0xff,0xff, + 0x17,0xff,0xff,0x19,0x5d,0x35,0x4b,0xf2, + 0xec,0x87,0x6f,0xad,0xb7,0xe2,0xf8,0x54, + 0x80,0x96,0x85,0x82,0x22,0x10,0x33,0x4a, + 0x13,0x06,0x0b,0x4a,0x01,0x40,0x47,0x7a, + 0x00,0xff,0x23,0x09,0x5b,0x16,0xb6,0xcb, + 0xff,0xff,0xfb,0xff,0xff,0x24,0xf6,0x4e, + 0x59,0x50,0x00,0xff,0x23,0xa3,0x6f,0x36, + 0x23,0xd7,0x1c,0x22,0xc2,0xae,0xba,0x23, + 0xff,0xff,0x21,0x30,0x1e,0x03,0xc4,0x20, + 0x00,0xc1,0xff,0xff,0xff,0xa0,0x30,0x1e, + 0xa4,0xd3,0xb6,0xbc,0xaa,0x3a,0x01,0x50, + 0x7e,0xd8,0xd8,0xa5,0x3c,0xff,0x16,0x5b, + 0x28,0x03,0xc4,0x1d,0x00,0x0c,0x4e,0x00, + 0x3e,0x00,0xa6,0xb0,0x00,0xbc,0xc6,0x57, + 0x8c,0x01,0x27,0xff,0xff,0xff,0xff,0xff, + 0xe8,0xff,0xff,0xe8,0xe0,0xe0,0xe0,0xef, + 0xef,0xe3,0xe3,0xe5,0xe5,0xe7,0xe7,0xee, + 0xef,0xef,0xe7,0xe7,0xe2,0xef,0xe7,0xe7, + 0xec,0xec,0xec,0xe7,0xec,0xec,0xec,0xe2, + 0x00,0xff,0xe8,0xe1,0xe8,0xe8,0xef,0xeb, + 0xff,0xff,0xe0,0xff,0xff,0xef,0xee,0xef, + 0xe7,0xe7,0x00,0xff,0xe8,0xe7,0xe7,0xe7, + 0xe8,0xe1,0xe2,0xee,0xee,0xee,0xee,0xe8, + 0xff,0xff,0xe1,0xe1,0xef,0xee,0xe7,0xe8, + 0xee,0xe7,0xff,0xff,0xff,0xee,0xe1,0xef, + 0xe7,0xe8,0xef,0xef,0xeb,0xe9,0xe8,0xe9, + 0xe9,0xe8,0xe8,0xe8,0xe8,0xff,0xe8,0xe8, + 0xe8,0xee,0xe7,0xe8,0xef,0xef,0xee,0xef, + 0xee,0xef,0xee,0xee,0xef,0xee,0xee,0xee, + 0xe1,0xe8,0xe8,0xff,0xff,0xff,0xff,0xff, + 0xbe,0xb3,0xb2,0xb7,0xb6,0x37,0xd4,0xcf, + 0xcf,0xa0,0xcc,0xcf,0xce,0x47,0xd3,0xd9, + 0xce,0xd4,0xc1,0x58,0xcd,0xc5,0xcd,0xa0, + 0xc6,0xd5,0xcc,0x4c,0xd4,0xcf,0xcf,0xa0, + 0xcd,0xc1,0xce,0xd9,0xa0,0xd0,0xc1,0xd2, + 0xc5,0xce,0x53,0xd3,0xd4,0xd2,0xc9,0xce, + 0x47,0xce,0xcf,0xa0,0xc5,0xce,0x44,0xc2, + 0xc1,0xc4,0xa0,0xc2,0xd2,0xc1,0xce,0xc3, + 0x48,0xbe,0xb8,0xa0,0xc7,0xcf,0xd3,0xd5, + 0xc2,0x53,0xc2,0xc1,0xc4,0xa0,0xd2,0xc5, + 0xd4,0xd5,0xd2,0x4e,0xbe,0xb8,0xa0,0xc6, + 0xcf,0xd2,0x53,0xc2,0xc1,0xc4,0xa0,0xce, + 0xc5,0xd8,0x54,0xd3,0xd4,0xcf,0xd0,0xd0, + 0xc5,0xc4,0xa0,0xc1,0xd4,0x20,0xaa,0xaa, + 0xaa,0x20,0xa0,0xc5,0xd2,0xd2,0x0d,0xbe, + 0xb2,0xb5,0x35,0xd2,0xc1,0xce,0xc7,0x45, + 0xc4,0xc9,0x4d,0xd3,0xd4,0xd2,0xa0,0xcf, + 0xd6,0xc6,0x4c,0xdc,0x0d,0xd2,0xc5,0xd4, + 0xd9,0xd0,0xc5,0xa0,0xcc,0xc9,0xce,0xc5, + 0x8d,0x3f,0x46,0xd9,0x90,0x03,0x4c,0xc3, + 0xe8,0xa6,0xcf,0x9a,0xa6,0xce,0xa0,0x8d, + 0xd0,0x02,0xa0,0x99,0x20,0xc4,0xe3,0x86, + 0xce,0xba,0x86,0xcf,0xa0,0xfe,0x84,0xd9, + 0xc8,0x84,0xc8,0x20,0x99,0xe2,0x84,0xf1, + 0xa2,0x20,0xa9,0x30,0x20,0x91,0xe4,0xe6, + 0xd9,0xa6,0xce,0xa4,0xc8,0x0a,0x85,0xce, + 0xc8,0xb9,0x00,0x02,0xc9,0x74,0xf0,0xd2, + 0x49,0xb0,0xc9,0x0a,0xb0,0xf0,0xc8,0xc8, + 0x84,0xc8,0xb9,0x00,0x02,0x48,0xb9,0xff, + 0x01,0xa0,0x00,0x20,0x08,0xe7,0x68,0x95, + 0xa0,0xa5,0xce,0xc9,0xc7,0xd0,0x03,0x20, + 0x6f,0xe7,0x4c,0x01,0xe8,0xff,0xff,0xff, + 0x50,0x20,0x13,0xec,0xd0,0x15,0x20,0x0b, + 0xec,0xd0,0x10,0x20,0x82,0xe7,0x20,0x6f, + 0xe7,0x50,0x03,0x20,0x82,0xe7,0x20,0x59, + 0xe7,0x56,0x50,0x4c,0x36,0xe7,0xff,0xff, + 0xc1,0xff,0x7f,0xd1,0xcc,0xc7,0xcf,0xce, + 0xc5,0x9a,0x98,0x8b,0x96,0x95,0x93,0xbf, + 0xb2,0x32,0x2d,0x2b,0xbc,0xb0,0xac,0xbe, + 0x35,0x8e,0x61,0xff,0xff,0xff,0xdd,0xfb, + 0x20,0xc9,0xef,0x15,0x4f,0x10,0x05,0x20, + 0xc9,0xef,0x35,0x4f,0x95,0x50,0x10,0xcb, + 0x4c,0xc9,0xef,0x40,0x60,0x8d,0x60,0x8b, + 0x00,0x7e,0x8c,0x33,0x00,0x00,0x60,0x03, + 0xbf,0x12,0x00,0x40,0x89,0xc9,0x47,0x9d, + 0x17,0x68,0x9d,0x0a,0x00,0x40,0x60,0x8d, + 0x60,0x8b,0x00,0x7e,0x8c,0x3c,0x00,0x00, + 0x60,0x03,0xbf,0x1b,0x4b,0x67,0xb4,0xa1, + 0x07,0x8c,0x07,0xae,0xa9,0xac,0xa8,0x67, + 0x8c,0x07,0xb4,0xaf,0xac,0xb0,0x67,0x9d, + 0xb2,0xaf,0xac,0xaf,0xa3,0x67,0x8c,0x07, + 0xa5,0xab,0xaf,0xb0,0xf4,0xae,0xa9,0xb2, + 0xb0,0x7f,0x0e,0x27,0xb4,0xae,0xa9,0xb2, + 0xb0,0x7f,0x0e,0x28,0xb4,0xae,0xa9,0xb2, + 0xb0,0x64,0x07,0xa6,0xa9,0x67,0xaf,0xb4, + 0xaf,0xa7,0x78,0xb4,0xa5,0xac,0x78,0x7f, + 0x02,0xad,0xa5,0xb2,0x67,0xa2,0xb5,0xb3, + 0xaf,0xa7,0xee,0xb2,0xb5,0xb4,0xa5,0xb2, + 0x7e,0x8c,0x39,0xb4,0xb8,0xa5,0xae,0x67, + 0xb0,0xa5,0xb4,0xb3,0x27,0xaf,0xb4,0x07, + 0x9d,0x19,0xb2,0xaf,0xa6,0x7f,0x05,0x37, + 0xb4,0xb5,0xb0,0xae,0xa9,0x7f,0x05,0x28, + 0xb4,0xb5,0xb0,0xae,0xa9,0x7f,0x05,0x2a, + 0xb4,0xb5,0xb0,0xae,0xa9,0xe4,0xae,0xa5, + 0x00,0xff,0xff,0x47,0xa2,0xa1,0xb4,0x7f, + 0x0d,0x30,0xad,0xa9,0xa4,0x7f,0x0d,0x23, + 0xad,0xa9,0xa4,0x67,0xac,0xac,0xa1,0xa3, + 0x00,0x40,0x80,0xc0,0xc1,0x80,0x00,0x47, + 0x8c,0x68,0x8c,0xdb,0x67,0x9b,0x68,0x9b, + 0x50,0x8c,0x63,0x8c,0x7f,0x01,0x51,0x07, + 0x88,0x29,0x84,0x80,0xc4,0x80,0x57,0x71, + 0x07,0x88,0x14,0xed,0xa5,0xad,0xaf,0xac, + 0xed,0xa5,0xad,0xa9,0xa8,0xf2,0xaf,0xac, + 0xaf,0xa3,0x71,0x08,0x88,0xae,0xa5,0xac, + 0x68,0x83,0x08,0x68,0x9d,0x08,0x71,0x07, + 0x88,0x60,0x76,0xb4,0xaf,0xae,0x76,0x8d, + 0x76,0x8b,0x51,0x07,0x88,0x19,0xb8,0xa4, + 0xae,0xb2,0xf2,0xb3,0xb5,0xf3,0xa2,0xa1, + 0xee,0xa7,0xb3,0xe4,0xae,0xb2,0xeb,0xa5, + 0xa5,0xb0,0x51,0x07,0x88,0x39,0x81,0xc1, + 0x4f,0x7f,0x0f,0x2f,0x00,0x51,0x06,0x88, + 0x29,0xc2,0x0c,0x82,0x57,0x8c,0x6a,0x8c, + 0x42,0xae,0xa5,0xa8,0xb4,0x60,0xae,0xa5, + 0xa8,0xb4,0x4f,0x7e,0x1e,0x35,0x8c,0x27, + 0x51,0x07,0x88,0x09,0x8b,0xfe,0xe4,0xaf, + 0xad,0xf2,0xaf,0xe4,0xae,0xa1,0xdc,0xde, + 0x9c,0xdd,0x9c,0xde,0xdd,0x9e,0xc3,0xdd, + 0xcf,0xca,0xcd,0xcb,0x00,0x47,0x9d,0xad, + 0xa5,0xad,0xaf,0xac,0x76,0x9d,0xad,0xa5, + 0xad,0xa9,0xa8,0xe6,0xa6,0xaf,0x60,0x8c, + 0x20,0xaf,0xb4,0xb5,0xa1,0xf2,0xac,0xa3, + 0xf2,0xa3,0xb3,0x60,0x8c,0x20,0xac,0xa5, + 0xa4,0xee,0xb5,0xb2,0x60,0xae,0xb5,0xb2, + 0xf4,0xb3,0xa9,0xac,0x60,0x8c,0x20,0xb4, + 0xb3,0xa9,0xac,0x7a,0x7e,0x9a,0x22,0x20, + 0x00,0x60,0x03,0xbf,0x60,0x03,0xbf,0x1f, + 0x20,0xb1,0xe7,0xe8,0xe8,0xb5,0x4f,0x85, + 0xda,0xb5,0x77,0x85,0xdb,0xb4,0x4e,0x98, + 0xd5,0x76,0xb0,0x09,0xb1,0xda,0x20,0xc9, + 0xe3,0xc8,0x4c,0x0f,0xee,0xa9,0xff,0x85, + 0xd5,0x60,0xe8,0xa9,0x00,0x95,0x78,0x95, + 0xa0,0xb5,0x77,0x38,0xf5,0x4f,0x95,0x50, + 0x4c,0x23,0xe8,0xff,0x20,0x15,0xe7,0xa5, + 0xcf,0xd0,0x28,0xa5,0xce,0x60,0x20,0x34, + 0xee,0xa4,0xc8,0xc9,0x30,0xb0,0x21,0xc0, + 0x28,0xb0,0x1d,0x60,0xea,0xea,0x20,0x34, + 0xee,0x60,0xea,0x8a,0xa2,0x01,0xb4,0xce, + 0x94,0x4c,0xb4,0x48,0x94,0xca,0xca,0xf0, + 0xf5,0xaa,0x60,0xa0,0x77,0x4c,0xe0,0xe3, + 0xa0,0x7b,0xd0,0xf9,0x20,0x54,0xe2,0xa5, + 0xda,0xd0,0x07,0xa5,0xdb,0xd0,0x03,0x4c, + 0x7e,0xe7,0x06,0xce,0x26,0xcf,0x26,0xe6, + 0x26,0xe7,0xa5,0xe6,0xc5,0xda,0xa5,0xe7, + 0xe5,0xdb,0x90,0x0a,0x85,0xe7,0xa5,0xe6, + 0xe5,0xda,0x85,0xe6,0xe6,0xce,0x88,0xd0, + 0xe1,0x60,0xff,0xff,0xff,0xff,0xff,0xff, + 0x20,0x15,0xe7,0x6c,0xce,0x00,0xa5,0x4c, + 0xd0,0x02,0xc6,0x4d,0xc6,0x4c,0xa5,0x48, + 0xd0,0x02,0xc6,0x49,0xc6,0x48,0xa0,0x00, + 0xb1,0x4c,0x91,0x48,0xa5,0xca,0xc5,0x4c, + 0xa5,0xcb,0xe5,0x4d,0x90,0xe0,0x4c,0x53, + 0xee,0xc9,0x28,0xb0,0x9b,0xa8,0xa5,0xc8, + 0x60,0xea,0xea,0x98,0xaa,0xa0,0x6e,0x20, + 0xc4,0xe3,0x8a,0xa8,0x20,0xc4,0xe3,0xa0, + 0x72,0x4c,0xc4,0xe3,0x20,0x15,0xe7,0x06, + 0xce,0x26,0xcf,0x30,0xfa,0xb0,0xdc,0xd0, + 0x04,0xc5,0xce,0xb0,0xd6,0x60,0x20,0x15, + 0xe7,0xb1,0xce,0x94,0x9f,0x4c,0x08,0xe7, + 0x20,0x34,0xee,0xa5,0xce,0x48,0x20,0x15, + 0xe7,0x68,0x91,0xce,0x60,0xff,0xff,0xff, + 0x20,0x6c,0xee,0xa5,0xce,0x85,0xe6,0xa5, + 0xcf,0x85,0xe7,0x4c,0x44,0xe2,0x20,0xe4, + 0xee,0x4c,0x34,0xe1,0x20,0xe4,0xee,0xb4, + 0x78,0xb5,0x50,0x69,0xfe,0xb0,0x01,0x88, + 0x85,0xda,0x84,0xdb,0x18,0x65,0xce,0x95, + 0x50,0x98,0x65,0xcf,0x95,0x78,0xa0,0x00, + 0xb5,0x50,0xd1,0xda,0xc8,0xb5,0x78,0xf1, + 0xda,0xb0,0x80,0x4c,0x23,0xe8,0x20,0x15, + 0xe7,0xa5,0x4e,0x20,0x08,0xe7,0xa5,0x4f, + 0xd0,0x04,0xc5,0x4e,0x69,0x00,0x29,0x7f, + 0x85,0x4f,0x95,0xa0,0xa0,0x11,0xa5,0x4f, + 0x0a,0x18,0x69,0x40,0x0a,0x26,0x4e,0x26, + 0x4f,0x88,0xd0,0xf2,0xa5,0xce,0x20,0x08, + 0xe7,0xa5,0xcf,0x95,0xa0,0x4c,0x7a,0xe2, + 0x20,0x15,0xe7,0xa4,0xce,0xc4,0x4c,0xa5, + 0xcf,0xe5,0x4d,0x90,0x1f,0x84,0x48,0xa5, + 0xcf,0x85,0x49,0x4c,0xb6,0xee,0x20,0x15, + 0xe7,0xa4,0xce,0xc4,0xca,0xa5,0xcf,0xe5, + 0xcb,0xb0,0x09,0x84,0x4a,0xa5,0xcf,0x85, + 0x4b,0x4c,0xb7,0xe5,0x4c,0xcb,0xee,0xea, + 0xea,0xea,0xea,0x20,0xc9,0xef,0x20,0x71, + 0xe1,0x4c,0xbf,0xef,0x20,0x03,0xee,0xa9, + 0xff,0x85,0xc8,0xa9,0x74,0x8d,0x00,0x02, + 0x60,0x20,0x36,0xe7,0xe8,0x20,0x36,0xe7, + 0xb5,0x50,0x60,0xa9,0x00,0x85,0x4a,0x85, + 0x4c,0xa9,0x08,0x85,0x4b,0xa9,0x10,0x85, + 0x4d,0x4c,0xad,0xe5,0xd5,0x78,0xd0,0x01, + 0x18,0x4c,0x02,0xe1,0x20,0xb7,0xe5,0x4c, + 0x36,0xe8,0x20,0xb7,0xe5,0x4c,0x5b,0xe8, + 0xe0,0x80,0xd0,0x01,0x88,0x4c,0x0c,0xe0 + ]; + return { + start: function basic_start() { + return 0xe0; + }, + end: function basic_end() { + return 0xef; + }, + read: function basic_read(page, off) { + return ram[(page - 0xe0) << 8 | off]; + }, + write: function basic_write(page, off, val) { + ram[(page - 0xe0) << 8 | off] = val; + }, + + getState: function() { + return {}; + }, + + setState: function() { + } + }; +} diff --git a/js/roms/bios.js b/js/roms/bios.js new file mode 100644 index 0000000..cce78be --- /dev/null +++ b/js/roms/bios.js @@ -0,0 +1,52 @@ +export default function Bios() { + var rom = [ + 0xd8,0x58,0xa0,0x7f,0x8c,0x12,0xd0,0xa9, + 0xa7,0x8d,0x11,0xd0,0x8d,0x13,0xd0,0xc9, + 0xdf,0xf0,0x13,0xc9,0x9b,0xf0,0x03,0xc8, + 0x10,0x0f,0xa9,0xdc,0x20,0xef,0xff,0xa9, + 0x8d,0x20,0xef,0xff,0xa0,0x01,0x88,0x30, + 0xf6,0xad,0x11,0xd0,0x10,0xfb,0xad,0x10, + 0xd0,0x99,0x00,0x02,0x20,0xef,0xff,0xc9, + 0x8d,0xd0,0xd4,0xa0,0xff,0xa9,0x00,0xaa, + 0x0a,0x85,0x2b,0xc8,0xb9,0x00,0x02,0xc9, + 0x8d,0xf0,0xd4,0xc9,0xae,0x90,0xf4,0xf0, + 0xf0,0xc9,0xba,0xf0,0xeb,0xc9,0xd2,0xf0, + 0x3b,0x86,0x28,0x86,0x29,0x84,0x2a,0xb9, + 0x00,0x02,0x49,0xb0,0xc9,0x0a,0x90,0x06, + 0x69,0x88,0xc9,0xfa,0x90,0x11,0x0a,0x0a, + 0x0a,0x0a,0xa2,0x04,0x0a,0x26,0x28,0x26, + 0x29,0xca,0xd0,0xf8,0xc8,0xd0,0xe0,0xc4, + 0x2a,0xf0,0x97,0x24,0x2b,0x50,0x10,0xa5, + 0x28,0x81,0x26,0xe6,0x26,0xd0,0xb5,0xe6, + 0x27,0x4c,0x44,0xff,0x6c,0x24,0x00,0x30, + 0x2b,0xa2,0x02,0xb5,0x27,0x95,0x25,0x95, + 0x23,0xca,0xd0,0xf7,0xd0,0x14,0xa9,0x8d, + 0x20,0xef,0xff,0xa5,0x25,0x20,0xdc,0xff, + 0xa5,0x24,0x20,0xdc,0xff,0xa9,0xba,0x20, + 0xef,0xff,0xa9,0xa0,0x20,0xef,0xff,0xa1, + 0x24,0x20,0xdc,0xff,0x86,0x2b,0xa5,0x24, + 0xc5,0x28,0xa5,0x25,0xe5,0x29,0xb0,0xc1, + 0xe6,0x24,0xd0,0x02,0xe6,0x25,0xa5,0x24, + 0x29,0x07,0x10,0xc8,0x48,0x4a,0x4a,0x4a, + 0x4a,0x20,0xe5,0xff,0x68,0x29,0x0f,0x09, + 0xb0,0xc9,0xba,0x90,0x02,0x69,0x06,0x2c, + 0x12,0xd0,0x30,0xfb,0x8d,0x12,0xd0,0x60, + 0x00,0x00,0x00,0x0f,0x00,0xff,0x00,0x00 + ]; + + return { + start: function bios_start() { + return 0xff; + }, + end: function bios_end() { + return 0xff; + }, + read: function bios_read(page, off) { + return rom[off]; + }, + write: function bios_write() {}, + + getState: function bios_getState() { return {}; }, + setState: function bios_setState() {} + }; +} diff --git a/js/roms/enhanced-basic.js b/js/roms/enhanced-basic.js new file mode 100644 index 0000000..17aad5a --- /dev/null +++ b/js/roms/enhanced-basic.js @@ -0,0 +1,1292 @@ +export default function EnhancedBasic() { + var rom = [ + 0xA0, 0x08, 0xB9, 0xBD, 0x78, 0x99, 0xC8, 0x02, + 0x88, 0x10, 0xF7, 0xA2, 0xFF, 0x86, 0x88, 0x9A, + 0xA9, 0x4C, 0x85, 0xA1, 0xA2, 0x18, 0xBD, 0xC5, + 0x78, 0x95, 0xBB, 0xCA, 0xD0, 0xF8, 0xA2, 0x12, + 0xBD, 0xDE, 0x78, 0x95, 0x00, 0xCA, 0x10, 0xF8, + 0xA9, 0x00, 0x85, 0xD8, 0x85, 0xDB, 0x85, 0xB2, + 0x85, 0x67, 0xA9, 0x08, 0x85, 0x64, 0xA9, 0x03, + 0x85, 0xA0, 0xA2, 0x68, 0x86, 0x65, 0x20, 0x61, + 0x60, 0xA9, 0xF1, 0xA0, 0x78, 0x20, 0x9C, 0x60, + 0x20, 0x45, 0x5A, 0x86, 0xC3, 0x84, 0xC4, 0x20, + 0xBC, 0x00, 0xD0, 0x1F, 0xA0, 0x00, 0xE6, 0x11, + 0xD0, 0x08, 0xE6, 0x12, 0xA5, 0x12, 0xC9, 0x58, + 0xF0, 0x1D, 0xA9, 0x55, 0x91, 0x11, 0xD1, 0x11, + 0xD0, 0x15, 0x0A, 0x91, 0x11, 0xD1, 0x11, 0xF0, + 0xE5, 0xD0, 0x0C, 0x20, 0x6A, 0x71, 0xA5, 0xAC, + 0xC9, 0x98, 0xB0, 0xA2, 0x20, 0xB5, 0x6C, 0xA5, + 0x11, 0xA4, 0x12, 0xC0, 0x04, 0x90, 0x97, 0x85, + 0x85, 0x84, 0x86, 0x85, 0x81, 0x84, 0x82, 0xA0, + 0x00, 0xA2, 0x03, 0x84, 0x79, 0x86, 0x7A, 0x98, + 0x91, 0x79, 0xE6, 0x79, 0x20, 0x61, 0x60, 0x20, + 0x57, 0x5B, 0xA5, 0x85, 0x38, 0xE5, 0x79, 0xAA, + 0xA5, 0x86, 0xE5, 0x7A, 0x20, 0x45, 0x72, 0xA9, + 0xFF, 0xA0, 0x78, 0x20, 0x9C, 0x60, 0xA9, 0x59, + 0xA0, 0x59, 0x85, 0x01, 0x84, 0x02, 0x6C, 0x01, + 0x00, 0x20, 0x0C, 0x59, 0x85, 0x7F, 0x84, 0x80, + 0x38, 0xA5, 0xA6, 0xE5, 0xAA, 0x85, 0x71, 0xA8, + 0xA5, 0xA7, 0xE5, 0xAB, 0xAA, 0xE8, 0x98, 0xF0, + 0x23, 0xA5, 0xA6, 0x38, 0xE5, 0x71, 0x85, 0xA6, + 0xB0, 0x03, 0xC6, 0xA7, 0x38, 0xA5, 0xA4, 0xE5, + 0x71, 0x85, 0xA4, 0xB0, 0x08, 0xC6, 0xA5, 0x90, + 0x04, 0xB1, 0xA6, 0x91, 0xA4, 0x88, 0xD0, 0xF9, + 0xB1, 0xA6, 0x91, 0xA4, 0xC6, 0xA7, 0xC6, 0xA5, + 0xCA, 0xD0, 0xF2, 0x60, 0x85, 0x78, 0xBA, 0xE4, + 0x78, 0x90, 0x2E, 0x60, 0xC4, 0x82, 0x90, 0x28, + 0xD0, 0x04, 0xC5, 0x81, 0x90, 0x22, 0x48, 0xA2, + 0x08, 0x98, 0x48, 0xB5, 0xA3, 0xCA, 0x10, 0xFA, + 0x20, 0xAE, 0x69, 0xA2, 0xF8, 0x68, 0x95, 0xAC, + 0xE8, 0x30, 0xFA, 0x68, 0xA8, 0x68, 0xC4, 0x82, + 0x90, 0x06, 0xD0, 0x05, 0xC5, 0x81, 0xB0, 0x01, + 0x60, 0xA2, 0x0C, 0x20, 0x61, 0x60, 0xBD, 0xFD, + 0x7D, 0xBC, 0xFE, 0x7D, 0x20, 0x9C, 0x60, 0x20, + 0x90, 0x5B, 0xA9, 0x38, 0xA0, 0x7F, 0x20, 0x9C, + 0x60, 0xA4, 0x88, 0xC8, 0xF0, 0x03, 0x20, 0x3A, + 0x72, 0xA9, 0x00, 0x85, 0xDB, 0x85, 0xD8, 0xA9, + 0x48, 0xA0, 0x7F, 0x20, 0x9C, 0x60, 0x20, 0x52, + 0x5A, 0x86, 0xC3, 0x84, 0xC4, 0x20, 0xBC, 0x00, + 0xF0, 0xF4, 0xA2, 0xFF, 0x86, 0x88, 0x90, 0x06, + 0x20, 0x83, 0x5A, 0x4C, 0xFA, 0x5C, 0x20, 0x19, + 0x5F, 0x20, 0x83, 0x5A, 0x84, 0x5D, 0x20, 0x29, + 0x5B, 0x90, 0x44, 0xA0, 0x01, 0xB1, 0xAA, 0x85, + 0x72, 0xA5, 0x7B, 0x85, 0x71, 0xA5, 0xAB, 0x85, + 0x74, 0xA5, 0xAA, 0x88, 0xF1, 0xAA, 0x18, 0x65, + 0x7B, 0x85, 0x7B, 0x85, 0x73, 0xA5, 0x7C, 0x69, + 0xFF, 0x85, 0x7C, 0xE5, 0xAB, 0xAA, 0x38, 0xA5, + 0xAA, 0xE5, 0x7B, 0xA8, 0xB0, 0x03, 0xE8, 0xC6, + 0x74, 0x18, 0x65, 0x71, 0x90, 0x03, 0xC6, 0x72, + 0x18, 0xB1, 0x71, 0x91, 0x73, 0xC8, 0xD0, 0xF9, + 0xE6, 0x72, 0xE6, 0x74, 0xCA, 0xD0, 0xF2, 0xAD, + 0x80, 0x02, 0xF0, 0x3F, 0xA5, 0x85, 0xA4, 0x86, + 0x85, 0x81, 0x84, 0x82, 0xA5, 0x7B, 0x85, 0xA6, + 0xA4, 0x7C, 0x84, 0xA7, 0x65, 0x5D, 0x90, 0x01, + 0xC8, 0x85, 0xA4, 0x84, 0xA5, 0x20, 0xC1, 0x58, + 0xA5, 0x7F, 0xA4, 0x80, 0x85, 0x7B, 0x84, 0x7C, + 0xA4, 0x5D, 0x88, 0xB9, 0x7C, 0x02, 0x91, 0xAA, + 0x88, 0xC0, 0x03, 0xD0, 0xF6, 0xA5, 0x12, 0x91, + 0xAA, 0x88, 0xA5, 0x11, 0x91, 0xAA, 0x88, 0xA9, + 0xFF, 0x91, 0xAA, 0x20, 0x6C, 0x5B, 0xA5, 0x79, + 0xA4, 0x7A, 0x85, 0x71, 0x84, 0x72, 0x18, 0xA0, + 0x01, 0xB1, 0x71, 0xD0, 0x03, 0x4C, 0x66, 0x59, + 0xA0, 0x04, 0xC8, 0xB1, 0x71, 0xD0, 0xFB, 0xC8, + 0x98, 0x65, 0x71, 0xAA, 0xA0, 0x00, 0x91, 0x71, + 0xA5, 0x72, 0x69, 0x00, 0xC8, 0x91, 0x71, 0x86, + 0x71, 0x85, 0x72, 0x90, 0xDA, 0x20, 0xB4, 0x60, + 0x20, 0xB1, 0x60, 0xD0, 0x05, 0x20, 0xB6, 0x60, + 0xCA, 0x2C, 0xA2, 0x00, 0x20, 0xB1, 0x78, 0x90, + 0xFB, 0xF0, 0xF9, 0xC9, 0x07, 0xF0, 0x10, 0xC9, + 0x0D, 0xF0, 0x19, 0xE0, 0x00, 0xD0, 0x04, 0xC9, + 0x21, 0x90, 0xE9, 0xC9, 0x08, 0xF0, 0xDE, 0xE0, + 0x47, 0xB0, 0x0C, 0x9D, 0x80, 0x02, 0xE8, 0x20, + 0xB6, 0x60, 0xD0, 0xD8, 0x4C, 0x58, 0x60, 0xA9, + 0x07, 0xD0, 0xF4, 0xA0, 0xFF, 0x38, 0xA5, 0xC3, + 0xE9, 0x80, 0xAA, 0x86, 0x60, 0xBD, 0x80, 0x02, + 0xF0, 0x51, 0xC9, 0x5F, 0xB0, 0x4D, 0xC9, 0x3C, + 0xB0, 0x0E, 0xC9, 0x30, 0xB0, 0x45, 0x85, 0x5C, + 0xC9, 0x22, 0xF0, 0x61, 0xC9, 0x2A, 0x90, 0x3B, + 0x24, 0x60, 0x70, 0x37, 0x86, 0x78, 0x84, 0xBA, + 0xA0, 0x8D, 0x84, 0x73, 0xA0, 0x7A, 0x84, 0x74, + 0xA0, 0x00, 0xD1, 0x73, 0xF0, 0x05, 0x90, 0x21, + 0xC8, 0xD0, 0xF7, 0x98, 0x0A, 0xAA, 0xBD, 0xAB, + 0x7A, 0x85, 0x73, 0xBD, 0xAC, 0x7A, 0x85, 0x74, + 0xA0, 0xFF, 0xA6, 0x78, 0xC8, 0xB1, 0x73, 0x30, + 0x08, 0xE8, 0xDD, 0x80, 0x02, 0xF0, 0xF5, 0xD0, + 0x2B, 0xA4, 0xBA, 0xE8, 0xC8, 0x99, 0x80, 0x02, + 0xC9, 0x00, 0xF0, 0x32, 0xE9, 0x3A, 0xF0, 0x04, + 0xC9, 0x49, 0xD0, 0x02, 0x85, 0x60, 0x49, 0x57, + 0xD0, 0x93, 0x85, 0x5C, 0xBD, 0x80, 0x02, 0xF0, + 0xE2, 0xC5, 0x5C, 0xF0, 0xDE, 0xC8, 0x99, 0x80, + 0x02, 0xE8, 0xD0, 0xF0, 0xA6, 0x78, 0xB1, 0x73, + 0x08, 0xC8, 0x28, 0x10, 0xF9, 0xB1, 0x73, 0xD0, + 0xBE, 0xBD, 0x80, 0x02, 0x10, 0xC3, 0xC8, 0xC8, + 0x99, 0x80, 0x02, 0xC8, 0xC8, 0xC8, 0xC6, 0xC3, + 0x60, 0xA5, 0x79, 0xA6, 0x7A, 0xA0, 0x01, 0x85, + 0xAA, 0x86, 0xAB, 0xB1, 0xAA, 0xF0, 0x1C, 0xC8, + 0xC8, 0xB1, 0xAA, 0x88, 0xC5, 0x12, 0xF0, 0x0B, + 0xB0, 0x11, 0x88, 0xB1, 0xAA, 0xAA, 0x88, 0xB1, + 0xAA, 0x90, 0xE2, 0xB1, 0xAA, 0xC5, 0x11, 0x90, + 0xF1, 0xF0, 0x01, 0x18, 0x60, 0xD0, 0xFD, 0xA9, + 0x00, 0xA8, 0x91, 0x79, 0xC8, 0x91, 0x79, 0x18, + 0xA5, 0x79, 0x69, 0x02, 0x85, 0x7B, 0xA5, 0x7A, + 0x69, 0x00, 0x85, 0x7C, 0x18, 0xA5, 0x79, 0x69, + 0xFF, 0x85, 0xC3, 0xA5, 0x7A, 0x69, 0xFF, 0x85, + 0xC4, 0xA5, 0x85, 0xA4, 0x86, 0x85, 0x81, 0x84, + 0x82, 0xA5, 0x7B, 0xA4, 0x7C, 0x85, 0x7D, 0x84, + 0x7E, 0x85, 0x7F, 0x84, 0x80, 0x20, 0x4D, 0x5D, + 0xA2, 0x68, 0x86, 0x65, 0x68, 0xAA, 0x68, 0x8E, + 0xFE, 0x01, 0x8D, 0xFF, 0x01, 0xA2, 0xFD, 0x9A, + 0xA9, 0x00, 0x85, 0x8C, 0x85, 0x61, 0x60, 0xF0, + 0xD0, 0x60, 0x90, 0x06, 0xF0, 0x04, 0xC9, 0xB6, + 0xD0, 0xF4, 0x20, 0x19, 0x5F, 0x20, 0x29, 0x5B, + 0x20, 0xC2, 0x00, 0xF0, 0x0C, 0xC9, 0xB6, 0xD0, + 0x93, 0x20, 0xBC, 0x00, 0x20, 0x19, 0x5F, 0xD0, + 0x8B, 0xA5, 0x11, 0x05, 0x12, 0xD0, 0x06, 0xA9, + 0xFF, 0x85, 0x11, 0x85, 0x12, 0xA0, 0x01, 0x84, + 0x60, 0x20, 0x61, 0x60, 0xB1, 0xAA, 0xF0, 0x3E, + 0x20, 0x1D, 0x5D, 0xC8, 0xB1, 0xAA, 0xAA, 0xC8, + 0xB1, 0xAA, 0xC5, 0x12, 0xD0, 0x04, 0xE4, 0x11, + 0xF0, 0x02, 0xB0, 0x2A, 0x84, 0x97, 0x20, 0x45, + 0x72, 0xA9, 0x20, 0xA4, 0x97, 0x29, 0x7F, 0x20, + 0xB6, 0x60, 0xC9, 0x22, 0xD0, 0x06, 0xA5, 0x60, + 0x49, 0xFF, 0x85, 0x60, 0xC8, 0xB1, 0xAA, 0xD0, + 0x0E, 0xA8, 0xB1, 0xAA, 0xAA, 0xC8, 0xB1, 0xAA, + 0x86, 0xAA, 0x85, 0xAB, 0xD0, 0xB7, 0x60, 0x10, + 0xDE, 0x24, 0x60, 0x30, 0xDA, 0xA2, 0x7C, 0x0A, + 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, 0x69, 0x90, + 0x01, 0xE8, 0x85, 0x73, 0x86, 0x74, 0x84, 0x97, + 0xA0, 0x00, 0xB1, 0x73, 0xAA, 0xC8, 0xB1, 0x73, + 0xCA, 0xF0, 0xB8, 0x20, 0xB6, 0x60, 0xC8, 0xB1, + 0x73, 0x48, 0xC8, 0xB1, 0x73, 0xA0, 0x00, 0x85, + 0x74, 0x68, 0x85, 0x73, 0xB1, 0x73, 0xCA, 0xF0, + 0xA2, 0x20, 0xB6, 0x60, 0xC8, 0xD0, 0xF5, 0xA9, + 0x80, 0x85, 0x61, 0x20, 0x81, 0x5F, 0x68, 0x68, + 0xA9, 0x10, 0x20, 0x04, 0x59, 0x20, 0xA6, 0x5E, + 0x18, 0x98, 0x65, 0xC3, 0x48, 0xA5, 0xC4, 0x69, + 0x00, 0x48, 0xA5, 0x88, 0x48, 0xA5, 0x87, 0x48, + 0xA9, 0xAC, 0x20, 0xEA, 0x63, 0x20, 0x94, 0x62, + 0x20, 0x91, 0x62, 0xA5, 0xB0, 0x09, 0x7F, 0x25, + 0xAD, 0x85, 0xAD, 0xA9, 0x9E, 0xA0, 0x5C, 0x85, + 0x71, 0x84, 0x72, 0x4C, 0x46, 0x63, 0xA9, 0xA3, + 0xA0, 0x79, 0x20, 0x3E, 0x70, 0x20, 0xC2, 0x00, + 0xC9, 0xB1, 0xD0, 0x06, 0x20, 0xBC, 0x00, 0x20, + 0x91, 0x62, 0x20, 0xAD, 0x70, 0x85, 0xB0, 0x20, + 0x3B, 0x63, 0xA5, 0x98, 0x48, 0xA5, 0x97, 0x48, + 0xA9, 0x81, 0x48, 0x20, 0x1D, 0x5D, 0xA5, 0xC3, + 0xA4, 0xC4, 0xA6, 0x88, 0xE8, 0xF0, 0x04, 0x85, + 0x8B, 0x84, 0x8C, 0xA0, 0x00, 0xB1, 0xC3, 0xF0, + 0x07, 0xC9, 0x3A, 0xF0, 0x1D, 0x4C, 0xF3, 0x63, + 0xA0, 0x02, 0xB1, 0xC3, 0x18, 0xF0, 0x58, 0xC8, + 0xB1, 0xC3, 0x85, 0x87, 0xC8, 0xB1, 0xC3, 0x85, + 0x88, 0x98, 0x65, 0xC3, 0x85, 0xC3, 0x90, 0x02, + 0xE6, 0xC4, 0x20, 0xBC, 0x00, 0x20, 0x03, 0x5D, + 0x4C, 0xC3, 0x5C, 0xF0, 0x56, 0x49, 0x80, 0x10, + 0x03, 0x4C, 0x81, 0x5F, 0xC9, 0x2B, 0xB0, 0xCD, + 0x0A, 0xA8, 0xB9, 0xCB, 0x79, 0x48, 0xB9, 0xCA, + 0x79, 0x48, 0x4C, 0xBC, 0x00, 0x6C, 0xCB, 0x02, + 0xC9, 0x03, 0xB0, 0x01, 0x18, 0xD0, 0x67, 0xA5, + 0xC4, 0x49, 0x02, 0xF0, 0x10, 0x49, 0x02, 0xA4, + 0xC3, 0x84, 0x8B, 0x85, 0x8C, 0xA5, 0x87, 0xA4, + 0x88, 0x85, 0x89, 0x84, 0x8A, 0x68, 0x68, 0x90, + 0x07, 0xA9, 0x31, 0xA0, 0x7F, 0x4C, 0x4E, 0x59, + 0x4C, 0x59, 0x59, 0xD0, 0x0F, 0x38, 0xA5, 0x79, + 0xE9, 0x01, 0xA4, 0x7A, 0xB0, 0x01, 0x88, 0x85, + 0x8F, 0x84, 0x90, 0x60, 0x20, 0x19, 0x5F, 0x20, + 0xA9, 0x5E, 0xA5, 0x88, 0xC5, 0x12, 0xB0, 0x0B, + 0x98, 0x38, 0x65, 0xC3, 0xA6, 0xC4, 0x90, 0x07, + 0xE8, 0xB0, 0x04, 0xA5, 0x79, 0xA6, 0x7A, 0x20, + 0x2D, 0x5B, 0xB0, 0x03, 0x4C, 0x7B, 0x5E, 0xA5, + 0xAA, 0xE9, 0x01, 0xA4, 0xAB, 0xB0, 0xD0, 0x90, + 0xCD, 0x20, 0x4A, 0x6C, 0x86, 0x0D, 0x60, 0xD0, + 0xFD, 0xA4, 0x8C, 0xD0, 0x05, 0xA2, 0x1E, 0x4C, + 0x3B, 0x59, 0xA9, 0x93, 0x20, 0xD0, 0x76, 0xA9, + 0x93, 0x20, 0xD3, 0x76, 0x84, 0xC4, 0xA5, 0x8B, + 0x85, 0xC3, 0xA5, 0x89, 0xA4, 0x8A, 0x85, 0x87, + 0x84, 0x88, 0x60, 0xD0, 0x03, 0x4C, 0x6C, 0x5B, + 0x20, 0x79, 0x5B, 0xF0, 0x2E, 0xA9, 0x05, 0x20, + 0x04, 0x59, 0xA5, 0xC4, 0x48, 0xA5, 0xC3, 0x48, + 0xA5, 0x88, 0x48, 0xA5, 0x87, 0x48, 0xA9, 0x9D, + 0x48, 0x20, 0xC2, 0x00, 0x4C, 0xC3, 0x5C, 0xA9, + 0x05, 0x20, 0x04, 0x59, 0xA5, 0xC4, 0x48, 0xA5, + 0xC3, 0x48, 0xA5, 0x88, 0x48, 0xA5, 0x87, 0x48, + 0xA9, 0x8D, 0x48, 0x20, 0xC2, 0x00, 0x20, 0xF4, + 0x5D, 0x4C, 0xC3, 0x5C, 0x20, 0x19, 0x5F, 0x20, + 0xA9, 0x5E, 0xA5, 0x88, 0xC5, 0x12, 0xB0, 0x0B, + 0x98, 0x38, 0x65, 0xC3, 0xA6, 0xC4, 0x90, 0x07, + 0xE8, 0xB0, 0x04, 0xA5, 0x79, 0xA6, 0x7A, 0x20, + 0x2D, 0x5B, 0x90, 0x67, 0xA5, 0xAA, 0xE9, 0x01, + 0x85, 0xC3, 0xA5, 0xAB, 0xE9, 0x00, 0x85, 0xC4, + 0x60, 0xA2, 0x22, 0x4C, 0x3B, 0x59, 0xA8, 0xBA, + 0xBD, 0x03, 0x01, 0xC9, 0x9D, 0xD0, 0xF2, 0xE8, + 0xE8, 0x9A, 0x98, 0xF0, 0x20, 0xC9, 0x3A, 0xF0, + 0x1C, 0xE9, 0xB2, 0xAA, 0xF0, 0x04, 0xCA, 0xD0, + 0x62, 0xCA, 0x86, 0x98, 0x20, 0xBC, 0x00, 0x20, + 0xA5, 0x62, 0xA5, 0xAC, 0xF0, 0x02, 0xA9, 0xFF, + 0xBA, 0x45, 0x98, 0xD0, 0x1A, 0xBD, 0x02, 0x01, + 0x85, 0x87, 0xBD, 0x03, 0x01, 0x85, 0x88, 0xBD, + 0x04, 0x01, 0x85, 0xC3, 0xBD, 0x05, 0x01, 0x85, + 0xC4, 0x20, 0xC2, 0x00, 0x4C, 0xC3, 0x5C, 0xE8, + 0xE8, 0xE8, 0xE8, 0xE8, 0x9A, 0x4C, 0x95, 0x5E, + 0xA2, 0x04, 0x2C, 0xA2, 0x0E, 0x4C, 0x3B, 0x59, + 0xD0, 0x9E, 0x68, 0x68, 0x68, 0xC9, 0x8D, 0xD0, + 0xEF, 0x68, 0x85, 0x87, 0x68, 0x85, 0x88, 0x68, + 0x85, 0xC3, 0x68, 0x85, 0xC4, 0x20, 0xA6, 0x5E, + 0x98, 0x18, 0x65, 0xC3, 0x85, 0xC3, 0x90, 0x02, + 0xE6, 0xC4, 0x60, 0x4C, 0xF3, 0x63, 0xA2, 0x3A, + 0x2C, 0xA2, 0x00, 0x86, 0x5B, 0xA0, 0x00, 0x84, + 0x5C, 0xA5, 0x5C, 0xA6, 0x5B, 0x85, 0x5B, 0x86, + 0x5C, 0xB1, 0xC3, 0xF0, 0xE5, 0xC5, 0x5C, 0xF0, + 0xE1, 0xC8, 0xC9, 0x22, 0xF0, 0xEB, 0xD0, 0xF1, + 0x20, 0xA5, 0x62, 0x20, 0xC2, 0x00, 0xC9, 0x89, + 0xF0, 0x05, 0xA9, 0xAF, 0x20, 0xEA, 0x63, 0xA5, + 0xAC, 0xD0, 0x05, 0x20, 0xA9, 0x5E, 0xF0, 0xB8, + 0x20, 0xC2, 0x00, 0xB0, 0x03, 0x4C, 0xF4, 0x5D, + 0x4C, 0x03, 0x5D, 0xC9, 0xA9, 0xD0, 0x03, 0x4C, + 0xF5, 0x76, 0xC9, 0xAA, 0xD0, 0x03, 0x4C, 0xF9, + 0x76, 0x20, 0x4A, 0x6C, 0x48, 0xC9, 0x8D, 0xF0, + 0x04, 0xC9, 0x89, 0xD0, 0x9E, 0xC6, 0xAF, 0xD0, + 0x04, 0x68, 0x4C, 0x05, 0x5D, 0x20, 0xBC, 0x00, + 0x20, 0x19, 0x5F, 0xC9, 0x2C, 0xF0, 0xEE, 0x68, + 0x60, 0xA2, 0x00, 0x86, 0x11, 0x86, 0x12, 0xB0, + 0xF7, 0xE9, 0x2F, 0x85, 0x5B, 0xA5, 0x12, 0x85, + 0x71, 0xC9, 0x19, 0xB0, 0xD4, 0xA5, 0x11, 0x0A, + 0x26, 0x71, 0x0A, 0x26, 0x71, 0x65, 0x11, 0x85, + 0x11, 0xA5, 0x71, 0x65, 0x12, 0x85, 0x12, 0x06, + 0x11, 0x26, 0x12, 0xA5, 0x11, 0x65, 0x5B, 0x85, + 0x11, 0x90, 0x02, 0xE6, 0x12, 0x20, 0xBC, 0x00, + 0x4C, 0x1F, 0x5F, 0xA9, 0xA7, 0x2C, 0xA9, 0xA3, + 0x48, 0x20, 0x76, 0x65, 0xA6, 0x5F, 0x30, 0x1E, + 0x85, 0x97, 0x84, 0x98, 0x20, 0x3E, 0x70, 0x68, + 0x48, 0xA0, 0x79, 0x20, 0x7C, 0x6D, 0x20, 0x67, + 0x70, 0x20, 0xC2, 0x00, 0xC9, 0x2C, 0xD0, 0x9F, + 0x20, 0xBC, 0x00, 0x4C, 0x59, 0x5F, 0x4C, 0xA0, + 0x62, 0x20, 0x76, 0x65, 0x85, 0x97, 0x84, 0x98, + 0xA9, 0xC0, 0x20, 0xEA, 0x63, 0xA5, 0x5F, 0x48, + 0x20, 0xA5, 0x62, 0x68, 0x2A, 0x20, 0x97, 0x62, + 0xD0, 0x03, 0x4C, 0x67, 0x70, 0xA0, 0x02, 0xB1, + 0xAE, 0xC5, 0x82, 0x90, 0x17, 0xD0, 0x07, 0x88, + 0xB1, 0xAE, 0xC5, 0x81, 0x90, 0x0E, 0xA4, 0xAF, + 0xC4, 0x7C, 0x90, 0x08, 0xD0, 0x0D, 0xA5, 0xAE, + 0xC5, 0x7B, 0xB0, 0x07, 0xA5, 0xAE, 0xA4, 0xAF, + 0x4C, 0xD9, 0x5F, 0xA0, 0x00, 0xB1, 0xAE, 0x20, + 0x01, 0x69, 0xA5, 0x9E, 0xA4, 0x9F, 0x85, 0xB8, + 0x84, 0xB9, 0x20, 0xE0, 0x6A, 0xA9, 0xAC, 0xA0, + 0x00, 0x85, 0x9E, 0x84, 0x9F, 0x20, 0x42, 0x6B, + 0xA0, 0x00, 0xB1, 0x9E, 0x91, 0x97, 0xC8, 0xB1, + 0x9E, 0x91, 0x97, 0xC8, 0xB1, 0x9E, 0x91, 0x97, + 0x60, 0x20, 0x76, 0x65, 0x85, 0x97, 0x84, 0x98, + 0x20, 0xBC, 0x76, 0xA6, 0x5F, 0x30, 0x07, 0xA8, + 0x20, 0x32, 0x68, 0x4C, 0x67, 0x70, 0x48, 0xA9, + 0x01, 0xB0, 0x01, 0x68, 0x20, 0x09, 0x69, 0xF0, + 0x05, 0x68, 0xA0, 0x00, 0x91, 0xAD, 0x20, 0x54, + 0x69, 0x4C, 0x9D, 0x5F, 0x20, 0x9F, 0x60, 0x20, + 0xC2, 0x00, 0xF0, 0x3D, 0xF0, 0xCA, 0xC9, 0xAB, + 0xF0, 0x51, 0xC9, 0xAE, 0xF0, 0x4D, 0xC9, 0x2C, + 0xF0, 0x33, 0xC9, 0x3B, 0xF0, 0x60, 0x20, 0xA5, + 0x62, 0x24, 0x5F, 0x30, 0xDF, 0x20, 0x55, 0x72, + 0x20, 0x13, 0x69, 0xA0, 0x00, 0xA5, 0x0F, 0xF0, + 0x0A, 0x38, 0xE5, 0x0E, 0xF1, 0xAE, 0xB0, 0x03, + 0x20, 0x61, 0x60, 0x20, 0x9F, 0x60, 0xF0, 0xC7, + 0xA9, 0x00, 0x9D, 0x80, 0x02, 0xA2, 0x7F, 0xA0, + 0x02, 0xA9, 0x0D, 0xD0, 0x51, 0xA5, 0x0E, 0xC5, + 0x10, 0x90, 0x05, 0x20, 0x61, 0x60, 0xD0, 0x26, + 0x38, 0xE5, 0x64, 0xB0, 0xFC, 0x49, 0xFF, 0x69, + 0x01, 0xD0, 0x14, 0x48, 0x20, 0x47, 0x6C, 0xC9, + 0x29, 0xD0, 0x7B, 0x68, 0xC9, 0xAB, 0xD0, 0x08, + 0x8A, 0xE5, 0x0E, 0x90, 0x09, 0xF0, 0x07, 0xAA, + 0x20, 0xB1, 0x60, 0xCA, 0xD0, 0xFA, 0x20, 0xBC, + 0x00, 0x4C, 0x24, 0x60, 0x20, 0x13, 0x69, 0x20, + 0x0D, 0x6B, 0xA0, 0x00, 0xAA, 0xF0, 0x4A, 0xB1, + 0x71, 0x20, 0xB6, 0x60, 0xC8, 0xCA, 0xD0, 0xF7, + 0x60, 0xA9, 0x20, 0x2C, 0xA9, 0x3F, 0xC9, 0x20, + 0x90, 0x1A, 0x48, 0xA5, 0x0F, 0xD0, 0x0B, 0x38, + 0xA5, 0x0E, 0xE5, 0x64, 0xD0, 0x0B, 0x85, 0x0E, + 0xF0, 0x07, 0xC5, 0x0E, 0xD0, 0x03, 0x20, 0x61, + 0x60, 0xE6, 0x0E, 0x68, 0x20, 0xB4, 0x78, 0xC9, + 0x0D, 0xD0, 0x14, 0x86, 0x78, 0xA6, 0x0D, 0xF0, + 0x0A, 0xA9, 0x00, 0x20, 0xB6, 0x60, 0xCA, 0xD0, + 0xFA, 0xA9, 0x0D, 0x86, 0x0E, 0xA6, 0x78, 0x29, + 0xFF, 0x60, 0xA5, 0x62, 0x10, 0x0B, 0xA5, 0x8D, + 0xA4, 0x8E, 0x85, 0x87, 0x84, 0x88, 0x4C, 0xF3, + 0x63, 0xA9, 0x60, 0xA0, 0x7F, 0x20, 0x9C, 0x60, + 0xA5, 0x8B, 0xA4, 0x8C, 0x85, 0xC3, 0x84, 0xC4, + 0x60, 0xC9, 0x22, 0xD0, 0x0B, 0x20, 0xA9, 0x63, + 0xA9, 0x3B, 0x20, 0xEA, 0x63, 0x20, 0x9F, 0x60, + 0x20, 0x36, 0x68, 0x20, 0x45, 0x5A, 0xAD, 0x80, + 0x02, 0xD0, 0x09, 0x18, 0x4C, 0x35, 0x5D, 0xA6, + 0x8F, 0xA4, 0x90, 0xA9, 0x98, 0x85, 0x62, 0x86, + 0x91, 0x84, 0x92, 0x20, 0x76, 0x65, 0x85, 0x97, + 0x84, 0x98, 0xA5, 0xC3, 0xA4, 0xC4, 0x85, 0x11, + 0x84, 0x12, 0xA6, 0x91, 0xA4, 0x92, 0x86, 0xC3, + 0x84, 0xC4, 0x20, 0xC2, 0x00, 0xD0, 0x0E, 0x24, + 0x62, 0x30, 0x62, 0x20, 0xB4, 0x60, 0x20, 0x45, + 0x5A, 0x86, 0xC3, 0x84, 0xC4, 0x20, 0xBC, 0x00, + 0x24, 0x5F, 0x10, 0x24, 0x85, 0x5B, 0xC9, 0x22, + 0xF0, 0x07, 0xA9, 0x3A, 0x85, 0x5B, 0xA9, 0x2C, + 0x18, 0x85, 0x5C, 0xA5, 0xC3, 0xA4, 0xC4, 0x69, + 0x00, 0x90, 0x01, 0xC8, 0x20, 0x19, 0x69, 0x20, + 0x8D, 0x6C, 0x20, 0x9D, 0x5F, 0x4C, 0x96, 0x61, + 0x20, 0x6A, 0x71, 0x20, 0x67, 0x70, 0x20, 0xC2, + 0x00, 0xF0, 0x07, 0xC9, 0x2C, 0xF0, 0x03, 0x4C, + 0xF2, 0x60, 0xA5, 0xC3, 0xA4, 0xC4, 0x85, 0x91, + 0x84, 0x92, 0xA5, 0x11, 0xA4, 0x12, 0x85, 0xC3, + 0x84, 0xC4, 0x20, 0xC2, 0x00, 0xF0, 0x2B, 0x20, + 0xE8, 0x63, 0x4C, 0x3B, 0x61, 0x20, 0xA6, 0x5E, + 0xC8, 0xAA, 0xD0, 0x12, 0xA2, 0x06, 0xC8, 0xB1, + 0xC3, 0xF0, 0x72, 0xC8, 0xB1, 0xC3, 0x85, 0x8D, + 0xC8, 0xB1, 0xC3, 0xC8, 0x85, 0x8E, 0xB1, 0xC3, + 0xAA, 0x20, 0x98, 0x5E, 0xE0, 0x83, 0xF0, 0x85, + 0xD0, 0xDB, 0xA5, 0x91, 0xA4, 0x92, 0xA6, 0x62, + 0x10, 0x03, 0x4C, 0x57, 0x5D, 0xA0, 0x00, 0xB1, + 0x91, 0xD0, 0x01, 0x60, 0xA9, 0x50, 0xA0, 0x7F, + 0x4C, 0x9C, 0x60, 0xBA, 0xE8, 0xE8, 0xE8, 0xE8, + 0xBD, 0x01, 0x01, 0xC9, 0x81, 0xD0, 0x21, 0xA5, + 0x98, 0xD0, 0x0A, 0xBD, 0x02, 0x01, 0x85, 0x97, + 0xBD, 0x03, 0x01, 0x85, 0x98, 0xDD, 0x03, 0x01, + 0xD0, 0x07, 0xA5, 0x97, 0xDD, 0x02, 0x01, 0xF0, + 0x07, 0x8A, 0x18, 0x69, 0x10, 0xAA, 0xD0, 0xD8, + 0x60, 0xD0, 0x04, 0xA0, 0x00, 0xF0, 0x03, 0x20, + 0x76, 0x65, 0x85, 0x97, 0x84, 0x98, 0x20, 0xFB, + 0x61, 0xF0, 0x04, 0xA2, 0x00, 0xF0, 0x63, 0x9A, + 0x8A, 0x38, 0xE9, 0xF7, 0x85, 0x73, 0x69, 0xFB, + 0xA0, 0x01, 0x20, 0x3E, 0x70, 0xBA, 0xBD, 0x08, + 0x01, 0x85, 0xB0, 0xA5, 0x97, 0xA4, 0x98, 0x20, + 0x7C, 0x6D, 0x20, 0x67, 0x70, 0xA0, 0x01, 0x20, + 0xDD, 0x70, 0xBA, 0xDD, 0x08, 0x01, 0xF0, 0x17, + 0xBD, 0x0D, 0x01, 0x85, 0x87, 0xBD, 0x0E, 0x01, + 0x85, 0x88, 0xBD, 0x10, 0x01, 0x85, 0xC3, 0xBD, + 0x0F, 0x01, 0x85, 0xC4, 0x4C, 0xC3, 0x5C, 0x8A, + 0x69, 0x0F, 0xAA, 0x9A, 0x20, 0xC2, 0x00, 0xC9, + 0x2C, 0xD0, 0xF1, 0x20, 0xBC, 0x00, 0x20, 0x2F, + 0x62, 0x20, 0xA5, 0x62, 0x18, 0x24, 0x38, 0x24, + 0x5F, 0x30, 0x03, 0xB0, 0x03, 0x60, 0xB0, 0xFD, + 0xA2, 0x18, 0x4C, 0x3B, 0x59, 0xA6, 0xC3, 0xD0, + 0x02, 0xC6, 0xC4, 0xC6, 0xC3, 0xA9, 0x00, 0x48, + 0xA9, 0x02, 0x20, 0x04, 0x59, 0x20, 0x80, 0x63, + 0xA9, 0x00, 0x85, 0x9B, 0x20, 0xC2, 0x00, 0x38, + 0xE9, 0xBF, 0x90, 0x17, 0xC9, 0x03, 0xB0, 0x13, + 0xC9, 0x01, 0x2A, 0x49, 0x01, 0x45, 0x9B, 0xC5, + 0x9B, 0x90, 0x65, 0x85, 0x9B, 0x20, 0xBC, 0x00, + 0x4C, 0xBF, 0x62, 0xA6, 0x9B, 0xD0, 0x2C, 0xB0, + 0x77, 0x69, 0x0A, 0x90, 0x73, 0x65, 0x5F, 0xD0, + 0x03, 0x4C, 0xA3, 0x6A, 0x69, 0xFF, 0x85, 0x71, + 0x0A, 0x65, 0x71, 0xA8, 0x68, 0xD9, 0x66, 0x7A, + 0xB0, 0x63, 0x20, 0x94, 0x62, 0x48, 0x20, 0x24, + 0x63, 0x68, 0xA4, 0x99, 0x10, 0x17, 0xAA, 0xF0, + 0x74, 0xD0, 0x5B, 0x46, 0x5F, 0x8A, 0x2A, 0xA6, + 0xC3, 0xD0, 0x02, 0xC6, 0xC4, 0xC6, 0xC3, 0xA0, + 0x24, 0x85, 0x9B, 0xD0, 0xD7, 0xD9, 0x66, 0x7A, + 0xB0, 0x44, 0x90, 0xD9, 0xB9, 0x68, 0x7A, 0x48, + 0xB9, 0x67, 0x7A, 0x48, 0x20, 0x3B, 0x63, 0xA5, + 0x9B, 0x48, 0xB9, 0x66, 0x7A, 0x4C, 0xAF, 0x62, + 0x4C, 0xF3, 0x63, 0x68, 0x85, 0x71, 0xE6, 0x71, + 0x68, 0x85, 0x72, 0xA5, 0xB0, 0x48, 0x20, 0x9D, + 0x70, 0xA5, 0xAF, 0x48, 0xA5, 0xAE, 0x48, 0xA5, + 0xAD, 0x48, 0xA5, 0xAC, 0x48, 0x6C, 0x71, 0x00, + 0xA0, 0xFF, 0x68, 0xF0, 0x20, 0xC9, 0x64, 0xF0, + 0x03, 0x20, 0x94, 0x62, 0x84, 0x99, 0x68, 0x4A, + 0x85, 0x63, 0x68, 0x85, 0xB3, 0x68, 0x85, 0xB4, + 0x68, 0x85, 0xB5, 0x68, 0x85, 0xB6, 0x68, 0x85, + 0xB7, 0x45, 0xB0, 0x85, 0xB8, 0xA5, 0xAC, 0x60, + 0xA9, 0x00, 0x85, 0x5F, 0x20, 0xBC, 0x00, 0xB0, + 0x03, 0x4C, 0x6A, 0x71, 0xC9, 0x24, 0xF0, 0xF9, + 0xC9, 0x25, 0xF0, 0xF5, 0x20, 0xE8, 0x65, 0xB0, + 0x66, 0xC9, 0x2E, 0xF0, 0xEC, 0xC9, 0xB6, 0xF0, + 0x57, 0xC9, 0xB5, 0xF0, 0xDF, 0xC9, 0x22, 0xD0, + 0x0F, 0xA5, 0xC3, 0xA4, 0xC4, 0x69, 0x00, 0x90, + 0x01, 0xC8, 0x20, 0x13, 0x69, 0x4C, 0x8D, 0x6C, + 0xC9, 0xB0, 0xD0, 0x13, 0xA0, 0x21, 0xD0, 0x3A, + 0x20, 0x70, 0x66, 0xA5, 0xAF, 0x49, 0xFF, 0xA8, + 0xA5, 0xAE, 0x49, 0xFF, 0x4C, 0x23, 0x68, 0xC9, + 0xAD, 0xD0, 0x03, 0x4C, 0x82, 0x68, 0xC9, 0xC2, + 0x90, 0x02, 0xB0, 0x32, 0x20, 0xE5, 0x63, 0x20, + 0xA5, 0x62, 0xA9, 0x29, 0x2C, 0xA9, 0x28, 0x2C, + 0xA9, 0x2C, 0xA0, 0x00, 0xD1, 0xC3, 0xD0, 0x03, + 0x4C, 0xBC, 0x00, 0xA2, 0x02, 0x4C, 0x3B, 0x59, + 0xA0, 0x1E, 0x68, 0x68, 0x4C, 0xFE, 0x62, 0x20, + 0x76, 0x65, 0x85, 0xAE, 0x84, 0xAF, 0xA6, 0x5F, + 0xD0, 0x03, 0x4C, 0x3E, 0x70, 0x60, 0x0A, 0x48, + 0xAA, 0x20, 0xBC, 0x00, 0xE0, 0xB3, 0x90, 0x56, + 0xE0, 0xB7, 0x90, 0x24, 0xE0, 0xC3, 0x90, 0x51, + 0x20, 0xE5, 0x63, 0x20, 0xA5, 0x62, 0x20, 0xE8, + 0x63, 0x20, 0x96, 0x62, 0x68, 0xAA, 0xA5, 0xAF, + 0x48, 0xA5, 0xAE, 0x48, 0x8A, 0x48, 0x20, 0x4A, + 0x6C, 0x68, 0xA8, 0x8A, 0x48, 0x4C, 0x73, 0x64, + 0x20, 0xE5, 0x63, 0x20, 0x91, 0x62, 0xA5, 0xAC, + 0xC9, 0x98, 0xB0, 0x1F, 0x20, 0x14, 0x71, 0xA2, + 0x02, 0xB5, 0xAD, 0x95, 0x11, 0xCA, 0x10, 0xF9, + 0x20, 0xC2, 0x00, 0xA2, 0x00, 0xC9, 0x29, 0xF0, + 0x10, 0x20, 0x9C, 0x6C, 0x20, 0xC2, 0x00, 0xC9, + 0x29, 0xF0, 0x06, 0x4C, 0xF3, 0x66, 0x20, 0xDC, + 0x63, 0x68, 0xA8, 0xB9, 0x9C, 0x79, 0x85, 0xA2, + 0xB9, 0x9D, 0x79, 0x85, 0xA3, 0x20, 0xA1, 0x00, + 0x4C, 0x94, 0x62, 0x20, 0xAA, 0x64, 0x45, 0x5B, + 0xA8, 0xA5, 0xAE, 0x45, 0x5C, 0x4C, 0x23, 0x68, + 0x20, 0xAA, 0x64, 0x05, 0x5B, 0xA8, 0xA5, 0xAE, + 0x05, 0x5C, 0x4C, 0x23, 0x68, 0x20, 0xAA, 0x64, + 0x25, 0x5B, 0xA8, 0xA5, 0xAE, 0x25, 0x5C, 0x4C, + 0x23, 0x68, 0x20, 0x70, 0x66, 0xA5, 0xAE, 0x85, + 0x5C, 0xA5, 0xAF, 0x85, 0x5B, 0x20, 0x81, 0x6D, + 0x20, 0x70, 0x66, 0xA5, 0xAF, 0x60, 0x20, 0x97, + 0x62, 0xB0, 0x13, 0xA5, 0xB7, 0x09, 0x7F, 0x25, + 0xB4, 0x85, 0xB4, 0xA9, 0xB3, 0xA0, 0x00, 0x20, + 0xDB, 0x70, 0xAA, 0x4C, 0x09, 0x65, 0xA9, 0x00, + 0x85, 0x5F, 0xC6, 0x9B, 0x20, 0x0D, 0x6B, 0x85, + 0xAC, 0x86, 0xAD, 0x84, 0xAE, 0xA5, 0xB5, 0xA4, + 0xB6, 0x20, 0x11, 0x6B, 0x86, 0xB5, 0x84, 0xB6, + 0xAA, 0x38, 0xE5, 0xAC, 0xF0, 0x08, 0xA9, 0x01, + 0x90, 0x04, 0xA6, 0xAC, 0xA9, 0xFF, 0x85, 0xB0, + 0xA0, 0xFF, 0xE8, 0xC8, 0xCA, 0xD0, 0x07, 0xA6, + 0xB0, 0x30, 0x0F, 0x18, 0x90, 0x0C, 0xB1, 0xB5, + 0xD1, 0xAD, 0xF0, 0xEF, 0xA2, 0xFF, 0xB0, 0x02, + 0xA2, 0x01, 0xE8, 0x8A, 0x2A, 0x25, 0x63, 0xF0, + 0x02, 0xA9, 0xFF, 0x4C, 0xBE, 0x70, 0x20, 0xE8, + 0x63, 0xAA, 0x20, 0x7B, 0x65, 0x20, 0xC2, 0x00, + 0xD0, 0xF4, 0x60, 0x20, 0x6B, 0x65, 0xA5, 0xAE, + 0xA6, 0x78, 0xF0, 0x24, 0xE0, 0x10, 0xB0, 0x25, + 0x06, 0xAF, 0x26, 0x00, 0xCA, 0xD0, 0xF9, 0xA4, + 0xAF, 0x4C, 0x23, 0x68, 0x20, 0x6B, 0x65, 0xA5, + 0xAE, 0xA6, 0x78, 0xF0, 0x0B, 0xE0, 0x10, 0xB0, + 0x0C, 0x46, 0x00, 0x66, 0xAF, 0xCA, 0xD0, 0xF9, + 0xA4, 0xAF, 0x4C, 0x23, 0x68, 0xA9, 0x00, 0xA8, + 0x4C, 0x23, 0x68, 0x20, 0x4D, 0x6C, 0x86, 0x78, + 0x20, 0x81, 0x6D, 0x4C, 0x70, 0x66, 0xA2, 0x00, + 0x20, 0xC2, 0x00, 0x86, 0x5E, 0x85, 0x93, 0x20, + 0xE8, 0x65, 0xB0, 0x03, 0x4C, 0xF3, 0x63, 0xA2, + 0x00, 0x86, 0x5F, 0x20, 0xBC, 0x00, 0x90, 0x05, + 0x20, 0xE8, 0x65, 0x90, 0x0B, 0xAA, 0x20, 0xBC, + 0x00, 0x90, 0xFB, 0x20, 0xE8, 0x65, 0xB0, 0xF6, + 0xC9, 0x24, 0xD0, 0x0B, 0xA9, 0xFF, 0x85, 0x5F, + 0x8A, 0x09, 0x80, 0xAA, 0x20, 0xBC, 0x00, 0x86, + 0x94, 0x05, 0x61, 0xC9, 0x28, 0xD0, 0x03, 0x4C, + 0x82, 0x66, 0xA9, 0x00, 0x85, 0x61, 0xA5, 0x7B, + 0xA6, 0x7C, 0xA0, 0x00, 0x86, 0xAB, 0x85, 0xAA, + 0xE4, 0x7E, 0xD0, 0x04, 0xC5, 0x7D, 0xF0, 0x2C, + 0xA5, 0x93, 0xD1, 0xAA, 0xD0, 0x08, 0xA5, 0x94, + 0xC8, 0xD1, 0xAA, 0xF0, 0x69, 0x88, 0x18, 0xA5, + 0xAA, 0x69, 0x06, 0x90, 0xE1, 0xE8, 0xD0, 0xDC, + 0xC9, 0x61, 0xB0, 0x0A, 0xC9, 0x41, 0x90, 0x05, + 0xE9, 0x5B, 0x38, 0xE9, 0xA5, 0x60, 0xE9, 0x7B, + 0x38, 0xE9, 0x85, 0x60, 0x68, 0x48, 0xC9, 0x01, + 0xD0, 0x05, 0xA9, 0xA4, 0xA0, 0x79, 0x60, 0xA5, + 0x7D, 0xA4, 0x7E, 0x85, 0xAA, 0x84, 0xAB, 0xA5, + 0x7F, 0xA4, 0x80, 0x85, 0xA6, 0x84, 0xA7, 0x18, + 0x69, 0x06, 0x90, 0x01, 0xC8, 0x85, 0xA4, 0x84, + 0xA5, 0x20, 0xC1, 0x58, 0xA5, 0xA4, 0xA4, 0xA5, + 0xC8, 0x85, 0x7D, 0x84, 0x7E, 0xA0, 0x00, 0xA5, + 0x93, 0x91, 0xAA, 0xC8, 0xA5, 0x94, 0x91, 0xAA, + 0xA9, 0x00, 0xC8, 0x91, 0xAA, 0xC8, 0x91, 0xAA, + 0xC8, 0x91, 0xAA, 0xC8, 0x91, 0xAA, 0xA5, 0xAA, + 0x18, 0x69, 0x02, 0xA4, 0xAB, 0x90, 0x01, 0xC8, + 0x85, 0x95, 0x84, 0x96, 0x60, 0xA5, 0x5D, 0x0A, + 0x69, 0x05, 0x65, 0xAA, 0xA4, 0xAB, 0x90, 0x01, + 0xC8, 0x85, 0xA4, 0x84, 0xA5, 0x60, 0x20, 0xBC, + 0x00, 0x20, 0x91, 0x62, 0xA5, 0xB0, 0x30, 0x0D, + 0xA5, 0xAC, 0xC9, 0x90, 0x90, 0x09, 0xA9, 0xAB, + 0xA0, 0x79, 0x20, 0xDB, 0x70, 0xD0, 0x74, 0x4C, + 0x14, 0x71, 0xA5, 0x5E, 0x48, 0xA5, 0x5F, 0x48, + 0xA0, 0x00, 0x98, 0x48, 0xA5, 0x94, 0x48, 0xA5, + 0x93, 0x48, 0x20, 0x66, 0x66, 0x68, 0x85, 0x93, + 0x68, 0x85, 0x94, 0x68, 0xA8, 0xBA, 0xBD, 0x02, + 0x01, 0x48, 0xBD, 0x01, 0x01, 0x48, 0xA5, 0xAE, + 0x9D, 0x02, 0x01, 0xA5, 0xAF, 0x9D, 0x01, 0x01, + 0xC8, 0x20, 0xC2, 0x00, 0xC9, 0x2C, 0xF0, 0xD2, + 0x84, 0x5D, 0x20, 0xE2, 0x63, 0x68, 0x85, 0x5F, + 0x68, 0x85, 0x5E, 0xA6, 0x7D, 0xA5, 0x7E, 0x86, + 0xAA, 0x85, 0xAB, 0xC5, 0x80, 0xD0, 0x04, 0xE4, + 0x7F, 0xF0, 0x39, 0xA0, 0x00, 0xB1, 0xAA, 0xC8, + 0xC5, 0x93, 0xD0, 0x06, 0xA5, 0x94, 0xD1, 0xAA, + 0xF0, 0x16, 0xC8, 0xB1, 0xAA, 0x18, 0x65, 0xAA, + 0xAA, 0xC8, 0xB1, 0xAA, 0x65, 0xAB, 0x90, 0xD7, + 0xA2, 0x10, 0x2C, 0xA2, 0x08, 0x4C, 0x3B, 0x59, + 0xA2, 0x12, 0xA5, 0x5E, 0xD0, 0xF7, 0x20, 0x55, + 0x66, 0xA5, 0x5D, 0xA0, 0x04, 0xD1, 0xAA, 0xD0, + 0xE7, 0x4C, 0x8F, 0x67, 0x20, 0x55, 0x66, 0x20, + 0x0C, 0x59, 0xA0, 0x00, 0x84, 0xBB, 0xA5, 0x93, + 0x91, 0xAA, 0xC8, 0xA5, 0x94, 0x91, 0xAA, 0xA5, + 0x5D, 0xA0, 0x04, 0x84, 0xBA, 0x91, 0xAA, 0x18, + 0xA2, 0x0B, 0xA9, 0x00, 0x24, 0x5E, 0x50, 0x07, + 0x68, 0x69, 0x01, 0xAA, 0x68, 0x69, 0x00, 0xC8, + 0x91, 0xAA, 0xC8, 0x8A, 0x91, 0xAA, 0x20, 0xDE, + 0x67, 0x86, 0xBA, 0x85, 0xBB, 0xA4, 0x71, 0xC6, + 0x5D, 0xD0, 0xDD, 0x65, 0xA5, 0xB0, 0x5D, 0x85, + 0xA5, 0xA8, 0x8A, 0x65, 0xA4, 0x90, 0x03, 0xC8, + 0xF0, 0x52, 0x20, 0x0C, 0x59, 0x85, 0x7F, 0x84, + 0x80, 0xA9, 0x00, 0xE6, 0xBB, 0xA4, 0xBA, 0xF0, + 0x05, 0x88, 0x91, 0xA4, 0xD0, 0xFB, 0xC6, 0xA5, + 0xC6, 0xBB, 0xD0, 0xF5, 0xE6, 0xA5, 0x38, 0xA0, + 0x02, 0xA5, 0x7F, 0xE5, 0xAA, 0x91, 0xAA, 0xC8, + 0xA5, 0x80, 0xE5, 0xAB, 0x91, 0xAA, 0xA5, 0x5E, + 0xD0, 0x53, 0xC8, 0xB1, 0xAA, 0x85, 0x5D, 0xA9, + 0x00, 0x85, 0xBA, 0x85, 0xBB, 0xC8, 0x68, 0xAA, + 0x85, 0xAE, 0x68, 0x85, 0xAF, 0xD1, 0xAA, 0x90, + 0x0E, 0xD0, 0x06, 0xC8, 0x8A, 0xD1, 0xAA, 0x90, + 0x07, 0x4C, 0xF0, 0x66, 0x4C, 0x39, 0x59, 0xC8, + 0xA5, 0xBB, 0x05, 0xBA, 0xF0, 0x0A, 0x20, 0xDE, + 0x67, 0x8A, 0x65, 0xAE, 0xAA, 0x98, 0xA4, 0x71, + 0x65, 0xAF, 0x86, 0xBA, 0xC6, 0x5D, 0xD0, 0xCB, + 0x06, 0xBA, 0x2A, 0x06, 0xBA, 0x2A, 0xA8, 0xA5, + 0xBA, 0x65, 0xA4, 0x85, 0x95, 0x98, 0x65, 0xA5, + 0x85, 0x96, 0xA8, 0xA5, 0x95, 0x60, 0x84, 0x71, + 0xB1, 0xAA, 0x85, 0x76, 0x88, 0xB1, 0xAA, 0x85, + 0x77, 0xA9, 0x10, 0x85, 0xA8, 0xA2, 0x00, 0xA0, + 0x00, 0x8A, 0x0A, 0xAA, 0x98, 0x2A, 0xA8, 0xB0, + 0xB3, 0x06, 0xBA, 0x26, 0xBB, 0x90, 0x0B, 0x18, + 0x8A, 0x65, 0x76, 0xAA, 0x98, 0x65, 0x77, 0xA8, + 0xB0, 0xA2, 0xC6, 0xA8, 0xD0, 0xE3, 0x60, 0xA5, + 0x5F, 0xF0, 0x03, 0x20, 0x0D, 0x6B, 0x20, 0xAE, + 0x69, 0x38, 0xA5, 0x81, 0xE5, 0x7F, 0xA8, 0xA5, + 0x82, 0xE5, 0x80, 0xA2, 0x00, 0x86, 0x5F, 0x85, + 0xAD, 0x84, 0xAE, 0xA2, 0x90, 0x4C, 0xC6, 0x70, + 0xA4, 0x0E, 0xA9, 0x00, 0xF0, 0xED, 0xA6, 0x88, + 0xE8, 0xD0, 0xA2, 0xA2, 0x16, 0x4C, 0x3B, 0x59, + 0x20, 0x6D, 0x68, 0x20, 0x36, 0x68, 0x20, 0xE5, + 0x63, 0xA9, 0x80, 0x85, 0x61, 0x20, 0x76, 0x65, + 0x20, 0x94, 0x62, 0x20, 0xE2, 0x63, 0xA9, 0xC0, + 0x20, 0xEA, 0x63, 0xA5, 0x96, 0x48, 0xA5, 0x95, + 0x48, 0xA5, 0xC4, 0x48, 0xA5, 0xC3, 0x48, 0x20, + 0x95, 0x5E, 0x4C, 0xDF, 0x68, 0xA9, 0xAD, 0x20, + 0xEA, 0x63, 0x09, 0x80, 0x85, 0x61, 0x29, 0x7F, + 0x20, 0x7D, 0x65, 0x85, 0x9C, 0x84, 0x9D, 0x4C, + 0x94, 0x62, 0x20, 0x6D, 0x68, 0xA5, 0x9D, 0x48, + 0xA5, 0x9C, 0x48, 0x20, 0xDC, 0x63, 0x20, 0x94, + 0x62, 0x68, 0x85, 0x9C, 0x68, 0x85, 0x9D, 0xA2, + 0x20, 0xA0, 0x03, 0xB1, 0x9C, 0xF0, 0x9E, 0x85, + 0x96, 0x88, 0xB1, 0x9C, 0x85, 0x95, 0xAA, 0xC8, + 0xB1, 0x95, 0x48, 0x88, 0x10, 0xFA, 0xA4, 0x96, + 0x20, 0x6B, 0x70, 0xA5, 0xC4, 0x48, 0xA5, 0xC3, + 0x48, 0xB1, 0x9C, 0x85, 0xC3, 0xC8, 0xB1, 0x9C, + 0x85, 0xC4, 0xA5, 0x96, 0x48, 0xA5, 0x95, 0x48, + 0x20, 0x91, 0x62, 0x68, 0x85, 0x9C, 0x68, 0x85, + 0x9D, 0x20, 0xC2, 0x00, 0xF0, 0x03, 0x4C, 0xF3, + 0x63, 0x68, 0x85, 0xC3, 0x68, 0x85, 0xC4, 0xA0, + 0x00, 0x68, 0x91, 0x9C, 0xC8, 0x68, 0x91, 0x9C, + 0xC8, 0x68, 0x91, 0x9C, 0xC8, 0x68, 0x91, 0x9C, + 0x60, 0x20, 0x94, 0x62, 0xA0, 0x00, 0x20, 0x57, + 0x72, 0x68, 0x68, 0xA9, 0xF0, 0xA0, 0x00, 0xF0, + 0x12, 0xA6, 0xAE, 0xA4, 0xAF, 0x86, 0x9E, 0x84, + 0x9F, 0x20, 0x7C, 0x69, 0x86, 0xAD, 0x84, 0xAE, + 0x85, 0xAC, 0x60, 0xA2, 0x22, 0x86, 0x5B, 0x86, + 0x5C, 0x85, 0xB8, 0x84, 0xB9, 0x85, 0xAD, 0x84, + 0xAE, 0xA0, 0xFF, 0xC8, 0xB1, 0xB8, 0xF0, 0x0C, + 0xC5, 0x5B, 0xF0, 0x04, 0xC5, 0x5C, 0xD0, 0xF3, + 0xC9, 0x22, 0xF0, 0x01, 0x18, 0x84, 0xAC, 0x98, + 0x65, 0xB8, 0x85, 0xBA, 0xA6, 0xB9, 0x90, 0x01, + 0xE8, 0x86, 0xBB, 0xA5, 0xB9, 0xC9, 0x03, 0xB0, + 0x0B, 0x98, 0x20, 0x01, 0x69, 0xA6, 0xB8, 0xA4, + 0xB9, 0x20, 0xEE, 0x6A, 0xA6, 0x65, 0xE0, 0x71, + 0xD0, 0x05, 0xA2, 0x1C, 0x4C, 0x3B, 0x59, 0xA5, + 0xAC, 0x95, 0x00, 0xA5, 0xAD, 0x95, 0x01, 0xA5, + 0xAE, 0x95, 0x02, 0xA0, 0x00, 0x86, 0xAE, 0x84, + 0xAF, 0x88, 0x84, 0x5F, 0x86, 0x66, 0xE8, 0xE8, + 0xE8, 0x86, 0x65, 0x60, 0x46, 0x60, 0x48, 0x49, + 0xFF, 0x38, 0x65, 0x81, 0xA4, 0x82, 0xB0, 0x01, + 0x88, 0xC4, 0x80, 0x90, 0x11, 0xD0, 0x04, 0xC5, + 0x7F, 0x90, 0x0B, 0x85, 0x81, 0x84, 0x82, 0x85, + 0x83, 0x84, 0x84, 0xAA, 0x68, 0x60, 0xA2, 0x0C, + 0xA5, 0x60, 0x30, 0xB8, 0x20, 0xAE, 0x69, 0xA9, + 0x80, 0x85, 0x60, 0x68, 0xD0, 0xD0, 0xA6, 0x85, + 0xA5, 0x86, 0x86, 0x81, 0x85, 0x82, 0xA0, 0x00, + 0x84, 0x9D, 0xA5, 0x7F, 0xA6, 0x80, 0x85, 0xAA, + 0x86, 0xAB, 0xA9, 0x68, 0x85, 0x71, 0x84, 0x72, + 0xC5, 0x65, 0xF0, 0x05, 0x20, 0x32, 0x6A, 0xF0, + 0xF7, 0x06, 0xA0, 0xA5, 0x7B, 0xA6, 0x7C, 0x85, + 0x71, 0x86, 0x72, 0xE4, 0x7E, 0xD0, 0x04, 0xC5, + 0x7D, 0xF0, 0x05, 0x20, 0x2C, 0x6A, 0xF0, 0xF3, + 0x85, 0xA4, 0x86, 0xA5, 0xA9, 0x04, 0x85, 0xA0, + 0xA5, 0xA4, 0xA6, 0xA5, 0xE4, 0x80, 0xD0, 0x04, + 0xC5, 0x7F, 0xF0, 0x75, 0x85, 0x71, 0x86, 0x72, + 0xA0, 0x02, 0xB1, 0x71, 0x65, 0xA4, 0x85, 0xA4, + 0xC8, 0xB1, 0x71, 0x65, 0xA5, 0x85, 0xA5, 0xA0, + 0x01, 0xB1, 0x71, 0x10, 0xDB, 0xA0, 0x04, 0xB1, + 0x71, 0x0A, 0x69, 0x05, 0x20, 0x64, 0x6A, 0xE4, + 0xA5, 0xD0, 0x04, 0xC5, 0xA4, 0xF0, 0xCD, 0x20, + 0x32, 0x6A, 0xF0, 0xF3, 0xC8, 0xB1, 0x71, 0x10, + 0x30, 0xC8, 0xB1, 0x71, 0xF0, 0x2B, 0xC8, 0xB1, + 0x71, 0xAA, 0xC8, 0xB1, 0x71, 0xC5, 0x82, 0x90, + 0x06, 0xD0, 0x1E, 0xE4, 0x81, 0xB0, 0x1A, 0xC5, + 0xAB, 0x90, 0x17, 0xD0, 0x04, 0xE4, 0xAA, 0x90, + 0x11, 0x86, 0xAA, 0x85, 0xAB, 0xA5, 0x71, 0xA6, + 0x72, 0x85, 0x9C, 0x86, 0x9D, 0x88, 0x88, 0x84, + 0xA2, 0x18, 0xA5, 0xA0, 0x65, 0x71, 0x85, 0x71, + 0x90, 0x02, 0xE6, 0x72, 0xA6, 0x72, 0xA0, 0x00, + 0x60, 0xC6, 0xA0, 0xA6, 0x9D, 0xF0, 0xF5, 0xA4, + 0xA2, 0x18, 0xB1, 0x9C, 0x65, 0xAA, 0x85, 0xA6, + 0xA5, 0xAB, 0x69, 0x00, 0x85, 0xA7, 0xA5, 0x81, + 0xA6, 0x82, 0x85, 0xA4, 0x86, 0xA5, 0x20, 0xC8, + 0x58, 0xA4, 0xA2, 0xC8, 0xA5, 0xA4, 0x91, 0x9C, + 0xAA, 0xE6, 0xA5, 0xA5, 0xA5, 0xC8, 0x91, 0x9C, + 0x4C, 0xB2, 0x69, 0xA5, 0xAF, 0x48, 0xA5, 0xAE, + 0x48, 0x20, 0x80, 0x63, 0x20, 0x96, 0x62, 0x68, + 0x85, 0xB8, 0x68, 0x85, 0xB9, 0xA0, 0x00, 0xB1, + 0xB8, 0x18, 0x71, 0xAE, 0x90, 0x05, 0xA2, 0x1A, + 0x4C, 0x3B, 0x59, 0x20, 0x01, 0x69, 0x20, 0xE0, + 0x6A, 0xA5, 0x9E, 0xA4, 0x9F, 0x20, 0x11, 0x6B, + 0x20, 0xF2, 0x6A, 0xA5, 0xB8, 0xA4, 0xB9, 0x20, + 0x11, 0x6B, 0x20, 0x54, 0x69, 0x4C, 0xBC, 0x62, + 0xA0, 0x00, 0xB1, 0xB8, 0x48, 0xC8, 0xB1, 0xB8, + 0xAA, 0xC8, 0xB1, 0xB8, 0xA8, 0x68, 0x86, 0x71, + 0x84, 0x72, 0xAA, 0xF0, 0x14, 0xA0, 0x00, 0xB1, + 0x71, 0x91, 0x83, 0xC8, 0xCA, 0xD0, 0xF8, 0x98, + 0x18, 0x65, 0x83, 0x85, 0x83, 0x90, 0x02, 0xE6, + 0x84, 0x60, 0x20, 0x96, 0x62, 0xA5, 0xAE, 0xA4, + 0xAF, 0x85, 0x71, 0x84, 0x72, 0x20, 0x42, 0x6B, + 0x08, 0xA0, 0x00, 0xB1, 0x71, 0x48, 0xC8, 0xB1, + 0x71, 0xAA, 0xC8, 0xB1, 0x71, 0xA8, 0x68, 0x28, + 0xD0, 0x13, 0xC4, 0x82, 0xD0, 0x0F, 0xE4, 0x81, + 0xD0, 0x0B, 0x48, 0x18, 0x65, 0x81, 0x85, 0x81, + 0x90, 0x02, 0xE6, 0x82, 0x68, 0x86, 0x71, 0x84, + 0x72, 0x60, 0xC4, 0x67, 0xD0, 0x0C, 0xC5, 0x66, + 0xD0, 0x08, 0x85, 0x65, 0xE9, 0x03, 0x85, 0x66, + 0xA0, 0x00, 0x60, 0x20, 0x4D, 0x6C, 0x8A, 0x48, + 0xA9, 0x01, 0x20, 0x09, 0x69, 0x68, 0xA0, 0x00, + 0x91, 0xAD, 0x68, 0x68, 0x4C, 0x54, 0x69, 0x20, + 0xC5, 0x6B, 0xD1, 0x9E, 0x98, 0xF0, 0x08, 0x20, + 0xC5, 0x6B, 0x18, 0xF1, 0x9E, 0x49, 0xFF, 0x90, + 0x04, 0xB1, 0x9E, 0xAA, 0x98, 0x48, 0x8A, 0x48, + 0x20, 0x09, 0x69, 0xA5, 0x9E, 0xA4, 0x9F, 0x20, + 0x11, 0x6B, 0x68, 0xA8, 0x68, 0x18, 0x65, 0x71, + 0x85, 0x71, 0x90, 0x02, 0xE6, 0x72, 0x98, 0x20, + 0xF2, 0x6A, 0x4C, 0x54, 0x69, 0xA9, 0xFF, 0x85, + 0xAF, 0x20, 0xC2, 0x00, 0xC9, 0x29, 0xF0, 0x06, + 0x20, 0xE8, 0x63, 0x20, 0x4A, 0x6C, 0x20, 0xC5, + 0x6B, 0xCA, 0x8A, 0x48, 0x18, 0xA2, 0x00, 0xF1, + 0x9E, 0xB0, 0xC3, 0x49, 0xFF, 0xC5, 0xAF, 0x90, + 0xBE, 0xA5, 0xAF, 0xB0, 0xBA, 0x20, 0xE2, 0x63, + 0x68, 0x85, 0xA2, 0x68, 0x85, 0xA3, 0x68, 0x68, + 0x68, 0xAA, 0x68, 0x85, 0x9E, 0x68, 0x85, 0x9F, + 0xA0, 0x00, 0x8A, 0xF0, 0x67, 0xE6, 0xA2, 0x6C, + 0xA2, 0x00, 0x20, 0x0A, 0x6B, 0x85, 0xAC, 0x86, + 0xAD, 0x84, 0xAE, 0xA8, 0xF0, 0x2C, 0x88, 0xB1, + 0x71, 0x20, 0xEC, 0x65, 0x90, 0x04, 0x09, 0x20, + 0x91, 0x71, 0x98, 0xD0, 0xF1, 0xF0, 0x1B, 0x20, + 0x0A, 0x6B, 0x85, 0xAC, 0x86, 0xAD, 0x84, 0xAE, + 0xA8, 0xF0, 0x0F, 0x88, 0xB1, 0x71, 0x20, 0xE8, + 0x65, 0x90, 0x04, 0x29, 0xDF, 0x91, 0x71, 0x98, + 0xD0, 0xF1, 0x68, 0x68, 0x4C, 0x54, 0x69, 0x20, + 0x0A, 0x6B, 0x98, 0xA4, 0x71, 0x4C, 0x23, 0x68, + 0x20, 0x2E, 0x6C, 0x4C, 0x32, 0x68, 0x20, 0x0A, + 0x6B, 0xA2, 0x00, 0x86, 0x5F, 0xA8, 0x60, 0x20, + 0x2E, 0x6C, 0xF0, 0x08, 0xA0, 0x00, 0xB1, 0x71, + 0xA8, 0x4C, 0x32, 0x68, 0x4C, 0xF3, 0x66, 0x20, + 0xBC, 0x00, 0x20, 0x91, 0x62, 0x20, 0x6C, 0x66, + 0xA4, 0xAE, 0xD0, 0xF0, 0xA6, 0xAF, 0x4C, 0xC2, + 0x00, 0x20, 0x2E, 0x6C, 0xD0, 0x03, 0x4C, 0x0E, + 0x6E, 0xA6, 0xC3, 0xA4, 0xC4, 0x86, 0xBA, 0x84, + 0xBB, 0xA6, 0x71, 0x86, 0xC3, 0x18, 0x65, 0x71, + 0x85, 0x73, 0xA5, 0x72, 0x85, 0xC4, 0x69, 0x00, + 0x85, 0x74, 0xA0, 0x00, 0xB1, 0x73, 0x48, 0x98, + 0x91, 0x73, 0x20, 0xC2, 0x00, 0x20, 0x6A, 0x71, + 0x68, 0xA0, 0x00, 0x91, 0x73, 0xA6, 0xBA, 0xA4, + 0xBB, 0x86, 0xC3, 0x84, 0xC4, 0x60, 0x20, 0x91, + 0x62, 0x20, 0xAF, 0x6C, 0x20, 0xE8, 0x63, 0xA5, + 0x12, 0x48, 0xA5, 0x11, 0x48, 0x20, 0x4A, 0x6C, + 0x68, 0x85, 0x11, 0x68, 0x85, 0x12, 0x60, 0xA5, + 0xAC, 0xC9, 0x98, 0xB0, 0x8F, 0x20, 0x14, 0x71, + 0xA5, 0xAE, 0xA4, 0xAF, 0x84, 0x11, 0x85, 0x12, + 0x60, 0x20, 0xAF, 0x6C, 0xA2, 0x00, 0xA1, 0x11, + 0xA8, 0x4C, 0x32, 0x68, 0x20, 0x96, 0x6C, 0x8A, + 0xA2, 0x00, 0x81, 0x11, 0x60, 0x20, 0xAF, 0x6C, + 0xA2, 0x00, 0xA1, 0x11, 0xA8, 0xE6, 0x11, 0xD0, + 0x02, 0xE6, 0x12, 0xA1, 0x11, 0x4C, 0x23, 0x68, + 0x20, 0x91, 0x62, 0x20, 0xAF, 0x6C, 0x84, 0x97, + 0x85, 0x98, 0x20, 0xE8, 0x63, 0x20, 0x91, 0x62, + 0x20, 0xAF, 0x6C, 0x98, 0xA2, 0x00, 0x81, 0x97, + 0xE6, 0x97, 0xD0, 0x02, 0xE6, 0x98, 0xA5, 0x12, + 0x81, 0x97, 0x4C, 0xC2, 0x00, 0x20, 0x76, 0x65, + 0x85, 0x97, 0x84, 0x98, 0xA5, 0x5F, 0x48, 0x20, + 0xE8, 0x63, 0x20, 0x76, 0x65, 0x68, 0xC5, 0x5F, + 0xD0, 0x10, 0xA0, 0x03, 0xB1, 0x97, 0x48, 0xB1, + 0x95, 0x91, 0x97, 0x68, 0x91, 0x95, 0x88, 0x10, + 0xF3, 0x60, 0x4C, 0xA0, 0x62, 0x20, 0x91, 0x62, + 0x20, 0xAF, 0x6C, 0xA9, 0x6D, 0x48, 0xA9, 0x43, + 0x48, 0x6C, 0x11, 0x00, 0x4C, 0xC2, 0x00, 0x20, + 0x96, 0x6C, 0x86, 0x97, 0xA2, 0x00, 0x20, 0xC2, + 0x00, 0xF0, 0x03, 0x20, 0x9C, 0x6C, 0x86, 0x98, + 0xB1, 0x11, 0x45, 0x98, 0x25, 0x97, 0xF0, 0xF8, + 0x60, 0x20, 0x49, 0x6F, 0xA5, 0xB0, 0x49, 0xFF, + 0x85, 0xB0, 0x45, 0xB7, 0x85, 0xB8, 0xA5, 0xAC, + 0x4C, 0x7F, 0x6D, 0x20, 0x98, 0x6E, 0x90, 0x4D, + 0xA9, 0xAC, 0xA0, 0x79, 0x20, 0x49, 0x6F, 0xD0, + 0x10, 0xA5, 0xB7, 0x85, 0xB0, 0xA2, 0x04, 0xB5, + 0xB2, 0x95, 0xAB, 0xCA, 0xD0, 0xF9, 0x86, 0xB9, + 0x60, 0xA6, 0xB9, 0x86, 0xA3, 0xA2, 0xB3, 0xA5, + 0xB3, 0xA8, 0xF0, 0xC4, 0x38, 0xE5, 0xAC, 0xF0, + 0x24, 0x90, 0x12, 0x84, 0xAC, 0xA4, 0xB7, 0x84, + 0xB0, 0x49, 0xFF, 0x69, 0x00, 0xA0, 0x00, 0x84, + 0xA3, 0xA2, 0xAC, 0xD0, 0x04, 0xA0, 0x00, 0x84, + 0xB9, 0xC9, 0xF9, 0x30, 0xB6, 0xA8, 0xA5, 0xB9, + 0x56, 0x01, 0x20, 0xAF, 0x6E, 0x24, 0xB8, 0x10, + 0x4C, 0xA0, 0xAC, 0xE0, 0xB3, 0xF0, 0x02, 0xA0, + 0xB3, 0x38, 0x49, 0xFF, 0x65, 0xA3, 0x85, 0xB9, + 0xB9, 0x03, 0x00, 0xF5, 0x03, 0x85, 0xAF, 0xB9, + 0x02, 0x00, 0xF5, 0x02, 0x85, 0xAE, 0xB9, 0x01, + 0x00, 0xF5, 0x01, 0x85, 0xAD, 0xB0, 0x03, 0x20, + 0x54, 0x6E, 0xA0, 0x00, 0x98, 0x18, 0xA6, 0xAD, + 0xD0, 0x3E, 0xA6, 0xAE, 0x86, 0xAD, 0xA6, 0xAF, + 0x86, 0xAE, 0xA6, 0xB9, 0x86, 0xAF, 0x84, 0xB9, + 0x69, 0x08, 0xC9, 0x18, 0xD0, 0xE8, 0xA9, 0x00, + 0x85, 0xAC, 0x85, 0xB0, 0x60, 0x65, 0xA3, 0x85, + 0xB9, 0xA5, 0xAF, 0x65, 0xB6, 0x85, 0xAF, 0xA5, + 0xAE, 0x65, 0xB5, 0x85, 0xAE, 0xA5, 0xAD, 0x65, + 0xB4, 0x85, 0xAD, 0xB0, 0x1A, 0x60, 0x69, 0x01, + 0x06, 0xB9, 0x26, 0xAF, 0x26, 0xAE, 0x26, 0xAD, + 0x10, 0xF4, 0x38, 0xE5, 0xAC, 0xB0, 0xCF, 0x49, + 0xFF, 0x69, 0x01, 0x85, 0xAC, 0x90, 0x0C, 0xE6, + 0xAC, 0xF0, 0x36, 0x66, 0xAD, 0x66, 0xAE, 0x66, + 0xAF, 0x66, 0xB9, 0x60, 0xA5, 0xB0, 0x49, 0xFF, + 0x85, 0xB0, 0xA5, 0xAD, 0x49, 0xFF, 0x85, 0xAD, + 0xA5, 0xAE, 0x49, 0xFF, 0x85, 0xAE, 0xA5, 0xAF, + 0x49, 0xFF, 0x85, 0xAF, 0xA5, 0xB9, 0x49, 0xFF, + 0x85, 0xB9, 0xE6, 0xB9, 0xD0, 0x0A, 0xE6, 0xAF, + 0xD0, 0x06, 0xE6, 0xAE, 0xD0, 0x02, 0xE6, 0xAD, + 0x60, 0xA2, 0x0A, 0x4C, 0x3B, 0x59, 0xA2, 0x74, + 0xB4, 0x03, 0x84, 0xB9, 0xB4, 0x02, 0x94, 0x03, + 0xB4, 0x01, 0x94, 0x02, 0xA4, 0xB2, 0x94, 0x01, + 0x69, 0x08, 0x30, 0xEC, 0xF0, 0xEA, 0xE9, 0x08, + 0xA8, 0xA5, 0xB9, 0xB0, 0x12, 0x16, 0x01, 0x90, + 0x02, 0xF6, 0x01, 0x76, 0x01, 0x76, 0x01, 0x76, + 0x02, 0x76, 0x03, 0x6A, 0xC8, 0xD0, 0xEE, 0x18, + 0x60, 0x20, 0xAD, 0x70, 0xF0, 0x02, 0x10, 0x03, + 0x4C, 0xF3, 0x66, 0xA5, 0xAC, 0xE9, 0x7F, 0x48, + 0xA9, 0x80, 0x85, 0xAC, 0xA9, 0x2C, 0xA0, 0x79, + 0x20, 0x7C, 0x6D, 0xA9, 0x30, 0xA0, 0x79, 0x20, + 0xBF, 0x6F, 0xA9, 0xA3, 0xA0, 0x79, 0x20, 0x61, + 0x6D, 0xA9, 0x1F, 0xA0, 0x79, 0x20, 0x11, 0x74, + 0xA9, 0x34, 0xA0, 0x79, 0x20, 0x7C, 0x6D, 0x68, + 0x20, 0x08, 0x72, 0xA9, 0x38, 0xA0, 0x79, 0x20, + 0x49, 0x6F, 0xF0, 0x4C, 0x20, 0x6F, 0x6F, 0xA9, + 0x00, 0x85, 0x75, 0x85, 0x76, 0x85, 0x77, 0xA5, + 0xB9, 0x20, 0x1E, 0x6F, 0xA5, 0xAF, 0x20, 0x1E, + 0x6F, 0xA5, 0xAE, 0x20, 0x1E, 0x6F, 0xA5, 0xAD, + 0x20, 0x23, 0x6F, 0x4C, 0x2F, 0x70, 0xD0, 0x03, + 0x4C, 0x86, 0x6E, 0x4A, 0x09, 0x80, 0xA8, 0x90, + 0x13, 0x18, 0xA5, 0x77, 0x65, 0xB6, 0x85, 0x77, + 0xA5, 0x76, 0x65, 0xB5, 0x85, 0x76, 0xA5, 0x75, + 0x65, 0xB4, 0x85, 0x75, 0x66, 0x75, 0x66, 0x76, + 0x66, 0x77, 0x66, 0xB9, 0x98, 0x4A, 0xD0, 0xDE, + 0x60, 0x85, 0x71, 0x84, 0x72, 0xA0, 0x03, 0xB1, + 0x71, 0x85, 0xB6, 0x88, 0xB1, 0x71, 0x85, 0xB5, + 0x88, 0xB1, 0x71, 0x85, 0xB7, 0x45, 0xB0, 0x85, + 0xB8, 0xA5, 0xB7, 0x09, 0x80, 0x85, 0xB4, 0x88, + 0xB1, 0x71, 0x85, 0xB3, 0xA5, 0xAC, 0x60, 0xA5, + 0xB3, 0xF0, 0x1D, 0x18, 0x65, 0xAC, 0x90, 0x04, + 0x30, 0x31, 0x18, 0x2C, 0x10, 0x12, 0x69, 0x80, + 0x85, 0xAC, 0xD0, 0x03, 0x4C, 0x12, 0x6E, 0xA5, + 0xB8, 0x85, 0xB0, 0x60, 0xA5, 0xB0, 0x10, 0x1B, + 0x68, 0x68, 0x4C, 0x0E, 0x6E, 0x20, 0x8E, 0x70, + 0xAA, 0xF0, 0xF0, 0x18, 0x69, 0x02, 0xB0, 0x0B, + 0xA2, 0x00, 0x86, 0xB8, 0x20, 0x99, 0x6D, 0xE6, + 0xAC, 0xD0, 0xE0, 0x4C, 0x81, 0x6E, 0x20, 0x8E, + 0x70, 0xA9, 0xB4, 0xA0, 0x79, 0xA2, 0x00, 0x86, + 0xB8, 0x20, 0x3E, 0x70, 0x4C, 0xC2, 0x6F, 0x20, + 0x49, 0x6F, 0xF0, 0x66, 0x20, 0x9D, 0x70, 0xA9, + 0x00, 0x38, 0xE5, 0xAC, 0x85, 0xAC, 0x20, 0x6F, + 0x6F, 0xE6, 0xAC, 0xF0, 0xD6, 0xA2, 0xFD, 0xA9, + 0x01, 0xA4, 0xB4, 0xC4, 0xAD, 0xD0, 0x0A, 0xA4, + 0xB5, 0xC4, 0xAE, 0xD0, 0x04, 0xA4, 0xB6, 0xC4, + 0xAF, 0x08, 0x2A, 0x90, 0x0A, 0xE8, 0xF0, 0x2A, + 0x10, 0x2C, 0xA0, 0x01, 0x95, 0x77, 0x98, 0x28, + 0x90, 0x14, 0xA8, 0xA5, 0xB6, 0xE5, 0xAF, 0x85, + 0xB6, 0xA5, 0xB5, 0xE5, 0xAE, 0x85, 0xB5, 0xA5, + 0xB4, 0xE5, 0xAD, 0x85, 0xB4, 0x98, 0x06, 0xB6, + 0x26, 0xB5, 0x26, 0xB4, 0xB0, 0xD3, 0x30, 0xC1, + 0x10, 0xCF, 0xA0, 0x40, 0xD0, 0xD6, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x0A, 0x85, 0xB9, 0x28, 0x4C, + 0x2F, 0x70, 0xA2, 0x14, 0x4C, 0x3B, 0x59, 0xA5, + 0x75, 0x85, 0xAD, 0xA5, 0x76, 0x85, 0xAE, 0xA5, + 0x77, 0x85, 0xAF, 0x4C, 0xF2, 0x6D, 0x85, 0x71, + 0x84, 0x72, 0xA0, 0x03, 0xB1, 0x71, 0x85, 0xAF, + 0x88, 0xB1, 0x71, 0x85, 0xAE, 0x88, 0xB1, 0x71, + 0x85, 0xB0, 0x09, 0x80, 0x85, 0xAD, 0x88, 0xB1, + 0x71, 0x85, 0xAC, 0x84, 0xB9, 0x60, 0xA2, 0xA8, + 0x2C, 0xA2, 0xA4, 0xA0, 0x00, 0xF0, 0x04, 0xA6, + 0x97, 0xA4, 0x98, 0x20, 0x9D, 0x70, 0x86, 0x71, + 0x84, 0x72, 0xA0, 0x03, 0xA5, 0xAF, 0x91, 0x71, + 0x88, 0xA5, 0xAE, 0x91, 0x71, 0x88, 0xA5, 0xB0, + 0x09, 0x7F, 0x25, 0xAD, 0x91, 0x71, 0x88, 0xA5, + 0xAC, 0x91, 0x71, 0x84, 0xB9, 0x60, 0x20, 0x9D, + 0x70, 0xA2, 0x05, 0xB5, 0xAB, 0x95, 0xB2, 0xCA, + 0xD0, 0xF9, 0x86, 0xB9, 0x60, 0xA5, 0xAC, 0xF0, + 0xFB, 0x06, 0xB9, 0x90, 0xF7, 0x20, 0x76, 0x6E, + 0xD0, 0xF2, 0x4C, 0x47, 0x6E, 0xA5, 0xAC, 0xF0, + 0x09, 0xA5, 0xB0, 0x2A, 0xA9, 0xFF, 0xB0, 0x02, + 0xA9, 0x01, 0x60, 0x20, 0xAD, 0x70, 0x85, 0xAD, + 0xA9, 0x00, 0x85, 0xAE, 0xA2, 0x88, 0xA5, 0xAD, + 0x49, 0xFF, 0x2A, 0xA9, 0x00, 0x85, 0xAF, 0x86, + 0xAC, 0x85, 0xB9, 0x85, 0xB0, 0x4C, 0xED, 0x6D, + 0x46, 0xB0, 0x60, 0x85, 0x73, 0x84, 0x74, 0xA0, + 0x00, 0xB1, 0x73, 0xC8, 0xAA, 0xF0, 0xC6, 0xB1, + 0x73, 0x45, 0xB0, 0x30, 0xC4, 0xE4, 0xAC, 0xD0, + 0x1A, 0xB1, 0x73, 0x09, 0x80, 0xC5, 0xAD, 0xD0, + 0x12, 0xC8, 0xB1, 0x73, 0xC5, 0xAE, 0xD0, 0x0B, + 0xC8, 0xA9, 0x7F, 0xC5, 0xB9, 0xB1, 0x73, 0xE5, + 0xAF, 0xF0, 0x28, 0xA5, 0xB0, 0x90, 0x02, 0x49, + 0xFF, 0x4C, 0xB3, 0x70, 0xA5, 0xAC, 0xF0, 0x4A, + 0x38, 0xE9, 0x98, 0x24, 0xB0, 0x10, 0x09, 0xAA, + 0xA9, 0xFF, 0x85, 0xB2, 0x20, 0x5A, 0x6E, 0x8A, + 0xA2, 0xAC, 0xC9, 0xF9, 0x10, 0x06, 0x20, 0x98, + 0x6E, 0x84, 0xB2, 0x60, 0xA8, 0xA5, 0xB0, 0x29, + 0x80, 0x46, 0xAD, 0x05, 0xAD, 0x85, 0xAD, 0x20, + 0xAF, 0x6E, 0x84, 0xB2, 0x60, 0xA5, 0xAC, 0xC9, + 0x98, 0xB0, 0x1E, 0x20, 0x14, 0x71, 0x84, 0xB9, + 0xA5, 0xB0, 0x84, 0xB0, 0x49, 0x80, 0x2A, 0xA9, + 0x98, 0x85, 0xAC, 0xA5, 0xAF, 0x85, 0x5B, 0x4C, + 0xED, 0x6D, 0x85, 0xAD, 0x85, 0xAE, 0x85, 0xAF, + 0xA8, 0x60, 0xA0, 0x00, 0xA2, 0x09, 0x94, 0xA8, + 0xCA, 0x10, 0xFB, 0x90, 0x7F, 0xC9, 0x2D, 0xD0, + 0x04, 0x86, 0xB1, 0xF0, 0x04, 0xC9, 0x2B, 0xD0, + 0x05, 0x20, 0xBC, 0x00, 0x90, 0x6E, 0xC9, 0x24, + 0xD0, 0x03, 0x4C, 0x2A, 0x76, 0xC9, 0x25, 0xD0, + 0x08, 0x4C, 0x58, 0x76, 0x20, 0xBC, 0x00, 0x90, + 0x5B, 0xC9, 0x2E, 0xF0, 0x2E, 0xC9, 0x45, 0xD0, + 0x30, 0x20, 0xBC, 0x00, 0x90, 0x17, 0xC9, 0xB6, + 0xF0, 0x0E, 0xC9, 0x2D, 0xF0, 0x0A, 0xC9, 0xB5, + 0xF0, 0x08, 0xC9, 0x2B, 0xF0, 0x04, 0xD0, 0x07, + 0x66, 0xAB, 0x20, 0xBC, 0x00, 0x90, 0x5C, 0x24, + 0xAB, 0x10, 0x0E, 0xA9, 0x00, 0x38, 0xE5, 0xA9, + 0x4C, 0xD3, 0x71, 0x66, 0xAA, 0x24, 0xAA, 0x50, + 0xC3, 0xA5, 0xA9, 0x38, 0xE5, 0xA8, 0x85, 0xA9, + 0xF0, 0x12, 0x10, 0x09, 0x20, 0xAE, 0x6F, 0xE6, + 0xA9, 0xD0, 0xF9, 0xF0, 0x07, 0x20, 0x95, 0x6F, + 0xC6, 0xA9, 0xD0, 0xF9, 0xA5, 0xB1, 0x30, 0x01, + 0x60, 0x4C, 0xB4, 0x73, 0x48, 0x24, 0xAA, 0x10, + 0x02, 0xE6, 0xA8, 0x20, 0x95, 0x6F, 0x68, 0x38, + 0xE9, 0x30, 0x20, 0x08, 0x72, 0x4C, 0x94, 0x71, + 0x48, 0x20, 0x8E, 0x70, 0x68, 0x20, 0xBE, 0x70, + 0xA5, 0xB7, 0x45, 0xB0, 0x85, 0xB8, 0xA6, 0xAC, + 0x4C, 0x7F, 0x6D, 0xA5, 0xA9, 0xC9, 0x0A, 0x90, + 0x09, 0xA9, 0x64, 0x24, 0xAB, 0x30, 0x0E, 0x4C, + 0x81, 0x6E, 0x0A, 0x0A, 0x65, 0xA9, 0x0A, 0xA0, + 0x00, 0x71, 0xC3, 0xE9, 0x2F, 0x85, 0xA9, 0x4C, + 0xBA, 0x71, 0xA9, 0x3F, 0xA0, 0x7F, 0x20, 0x52, + 0x72, 0xA5, 0x88, 0xA6, 0x87, 0x85, 0xAD, 0x86, + 0xAE, 0xA2, 0x90, 0x38, 0x20, 0xCB, 0x70, 0x20, + 0x55, 0x72, 0x4C, 0x9C, 0x60, 0xA0, 0x01, 0xA9, + 0x20, 0x24, 0xB0, 0x10, 0x02, 0xA9, 0x2D, 0x99, + 0xEF, 0x00, 0x85, 0xB0, 0x84, 0xBA, 0xC8, 0xA6, + 0xAC, 0xD0, 0x05, 0xA9, 0x30, 0x4C, 0x6E, 0x73, + 0xA9, 0x00, 0xE0, 0x81, 0xB0, 0x09, 0xA9, 0x44, + 0xA0, 0x79, 0x20, 0xF7, 0x6E, 0xA9, 0xFA, 0x85, + 0xA8, 0xA9, 0x40, 0xA0, 0x79, 0x20, 0xDB, 0x70, + 0xF0, 0x1E, 0x10, 0x12, 0xA9, 0x3C, 0xA0, 0x79, + 0x20, 0xDB, 0x70, 0xF0, 0x02, 0x10, 0x0E, 0x20, + 0x95, 0x6F, 0xC6, 0xA8, 0xD0, 0xEE, 0x20, 0xAE, + 0x6F, 0xE6, 0xA8, 0xD0, 0xDC, 0x20, 0x78, 0x6D, + 0x20, 0x14, 0x71, 0xA2, 0x01, 0xA5, 0xA8, 0x18, + 0x69, 0x07, 0x30, 0x09, 0xC9, 0x08, 0xB0, 0x06, + 0x69, 0xFF, 0xAA, 0xA9, 0x02, 0x38, 0xE9, 0x02, + 0x85, 0xA9, 0x86, 0xA8, 0x8A, 0xF0, 0x02, 0x10, + 0x13, 0xA4, 0xBA, 0xA9, 0x2E, 0xC8, 0x99, 0xEF, + 0x00, 0x8A, 0xF0, 0x06, 0xA9, 0x30, 0xC8, 0x99, + 0xEF, 0x00, 0x84, 0xBA, 0xA0, 0x00, 0xA2, 0x80, + 0xA5, 0xAF, 0x18, 0x79, 0xBA, 0x79, 0x85, 0xAF, + 0xA5, 0xAE, 0x79, 0xB9, 0x79, 0x85, 0xAE, 0xA5, + 0xAD, 0x79, 0xB8, 0x79, 0x85, 0xAD, 0xE8, 0xB0, + 0x04, 0x10, 0xE5, 0x30, 0x02, 0x30, 0xE1, 0x8A, + 0x90, 0x04, 0x49, 0xFF, 0x69, 0x0A, 0x69, 0x2F, + 0xC8, 0xC8, 0xC8, 0x84, 0x95, 0xA4, 0xBA, 0xC8, + 0xAA, 0x29, 0x7F, 0x99, 0xEF, 0x00, 0xC6, 0xA8, + 0xD0, 0x06, 0xA9, 0x2E, 0xC8, 0x99, 0xEF, 0x00, + 0x84, 0xBA, 0xA4, 0x95, 0x8A, 0x49, 0xFF, 0x29, + 0x80, 0xAA, 0xC0, 0x12, 0xD0, 0xB2, 0xA4, 0xBA, + 0xB9, 0xEF, 0x00, 0x88, 0xC9, 0x30, 0xF0, 0xF8, + 0xC9, 0x2E, 0xF0, 0x01, 0xC8, 0xA9, 0x2B, 0xA6, + 0xA9, 0xF0, 0x2E, 0x10, 0x08, 0xA9, 0x00, 0x38, + 0xE5, 0xA9, 0xAA, 0xA9, 0x2D, 0x99, 0xF1, 0x00, + 0xA9, 0x45, 0x99, 0xF0, 0x00, 0x8A, 0xA2, 0x2F, + 0x38, 0xE8, 0xE9, 0x0A, 0xB0, 0xFB, 0x69, 0x3A, + 0x99, 0xF3, 0x00, 0x8A, 0x99, 0xF2, 0x00, 0xA9, + 0x00, 0x99, 0xF4, 0x00, 0xF0, 0x08, 0x99, 0xEF, + 0x00, 0xA9, 0x00, 0x99, 0xF0, 0x00, 0xA9, 0xF0, + 0xA0, 0x00, 0x60, 0xF0, 0x42, 0xA5, 0xB3, 0xD0, + 0x03, 0x4C, 0x10, 0x6E, 0xA2, 0x9C, 0xA0, 0x00, + 0x20, 0x6B, 0x70, 0xA5, 0xB7, 0x10, 0x0F, 0x20, + 0x45, 0x71, 0xA9, 0x9C, 0xA0, 0x00, 0x20, 0xDB, + 0x70, 0xD0, 0x03, 0x98, 0xA4, 0x5B, 0x20, 0x83, + 0x6D, 0x98, 0x48, 0x20, 0xB9, 0x6E, 0xA9, 0x9C, + 0xA0, 0x00, 0x20, 0xF7, 0x6E, 0x20, 0xBF, 0x73, + 0x68, 0x4A, 0x90, 0x0A, 0xA5, 0xAC, 0xF0, 0x06, + 0xA5, 0xB0, 0x49, 0xFF, 0x85, 0xB0, 0x60, 0xA9, + 0x48, 0xA0, 0x79, 0x20, 0xF7, 0x6E, 0xA5, 0xB9, + 0x69, 0x50, 0x90, 0x03, 0x20, 0xA5, 0x70, 0x85, + 0xA3, 0x20, 0x91, 0x70, 0xA5, 0xAC, 0xC9, 0x88, + 0x90, 0x03, 0x20, 0x8C, 0x6F, 0x20, 0x45, 0x71, + 0xA5, 0x5B, 0x18, 0x69, 0x81, 0xF0, 0xF3, 0x38, + 0xE9, 0x01, 0x48, 0xA2, 0x04, 0xB5, 0xB3, 0xB4, + 0xAC, 0x95, 0xAC, 0x94, 0xB3, 0xCA, 0x10, 0xF5, + 0xA5, 0xA3, 0x85, 0xB9, 0x20, 0x64, 0x6D, 0x20, + 0xB4, 0x73, 0xA9, 0x4C, 0xA0, 0x79, 0x20, 0x27, + 0x74, 0xA9, 0x00, 0x85, 0xB8, 0x68, 0x4C, 0x71, + 0x6F, 0x85, 0xBA, 0x84, 0xBB, 0x20, 0x61, 0x70, + 0xA9, 0xA4, 0x20, 0xF7, 0x6E, 0x20, 0x2B, 0x74, + 0xA9, 0xA4, 0xA0, 0x00, 0x4C, 0xF7, 0x6E, 0x85, + 0xBA, 0x84, 0xBB, 0x20, 0x5E, 0x70, 0xB1, 0xBA, + 0x85, 0xB1, 0xA4, 0xBA, 0xC8, 0x98, 0xD0, 0x02, + 0xE6, 0xBB, 0x85, 0xBA, 0xA4, 0xBB, 0x20, 0xF7, + 0x6E, 0xA5, 0xBA, 0xA4, 0xBB, 0x18, 0x69, 0x04, + 0x90, 0x01, 0xC8, 0x85, 0xBA, 0x84, 0xBB, 0x20, + 0x7C, 0x6D, 0xA9, 0xA8, 0xA0, 0x00, 0xC6, 0xB1, + 0xD0, 0xE4, 0x60, 0xA5, 0xAC, 0xF0, 0x07, 0xA2, + 0xD4, 0xA0, 0x00, 0x20, 0x6B, 0x70, 0xA2, 0x00, + 0xA5, 0xD4, 0x6A, 0x6A, 0x90, 0x01, 0xE8, 0x29, + 0x08, 0xF0, 0x01, 0xE8, 0x8A, 0x4A, 0x66, 0xD5, + 0x66, 0xD7, 0x66, 0xD6, 0x66, 0xD4, 0xA2, 0x02, + 0xB5, 0xD5, 0x95, 0xAD, 0xCA, 0x10, 0xF9, 0xA9, + 0x80, 0x85, 0xAC, 0x0A, 0x85, 0xB0, 0x4C, 0xF2, + 0x6D, 0xA9, 0x69, 0xA0, 0x79, 0x20, 0x7C, 0x6D, + 0x20, 0x8E, 0x70, 0xA9, 0x7E, 0xA0, 0x79, 0xA6, + 0xB7, 0x20, 0xB7, 0x6F, 0x20, 0x8E, 0x70, 0x20, + 0x45, 0x71, 0xA9, 0x00, 0x85, 0xB8, 0x20, 0x64, + 0x6D, 0xA9, 0xB0, 0xA0, 0x79, 0x20, 0x61, 0x6D, + 0xA5, 0xB0, 0x48, 0x10, 0x0D, 0x20, 0x78, 0x6D, + 0xA5, 0xB0, 0x30, 0x09, 0xA5, 0x63, 0x49, 0xFF, + 0x85, 0x63, 0x20, 0xB4, 0x73, 0xA9, 0xB0, 0xA0, + 0x79, 0x20, 0x7C, 0x6D, 0x68, 0x10, 0x03, 0x20, + 0xB4, 0x73, 0xA9, 0x6D, 0xA0, 0x79, 0x4C, 0x11, + 0x74, 0x20, 0x61, 0x70, 0xA9, 0x00, 0x85, 0x63, + 0x20, 0x98, 0x74, 0xA2, 0x9C, 0xA0, 0x00, 0x20, + 0x6B, 0x70, 0xA9, 0xA4, 0xA0, 0x00, 0x20, 0x3E, + 0x70, 0xA9, 0x00, 0x85, 0xB0, 0xA5, 0x63, 0x20, + 0x09, 0x75, 0xA9, 0x9C, 0xA0, 0x00, 0x4C, 0xBF, + 0x6F, 0x48, 0x4C, 0xCA, 0x74, 0xA5, 0xB0, 0x48, + 0x10, 0x03, 0x20, 0xB4, 0x73, 0xA5, 0xAC, 0x48, + 0xC9, 0x81, 0x90, 0x07, 0xA9, 0xA3, 0xA0, 0x79, + 0x20, 0xBF, 0x6F, 0xA9, 0x82, 0xA0, 0x79, 0x20, + 0x11, 0x74, 0x68, 0xC9, 0x81, 0x90, 0x07, 0xA9, + 0x69, 0xA0, 0x79, 0x20, 0x61, 0x6D, 0x68, 0x10, + 0x16, 0x4C, 0xB4, 0x73, 0x20, 0x96, 0x6C, 0xE0, + 0x08, 0xB0, 0x20, 0xA9, 0x00, 0x38, 0x2A, 0xCA, + 0x10, 0xFC, 0xE8, 0x01, 0x11, 0x81, 0x11, 0x60, + 0x20, 0x96, 0x6C, 0xE0, 0x08, 0xB0, 0x0C, 0xA9, + 0xFF, 0x2A, 0xCA, 0x10, 0xFC, 0xE8, 0x21, 0x11, + 0x81, 0x11, 0x60, 0x4C, 0xF3, 0x66, 0x20, 0xE5, + 0x63, 0x20, 0x96, 0x6C, 0xE0, 0x08, 0xB0, 0xF3, + 0x20, 0xC2, 0x00, 0xC9, 0x29, 0xF0, 0x03, 0x4C, + 0xF3, 0x63, 0x20, 0xBC, 0x00, 0xA9, 0x00, 0x38, + 0x2A, 0xCA, 0x10, 0xFC, 0xE8, 0x21, 0x11, 0xF0, + 0x02, 0xA9, 0xFF, 0x4C, 0xBE, 0x70, 0xE0, 0x19, + 0xB0, 0x4A, 0x86, 0x78, 0xA9, 0x18, 0x20, 0x09, + 0x69, 0xA0, 0x17, 0xA2, 0x18, 0x46, 0x11, 0x66, + 0x12, 0x66, 0x13, 0x8A, 0x2A, 0x91, 0xAD, 0x88, + 0x10, 0xF3, 0xA5, 0x78, 0xF0, 0x0A, 0xAA, 0x38, + 0x49, 0xFF, 0x69, 0x18, 0xF0, 0x1C, 0xD0, 0x0F, + 0xA8, 0xB1, 0xAD, 0xC9, 0x30, 0xD0, 0x07, 0xCA, + 0xF0, 0x03, 0xC8, 0x10, 0xF4, 0xE8, 0x98, 0x18, + 0x65, 0xAD, 0x85, 0xAD, 0xA9, 0x00, 0x65, 0xAE, + 0x85, 0xAE, 0x68, 0x68, 0x86, 0xAC, 0x20, 0xBC, + 0x00, 0x4C, 0x54, 0x69, 0x4C, 0xF3, 0x66, 0xE0, + 0x07, 0xB0, 0xF9, 0x86, 0x78, 0xA9, 0x06, 0x20, + 0x09, 0x69, 0xA0, 0x05, 0xF8, 0xA5, 0x13, 0x20, + 0x0D, 0x76, 0xA5, 0x12, 0x20, 0x0D, 0x76, 0xA5, + 0x11, 0x20, 0x0D, 0x76, 0xD8, 0xA2, 0x06, 0xA5, + 0x78, 0xF0, 0xB5, 0xAA, 0x38, 0x49, 0xFF, 0x69, + 0x06, 0xF0, 0xC7, 0xD0, 0xBA, 0xAA, 0x29, 0x0F, + 0x20, 0x18, 0x76, 0x8A, 0x4A, 0x4A, 0x4A, 0x4A, + 0xC9, 0x0A, 0x69, 0x30, 0x91, 0xAD, 0x88, 0x60, + 0x85, 0xAC, 0xA9, 0x00, 0x85, 0xB8, 0x8A, 0x20, + 0x08, 0x72, 0x20, 0xBC, 0x00, 0x90, 0x0A, 0x09, + 0x20, 0xE9, 0x61, 0xC9, 0x06, 0xB0, 0x2A, 0x69, + 0x0A, 0x29, 0x0F, 0xAA, 0xA5, 0xAC, 0xF0, 0xE4, + 0x69, 0x04, 0x90, 0xDC, 0x4C, 0x81, 0x6E, 0xAA, + 0xA5, 0xAC, 0xF0, 0x06, 0xE6, 0xAC, 0xF0, 0xF4, + 0xA9, 0x00, 0x85, 0xB8, 0x8A, 0x20, 0x08, 0x72, + 0x20, 0xBC, 0x00, 0x49, 0x30, 0xC9, 0x02, 0x90, + 0xE6, 0x4C, 0xEC, 0x71, 0xAD, 0xC8, 0x02, 0xD0, + 0x18, 0x20, 0xB1, 0x78, 0x90, 0x0B, 0x8D, 0xC9, + 0x02, 0xA2, 0x20, 0x8E, 0xCA, 0x02, 0x4C, 0x20, + 0x5D, 0xAE, 0xCA, 0x02, 0xF0, 0x03, 0xCE, 0xCA, + 0x02, 0xA2, 0xD8, 0x20, 0x8C, 0x76, 0xA2, 0xDB, + 0x20, 0x8C, 0x76, 0x60, 0xB5, 0x00, 0x10, 0xFB, + 0x0A, 0x29, 0x40, 0xF0, 0xF6, 0x95, 0x00, 0x8A, + 0xA8, 0x68, 0x68, 0xA9, 0x05, 0x20, 0x04, 0x59, + 0xA5, 0xC4, 0x48, 0xA5, 0xC3, 0x48, 0xA5, 0x88, + 0x48, 0xA5, 0x87, 0x48, 0xA9, 0x8D, 0x48, 0xB9, + 0x01, 0x00, 0x85, 0xC3, 0xB9, 0x02, 0x00, 0x85, + 0xC4, 0x4C, 0xC3, 0x5C, 0x20, 0xB1, 0x78, 0xB0, + 0x09, 0xAD, 0xCA, 0x02, 0xF0, 0x09, 0xAD, 0xC9, + 0x02, 0x38, 0xA2, 0x00, 0x8E, 0xCA, 0x02, 0x60, + 0xA2, 0xDB, 0x2C, 0xA2, 0xD8, 0xC9, 0x93, 0xF0, + 0x12, 0xC9, 0xB4, 0xF0, 0x08, 0x38, 0xE9, 0xA2, + 0xF0, 0x0E, 0x4C, 0xF3, 0x63, 0xA9, 0x7F, 0x35, + 0x00, 0x10, 0x05, 0xB5, 0x00, 0x0A, 0x15, 0x00, + 0x95, 0x00, 0x4C, 0xBC, 0x00, 0x58, 0xA2, 0xDB, + 0x2C, 0xA2, 0xD8, 0x86, 0x78, 0x20, 0xBC, 0x00, + 0x20, 0x19, 0x5F, 0xA5, 0x79, 0xA6, 0x7A, 0x20, + 0x2D, 0x5B, 0xB0, 0x03, 0x4C, 0x7B, 0x5E, 0xA6, + 0x78, 0xA5, 0xAA, 0xE9, 0x01, 0x95, 0x01, 0xA5, + 0xAB, 0xE9, 0x00, 0x95, 0x02, 0xA9, 0xC0, 0x95, + 0x00, 0x60, 0xD0, 0xFD, 0xA5, 0xDB, 0x0A, 0x05, + 0xDB, 0x85, 0xDB, 0x4C, 0x82, 0x5E, 0xD0, 0xF1, + 0xA5, 0xD8, 0x0A, 0x05, 0xD8, 0x85, 0xD8, 0x4C, + 0x82, 0x5E, 0x20, 0xE5, 0x63, 0x20, 0x91, 0x62, + 0x20, 0x74, 0x77, 0x10, 0xFB, 0xA5, 0xB4, 0x09, + 0x80, 0x85, 0xB4, 0x20, 0x81, 0x6D, 0xF0, 0xF0, + 0x20, 0xE5, 0x63, 0x20, 0x91, 0x62, 0x20, 0x74, + 0x77, 0x30, 0xFB, 0xF0, 0xF9, 0xA5, 0xB4, 0x09, + 0x80, 0x85, 0xB4, 0x20, 0x81, 0x6D, 0xF0, 0xEE, + 0xC9, 0x29, 0xD0, 0x05, 0x68, 0x68, 0x4C, 0xBC, + 0x00, 0x4C, 0xF3, 0x63, 0x20, 0xC2, 0x00, 0xC9, + 0x2C, 0xD0, 0xED, 0x20, 0x9D, 0x70, 0xA5, 0xB0, + 0x09, 0x7F, 0x25, 0xAD, 0x48, 0xA5, 0xAE, 0x48, + 0xA5, 0xAF, 0x48, 0xA5, 0xAC, 0x48, 0x20, 0xBC, + 0x00, 0x20, 0x91, 0x62, 0x68, 0x85, 0xB3, 0x68, + 0x85, 0xB6, 0x68, 0x85, 0xB5, 0x68, 0x85, 0xB4, + 0x85, 0xB7, 0xA9, 0xB3, 0xA0, 0x00, 0x4C, 0xDB, + 0x70, 0xC9, 0x2C, 0xF0, 0x1B, 0x20, 0x4A, 0x6C, + 0x8A, 0xF0, 0x0A, 0xE0, 0x10, 0x90, 0x45, 0xE4, + 0x64, 0xB0, 0x02, 0x86, 0x64, 0x86, 0x0F, 0x20, + 0xC2, 0x00, 0xF0, 0x1A, 0xC9, 0x2C, 0xD0, 0xA9, + 0x20, 0x47, 0x6C, 0x8A, 0x30, 0x2E, 0xE0, 0x01, + 0x90, 0x2A, 0xA5, 0x0F, 0xF0, 0x06, 0xE4, 0x0F, + 0xF0, 0x02, 0xB0, 0x20, 0x86, 0x64, 0xA5, 0x0F, + 0xF0, 0x06, 0xC5, 0x64, 0xB0, 0x03, 0x85, 0x64, + 0x38, 0xE5, 0x64, 0xB0, 0xFC, 0x65, 0x64, 0x18, + 0x65, 0x64, 0x85, 0x10, 0xA5, 0x0F, 0x38, 0xE5, + 0x10, 0x85, 0x10, 0x60, 0x4C, 0xF3, 0x66, 0xA5, + 0xB0, 0x30, 0xF9, 0xA5, 0xAC, 0xF0, 0xF4, 0x20, + 0x8E, 0x70, 0xA9, 0x00, 0x85, 0x77, 0x85, 0x76, + 0x85, 0x75, 0x85, 0x78, 0x85, 0xAF, 0x85, 0xAE, + 0x85, 0xAD, 0xA2, 0x18, 0xA5, 0xB3, 0x4A, 0xB0, + 0x0E, 0x06, 0xB6, 0x26, 0xB5, 0x26, 0xB4, 0x26, + 0x77, 0x26, 0x76, 0x26, 0x75, 0x26, 0x78, 0x06, + 0xB6, 0x26, 0xB5, 0x26, 0xB4, 0x26, 0x77, 0x26, + 0x76, 0x26, 0x75, 0x26, 0x78, 0x06, 0xAF, 0x26, + 0xAE, 0x26, 0xAD, 0xA5, 0xAF, 0x2A, 0x85, 0x5B, + 0xA5, 0xAE, 0x2A, 0x85, 0x5C, 0xA5, 0xAD, 0x2A, + 0x85, 0x5D, 0xA9, 0x00, 0x2A, 0x85, 0x5E, 0xA5, + 0x77, 0xE5, 0x5B, 0x85, 0x5B, 0xA5, 0x76, 0xE5, + 0x5C, 0x85, 0x5C, 0xA5, 0x75, 0xE5, 0x5D, 0xA8, + 0xA5, 0x78, 0xE5, 0x5E, 0x90, 0x0E, 0x85, 0x78, + 0x84, 0x75, 0xA5, 0x5C, 0x85, 0x76, 0xA5, 0x5B, + 0x85, 0x77, 0xE6, 0xAF, 0xCA, 0xD0, 0xA2, 0x38, + 0xA5, 0xB3, 0xE9, 0x80, 0x6A, 0x69, 0x00, 0x85, + 0xAC, 0x4C, 0xF2, 0x6D, 0x20, 0xE5, 0x63, 0x20, + 0x76, 0x65, 0x20, 0xE2, 0x63, 0xA4, 0x95, 0xA5, + 0x96, 0x4C, 0x23, 0x68, 0x46, 0x5F, 0xA9, 0x7E, + 0xA0, 0x79, 0x20, 0x3E, 0x70, 0xC6, 0xAC, 0x60, + 0x46, 0x5F, 0xA9, 0x7E, 0xA0, 0x79, 0x4C, 0x3E, + 0x70, 0x6C, 0xCD, 0x02, 0x6C, 0xCF, 0x02, 0x6C, + 0xD1, 0x02, 0x6C, 0xD3, 0x02, 0x00, 0x00, 0x00, + 0x64, 0x76, 0x72, 0x7F, 0xEF, 0xFF, 0xE6, 0xC3, + 0xD0, 0x02, 0xE6, 0xC4, 0xAD, 0xFF, 0xFF, 0xC9, + 0x3A, 0xB0, 0x0A, 0xC9, 0x20, 0xF0, 0xEF, 0x38, + 0xE9, 0x30, 0x38, 0xE9, 0xD0, 0x60, 0x4C, 0x00, + 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4C, 0xF3, 0x66, 0x00, 0x00, 0x00, 0xF2, 0x00, + 0x03, 0x0D, 0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, + 0x20, 0x73, 0x69, 0x7A, 0x65, 0x20, 0x00, 0x20, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x66, 0x72, + 0x65, 0x65, 0x0D, 0x45, 0x6E, 0x68, 0x61, 0x6E, + 0x63, 0x65, 0x64, 0x20, 0x42, 0x41, 0x53, 0x49, + 0x43, 0x20, 0x31, 0x2E, 0x31, 0x30, 0x00, 0x02, + 0x80, 0x19, 0x56, 0x62, 0x80, 0x76, 0x22, 0xF3, + 0x82, 0x38, 0xAA, 0x40, 0x80, 0x35, 0x04, 0xF3, + 0x81, 0x35, 0x04, 0xF3, 0x80, 0x80, 0x00, 0x00, + 0x80, 0x31, 0x72, 0x18, 0x91, 0x43, 0x4F, 0xF8, + 0x94, 0x74, 0x23, 0xF7, 0x94, 0x74, 0x24, 0x00, + 0x81, 0x38, 0xAA, 0x3B, 0x06, 0x74, 0x63, 0x90, + 0x8C, 0x77, 0x23, 0x0C, 0xAB, 0x7A, 0x1E, 0x94, + 0x00, 0x7C, 0x63, 0x42, 0x80, 0x7E, 0x75, 0xFE, + 0xD0, 0x80, 0x31, 0x72, 0x15, 0x81, 0x00, 0x00, + 0x00, 0x81, 0x49, 0x0F, 0xDB, 0x04, 0x86, 0x1E, + 0xD7, 0xFB, 0x87, 0x99, 0x26, 0x65, 0x87, 0x23, + 0x34, 0x58, 0x86, 0xA5, 0x5D, 0xE1, 0x83, 0x49, + 0x0F, 0xDB, 0x08, 0x78, 0x3A, 0xC5, 0x37, 0x7B, + 0x83, 0xA2, 0x5C, 0x7C, 0x2E, 0xDD, 0x4D, 0x7D, + 0x99, 0xB0, 0x1E, 0x7D, 0x59, 0xED, 0x24, 0x7E, + 0x91, 0x72, 0x00, 0x7E, 0x4C, 0xB9, 0x73, 0x7F, + 0xAA, 0xAA, 0x53, 0x81, 0x00, 0x00, 0x00, 0x81, + 0x80, 0x00, 0x00, 0x90, 0x80, 0x00, 0x00, 0x00, + 0x7F, 0x00, 0x00, 0x00, 0x84, 0x20, 0x00, 0x00, + 0xFE, 0x79, 0x60, 0x00, 0x27, 0x10, 0xFF, 0xFC, + 0x18, 0x00, 0x00, 0x64, 0xFF, 0xFF, 0xF6, 0x00, + 0x00, 0x01, 0x23, 0x5D, 0x5E, 0x5C, 0x28, 0x62, + 0x94, 0x5E, 0x10, 0x61, 0x28, 0x65, 0x2E, 0x61, + 0x80, 0x5F, 0x52, 0x5F, 0xF3, 0x5D, 0xB2, 0x5D, + 0xC7, 0x5E, 0x4A, 0x5D, 0xD6, 0x5D, 0x21, 0x77, + 0x2D, 0x77, 0x7F, 0x5E, 0xDA, 0x5E, 0x21, 0x5D, + 0xEA, 0x5E, 0x88, 0x5D, 0x55, 0x5F, 0x46, 0x6D, + 0xB6, 0x78, 0xB9, 0x78, 0x3F, 0x68, 0xCB, 0x6C, + 0xE7, 0x6C, 0x34, 0x6D, 0xBC, 0x5D, 0x25, 0x5E, + 0x21, 0x60, 0x8E, 0x5D, 0xA9, 0x5B, 0xA6, 0x5B, + 0x54, 0x5B, 0xA8, 0x77, 0xF0, 0x5F, 0x0C, 0x6D, + 0x3B, 0x75, 0x4F, 0x75, 0xCF, 0x76, 0xD2, 0x76, + 0xBB, 0x70, 0x45, 0x71, 0xD8, 0x70, 0x0A, 0x00, + 0x0F, 0x68, 0x30, 0x68, 0xFF, 0x77, 0x5B, 0x74, + 0xB9, 0x6E, 0xBF, 0x73, 0x91, 0x74, 0x98, 0x74, + 0xE1, 0x74, 0x0D, 0x75, 0xC1, 0x6C, 0xD5, 0x6C, + 0x1F, 0x6C, 0x28, 0x6C, 0xF1, 0x68, 0x59, 0x6C, + 0x37, 0x6C, 0xFF, 0x6B, 0xE2, 0x6B, 0x53, 0x6B, + 0xDF, 0x75, 0x8E, 0x75, 0x66, 0x75, 0x3A, 0x77, + 0x50, 0x77, 0x9C, 0x78, 0xA8, 0x78, 0x8C, 0x78, + 0x67, 0x6B, 0x6F, 0x6B, 0x9D, 0x6B, 0x79, 0x7E, + 0x6D, 0x79, 0x63, 0x6D, 0x7B, 0xF9, 0x6E, 0x7B, + 0xC1, 0x6F, 0x7F, 0x7A, 0x73, 0x50, 0x9C, 0x64, + 0x46, 0x82, 0x64, 0x46, 0x8F, 0x64, 0x56, 0x4B, + 0x65, 0x56, 0x32, 0x65, 0x7D, 0xB3, 0x73, 0x5A, + 0xBF, 0x63, 0x64, 0xBD, 0x64, 0x2A, 0x2B, 0x2D, + 0x2F, 0x3C, 0x3D, 0x3E, 0x3F, 0x41, 0x42, 0x43, + 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4C, 0x4D, + 0x4E, 0x4F, 0x50, 0x52, 0x53, 0x54, 0x55, 0x56, + 0x57, 0x5E, 0x00, 0xE5, 0x7A, 0xE7, 0x7A, 0xE9, + 0x7A, 0xEB, 0x7A, 0xED, 0x7A, 0xF1, 0x7A, 0xF3, + 0x7A, 0xF7, 0x7A, 0xF9, 0x7A, 0x06, 0x7B, 0x1D, + 0x7B, 0x32, 0x7B, 0x4A, 0x7B, 0x54, 0x7B, 0x5D, + 0x7B, 0x6A, 0x7B, 0x6F, 0x7B, 0x80, 0x7B, 0xA1, + 0x7B, 0xAC, 0x7B, 0xBE, 0x7B, 0xC6, 0x7B, 0xD9, + 0x7B, 0x06, 0x7C, 0x2C, 0x7C, 0x3F, 0x7C, 0x4E, + 0x7C, 0x58, 0x7C, 0x67, 0x7C, 0xB7, 0x00, 0xB5, + 0x00, 0xB6, 0x00, 0xB8, 0x00, 0x3C, 0xBE, 0xC1, + 0x00, 0xC0, 0x00, 0x3E, 0xBD, 0xBF, 0x00, 0x9F, + 0x00, 0x42, 0x53, 0xC4, 0x4E, 0x44, 0xBA, 0x53, + 0x43, 0xD6, 0x54, 0x4E, 0xCF, 0x00, 0x49, 0x4E, + 0x24, 0xDB, 0x49, 0x54, 0x43, 0x4C, 0x52, 0xA8, + 0x49, 0x54, 0x53, 0x45, 0x54, 0xA7, 0x49, 0x54, + 0x54, 0x53, 0x54, 0xDC, 0x00, 0x41, 0x4C, 0x4C, + 0x9C, 0x48, 0x52, 0x24, 0xD9, 0x4C, 0x45, 0x41, + 0x52, 0xA2, 0x4F, 0x4E, 0x54, 0xA0, 0x4F, 0x53, + 0xCC, 0x00, 0x41, 0x54, 0x41, 0x83, 0x45, 0x43, + 0x88, 0x45, 0x45, 0x4B, 0xD1, 0x45, 0x46, 0x99, + 0x49, 0x4D, 0x85, 0x4F, 0x4B, 0x45, 0x9B, 0x4F, + 0x9D, 0x00, 0x4E, 0x44, 0x80, 0x4F, 0x52, 0xBB, + 0x58, 0x50, 0xCB, 0x00, 0x4E, 0xAD, 0x4F, 0x52, + 0x81, 0x52, 0x45, 0xC6, 0x00, 0x45, 0x54, 0xA5, + 0x4F, 0x53, 0x55, 0x42, 0x8D, 0x4F, 0x54, 0x4F, + 0x89, 0x00, 0x45, 0x58, 0x24, 0xDA, 0x00, 0x46, + 0x8B, 0x4E, 0x43, 0x95, 0x4E, 0x50, 0x55, 0x54, + 0x84, 0x4E, 0x54, 0xC3, 0x52, 0x51, 0xA9, 0x00, + 0x43, 0x41, 0x53, 0x45, 0x24, 0xD8, 0x45, 0x46, + 0x54, 0x24, 0xE2, 0x45, 0x4E, 0xD3, 0x45, 0x54, + 0x87, 0x49, 0x53, 0x54, 0xA1, 0x4F, 0x41, 0x44, + 0x97, 0x4F, 0x47, 0xCA, 0x4F, 0x4F, 0x50, 0x9E, + 0x00, 0x41, 0x58, 0xDD, 0x49, 0x44, 0x24, 0xE4, + 0x49, 0x4E, 0xDE, 0x00, 0x45, 0x57, 0xA3, 0x45, + 0x58, 0x54, 0x82, 0x4D, 0x49, 0xAA, 0x4F, 0x54, + 0xB0, 0x55, 0x4C, 0x4C, 0x94, 0x00, 0x46, 0x46, + 0xB4, 0x4E, 0x93, 0x52, 0xBC, 0x00, 0x45, 0x45, + 0x4B, 0xD0, 0x49, 0xDF, 0x4F, 0x4B, 0x45, 0x9A, + 0x4F, 0x53, 0xC7, 0x52, 0x49, 0x4E, 0x54, 0x9F, + 0x00, 0x45, 0x41, 0x44, 0x86, 0x45, 0x4D, 0x91, + 0x45, 0x53, 0x54, 0x4F, 0x52, 0x45, 0x8C, 0x45, + 0x54, 0x49, 0x52, 0x51, 0x8E, 0x45, 0x54, 0x4E, + 0x4D, 0x49, 0x8F, 0x45, 0x54, 0x55, 0x52, 0x4E, + 0x90, 0x49, 0x47, 0x48, 0x54, 0x24, 0xE3, 0x4E, + 0x44, 0xC9, 0x55, 0x4E, 0x8A, 0x00, 0x41, 0x44, + 0x44, 0xD2, 0x41, 0x56, 0x45, 0x98, 0x47, 0x4E, + 0xC2, 0x49, 0x4E, 0xCD, 0x50, 0x43, 0x28, 0xAE, + 0x51, 0x52, 0xC8, 0x54, 0x45, 0x50, 0xB1, 0x54, + 0x4F, 0x50, 0x92, 0x54, 0x52, 0x24, 0xD4, 0x57, + 0x41, 0x50, 0xA6, 0x00, 0x41, 0x42, 0x28, 0xAB, + 0x41, 0x4E, 0xCE, 0x48, 0x45, 0x4E, 0xAF, 0x4F, + 0xAC, 0x57, 0x4F, 0x50, 0x49, 0xE0, 0x00, 0x43, + 0x41, 0x53, 0x45, 0x24, 0xD7, 0x4E, 0x54, 0x49, + 0x4C, 0xB2, 0x53, 0x52, 0xC5, 0x00, 0x41, 0x4C, + 0xD5, 0x41, 0x52, 0x50, 0x54, 0x52, 0xE1, 0x00, + 0x41, 0x49, 0x54, 0x96, 0x48, 0x49, 0x4C, 0x45, + 0xB3, 0x49, 0x44, 0x54, 0x48, 0xA4, 0x00, 0xB9, + 0x00, 0x03, 0x45, 0x4A, 0x7B, 0x03, 0x46, 0x56, + 0x7B, 0x04, 0x4E, 0xAF, 0x7B, 0x04, 0x44, 0x32, + 0x7B, 0x05, 0x49, 0x74, 0x7B, 0x03, 0x44, 0x40, + 0x7B, 0x04, 0x52, 0xD9, 0x7B, 0x03, 0x4C, 0x8E, + 0x7B, 0x03, 0x44, 0x36, 0x7B, 0x04, 0x47, 0x65, + 0x7B, 0x03, 0x52, 0x02, 0x7C, 0x02, 0x49, 0x6F, + 0x7B, 0x07, 0x52, 0xE0, 0x7B, 0x05, 0x47, 0x60, + 0x7B, 0x06, 0x52, 0xE7, 0x7B, 0x06, 0x52, 0xED, + 0x7B, 0x06, 0x52, 0xF3, 0x7B, 0x03, 0x52, 0xDD, + 0x7B, 0x04, 0x53, 0x1F, 0x7C, 0x02, 0x4F, 0xC1, + 0x7B, 0x04, 0x4E, 0xB9, 0x7B, 0x03, 0x49, 0x71, + 0x7B, 0x04, 0x57, 0x58, 0x7C, 0x04, 0x4C, 0x95, + 0x7B, 0x04, 0x53, 0x0A, 0x7C, 0x03, 0x44, 0x3D, + 0x7B, 0x04, 0x50, 0xCC, 0x7B, 0x04, 0x44, 0x43, + 0x7B, 0x04, 0x43, 0x1D, 0x7B, 0x02, 0x44, 0x47, + 0x7B, 0x04, 0x4C, 0x9C, 0x7B, 0x05, 0x50, 0xD3, + 0x7B, 0x04, 0x43, 0x2A, 0x7B, 0x04, 0x4C, 0x91, + 0x7B, 0x05, 0x43, 0x25, 0x7B, 0x03, 0x4E, 0xAC, + 0x7B, 0x05, 0x57, 0x61, 0x7C, 0x03, 0x47, 0x5D, + 0x7B, 0x04, 0x53, 0x27, 0x7C, 0x06, 0x42, 0x10, + 0x7B, 0x06, 0x42, 0x0A, 0x7B, 0x03, 0x49, 0x7C, + 0x7B, 0x03, 0x4E, 0xB3, 0x7B, 0x04, 0x54, 0x2C, + 0x7C, 0x02, 0x54, 0x37, 0x7C, 0x02, 0x46, 0x54, + 0x7B, 0x04, 0x53, 0x14, 0x7C, 0x04, 0x54, 0x33, + 0x7C, 0x03, 0x4E, 0xB6, 0x7B, 0x04, 0x53, 0x1B, + 0x7C, 0x05, 0x55, 0x45, 0x7C, 0x05, 0x57, 0x5C, + 0x7C, 0x03, 0x4F, 0xBE, 0x7B, 0x01, 0x2B, 0x00, + 0x00, 0x01, 0x2D, 0x00, 0x00, 0x01, 0x2A, 0x00, + 0x00, 0x01, 0x2F, 0x00, 0x00, 0x01, 0x5E, 0x00, + 0x00, 0x03, 0x41, 0xFC, 0x7A, 0x03, 0x45, 0x4D, + 0x7B, 0x02, 0x4F, 0xC3, 0x7B, 0x02, 0x3E, 0xF3, + 0x7A, 0x02, 0x3C, 0xED, 0x7A, 0x01, 0x3E, 0x00, + 0x00, 0x01, 0x3D, 0x00, 0x00, 0x01, 0x3C, 0x00, + 0x00, 0x03, 0x53, 0x0E, 0x7C, 0x03, 0x49, 0x79, + 0x7B, 0x03, 0x41, 0xF9, 0x7A, 0x03, 0x55, 0x4A, + 0x7C, 0x03, 0x46, 0x59, 0x7B, 0x03, 0x50, 0xD0, + 0x7B, 0x03, 0x53, 0x18, 0x7C, 0x03, 0x52, 0xFF, + 0x7B, 0x03, 0x4C, 0x99, 0x7B, 0x03, 0x45, 0x50, + 0x7B, 0x03, 0x43, 0x2E, 0x7B, 0x03, 0x53, 0x11, + 0x7C, 0x03, 0x54, 0x30, 0x7C, 0x03, 0x41, 0x02, + 0x7B, 0x04, 0x50, 0xC6, 0x7B, 0x04, 0x44, 0x39, + 0x7B, 0x04, 0x53, 0x06, 0x7C, 0x03, 0x4C, 0x8B, + 0x7B, 0x04, 0x53, 0x23, 0x7C, 0x03, 0x56, 0x4E, + 0x7C, 0x03, 0x41, 0xFF, 0x7A, 0x06, 0x55, 0x3F, + 0x7C, 0x06, 0x4C, 0x80, 0x7B, 0x04, 0x43, 0x21, + 0x7B, 0x04, 0x48, 0x6A, 0x7B, 0x04, 0x42, 0x06, + 0x7B, 0x06, 0x42, 0x16, 0x7B, 0x03, 0x4D, 0xA1, + 0x7B, 0x03, 0x4D, 0xA8, 0x7B, 0x02, 0x50, 0xCA, + 0x7B, 0x05, 0x54, 0x39, 0x7C, 0x06, 0x56, 0x51, + 0x7C, 0x05, 0x4C, 0x86, 0x7B, 0x06, 0x52, 0xF9, + 0x7B, 0x04, 0x4D, 0xA4, 0x7B, 0x21, 0x7E, 0x32, + 0x7E, 0x39, 0x7E, 0x4E, 0x7E, 0x5A, 0x7E, 0x68, + 0x7E, 0x71, 0x7E, 0x7F, 0x7E, 0x93, 0x7E, 0xA0, + 0x7E, 0xB1, 0x7E, 0xC0, 0x7E, 0xCF, 0x7E, 0xDD, + 0x7E, 0xED, 0x7E, 0x00, 0x7F, 0x0E, 0x7F, 0x21, + 0x7F, 0x4E, 0x45, 0x58, 0x54, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x6F, 0x75, 0x74, 0x20, 0x46, 0x4F, + 0x52, 0x00, 0x53, 0x79, 0x6E, 0x74, 0x61, 0x78, + 0x00, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x6F, 0x75, 0x74, 0x20, + 0x47, 0x4F, 0x53, 0x55, 0x42, 0x00, 0x4F, 0x75, + 0x74, 0x20, 0x6F, 0x66, 0x20, 0x44, 0x41, 0x54, + 0x41, 0x00, 0x46, 0x75, 0x6E, 0x63, 0x74, 0x69, + 0x6F, 0x6E, 0x20, 0x63, 0x61, 0x6C, 0x6C, 0x00, + 0x4F, 0x76, 0x65, 0x72, 0x66, 0x6C, 0x6F, 0x77, + 0x00, 0x4F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20, + 0x6D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x00, 0x55, + 0x6E, 0x64, 0x65, 0x66, 0x69, 0x6E, 0x65, 0x64, + 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6D, 0x65, + 0x6E, 0x74, 0x00, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x20, 0x62, 0x6F, 0x75, 0x6E, 0x64, 0x73, 0x00, + 0x44, 0x6F, 0x75, 0x62, 0x6C, 0x65, 0x20, 0x64, + 0x69, 0x6D, 0x65, 0x6E, 0x73, 0x69, 0x6F, 0x6E, + 0x00, 0x44, 0x69, 0x76, 0x69, 0x64, 0x65, 0x20, + 0x62, 0x79, 0x20, 0x7A, 0x65, 0x72, 0x6F, 0x00, + 0x49, 0x6C, 0x6C, 0x65, 0x67, 0x61, 0x6C, 0x20, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x00, 0x54, + 0x79, 0x70, 0x65, 0x20, 0x6D, 0x69, 0x73, 0x6D, + 0x61, 0x74, 0x63, 0x68, 0x00, 0x53, 0x74, 0x72, + 0x69, 0x6E, 0x67, 0x20, 0x74, 0x6F, 0x6F, 0x20, + 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x53, 0x74, 0x72, + 0x69, 0x6E, 0x67, 0x20, 0x74, 0x6F, 0x6F, 0x20, + 0x63, 0x6F, 0x6D, 0x70, 0x6C, 0x65, 0x78, 0x00, + 0x43, 0x61, 0x6E, 0x27, 0x74, 0x20, 0x63, 0x6F, + 0x6E, 0x74, 0x69, 0x6E, 0x75, 0x65, 0x55, 0x6E, + 0x64, 0x65, 0x66, 0x69, 0x6E, 0x65, 0x64, 0x20, + 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, + 0x00, 0x4C, 0x4F, 0x4F, 0x50, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x6F, 0x75, 0x74, 0x20, 0x44, 0x4F, + 0x00, 0x0D, 0x42, 0x72, 0x65, 0x61, 0x6B, 0x00, + 0x20, 0x45, 0x72, 0x72, 0x6F, 0x72, 0x00, 0x20, + 0x69, 0x6E, 0x20, 0x6C, 0x69, 0x6E, 0x65, 0x00, + 0x0D, 0x52, 0x65, 0x61, 0x64, 0x79, 0x0D, 0x00, + 0x20, 0x45, 0x78, 0x74, 0x72, 0x61, 0x20, 0x69, + 0x67, 0x6E, 0x6F, 0x72, 0x65, 0x64, 0x0D, 0x00, + 0x20, 0x52, 0x65, 0x64, 0x6F, 0x20, 0x66, 0x72, + 0x6F, 0x6D, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x0D, 0x00, 0xAD, 0x11, 0xD0, 0x10, 0x07, 0xAD, + 0x10, 0xD0, 0x29, 0x7F, 0x38, 0x60, 0xA9, 0x00, + 0x18, 0x60, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x49, + 0x4E, 0x47, 0x20, 0x50, 0x4F, 0x49, 0x4E, 0x54, + 0x20, 0x42, 0x41, 0x53, 0x49, 0x43, 0x20, 0x46, + 0x4F, 0x52, 0x20, 0x54, 0x48, 0x45, 0x20, 0x52, + 0x45, 0x50, 0x4C, 0x49, 0x43, 0x41, 0x20, 0x49, + 0x20, 0x62, 0x79, 0x20, 0x4C, 0x61, 0x72, 0x72, + 0x79, 0x20, 0x4E, 0x65, 0x6C, 0x73, 0x6F, 0x6E, + 0x2E, 0x20, 0x44, 0x65, 0x72, 0x69, 0x76, 0x65, + 0x64, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x45, + 0x68, 0x42, 0x41, 0x53, 0x49, 0x43, 0x2E + ]; + return { + start: function basic_start() { + return 0x58; + }, + end: function basic_end() { + return 0x60; + }, + read: function basic_read(page, off) { + return rom[(page - 0xe0) << 8 | off]; + }, + write: function basic_write() {}, + getState: function basic_getState() { return {}; }, + setState: function basic_setState() {} + }; +} diff --git a/js/roms/krusader.js b/js/roms/krusader.js new file mode 100644 index 0000000..4ebd1ab --- /dev/null +++ b/js/roms/krusader.js @@ -0,0 +1,1044 @@ +export default function Krusader() { + var rom = [ + 0x4c,0xb0,0xe2,0xad,0x11,0xd0,0x10,0xfb, + 0xad,0x10,0xd0,0x60,0x8a,0x29,0x20,0xf0, + 0x23,0xa9,0xa0,0x85,0xe4,0x4c,0xc9,0xe3, + 0xa9,0x20,0xc5,0x24,0xb0,0x0c,0xa9,0x8d, + 0xa0,0x07,0x20,0xc9,0xe3,0xa9,0xa0,0x88, + 0xd0,0xf8,0xa0,0x00,0xb1,0xe2,0xe6,0xe2, + 0xd0,0x02,0xe6,0xe3,0x60,0x20,0x15,0xe7, + 0x20,0x76,0xe5,0xa5,0xe2,0xc5,0xe6,0xa5, + 0xe3,0xe5,0xe7,0xb0,0xef,0x20,0x6d,0xe0, + 0x4c,0x3b,0xe0,0xa5,0xca,0x85,0xe2,0xa5, + 0xcb,0x85,0xe3,0xa5,0x4c,0x85,0xe6,0xa5, + 0x4d,0x85,0xe7,0xd0,0xde,0x20,0x15,0xe7, + 0x20,0x6d,0xe5,0xa5,0xe4,0x85,0xe2,0xa5, + 0xe5,0x85,0xe3,0xb0,0xc7,0x86,0xd8,0xa9, + 0xa0,0x85,0xfa,0x20,0x2a,0xe0,0x98,0x85, + 0xe4,0x20,0x2a,0xe0,0xaa,0x20,0x2a,0xe0, + 0x20,0x1b,0xe5,0x20,0x18,0xe0,0x84,0xfa, + 0xaa,0x10,0x18,0x0a,0x10,0xe9,0xa5,0xe4, + 0xd0,0x03,0x20,0x11,0xe0,0x8a,0x20,0xc9, + 0xe3,0xa9,0x25,0x20,0x1a,0xe0,0xaa,0x30, + 0xf5,0x85,0xe4,0xc9,0x01,0xd0,0x05,0xa6, + 0xd8,0x4c,0xcd,0xe3,0x48,0x84,0xce,0xa2, + 0xed,0x86,0xcf,0xc9,0x51,0x90,0x04,0xc6, + 0xcf,0xe9,0x50,0x48,0xb1,0xce,0xaa,0x88, + 0xb1,0xce,0x10,0xfa,0xe0,0xc0,0xb0,0x04, + 0xe0,0x00,0x30,0xf2,0xaa,0x68,0xe9,0x01, + 0xd0,0xe9,0x24,0xe4,0x30,0x03,0x20,0xf8, + 0xef,0xb1,0xce,0x10,0x10,0xaa,0x29,0x3f, + 0x85,0xe4,0x18,0x69,0xa0,0x20,0xc9,0xe3, + 0x88,0xe0,0xc0,0x90,0xec,0x20,0x0c,0xe0, + 0x68,0xc9,0x5d,0xf0,0xa4,0xc9,0x28,0xd0, + 0x8a,0xf0,0x9e,0x20,0x18,0xe1,0x95,0x50, + 0xd5,0x78,0x90,0x11,0xa0,0x2b,0x4c,0xe0, + 0xe3,0x20,0x34,0xee,0xd5,0x50,0x90,0xf4, + 0x20,0xe4,0xef,0x95,0x78,0x4c,0x23,0xe8, + 0x20,0x34,0xee,0xf0,0xe7,0x38,0xe9,0x01, + 0x60,0x20,0x18,0xe1,0x95,0x50,0x18,0xf5, + 0x78,0x4c,0x02,0xe1,0xa0,0x14,0xd0,0xd6, + 0x20,0x18,0xe1,0xe8,0xb5,0x50,0x85,0xda, + 0x65,0xce,0x48,0xa8,0xb5,0x78,0x85,0xdb, + 0x65,0xcf,0x48,0xc4,0xca,0xe5,0xcb,0xb0, + 0xe3,0xa5,0xda,0x69,0xfe,0x85,0xda,0xa9, + 0xff,0xa8,0x65,0xdb,0x85,0xdb,0xc8,0xb1, + 0xda,0xd9,0xcc,0x00,0xd0,0x0f,0x98,0xf0, + 0xf5,0x68,0x91,0xda,0x99,0xcc,0x00,0x88, + 0x10,0xf7,0xe8,0x60,0xea,0xa0,0x80,0xd0, + 0x95,0xa9,0x00,0x20,0x0a,0xe7,0xa0,0x02, + 0x94,0x78,0x20,0x0a,0xe7,0xa9,0xbf,0x20, + 0xc9,0xe3,0xa0,0x00,0x20,0x9e,0xe2,0x94, + 0x78,0xea,0xea,0xea,0xb5,0x51,0x85,0xce, + 0xb5,0x79,0x85,0xcf,0xe8,0xe8,0x20,0xbc, + 0xe1,0xb5,0x4e,0xd5,0x76,0xb0,0x15,0xf6, + 0x4e,0xa8,0xb1,0xce,0xb4,0x50,0xc4,0xe4, + 0x90,0x04,0xa0,0x83,0xd0,0xc1,0x91,0xda, + 0xf6,0x50,0x90,0xe5,0xb4,0x50,0x8a,0x91, + 0xda,0xe8,0xe8,0x60,0xb5,0x51,0x85,0xda, + 0x38,0xe9,0x02,0x85,0xe4,0xb5,0x79,0x85, + 0xdb,0xe9,0x00,0x85,0xe5,0xa0,0x00,0xb1, + 0xe4,0x18,0xe5,0xda,0x85,0xe4,0x60,0xb5, + 0x53,0x85,0xce,0xb5,0x7b,0x85,0xcf,0xb5, + 0x51,0x85,0xda,0xb5,0x79,0x85,0xdb,0xe8, + 0xe8,0xe8,0xa0,0x00,0x94,0x78,0x94,0xa0, + 0xc8,0x94,0x50,0xb5,0x4d,0xd5,0x75,0x08, + 0x48,0xb5,0x4f,0xd5,0x77,0x90,0x07,0x68, + 0x28,0xb0,0x02,0x56,0x50,0x60,0xa8,0xb1, + 0xce,0x85,0xe4,0x68,0xa8,0x28,0xb0,0xf3, + 0xb1,0xda,0xc5,0xe4,0xd0,0xed,0xf6,0x4f, + 0xf6,0x4d,0xb0,0xd7,0x20,0xd7,0xe1,0x4c, + 0x36,0xe7,0x20,0x54,0xe2,0x06,0xce,0x26, + 0xcf,0x90,0x0d,0x18,0xa5,0xe6,0x65,0xda, + 0x85,0xe6,0xa5,0xe7,0x65,0xdb,0x85,0xe7, + 0x88,0xf0,0x09,0x06,0xe6,0x26,0xe7,0x10, + 0xe4,0x4c,0x7e,0xe7,0xa5,0xe6,0x20,0x08, + 0xe7,0xa5,0xe7,0x95,0xa0,0x06,0xe5,0x90, + 0x28,0x4c,0x6f,0xe7,0xa9,0x55,0x85,0xe5, + 0x20,0x5b,0xe2,0xa5,0xce,0x85,0xda,0xa5, + 0xcf,0x85,0xdb,0x20,0x15,0xe7,0x84,0xe6, + 0x84,0xe7,0xa5,0xcf,0x10,0x09,0xca,0x06, + 0xe5,0x20,0x6f,0xe7,0x20,0x15,0xe7,0xa0, + 0x10,0x60,0x20,0x6c,0xee,0xf0,0xc5,0xff, + 0xc9,0x84,0xd0,0x02,0x46,0xf8,0xc9,0xdf, + 0xf0,0x11,0xc9,0x9b,0xf0,0x06,0x99,0x00, + 0x02,0xc8,0x10,0x0a,0xa0,0x8b,0x20,0xc4, + 0xe3,0xa0,0x01,0x88,0x30,0xf6,0x20,0x03, + 0xe0,0xea,0xea,0x20,0xc9,0xe3,0xc9,0x8d, + 0xd0,0xd6,0xa9,0xdf,0x99,0x00,0x02,0x60, + 0x20,0xd3,0xef,0x20,0xcd,0xe3,0x46,0xd9, + 0xa9,0xbe,0x20,0xc9,0xe3,0xa0,0x00,0x84, + 0xfa,0x24,0xf8,0x10,0x0c,0xa6,0xf6,0xa5, + 0xf7,0x20,0x1b,0xe5,0xa9,0xa0,0x20,0xc9, + 0xe3,0xa2,0xff,0x9a,0x20,0x9e,0xe2,0x84, + 0xf1,0x8a,0x85,0xc8,0xa2,0x20,0x20,0x91, + 0xe4,0xa5,0xc8,0x69,0x00,0x85,0xe0,0xa9, + 0x00,0xaa,0x69,0x02,0x85,0xe1,0xa1,0xe0, + 0x29,0xf0,0xc9,0xb0,0xf0,0x03,0x4c,0x83, + 0xe8,0xa0,0x02,0xb1,0xe0,0x99,0xcd,0x00, + 0x88,0xd0,0xf8,0x20,0x8a,0xe3,0xa5,0xf1, + 0xe5,0xc8,0xc9,0x04,0xf0,0xa8,0x91,0xe0, + 0xa5,0xca,0xf1,0xe0,0x85,0xe4,0xa5,0xcb, + 0xe9,0x00,0x85,0xe5,0xa5,0xe4,0xc5,0xcc, + 0xa5,0xe5,0xe5,0xcd,0x90,0x45,0xa5,0xca, + 0xf1,0xe0,0x85,0xe6,0xa5,0xcb,0xe9,0x00, + 0x85,0xe7,0xb1,0xca,0x91,0xe6,0xe6,0xca, + 0xd0,0x02,0xe6,0xcb,0xa5,0xe2,0xc5,0xca, + 0xa5,0xe3,0xe5,0xcb,0xb0,0xe0,0xb5,0xe4, + 0x95,0xca,0xca,0x10,0xf9,0xb1,0xe0,0xa8, + 0x88,0xb1,0xe0,0x91,0xe6,0x98,0xd0,0xf8, + 0x24,0xf8,0x10,0x09,0xb5,0xf7,0x75,0xf5, + 0x95,0xf7,0xe8,0xf0,0xf7,0x10,0x7e,0x00, + 0x00,0x00,0x00,0xa0,0x14,0xd0,0x71,0x20, + 0x15,0xe7,0xa5,0xe2,0x85,0xe6,0xa5,0xe3, + 0x85,0xe7,0x20,0x75,0xe5,0xa5,0xe2,0x85, + 0xe4,0xa5,0xe3,0x85,0xe5,0xd0,0x0e,0x20, + 0x15,0xe7,0x20,0x6d,0xe5,0xa5,0xe6,0x85, + 0xe2,0xa5,0xe7,0x85,0xe3,0xa0,0x00,0xa5, + 0xca,0xc5,0xe4,0xa5,0xcb,0xe5,0xe5,0xb0, + 0x16,0xa5,0xe4,0xd0,0x02,0xc6,0xe5,0xc6, + 0xe4,0xa5,0xe6,0xd0,0x02,0xc6,0xe7,0xc6, + 0xe6,0xb1,0xe4,0x91,0xe6,0x90,0xe0,0xa5, + 0xe6,0x85,0xca,0xa5,0xe7,0x85,0xcb,0x60, + 0x20,0xc9,0xe3,0xc8,0xb9,0x00,0xeb,0x30, + 0xf7,0xc9,0x8d,0xd0,0x06,0xa9,0x00,0x85, + 0x24,0xa9,0x8d,0xe6,0x24,0x2c,0x12,0xd0, + 0x30,0xfb,0x8d,0x12,0xd0,0x60,0xa0,0x06, + 0x20,0xd3,0xee,0x24,0xd9,0x30,0x03,0x4c, + 0xb6,0xe2,0x4c,0x9a,0xeb,0x2a,0x69,0xa0, + 0xdd,0x00,0x02,0xd0,0x53,0xb1,0xfe,0x0a, + 0x30,0x06,0x88,0xb1,0xfe,0x30,0x29,0xc8, + 0x86,0xc8,0x98,0x48,0xa2,0x00,0xa1,0xfe, + 0xaa,0x4a,0x49,0x48,0x11,0xfe,0xc9,0xc0, + 0x90,0x01,0xe8,0xc8,0xd0,0xf3,0x68,0xa8, + 0x8a,0x4c,0xc0,0xe4,0xe6,0xf1,0xa6,0xf1, + 0xf0,0xbc,0x9d,0x00,0x02,0x60,0xa6,0xc8, + 0xa9,0xa0,0xe8,0xdd,0x00,0x02,0xb0,0xfa, + 0xb1,0xfe,0x29,0x3f,0x4a,0xd0,0xb6,0xbd, + 0x00,0x02,0xb0,0x06,0x69,0x3f,0xc9,0x1a, + 0x90,0x6f,0x69,0x4f,0xc9,0x0a,0x90,0x69, + 0xa6,0xfd,0xc8,0xb1,0xfe,0x29,0xe0,0xc9, + 0x20,0xf0,0x7a,0xb5,0xa8,0x85,0xc8,0xb5, + 0xd1,0x85,0xf1,0x88,0xb1,0xfe,0x0a,0x10, + 0xfa,0x88,0xb0,0x38,0x0a,0x30,0x35,0xb4, + 0x58,0x84,0xff,0xb4,0x80,0xe8,0x10,0xda, + 0xf0,0xb3,0xc9,0x7e,0xb0,0x22,0xca,0x10, + 0x04,0xa0,0x06,0x10,0x29,0x94,0x80,0xa4, + 0xff,0x94,0x58,0xa4,0xc8,0x94,0xa8,0xa4, + 0xf1,0x94,0xd1,0x29,0x1f,0xa8,0xb9,0x20, + 0xec,0x0a,0xa8,0xa9,0x76,0x2a,0x85,0xff, + 0xd0,0x01,0xc8,0xc8,0x86,0xfd,0xb1,0xfe, + 0x30,0x84,0xd0,0x05,0xa0,0x0e,0x4c,0xe0, + 0xe3,0xc9,0x03,0xb0,0xc3,0x4a,0xa6,0xc8, + 0xe8,0xbd,0x00,0x02,0x90,0x04,0xc9,0xa2, + 0xf0,0x0a,0xc9,0xdf,0xf0,0x06,0x86,0xc8, + 0x20,0x1c,0xe4,0xc8,0x88,0xa6,0xfd,0xb1, + 0xfe,0x88,0x0a,0x10,0xcf,0xb4,0x58,0x84, + 0xff,0xb4,0x80,0xe8,0xb1,0xfe,0x29,0x9f, + 0xd0,0xed,0x85,0xf2,0x85,0xf3,0x98,0x48, + 0x86,0xfd,0xb4,0xd0,0x84,0xc9,0x18,0xa9, + 0x0a,0x85,0xf9,0xa2,0x00,0xc8,0xb9,0x00, + 0x02,0x29,0x0f,0x65,0xf2,0x48,0x8a,0x65, + 0xf3,0x30,0x1c,0xaa,0x68,0xc6,0xf9,0xd0, + 0xf2,0x85,0xf2,0x86,0xf3,0xc4,0xf1,0xd0, + 0xde,0xa4,0xc9,0xc8,0x84,0xf1,0x20,0x1c, + 0xe4,0x68,0xa8,0xa5,0xf3,0xb0,0xa9,0xa0, + 0x00,0x10,0x8b,0x85,0xf3,0x86,0xf2,0xa2, + 0x04,0x86,0xc9,0xa9,0xb0,0x85,0xf9,0xa5, + 0xf2,0xdd,0x63,0xe5,0xa5,0xf3,0xfd,0x68, + 0xe5,0x90,0x0d,0x85,0xf3,0xa5,0xf2,0xfd, + 0x63,0xe5,0x85,0xf2,0xe6,0xf9,0xd0,0xe7, + 0xa5,0xf9,0xe8,0xca,0xf0,0x0e,0xc9,0xb0, + 0xf0,0x02,0x85,0xc9,0x24,0xc9,0x30,0x04, + 0xa5,0xfa,0xf0,0x0b,0x20,0xc9,0xe3,0x24, + 0xf8,0x10,0x04,0x99,0x00,0x02,0xc8,0xca, + 0x10,0xc1,0x60,0x01,0x0a,0x64,0xe8,0x10, + 0x00,0x00,0x00,0x03,0x27,0xa5,0xca,0x85, + 0xe6,0xa5,0xcb,0x85,0xe7,0xe8,0xa5,0xe7, + 0x85,0xe5,0xa5,0xe6,0x85,0xe4,0xc5,0x4c, + 0xa5,0xe5,0xe5,0x4d,0xb0,0x26,0xa0,0x01, + 0xb1,0xe4,0xe5,0xce,0xc8,0xb1,0xe4,0xe5, + 0xcf,0xb0,0x19,0xa0,0x00,0xa5,0xe6,0x71, + 0xe4,0x85,0xe6,0x90,0x03,0xe6,0xe7,0x18, + 0xc8,0xa5,0xce,0xf1,0xe4,0xc8,0xa5,0xcf, + 0xf1,0xe4,0xb0,0xca,0x60,0x46,0xf8,0xa5, + 0x4c,0x85,0xca,0xa5,0x4d,0x85,0xcb,0xa5, + 0x4a,0x85,0xcc,0xa5,0x4b,0x85,0xcd,0xa9, + 0x00,0x85,0xfb,0x85,0xfc,0x85,0xfe,0xa9, + 0x00,0x85,0x1d,0x60,0xa5,0xd0,0x69,0x05, + 0x85,0xd2,0xa5,0xd1,0x69,0x00,0x85,0xd3, + 0xa5,0xd2,0xc5,0xca,0xa5,0xd3,0xe5,0xcb, + 0x90,0x03,0x4c,0x6b,0xe3,0xa5,0xce,0x91, + 0xd0,0xa5,0xcf,0xc8,0x91,0xd0,0xa5,0xd2, + 0xc8,0x91,0xd0,0xa5,0xd3,0xc8,0x91,0xd0, + 0xa9,0x00,0xc8,0x91,0xd0,0xc8,0x91,0xd0, + 0xa5,0xd2,0x85,0xcc,0xa5,0xd3,0x85,0xcd, + 0xa5,0xd0,0x90,0x43,0x85,0xce,0x84,0xcf, + 0x20,0xff,0xe6,0x30,0x0e,0xc9,0x40,0xf0, + 0x0a,0x4c,0x28,0xe6,0x06,0xc9,0x49,0xd0, + 0x07,0xa9,0x49,0x85,0xcf,0x20,0xff,0xe6, + 0xa5,0x4b,0x85,0xd1,0xa5,0x4a,0x85,0xd0, + 0xc5,0xcc,0xa5,0xd1,0xe5,0xcd,0xb0,0x94, + 0xb1,0xd0,0xc8,0xc5,0xce,0xd0,0x06,0xb1, + 0xd0,0xc5,0xcf,0xf0,0x0e,0xc8,0xb1,0xd0, + 0x48,0xc8,0xb1,0xd0,0x85,0xd1,0x68,0xa0, + 0x00,0xf0,0xdb,0xa5,0xd0,0x69,0x03,0x20, + 0x0a,0xe7,0xa5,0xd1,0x69,0x00,0x95,0x78, + 0xa5,0xcf,0xc9,0x40,0xd0,0x1c,0x88,0x98, + 0x20,0x0a,0xe7,0x88,0x94,0x78,0xa0,0x03, + 0xf6,0x78,0xc8,0xb1,0xd0,0x30,0xf9,0x10, + 0x09,0xa9,0x00,0x85,0xd4,0x85,0xd5,0xa2, + 0x20,0x48,0xa0,0x00,0xb1,0xe0,0x10,0x18, + 0x0a,0x30,0x81,0x20,0xff,0xe6,0x20,0x08, + 0xe7,0x20,0xff,0xe6,0x95,0xa0,0x24,0xd4, + 0x10,0x01,0xca,0x20,0xff,0xe6,0xb0,0xe6, + 0xc9,0x28,0xd0,0x1f,0xa5,0xe0,0x20,0x0a, + 0xe7,0xa5,0xe1,0x95,0x78,0x24,0xd4,0x30, + 0x0b,0xa9,0x01,0x20,0x0a,0xe7,0xa9,0x00, + 0x95,0x78,0xf6,0x78,0x20,0xff,0xe6,0x30, + 0xf9,0xb0,0xd3,0x24,0xd4,0x10,0x06,0xc9, + 0x04,0xb0,0xd0,0x46,0xd4,0xa8,0x85,0xd6, + 0xb9,0x98,0xe9,0x29,0x55,0x0a,0x85,0xd7, + 0x68,0xa8,0xb9,0x98,0xe9,0x29,0xaa,0xc5, + 0xd7,0xb0,0x09,0x98,0x48,0x20,0xff,0xe6, + 0xa5,0xd6,0x90,0x95,0xb9,0x10,0xea,0x85, + 0xce,0xb9,0x88,0xea,0x85,0xcf,0x20,0xfc, + 0xe6,0x4c,0xd8,0xe6,0x6c,0xce,0x00,0xe6, + 0xe0,0xd0,0x02,0xe6,0xe1,0xb1,0xe0,0x60, + 0x94,0x77,0xca,0x30,0x03,0x95,0x50,0x60, + 0xa0,0x66,0x4c,0xe0,0xe3,0xa0,0x00,0xb5, + 0x50,0x85,0xce,0xb5,0xa0,0x85,0xcf,0xb5, + 0x78,0xf0,0x0e,0x85,0xcf,0xb1,0xce,0x48, + 0xc8,0xb1,0xce,0x85,0xcf,0x68,0x85,0xce, + 0x88,0xe8,0x60,0x20,0x4a,0xe7,0x20,0x15, + 0xe7,0x98,0x20,0x08,0xe7,0x95,0xa0,0xc5, + 0xce,0xd0,0x06,0xc5,0xcf,0xd0,0x02,0xf6, + 0x50,0x60,0x20,0x82,0xe7,0x20,0x59,0xe7, + 0x20,0x15,0xe7,0x24,0xcf,0x30,0x1b,0xca, + 0x60,0x20,0x15,0xe7,0xa5,0xcf,0xd0,0x04, + 0xa5,0xce,0xf0,0xf3,0xa9,0xff,0x20,0x08, + 0xe7,0x95,0xa0,0x24,0xcf,0x30,0xe9,0x20, + 0x15,0xe7,0x98,0x38,0xe5,0xce,0x20,0x08, + 0xe7,0x98,0xe5,0xcf,0x50,0x23,0xa0,0x00, + 0x10,0x90,0x20,0x6f,0xe7,0x20,0x15,0xe7, + 0xa5,0xce,0x85,0xda,0xa5,0xcf,0x85,0xdb, + 0x20,0x15,0xe7,0x18,0xa5,0xce,0x65,0xda, + 0x20,0x08,0xe7,0xa5,0xcf,0x65,0xdb,0x70, + 0xdd,0x95,0xa0,0x60,0x20,0x15,0xe7,0xa4, + 0xce,0xf0,0x05,0x88,0xa5,0xcf,0xf0,0x0c, + 0x60,0xa5,0x24,0x09,0x07,0xa8,0xc8,0xa9, + 0xa0,0x20,0xc9,0xe3,0xc4,0x24,0xb0,0xf7, + 0x60,0x20,0xb1,0xe7,0x20,0x15,0xe7,0xa5, + 0xcf,0x10,0x0a,0xa9,0xad,0x20,0xc9,0xe3, + 0x20,0x72,0xe7,0x50,0xef,0x88,0x84,0xd5, + 0x86,0xcf,0xa6,0xce,0x20,0x1b,0xe5,0xa6, + 0xcf,0x60,0x20,0x15,0xe7,0xa5,0xce,0x85, + 0xf6,0xa5,0xcf,0x85,0xf7,0x88,0x84,0xf8, + 0xc8,0xa9,0x0a,0x85,0xf4,0x84,0xf5,0x60, + 0x20,0x15,0xe7,0xa5,0xce,0xa4,0xcf,0x10, + 0xf2,0x20,0x15,0xe7,0xb5,0x50,0x85,0xda, + 0xb5,0x78,0x85,0xdb,0xa5,0xce,0x91,0xda, + 0xc8,0xa5,0xcf,0x91,0xda,0xe8,0x60,0x68, + 0x68,0x24,0xd5,0x10,0x05,0x20,0xcd,0xe3, + 0x46,0xd5,0x60,0xa0,0xff,0x84,0xd7,0x60, + 0x20,0xcd,0xef,0xf0,0x07,0xa9,0x25,0x85, + 0xd6,0x88,0x84,0xd4,0xe8,0x60,0xa5,0xca, + 0xa4,0xcb,0xd0,0x5a,0xa0,0x41,0xa5,0xfc, + 0xc9,0x08,0xb0,0x5e,0xa8,0xe6,0xfc,0xa5, + 0xe0,0x99,0x00,0x01,0xa5,0xe1,0x99,0x08, + 0x01,0xa5,0xdc,0x99,0x10,0x01,0xa5,0xdd, + 0x99,0x18,0x01,0x20,0x15,0xe7,0x20,0x6d, + 0xe5,0x90,0x04,0xa0,0x37,0xd0,0x3b,0xa5, + 0xe4,0xa4,0xe5,0x85,0xdc,0x84,0xdd,0x2c, + 0x11,0xd0,0x30,0x4f,0x18,0x69,0x03,0x90, + 0x01,0xc8,0xa2,0xff,0x86,0xd9,0x9a,0x85, + 0xe0,0x84,0xe1,0x20,0x79,0xe6,0x24,0xd9, + 0x10,0x49,0x18,0xa0,0x00,0xa5,0xdc,0x71, + 0xdc,0xa4,0xdd,0x90,0x01,0xc8,0xc5,0x4c, + 0xd0,0xd1,0xc4,0x4d,0xd0,0xcd,0xa0,0x34, + 0x46,0xd9,0x4c,0xe0,0xe3,0xa0,0x4a,0xa5, + 0xfc,0xf0,0xf7,0xc6,0xfc,0xa8,0xb9,0x0f, + 0x01,0x85,0xdc,0xb9,0x17,0x01,0x85,0xdd, + 0xbe,0xff,0x00,0xb9,0x07,0x01,0xa8,0x8a, + 0x4c,0x7a,0xe8,0xa0,0x63,0x20,0xc4,0xe3, + 0xa0,0x01,0xb1,0xdc,0xaa,0xc8,0xb1,0xdc, + 0x20,0x1b,0xe5,0x4c,0xb3,0xe2,0xc6,0xfb, + 0xa0,0x5b,0xa5,0xfb,0xf0,0xc4,0xa8,0xb5, + 0x50,0xd9,0x1f,0x01,0xd0,0xf0,0xb5,0x78, + 0xd9,0x27,0x01,0xd0,0xe9,0xb9,0x2f,0x01, + 0x85,0xda,0xb9,0x37,0x01,0x85,0xdb,0x20, + 0x15,0xe7,0xca,0x20,0x93,0xe7,0x20,0x01, + 0xe8,0xca,0xa4,0xfb,0xb9,0x67,0x01,0x95, + 0x9f,0xb9,0x5f,0x01,0xa0,0x00,0x20,0x08, + 0xe7,0x20,0x82,0xe7,0x20,0x59,0xe7,0x20, + 0x15,0xe7,0xa4,0xfb,0xa5,0xce,0xf0,0x05, + 0x59,0x37,0x01,0x10,0x12,0xb9,0x3f,0x01, + 0x85,0xdc,0xb9,0x47,0x01,0x85,0xdd,0xbe, + 0x4f,0x01,0xb9,0x57,0x01,0xd0,0x87,0xc6, + 0xfb,0x60,0xa0,0x54,0xa5,0xfb,0xc9,0x08, + 0xf0,0x9a,0xe6,0xfb,0xa8,0xb5,0x50,0x99, + 0x20,0x01,0xb5,0x78,0x99,0x28,0x01,0x60, + 0x20,0x15,0xe7,0xa4,0xfb,0xa5,0xce,0x99, + 0x5f,0x01,0xa5,0xcf,0x99,0x67,0x01,0xa9, + 0x01,0x99,0x2f,0x01,0xa9,0x00,0x99,0x37, + 0x01,0xa5,0xdc,0x99,0x3f,0x01,0xa5,0xdd, + 0x99,0x47,0x01,0xa5,0xe0,0x99,0x4f,0x01, + 0xa5,0xe1,0x99,0x57,0x01,0x60,0x20,0x15, + 0xe7,0xa4,0xfb,0xa5,0xce,0x99,0x2f,0x01, + 0xa5,0xcf,0x4c,0x66,0xe9,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xab,0x03,0x03,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0x3f,0x3f,0xc0,0xc0,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x30,0x0f,0xc0, + 0xcc,0xff,0x55,0x00,0xab,0xab,0x03,0x03, + 0xff,0xff,0x55,0xff,0xff,0x55,0xcf,0xcf, + 0xcf,0xcf,0xcf,0xff,0x55,0xc3,0xc3,0xc3, + 0x55,0xf0,0xf0,0xcf,0x56,0x56,0x56,0x55, + 0xff,0xff,0x55,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0xff,0xff,0xff,0x03,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x00,0xab,0x03, + 0x57,0x03,0x03,0x03,0x03,0x07,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0xaa,0xff,0xff,0xff,0xff,0xff, + 0x17,0xff,0xff,0x19,0x5d,0x35,0x4b,0xf2, + 0xec,0x87,0x6f,0xad,0xb7,0xe2,0xf8,0x54, + 0x80,0x96,0x85,0x82,0x22,0x10,0x33,0x4a, + 0x13,0x06,0x0b,0x4a,0x01,0x40,0x47,0x7a, + 0x00,0xff,0x23,0x09,0x5b,0x16,0xb6,0xcb, + 0xff,0xff,0xfb,0xff,0xff,0x24,0xf6,0x4e, + 0x59,0x50,0x00,0xff,0x23,0xa3,0x6f,0x36, + 0x23,0xd7,0x1c,0x22,0xc2,0xae,0xba,0x23, + 0xff,0xff,0x21,0x30,0x1e,0x03,0xc4,0x20, + 0x00,0xc1,0xff,0xff,0xff,0xa0,0x30,0x1e, + 0xa4,0xd3,0xb6,0xbc,0xaa,0x3a,0x01,0x50, + 0x7e,0xd8,0xd8,0xa5,0x3c,0xff,0x16,0x5b, + 0x28,0x03,0xc4,0x1d,0x00,0x0c,0x4e,0x00, + 0x3e,0x00,0xa6,0xb0,0x00,0xbc,0xc6,0x57, + 0x8c,0x01,0x27,0xff,0xff,0xff,0xff,0xff, + 0xe8,0xff,0xff,0xe8,0xe0,0xe0,0xe0,0xef, + 0xef,0xe3,0xe3,0xe5,0xe5,0xe7,0xe7,0xee, + 0xef,0xef,0xe7,0xe7,0xe2,0xef,0xe7,0xe7, + 0xec,0xec,0xec,0xe7,0xec,0xec,0xec,0xe2, + 0x00,0xff,0xe8,0xe1,0xe8,0xe8,0xef,0xeb, + 0xff,0xff,0xe0,0xff,0xff,0xef,0xee,0xef, + 0xe7,0xe7,0x00,0xff,0xe8,0xe7,0xe7,0xe7, + 0xe8,0xe1,0xe2,0xee,0xee,0xee,0xee,0xe8, + 0xff,0xff,0xe1,0xe1,0xef,0xee,0xe7,0xe8, + 0xee,0xe7,0xff,0xff,0xff,0xee,0xe1,0xef, + 0xe7,0xe8,0xef,0xef,0xeb,0xe9,0xe8,0xe9, + 0xe9,0xe8,0xe8,0xe8,0xe8,0xff,0xe8,0xe8, + 0xe8,0xee,0xe7,0xe8,0xef,0xef,0xee,0xef, + 0xee,0xef,0xee,0xee,0xef,0xee,0xee,0xee, + 0xe1,0xe8,0xe8,0xff,0xff,0xff,0xff,0xff, + 0xbe,0xb3,0xb2,0xb7,0xb6,0x37,0xd4,0xcf, + 0xcf,0xa0,0xcc,0xcf,0xce,0x47,0xd3,0xd9, + 0xce,0xd4,0xc1,0x58,0xcd,0xc5,0xcd,0xa0, + 0xc6,0xd5,0xcc,0x4c,0xd4,0xcf,0xcf,0xa0, + 0xcd,0xc1,0xce,0xd9,0xa0,0xd0,0xc1,0xd2, + 0xc5,0xce,0x53,0xd3,0xd4,0xd2,0xc9,0xce, + 0x47,0xce,0xcf,0xa0,0xc5,0xce,0x44,0xc2, + 0xc1,0xc4,0xa0,0xc2,0xd2,0xc1,0xce,0xc3, + 0x48,0xbe,0xb8,0xa0,0xc7,0xcf,0xd3,0xd5, + 0xc2,0x53,0xc2,0xc1,0xc4,0xa0,0xd2,0xc5, + 0xd4,0xd5,0xd2,0x4e,0xbe,0xb8,0xa0,0xc6, + 0xcf,0xd2,0x53,0xc2,0xc1,0xc4,0xa0,0xce, + 0xc5,0xd8,0x54,0xd3,0xd4,0xcf,0xd0,0xd0, + 0xc5,0xc4,0xa0,0xc1,0xd4,0x20,0xaa,0xaa, + 0xaa,0x20,0xa0,0xc5,0xd2,0xd2,0x0d,0xbe, + 0xb2,0xb5,0x35,0xd2,0xc1,0xce,0xc7,0x45, + 0xc4,0xc9,0x4d,0xd3,0xd4,0xd2,0xa0,0xcf, + 0xd6,0xc6,0x4c,0xdc,0x0d,0xd2,0xc5,0xd4, + 0xd9,0xd0,0xc5,0xa0,0xcc,0xc9,0xce,0xc5, + 0x8d,0x3f,0x46,0xd9,0x90,0x03,0x4c,0xc3, + 0xe8,0xa6,0xcf,0x9a,0xa6,0xce,0xa0,0x8d, + 0xd0,0x02,0xa0,0x99,0x20,0xc4,0xe3,0x86, + 0xce,0xba,0x86,0xcf,0xa0,0xfe,0x84,0xd9, + 0xc8,0x84,0xc8,0x20,0x99,0xe2,0x84,0xf1, + 0xa2,0x20,0xa9,0x30,0x20,0x91,0xe4,0xe6, + 0xd9,0xa6,0xce,0xa4,0xc8,0x0a,0x85,0xce, + 0xc8,0xb9,0x00,0x02,0xc9,0x74,0xf0,0xd2, + 0x49,0xb0,0xc9,0x0a,0xb0,0xf0,0xc8,0xc8, + 0x84,0xc8,0xb9,0x00,0x02,0x48,0xb9,0xff, + 0x01,0xa0,0x00,0x20,0x08,0xe7,0x68,0x95, + 0xa0,0xa5,0xce,0xc9,0xc7,0xd0,0x03,0x20, + 0x6f,0xe7,0x4c,0x01,0xe8,0xff,0xff,0xff, + 0x50,0x20,0x13,0xec,0xd0,0x15,0x20,0x0b, + 0xec,0xd0,0x10,0x20,0x82,0xe7,0x20,0x6f, + 0xe7,0x50,0x03,0x20,0x82,0xe7,0x20,0x59, + 0xe7,0x56,0x50,0x4c,0x36,0xe7,0xff,0xff, + 0xc1,0xff,0x7f,0xd1,0xcc,0xc7,0xcf,0xce, + 0xc5,0x9a,0x98,0x8b,0x96,0x95,0x93,0xbf, + 0xb2,0x32,0x2d,0x2b,0xbc,0xb0,0xac,0xbe, + 0x35,0x8e,0x61,0xff,0xff,0xff,0xdd,0xfb, + 0x20,0xc9,0xef,0x15,0x4f,0x10,0x05,0x20, + 0xc9,0xef,0x35,0x4f,0x95,0x50,0x10,0xcb, + 0x4c,0xc9,0xef,0x40,0x60,0x8d,0x60,0x8b, + 0x00,0x7e,0x8c,0x33,0x00,0x00,0x60,0x03, + 0xbf,0x12,0x00,0x40,0x89,0xc9,0x47,0x9d, + 0x17,0x68,0x9d,0x0a,0x00,0x40,0x60,0x8d, + 0x60,0x8b,0x00,0x7e,0x8c,0x3c,0x00,0x00, + 0x60,0x03,0xbf,0x1b,0x4b,0x67,0xb4,0xa1, + 0x07,0x8c,0x07,0xae,0xa9,0xac,0xa8,0x67, + 0x8c,0x07,0xb4,0xaf,0xac,0xb0,0x67,0x9d, + 0xb2,0xaf,0xac,0xaf,0xa3,0x67,0x8c,0x07, + 0xa5,0xab,0xaf,0xb0,0xf4,0xae,0xa9,0xb2, + 0xb0,0x7f,0x0e,0x27,0xb4,0xae,0xa9,0xb2, + 0xb0,0x7f,0x0e,0x28,0xb4,0xae,0xa9,0xb2, + 0xb0,0x64,0x07,0xa6,0xa9,0x67,0xaf,0xb4, + 0xaf,0xa7,0x78,0xb4,0xa5,0xac,0x78,0x7f, + 0x02,0xad,0xa5,0xb2,0x67,0xa2,0xb5,0xb3, + 0xaf,0xa7,0xee,0xb2,0xb5,0xb4,0xa5,0xb2, + 0x7e,0x8c,0x39,0xb4,0xb8,0xa5,0xae,0x67, + 0xb0,0xa5,0xb4,0xb3,0x27,0xaf,0xb4,0x07, + 0x9d,0x19,0xb2,0xaf,0xa6,0x7f,0x05,0x37, + 0xb4,0xb5,0xb0,0xae,0xa9,0x7f,0x05,0x28, + 0xb4,0xb5,0xb0,0xae,0xa9,0x7f,0x05,0x2a, + 0xb4,0xb5,0xb0,0xae,0xa9,0xe4,0xae,0xa5, + 0x00,0xff,0xff,0x47,0xa2,0xa1,0xb4,0x7f, + 0x0d,0x30,0xad,0xa9,0xa4,0x7f,0x0d,0x23, + 0xad,0xa9,0xa4,0x67,0xac,0xac,0xa1,0xa3, + 0x00,0x40,0x80,0xc0,0xc1,0x80,0x00,0x47, + 0x8c,0x68,0x8c,0xdb,0x67,0x9b,0x68,0x9b, + 0x50,0x8c,0x63,0x8c,0x7f,0x01,0x51,0x07, + 0x88,0x29,0x84,0x80,0xc4,0x80,0x57,0x71, + 0x07,0x88,0x14,0xed,0xa5,0xad,0xaf,0xac, + 0xed,0xa5,0xad,0xa9,0xa8,0xf2,0xaf,0xac, + 0xaf,0xa3,0x71,0x08,0x88,0xae,0xa5,0xac, + 0x68,0x83,0x08,0x68,0x9d,0x08,0x71,0x07, + 0x88,0x60,0x76,0xb4,0xaf,0xae,0x76,0x8d, + 0x76,0x8b,0x51,0x07,0x88,0x19,0xb8,0xa4, + 0xae,0xb2,0xf2,0xb3,0xb5,0xf3,0xa2,0xa1, + 0xee,0xa7,0xb3,0xe4,0xae,0xb2,0xeb,0xa5, + 0xa5,0xb0,0x51,0x07,0x88,0x39,0x81,0xc1, + 0x4f,0x7f,0x0f,0x2f,0x00,0x51,0x06,0x88, + 0x29,0xc2,0x0c,0x82,0x57,0x8c,0x6a,0x8c, + 0x42,0xae,0xa5,0xa8,0xb4,0x60,0xae,0xa5, + 0xa8,0xb4,0x4f,0x7e,0x1e,0x35,0x8c,0x27, + 0x51,0x07,0x88,0x09,0x8b,0xfe,0xe4,0xaf, + 0xad,0xf2,0xaf,0xe4,0xae,0xa1,0xdc,0xde, + 0x9c,0xdd,0x9c,0xde,0xdd,0x9e,0xc3,0xdd, + 0xcf,0xca,0xcd,0xcb,0x00,0x47,0x9d,0xad, + 0xa5,0xad,0xaf,0xac,0x76,0x9d,0xad,0xa5, + 0xad,0xa9,0xa8,0xe6,0xa6,0xaf,0x60,0x8c, + 0x20,0xaf,0xb4,0xb5,0xa1,0xf2,0xac,0xa3, + 0xf2,0xa3,0xb3,0x60,0x8c,0x20,0xac,0xa5, + 0xa4,0xee,0xb5,0xb2,0x60,0xae,0xb5,0xb2, + 0xf4,0xb3,0xa9,0xac,0x60,0x8c,0x20,0xb4, + 0xb3,0xa9,0xac,0x7a,0x7e,0x9a,0x22,0x20, + 0x00,0x60,0x03,0xbf,0x60,0x03,0xbf,0x1f, + 0x20,0xb1,0xe7,0xe8,0xe8,0xb5,0x4f,0x85, + 0xda,0xb5,0x77,0x85,0xdb,0xb4,0x4e,0x98, + 0xd5,0x76,0xb0,0x09,0xb1,0xda,0x20,0xc9, + 0xe3,0xc8,0x4c,0x0f,0xee,0xa9,0xff,0x85, + 0xd5,0x60,0xe8,0xa9,0x00,0x95,0x78,0x95, + 0xa0,0xb5,0x77,0x38,0xf5,0x4f,0x95,0x50, + 0x4c,0x23,0xe8,0xff,0x20,0x15,0xe7,0xa5, + 0xcf,0xd0,0x28,0xa5,0xce,0x60,0x20,0x34, + 0xee,0xa4,0xc8,0xc9,0x30,0xb0,0x21,0xc0, + 0x28,0xb0,0x1d,0x60,0xea,0xea,0x20,0x34, + 0xee,0x60,0xea,0x8a,0xa2,0x01,0xb4,0xce, + 0x94,0x4c,0xb4,0x48,0x94,0xca,0xca,0xf0, + 0xf5,0xaa,0x60,0xa0,0x77,0x4c,0xe0,0xe3, + 0xa0,0x7b,0xd0,0xf9,0x20,0x54,0xe2,0xa5, + 0xda,0xd0,0x07,0xa5,0xdb,0xd0,0x03,0x4c, + 0x7e,0xe7,0x06,0xce,0x26,0xcf,0x26,0xe6, + 0x26,0xe7,0xa5,0xe6,0xc5,0xda,0xa5,0xe7, + 0xe5,0xdb,0x90,0x0a,0x85,0xe7,0xa5,0xe6, + 0xe5,0xda,0x85,0xe6,0xe6,0xce,0x88,0xd0, + 0xe1,0x60,0xff,0xff,0xff,0xff,0xff,0xff, + 0x20,0x15,0xe7,0x6c,0xce,0x00,0xa5,0x4c, + 0xd0,0x02,0xc6,0x4d,0xc6,0x4c,0xa5,0x48, + 0xd0,0x02,0xc6,0x49,0xc6,0x48,0xa0,0x00, + 0xb1,0x4c,0x91,0x48,0xa5,0xca,0xc5,0x4c, + 0xa5,0xcb,0xe5,0x4d,0x90,0xe0,0x4c,0x53, + 0xee,0xc9,0x28,0xb0,0x9b,0xa8,0xa5,0xc8, + 0x60,0xea,0xea,0x98,0xaa,0xa0,0x6e,0x20, + 0xc4,0xe3,0x8a,0xa8,0x20,0xc4,0xe3,0xa0, + 0x72,0x4c,0xc4,0xe3,0x20,0x15,0xe7,0x06, + 0xce,0x26,0xcf,0x30,0xfa,0xb0,0xdc,0xd0, + 0x04,0xc5,0xce,0xb0,0xd6,0x60,0x20,0x15, + 0xe7,0xb1,0xce,0x94,0x9f,0x4c,0x08,0xe7, + 0x20,0x34,0xee,0xa5,0xce,0x48,0x20,0x15, + 0xe7,0x68,0x91,0xce,0x60,0xff,0xff,0xff, + 0x20,0x6c,0xee,0xa5,0xce,0x85,0xe6,0xa5, + 0xcf,0x85,0xe7,0x4c,0x44,0xe2,0x20,0xe4, + 0xee,0x4c,0x34,0xe1,0x20,0xe4,0xee,0xb4, + 0x78,0xb5,0x50,0x69,0xfe,0xb0,0x01,0x88, + 0x85,0xda,0x84,0xdb,0x18,0x65,0xce,0x95, + 0x50,0x98,0x65,0xcf,0x95,0x78,0xa0,0x00, + 0xb5,0x50,0xd1,0xda,0xc8,0xb5,0x78,0xf1, + 0xda,0xb0,0x80,0x4c,0x23,0xe8,0x20,0x15, + 0xe7,0xa5,0x4e,0x20,0x08,0xe7,0xa5,0x4f, + 0xd0,0x04,0xc5,0x4e,0x69,0x00,0x29,0x7f, + 0x85,0x4f,0x95,0xa0,0xa0,0x11,0xa5,0x4f, + 0x0a,0x18,0x69,0x40,0x0a,0x26,0x4e,0x26, + 0x4f,0x88,0xd0,0xf2,0xa5,0xce,0x20,0x08, + 0xe7,0xa5,0xcf,0x95,0xa0,0x4c,0x7a,0xe2, + 0x20,0x15,0xe7,0xa4,0xce,0xc4,0x4c,0xa5, + 0xcf,0xe5,0x4d,0x90,0x1f,0x84,0x48,0xa5, + 0xcf,0x85,0x49,0x4c,0xb6,0xee,0x20,0x15, + 0xe7,0xa4,0xce,0xc4,0xca,0xa5,0xcf,0xe5, + 0xcb,0xb0,0x09,0x84,0x4a,0xa5,0xcf,0x85, + 0x4b,0x4c,0xb7,0xe5,0x4c,0xcb,0xee,0xea, + 0xea,0xea,0xea,0x20,0xc9,0xef,0x20,0x71, + 0xe1,0x4c,0xbf,0xef,0x20,0x03,0xee,0xa9, + 0xff,0x85,0xc8,0xa9,0x74,0x8d,0x00,0x02, + 0x60,0x20,0x36,0xe7,0xe8,0x20,0x36,0xe7, + 0xb5,0x50,0x60,0xa9,0x00,0x85,0x4a,0x85, + 0x4c,0xa9,0x08,0x85,0x4b,0xa9,0x10,0x85, + 0x4d,0x4c,0xad,0xe5,0xd5,0x78,0xd0,0x01, + 0x18,0x4c,0x02,0xe1,0x20,0xb7,0xe5,0x4c, + 0x36,0xe8,0x20,0xb7,0xe5,0x4c,0x5b,0xe8, + 0xe0,0x80,0xd0,0x01,0x88,0x4c,0x0c,0xe0, + 0xa9,0x03,0x85,0xf8,0xa9,0x20,0x85,0xff, + 0xa9,0x7c,0x85,0xf9,0xa2,0x1b,0xbd,0x67, + 0xfd,0x20,0xef,0xff,0xca,0xd0,0xf7,0xca, + 0x9a,0x20,0x71,0xf0,0xd8,0xa9,0x00,0x85, + 0x5b,0x20,0xce,0xf0,0xa2,0x0f,0x86,0x58, + 0x86,0x59,0x20,0xe5,0xfe,0xa9,0x3f,0x20, + 0xef,0xff,0x20,0xe0,0xfe,0x20,0xea,0xfe, + 0xc9,0x08,0xf0,0xe0,0xc9,0x0d,0xf0,0x08, + 0x20,0xef,0xff,0x95,0x00,0xe8,0xd0,0xed, + 0xa5,0x0f,0xf0,0xd0,0xa5,0x10,0xf0,0x04, + 0xc9,0x20,0xd0,0x0c,0xa2,0x0d,0xbd,0x27, + 0xfd,0xc5,0x0f,0xf0,0x0e,0xca,0xd0,0xf6, + 0x48,0x48,0xa0,0x03,0x68,0x68,0x20,0x69, + 0xf4,0xd0,0xb1,0x20,0xd6,0xf0,0x4c,0x1c, + 0xf0,0xa9,0x00,0xa8,0x85,0xfe,0x91,0xfe, + 0xa5,0xff,0x85,0xfd,0xa9,0x00,0x85,0xfa, + 0x85,0xfb,0x85,0xfc,0x60,0x20,0x71,0xf0, + 0xa5,0x11,0xd0,0x02,0xa9,0x01,0x91,0xfe, + 0x60,0x20,0xab,0xf0,0xf0,0xcc,0x20,0xe5, + 0xfe,0xa5,0x3f,0xa6,0x3e,0x4c,0x67,0xfb, + 0x20,0xab,0xf0,0xf0,0xbd,0x20,0xe5,0xfe, + 0x6c,0x3e,0x00,0xa2,0x02,0xb5,0x0f,0xf0, + 0x08,0x48,0x20,0xd3,0xf7,0x68,0xe8,0xf0, + 0xab,0x60,0xa5,0xf5,0x85,0x3e,0xa5,0xf6, + 0x85,0x3f,0x60,0xa5,0x3e,0x85,0xf5,0xa5, + 0x3f,0x85,0xf6,0x60,0xa9,0x20,0xa2,0x27, + 0x95,0xff,0xca,0xd0,0xfb,0x60,0xbd,0x34, + 0xfd,0x48,0xbd,0x41,0xfd,0x48,0x60,0x20, + 0x71,0xf0,0x4c,0x58,0xf1,0x20,0x78,0xf0, + 0x20,0x1d,0xf1,0xf0,0x03,0x20,0x53,0xf2, + 0xa0,0x00,0xb1,0xfc,0xf0,0x0e,0x20,0x72, + 0xf2,0x20,0xdc,0xf4,0xad,0x11,0xd0,0x10, + 0xef,0xad,0x10,0xd0,0x60,0x20,0x4f,0xf2, + 0x20,0xe5,0xfe,0xa2,0x04,0xb5,0xfb,0x20, + 0xdc,0xff,0xe0,0x03,0xd0,0x03,0x20,0xb9, + 0xfe,0xca,0xd0,0xf1,0x60,0xa0,0x00,0x84, + 0x30,0xa2,0x01,0xb5,0x0f,0xf0,0x25,0xc9, + 0x20,0xf0,0x07,0xc9,0x24,0xf0,0x03,0xe8, + 0xd0,0xf1,0xe6,0x30,0xa9,0x24,0x95,0x0f, + 0x20,0x5b,0xf9,0xe8,0xf0,0x5f,0xa5,0x3e, + 0x99,0x54,0x00,0xc8,0xa5,0x3f,0x99,0x54, + 0x00,0xc8,0xd0,0xd7,0xa4,0x30,0x60,0x20, + 0x1d,0xf1,0x88,0xd0,0x48,0x20,0xc7,0xf1, + 0x20,0x1d,0xf1,0xe8,0xf0,0x3f,0x98,0xd0, + 0x06,0x20,0x4f,0xf2,0x18,0x90,0x03,0x20, + 0x53,0xf2,0x20,0xde,0xf2,0xe0,0xff,0xf0, + 0xab,0x86,0x2f,0xa5,0xfd,0x85,0x51,0x85, + 0x53,0xa5,0xfc,0x85,0x50,0x18,0x65,0x2f, + 0x85,0x52,0x90,0x02,0xe6,0x53,0x20,0xa0, + 0xf1,0x20,0x25,0xf2,0xa0,0x00,0xb9,0x00, + 0x00,0x91,0xfc,0xc8,0xc4,0x2f,0xd0,0xf6, + 0x20,0xdc,0xf4,0xd0,0xcd,0x4c,0x62,0xf0, + 0xa2,0xfc,0xb5,0xfe,0x48,0xe8,0xd0,0xfa, + 0x20,0x4f,0xf2,0x38,0xa5,0xfc,0xe5,0x50, + 0x85,0x54,0xa5,0xfd,0xe5,0x51,0x85,0x55, + 0xe6,0x54,0xd0,0x02,0xe6,0x55,0xa2,0x04, + 0x68,0x95,0xf9,0xca,0xd0,0xfa,0x60,0x20, + 0x1d,0xf1,0xf0,0xd1,0x84,0x30,0x20,0x53, + 0xf2,0xe0,0xff,0xf0,0xc8,0xa5,0xfc,0x85, + 0x52,0xa5,0xfd,0x85,0x53,0xa5,0x30,0x4a, + 0xf0,0x0c,0xa6,0x57,0xa4,0x56,0xe4,0x55, + 0xd0,0x02,0xc4,0x54,0x90,0xaf,0xc8,0xd0, + 0x01,0xe8,0x86,0x55,0x84,0x54,0x20,0x53, + 0xf2,0xa5,0xfc,0x85,0x50,0xa5,0xfd,0x85, + 0x51,0x20,0xa0,0xf1,0xa0,0x00,0xa6,0x55, + 0xf0,0x0e,0xb1,0x50,0x91,0x52,0xc8,0xd0, + 0xf9,0xe6,0x51,0xe6,0x53,0xca,0xd0,0xf2, + 0xa6,0x54,0xf0,0x08,0xb1,0x50,0x91,0x52, + 0xc8,0xca,0xd0,0xf8,0x60,0xa6,0x55,0x18, + 0x8a,0x65,0x51,0x85,0x51,0x18,0x8a,0x65, + 0x53,0x85,0x53,0xe8,0xa4,0x54,0xf0,0x0e, + 0x88,0xf0,0x07,0xb1,0x50,0x91,0x52,0x88, + 0xd0,0xf9,0xb1,0x50,0x91,0x52,0x88,0xc6, + 0x51,0xc6,0x53,0xca,0xd0,0xed,0x60,0xa9, + 0xff,0x85,0x55,0x20,0x78,0xf0,0xa4,0x54, + 0xc4,0xfa,0xd0,0x06,0xa6,0x55,0xe4,0xfb, + 0xf0,0x51,0xa0,0xff,0xc8,0xb1,0xfc,0xd0, + 0xfb,0x98,0xf0,0x45,0xc8,0x20,0xdc,0xf4, + 0xd0,0xe4,0x20,0xe5,0xfe,0x86,0x2f,0x20, + 0xee,0xf3,0xc8,0x20,0xd6,0xfe,0xa2,0x00, + 0xb5,0x04,0xf0,0x06,0x20,0xef,0xff,0xe8, + 0xd0,0xf6,0xa6,0x2f,0x60,0x20,0xea,0xfe, + 0xc9,0x09,0xd0,0x02,0xa9,0x20,0xc9,0x20, + 0x10,0x1a,0xa8,0x68,0x68,0x68,0x68,0xc0, + 0x08,0xf0,0x3b,0xc0,0x0d,0xd0,0x0a,0xe0, + 0x04,0xf0,0x29,0xa9,0x00,0x95,0x00,0xf0, + 0x5c,0xa2,0xff,0x60,0xe0,0x27,0x10,0x1a, + 0xc9,0x5e,0x10,0x16,0x38,0x60,0xc9,0x2e, + 0xf0,0xfa,0xc9,0x30,0x30,0x0c,0xc9,0x3a, + 0x30,0xf2,0xc9,0x41,0x30,0x04,0xc9,0x5b, + 0x30,0xea,0x18,0x60,0xa9,0x02,0xaa,0x85, + 0x00,0xa9,0x00,0x85,0x01,0x60,0x20,0xcc, + 0xf0,0xa9,0x00,0x85,0x1d,0x20,0xe5,0xfe, + 0x20,0xd6,0xfe,0xa2,0x04,0xa9,0x0a,0x20, + 0x9c,0xf3,0x20,0xc4,0xf3,0xa5,0x04,0xc9, + 0x3b,0xf0,0x0d,0xa9,0x0e,0x20,0x9c,0xf3, + 0x20,0xc4,0xf3,0xa9,0x1d,0x20,0x9c,0xf3, + 0xa9,0x00,0x20,0x9c,0xf3,0xa2,0x00,0x86, + 0x51,0xa9,0x20,0x85,0x55,0xa9,0x04,0x85, + 0x50,0xa9,0x01,0x85,0x54,0x20,0xd7,0xf3, + 0xa4,0x04,0xc0,0x3b,0xd0,0x04,0xa9,0x0b, + 0xd0,0x5f,0x8a,0x48,0x18,0x66,0x56,0xa2, + 0x03,0x38,0xb5,0x0a,0xe9,0x40,0xa0,0x05, + 0x4a,0x66,0x56,0x66,0x57,0x88,0xd0,0xf8, + 0xca,0xd0,0xee,0xa2,0x38,0xbd,0xe8,0xfb, + 0xc5,0x56,0xd0,0x07,0xbd,0x20,0xfc,0xc5, + 0x57,0xf0,0x03,0xca,0xd0,0xef,0xca,0x8a, + 0xc9,0xff,0xd0,0x19,0xa5,0x0b,0xc9,0x2e, + 0xd0,0x0c,0xa2,0x05,0xa5,0x0c,0xdd,0x4e, + 0xfd,0xf0,0x09,0xca,0xd0,0xf8,0x68,0xa0, + 0x01,0x4c,0x69,0xf4,0xca,0xa8,0xc8,0x68, + 0xaa,0x94,0x00,0xe8,0xa9,0x0f,0x85,0x50, + 0x20,0xd7,0xf3,0x86,0x2f,0xe6,0x2f,0xa9, + 0x1d,0x85,0x50,0xa9,0x00,0x85,0x54,0x85, + 0x55,0x20,0xd7,0xf3,0xe4,0x2f,0xd0,0x03, + 0xca,0x95,0xff,0x60,0x85,0x54,0x20,0x8d, + 0xf2,0x90,0xfb,0x20,0xef,0xff,0x95,0x00, + 0xe8,0xc9,0x20,0xf0,0x05,0xe4,0x54,0xd0, + 0xed,0x60,0xa5,0x54,0xf0,0xe8,0xe4,0x54, + 0xf0,0xf7,0xa9,0x20,0x95,0x00,0x20,0xef, + 0xff,0xe8,0xd0,0xee,0xb5,0xff,0xc9,0x20, + 0xf0,0x07,0x20,0x8d,0xf2,0xc9,0x20,0xd0, + 0xf9,0x95,0x00,0xe8,0x4c,0xef,0xff,0xa0, + 0x00,0xb1,0x50,0xf0,0x0b,0xc5,0x55,0xf0, + 0x07,0x95,0x00,0xe8,0xe6,0x50,0xd0,0xf1, + 0xa5,0x54,0x95,0x00,0xe8,0x60,0x20,0xcc, + 0xf0,0xa0,0x00,0xa2,0x04,0xb1,0xfc,0xf0, + 0x4d,0xc9,0x02,0xd0,0x05,0xc8,0xa9,0x00, + 0xf0,0x46,0xc9,0x01,0xf0,0x06,0x95,0x00, + 0xe8,0xc8,0xd0,0xe9,0xa5,0x04,0xc9,0x3b, + 0xd0,0x04,0xa2,0x0b,0xd0,0x2d,0xc8,0xb1, + 0xfc,0xaa,0xca,0x86,0x3c,0xe0,0x38,0x10, + 0x09,0x98,0x48,0x20,0x99,0xfa,0x68,0xa8, + 0xd0,0x06,0x86,0x0c,0xa9,0x2e,0x85,0x0b, + 0xc8,0xa2,0x0f,0xb1,0xfc,0xf0,0x11,0xc9, + 0x01,0xd0,0x05,0xc8,0xa2,0x1d,0xd0,0xf3, + 0x95,0x00,0xe8,0xc8,0xd0,0xed,0xa2,0xfe, + 0x95,0x00,0x60,0x20,0x94,0xf4,0x20,0xe5, + 0xfe,0x20,0xf8,0xf5,0x20,0xb8,0xf4,0xe8, + 0xf0,0x0f,0xe0,0xff,0xd0,0xf6,0xe6,0x58, + 0x20,0x10,0xf6,0xe8,0xf0,0x03,0x4c,0xf8, + 0xf5,0x20,0xe5,0xfe,0xa2,0x05,0xbd,0x53, + 0xfd,0x20,0xef,0xff,0xca,0xd0,0xf7,0x98, + 0x18,0x8a,0x69,0x03,0x88,0xd0,0xfb,0xa8, + 0xa2,0x03,0xb9,0x56,0xfd,0x20,0xef,0xff, + 0xc8,0xca,0xd0,0xf6,0xca,0xa5,0x59,0xd0, + 0x26,0x4c,0x72,0xf2,0x20,0x78,0xf0,0x85, + 0x58,0x85,0xeb,0x85,0xe9,0x85,0xf5,0xa5, + 0xf8,0x85,0xf6,0x20,0xeb,0xf5,0x86,0xea, + 0xa9,0x00,0x85,0x2b,0x85,0x29,0x85,0x46, + 0xa4,0xf9,0xc8,0x84,0x2a,0x84,0x47,0x60, + 0x20,0xee,0xf3,0xe0,0xfe,0xf0,0x1d,0xe0, + 0x04,0xf0,0x18,0xa9,0x00,0x85,0x59,0x85, + 0x58,0x85,0x5a,0x20,0x44,0xf5,0xe0,0xff, + 0xf0,0x1d,0xa0,0x00,0xb1,0xfc,0xf0,0x03, + 0xc8,0xd0,0xf9,0xc8,0xa5,0xfc,0x84,0x44, + 0x18,0x65,0x44,0x85,0xfc,0x90,0x02,0xe6, + 0xfd,0xe6,0xfa,0xd0,0x02,0xe6,0xfb,0x60, + 0xa4,0x3c,0xb9,0x73,0xfc,0xa6,0x3d,0x18, + 0x7d,0xab,0xfc,0xe0,0x0b,0xf0,0x0e,0xe0, + 0x02,0xd0,0x11,0xc0,0x28,0x30,0x0d,0xc0, + 0x30,0xb0,0x09,0x69,0x08,0xc0,0x35,0xd0, + 0x03,0x18,0x69,0x04,0x20,0x2f,0xf5,0xc9, + 0x00,0xd0,0x03,0x20,0x2f,0xf5,0x8a,0xf0, + 0xce,0xca,0xf0,0xcb,0xa5,0x3e,0xe0,0x08, + 0x30,0x05,0x20,0x2f,0xf5,0xa5,0x3f,0xa0, + 0x00,0x91,0xf5,0xe6,0xf5,0xd0,0x02,0xe6, + 0xf6,0x60,0x20,0xa9,0xf6,0xe0,0xff,0xd0, + 0xaf,0xa0,0x02,0x60,0xa5,0x04,0xc9,0x3b, + 0xf0,0xa5,0xa6,0x0b,0xe0,0x2e,0xd0,0x0d, + 0xa6,0x0c,0xe0,0x4d,0xd0,0x03,0x4c,0xb6, + 0xf5,0xe0,0x3d,0xf0,0x47,0xc9,0x20,0xf0, + 0x03,0x20,0xdf,0xf8,0xa5,0x0b,0xc9,0x2e, + 0xd0,0xd0,0xa2,0x00,0xa5,0x0c,0xc9,0x53, + 0xf0,0x19,0x85,0x58,0x20,0x7a,0xf7,0xe8, + 0xf0,0x0c,0xa5,0x3e,0xa6,0x0c,0xe0,0x57, + 0xf0,0xa8,0xa6,0x3f,0xf0,0xa9,0xa0,0x03, + 0xa2,0xff,0x60,0xb5,0x0f,0xc9,0x27,0xd0, + 0xf5,0xe8,0xb5,0x0f,0xf0,0xf0,0xc9,0x27, + 0xf0,0x09,0x20,0x2f,0xf5,0xe0,0x0e,0xd0, + 0xf0,0xf0,0xe3,0x60,0x85,0x58,0x20,0xc2, + 0xf2,0x90,0xdb,0xa2,0x00,0x20,0x7a,0xf7, + 0xe8,0xf0,0xd3,0x4c,0xe2,0xf8,0x20,0xc2, + 0xf2,0x90,0xcb,0xa0,0x00,0xa5,0x0f,0xf0, + 0x14,0xc9,0x20,0xf0,0x10,0x20,0xf6,0xf5, + 0xa2,0x00,0xa5,0x0f,0x20,0x5b,0xf9,0xe8, + 0xf0,0xb4,0x20,0xc3,0xf0,0x20,0xdf,0xf8, + 0xe0,0xff,0xf0,0xc7,0x20,0x10,0xf6,0xe0, + 0xff,0xf0,0xc0,0x20,0xc4,0xfe,0xa9,0x00, + 0x20,0xf6,0xf5,0xa2,0x00,0x86,0xee,0x86, + 0xec,0xa6,0xf9,0x86,0xed,0x60,0x85,0x58, + 0xa5,0xf6,0xa6,0xf5,0xa4,0x58,0xf0,0x0d, + 0x48,0x20,0xb9,0xfe,0x68,0xe0,0x00,0xd0, + 0x03,0x38,0xe9,0x01,0xca,0x4c,0x67,0xfb, + 0xa6,0x2b,0xf0,0x72,0x86,0x59,0x86,0x45, + 0xa5,0xf5,0x48,0xa5,0xf6,0x48,0x20,0xa8, + 0xf4,0xa0,0x00,0xa5,0x58,0x85,0x48,0x84, + 0x5a,0xb1,0x46,0xc9,0x2e,0xd0,0x02,0x85, + 0x58,0xb1,0x46,0x99,0x1d,0x00,0xc8,0xc0, + 0x06,0xd0,0xf6,0xb1,0x46,0x85,0xf5,0xc8, + 0xb1,0x46,0x85,0xf6,0xc8,0xb1,0x46,0x85, + 0x54,0x20,0x7e,0xf8,0xe0,0xff,0xf0,0x47, + 0xa5,0x5a,0xf0,0x04,0xa5,0x54,0x91,0x50, + 0x20,0xc3,0xf7,0xa0,0x00,0xb1,0xf5,0x29, + 0x1f,0xc9,0x10,0xf0,0x22,0x20,0x33,0xf5, + 0xa5,0x3e,0x20,0x2a,0xf5,0x18,0xa5,0x46, + 0x69,0x09,0x85,0x46,0x90,0x02,0xe6,0x47, + 0xa5,0x48,0x85,0x58,0xc6,0x45,0xd0,0xa1, + 0x68,0x85,0xf6,0x68,0x85,0xf5,0x60,0x20, + 0x62,0xf7,0xe0,0xff,0xf0,0x09,0xa0,0x01, + 0xa5,0x3e,0x91,0xf5,0x4c,0x6d,0xf6,0xa0, + 0x00,0x20,0xe0,0xfe,0xb1,0x46,0x20,0xef, + 0xff,0xc8,0xc0,0x06,0xd0,0xf6,0x88,0xd0, + 0xd7,0xa2,0xff,0x86,0x3d,0xa5,0x3c,0xa6, + 0x0f,0xf0,0x04,0xe0,0x20,0xd0,0x0e,0xa2, + 0x00,0x20,0x3d,0xf7,0xe0,0xff,0xd0,0x35, + 0xa2,0x01,0x4c,0x3d,0xf7,0xe0,0x23,0xf0, + 0x0e,0xa2,0x03,0x20,0x3d,0xf7,0xe0,0xff, + 0xf0,0x24,0xa5,0x0f,0x4c,0x4f,0xf7,0xc9, + 0x2c,0xf0,0x71,0xa2,0x02,0xc9,0x35,0xf0, + 0x07,0x20,0x3d,0xf7,0xe0,0xff,0xf0,0x0d, + 0x86,0x3d,0xca,0x20,0x7a,0xf7,0xe8,0xf0, + 0x5b,0xa5,0x3f,0xd0,0x57,0x60,0xa2,0x00, + 0xa5,0x0f,0xc9,0x28,0xd0,0x01,0xe8,0x20, + 0xd3,0xf7,0xe0,0xff,0xf0,0xef,0x20,0x9c, + 0xf9,0xe0,0xff,0xf0,0xe8,0x86,0x3d,0xe0, + 0x06,0xd0,0x0e,0xa5,0x3c,0xc9,0x28,0x90, + 0x08,0xc9,0x30,0xb0,0x04,0xa2,0x0b,0xd0, + 0x28,0xa0,0x06,0xb9,0x15,0xfd,0xc5,0x3c, + 0xd0,0x0e,0xbe,0x1b,0xfd,0xe4,0x3d,0xf0, + 0x18,0xbe,0x21,0xfd,0xe4,0x3d,0xf0,0x11, + 0x88,0xd0,0xe8,0xa6,0x3d,0xa5,0x3c,0xdd, + 0x59,0xfc,0x90,0x08,0xdd,0x66,0xfc,0xb0, + 0x03,0x86,0x3d,0x60,0xa2,0xff,0x60,0xa2, + 0x00,0x86,0x3e,0x86,0x3f,0xc9,0x2a,0xd0, + 0x06,0x20,0xba,0xf0,0x20,0xfd,0xf7,0x20, + 0xd3,0xf7,0x38,0xa5,0x3e,0xe5,0xf5,0x85, + 0x3e,0xa5,0x3f,0xe5,0xf6,0x85,0x3f,0xf0, + 0x04,0xe6,0x3f,0xd0,0xd7,0xc6,0x3e,0xc6, + 0x3e,0x60,0xb5,0x0f,0xf0,0xce,0xc9,0x27, + 0xf0,0x03,0x4c,0xd3,0xf7,0xe8,0xa9,0x00, + 0x85,0x3f,0xb5,0x0f,0x85,0x3e,0xe8,0xb5, + 0x0f,0xc9,0x27,0xd0,0xb7,0xe8,0xb5,0x0f, + 0xf0,0x7c,0xc9,0x20,0xf0,0x78,0x48,0xe8, + 0xb5,0x0f,0x20,0x51,0xfa,0xe0,0xff,0xd0, + 0x02,0x68,0x60,0x85,0x54,0x68,0xc9,0x2b, + 0xf0,0x09,0xa5,0x54,0x18,0x49,0xff,0x69, + 0x01,0x85,0x54,0xa5,0x5a,0xf0,0x04,0xa5, + 0x54,0x91,0x50,0xa5,0x54,0x10,0x02,0xc6, + 0x3f,0x18,0x65,0x3e,0x85,0x3e,0x90,0x02, + 0xe6,0x3f,0x60,0x86,0x56,0xb5,0x0f,0xc9, + 0x3c,0xf0,0x04,0xc9,0x3e,0xd0,0x05,0x85, + 0x58,0xe8,0xb5,0x0f,0x20,0xbe,0xf2,0xb0, + 0x09,0x20,0x5b,0xf9,0xe0,0xff,0xf0,0x24, + 0xd0,0x0b,0x86,0x2f,0x20,0x60,0xf8,0xe0, + 0xff,0xf0,0x1b,0xa6,0x2f,0xe8,0xb5,0x0f, + 0x20,0xbe,0xf2,0xb0,0xf8,0xc9,0x2b,0xf0, + 0x04,0xc9,0x2d,0xd0,0x0a,0x20,0x9e,0xf7, + 0xe0,0xff,0xd0,0xe9,0xa0,0x03,0x60,0xa0, + 0x00,0xa5,0x58,0xc9,0x3c,0xf0,0x08,0xc9, + 0x3e,0xd0,0x06,0xa5,0x3f,0x85,0x3e,0x84, + 0x3f,0xb5,0x0f,0x99,0x1d,0x00,0xf0,0x0a, + 0xc9,0x20,0xf0,0x06,0xe8,0xc8,0xe0,0x0e, + 0xd0,0xef,0xa9,0x00,0x99,0x1d,0x00,0xa4, + 0x56,0xa9,0x24,0x99,0x0f,0x00,0xc8,0xa5, + 0x3f,0xf0,0x03,0x20,0x82,0xfa,0xa5,0x3e, + 0x20,0x82,0xfa,0xa2,0x00,0xb5,0x1d,0x99, + 0x0f,0x00,0xf0,0xba,0xe8,0xc8,0xd0,0xf5, + 0xa0,0x00,0xc0,0x06,0xf0,0x18,0x20,0xbe, + 0xf2,0x90,0x09,0x99,0x1d,0x00,0xe8,0xb5, + 0x0f,0xc8,0xd0,0xee,0xa9,0x20,0x99,0x1d, + 0x00,0xc8,0xc0,0x06,0xd0,0xf8,0xa9,0x1d, + 0x85,0x42,0xa2,0x00,0x86,0x43,0xa9,0x06, + 0x85,0x2e,0xa9,0x08,0x85,0x2d,0xa5,0x1d, + 0xc9,0x2e,0xf0,0x11,0x20,0x8a,0xf9,0xf0, + 0x13,0xa0,0x06,0xb1,0x40,0x85,0x3e,0xc8, + 0xb1,0x40,0x85,0x3f,0x60,0xa2,0x03,0x20, + 0x8a,0xf9,0xd0,0xed,0xa5,0x58,0xd0,0x4f, + 0x20,0xba,0xf0,0xa5,0x2a,0x85,0x51,0xa5, + 0x29,0xa6,0x2b,0xf0,0x0a,0x18,0x69,0x09, + 0x90,0x02,0xe6,0x51,0xca,0xd0,0xf6,0x85, + 0x50,0xe6,0x2b,0xa5,0x2b,0xc9,0x55,0x10, + 0x32,0xa9,0x1d,0x85,0x5a,0x85,0x52,0x20, + 0x43,0xf9,0xc8,0x8a,0x91,0x50,0x60,0x20, + 0xba,0xf0,0xa9,0x04,0x85,0x52,0x85,0x42, + 0xa2,0x00,0x86,0x43,0xa9,0x06,0x85,0x2e, + 0xa5,0x04,0xc9,0x2e,0xd0,0x02,0xa2,0x03, + 0x20,0x8a,0xf9,0xf0,0x0b,0x68,0x68,0xa0, + 0x05,0xd0,0x02,0xa0,0x04,0xa2,0xff,0x60, + 0xa6,0x04,0xe0,0x2e,0xf0,0x17,0x38,0xa5, + 0xe9,0xe9,0x08,0xb0,0x02,0xc6,0xea,0x85, + 0xe9,0xe6,0xeb,0xf0,0xe6,0x85,0x50,0xa5, + 0xea,0x85,0x51,0xd0,0x1e,0xa5,0xed,0x85, + 0x51,0xa5,0xec,0xa6,0xee,0xf0,0x0a,0x18, + 0x69,0x08,0x90,0x02,0xe6,0x51,0xca,0xd0, + 0xf6,0x85,0x50,0xe6,0xee,0xa5,0xee,0xc9, + 0x20,0x10,0xc0,0xa0,0x00,0x84,0x53,0xa2, + 0x06,0xb1,0x52,0x91,0x50,0xc8,0xca,0xd0, + 0xf8,0xa5,0x3e,0x91,0x50,0xc8,0xa5,0x3f, + 0x91,0x50,0x60,0xc9,0x24,0xd0,0xa6,0x84, + 0x1e,0x20,0x18,0xfa,0xe0,0xff,0xf0,0x9d, + 0x85,0x1d,0xa0,0x00,0x84,0x3f,0xca,0xca, + 0xb5,0x0f,0xc9,0x24,0xf0,0x06,0x20,0x51, + 0xfa,0x38,0xb0,0x03,0x20,0x6d,0xfa,0x99, + 0x3e,0x00,0xc8,0xc4,0x1d,0xd0,0xe7,0xa4, + 0x1e,0x60,0xb5,0xe9,0x85,0x40,0xb5,0xea, + 0x85,0x41,0xb5,0xeb,0x85,0x2c,0x20,0x2c, + 0xfa,0xe0,0xff,0x60,0xa2,0x00,0xa9,0x04, + 0xb4,0x0f,0xc0,0x28,0xd0,0x04,0x18,0x69, + 0x03,0xe8,0x48,0x20,0x18,0xfa,0xa8,0xca, + 0xa5,0x3c,0xc9,0x21,0xf0,0x04,0xc9,0x23, + 0xd0,0x01,0xc8,0x68,0xe8,0xf0,0x56,0x88, + 0xf0,0x03,0x18,0x69,0x06,0xa8,0xb5,0x0f, + 0xf0,0x04,0xc9,0x20,0xd0,0x14,0xa5,0x0f, + 0xc9,0x28,0xf0,0x41,0xc0,0x0f,0x10,0x3d, + 0xc0,0x07,0xf0,0x39,0x30,0x01,0x88,0x98, + 0xaa,0x60,0xc9,0x29,0xd0,0x0b,0xa9,0x20, + 0x85,0x0f,0xe8,0xb5,0x0f,0xc9,0x2c,0xd0, + 0xd5,0xb5,0x0f,0xc9,0x2c,0xd0,0x1e,0xe8, + 0xb5,0x0f,0xc9,0x58,0xf0,0x0d,0xc9,0x59, + 0xd0,0x13,0xa5,0x0f,0xc9,0x28,0xf0,0x0d, + 0x95,0x0d,0xc8,0xc8,0xb5,0x0d,0xc9,0x29, + 0xf0,0x03,0xe8,0xd0,0xb1,0xa2,0xff,0x60, + 0xa0,0x00,0xe8,0xc8,0x20,0x6e,0xfa,0xc9, + 0xff,0xd0,0xf7,0x98,0x4a,0xf0,0xee,0xc9, + 0x03,0xb0,0xea,0x60,0xa5,0x2c,0xf0,0xe5, + 0xa2,0x00,0xa0,0xff,0xc8,0xc4,0x2e,0xf0, + 0xde,0xb1,0x40,0xd1,0x42,0xf0,0xf5,0xe8, + 0xe4,0x2c,0xf0,0xd1,0xa5,0x40,0x18,0x65, + 0x2d,0x85,0x40,0x90,0xe5,0xe6,0x41,0xb0, + 0xe1,0x20,0x6e,0xfa,0xc9,0xff,0xf0,0xbd, + 0x48,0x20,0x6d,0xfa,0xca,0xc9,0xff,0xd0, + 0x02,0x68,0x60,0x85,0x44,0x68,0x0a,0x0a, + 0x0a,0x0a,0x65,0x44,0x60,0xe8,0xb5,0x0f, + 0x49,0x30,0xc9,0x0a,0x90,0x08,0x69,0x88, + 0xc9,0xfa,0x90,0x03,0x29,0x0f,0x60,0xa9, + 0xff,0x60,0x48,0x20,0xd6,0xfb,0x20,0x8a, + 0xfa,0x68,0x29,0x0f,0x09,0x30,0xc9,0x3a, + 0x90,0x02,0x69,0x06,0x99,0x0f,0x00,0xc8, + 0x60,0xbd,0xe9,0xfb,0x85,0x56,0xbd,0x21, + 0xfc,0x85,0x57,0xa2,0x00,0xa9,0x00,0xa0, + 0x05,0x06,0x57,0x26,0x56,0x2a,0x88,0xd0, + 0xf8,0x69,0x40,0x95,0x0b,0xa4,0x5b,0xf0, + 0x03,0x20,0xef,0xff,0xe8,0xe0,0x03,0xd0, + 0xe4,0x60,0x20,0xab,0xf0,0xf0,0x03,0x20, + 0xc3,0xf0,0x20,0xdc,0xfa,0x20,0x81,0xfb, + 0x85,0xf5,0x84,0xf6,0xad,0x11,0xd0,0x10, + 0xf1,0xad,0x10,0xd0,0x20,0x6e,0xfb,0xa1, + 0xf5,0xa8,0x4a,0x90,0x09,0x6a,0xb0,0x14, + 0xc9,0xa2,0xf0,0x10,0x29,0x87,0x4a,0xaa, + 0xbd,0xb8,0xfc,0x90,0x03,0x20,0xd6,0xfb, + 0x29,0x0f,0xd0,0x04,0xa0,0x80,0xa9,0x00, + 0xaa,0xbd,0xfc,0xfc,0x85,0x29,0x29,0x03, + 0x85,0x2a,0x98,0x20,0x90,0xfb,0xa0,0x00, + 0x48,0xb1,0xf5,0x20,0xdc,0xff,0xa2,0x01, + 0x20,0x7a,0xfb,0xc4,0x2a,0xc8,0x90,0xf1, + 0xa2,0x03,0x86,0x5b,0xc0,0x04,0x90,0xf0, + 0x68,0xaa,0x20,0x99,0xfa,0x20,0x78,0xfb, + 0xa4,0x2a,0xa2,0x06,0xe0,0x03,0xf0,0x1e, + 0x06,0x29,0x90,0x0e,0xbd,0x09,0xfd,0x20, + 0xef,0xff,0xbd,0x0f,0xfd,0xf0,0x03,0x20, + 0xef,0xff,0xca,0xd0,0xe7,0x86,0x5b,0x60, + 0x88,0x30,0xe5,0x20,0xdc,0xff,0xa5,0x29, + 0xc9,0xe8,0xb1,0xf5,0x90,0xf2,0x20,0x84, + 0xfb,0xaa,0xe8,0xd0,0x01,0xc8,0x98,0x20, + 0xdc,0xff,0x8a,0x4c,0xdc,0xff,0x20,0xe5, + 0xfe,0xa5,0xf6,0xa6,0xf5,0x20,0x67,0xfb, + 0xa2,0x03,0x20,0xe0,0xfe,0xca,0xd0,0xfa, + 0x60,0x38,0xa5,0x2a,0xa4,0xf6,0xaa,0x10, + 0x01,0x88,0x65,0xf5,0x90,0x01,0xc8,0x60, + 0x85,0x54,0x29,0x8f,0xc9,0x8a,0xf0,0x43, + 0x0a,0xc9,0x10,0xf0,0x37,0xa5,0x54,0x0a, + 0x69,0x80,0x2a,0x0a,0x29,0x1f,0x69,0x20, + 0x48,0xa5,0x54,0x29,0x9f,0xf0,0x1b,0x0a, + 0xc9,0x20,0xf0,0x10,0x29,0x06,0xd0,0x2f, + 0x68,0x29,0x07,0xc9,0x03,0x10,0x02,0x69, + 0x02,0x69,0x1f,0x60,0x68,0x29,0x07,0x69, + 0x18,0x60,0x68,0xaa,0xbd,0xb0,0xfb,0x60, + 0x16,0x21,0x17,0x18,0xa5,0x54,0x4a,0x4a, + 0x4a,0x4a,0x60,0x20,0xd4,0xfb,0xc9,0x0e, + 0xd0,0x02,0x69,0xfd,0x69,0x08,0x60,0x68, + 0x60,0x82,0x1b,0x83,0x99,0x82,0x1b,0x83, + 0x99,0x21,0xa6,0xa0,0x1b,0x4b,0x1b,0x4b, + 0x99,0xa6,0xa6,0xa0,0xa4,0x21,0x73,0x14, + 0x95,0x95,0x14,0x13,0x15,0x15,0x10,0x10, + 0x13,0x11,0x54,0x12,0x53,0x9d,0x61,0x1c, + 0x1c,0x7c,0x0b,0x2b,0x09,0x9d,0x61,0x1b, + 0x98,0x0c,0x93,0x64,0x93,0x9d,0x61,0x21, + 0x4b,0x20,0x06,0x20,0x46,0x02,0x12,0x02, + 0x52,0x72,0x42,0x72,0x2c,0xb2,0x08,0xb0, + 0x48,0x02,0x26,0x70,0xf0,0x70,0xe0,0x96, + 0x12,0x26,0x18,0x52,0x86,0xa6,0xc6,0xe6, + 0x8a,0x62,0xe4,0x68,0x60,0x32,0x32,0x32, + 0x30,0x82,0x88,0xe4,0x06,0x02,0x02,0x60, + 0x86,0xd8,0xd8,0xe4,0xe4,0x30,0x30,0x46, + 0x86,0x00,0x30,0x25,0x19,0x24,0x28,0x34, + 0x28,0x28,0x21,0x28,0x28,0x23,0x19,0x34, + 0x30,0x21,0x38,0x34,0x36,0x30,0x30,0x38, + 0x34,0x30,0x24,0x08,0x18,0x28,0x38,0x48, + 0x58,0x68,0x78,0x88,0x98,0xa8,0xb8,0xc8, + 0xd8,0xe8,0xf8,0x8a,0x9a,0xaa,0xba,0xca, + 0xea,0x00,0x40,0x60,0x10,0x30,0x50,0x70, + 0x90,0xb0,0xd0,0xf0,0x14,0x20,0x40,0x80, + 0xa0,0xc0,0xe0,0x01,0x21,0x41,0x61,0x81, + 0xa1,0xc1,0xe1,0x02,0x22,0x42,0x62,0x82, + 0xa2,0xc2,0xe2,0x00,0x08,0x00,0x00,0x04, + 0x14,0x14,0x00,0x10,0x0c,0x1c,0x18,0x2c, + 0x04,0x20,0x54,0x30,0x0d,0x80,0x04,0x90, + 0x03,0x22,0x54,0x33,0x0d,0x80,0x04,0x90, + 0x04,0x20,0x54,0x33,0x0d,0x80,0x04,0x90, + 0x04,0x20,0x54,0x3b,0x0d,0x80,0x04,0x90, + 0x00,0x22,0x44,0x33,0x0d,0xc8,0x44,0x00, + 0x11,0x22,0x44,0x33,0x0d,0xc8,0x44,0xa9, + 0x01,0x22,0x44,0x33,0x0d,0x80,0x04,0x90, + 0x01,0x22,0x44,0x33,0x0d,0x80,0x04,0x90, + 0x26,0x31,0x87,0x9a,0x00,0x21,0x81,0x82, + 0x00,0x00,0x59,0x4d,0x91,0x92,0x86,0x4a, + 0x85,0x9d,0x2c,0x29,0x2c,0x23,0x28,0x24, + 0x59,0x00,0x58,0x24,0x24,0x00,0x22,0x24, + 0x25,0x35,0x36,0x37,0x04,0x05,0x05,0x02, + 0x05,0x05,0x04,0x05,0x0a,0x0b,0x0a,0x0a, + 0x4e,0x4c,0x58,0x45,0x4d,0x52,0x44,0x49, + 0x21,0x24,0x41,0x56,0x50,0xf0,0xf0,0xf1, + 0xf1,0xf1,0xf0,0xfa,0xf1,0xff,0xff,0xf4, + 0xf0,0xf0,0xde,0xe4,0xc6,0x4e,0x04,0x9f, + 0xc1,0x57,0x1a,0x0e,0x4a,0x90,0x84,0x42, + 0x57,0x53,0x3d,0x4d,0x20,0x3a,0x52,0x52, + 0x45,0x4d,0x4e,0x45,0x41,0x44,0x44,0x53, + 0x59,0x4e,0x4f,0x56,0x46,0x53,0x59,0x4d, + 0x4e,0x45,0x53,0x53,0x45,0x57,0x20,0x4e, + 0x45,0x4b,0x20,0x59,0x42,0x20,0x33,0x2e, + 0x31,0x20,0x52,0x45,0x44,0x41,0x53,0x55, + 0x52,0x4b,0x0d,0x50,0x53,0x59,0x58,0x41, + 0x4c,0x48,0x43,0x5a,0x49,0x44,0x42,0x00, + 0x56,0x4e,0x20,0xe5,0xfe,0x20,0xb9,0xfe, + 0x20,0xbe,0xfe,0xa0,0x07,0xd9,0x82,0xfd, + 0xf0,0x5c,0x88,0xd0,0xf8,0xc9,0x52,0xd0, + 0x06,0x20,0x9f,0xfe,0x6c,0xf5,0x00,0xc9, + 0x54,0xd0,0x3a,0xa2,0x08,0xbd,0x96,0xfe, + 0x95,0xe0,0xca,0xd0,0xf8,0xa1,0xf5,0xf0, + 0x5d,0xa4,0x2a,0xc9,0x20,0xf0,0x75,0xc9, + 0x60,0xf0,0x63,0xc9,0x4c,0xf0,0x78,0xc9, + 0x6c,0xf0,0x75,0xc9,0x40,0xf0,0x53,0x29, + 0x1f,0x49,0x14,0xc9,0x04,0xf0,0x02,0xb1, + 0xf5,0x99,0xe0,0x00,0x88,0x10,0xf8,0x20, + 0x9f,0xfe,0x4c,0xe0,0x00,0xc9,0x21,0xd0, + 0x06,0x20,0x1b,0xff,0x4c,0x1e,0xfe,0xc9, + 0x24,0xd0,0x97,0x4c,0x0f,0xff,0xa2,0xfe, + 0x20,0xbe,0xfe,0x95,0x11,0xe8,0xd0,0xf8, + 0x20,0x51,0xfa,0x99,0xef,0x00,0xa6,0xf1, + 0x9a,0x4c,0x1e,0xfe,0x28,0x20,0xaa,0xfe, + 0x68,0x85,0xf5,0x68,0x85,0xf6,0xba,0x86, + 0xf1,0x20,0x57,0xfe,0x20,0xdc,0xfa,0x4c, + 0x92,0xfd,0x18,0x68,0x85,0xf0,0x68,0x85, + 0xf5,0x68,0x85,0xf6,0x20,0x82,0xfb,0x84, + 0xf6,0x18,0x90,0x14,0x18,0x20,0x82,0xfb, + 0xaa,0x98,0x48,0x8a,0x48,0xa0,0x02,0x18, + 0xb1,0xf5,0xaa,0x88,0xb1,0xf5,0x86,0xf6, + 0x85,0xf5,0xb0,0xf3,0x4c,0x1e,0xfe,0x20, + 0xe5,0xfe,0xa2,0x05,0xbd,0x82,0xfd,0x20, + 0xef,0xff,0x20,0xb9,0xfe,0xb5,0xef,0x20, + 0xdc,0xff,0x20,0xe0,0xfe,0xca,0xd0,0xec, + 0xa5,0xf0,0xa2,0x08,0x0a,0x90,0x08,0x48, + 0xbd,0x89,0xfd,0x20,0xef,0xff,0x68,0xca, + 0xd0,0xf2,0x60,0x18,0xa0,0x01,0xb1,0xf5, + 0x20,0x84,0xfb,0x85,0xf5,0x98,0x38,0xb0, + 0xa1,0x20,0xaa,0xfe,0x38,0xb0,0x9d,0xea, + 0xea,0x4c,0x91,0xfe,0x4c,0x83,0xfe,0xa5, + 0xf0,0x48,0xa5,0xf4,0xa6,0xf3,0xa4,0xf2, + 0x28,0x60,0x85,0xf4,0x86,0xf3,0x84,0xf2, + 0x08,0x68,0x85,0xf0,0xba,0x86,0xf1,0xd8, + 0x60,0xa9,0x2d,0x4c,0xef,0xff,0x20,0xea, + 0xfe,0x4c,0xef,0xff,0x20,0xe5,0xfe,0xa2, + 0x00,0xb5,0x04,0x20,0xef,0xff,0xe8,0xe0, + 0x06,0xd0,0xf6,0x20,0xe0,0xfe,0xa5,0xfb, + 0x20,0xe5,0xff,0xa5,0xfa,0x20,0xdc,0xff, + 0xa9,0x20,0x4c,0xef,0xff,0xa9,0x0d,0x4c, + 0xef,0xff,0xad,0x11,0xd0,0x10,0xfb,0xad, + 0x10,0xd0,0x29,0x7f,0x60,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xd8,0x58,0xa0,0x7f,0x8c,0x12,0xd0,0xa9, + 0xa7,0x8d,0x11,0xd0,0x8d,0x13,0xd0,0xa9, + 0x5c,0x20,0xef,0xff,0x20,0x1b,0xff,0x90, + 0xf6,0xb0,0xf9,0x20,0xe5,0xfe,0xa0,0x01, + 0x88,0x30,0xf8,0x20,0xbe,0xfe,0x99,0x00, + 0x02,0xc9,0x0d,0xf0,0x0b,0xc9,0x5f,0xf0, + 0xef,0xc9,0x1b,0xf0,0xda,0xc8,0x10,0xeb, + 0xa0,0xff,0xa9,0x00,0xaa,0x0a,0x85,0x2b, + 0xc8,0xb9,0x00,0x02,0xc9,0x0d,0xd0,0x02, + 0x38,0x60,0x09,0x80,0xc9,0xae,0x90,0xf0, + 0xf0,0xec,0xc9,0xba,0xf0,0xe7,0xc9,0xd2, + 0xf0,0x3d,0x86,0x28,0x86,0x29,0x84,0x2a, + 0xb9,0x00,0x02,0x49,0x30,0xc9,0x0a,0x90, + 0x06,0x69,0x88,0xc9,0xfa,0x90,0x11,0x0a, + 0x0a,0x0a,0x0a,0xa2,0x04,0x0a,0x26,0x28, + 0x26,0x29,0xca,0xd0,0xf8,0xc8,0xd0,0xe0, + 0xc4,0x2a,0xd0,0x02,0x18,0x60,0x24,0x2b, + 0x50,0x10,0xa5,0x28,0x81,0x26,0xe6,0x26, + 0xd0,0xaf,0xe6,0x27,0x4c,0x41,0xff,0x6c, + 0x24,0x00,0x30,0x27,0xa2,0x02,0xb5,0x27, + 0x95,0x25,0x95,0x23,0xca,0xd0,0xf7,0xd0, + 0x12,0x20,0xe5,0xfe,0xa5,0x25,0x20,0xdc, + 0xff,0xa5,0x24,0x20,0xdc,0xff,0xa9,0x3a, + 0x20,0xef,0xff,0x20,0xe0,0xfe,0xa1,0x24, + 0x20,0xdc,0xff,0x86,0x2b,0xa5,0x24,0xc5, + 0x28,0xa5,0x25,0xe5,0x29,0xb0,0xc5,0xe6, + 0x24,0xd0,0x02,0xe6,0x25,0xa5,0x24,0x29, + 0x07,0x10,0xcc,0x00,0x48,0x4a,0x4a,0x4a, + 0x4a,0x20,0xe5,0xff,0x68,0x29,0x0f,0x09, + 0x30,0xc9,0x3a,0x90,0x02,0x69,0x06,0x2c, + 0x12,0xd0,0x30,0xfb,0x8d,0x12,0xd0,0x60, + 0x00,0x00,0x00,0x0f,0x00,0xff,0x14,0xfe + ]; + return { + start: function krusader_start() { + return 0xe0; + }, + end: function krusader_end() { + return 0xff; + }, + read: function krusader_read(page, off) { + return rom[(page - 0xe0) << 8 | off]; + }, + write: function krusader_write(page, off, val) { + rom[(page - 0xe0) << 8 | off] = val; + }, + getState: function krusader_getState() { return {}; }, + setState: function krusader_setState() {} + }; +} diff --git a/js/symbols.js b/js/symbols.js new file mode 100644 index 0000000..059b8d8 --- /dev/null +++ b/js/symbols.js @@ -0,0 +1,11 @@ +export var SYMBOLS = { + 0xD010: 'KBD', + 0xD011: 'KBDCR', + 0xD012: 'DSP', + 0xD013: 'DSPCR', + + 0xFF1F: 'GETLINE', + 0xFFEF: 'ECHO', + 0xFFDC: 'PRBYTE', + 0xFFE5: 'PRHEX' +}; diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js new file mode 100644 index 0000000..5e19cbc --- /dev/null +++ b/js/ui/keyboard.js @@ -0,0 +1,299 @@ +/* Copyright 2010-2019 Will Scullin + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ + +import { debug, toHex } from '../util'; + +// keycode: [plain, cntl, shift] + +var keymap = { + // Most of these won't happen + 0x00: [0x00, 0x00, 0x00], // + 0x01: [0x01, 0x01, 0x01], // + 0x02: [0x02, 0x02, 0x02], // + 0x03: [0x03, 0x03, 0x03], // + 0x04: [0x04, 0x04, 0x04], // + 0x05: [0x05, 0x05, 0x05], // + 0x06: [0x06, 0x06, 0x06], // + 0x07: [0x07, 0x07, 0x07], // + 0x08: [0x5f, 0x5f, 0x5f], // BS + 0x09: [0x09, 0x09, 0x09], // TAB + 0x0A: [0x0A, 0x0A, 0x0A], // + 0x0B: [0x0B, 0x0B, 0x0B], // + 0x0C: [0x0C, 0x0C, 0x0C], // + 0x0D: [0x0D, 0x0D, 0x0D], // CR + 0x0E: [0x0E, 0x0E, 0x0E], // + 0x0F: [0x0F, 0x0F, 0x0F], // + + 0x10: [0xff, 0xff, 0xff], // SHIFT + 0x11: [0xff, 0xff, 0xff], // CTRL + 0x12: [0xff, 0xff, 0xff], // OPTION + 0x13: [0x13, 0x13, 0x13], // + 0x14: [0x14, 0x14, 0x14], // + 0x15: [0x15, 0x15, 0x15], // + 0x16: [0x16, 0x16, 0x16], // + 0x17: [0x17, 0x17, 0x18], // + 0x18: [0x18, 0x18, 0x18], // + 0x19: [0x19, 0x19, 0x19], // + 0x1A: [0x1A, 0x1A, 0x1A], // + 0x1B: [0x1B, 0x1B, 0x1B], // ESC + 0x1C: [0x1C, 0x1C, 0x1C], // + 0x1D: [0x1D, 0x1D, 0x1D], // + 0x1E: [0x1E, 0x1E, 0x1E], // + 0x1F: [0x1F, 0x1F, 0x1F], // + + // Most of these besides space won't happen + 0x20: [0x20, 0x20, 0x20], // + 0x21: [0x21, 0x21, 0x21], // + 0x22: [0x22, 0x22, 0x22], // + 0x23: [0x23, 0x23, 0x23], // + 0x24: [0x24, 0x24, 0x24], // + 0x25: [0x5f, 0x5f, 0x5f], // <- left + 0x26: [0x0B, 0x0B, 0x0B], // ^ up + 0x27: [0x15, 0x15, 0x15], // -> right + 0x28: [0x0A, 0x0A, 0x0A], // v down + 0x29: [0x29, 0x29, 0x29], // ) + 0x2A: [0x2A, 0x2A, 0x2A], // * + 0x2B: [0x2B, 0x2B, 0x2B], // + + 0x2C: [0x2C, 0x2C, 0x3C], // , - < + 0x2D: [0x2D, 0x2D, 0x5F], // - - _ + 0x2E: [0x2E, 0x2E, 0x3E], // . - > + 0x2F: [0x2F, 0x2F, 0x3F], // / - ? + + 0x30: [0x30, 0x30, 0x29], // 0 - ) + 0x31: [0x31, 0x31, 0x21], // 1 - ! + 0x32: [0x32, 0x00, 0x40], // 2 - @ + 0x33: [0x33, 0x33, 0x23], // 3 - # + 0x34: [0x34, 0x34, 0x24], // 4 - $ + 0x35: [0x35, 0x35, 0x25], // 5 - % + 0x36: [0x36, 0x36, 0x5E], // 6 - ^ + 0x37: [0x37, 0x37, 0x26], // 7 - & + 0x38: [0x38, 0x38, 0x2A], // 8 - * + 0x39: [0x39, 0x39, 0x28], // 9 - ( + 0x3A: [0x3A, 0x3A, 0x3A], // : + 0x3B: [0x3B, 0x3B, 0x3A], // ; - : + 0x3C: [0x3C, 0x3C, 0x3C], // < + 0x3D: [0x3D, 0x3D, 0x2B], // = - + + 0x3E: [0x3E, 0x3E, 0x3E], // > + 0x3F: [0x3F, 0x3F, 0x3F], // ? + + // Alpha and control + 0x40: [0x40, 0x00, 0x40], // @ + 0x41: [0x41, 0x01, 0x41], // A + 0x42: [0x42, 0x02, 0x42], // B + 0x43: [0x43, 0x03, 0x43], // C - BRK + 0x44: [0x44, 0x04, 0x44], // D + 0x45: [0x45, 0x05, 0x45], // E + 0x46: [0x46, 0x06, 0x46], // F + 0x47: [0x47, 0x07, 0x47], // G - BELL + 0x48: [0x48, 0x08, 0x48], // H + 0x49: [0x49, 0x09, 0x49], // I - TAB + 0x4A: [0x4A, 0x0A, 0x4A], // J - NL + 0x4B: [0x4B, 0x0B, 0x4B], // K - VT + 0x4C: [0x4C, 0x0C, 0x4C], // L + 0x4D: [0x4D, 0x0D, 0x4D], // M - CR + 0x4E: [0x4E, 0x0E, 0x4E], // N + 0x4F: [0x4F, 0x0F, 0x4F], // O + + 0x50: [0x50, 0x10, 0x50], // P + 0x51: [0x51, 0x11, 0x51], // Q + 0x52: [0x52, 0x12, 0x52], // R + 0x53: [0x53, 0x13, 0x53], // S + 0x54: [0x54, 0x14, 0x54], // T + 0x55: [0x55, 0x15, 0x55], // U + 0x56: [0x56, 0x16, 0x56], // V + 0x57: [0x57, 0x17, 0x57], // W + 0x58: [0x58, 0x18, 0x58], // X + 0x59: [0x59, 0x19, 0x59], // Y + 0x5A: [0x5A, 0x1A, 0x5A], // Z + // 0x5B: [0x5B, 0x1B, 0x5B], // [ - ESC + // 0x5C: [0x5C, 0x1C, 0x5C], // \ + // 0x5D: [0x5D, 0x1D, 0x5D], // ] + 0x5E: [0x5E, 0x1E, 0x5E], // ^ + 0x5F: [0x5F, 0x1F, 0x5F], // _ + + // Stray keys + 0xBA: [0x3B, 0x3B, 0x3A], // ; - : + 0xBB: [0x3D, 0x3D, 0x2B], // = - + + 0xBC: [0x2C, 0x2C, 0x3C], // , - < + 0xBD: [0x2D, 0x2D, 0x5F], // - - _ + 0xBE: [0x2E, 0x2E, 0x3E], // . - > + 0xBF: [0x2F, 0x2F, 0x3F], // / - ? + 0xDB: [0x5B, 0x5B, 0x5B], // [ + 0xDC: [0x5C, 0x5C, 0x5C], // \ + 0xDD: [0x5D, 0x5D, 0x5D], // ] + 0xDE: [0x27, 0x27, 0x22], // ' - " + + 0xFF: [0xFF, 0xFF, 0xFF] // No comma line +}; + +export function mapKeyEvent(evt) { + var code = evt.keyCode; + + if (code in keymap) { + return keymap[code][evt.shiftKey ? 2 : (evt.ctrlKey ? 1 : 0)]; + } + + debug('Unhandled key = ' + toHex(code)); + return 0xFF; +} + +export function KeyBoard(cpu, io, text) { + var keys = + [[['1','2','3','4','5','6','7','8','9','0',':','-','RESET'], + ['ESC','Q','W','E','R','T','Y','U','I','O','P','FEED','RETURN'], + ['CTRL','A','S','D','F','G','H','J','K','L',';','OUT','CLS'], + ['SHIFT','Z','X','C','V','B','N','M',',','.','/','SHIFT'], + [' ']], + [['!','"','#','$','%','&','\'','(',')','0','*','=','RESET'], + ['ESC','Q','W','E','R','T','Y','U','I','O','@','LINE','RETURN'], + ['CTRL','A','S','D','F','BELL','H','J','K','L','+','RUB','CLS'], + ['SHIFT','Z','X','C','V','B','^','M','<','>','?','SHIFT'], + [' ']]]; + + var shifted = false; + var controlled = false; + + return { + shiftKey: function keyboard_shiftKey(down) { + shifted = down; + if (down) { + $('#keyboard .key-SHIFT').addClass('active'); + } else { + $('#keyboard .key-SHIFT').removeClass('active'); + } + }, + + controlKey: function keyboard_controlKey(down) { + controlled = down; + if (down) { + $('#keyboard .key-CTRL').addClass('active'); + } else { + $('#keyboard .key-CTRL').removeClass('active'); + } + }, + + create: function keyboard_create(kb) { + var x, y, row, key, key1, key2, label, label1, label2; + + kb.disableSelection(); + + function buildLabel(k) { + var span = $('' + k + ''); + if (k.length > 1 && k.substr(0,1) != '&') + span.addClass('small'); + return span; + } + + function _mouseup() { + $(this).removeClass('pressed'); + } + + function _mousedown(ev) { + $(this).addClass('pressed'); + var key = $(ev.currentTarget).data(shifted ? 'key2' : 'key1'); + switch (key) { + case 'BELL': + key = 'G'; + break; + case 'RETURN': + key = '\r'; + break; + case 'LINE': + case 'FEED': + key = '\n'; + break; + case 'RUB': + case 'OUT': + key = '_'; // 0x5f + break; + case ' ': + key = ' '; + break; + case 'ESC': + key = '\0x1b'; + break; + default: + break; + } + + if (key.length > 1) { + switch (key) { + case 'SHIFT': + shifted = !shifted; + $('#keyboard .key-SHIFT').toggleClass('active'); + break; + case 'CTRL': + controlled = !controlled; + $('#keyboard .key-CTRL').toggleClass('active'); + break; + case 'RESET': + cpu.reset(); + break; + case 'CLS': + text.clear(); + break; + default: + break; + } + } else { + if (controlled && key >= '@' && key <= '_') { + io.keyDown(key.charCodeAt(0) - 0x40); + } else { + io.keyDown(key.charCodeAt(0)); + } + } + } + + for (y = 0; y < 5; y++) { + row = $('
'); + kb.append(row); + for (x = 0; x < keys[0][y].length; x++) { + key1 = keys[0][y][x]; + key2 = keys[1][y][x]; + + label = $('
'); + label1 = buildLabel(key1); + label2 = buildLabel(key2); + + key = $('
'); + key.addClass('key-' + key1.replace(/[&;]/g,'')); + + if (key1.length > 1) { + if (key1 != key2) { + key.addClass('vcenter2'); + } else { + key.addClass('vcenter'); + } + } + + if (key1 != key2) { + key.addClass('key-' + key2.replace(/[&;]/g,'')); + label.append(label2); + label.append('
'); + } + label.append(label1); + key.append(label); + key.data({'key1': key1, 'key2': key2}); + + if (window.ontouchstart === undefined) { + key.bind('mousedown', _mousedown); + key.bind('mouseup mouseout', _mouseup); + } else { + key.bind('touchstart', _mousedown); + key.bind('touchend touchleave', _mouseup); + } + + row.append(key); + } + } + } + }; +} diff --git a/js/util.js b/js/util.js new file mode 100644 index 0000000..5193741 --- /dev/null +++ b/js/util.js @@ -0,0 +1,79 @@ +/* Copyright 2010-2019 Will Scullin + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ + +var hex_digits = '0123456789ABCDEF'; +var bin_digits = '01'; + +export function allocMem(size) { + var result; + if (window.Uint8Array) { + result = new Uint8Array(size); + } else { + result = new Array(size); + } + return result; +} + +export function allocMemPages(pages) { + return allocMem(pages * 0x100); +} + +export function debug(msg) { + /*eslint no-console: 0 */ + if (typeof(console) != 'undefined' && 'log' in console) { + console.log(msg); + } else if (typeof(environment) == 'object') { // rhino shell + print(msg); + } +} + +export function toHex(v, n) { + if (!n) { + n = v < 256 ? 2 : 4; + } + var result = ''; + for (var idx = 0; idx < n; idx++) { + result = hex_digits[v & 0x0f] + result; + v >>= 4; + } + return result; +} + +export function toBinary(v) { + var result = ''; + for (var idx = 0; idx < 8; idx++) { + result = bin_digits[v & 0x01] + result; + v >>= 1; + } + return result; +} + +// From http://www.netlobo.com/url_query_string_javascript.html +export function gup( name ) +{ + name = name.replace(/[[]/,'\\[').replace(/[\]]/,'\\]'); + var regexS = '[\\?&]'+name+'=([^&#]*)'; + var regex = new RegExp( regexS ); + var results = regex.exec( window.location.href ); + if( !results ) + return ''; + else + return results[1]; +} + +export function hup() { + var regex = new RegExp('#(.*)'); + var results = regex.exec(window.location.hash); + if ( !results ) + return ''; + else + return results[1]; +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..704e0bd --- /dev/null +++ b/package-lock.json @@ -0,0 +1,9424 @@ +{ + "name": "apple1js", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", + "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.5.5", + "@babel/helpers": "^7.5.5", + "@babel/parser": "^7.5.5", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", + "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", + "dev": true, + "requires": { + "@babel/types": "^7.5.5", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-define-map": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", + "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", + "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "dev": true, + "requires": { + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", + "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", + "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" + } + }, + "@babel/helpers": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz", + "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==", + "dev": true, + "requires": { + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", + "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", + "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", + "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", + "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz", + "integrity": "sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", + "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.5.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz", + "integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", + "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz", + "integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", + "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", + "dev": true, + "requires": { + "regexp-tree": "^0.1.6" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", + "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.4.4", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", + "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", + "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/preset-env": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz", + "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-dynamic-import": "^7.5.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.5.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.5.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.5.5", + "@babel/plugin-transform-classes": "^7.5.5", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.5.0", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/plugin-transform-duplicate-keys": "^7.5.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.5.0", + "@babel/plugin-transform-modules-systemjs": "^7.5.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.5.5", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.4.4", + "@babel/types": "^7.5.5", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + } + }, + "@babel/template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", + "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/traverse": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz", + "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.5.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.5.5", + "@babel/types": "^7.5.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", + "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@cnakazawa/watch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz", + "integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "requires": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + } + }, + "@jest/core": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", + "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/reporters": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-changed-files": "^24.9.0", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-resolve-dependencies": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "jest-watcher": "^24.9.0", + "micromatch": "^3.1.10", + "p-each-series": "^1.0.0", + "realpath-native": "^1.1.0", + "rimraf": "^2.5.4", + "slash": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "dev": true, + "requires": { + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/reporters": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", + "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "istanbul-lib-coverage": "^2.0.2", + "istanbul-lib-instrument": "^3.0.1", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.1", + "istanbul-reports": "^2.2.6", + "jest-haste-map": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "node-notifier": "^5.4.2", + "slash": "^2.0.0", + "source-map": "^0.6.0", + "string-length": "^2.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + } + }, + "@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", + "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "dev": true, + "requires": { + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" + } + }, + "@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@types/babel__core": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", + "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.0.2.tgz", + "integrity": "sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.7.tgz", + "integrity": "sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "12.7.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.4.tgz", + "integrity": "sha512-W0+n1Y+gK/8G2P/piTkBBN38Qc5Q1ZSO6B5H3QmPCUewaiXOo2GCAWZ4ElZCcNhjJuBSUSLGFUJnmlCn5+nxOQ==", + "dev": true + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/yargs": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.2.tgz", + "integrity": "sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.0.0.tgz", + "integrity": "sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abab": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.1.tgz", + "integrity": "sha512-1zSbbCuoIjafKZ3mblY5ikvAb0ODUbqBnFuUb7f6uLeQhhGJ0vEV4ntmtxKLT2WgXCO94E07BjunsIw1jOMPZw==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true + }, + "acorn-globals": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.3.tgz", + "integrity": "sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ==", + "dev": true, + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "acorn-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", + "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", + "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "dev": true, + "requires": { + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^5.1.0", + "babel-preset-jest": "^24.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + } + }, + "babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "dev": true, + "requires": { + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "dev": true, + "requires": { + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bluebird": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "dev": true + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", + "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000989", + "electron-to-chromium": "^1.3.247", + "node-releases": "^1.1.29" + } + }, + "bser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz", + "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000989", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz", + "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "chownr": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", + "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "dev": true, + "requires": { + "mime-db": ">= 1.40.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js-compat": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", + "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", + "dev": true, + "requires": { + "browserslist": "^4.6.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dev": true, + "requires": { + "cssom": "0.3.x" + } + }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz", + "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.252", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.252.tgz", + "integrity": "sha512-NWJ5TztDnjExFISZHFwpoJjMbLUifsNBnx7u2JI0gCw6SbKyQYYWWtBHasO/jPtHym69F4EZuTpRNGN11MT/jg==", + "dev": true + }, + "elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.1.tgz", + "integrity": "sha512-cp/Tb1oA/rh2X7vqeSOvM+TSo3UkJLX70eNihgVEvnzwAgikjkTFr/QVgRCaxjm0knCNQzNoxxxcw2zO2LJdZA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.0", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.6.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.0.0", + "string.prototype.trimright": "^2.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", + "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", + "dev": true, + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "eslint": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", + "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.0.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "dev": true, + "requires": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz", + "integrity": "sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "dev": true, + "requires": { + "bser": "^2.0.0" + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.8.1.tgz", + "integrity": "sha512-micCIbldHioIegeKs41DoH0KS3AXfFzgS30qVkM6z/XOE/GJgvmsoc839NUqa1B9udYe9dQxgv7KFwng6+p/dw==", + "dev": true, + "requires": { + "debug": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + } + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", + "dev": true + }, + "handlebars": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.0.tgz", + "integrity": "sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==", + "dev": true, + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", + "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "requires": { + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.1.tgz", + "integrity": "sha512-c2QjUwuMxLsld90sj3xYzpFYWJtuxkIn1f5ua9RTEYJt/vV2IsM+Py00/6qjV7qExgifUvt7qfyBGBBKm+2iBg==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", + "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", + "dev": true, + "requires": { + "handlebars": "^4.1.2" + } + }, + "jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", + "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", + "dev": true, + "requires": { + "import-local": "^2.0.0", + "jest-cli": "^24.9.0" + }, + "dependencies": { + "jest-cli": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", + "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "dev": true, + "requires": { + "@jest/core": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "import-local": "^2.0.0", + "is-ci": "^2.0.0", + "jest-config": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "prompts": "^2.0.1", + "realpath-native": "^1.1.0", + "yargs": "^13.3.0" + } + } + } + }, + "jest-changed-files": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", + "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "execa": "^1.0.0", + "throat": "^4.0.0" + } + }, + "jest-config": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", + "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^24.9.0", + "@jest/types": "^24.9.0", + "babel-jest": "^24.9.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^24.9.0", + "jest-environment-node": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "micromatch": "^3.1.10", + "pretty-format": "^24.9.0", + "realpath-native": "^1.1.0" + } + }, + "jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-docblock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", + "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "dev": true, + "requires": { + "detect-newline": "^2.1.0" + } + }, + "jest-each": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", + "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-environment-jsdom": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0", + "jsdom": "^11.5.1" + } + }, + "jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + } + }, + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true + }, + "jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.7", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", + "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^24.9.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", + "throat": "^4.0.0" + } + }, + "jest-leak-detector": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", + "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "dev": true, + "requires": { + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0" + } + }, + "jest-pnp-resolver": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", + "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", + "dev": true + }, + "jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true + }, + "jest-resolve": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", + "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "jest-pnp-resolver": "^1.2.1", + "realpath-native": "^1.1.0" + } + }, + "jest-resolve-dependencies": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", + "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-snapshot": "^24.9.0" + } + }, + "jest-runner": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", + "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.4.2", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-docblock": "^24.3.0", + "jest-haste-map": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-leak-detector": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + } + }, + "jest-runtime": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", + "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/source-map": "^24.3.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "strip-bom": "^3.0.0", + "yargs": "^13.3.0" + } + }, + "jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", + "dev": true + }, + "jest-snapshot": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", + "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "expect": "^24.9.0", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^24.9.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" + } + }, + "jest-watcher": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", + "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", + "dev": true, + "requires": { + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "jest-util": "^24.9.0", + "string-length": "^2.0.0" + } + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "loglevel": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.3.tgz", + "integrity": "sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "micromodal": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/micromodal/-/micromodal-0.3.2.tgz", + "integrity": "sha512-xRON1OqD9G8FfI1qShYTtJZaN77x03QR2UnkpL7H17877lATNJoV8XHR+nrnc2FqgXqjFdaYJYidbfISecMlNQ==" + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-forge": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", + "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "node-releases": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.29.tgz", + "integrity": "sha512-R5bDhzh6I+tpi/9i2hrrvGJ3yKPYzlVOORDkXhnZuwi5D3q1I5w4vYy24PJXTcLk9Q0kws9TO77T75bcK8/ysQ==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwsapi": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz", + "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true + }, + "object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "dev": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "portfinder": { + "version": "1.0.23", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.23.tgz", + "integrity": "sha512-B729mL/uLklxtxuiJKfQ84WPxNw5a7Yhx3geQZdcA4GjNjZSTSSMMWyoennMVnTWSmAR0lMdzWYN0JLnHrg1KQ==", + "dev": true, + "requires": { + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prompts": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz", + "integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.3" + } + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "psl": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.1.tgz", + "integrity": "sha512-2KLd5fKOdAfShtY2d/8XDWVRnmp3zp40Qt6ge2zBPFARLXOGUf2fHD5eg+TV/5oxBtQKVhjUaKFsAaE4HnwfSA==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + } + } + }, + "react-is": { + "version": "16.9.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz", + "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, + "requires": { + "util.promisify": "^1.0.0" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp-tree": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.13.tgz", + "integrity": "sha512-hwdV/GQY5F8ReLZWO+W1SRoN5YfpOKY6852+tBFcma72DKBIcHjPRIlIvQN35bCOljuAfP2G2iB0FC/w236mUw==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "regexpu-core": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz", + "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", + "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", + "dev": true, + "requires": { + "lodash": "^4.17.11" + } + }, + "request-promise-native": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", + "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", + "dev": true, + "requires": { + "request-promise-core": "1.1.2", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", + "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", + "dev": true, + "requires": { + "node-forge": "0.7.5" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "sisteransi": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz", + "integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "sockjs-client": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", + "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", + "dev": true, + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "spdy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string.prototype.trimleft": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.0.0.tgz", + "integrity": "sha1-aLaqjhYsaoDnbjqKDC50cYbicf8=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.0.2" + } + }, + "string.prototype.trimright": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.0.0.tgz", + "integrity": "sha1-q0pW2AKgH75yk+EehPJNyBZGYd0=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "terser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.2.1.tgz", + "integrity": "sha512-cGbc5utAcX4a9+2GGVX4DsenG6v0x3glnDi5hx8816X1McEAwPlPgRtXPJzSBsbpILxZ8MQMT0KvArLuE0HP5A==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", + "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", + "dev": true, + "optional": true, + "requires": { + "commander": "~2.20.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "dev": true, + "requires": { + "browser-process-hrtime": "^0.1.2" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "webpack": { + "version": "4.39.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.39.3.tgz", + "integrity": "sha512-BXSI9M211JyCVc3JxHWDpze85CvjC842EvpRsVTc/d15YJGlox7GIDd38kJgWrb3ZluyvIjgenbLDMBQPDcxYQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + } + }, + "webpack-cli": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.7.tgz", + "integrity": "sha512-OhTUCttAsr+IZSMVwGROGRHvT+QAs8H6/mHIl4SvhAwYywjiylYjpwybGx7WQ9Hkb45FhjtsymkwiRRbGJ1SZQ==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.1.tgz", + "integrity": "sha512-5MWu9SH1z3hY7oHOV6Kbkz5x7hXbxK56mGHNqHTe6d+ewxOwKUxoUJBs7QIaJb33lPjl9bJZ3X0vCoooUzC36A==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.0.tgz", + "integrity": "sha512-Hs8K9yI6pyMvGkaPTeTonhD6JXVsigXDApYk9JLW4M7viVBspQvb1WdAcWxqtmttxNW4zf2UFLsLNe0y87pIGQ==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.6", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "^0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.0", + "killable": "^1.0.1", + "loglevel": "^1.6.3", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.21", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.4", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.3.0", + "spdy": "^4.0.1", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.0", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "12.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f321e9c --- /dev/null +++ b/package.json @@ -0,0 +1,42 @@ +{ + "name": "apple1js", + "version": "0.0.1", + "description": "An Apple 1 Emulator in Javascript", + "main": "dist/index.js", + "scripts": { + "build": "webpack --mode=production", + "dev": "webpack-dev-server", + "lint": "eslint js", + "start": "webpack-dev-server", + "test": "jest" + }, + "repository": { + "type": "git", + "url": "https://github.com/whscullin/apple1js" + }, + "keywords": [ + "Apple 1", + "Emulator", + "Javascript" + ], + "author": "Will Scullin", + "license": "MIT", + "bugs": { + "url": "https://github.com/whscullin/apple1js/issues" + }, + "homepage": "https://github.com/whscullin/apple1js#readme", + "devDependencies": { + "@babel/core": "^7.4.0", + "@babel/preset-env": "^7.4.2", + "ajv": "^6.9.2", + "babel-jest": "^24.5.0", + "eslint": "^5.16.0", + "jest": "^24.8.0", + "webpack": "^4.29.6", + "webpack-cli": "^3.2.3", + "webpack-dev-server": "^3.2.1" + }, + "dependencies": { + "micromodal": "^0.3.2" + } +} diff --git a/tapes/apple30th.js b/tapes/apple30th.js new file mode 100644 index 0000000..3b9e29d --- /dev/null +++ b/tapes/apple30th.js @@ -0,0 +1,449 @@ +// By Dave Schmenk, posted on Applefritter +// Who said that there was no graphics capability on the Apple 1? +// http://www.applefritter.com/node/24600#comment-60100 + +/*globals tapes: true */ + +/* +C100R +0280.0FFFR +280R +*/ + +tapes['Apple 30th'] = { + script: 'C100R\n0280.0FFFR\n280R\n', + tracks: [[ // 0280.0FFF + 0xA9, 0xFF, 0x48, 0xA9, 0x00, 0x48, 0xA9, 0x2D, + 0x85, 0x06, 0xA9, 0x03, 0x85, 0x07, 0x20, 0x15, + 0x03, 0xA0, 0x00, 0xB1, 0x06, 0xF0, 0x1B, 0x4A, + 0x4A, 0x4A, 0x4A, 0xAA, 0xB1, 0x06, 0x29, 0x0F, + 0xA8, 0xB9, 0x1D, 0x03, 0x20, 0xEF, 0xFF, 0xCA, + 0xD0, 0xFA, 0xE6, 0x06, 0xD0, 0xE3, 0xE6, 0x07, + 0xD0, 0xDF, 0xC8, 0x38, 0xA9, 0x28, 0xF1, 0x06, + 0x4A, 0xAA, 0xA9, 0xA0, 0x20, 0xEF, 0xFF, 0xCA, + 0xD0, 0xFA, 0xB1, 0x06, 0xAA, 0xC8, 0xB1, 0x06, + 0x20, 0xEF, 0xFF, 0xCA, 0xD0, 0xF7, 0xC8, 0x98, + 0x18, 0x65, 0x06, 0x85, 0x06, 0xA9, 0x00, 0x65, + 0x07, 0x85, 0x07, 0xA9, 0x10, 0x20, 0xEB, 0x02, + 0x20, 0x15, 0x03, 0xA0, 0x00, 0xB1, 0x06, 0xF0, + 0x9D, 0xD0, 0xA3, 0x48, 0x8A, 0x48, 0x98, 0x48, + 0xA0, 0xFF, 0xA2, 0xFF, 0xAD, 0x11, 0xD0, 0x10, + 0x09, 0x68, 0xA8, 0x68, 0xAA, 0x68, 0xAD, 0x10, + 0xD0, 0x60, 0xCA, 0xD0, 0xEF, 0x88, 0xD0, 0xEA, + 0x68, 0xA8, 0x68, 0xAA, 0x68, 0x38, 0xE9, 0x01, + 0xD0, 0xD9, 0xA9, 0x00, 0x60, 0x48, 0xA9, 0x8D, + 0x20, 0xEF, 0xFF, 0x68, 0x60, 0xA0, 0xAE, 0xBA, + 0xAC, 0xBB, 0xA1, 0xAD, 0xDE, 0xAB, 0xBD, 0xBF, + 0xA6, 0xAA, 0xA5, 0xA3, 0xC0, 0xFF, 0x1F, 0x1B, + 0x17, 0x16, 0x14, 0x13, 0x14, 0x17, 0x1B, 0x1E, + 0xFF, 0xCF, 0x1E, 0x2C, 0x18, 0x50, 0x21, 0x12, + 0x14, 0x17, 0x1C, 0xFF, 0x8F, 0x1B, 0x16, 0x12, + 0x21, 0x70, 0x31, 0x10, 0x11, 0x18, 0xFF, 0x5F, + 0x1D, 0x15, 0x50, 0x21, 0x70, 0x41, 0x18, 0x1D, + 0xFF, 0x2F, 0x1E, 0x14, 0xF0, 0x30, 0x11, 0x10, + 0x12, 0x17, 0x1E, 0xFF, 0x19, 0xE0, 0x11, 0x12, + 0x24, 0x12, 0x40, 0x19, 0xFF, 0x14, 0x50, 0x23, + 0x11, 0x20, 0x21, 0x20, 0x12, 0x15, 0x18, 0x19, + 0x16, 0x12, 0x30, 0x12, 0x19, 0xDF, 0x1C, 0x11, + 0x40, 0x12, 0x19, 0x1A, 0x17, 0x25, 0x26, 0x34, + 0x17, 0x2A, 0x19, 0x17, 0x13, 0x30, 0x11, 0x1B, + 0xCF, 0x18, 0x50, 0x13, 0x2A, 0x19, 0x38, 0x19, + 0x18, 0x27, 0x28, 0x27, 0x18, 0x17, 0x12, 0x30, + 0x18, 0xCF, 0x1A, 0x50, 0x15, 0x19, 0x17, 0x14, + 0x13, 0x22, 0x13, 0x16, 0x17, 0x16, 0x13, 0x21, + 0x12, 0x14, 0x17, 0x15, 0x20, 0x13, 0x1D, 0xCF, + 0x1C, 0x40, 0x12, 0x28, 0x15, 0x13, 0x11, 0x30, + 0x12, 0x28, 0x12, 0x10, 0x11, 0x12, 0x14, 0x17, + 0x18, 0x12, 0x10, 0x1A, 0xDF, 0x1D, 0x12, 0x30, + 0x14, 0x1A, 0x19, 0x18, 0x17, 0x45, 0x16, 0x1B, + 0x1D, 0x18, 0x26, 0x17, 0x18, 0x1A, 0x1B, 0x15, + 0x11, 0x1C, 0xEF, 0x18, 0x10, 0x13, 0x12, 0x13, + 0x59, 0x18, 0x27, 0x19, 0x1B, 0x2C, 0x1A, 0x27, + 0x19, 0x2A, 0x17, 0x12, 0x18, 0xEF, 0x1E, 0x12, + 0x23, 0x11, 0x15, 0x16, 0x35, 0x24, 0x35, 0x16, + 0x17, 0x16, 0x14, 0x13, 0x14, 0x15, 0x16, 0x15, + 0x11, 0x18, 0xFF, 0x17, 0x30, 0x12, 0x24, 0x13, + 0x21, 0x23, 0x11, 0x10, 0x21, 0x22, 0x21, 0x13, + 0x14, 0x12, 0x13, 0x1D, 0xFF, 0x1D, 0x16, 0x11, + 0x10, 0x21, 0x22, 0x11, 0x22, 0x13, 0x24, 0x25, + 0x14, 0x23, 0x41, 0x1A, 0xFF, 0x2F, 0x1D, 0x16, + 0x15, 0x20, 0x31, 0x13, 0x24, 0x15, 0x16, 0x47, + 0x13, 0x11, 0x10, 0x12, 0x19, 0xFF, 0x2F, 0x1D, + 0x1A, 0x1C, 0x19, 0x13, 0x11, 0x20, 0x21, 0x13, + 0x24, 0x33, 0x24, 0x21, 0x13, 0x1A, 0xEF, 0x2E, + 0x1D, 0x1C, 0x1B, 0x1D, 0x1E, 0x1B, 0x16, 0x13, + 0x51, 0x12, 0x41, 0x12, 0x21, 0x12, 0x18, 0x1A, + 0x1D, 0xAF, 0x1E, 0x1D, 0x3C, 0x2D, 0x4E, 0x1A, + 0x14, 0x22, 0x11, 0x20, 0x71, 0x13, 0x15, 0x17, + 0x2C, 0x1D, 0x1E, 0x7F, 0x4D, 0x2E, 0x2D, 0x2E, + 0x1D, 0x2E, 0x19, 0x23, 0x32, 0x31, 0x22, 0x13, + 0x15, 0x16, 0x14, 0x17, 0x2E, 0x3D, 0x2E, 0x4F, + 0x2E, 0x7D, 0x2E, 0x1D, 0x2E, 0x1A, 0x14, 0x43, + 0x14, 0x13, 0x14, 0x15, 0x16, 0x17, 0x15, 0x14, + 0x18, 0x1D, 0x4E, 0x2D, 0x4E, 0x9D, 0x4E, 0x1C, + 0x1A, 0x18, 0x15, 0x14, 0x43, 0x15, 0x26, 0x15, + 0x13, 0x16, 0x1A, 0x3E, 0x8D, 0x00, 0x04, 0x57, + 0x4F, 0x5A, 0x20, 0x8F, 0x1E, 0x1B, 0x18, 0x15, + 0x34, 0x15, 0x17, 0x18, 0x19, 0x1B, 0x1D, 0x1E, + 0xFF, 0x7F, 0x1E, 0x1A, 0x17, 0x14, 0x11, 0x40, + 0x21, 0x30, 0x31, 0x12, 0x16, 0x1C, 0xFF, 0x4F, + 0x1C, 0x16, 0x11, 0x50, 0x21, 0x20, 0x11, 0x12, + 0x11, 0x50, 0x11, 0x17, 0x1D, 0xFF, 0x1F, 0x1B, + 0x14, 0xA0, 0x21, 0x12, 0x11, 0x20, 0x21, 0x30, + 0x13, 0x1A, 0xEF, 0x19, 0x11, 0xA0, 0x11, 0x12, + 0x15, 0x17, 0x13, 0x20, 0x51, 0x10, 0x11, 0x17, + 0x1E, 0xBF, 0x1A, 0xB0, 0x11, 0x12, 0x13, 0x15, + 0x18, 0x15, 0x30, 0x61, 0x10, 0x16, 0x1E, 0xAF, + 0x18, 0xA0, 0x11, 0x12, 0x14, 0x25, 0x1A, 0x19, + 0x13, 0x40, 0x41, 0x20, 0x18, 0xAF, 0x16, 0x90, + 0x11, 0x12, 0x14, 0x27, 0x16, 0x18, 0x1A, 0x16, + 0x11, 0x90, 0x15, 0xAF, 0x16, 0x70, 0x11, 0x12, + 0x23, 0x24, 0x13, 0x32, 0x23, 0x11, 0x80, 0x13, + 0x1E, 0x9F, 0x18, 0x50, 0x31, 0x12, 0x13, 0x14, + 0x13, 0x11, 0x40, 0x12, 0x14, 0x15, 0x14, 0x13, + 0x11, 0x50, 0x11, 0x1C, 0x9F, 0x1A, 0x40, 0x31, + 0x20, 0x12, 0x18, 0x17, 0x13, 0x12, 0x21, 0x12, + 0x16, 0x19, 0x1A, 0x1B, 0x1A, 0x18, 0x13, 0x50, + 0x16, 0x1E, 0x8F, 0x1C, 0x11, 0x20, 0x11, 0x14, + 0x23, 0x22, 0x14, 0x1B, 0x1D, 0x1A, 0x18, 0x27, + 0x18, 0x19, 0x4B, 0x1A, 0x18, 0x13, 0x40, 0x11, + 0x18, 0x9F, 0x17, 0x20, 0x11, 0x17, 0x19, 0x37, + 0x16, 0x1A, 0x2E, 0x1B, 0x28, 0x49, 0x48, 0x17, + 0x15, 0x14, 0x11, 0x20, 0x17, 0x9F, 0x1D, 0x15, + 0x20, 0x16, 0x48, 0x26, 0x29, 0x18, 0x47, 0x18, + 0x27, 0x38, 0x19, 0x17, 0x13, 0x11, 0x20, 0x1A, + 0xAF, 0x1E, 0x15, 0x10, 0x12, 0x26, 0x17, 0x18, + 0x17, 0x14, 0x23, 0x14, 0x27, 0x15, 0x14, 0x16, + 0x27, 0x48, 0x15, 0x40, 0x15, 0x1E, 0xAF, 0x1E, + 0x15, 0x10, 0x14, 0x27, 0x16, 0x15, 0x14, 0x13, + 0x12, 0x13, 0x25, 0x14, 0x13, 0x15, 0x16, 0x37, + 0x18, 0x17, 0x15, 0x11, 0x20, 0x12, 0x15, 0x1C, + 0xBF, 0x1C, 0x12, 0x11, 0x26, 0x15, 0x23, 0x24, + 0x13, 0x14, 0x15, 0x26, 0x25, 0x36, 0x15, 0x14, + 0x17, 0x14, 0x20, 0x12, 0x16, 0x1A, 0xCF, 0x1A, + 0x22, 0x25, 0x14, 0x25, 0x14, 0x13, 0x15, 0x16, + 0x27, 0x26, 0x15, 0x14, 0x13, 0x12, 0x15, 0x18, + 0x17, 0x11, 0x10, 0x11, 0x14, 0x17, 0x1B, 0xCF, + 0x1B, 0x16, 0x24, 0x25, 0x26, 0x25, 0x46, 0x14, + 0x13, 0x22, 0x13, 0x16, 0x28, 0x13, 0x10, 0x11, + 0x13, 0x15, 0x17, 0x1C, 0xCF, 0x1D, 0x14, 0x22, + 0x14, 0x15, 0x24, 0x53, 0x32, 0x13, 0x15, 0x16, + 0x17, 0x18, 0x14, 0x21, 0x13, 0x25, 0x19, 0xCF, + 0x1B, 0x23, 0x21, 0x12, 0x93, 0x24, 0x15, 0x16, + 0x27, 0x13, 0x11, 0x12, 0x14, 0x15, 0x16, 0x19, + 0x1B, 0x1E, 0xAF, 0x19, 0x13, 0x14, 0x13, 0x32, + 0x33, 0x14, 0x23, 0x34, 0x35, 0x16, 0x15, 0x13, + 0x12, 0x13, 0x25, 0x17, 0x28, 0x1C, 0x1E, 0x1D, + 0x1E, 0x4F, 0x2E, 0x1D, 0x19, 0x15, 0x34, 0x33, + 0x94, 0x35, 0x14, 0x13, 0x14, 0x16, 0x25, 0x17, + 0x19, 0x1D, 0x2E, 0x1D, 0x1E, 0x00, 0x0B, 0x53, + 0x54, 0x45, 0x56, 0x45, 0x20, 0x4A, 0x4F, 0x42, + 0x53, 0x20, 0xFF, 0xAF, 0x27, 0xFF, 0xFF, 0x5F, + 0x57, 0xFF, 0xFF, 0x4F, 0x57, 0xFF, 0xFF, 0x4F, + 0x57, 0xFF, 0xFF, 0x4F, 0x57, 0xFF, 0xDF, 0x37, + 0x4F, 0x27, 0x4F, 0x47, 0xFF, 0x4F, 0xF7, 0xA7, + 0xDF, 0xF7, 0xD7, 0xBF, 0xFC, 0xCC, 0xCF, 0xFC, + 0xCC, 0xDF, 0xFC, 0xBC, 0xDF, 0xF8, 0xC8, 0xDF, + 0xF8, 0xC8, 0xDF, 0xF8, 0xD8, 0xDF, 0xF4, 0xD4, + 0xCF, 0xF4, 0xE4, 0xCF, 0xF4, 0xF4, 0xAF, 0xF3, + 0xF3, 0xBF, 0xF3, 0xD3, 0xDF, 0xF3, 0xB3, 0xFF, + 0x1F, 0xF4, 0x84, 0xFF, 0x3F, 0x84, 0x4F, 0x84, + 0xFF, 0xFF, 0xFF, 0x5F, 0x00, 0x1B, 0x48, 0x41, + 0x50, 0x50, 0x59, 0x20, 0x33, 0x30, 0x54, 0x48, + 0x20, 0x42, 0x49, 0x52, 0x54, 0x48, 0x44, 0x41, + 0x59, 0x20, 0x41, 0x50, 0x50, 0x4C, 0x45, 0x21, + 0x20, 0xFF, 0xAF, 0x1E, 0x19, 0x15, 0x13, 0x14, + 0x19, 0x1D, 0xFF, 0xFF, 0x2F, 0x1E, 0x18, 0x13, + 0x31, 0x13, 0x17, 0x1D, 0xEF, 0x1E, 0x1D, 0x1C, + 0x1D, 0xDF, 0x1C, 0x16, 0x22, 0x24, 0x13, 0x15, + 0x1A, 0xDF, 0x1C, 0x17, 0x12, 0x11, 0x15, 0x1A, + 0xCF, 0x1D, 0x18, 0x25, 0x28, 0x27, 0x19, 0x1E, + 0xBF, 0x1C, 0x16, 0x11, 0x10, 0x11, 0x12, 0x15, + 0x1A, 0xCF, 0x1C, 0x19, 0x27, 0x18, 0x27, 0x19, + 0x1D, 0xBF, 0x1A, 0x15, 0x14, 0x15, 0x17, 0x26, + 0x18, 0x1C, 0xCF, 0x1B, 0x16, 0x24, 0x25, 0x18, + 0x1C, 0xBF, 0x1B, 0x17, 0x15, 0x16, 0x18, 0x17, + 0x18, 0x1A, 0x1E, 0xCF, 0x1C, 0x17, 0x14, 0x13, + 0x14, 0x15, 0x18, 0x1B, 0xBF, 0x1D, 0x18, 0x45, + 0x17, 0x1B, 0x1E, 0xCF, 0x1E, 0x1C, 0x19, 0x27, + 0x19, 0x1B, 0x1E, 0xCF, 0x1B, 0x15, 0x22, 0x13, + 0x17, 0x1C, 0xFF, 0x1F, 0x2D, 0x1E, 0xEF, 0x1E, + 0x19, 0x13, 0x11, 0x14, 0x19, 0x1E, 0xAF, 0x2E, + 0xAF, 0x3E, 0x5F, 0x4E, 0x1B, 0x17, 0x14, 0x16, + 0x1A, 0x1D, 0xAF, 0x1E, 0x1D, 0x1E, 0x8F, 0x1E, + 0x3D, 0x1E, 0x3F, 0x1E, 0x4D, 0x1C, 0x2B, 0x1A, + 0x1B, 0x1C, 0x2D, 0x2E, 0x5F, 0x1E, 0x2D, 0x1E, + 0x7F, 0x1E, 0x1D, 0x2C, 0x1D, 0x2E, 0x1F, 0x1E, + 0x3D, 0x6E, 0x5D, 0x1E, 0x6F, 0x1D, 0x1C, 0x1D, + 0x1E, 0x3F, 0x2E, 0x1F, 0x1E, 0x1D, 0x2C, 0x1D, + 0x3E, 0x5D, 0x9E, 0x1D, 0x6C, 0x1B, 0x1A, 0x39, + 0x2A, 0x19, 0x1A, 0x1C, 0x2E, 0x1D, 0x2B, 0x1C, + 0x1E, 0x2F, 0x1E, 0x7D, 0x3E, 0x2D, 0x1E, 0x1D, + 0x1A, 0x17, 0x25, 0x16, 0x55, 0x14, 0x25, 0x16, + 0x18, 0x1B, 0x1E, 0x1F, 0x1D, 0x2B, 0x1C, 0x1D, + 0x3E, 0x2D, 0x1C, 0x1B, 0x2C, 0x1D, 0x1E, 0x1F, + 0x1E, 0x2D, 0x1C, 0x1B, 0x18, 0x16, 0x15, 0x84, + 0x25, 0x16, 0x18, 0x1B, 0x1E, 0x1F, 0x1E, 0x3C, + 0x1D, 0x1E, 0x1C, 0x3D, 0x3C, 0x1D, 0x1E, 0x3F, + 0x1E, 0x1D, 0x1B, 0x19, 0x18, 0x17, 0x16, 0x15, + 0x24, 0x25, 0x44, 0x23, 0x16, 0x1A, 0x1D, 0x3F, + 0x1E, 0x2D, 0x1C, 0x1D, 0x2C, 0x2D, 0x4E, 0x2F, + 0x1D, 0x1B, 0x19, 0x18, 0x27, 0x15, 0x14, 0x13, + 0x14, 0x26, 0x14, 0x33, 0x12, 0x13, 0x14, 0x17, + 0x1A, 0x1C, 0x1D, 0x3E, 0x4D, 0x1B, 0x19, 0x1A, + 0x1B, 0x1D, 0x3E, 0x1D, 0x1C, 0x19, 0x17, 0x16, + 0x17, 0x38, 0x17, 0x16, 0x17, 0x18, 0x29, 0x17, + 0x26, 0x15, 0x16, 0x27, 0x38, 0x19, 0x1A, 0x1D, + 0x4F, 0x1D, 0x1B, 0x39, 0x1A, 0x49, 0x38, 0x19, + 0x1A, 0x1C, 0x1E, 0x1F, 0x2E, 0x1F, 0x1E, 0x1D, + 0x1B, 0x3A, 0x19, 0x18, 0x27, 0x18, 0x19, 0x1A, + 0x1C, 0x1E, 0x5F, 0x1D, 0x1A, 0x18, 0x27, 0x18, + 0x29, 0x3A, 0x19, 0x18, 0x1A, 0x1D, 0x6F, 0x1C, + 0x19, 0x18, 0x69, 0x1A, 0x1B, 0x1A, 0x1B, 0x1D, + 0x5F, 0x1D, 0x19, 0x16, 0x15, 0x56, 0x15, 0x14, + 0x12, 0x13, 0x16, 0x1C, 0x6F, 0x1E, 0x19, 0x15, + 0x23, 0x44, 0x35, 0x16, 0x1A, 0x1E, 0x4F, 0x1E, + 0x18, 0x13, 0x10, 0x21, 0x12, 0x23, 0x12, 0x11, + 0x10, 0x11, 0x15, 0x1B, 0x7F, 0x1A, 0x15, 0x42, + 0x23, 0x14, 0x15, 0x16, 0x18, 0x1B, 0x1E, 0x2F, + 0x00, 0x1D, 0x57, 0x4F, 0x5A, 0x20, 0x41, 0x4E, + 0x44, 0x20, 0x4A, 0x4F, 0x42, 0x53, 0x20, 0x48, + 0x4F, 0x4C, 0x44, 0x49, 0x4E, 0x47, 0x20, 0x41, + 0x50, 0x50, 0x4C, 0x45, 0x20, 0x49, 0x20, 0xFF, + 0x3F, 0x3E, 0xFF, 0xFF, 0x5F, 0x1E, 0x7D, 0x1E, + 0xFF, 0xEF, 0x1E, 0x3D, 0x6E, 0x4D, 0x1E, 0xFF, + 0x8F, 0x1E, 0x2D, 0xEE, 0x3D, 0x2E, 0xFF, 0x2F, + 0x1E, 0x1D, 0xFE, 0x4E, 0x5D, 0x1E, 0xCF, 0x1E, + 0x1D, 0xFE, 0x7E, 0x3D, 0x1B, 0x19, 0x9F, 0x1C, + 0x2D, 0x6E, 0x1D, 0x1E, 0x3F, 0x2E, 0x2F, 0x7E, + 0x1D, 0x1E, 0x1D, 0x1A, 0x17, 0x15, 0x1E, 0x7F, + 0x1E, 0x1C, 0x2A, 0x1C, 0x1D, 0x3E, 0x19, 0x16, + 0x18, 0x19, 0x1C, 0x1E, 0x4F, 0x1E, 0x1F, 0x6E, + 0x1C, 0x19, 0x16, 0x14, 0x16, 0x7F, 0x2D, 0x3E, + 0x1C, 0x3B, 0x1D, 0x1B, 0x1A, 0x18, 0x37, 0x1A, + 0x1F, 0x4E, 0x1F, 0x4E, 0x1B, 0x18, 0x25, 0x16, + 0x17, 0x5F, 0x1E, 0x3D, 0x19, 0x14, 0x18, 0x1C, + 0x2E, 0x1D, 0x3B, 0x1C, 0x1B, 0x2A, 0x1D, 0x8E, + 0x1F, 0x1B, 0x16, 0x14, 0x15, 0x27, 0x18, 0x4F, + 0x1E, 0x1D, 0x1E, 0x1D, 0x15, 0x30, 0x11, 0x14, + 0x19, 0x1C, 0x1E, 0x1F, 0x1D, 0x1C, 0x2B, 0x1C, + 0x8E, 0x1F, 0x1E, 0x18, 0x14, 0x16, 0x47, 0x3F, + 0x2D, 0x1E, 0x1B, 0x14, 0x10, 0x41, 0x20, 0x11, + 0x14, 0x18, 0x1C, 0x1E, 0x1F, 0x1E, 0x1C, 0x3B, + 0x1D, 0x2E, 0x2F, 0x1E, 0x19, 0x26, 0x37, 0x15, + 0x1B, 0x1F, 0x1E, 0x3D, 0x1E, 0x1A, 0x11, 0x30, + 0x51, 0x20, 0x11, 0x14, 0x18, 0x1C, 0x1E, 0x1F, + 0x1E, 0x1C, 0x1B, 0x1A, 0x1B, 0x1C, 0x1D, 0x1A, + 0x16, 0x37, 0x16, 0x15, 0x1C, 0x2F, 0x1C, 0x16, + 0x19, 0x1D, 0x2E, 0x1D, 0x13, 0x31, 0x10, 0x71, + 0x10, 0x11, 0x14, 0x18, 0x1C, 0x1E, 0x1F, 0x1E, + 0x1D, 0x1C, 0x19, 0x47, 0x26, 0x1D, 0x4F, 0x1D, + 0x16, 0x12, 0x17, 0x1B, 0x1E, 0x1A, 0x14, 0x51, + 0x10, 0x11, 0x12, 0x61, 0x1B, 0x2D, 0x1E, 0x1F, + 0x1C, 0x47, 0x15, 0x17, 0x8F, 0x1A, 0x14, 0x12, + 0x14, 0x1A, 0x1D, 0x1C, 0x17, 0x13, 0x21, 0x12, + 0x11, 0x20, 0x22, 0x21, 0x1C, 0x1F, 0x3E, 0x1B, + 0x47, 0x15, 0x19, 0xBF, 0x1D, 0x17, 0x23, 0x17, + 0x1C, 0x1D, 0x1B, 0x16, 0x12, 0x11, 0x12, 0x11, + 0x20, 0x14, 0x1E, 0x1F, 0x2E, 0x1F, 0x1B, 0x47, + 0x15, 0x1B, 0xFF, 0x1B, 0x15, 0x12, 0x14, 0x19, + 0x2D, 0x1A, 0x2E, 0x1A, 0x17, 0x1E, 0x1F, 0x2E, + 0x1F, 0x1C, 0x37, 0x16, 0x15, 0x1C, 0xFF, 0x3F, + 0x1E, 0x18, 0x23, 0x16, 0x1B, 0x1D, 0x1E, 0x2F, + 0x3E, 0x1F, 0x1C, 0x37, 0x26, 0x1E, 0xFF, 0x7F, + 0x1C, 0x16, 0x12, 0x13, 0x17, 0x1C, 0x1E, 0x1F, + 0x1E, 0x1F, 0x1D, 0x37, 0x15, 0x17, 0xFF, 0xBF, + 0x1E, 0x19, 0x14, 0x12, 0x14, 0x19, 0x2C, 0x18, + 0x27, 0x15, 0x19, 0xFF, 0xFF, 0x1D, 0x17, 0x12, + 0x11, 0x12, 0x23, 0x14, 0x1B, 0xFF, 0xFF, 0x4F, + 0x1B, 0x19, 0x28, 0x1C, 0xEF, 0x00, 0x09, 0x41, + 0x50, 0x50, 0x4C, 0x45, 0x20, 0x49, 0x49, 0x20, + 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x1E, 0xFF, 0x7F, + 0x1E, 0x6D, 0x7C, 0x3B, 0x1A, 0x1D, 0xFF, 0x6F, + 0x1D, 0x15, 0x14, 0x35, 0xA4, 0x2A, 0x1D, 0xFF, + 0x6F, 0x1D, 0x15, 0x18, 0x39, 0x2A, 0x79, 0x14, + 0x1A, 0x19, 0x1D, 0xFF, 0x6F, 0x1C, 0x14, 0x18, + 0x19, 0x1A, 0x1B, 0x19, 0x1A, 0x1B, 0x39, 0x3A, + 0x14, 0x29, 0x1D, 0xFF, 0x5F, 0x1E, 0x1B, 0x14, + 0x29, 0x1A, 0x19, 0x16, 0x18, 0x19, 0x17, 0x16, + 0x17, 0x28, 0x1A, 0x14, 0x28, 0x1D, 0xFF, 0x5F, + 0x1E, 0x1A, 0x14, 0x28, 0x39, 0x68, 0x19, 0x1A, + 0x14, 0x28, 0x1D, 0xFF, 0x5F, 0x1E, 0x1A, 0x14, + 0x28, 0x39, 0x7A, 0x19, 0x14, 0x18, 0x17, 0x1D, + 0xFF, 0x5F, 0x1D, 0x19, 0x13, 0x26, 0x55, 0x46, + 0x25, 0x13, 0x18, 0x17, 0x1C, 0xFF, 0x5F, 0x1D, + 0x19, 0x1A, 0x19, 0x28, 0x47, 0x16, 0x57, 0x18, + 0x1A, 0x16, 0x1C, 0xFF, 0x5F, 0x1C, 0x19, 0x3A, + 0x79, 0x58, 0x17, 0x16, 0x1C, 0xFF, 0x5F, 0x1B, + 0x68, 0x57, 0x36, 0x25, 0x26, 0x1C, 0xFF, 0x5F, + 0x1B, 0xD7, 0x36, 0x17, 0x16, 0x1C, 0xFF, 0x5F, + 0x1A, 0x17, 0x16, 0x47, 0x86, 0x17, 0x26, 0x15, + 0x1B, 0xFF, 0x5F, 0x19, 0x65, 0x74, 0x55, 0x1A, + 0x1D, 0x1E, 0x8F, 0x1D, 0x7C, 0x2B, 0x17, 0x44, + 0x13, 0x14, 0x53, 0x15, 0x16, 0x13, 0x22, 0x13, + 0x14, 0x1D, 0x1F, 0x1E, 0x1D, 0x1E, 0x5F, 0x1D, + 0x27, 0x36, 0x65, 0x34, 0x23, 0x14, 0x43, 0x14, + 0x1A, 0x1C, 0x14, 0x10, 0x11, 0x12, 0x13, 0x1D, + 0x3F, 0x1D, 0x1E, 0x4F, 0x1B, 0x16, 0x17, 0x15, + 0x17, 0x15, 0x16, 0x17, 0x36, 0x15, 0x54, 0x53, + 0x14, 0x1A, 0x1C, 0x16, 0x11, 0x13, 0x14, 0x17, + 0x1F, 0x1E, 0x3F, 0x1E, 0x4F, 0x1E, 0x1D, 0x1A, + 0x19, 0x1A, 0x99, 0x58, 0x27, 0x18, 0x3B, 0x18, + 0x17, 0x1B, 0x5D, 0x1B, 0x19, 0x1B, 0x1F, 0x1E, + 0x19, 0x48, 0x19, 0x88, 0x77, 0x56, 0x25, 0x1A, + 0x1D, 0x1A, 0x19, 0x1A, 0x1B, 0x1A, 0x17, 0x14, + 0x1A, 0x2F, 0x1C, 0x4A, 0xB9, 0xB8, 0x19, 0x1C, + 0x1D, 0x17, 0x26, 0x15, 0x14, 0x15, 0x17, 0x1D, + 0xFF, 0xFF, 0x3E, 0x1D, 0x1C, 0x2B, 0x1D, 0x3F, + 0x00, 0x0A, 0x4D, 0x41, 0x43, 0x49, 0x4E, 0x54, + 0x4F, 0x53, 0x48, 0x20, 0xEF, 0x1E, 0x2D, 0xFF, + 0xFF, 0x4F, 0x1D, 0x19, 0x18, 0x29, 0x17, 0x1C, + 0x1E, 0x1D, 0xFF, 0xFF, 0x19, 0x15, 0x19, 0x1A, + 0x29, 0x17, 0x18, 0x1E, 0x1B, 0x1C, 0x1E, 0xFF, + 0xBF, 0x1C, 0x26, 0x2B, 0x1A, 0x19, 0x28, 0x16, + 0x1E, 0x16, 0x14, 0x19, 0x1C, 0xFF, 0x9F, 0x19, + 0x14, 0x19, 0x2C, 0x1B, 0x29, 0x18, 0x17, 0x15, + 0x1A, 0x1B, 0x10, 0x12, 0x16, 0x1A, 0xFF, 0x6F, + 0x1E, 0x16, 0x17, 0x3C, 0x1B, 0x1A, 0x19, 0x18, + 0x17, 0x16, 0x15, 0x16, 0x1E, 0x14, 0x11, 0x14, + 0x18, 0x1B, 0xFF, 0x4F, 0x1C, 0x15, 0x18, 0x2C, + 0x3B, 0x19, 0x18, 0x16, 0x35, 0x13, 0x1D, 0x19, + 0x10, 0x12, 0x17, 0x1A, 0x1E, 0xFF, 0x2F, 0x1B, + 0x14, 0x19, 0x1C, 0x2B, 0x2A, 0x29, 0x17, 0x15, + 0x34, 0x12, 0x1A, 0x1C, 0x21, 0x14, 0x18, 0x1C, + 0xFF, 0x1F, 0x1A, 0x14, 0x19, 0x1B, 0x2A, 0x29, + 0x38, 0x16, 0x24, 0x13, 0x14, 0x12, 0x15, 0x1E, + 0x13, 0x10, 0x12, 0x16, 0x1A, 0xFF, 0x1B, 0x12, + 0x17, 0x39, 0x28, 0x37, 0x16, 0x15, 0x63, 0x1E, + 0x17, 0x10, 0x11, 0x15, 0x18, 0x1E, 0xEF, 0x13, + 0x12, 0x16, 0x47, 0x26, 0x45, 0x13, 0x22, 0x23, + 0x11, 0x2A, 0x11, 0x10, 0x13, 0x17, 0x1C, 0xDF, + 0x1A, 0x10, 0x11, 0x14, 0x45, 0x64, 0x13, 0x42, + 0x11, 0x16, 0x1D, 0x12, 0x10, 0x12, 0x16, 0x19, + 0xDF, 0x17, 0x10, 0x31, 0x12, 0x93, 0x42, 0x11, + 0x14, 0x1E, 0x14, 0x10, 0x11, 0x15, 0x17, 0x1E, + 0xCF, 0x1D, 0x1B, 0x1A, 0x19, 0x17, 0x16, 0x25, + 0x12, 0x11, 0x12, 0x43, 0x12, 0x13, 0x22, 0x11, + 0x12, 0x1D, 0x16, 0x20, 0x13, 0x16, 0x1C, 0xCF, + 0x2D, 0x5E, 0x1D, 0x1C, 0x19, 0x17, 0x16, 0x15, + 0x14, 0x13, 0x42, 0x21, 0x1A, 0x1B, 0x13, 0x12, + 0x13, 0x15, 0x1A, 0xCF, 0x1E, 0x1C, 0x1D, 0x7E, + 0x1D, 0x1C, 0x1B, 0x1A, 0x29, 0x18, 0x16, 0x14, + 0x12, 0x10, 0x17, 0x1E, 0x1C, 0x1B, 0x2A, 0x1C, + 0xDF, 0x1D, 0x1C, 0x1D, 0x2E, 0x2D, 0x5C, 0x2D, + 0x1C, 0x1D, 0x1C, 0x2B, 0x18, 0x19, 0x1C, 0x19, + 0x1A, 0x19, 0x1A, 0x1C, 0xEF, 0x1D, 0x4C, 0x7D, + 0x3C, 0x2D, 0x1E, 0x2D, 0x19, 0x10, 0x15, 0x18, + 0x17, 0x18, 0x1B, 0xEF, 0x1E, 0x2D, 0x1B, 0x1C, + 0x1D, 0x3E, 0x2D, 0x2C, 0x1D, 0x2E, 0x2D, 0x1C, + 0x19, 0x10, 0x15, 0x19, 0x18, 0x19, 0x1A, 0xFF, + 0x2F, 0x1E, 0x1D, 0x2C, 0x1D, 0x2E, 0x4D, 0x1E, + 0x2D, 0x1E, 0x1B, 0x18, 0x16, 0x17, 0x18, 0x2B, + 0x4D, 0x2C, 0x1E, 0xAF, 0x3E, 0x1D, 0x1C, 0x5B, + 0x1A, 0x2B, 0x18, 0x27, 0x29, 0x1B, 0x1A, 0x29, + 0x14, 0x53, 0x12, 0x13, 0x16, 0x18, 0x29, 0x1D, + 0x3F, 0x2E, 0x1D, 0x1C, 0x2B, 0x4A, 0x29, 0x28, + 0x17, 0x56, 0x15, 0x18, 0x1C, 0x19, 0x43, 0x22, + 0x14, 0x17, 0x28, 0x29, 0x1C, 0xFF, 0x6F, 0x1E, + 0x1C, 0x2B, 0x1C, 0x2E, 0x1D, 0x3C, 0x2B, 0x1D, + 0x1E, 0x4F, 0x00, 0x05, 0x49, 0x4D, 0x41, 0x43, + 0x20, 0xA0, 0x13, 0x64, 0xD5, 0x12, 0xF0, 0x30, + 0x19, 0x1E, 0x1C, 0x5D, 0x6C, 0x5D, 0x1C, 0x1D, + 0x1F, 0x16, 0xF0, 0x20, 0x1D, 0x1B, 0x19, 0x3C, + 0x2D, 0x1B, 0x1A, 0x1B, 0x3A, 0x1C, 0x1D, 0x1C, + 0x1D, 0x1C, 0x1A, 0x18, 0x1F, 0x1A, 0xF0, 0x20, + 0x3C, 0x3B, 0x3E, 0xBF, 0x1A, 0x1F, 0x1A, 0xF0, + 0x20, 0x3C, 0x17, 0x14, 0x19, 0x17, 0x14, 0x1A, + 0x1E, 0x6D, 0x4F, 0x1A, 0x1F, 0x1A, 0xF0, 0x20, + 0x1C, 0x1B, 0x1C, 0x1B, 0x15, 0x1D, 0x27, 0x1D, + 0x1E, 0x3C, 0x7F, 0x1A, 0x1F, 0x1A, 0xF0, 0x20, + 0x1C, 0x1B, 0x1C, 0x18, 0x13, 0x1B, 0x16, 0x14, + 0x1B, 0x1E, 0x1C, 0x3D, 0x1C, 0x5F, 0x1A, 0x1F, + 0x1A, 0xF0, 0x20, 0x1C, 0x1B, 0x1C, 0x19, 0x18, + 0x29, 0x18, 0x1A, 0x4D, 0x1E, 0x6F, 0x1A, 0x1F, + 0x1A, 0xF0, 0x20, 0x1C, 0x1B, 0x1D, 0x2B, 0x8C, + 0x1D, 0x3F, 0x1E, 0x1D, 0x1E, 0x1A, 0x1F, 0x1A, + 0xF0, 0x20, 0x1C, 0x4B, 0x6C, 0x6D, 0x1C, 0x1B, + 0x1C, 0x1A, 0x1F, 0x1A, 0xF0, 0x20, 0x1B, 0x1E, + 0x6D, 0xCE, 0x2F, 0x1A, 0xF0, 0x20, 0x1B, 0x5E, + 0xFF, 0x1F, 0x1A, 0xF0, 0x20, 0x1B, 0x6E, 0x2D, + 0x1C, 0x2D, 0x2C, 0x1D, 0x1E, 0x6F, 0x1A, 0xF0, + 0x20, 0x1B, 0x4E, 0x1D, 0x2C, 0x6B, 0x3C, 0x5F, + 0x1A, 0xF0, 0x20, 0x1B, 0x3E, 0x1D, 0x5B, 0x3D, + 0x4B, 0x1C, 0x4F, 0x1A, 0xF0, 0x20, 0x1B, 0x1E, + 0x2D, 0x1C, 0x2B, 0x1A, 0x1B, 0x4F, 0x1E, 0x1A, + 0x3B, 0x1E, 0x3F, 0x1A, 0xF0, 0x20, 0x1A, 0x3D, + 0x1B, 0x4A, 0x1E, 0x3F, 0x1D, 0x4A, 0x1E, 0x3F, + 0x1A, 0xF0, 0x20, 0x1A, 0x1D, 0x1C, 0x1D, 0x1C, + 0x1A, 0x19, 0x1A, 0x19, 0x1A, 0x2B, 0x1A, 0x19, + 0x2A, 0x19, 0x1B, 0x4F, 0x1A, 0xF0, 0x20, 0x1A, + 0x3C, 0x1D, 0x1C, 0x1A, 0x89, 0x1A, 0x1B, 0x1E, + 0x4F, 0x1A, 0xF0, 0x20, 0x19, 0x4C, 0x2D, 0x1C, + 0x1B, 0x1A, 0x2B, 0x1A, 0x1B, 0x1C, 0x1D, 0x3E, + 0x3F, 0x1A, 0xF0, 0x20, 0x1A, 0x5C, 0x6D, 0x7E, + 0x3F, 0x19, 0xF0, 0x20, 0x15, 0x3B, 0x5C, 0x8D, + 0x4E, 0x1D, 0x13, 0xF0, 0x30, 0x11, 0xF2, 0x42, + 0x11, 0x90, 0x00, 0x05, 0x49, 0x50, 0x4F, 0x44, + 0x20, 0xEF, 0x1D, 0x4C, 0x1B, 0x2C, 0x4B, 0x5A, + 0x29, 0x1A, 0x39, 0x28, 0x1B, 0xDF, 0x1D, 0x15, + 0x16, 0x47, 0x18, 0x19, 0x1A, 0x49, 0x2A, 0x49, + 0x48, 0x19, 0x17, 0x19, 0xDF, 0x1C, 0x14, 0x13, + 0x24, 0x25, 0x16, 0x17, 0x18, 0x27, 0x78, 0x67, + 0x16, 0x19, 0xDF, 0x1A, 0x13, 0x22, 0x13, 0x14, + 0x15, 0x46, 0x17, 0x18, 0xB7, 0x26, 0x1A, 0xDF, + 0x19, 0x13, 0x22, 0x13, 0x25, 0x26, 0xB7, 0x46, + 0x17, 0x16, 0x1B, 0xDF, 0x17, 0x13, 0x32, 0x14, + 0x26, 0x27, 0xC6, 0x37, 0x16, 0x1C, 0xDF, 0x16, + 0x42, 0x14, 0x15, 0x17, 0x18, 0x25, 0x26, 0x25, + 0x36, 0x15, 0x76, 0x1D, 0xDF, 0x15, 0x42, 0x13, + 0x16, 0x19, 0x55, 0x14, 0x36, 0x75, 0x14, 0x15, + 0x1E, 0xCF, 0x1E, 0x14, 0x41, 0x13, 0x27, 0x54, + 0x16, 0x17, 0x16, 0x25, 0x14, 0x15, 0x24, 0x33, + 0x15, 0x1E, 0xCF, 0x1D, 0x13, 0x41, 0x14, 0x17, + 0x14, 0x43, 0x16, 0x17, 0x25, 0x44, 0x23, 0x22, + 0x13, 0x15, 0xDF, 0x1C, 0x13, 0x41, 0x14, 0x23, + 0x22, 0x13, 0x26, 0x15, 0x14, 0x43, 0x52, 0x13, + 0x16, 0xDF, 0x1A, 0x12, 0x30, 0x62, 0x44, 0x23, + 0x22, 0x31, 0x22, 0x11, 0x12, 0x16, 0xDF, 0x18, + 0x11, 0x20, 0x61, 0x62, 0x91, 0x12, 0x17, 0xDF, + 0x17, 0x11, 0x20, 0xC1, 0x50, 0x41, 0x12, 0x18, + 0xDF, 0x16, 0xF0, 0x60, 0x31, 0x12, 0x18, 0xDF, + 0x15, 0x30, 0x14, 0x11, 0x13, 0x12, 0x13, 0x22, + 0x51, 0x30, 0x11, 0x50, 0x12, 0x19, 0xBF, 0x1D, + 0x19, 0x14, 0x33, 0x26, 0x17, 0x28, 0x19, 0x1A, + 0x25, 0x17, 0x16, 0x27, 0x15, 0x13, 0x1A, 0x14, + 0x12, 0x30, 0x12, 0x1A, 0x7F, 0x1C, 0x19, 0x16, + 0x14, 0x13, 0x15, 0x17, 0x46, 0x17, 0x26, 0x37, + 0x15, 0x16, 0x58, 0x27, 0x16, 0x14, 0x12, 0x21, + 0x13, 0x1B, 0x2F, 0x1E, 0x1C, 0x1A, 0x28, 0x49, + 0x3A, 0x28, 0x17, 0x18, 0x47, 0x16, 0x15, 0x16, + 0x25, 0x14, 0x45, 0x14, 0x13, 0x31, 0x13, 0x16, + 0x1D, 0x1F, 0x29, 0x1B, 0x3C, 0x3D, 0x5E, 0x1C, + 0x1B, 0x1A, 0x29, 0x17, 0x16, 0x17, 0x28, 0x16, + 0x25, 0x24, 0x13, 0x14, 0x12, 0x21, 0x13, 0x25, + 0x1B, 0x2F, 0x1A, 0x46, 0x17, 0x18, 0x19, 0x3A, + 0x1C, 0x1B, 0x1A, 0x19, 0x18, 0x1B, 0x1C, 0x1B, + 0x4A, 0x29, 0x18, 0x17, 0x16, 0x25, 0x14, 0x13, + 0x14, 0x19, 0x16, 0x1B, 0x9F, 0x1E, 0x1D, 0x1C, + 0x1B, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x15, 0x14, + 0x25, 0x14, 0x23, 0x84, 0x23, 0x14, 0x16, 0x1B, + 0xFF, 0x9F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, + 0x18, 0x17, 0x25, 0x14, 0x13, 0x14, 0x1A, 0x8F, + 0x00, 0x0C, 0x4D, 0x41, 0x43, 0x42, 0x4F, 0x4F, + 0x4B, 0x20, 0x50, 0x52, 0x4F, 0x20, 0xFF, 0x9F, + 0x40, 0xFF, 0xFF, 0x4F, 0x60, 0xFF, 0xFF, 0x2F, + 0x70, 0xFF, 0xFF, 0x3F, 0x60, 0xFF, 0xFF, 0x3F, + 0x50, 0xFF, 0xBF, 0x40, 0x5F, 0x20, 0x5F, 0x60, + 0xEF, 0xF0, 0xF0, 0x8F, 0xF0, 0xF0, 0x30, 0x5F, + 0xF0, 0xF0, 0x40, 0x5F, 0xF0, 0xF0, 0x30, 0x7F, + 0xF0, 0xF0, 0x20, 0x8F, 0xF0, 0xF0, 0x20, 0x8F, + 0xF0, 0xF0, 0x20, 0x8F, 0xF0, 0xF0, 0x20, 0x8F, + 0xF0, 0xF0, 0x30, 0x7F, 0xF0, 0xF0, 0x50, 0x6F, + 0xF0, 0xF0, 0x60, 0x5F, 0xF0, 0xF0, 0x50, 0x5F, + 0xF0, 0xF0, 0x40, 0x8F, 0xF0, 0xF0, 0x10, 0xAF, + 0xF0, 0xE0, 0xDF, 0xF0, 0xB0, 0xFF, 0x80, 0x7F, + 0x80, 0x8F, 0x00, 0x13, 0x54, 0x48, 0x45, 0x20, + 0x4E, 0x45, 0x58, 0x54, 0x20, 0x54, 0x48, 0x49, + 0x52, 0x54, 0x59, 0x2E, 0x2E, 0x2E, 0x20, 0x00 + ]] +}; diff --git a/tapes/applesoft.js b/tapes/applesoft.js new file mode 100644 index 0000000..01dad5a --- /dev/null +++ b/tapes/applesoft.js @@ -0,0 +1,993 @@ +/*globals tapes: true */ + +tapes['Applesoft'] = { + script: 'C100R\n6000.7ECDR\n6000R\n', + tracks: [[ + 0x4c,0xa5,0x7c,0x4c,0xea,0x62,0xcd,0x66, + 0xdb,0x65,0xa8,0x6a,0x90,0x67,0x63,0x69, + 0x61,0x6d,0x93,0x69,0x20,0x7d,0x66,0x67, + 0x29,0x7d,0x49,0x7d,0x6e,0x7d,0xbb,0x7d, + 0x41,0x68,0x39,0x67,0x0d,0x67,0xc4,0x67, + 0xa6,0x66,0x1c,0x67,0x66,0x67,0xd7,0x67, + 0xcb,0x66,0xe7,0x67,0x40,0x74,0xd0,0x68, + 0xf3,0x66,0x2b,0x65,0xf0,0x64,0x52,0x69, + 0xcf,0x64,0x35,0x7e,0x9e,0x7e,0xaa,0x7e, + 0x1d,0x7e,0x35,0x78,0xc5,0x78,0x54,0x78, + 0x5c,0x70,0x2d,0x7b,0x4c,0x7c,0xeb,0x75, + 0xa8,0x7b,0x2a,0x74,0x9c,0x73,0x8b,0x70, + 0xcd,0x73,0xab,0x73,0x0c,0x73,0x20,0x73, + 0x4c,0x73,0x57,0x73,0x79,0x6a,0x74,0x79, + 0x53,0x74,0x7b,0x2b,0x76,0x7b,0x0d,0x77, + 0x7d,0x36,0x7b,0x50,0xe6,0x6c,0x46,0xe0, + 0x6c,0x7f,0x6e,0x7b,0x7f,0x47,0x6c,0x64, + 0xf6,0x6c,0x45,0x4e,0xc4,0x46,0x4f,0xd2, + 0x4e,0x45,0x58,0xd4,0x44,0x41,0x54,0xc1, + 0x49,0x4e,0x50,0x55,0xd4,0x44,0x49,0xcd, + 0x52,0x45,0x41,0xc4,0x43,0x41,0x4c,0xcc, + 0x50,0x4f,0xd0,0x48,0x49,0x4d,0x45,0x4d, + 0xba,0x4c,0x4f,0x4d,0x45,0x4d,0xba,0x4f, + 0x4e,0x45,0x52,0xd2,0x52,0x45,0x53,0x55, + 0x4d,0xc5,0x4c,0x45,0xd4,0x47,0x4f,0x54, + 0xcf,0x52,0x55,0xce,0x49,0xc6,0x52,0x45, + 0x53,0x54,0x4f,0x52,0xc5,0x47,0x4f,0x53, + 0x55,0xc2,0x52,0x45,0x54,0x55,0x52,0xce, + 0x52,0x45,0xcd,0x53,0x54,0x4f,0xd0,0x4f, + 0xce,0x50,0x4f,0x4b,0xc5,0x50,0x52,0x49, + 0x4e,0xd4,0x43,0x4f,0x4e,0xd4,0x4c,0x49, + 0x53,0xd4,0x43,0x4c,0x45,0x41,0xd2,0x47, + 0x45,0xd4,0x4e,0x45,0xd7,0x4d,0x45,0x4e, + 0xd5,0x53,0x41,0x56,0xc5,0x4c,0x4f,0x41, + 0xc4,0x43,0x4c,0xd3,0x54,0xcf,0x53,0x50, + 0x43,0xa8,0x54,0x48,0x45,0xce,0x4e,0x4f, + 0xd4,0x53,0x54,0x45,0xd0,0xab,0xad,0xaa, + 0xaf,0xde,0x41,0x4e,0xc4,0x4f,0xd2,0xbe, + 0xbd,0xbc,0x53,0x47,0xce,0x49,0x4e,0xd4, + 0x41,0x42,0xd3,0x46,0x52,0xc5,0x53,0x51, + 0xd2,0x52,0x4e,0xc4,0x4c,0x4f,0xc7,0x45, + 0x58,0xd0,0x50,0x45,0x45,0xcb,0x4c,0x45, + 0xce,0x53,0x54,0x52,0xa4,0x56,0x41,0xcc, + 0x41,0x53,0xc3,0x43,0x48,0x52,0xa4,0x4c, + 0x45,0x46,0x54,0xa4,0x52,0x49,0x47,0x48, + 0x54,0xa4,0x4d,0x49,0x44,0xa4,0x00,0x4e, + 0x4f,0x20,0x46,0x4f,0xd2,0x53,0x59,0x4e, + 0x54,0x41,0xd8,0x4e,0x4f,0x20,0x47,0x4f, + 0x53,0x55,0xc2,0x4f,0x55,0x54,0x20,0x4f, + 0x46,0x20,0x44,0x41,0x54,0xc1,0x49,0x4c, + 0x4c,0x45,0x47,0x20,0x51,0x54,0xd9,0x4f, + 0x56,0x45,0x52,0x46,0x4c,0x4f,0xd7,0x4f, + 0x55,0x54,0x20,0x4f,0x46,0x20,0x4d,0x45, + 0xcd,0x55,0x4e,0x44,0x45,0x46,0x20,0x4c, + 0x49,0x4e,0xc5,0x42,0x41,0x44,0x20,0x53, + 0x55,0x42,0x53,0x43,0xd2,0x52,0x45,0x44, + 0x49,0xcd,0x44,0x49,0x56,0x20,0x42,0x59, + 0x20,0xb0,0x4e,0x4f,0x54,0x20,0x44,0x49, + 0x52,0x45,0x43,0xd4,0x57,0x52,0x4f,0x4e, + 0x47,0x20,0x54,0x59,0xd0,0x4c,0x4f,0x4e, + 0x47,0x20,0x53,0x54,0xd2,0x4c,0x4f,0x4e, + 0x47,0x20,0x46,0x4f,0x52,0x4d,0x55,0x4c, + 0xc1,0x43,0x41,0x4e,0x27,0x54,0x20,0x43, + 0x4f,0x4e,0xd4,0x4e,0x4f,0x20,0x43,0x46, + 0x46,0xc1,0x20,0x45,0x52,0x52,0x00,0x20, + 0x49,0x4e,0x20,0x00,0x0d,0x42,0x52,0x45, + 0x41,0x4b,0x00,0xba,0xe8,0xe8,0xe8,0xe8, + 0xbd,0x01,0x01,0xc9,0x81,0xd0,0x21,0xa5, + 0x86,0xd0,0x0a,0xbd,0x02,0x01,0x85,0x85, + 0xbd,0x03,0x01,0x85,0x86,0xdd,0x03,0x01, + 0xd0,0x07,0xa5,0x85,0xdd,0x02,0x01,0xf0, + 0x07,0x8a,0x18,0x69,0x12,0xaa,0xd0,0xd8, + 0x60,0x20,0x91,0x62,0x85,0x6d,0x84,0x6e, + 0x38,0xa5,0x96,0xe5,0x9b,0x85,0x5e,0xa8, + 0xa5,0x97,0xe5,0x9c,0xaa,0xe8,0x98,0xf0, + 0x23,0xa5,0x96,0x38,0xe5,0x5e,0x85,0x96, + 0xb0,0x03,0xc6,0x97,0x38,0xa5,0x94,0xe5, + 0x5e,0x85,0x94,0xb0,0x08,0xc6,0x95,0x90, + 0x04,0xb1,0x96,0x91,0x94,0x88,0xd0,0xf9, + 0xb1,0x96,0x91,0x94,0xc6,0x97,0xc6,0x95, + 0xca,0xd0,0xf2,0x60,0x0a,0x69,0x36,0xb0, + 0x35,0x85,0x5e,0xba,0xe4,0x5e,0x90,0x2e, + 0x60,0xc4,0x70,0x90,0x28,0xd0,0x04,0xc5, + 0x6f,0x90,0x22,0x48,0xa2,0x09,0x98,0x48, + 0xb5,0x93,0xca,0x10,0xfa,0x20,0x4a,0x71, + 0xa2,0xf7,0x68,0x95,0x9d,0xe8,0x30,0xfa, + 0x68,0xa8,0x68,0xc4,0x70,0x90,0x06,0xd0, + 0x05,0xc5,0x6f,0xb0,0x01,0x60,0xa2,0x30, + 0x24,0xd8,0x10,0x03,0x4c,0x8d,0x7d,0x20, + 0x14,0x7e,0x20,0x11,0x7e,0xbd,0x6f,0x61, + 0x48,0x20,0x16,0x7e,0xe8,0x68,0x10,0xf5, + 0x20,0x0a,0x65,0xa9,0x02,0xa0,0x62,0x20, + 0x0e,0x69,0xa4,0x76,0xc8,0xf0,0x03,0x20, + 0xb9,0x79,0x20,0x14,0x7e,0xa2,0xdd,0x20, + 0xdc,0x63,0x86,0xb8,0x84,0xb9,0x46,0xd8, + 0x20,0xb1,0x00,0xaa,0xf0,0xec,0xa2,0xff, + 0x86,0x76,0x90,0x06,0x20,0xf1,0x63,0x4c, + 0x7b,0x66,0xa6,0xaf,0x86,0x69,0xa6,0xb0, + 0x86,0x6a,0x20,0x08,0x68,0x20,0xf1,0x63, + 0x84,0x0f,0x20,0xa1,0x64,0x90,0x44,0xa0, + 0x01,0xb1,0x9b,0x85,0x5f,0xa5,0x69,0x85, + 0x5e,0xa5,0x9c,0x85,0x61,0xa5,0x9b,0x88, + 0xf1,0x9b,0x18,0x65,0x69,0x85,0x69,0x85, + 0x60,0xa5,0x6a,0x69,0xff,0x85,0x6a,0xe5, + 0x9c,0xaa,0x38,0xa5,0x9b,0xe5,0x69,0xa8, + 0xb0,0x03,0xe8,0xc6,0x61,0x18,0x65,0x5e, + 0x90,0x03,0xc6,0x5f,0x18,0xb1,0x5e,0x91, + 0x60,0xc8,0xd0,0xf9,0xe6,0x5f,0xe6,0x61, + 0xca,0xd0,0xf2,0xad,0x00,0x02,0xf0,0x38, + 0xa5,0x73,0xa4,0x74,0x85,0x6f,0x84,0x70, + 0xa5,0x69,0x85,0x96,0x65,0x0f,0x85,0x94, + 0xa4,0x6a,0x84,0x97,0x90,0x01,0xc8,0x84, + 0x95,0x20,0x41,0x62,0xa5,0x50,0xa4,0x51, + 0x8d,0xfe,0x01,0x8c,0xff,0x01,0xa5,0x6d, + 0xa4,0x6e,0x85,0x69,0x84,0x6a,0xa4,0x0f, + 0xb9,0xfb,0x01,0x88,0x91,0x9b,0xd0,0xf8, + 0x20,0xec,0x64,0xa5,0x67,0xa4,0x68,0x85, + 0x5e,0x84,0x5f,0x18,0xa0,0x01,0xb1,0x5e, + 0xd0,0x0b,0xa5,0x69,0x85,0xaf,0xa5,0x6a, + 0x85,0xb0,0x4c,0xea,0x62,0xa0,0x04,0xc8, + 0xb1,0x5e,0xd0,0xfb,0xc8,0x98,0x65,0x5e, + 0xaa,0xa0,0x00,0x91,0x5e,0xa5,0x5f,0x69, + 0x00,0xc8,0x91,0x5e,0x86,0x5e,0x85,0x5f, + 0x90,0xd2,0xa2,0x80,0x86,0x33,0x20,0xf1, + 0x7d,0xe0,0xef,0x90,0x02,0xa2,0xef,0xa9, + 0x00,0x9d,0x00,0x02,0xa2,0xff,0xa0,0x01, + 0x60,0xa6,0xb8,0xca,0xa0,0x04,0x84,0x13, + 0x24,0xd6,0x10,0x08,0x68,0x68,0x20,0xec, + 0x64,0x4c,0x48,0x66,0xe8,0xbd,0x00,0x02, + 0x24,0x13,0x70,0x04,0xc9,0x20,0xf0,0xf4, + 0x85,0x0e,0xc9,0x22,0xf0,0x63,0x70,0x3c, + 0xc9,0x3f,0xd0,0x04,0xa9,0x98,0xd0,0x34, + 0xc9,0x30,0x90,0x04,0xc9,0x3c,0x90,0x2c, + 0x84,0xad,0xa9,0x8a,0x85,0x9d,0xa9,0x5f, + 0x85,0x9e,0xa0,0x00,0x84,0x0f,0x88,0x86, + 0xb8,0xca,0xc8,0xd0,0x02,0xe6,0x9e,0xe8, + 0xbd,0x00,0x02,0xc9,0x20,0xf0,0xf8,0x38, + 0xf1,0x9d,0xf0,0xee,0xc9,0x80,0xd0,0x30, + 0x05,0x0f,0xa4,0xad,0xe8,0xc8,0x99,0xfb, + 0x01,0xb9,0xfb,0x01,0xf0,0x39,0x38,0xe9, + 0x3a,0xf0,0x04,0xc9,0x49,0xd0,0x02,0x85, + 0x13,0x38,0xe9,0x5a,0xd0,0x97,0x85,0x0e, + 0xbd,0x00,0x02,0xf0,0xdf,0xc5,0x0e,0xf0, + 0xdb,0xc8,0x99,0xfb,0x01,0xe8,0xd0,0xf0, + 0xa6,0xb8,0xe6,0x0f,0xb1,0x9d,0xc8,0xd0, + 0x02,0xe6,0x9e,0x0a,0x90,0xf6,0xb1,0x9d, + 0xd0,0xae,0xbd,0x00,0x02,0x10,0xbb,0x99, + 0xfd,0x01,0xc6,0xb9,0xa9,0xff,0x85,0xb8, + 0x60,0xa5,0x67,0xa6,0x68,0xa0,0x01,0x85, + 0x9b,0x86,0x9c,0xb1,0x9b,0xf0,0x1f,0xc8, + 0xc8,0xa5,0x51,0xd1,0x9b,0x90,0x18,0xf0, + 0x03,0x88,0xd0,0x09,0xa5,0x50,0x88,0xd1, + 0x9b,0x90,0x0c,0xf0,0x0a,0x88,0xb1,0x9b, + 0xaa,0x88,0xb1,0x9b,0xb0,0xd7,0x18,0x60, + 0xd0,0xfd,0xa9,0x00,0x85,0xd6,0xa8,0x91, + 0x67,0xc8,0x91,0x67,0xa5,0x67,0x69,0x02, + 0x85,0x69,0x85,0xaf,0xa5,0x68,0x69,0x00, + 0x85,0x6a,0x85,0xb0,0x20,0x1e,0x65,0xa9, + 0x00,0xd0,0x2a,0xa5,0x73,0xa4,0x74,0x85, + 0x6f,0x84,0x70,0xa5,0x69,0xa4,0x6a,0x85, + 0x6b,0x84,0x6c,0x85,0x6d,0x84,0x6e,0x20, + 0xa7,0x66,0xa2,0x55,0x86,0x52,0x68,0xa8, + 0x68,0xa2,0xf8,0x9a,0x48,0x98,0x48,0xa9, + 0x00,0x85,0x7a,0x85,0x14,0x60,0x18,0xa5, + 0x67,0x69,0xff,0x85,0xb8,0xa5,0x68,0x69, + 0xff,0x85,0xb9,0x60,0x90,0x0a,0xf0,0x08, + 0xc9,0xa8,0xf0,0x04,0xc9,0x2c,0xd0,0xe5, + 0x20,0x08,0x68,0x20,0xa1,0x64,0x20,0xb7, + 0x00,0xf0,0x10,0xc9,0xa8,0xf0,0x04,0xc9, + 0x2c,0xd0,0x84,0x20,0xb1,0x00,0x20,0x08, + 0x68,0xd0,0xca,0x68,0x68,0xa5,0x50,0x05, + 0x51,0xd0,0x06,0xa9,0xff,0x85,0x50,0x85, + 0x51,0xa0,0x01,0xb1,0x9b,0xf0,0x37,0x20, + 0xb6,0x66,0x20,0x14,0x7e,0xc8,0xb1,0x9b, + 0xaa,0xc8,0xb1,0x9b,0xc5,0x51,0xd0,0x04, + 0xe4,0x50,0xf0,0x02,0xb0,0x20,0x84,0x85, + 0x20,0xc4,0x79,0xa9,0x20,0xa4,0x85,0x29, + 0x7f,0x20,0x16,0x7e,0xc8,0xb1,0x9b,0xd0, + 0x1b,0xa8,0xb1,0x9b,0xaa,0xc8,0xb1,0x9b, + 0x86,0x9b,0x85,0x9c,0xd0,0xc3,0x20,0x14, + 0x7e,0x4c,0x48,0x66,0xc8,0xd0,0x02,0xe6, + 0x9e,0xb1,0x9d,0x60,0x10,0xdb,0x38,0xe9, + 0x7f,0xaa,0x84,0x85,0xa0,0x8a,0x84,0x9d, + 0xa0,0x5f,0x84,0x9e,0xa0,0xff,0xca,0xf0, + 0x07,0x20,0xa4,0x65,0x10,0xfb,0x30,0xf6, + 0x20,0x0e,0x7e,0x20,0xa4,0x65,0x30,0x05, + 0x20,0x16,0x7e,0xd0,0xf6,0x20,0x16,0x7e, + 0xa9,0x20,0xd0,0xa9,0xa9,0x80,0x85,0x14, + 0x20,0x42,0x68,0x20,0x13,0x62,0xd0,0x05, + 0x8a,0x69,0x0f,0xaa,0x9a,0x68,0x68,0xa9, + 0x09,0x20,0x84,0x62,0x20,0x9f,0x67,0x18, + 0x98,0x65,0xb8,0x48,0xa5,0xb9,0x69,0x00, + 0x48,0xa5,0x76,0x48,0xa5,0x75,0x48,0xa9, + 0xa2,0x20,0x69,0x6c,0x20,0x1a,0x6b,0x20, + 0x17,0x6b,0xa5,0xa2,0x09,0x7f,0x25,0x9e, + 0x85,0x9e,0xa9,0x25,0xa0,0x66,0x85,0x5e, + 0x84,0x5f,0x4c,0xd0,0x6b,0xa9,0xbd,0xa0, + 0x75,0x20,0x9e,0x77,0x20,0xb7,0x00,0xc9, + 0xa6,0xd0,0x06,0x20,0xb1,0x00,0x20,0x17, + 0x6b,0x20,0x27,0x78,0x20,0xc5,0x6b,0xa5, + 0x86,0x48,0xa5,0x85,0x48,0xa9,0x81,0x48, + 0xba,0x86,0xf8,0x20,0xb6,0x66,0xa5,0xb8, + 0xa4,0xb9,0xa6,0x76,0xe8,0xf0,0x04,0x85, + 0x79,0x84,0x7a,0xa0,0x00,0xb1,0xb8,0xd0, + 0x3f,0xa0,0x02,0xb1,0xb8,0x18,0xf0,0x1c, + 0xc8,0xb1,0xb8,0x85,0x75,0xc8,0xb1,0xb8, + 0x85,0x76,0x98,0x65,0xb8,0x85,0xb8,0x90, + 0x02,0xe6,0xb9,0x20,0xb1,0x00,0x20,0x86, + 0x66,0x4c,0x48,0x66,0xf0,0x62,0xf0,0x2d, + 0xe9,0x80,0x90,0x11,0xc9,0x40,0xb0,0x14, + 0x0a,0xa8,0xb9,0x07,0x60,0x48,0xb9,0x06, + 0x60,0x48,0x4c,0xb1,0x00,0x4c,0x42,0x68, + 0xc9,0x3a,0xf0,0xd7,0x4c,0x72,0x6c,0x38, + 0xa5,0x67,0xe9,0x01,0xa4,0x68,0xb0,0x01, + 0x88,0x85,0x7d,0x84,0x7e,0x60,0xad,0x10, + 0xd0,0xc9,0x83,0xf0,0x01,0x60,0x20,0xd2, + 0x7d,0xa2,0xff,0x24,0xd8,0x10,0x03,0x4c, + 0x8d,0x7d,0xc9,0x03,0xb0,0x01,0x18,0xd0, + 0x3c,0xa5,0xb8,0xa4,0xb9,0xa6,0x76,0xe8, + 0xf0,0x0c,0x85,0x79,0x84,0x7a,0xa5,0x75, + 0xa4,0x76,0x85,0x77,0x84,0x78,0x68,0x68, + 0xa9,0x0c,0xa0,0x62,0x90,0x03,0x4c,0xdf, + 0x62,0x4c,0xea,0x62,0xd0,0x17,0xa2,0x82, + 0xa4,0x7a,0xd0,0x03,0x4c,0xc0,0x62,0xa5, + 0x79,0x85,0xb8,0x84,0xb9,0xa5,0x77,0xa4, + 0x78,0x85,0x75,0x84,0x76,0x60,0x08,0xc6, + 0x76,0x28,0xd0,0x03,0x4c,0xec,0x64,0x20, + 0xf3,0x64,0x4c,0x31,0x67,0xa9,0x03,0x20, + 0x84,0x62,0xa5,0xb9,0x48,0xa5,0xb8,0x48, + 0xa5,0x76,0x48,0xa5,0x75,0x48,0xa9,0x92, + 0x48,0x20,0xb7,0x00,0x20,0x3a,0x67,0x4c, + 0x48,0x66,0x20,0x08,0x68,0x20,0xa2,0x67, + 0xa5,0x76,0xc5,0x51,0xb0,0x0b,0x98,0x38, + 0x65,0xb8,0xa6,0xb9,0x90,0x07,0xe8,0xb0, + 0x04,0xa5,0x67,0xa6,0x68,0x20,0xa5,0x64, + 0x90,0x1e,0xa5,0x9b,0xe9,0x01,0x85,0xb8, + 0xa5,0x9c,0xe9,0x00,0x85,0xb9,0x60,0xd0, + 0xfd,0xa9,0xff,0x85,0x85,0x20,0x13,0x62, + 0x9a,0xc9,0x92,0xf0,0x0b,0xa2,0x0c,0x2c, + 0xa2,0x3a,0x4c,0xc0,0x62,0x4c,0x72,0x6c, + 0x68,0x68,0xc0,0x10,0xf0,0x3b,0x85,0x75, + 0x68,0x85,0x76,0x68,0x85,0xb8,0x68,0x85, + 0xb9,0x20,0x9f,0x67,0x98,0x18,0x65,0xb8, + 0x85,0xb8,0x90,0x02,0xe6,0xb9,0x60,0xa2, + 0x3a,0x2c,0xa2,0x00,0x86,0x0d,0xa0,0x00, + 0x84,0x0e,0xa5,0x0e,0xa6,0x0d,0x85,0x0d, + 0x86,0x0e,0xb1,0xb8,0xf0,0xe8,0xc5,0x0e, + 0xf0,0xe4,0xc8,0xc9,0x22,0xd0,0xf3,0xf0, + 0xe9,0x68,0x68,0x68,0x60,0x20,0x2b,0x6b, + 0x20,0xb7,0x00,0xc9,0x8e,0xf0,0x05,0xa9, + 0xa4,0x20,0x69,0x6c,0xa5,0x9d,0xd0,0x05, + 0x20,0xa2,0x67,0xf0,0xb7,0x20,0xb7,0x00, + 0xb0,0x03,0x4c,0x3a,0x67,0x4c,0x86,0x66, + 0x20,0xbe,0x73,0x48,0xc9,0x92,0xf0,0x04, + 0xc9,0x8e,0xd0,0x89,0xc6,0xa1,0xd0,0x04, + 0x68,0x4c,0x88,0x66,0x20,0xb1,0x00,0x20, + 0x08,0x68,0xc9,0x2c,0xf0,0xee,0x68,0x60, + 0xa2,0x00,0x86,0x50,0x86,0x51,0xb0,0xf7, + 0xe9,0x2f,0x85,0x0d,0xa5,0x51,0x85,0x5e, + 0xc9,0x19,0xb0,0xd4,0xa5,0x50,0x0a,0x26, + 0x5e,0x0a,0x26,0x5e,0x65,0x50,0x85,0x50, + 0xa5,0x5e,0x65,0x51,0x85,0x51,0x06,0x50, + 0x26,0x51,0xa5,0x50,0x65,0x0d,0x85,0x50, + 0x90,0x02,0xe6,0x51,0x20,0xb1,0x00,0x4c, + 0x0e,0x68,0x20,0x6c,0x6d,0x85,0x85,0x84, + 0x86,0xa9,0xaf,0x20,0x69,0x6c,0xa5,0x12, + 0x48,0xa5,0x11,0x48,0x20,0x2b,0x6b,0x68, + 0x2a,0x20,0x1d,0x6b,0xd0,0x18,0x68,0x10, + 0x12,0x20,0x17,0x78,0x20,0x8b,0x6e,0xa0, + 0x00,0xa5,0xa0,0x91,0x85,0xc8,0xa5,0xa1, + 0x91,0x85,0x60,0x4c,0xcc,0x77,0x68,0xa0, + 0x02,0xb1,0xa0,0xc5,0x70,0x90,0x17,0xd0, + 0x07,0x88,0xb1,0xa0,0xc5,0x6f,0x90,0x0e, + 0xa4,0xa1,0xc4,0x6a,0x90,0x08,0xd0,0x0d, + 0xa5,0xa0,0xc5,0x69,0xb0,0x07,0xa5,0xa0, + 0xa4,0xa1,0x4c,0xb3,0x68,0xa0,0x00,0xb1, + 0xa0,0x20,0x9b,0x70,0xa5,0x8c,0xa4,0x8d, + 0x85,0xab,0x84,0xac,0x20,0x9a,0x72,0xa9, + 0x9d,0xa0,0x00,0x85,0x8c,0x84,0x8d,0x20, + 0xfb,0x72,0xa0,0x00,0xb1,0x8c,0x91,0x85, + 0xc8,0xb1,0x8c,0x91,0x85,0xc8,0xb1,0x8c, + 0x91,0x85,0x60,0x20,0x11,0x69,0x20,0xb7, + 0x00,0xf0,0x1f,0xf0,0xf5,0xc9,0xa3,0x18, + 0xf0,0x1b,0xc9,0x2c,0xf0,0x25,0xc9,0x3b, + 0xf0,0x21,0x20,0x2b,0x6b,0x24,0x11,0x30, + 0xe2,0x20,0xd4,0x79,0x20,0xad,0x70,0x4c, + 0xcb,0x68,0x4c,0x14,0x7e,0x20,0xbb,0x73, + 0xc9,0x29,0xf0,0x03,0x4c,0x72,0x6c,0xe8, + 0xca,0xd0,0x06,0x20,0xb1,0x00,0x4c,0xd3, + 0x68,0x20,0x0e,0x7e,0xd0,0xf2,0x20,0xad, + 0x70,0x20,0xc6,0x72,0xaa,0xa0,0x00,0xe8, + 0xca,0xf0,0xaf,0xb1,0x5e,0x20,0x16,0x7e, + 0xc8,0x4c,0x18,0x69,0xa5,0x15,0xf0,0x12, + 0x30,0x04,0xa0,0xff,0xd0,0x04,0xa5,0x7b, + 0xa4,0x7c,0x85,0x75,0x84,0x76,0x4c,0x72, + 0x6c,0x68,0x24,0xd8,0x10,0x05,0xa2,0xfe, + 0x4c,0x8d,0x7d,0xa9,0x9f,0xa0,0x6a,0x20, + 0x0e,0x69,0xa5,0x79,0xa4,0x7a,0x85,0xb8, + 0x84,0xb9,0x60,0x20,0x81,0x70,0xa2,0x01, + 0xa0,0x02,0xa9,0x00,0x8d,0x01,0x02,0xa9, + 0x40,0x4c,0x9d,0x69,0xc9,0x22,0xd0,0x0e, + 0x20,0x31,0x6c,0xa9,0x3b,0x20,0x69,0x6c, + 0x20,0x11,0x69,0x4c,0x79,0x69,0x20,0x11, + 0x7e,0x20,0x81,0x70,0xa9,0x2c,0x8d,0xff, + 0x01,0x20,0xda,0x63,0xad,0x00,0x02,0xc9, + 0x03,0xd0,0x10,0x4c,0xc1,0x66,0x20,0x11, + 0x7e,0x4c,0xda,0x63,0xa6,0x7d,0xa4,0x7e, + 0xa9,0x98,0x2c,0xa9,0x00,0x85,0x15,0x86, + 0x7f,0x84,0x80,0x20,0x6c,0x6d,0x85,0x85, + 0x84,0x86,0xa5,0xb8,0xa4,0xb9,0x85,0x87, + 0x84,0x88,0xa6,0x7f,0xa4,0x80,0x86,0xb8, + 0x84,0xb9,0x20,0xb7,0x00,0xd0,0x1c,0x24, + 0x15,0x50,0x0c,0x20,0xd2,0x7d,0x8d,0x00, + 0x02,0xa2,0xff,0xa0,0x01,0xd0,0x08,0x30, + 0x7f,0x20,0x11,0x7e,0x20,0x8e,0x69,0x86, + 0xb8,0x84,0xb9,0x20,0xb1,0x00,0x24,0x11, + 0x10,0x31,0x24,0x15,0x50,0x09,0xe8,0x86, + 0xb8,0xa9,0x00,0x85,0x0d,0xf0,0x0c,0x85, + 0x0d,0xc9,0x22,0xf0,0x07,0xa9,0x3a,0x85, + 0x0d,0xa9,0x2c,0x18,0x85,0x0e,0xa5,0xb8, + 0xa4,0xb9,0x69,0x00,0x90,0x01,0xc8,0x20, + 0xb3,0x70,0x20,0x03,0x74,0x20,0x77,0x68, + 0x4c,0x22,0x6a,0x48,0xad,0x00,0x02,0xf0, + 0x30,0x68,0x20,0xec,0x78,0xa5,0x12,0x20, + 0x5f,0x68,0x20,0xb7,0x00,0xf0,0x07,0xc9, + 0x2c,0xf0,0x03,0x4c,0x24,0x69,0xa5,0xb8, + 0xa4,0xb9,0x85,0x7f,0x84,0x80,0xa5,0x87, + 0xa4,0x88,0x85,0xb8,0x84,0xb9,0x20,0xb7, + 0x00,0xf0,0x33,0x20,0x67,0x6c,0x4c,0xa3, + 0x69,0xa5,0x15,0xd0,0xcc,0x4c,0x39,0x69, + 0x20,0x9f,0x67,0xc8,0xaa,0xd0,0x12,0xa2, + 0x14,0xc8,0xb1,0xb8,0xf0,0x5f,0xc8,0xb1, + 0xb8,0x85,0x7b,0xc8,0xb1,0xb8,0xc8,0x85, + 0x7c,0xb1,0xb8,0xaa,0x20,0x94,0x67,0xe0, + 0x83,0xd0,0xdd,0x4c,0xdb,0x69,0xa5,0x7f, + 0xa4,0x80,0xa6,0x15,0x10,0x03,0x4c,0xb1, + 0x66,0xa0,0x00,0xb1,0x7f,0xf0,0x07,0xa9, + 0x8f,0xa0,0x6a,0x4c,0x0e,0x69,0x60,0x3f, + 0x45,0x58,0x54,0x52,0x41,0x20,0x49,0x47, + 0x4e,0x4f,0x52,0x45,0x44,0x0d,0x00,0x3f, + 0x52,0x45,0x45,0x4e,0x54,0x45,0x52,0x0d, + 0x00,0xd0,0x04,0xa0,0x00,0xf0,0x03,0x20, + 0x6c,0x6d,0x85,0x85,0x84,0x86,0x20,0x13, + 0x62,0xf0,0x04,0xa2,0x00,0xf0,0x69,0x9a, + 0xe8,0xe8,0xe8,0xe8,0x8a,0xe8,0xe8,0xe8, + 0xe8,0xe8,0xe8,0x86,0x60,0xa0,0x01,0x20, + 0x9e,0x77,0xba,0xbd,0x09,0x01,0x85,0xa2, + 0xa5,0x85,0xa4,0x86,0x20,0x68,0x74,0x20, + 0xcc,0x77,0xa0,0x01,0x20,0x59,0x78,0xba, + 0x38,0xfd,0x09,0x01,0xf0,0x17,0xbd,0x0f, + 0x01,0x85,0x75,0xbd,0x10,0x01,0x85,0x76, + 0xbd,0x12,0x01,0x85,0xb8,0xbd,0x11,0x01, + 0x85,0xb9,0x4c,0x48,0x66,0x8a,0x69,0x11, + 0xaa,0x9a,0x20,0xb7,0x00,0xc9,0x2c,0xd0, + 0xf1,0x20,0xb1,0x00,0x20,0xaf,0x6a,0x20, + 0x2b,0x6b,0x18,0x24,0x38,0x24,0x11,0x30, + 0x03,0xb0,0x03,0x60,0xb0,0xfd,0xa2,0x65, + 0x4c,0xc0,0x62,0xa6,0xb8,0xd0,0x02,0xc6, + 0xb9,0xc6,0xb8,0xa2,0x00,0x24,0x48,0x8a, + 0x48,0xa9,0x01,0x20,0x84,0x62,0x20,0x10, + 0x6c,0xa9,0x00,0x85,0x89,0x20,0xb7,0x00, + 0x38,0xe9,0xae,0x90,0x17,0xc9,0x03,0xb0, + 0x13,0xc9,0x01,0x2a,0x49,0x01,0x45,0x89, + 0xc5,0x89,0x90,0x61,0x85,0x89,0x20,0xb1, + 0x00,0x4c,0x48,0x6b,0xa6,0x89,0xd0,0x2c, + 0xb0,0x7b,0x69,0x07,0x90,0x77,0x65,0x11, + 0xd0,0x03,0x4c,0x5d,0x72,0x69,0xff,0x85, + 0x5e,0x0a,0x65,0x5e,0xa8,0x68,0xd9,0x6c, + 0x60,0xb0,0x67,0x20,0x1a,0x6b,0x48,0x20, + 0xad,0x6b,0x68,0xa4,0x87,0x10,0x17,0xaa, + 0xf0,0x56,0xd0,0x5f,0x46,0x11,0x8a,0x2a, + 0xa6,0xb8,0xd0,0x02,0xc6,0xb9,0xc6,0xb8, + 0xa0,0x1b,0x85,0x89,0xd0,0xd7,0xd9,0x6c, + 0x60,0xb0,0x48,0x90,0xd9,0xb9,0x6e,0x60, + 0x48,0xb9,0x6d,0x60,0x48,0x20,0xc0,0x6b, + 0xa5,0x89,0x4c,0x36,0x6b,0x4c,0x72,0x6c, + 0xa5,0xa2,0xbe,0x6c,0x60,0xa8,0x68,0x85, + 0x5e,0xe6,0x5e,0x68,0x85,0x5f,0x98,0x48, + 0x20,0x17,0x78,0xa5,0xa1,0x48,0xa5,0xa0, + 0x48,0xa5,0x9f,0x48,0xa5,0x9e,0x48,0xa5, + 0x9d,0x48,0x6c,0x5e,0x00,0xa0,0xff,0x68, + 0xf0,0x23,0xc9,0x64,0xf0,0x03,0x20,0x1a, + 0x6b,0x84,0x87,0x68,0x4a,0x85,0x16,0x68, + 0x85,0xa5,0x68,0x85,0xa6,0x68,0x85,0xa7, + 0x68,0x85,0xa8,0x68,0x85,0xa9,0x68,0x85, + 0xaa,0x45,0xa2,0x85,0xab,0xa5,0x9d,0x60, + 0xa9,0x00,0x85,0x11,0x20,0xb1,0x00,0xb0, + 0x03,0x4c,0xec,0x78,0x20,0xfc,0x6d,0xb0, + 0x5d,0xc9,0x2e,0xf0,0xf4,0xc9,0xa8,0xf0, + 0x4e,0xc9,0xa7,0xf0,0xe7,0xc9,0x22,0xd0, + 0x0f,0xa5,0xb8,0xa4,0xb9,0x69,0x00,0x90, + 0x01,0xc8,0x20,0xad,0x70,0x4c,0x03,0x74, + 0xc9,0xa5,0xd0,0x10,0xa0,0x18,0xd0,0x31, + 0xa5,0x9d,0xd0,0x03,0xa0,0x01,0x2c,0xa0, + 0x00,0x4c,0x7d,0x70,0xc9,0xb1,0x90,0x03, + 0x4c,0xa2,0x6c,0x20,0x64,0x6c,0x20,0x2b, + 0x6b,0xa9,0x29,0x2c,0xa9,0x28,0x2c,0xa9, + 0x2c,0xa0,0x00,0xd1,0xb8,0xd0,0x03,0x4c, + 0xb1,0x00,0xa2,0x06,0x4c,0xc0,0x62,0xa0, + 0x15,0x68,0x68,0x4c,0x87,0x6b,0x20,0x6c, + 0x6d,0x85,0xa0,0x84,0xa1,0xa6,0x11,0xf0, + 0x05,0xa2,0x00,0x86,0xac,0x60,0xa6,0x12, + 0x10,0x0d,0xa0,0x00,0xb1,0xa0,0xaa,0xc8, + 0xb1,0xa0,0xa8,0x8a,0x4c,0x70,0x70,0x4c, + 0x9e,0x77,0x0a,0x48,0xaa,0x20,0xb1,0x00, + 0xe0,0x7d,0x90,0x20,0x20,0x64,0x6c,0x20, + 0x2b,0x6b,0x20,0x67,0x6c,0x20,0x1c,0x6b, + 0x68,0xaa,0xa5,0xa1,0x48,0xa5,0xa0,0x48, + 0x8a,0x48,0x20,0xbe,0x73,0x68,0xa8,0x8a, + 0x48,0x4c,0xd1,0x6c,0x20,0x5b,0x6c,0x68, + 0xa8,0xb9,0xe8,0x5f,0x85,0x91,0xb9,0xe9, + 0x5f,0x85,0x92,0x20,0x90,0x00,0x4c,0x1a, + 0x6b,0xa5,0xa5,0x05,0x9d,0xd0,0x0b,0xa5, + 0xa5,0xf0,0x04,0xa5,0x9d,0xd0,0x03,0xa0, + 0x00,0x2c,0xa0,0x01,0x4c,0x7d,0x70,0x20, + 0x1d,0x6b,0xb0,0x13,0xa5,0xaa,0x09,0x7f, + 0x25,0xa6,0x85,0xa6,0xa9,0xa5,0xa0,0x00, + 0x20,0x57,0x78,0xaa,0x4c,0x42,0x6d,0xa9, + 0x00,0x85,0x11,0xc6,0x89,0x20,0xc6,0x72, + 0x85,0x9d,0x86,0x9e,0x84,0x9f,0xa5,0xa8, + 0xa4,0xa9,0x20,0xca,0x72,0x86,0xa8,0x84, + 0xa9,0xaa,0x38,0xe5,0x9d,0xf0,0x08,0xa9, + 0x01,0x90,0x04,0xa6,0x9d,0xa9,0xff,0x85, + 0xa2,0xa0,0xff,0xe8,0xc8,0xca,0xd0,0x07, + 0xa6,0xa2,0x30,0x0f,0x18,0x90,0x0c,0xb1, + 0xa8,0xd1,0x9e,0xf0,0xef,0xa2,0xff,0xb0, + 0x02,0xa2,0x01,0xe8,0x8a,0x2a,0x25,0x16, + 0xf0,0x02,0xa9,0x01,0x4c,0x38,0x78,0x20, + 0x67,0x6c,0xaa,0x20,0x71,0x6d,0x20,0xb7, + 0x00,0xd0,0xf4,0x60,0xa2,0x00,0x20,0xb7, + 0x00,0x86,0x10,0x85,0x81,0x20,0xb7,0x00, + 0x20,0xfc,0x6d,0xb0,0x03,0x4c,0x72,0x6c, + 0xa2,0x00,0x86,0x11,0x86,0x12,0x20,0xb1, + 0x00,0x90,0x05,0x20,0xfc,0x6d,0x90,0x0b, + 0xaa,0x20,0xb1,0x00,0x90,0xfb,0x20,0xfc, + 0x6d,0xb0,0xf6,0xc9,0x24,0xd0,0x06,0xa9, + 0xff,0x85,0x11,0xd0,0x10,0xc9,0x25,0xd0, + 0x13,0xa5,0x14,0x30,0xd0,0xa9,0x80,0x85, + 0x12,0x05,0x81,0x85,0x81,0x8a,0x09,0x80, + 0xaa,0x20,0xb1,0x00,0x86,0x82,0x38,0x05, + 0x14,0xe9,0x28,0xd0,0x03,0x4c,0x9d,0x6e, + 0x24,0x14,0x30,0x02,0x70,0xf7,0xa9,0x00, + 0x85,0x14,0xa5,0x69,0xa6,0x6a,0xa0,0x00, + 0x86,0x9c,0x85,0x9b,0xe4,0x6c,0xd0,0x04, + 0xc5,0x6b,0xf0,0x21,0xa5,0x81,0xd1,0x9b, + 0xd0,0x08,0xa5,0x82,0xc8,0xd1,0x9b,0xf0, + 0x6b,0x88,0x18,0xa5,0x9b,0x69,0x07,0x90, + 0xe1,0xe8,0xd0,0xdc,0xc9,0x5b,0xb0,0x03, + 0xc9,0x41,0x60,0x18,0x60,0x68,0x48,0xc9, + 0x80,0xd0,0x0f,0xba,0xbd,0x02,0x01,0xc9, + 0x6c,0xd0,0x07,0xa9,0x18,0xa0,0x6e,0x60, + 0x00,0x00,0xa5,0x6b,0xa4,0x6c,0x85,0x9b, + 0x84,0x9c,0xa5,0x6d,0xa4,0x6e,0x85,0x96, + 0x84,0x97,0x18,0x69,0x07,0x90,0x01,0xc8, + 0x85,0x94,0x84,0x95,0x20,0x41,0x62,0xa5, + 0x94,0xa4,0x95,0xc8,0x85,0x6b,0x84,0x6c, + 0xa0,0x00,0xa5,0x81,0x91,0x9b,0xc8,0xa5, + 0x82,0x91,0x9b,0xa9,0x00,0xc8,0x91,0x9b, + 0xc8,0x91,0x9b,0xc8,0x91,0x9b,0xc8,0x91, + 0x9b,0xc8,0x91,0x9b,0xa5,0x9b,0x18,0x69, + 0x02,0xa4,0x9c,0x90,0x01,0xc8,0x85,0x83, + 0x84,0x84,0x60,0xa5,0x0f,0x0a,0x69,0x05, + 0x65,0x9b,0xa4,0x9c,0x90,0x01,0xc8,0x85, + 0x94,0x84,0x95,0x60,0x90,0x80,0x00,0x00, + 0x00,0x20,0xb1,0x00,0x20,0x17,0x6b,0xa5, + 0xa2,0x30,0x0d,0xa5,0x9d,0xc9,0x90,0x90, + 0x09,0xa9,0x7c,0xa0,0x6e,0x20,0x57,0x78, + 0xd0,0x7e,0x4c,0x94,0x78,0xa5,0x14,0xd0, + 0x47,0xa5,0x10,0x05,0x12,0x48,0xa5,0x11, + 0x48,0xa0,0x00,0x98,0x48,0xa5,0x82,0x48, + 0xa5,0x81,0x48,0x20,0x81,0x6e,0x68,0x85, + 0x81,0x68,0x85,0x82,0x68,0xa8,0xba,0xbd, + 0x02,0x01,0x48,0xbd,0x01,0x01,0x48,0xa5, + 0xa0,0x9d,0x02,0x01,0xa5,0xa1,0x9d,0x01, + 0x01,0xc8,0x20,0xb7,0x00,0xc9,0x2c,0xf0, + 0xd2,0x84,0x0f,0x20,0x61,0x6c,0x68,0x85, + 0x11,0x68,0x85,0x12,0x29,0x7f,0x85,0x10, + 0xa6,0x6b,0xa5,0x6c,0x86,0x9b,0x85,0x9c, + 0xc5,0x6e,0xd0,0x04,0xe4,0x6d,0xf0,0x3f, + 0xa0,0x00,0xb1,0x9b,0xc8,0xc5,0x81,0xd0, + 0x06,0xa5,0x82,0xd1,0x9b,0xf0,0x16,0xc8, + 0xb1,0x9b,0x18,0x65,0x9b,0xaa,0xc8,0xb1, + 0x9b,0x65,0x9c,0x90,0xd7,0xa2,0x44,0x2c, + 0xa2,0x1f,0x4c,0xc0,0x62,0xa2,0x4e,0xa5, + 0x10,0xd0,0xf7,0xa5,0x14,0xf0,0x02,0x38, + 0x60,0x20,0x6b,0x6e,0xa5,0x0f,0xa0,0x04, + 0xd1,0x9b,0xd0,0xe1,0x4c,0xc9,0x6f,0xa5, + 0x14,0xf0,0x05,0xa2,0x14,0x4c,0xc0,0x62, + 0x20,0x6b,0x6e,0x20,0x91,0x62,0xa0,0x00, + 0x84,0xae,0xa2,0x05,0xa5,0x81,0x91,0x9b, + 0x10,0x01,0xca,0xc8,0xa5,0x82,0x91,0x9b, + 0x10,0x02,0xca,0xca,0x86,0xad,0xa5,0x0f, + 0xc8,0xc8,0xc8,0x91,0x9b,0xa2,0x0b,0xa9, + 0x00,0x24,0x10,0x50,0x08,0x68,0x18,0x69, + 0x01,0xaa,0x68,0x69,0x00,0xc8,0x91,0x9b, + 0xc8,0x8a,0x91,0x9b,0x20,0x2b,0x70,0x86, + 0xad,0x85,0xae,0xa4,0x5e,0xc6,0x0f,0xd0, + 0xdc,0x65,0x95,0xb0,0x5d,0x85,0x95,0xa8, + 0x8a,0x65,0x94,0x90,0x03,0xc8,0xf0,0x52, + 0x20,0x91,0x62,0x85,0x6d,0x84,0x6e,0xa9, + 0x00,0xe6,0xae,0xa4,0xad,0xf0,0x05,0x88, + 0x91,0x94,0xd0,0xfb,0xc6,0x95,0xc6,0xae, + 0xd0,0xf5,0xe6,0x95,0x38,0xa5,0x6d,0xe5, + 0x9b,0xa0,0x02,0x91,0x9b,0xa5,0x6e,0xc8, + 0xe5,0x9c,0x91,0x9b,0xa5,0x10,0xd0,0x62, + 0xc8,0xb1,0x9b,0x85,0x0f,0xa9,0x00,0x85, + 0xad,0x85,0xae,0xc8,0x68,0xaa,0x85,0xa0, + 0x68,0x85,0xa1,0xd1,0x9b,0x90,0x0e,0xd0, + 0x06,0xc8,0x8a,0xd1,0x9b,0x90,0x07,0x4c, + 0x15,0x6f,0x4c,0xbe,0x62,0xc8,0xa5,0xae, + 0x05,0xad,0x18,0xf0,0x0a,0x20,0x2b,0x70, + 0x8a,0x65,0xa0,0xaa,0x98,0xa4,0x5e,0x65, + 0xa1,0x86,0xad,0xc6,0x0f,0xd0,0xca,0x85, + 0xae,0xa2,0x05,0xa5,0x81,0x10,0x01,0xca, + 0xa5,0x82,0x10,0x02,0xca,0xca,0x86,0x64, + 0xa9,0x00,0x20,0x34,0x70,0x8a,0x65,0x94, + 0x85,0x83,0x98,0x65,0x95,0x85,0x84,0xa8, + 0xa5,0x83,0x60,0x84,0x5e,0xb1,0x9b,0x85, + 0x64,0x88,0xb1,0x9b,0x85,0x65,0xa9,0x10, + 0x85,0x99,0xa2,0x00,0xa0,0x00,0x8a,0x0a, + 0xaa,0x98,0x2a,0xa8,0xb0,0xa4,0x06,0xad, + 0x26,0xae,0x90,0x0b,0x18,0x8a,0x65,0x64, + 0xaa,0x98,0x65,0x65,0xa8,0xb0,0x93,0xc6, + 0x99,0xd0,0xe3,0x60,0xa5,0x11,0xf0,0x03, + 0x20,0xc6,0x72,0x20,0x4a,0x71,0x38,0xa5, + 0x6f,0xe5,0x6d,0xa8,0xa5,0x70,0xe5,0x6e, + 0xa2,0x00,0x86,0x11,0x85,0x9e,0x84,0x9f, + 0xa2,0x90,0x4c,0x40,0x78,0xa9,0x00,0xf0, + 0xef,0xa6,0x76,0xe8,0xd0,0xa4,0xa2,0x5b, + 0x4c,0xc0,0x62,0x20,0x1a,0x6b,0xa0,0x00, + 0x20,0xd6,0x79,0x68,0x68,0xa9,0xff,0xa0, + 0x00,0xf0,0x12,0xa6,0xa0,0xa4,0xa1,0x86, + 0x8c,0x84,0x8d,0x20,0x18,0x71,0x86,0x9e, + 0x84,0x9f,0x85,0x9d,0x60,0xa2,0x22,0x86, + 0x0d,0x86,0x0e,0x85,0xab,0x84,0xac,0x85, + 0x9e,0x84,0x9f,0xa0,0xff,0xc8,0xb1,0xab, + 0xf0,0x0c,0xc5,0x0d,0xf0,0x04,0xc5,0x0e, + 0xd0,0xf3,0xc9,0x22,0xf0,0x01,0x18,0x84, + 0x9d,0x98,0x65,0xab,0x85,0xad,0xa6,0xac, + 0x90,0x01,0xe8,0x86,0xae,0xa5,0xac,0xf0, + 0x04,0xc9,0x02,0xd0,0x0b,0x98,0x20,0x9b, + 0x70,0xa6,0xab,0xa4,0xac,0x20,0xa8,0x72, + 0xa6,0x52,0xe0,0x5e,0xd0,0x05,0xa2,0x76, + 0x4c,0xc0,0x62,0xa5,0x9d,0x95,0x00,0xa5, + 0x9e,0x95,0x01,0xa5,0x9f,0x95,0x02,0xa0, + 0x00,0x86,0xa0,0x84,0xa1,0x88,0x84,0x11, + 0x86,0x53,0xe8,0xe8,0xe8,0x86,0x52,0x60, + 0x46,0x13,0x48,0x49,0xff,0x38,0x65,0x6f, + 0xa4,0x70,0xb0,0x01,0x88,0xc4,0x6e,0x90, + 0x11,0xd0,0x04,0xc5,0x6d,0x90,0x0b,0x85, + 0x6f,0x84,0x70,0x85,0x71,0x84,0x72,0xaa, + 0x68,0x60,0xa2,0x30,0xa5,0x13,0x30,0xb8, + 0x20,0x4a,0x71,0xa9,0x80,0x85,0x13,0x68, + 0xd0,0xd0,0xa6,0x73,0xa5,0x74,0x86,0x6f, + 0x85,0x70,0xa0,0x00,0x84,0x8b,0xa5,0x6d, + 0xa6,0x6e,0x85,0x9b,0x86,0x9c,0xa9,0x55, + 0xa2,0x00,0x85,0x5e,0x86,0x5f,0xc5,0x52, + 0xf0,0x05,0x20,0xe9,0x71,0xf0,0xf7,0xa9, + 0x07,0x85,0x8f,0xa5,0x69,0xa6,0x6a,0x85, + 0x5e,0x86,0x5f,0xe4,0x6c,0xd0,0x04,0xc5, + 0x6b,0xf0,0x05,0x20,0xdf,0x71,0xf0,0xf3, + 0x85,0x94,0x86,0x95,0xa9,0x03,0x85,0x8f, + 0xa5,0x94,0xa6,0x95,0xe4,0x6e,0xd0,0x07, + 0xc5,0x6d,0xd0,0x03,0x4c,0x28,0x72,0x85, + 0x5e,0x86,0x5f,0xa0,0x00,0xb1,0x5e,0xaa, + 0xc8,0xb1,0x5e,0x08,0xc8,0xb1,0x5e,0x65, + 0x94,0x85,0x94,0xc8,0xb1,0x5e,0x65,0x95, + 0x85,0x95,0x28,0x10,0xd3,0x8a,0x30,0xd0, + 0xc8,0xb1,0x5e,0xa0,0x00,0x0a,0x69,0x05, + 0x65,0x5e,0x85,0x5e,0x90,0x02,0xe6,0x5f, + 0xa6,0x5f,0xe4,0x95,0xd0,0x04,0xc5,0x94, + 0xf0,0xba,0x20,0xe9,0x71,0xf0,0xf3,0xb1, + 0x5e,0x30,0x35,0xc8,0xb1,0x5e,0x10,0x30, + 0xc8,0xb1,0x5e,0xf0,0x2b,0xc8,0xb1,0x5e, + 0xaa,0xc8,0xb1,0x5e,0xc5,0x70,0x90,0x06, + 0xd0,0x1e,0xe4,0x6f,0xb0,0x1a,0xc5,0x9c, + 0x90,0x16,0xd0,0x04,0xe4,0x9b,0x90,0x10, + 0x86,0x9b,0x85,0x9c,0xa5,0x5e,0xa6,0x5f, + 0x85,0x8a,0x86,0x8b,0xa5,0x8f,0x85,0x91, + 0xa5,0x8f,0x18,0x65,0x5e,0x85,0x5e,0x90, + 0x02,0xe6,0x5f,0xa6,0x5f,0xa0,0x00,0x60, + 0xa6,0x8b,0xf0,0xf7,0xa5,0x91,0x29,0x04, + 0x4a,0xa8,0x85,0x91,0xb1,0x8a,0x65,0x9b, + 0x85,0x96,0xa5,0x9c,0x69,0x00,0x85,0x97, + 0xa5,0x6f,0xa6,0x70,0x85,0x94,0x86,0x95, + 0x20,0x48,0x62,0xa4,0x91,0xc8,0xa5,0x94, + 0x91,0x8a,0xaa,0xe6,0x95,0xa5,0x95,0xc8, + 0x91,0x8a,0x4c,0x4e,0x71,0xa5,0xa1,0x48, + 0xa5,0xa0,0x48,0x20,0x10,0x6c,0x20,0x1c, + 0x6b,0x68,0x85,0xab,0x68,0x85,0xac,0xa0, + 0x00,0xb1,0xab,0x18,0x71,0xa0,0x90,0x05, + 0xa2,0x6e,0x4c,0xc0,0x62,0x20,0x9b,0x70, + 0x20,0x9a,0x72,0xa5,0x8c,0xa4,0x8d,0x20, + 0xca,0x72,0x20,0xac,0x72,0xa5,0xab,0xa4, + 0xac,0x20,0xca,0x72,0x20,0xf0,0x70,0x4c, + 0x45,0x6b,0xa0,0x00,0xb1,0xab,0x48,0xc8, + 0xb1,0xab,0xaa,0xc8,0xb1,0xab,0xa8,0x68, + 0x86,0x5e,0x84,0x5f,0xa8,0xf0,0x0a,0x48, + 0x88,0xb1,0x5e,0x91,0x71,0x98,0xd0,0xf8, + 0x68,0x18,0x65,0x71,0x85,0x71,0x90,0x02, + 0xe6,0x72,0x60,0x20,0x1c,0x6b,0xa5,0xa0, + 0xa4,0xa1,0x85,0x5e,0x84,0x5f,0x20,0xfb, + 0x72,0x08,0xa0,0x00,0xb1,0x5e,0x48,0xc8, + 0xb1,0x5e,0xaa,0xc8,0xb1,0x5e,0xa8,0x68, + 0x28,0xd0,0x13,0xc4,0x70,0xd0,0x0f,0xe4, + 0x6f,0xd0,0x0b,0x48,0x18,0x65,0x6f,0x85, + 0x6f,0x90,0x02,0xe6,0x70,0x68,0x86,0x5e, + 0x84,0x5f,0x60,0xc4,0x54,0xd0,0x0c,0xc5, + 0x53,0xd0,0x08,0x85,0x52,0xe9,0x03,0x85, + 0x53,0xa0,0x00,0x60,0x20,0xc1,0x73,0x8a, + 0x48,0xa9,0x01,0x20,0xa3,0x70,0x68,0xa0, + 0x00,0x91,0x9e,0x68,0x68,0x4c,0xf0,0x70, + 0x20,0x7f,0x73,0xd1,0x8c,0x98,0x90,0x04, + 0xb1,0x8c,0xaa,0x98,0x48,0x8a,0x48,0x20, + 0xa3,0x70,0xa5,0x8c,0xa4,0x8d,0x20,0xca, + 0x72,0x68,0xa8,0x68,0x18,0x65,0x5e,0x85, + 0x5e,0x90,0x02,0xe6,0x5f,0x98,0x20,0xac, + 0x72,0x4c,0xf0,0x70,0x20,0x7f,0x73,0x18, + 0xf1,0x8c,0x49,0xff,0x4c,0x26,0x73,0xa9, + 0xff,0x85,0xa1,0x20,0xb7,0x00,0xc9,0x29, + 0xf0,0x06,0x20,0x67,0x6c,0x20,0xbe,0x73, + 0x20,0x7f,0x73,0xca,0x8a,0x48,0x18,0xa2, + 0x00,0xf1,0x8c,0xb0,0xb8,0x49,0xff,0xc5, + 0xa1,0x90,0xb3,0xa5,0xa1,0xb0,0xaf,0x20, + 0x61,0x6c,0x68,0xa8,0x68,0x85,0x91,0x68, + 0x68,0x68,0xaa,0x68,0x85,0x8c,0x68,0x85, + 0x8d,0xa5,0x91,0x48,0x98,0x48,0xa0,0x00, + 0x8a,0xf0,0x1d,0x60,0x20,0xa2,0x73,0x4c, + 0x7d,0x70,0x20,0xc3,0x72,0xa2,0x00,0x86, + 0x11,0xa8,0x60,0x20,0xa2,0x73,0xf0,0x08, + 0xa0,0x00,0xb1,0x5e,0xa8,0x4c,0x7d,0x70, + 0x4c,0x18,0x6f,0x20,0xb1,0x00,0x20,0x17, + 0x6b,0x20,0x87,0x6e,0xa6,0xa0,0xd0,0xf0, + 0xa6,0xa1,0x4c,0xb7,0x00,0x20,0xa2,0x73, + 0xd0,0x03,0x4c,0xf8,0x74,0xa6,0xb8,0xa4, + 0xb9,0x86,0xad,0x84,0xae,0xa6,0x5e,0x86, + 0xb8,0x18,0x65,0x5e,0x85,0x60,0xa6,0x5f, + 0x86,0xb9,0x90,0x01,0xe8,0x86,0x61,0xa0, + 0x00,0xb1,0x60,0x48,0xa9,0x00,0x91,0x60, + 0x20,0xb7,0x00,0x20,0xec,0x78,0x68,0xa0, + 0x00,0x91,0x60,0xa6,0xad,0xa4,0xae,0x86, + 0xb8,0x84,0xb9,0x60,0x20,0x17,0x6b,0x20, + 0x18,0x74,0x20,0x67,0x6c,0x4c,0xbe,0x73, + 0xa5,0x9d,0xc9,0x91,0xb0,0x9a,0x20,0x94, + 0x78,0xa5,0xa0,0xa4,0xa1,0x84,0x50,0x85, + 0x51,0x60,0xa5,0x50,0x48,0xa5,0x51,0x48, + 0x20,0x18,0x74,0xa0,0x00,0xb1,0x50,0xa8, + 0x68,0x85,0x51,0x68,0x85,0x50,0x4c,0x7d, + 0x70,0x20,0x0c,0x74,0x8a,0xa0,0x00,0x91, + 0x50,0x60,0xa9,0x04,0xa0,0x7b,0x4c,0x68, + 0x74,0x20,0x8b,0x76,0xa5,0xa2,0x49,0xff, + 0x85,0xa2,0x45,0xaa,0x85,0xab,0xa5,0x9d, + 0x4c,0x6b,0x74,0x20,0x9a,0x75,0x90,0x3c, + 0x20,0x8b,0x76,0xd0,0x03,0x4c,0xf8,0x77, + 0xa6,0xac,0x86,0x92,0xa2,0xa5,0xa5,0xa5, + 0xa8,0xf0,0xce,0x38,0xe5,0x9d,0xf0,0x24, + 0x90,0x12,0x84,0x9d,0xa4,0xaa,0x84,0xa2, + 0x49,0xff,0x69,0x00,0xa0,0x00,0x84,0x92, + 0xa2,0x9d,0xd0,0x04,0xa0,0x00,0x84,0xac, + 0xc9,0xf9,0x30,0xc7,0xa8,0xa5,0xac,0x56, + 0x01,0x20,0xb1,0x75,0x24,0xab,0x10,0x57, + 0xa0,0x9d,0xe0,0xa5,0xf0,0x02,0xa0,0xa5, + 0x38,0x49,0xff,0x65,0x92,0x85,0xac,0xb9, + 0x04,0x00,0xf5,0x04,0x85,0xa1,0xb9,0x03, + 0x00,0xf5,0x03,0x85,0xa0,0xb9,0x02,0x00, + 0xf5,0x02,0x85,0x9f,0xb9,0x01,0x00,0xf5, + 0x01,0x85,0x9e,0xb0,0x03,0x20,0x48,0x75, + 0xa0,0x00,0x98,0x18,0xa6,0x9e,0xd0,0x4a, + 0xa6,0x9f,0x86,0x9e,0xa6,0xa0,0x86,0x9f, + 0xa6,0xa1,0x86,0xa0,0xa6,0xac,0x86,0xa1, + 0x84,0xac,0x69,0x08,0xc9,0x20,0xd0,0xe4, + 0xa9,0x00,0x85,0x9d,0x85,0xa2,0x60,0x65, + 0x92,0x85,0xac,0xa5,0xa1,0x65,0xa9,0x85, + 0xa1,0xa5,0xa0,0x65,0xa8,0x85,0xa0,0xa5, + 0x9f,0x65,0xa7,0x85,0x9f,0xa5,0x9e,0x65, + 0xa6,0x85,0x9e,0x4c,0x37,0x75,0x69,0x01, + 0x06,0xac,0x26,0xa1,0x26,0xa0,0x26,0x9f, + 0x26,0x9e,0x10,0xf2,0x38,0xe5,0x9d,0xb0, + 0xc7,0x49,0xff,0x69,0x01,0x85,0x9d,0x90, + 0x0e,0xe6,0x9d,0xf0,0x42,0x66,0x9e,0x66, + 0x9f,0x66,0xa0,0x66,0xa1,0x66,0xac,0x60, + 0xa5,0xa2,0x49,0xff,0x85,0xa2,0xa5,0x9e, + 0x49,0xff,0x85,0x9e,0xa5,0x9f,0x49,0xff, + 0x85,0x9f,0xa5,0xa0,0x49,0xff,0x85,0xa0, + 0xa5,0xa1,0x49,0xff,0x85,0xa1,0xa5,0xac, + 0x49,0xff,0x85,0xac,0xe6,0xac,0xd0,0x0e, + 0xe6,0xa1,0xd0,0x0a,0xe6,0xa0,0xd0,0x06, + 0xe6,0x9f,0xd0,0x02,0xe6,0x9e,0x60,0xa2, + 0x28,0x4c,0xc0,0x62,0xa2,0x61,0xb4,0x04, + 0x84,0xac,0xb4,0x03,0x94,0x04,0xb4,0x02, + 0x94,0x03,0xb4,0x01,0x94,0x02,0xa4,0xa4, + 0x94,0x01,0x69,0x08,0x30,0xe8,0xf0,0xe6, + 0xe9,0x08,0xa8,0xa5,0xac,0xb0,0x14,0x16, + 0x01,0x90,0x02,0xf6,0x01,0x76,0x01,0x76, + 0x01,0x76,0x02,0x76,0x03,0x76,0x04,0x6a, + 0xc8,0xd0,0xec,0x18,0x60,0x81,0x00,0x00, + 0x00,0x00,0x03,0x7f,0x5e,0x56,0xcb,0x79, + 0x80,0x13,0x9b,0x0b,0x64,0x80,0x76,0x38, + 0x93,0x16,0x82,0x38,0xaa,0x3b,0x20,0x80, + 0x35,0x04,0xf3,0x34,0x81,0x35,0x04,0xf3, + 0x34,0x80,0x80,0x00,0x00,0x00,0x80,0x31, + 0x72,0x17,0xf8,0x20,0x27,0x78,0xf0,0x02, + 0x10,0x03,0x4c,0x18,0x6f,0xa5,0x9d,0xe9, + 0x7f,0x48,0xa9,0x80,0x85,0x9d,0xa9,0xd7, + 0xa0,0x75,0x20,0x68,0x74,0xa9,0xdc,0xa0, + 0x75,0x20,0x0b,0x77,0xa9,0xbd,0xa0,0x75, + 0x20,0x51,0x74,0xa9,0xc2,0xa0,0x75,0x20, + 0xfa,0x7b,0xa9,0xe1,0xa0,0x75,0x20,0x68, + 0x74,0x68,0x20,0x76,0x79,0xa9,0xe6,0xa0, + 0x75,0x20,0x8b,0x76,0xd0,0x01,0x60,0x20, + 0xb6,0x76,0xa9,0x00,0x85,0x62,0x85,0x63, + 0x85,0x64,0x85,0x65,0xa5,0xac,0x20,0x58, + 0x76,0xa5,0xa1,0x20,0x58,0x76,0xa5,0xa0, + 0x20,0x58,0x76,0xa5,0x9f,0x20,0x58,0x76, + 0xa5,0x9e,0x20,0x5d,0x76,0x4c,0x8b,0x77, + 0xd0,0x03,0x4c,0x84,0x75,0x4a,0x09,0x80, + 0xa8,0x90,0x19,0x18,0xa5,0x65,0x65,0xa9, + 0x85,0x65,0xa5,0x64,0x65,0xa8,0x85,0x64, + 0xa5,0x63,0x65,0xa7,0x85,0x63,0xa5,0x62, + 0x65,0xa6,0x85,0x62,0x66,0x62,0x66,0x63, + 0x66,0x64,0x66,0x65,0x66,0xac,0x98,0x4a, + 0xd0,0xd6,0x60,0x85,0x5e,0x84,0x5f,0xa0, + 0x04,0xb1,0x5e,0x85,0xa9,0x88,0xb1,0x5e, + 0x85,0xa8,0x88,0xb1,0x5e,0x85,0xa7,0x88, + 0xb1,0x5e,0x85,0xaa,0x45,0xa2,0x85,0xab, + 0xa5,0xaa,0x09,0x80,0x85,0xa6,0x88,0xb1, + 0x5e,0x85,0xa5,0xa5,0x9d,0x60,0xa5,0xa5, + 0xf0,0x1c,0x18,0x65,0x9d,0x90,0x04,0x30, + 0x1a,0x18,0x2c,0x10,0x11,0x69,0x80,0x85, + 0x9d,0xf0,0x02,0xa5,0xab,0x85,0xa2,0x60, + 0xa5,0xa2,0x49,0xff,0x30,0x05,0x68,0x68, + 0x4c,0xf8,0x74,0x4c,0x7f,0x75,0x20,0x08, + 0x78,0xaa,0xf0,0x10,0x18,0x69,0x02,0xb0, + 0xf2,0xa2,0x00,0x86,0xab,0x20,0x78,0x74, + 0xe6,0x9d,0xf0,0xe7,0x60,0x84,0x20,0x00, + 0x00,0x00,0x20,0x08,0x78,0xa9,0xf5,0xa0, + 0x76,0xa2,0x00,0x86,0xab,0x20,0x9e,0x77, + 0x4c,0x0e,0x77,0x20,0x8b,0x76,0xf0,0x76, + 0x20,0x17,0x78,0xa9,0x00,0x38,0xe5,0x9d, + 0x85,0x9d,0x20,0xb6,0x76,0xe6,0x9d,0xf0, + 0xba,0xa2,0xfc,0xa9,0x01,0xa4,0xa6,0xc4, + 0x9e,0xd0,0x10,0xa4,0xa7,0xc4,0x9f,0xd0, + 0x0a,0xa4,0xa8,0xc4,0xa0,0xd0,0x04,0xa4, + 0xa9,0xc4,0xa1,0x08,0x2a,0x90,0x09,0xe8, + 0x95,0x65,0xf0,0x32,0x10,0x34,0xa9,0x01, + 0x28,0xb0,0x0e,0x06,0xa9,0x26,0xa8,0x26, + 0xa7,0x26,0xa6,0xb0,0xe6,0x30,0xce,0x10, + 0xe2,0xa8,0xa5,0xa9,0xe5,0xa1,0x85,0xa9, + 0xa5,0xa8,0xe5,0xa0,0x85,0xa8,0xa5,0xa7, + 0xe5,0x9f,0x85,0xa7,0xa5,0xa6,0xe5,0x9e, + 0x85,0xa6,0x98,0x4c,0x4b,0x77,0xa9,0x40, + 0xd0,0xce,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a, + 0x85,0xac,0x28,0x4c,0x8b,0x77,0xa2,0x53, + 0x4c,0xc0,0x62,0xa5,0x62,0x85,0x9e,0xa5, + 0x63,0x85,0x9f,0xa5,0x64,0x85,0xa0,0xa5, + 0x65,0x85,0xa1,0x4c,0xd8,0x74,0x85,0x5e, + 0x84,0x5f,0xa0,0x04,0xb1,0x5e,0x85,0xa1, + 0x88,0xb1,0x5e,0x85,0xa0,0x88,0xb1,0x5e, + 0x85,0x9f,0x88,0xb1,0x5e,0x85,0xa2,0x09, + 0x80,0x85,0x9e,0x88,0xb1,0x5e,0x85,0x9d, + 0x84,0xac,0x60,0xa2,0x98,0x2c,0xa2,0x93, + 0xa0,0x00,0xf0,0x04,0xa6,0x85,0xa4,0x86, + 0x20,0x17,0x78,0x86,0x5e,0x84,0x5f,0xa0, + 0x04,0xa5,0xa1,0x91,0x5e,0x88,0xa5,0xa0, + 0x91,0x5e,0x88,0xa5,0x9f,0x91,0x5e,0x88, + 0xa5,0xa2,0x09,0x7f,0x25,0x9e,0x91,0x5e, + 0x88,0xa5,0x9d,0x91,0x5e,0x84,0xac,0x60, + 0xa5,0xaa,0x85,0xa2,0xa2,0x05,0xb5,0xa4, + 0x95,0x9c,0xca,0xd0,0xf9,0x86,0xac,0x60, + 0x20,0x17,0x78,0xa2,0x06,0xb5,0x9c,0x95, + 0xa4,0xca,0xd0,0xf9,0x86,0xac,0x60,0xa5, + 0x9d,0xf0,0xfb,0x06,0xac,0x90,0xf7,0x20, + 0x70,0x75,0xd0,0xf2,0x4c,0x39,0x75,0xa5, + 0x9d,0xf0,0x09,0xa5,0xa2,0x2a,0xa9,0xff, + 0xb0,0x02,0xa9,0x01,0x60,0x20,0x27,0x78, + 0x85,0x9e,0xa9,0x00,0x85,0x9f,0xa2,0x88, + 0xa5,0x9e,0x49,0xff,0x2a,0xa9,0x00,0x85, + 0xa1,0x85,0xa0,0x86,0x9d,0x85,0xac,0x85, + 0xa2,0x4c,0xd3,0x74,0x46,0xa2,0x60,0x85, + 0x60,0x84,0x61,0xa0,0x00,0xb1,0x60,0xc8, + 0xaa,0xf0,0xc4,0xb1,0x60,0x45,0xa2,0x30, + 0xc2,0xe4,0x9d,0xd0,0x21,0xb1,0x60,0x09, + 0x80,0xc5,0x9e,0xd0,0x19,0xc8,0xb1,0x60, + 0xc5,0x9f,0xd0,0x12,0xc8,0xb1,0x60,0xc5, + 0xa0,0xd0,0x0b,0xc8,0xa9,0x7f,0xc5,0xac, + 0xb1,0x60,0xe5,0xa1,0xf0,0x25,0x6a,0x45, + 0xa2,0x4c,0x2d,0x78,0xa5,0x9d,0xf0,0x4a, + 0x38,0xe9,0xa0,0x24,0xa2,0x10,0x09,0xaa, + 0xa9,0xff,0x85,0xa4,0x20,0x4e,0x75,0x8a, + 0xa2,0x9d,0xc9,0xf9,0x10,0x06,0x20,0x9a, + 0x75,0x84,0xa4,0x60,0xa8,0xa5,0xa2,0x29, + 0x80,0x46,0x9e,0x05,0x9e,0x85,0x9e,0x20, + 0xb1,0x75,0x84,0xa4,0x60,0xa5,0x9d,0xc9, + 0xa0,0xb0,0x20,0x20,0x94,0x78,0x84,0xac, + 0xa5,0xa2,0x84,0xa2,0x49,0x80,0x2a,0xa9, + 0xa0,0x85,0x9d,0xa5,0xa1,0x85,0x0d,0x4c, + 0xd3,0x74,0x85,0x9e,0x85,0x9f,0x85,0xa0, + 0x85,0xa1,0xa8,0x60,0xa0,0x00,0xa2,0x0a, + 0x94,0x99,0xca,0x10,0xfb,0x90,0x0f,0xc9, + 0x2d,0xd0,0x04,0x86,0xa3,0xf0,0x04,0xc9, + 0x2b,0xd0,0x05,0x20,0xb1,0x00,0x90,0x5b, + 0xc9,0x2e,0xf0,0x2e,0xc9,0x45,0xd0,0x30, + 0x20,0xb1,0x00,0x90,0x17,0xc9,0xa8,0xf0, + 0x0e,0xc9,0x2d,0xf0,0x0a,0xc9,0xa7,0xf0, + 0x08,0xc9,0x2b,0xf0,0x04,0xd0,0x07,0x66, + 0x9c,0x20,0xb1,0x00,0x90,0x5b,0x24,0x9c, + 0x10,0x0e,0xa9,0x00,0x38,0xe5,0x9a,0x4c, + 0x42,0x79,0x66,0x9b,0x24,0x9b,0x50,0xc3, + 0xa5,0x9a,0x38,0xe5,0x99,0x85,0x9a,0xf0, + 0x12,0x10,0x09,0x20,0xfa,0x76,0xe6,0x9a, + 0xd0,0xf9,0xf0,0x07,0x20,0xde,0x76,0xc6, + 0x9a,0xd0,0xf9,0xa5,0xa3,0x30,0x01,0x60, + 0x4c,0x6f,0x7b,0x48,0x24,0x9b,0x10,0x02, + 0xe6,0x99,0x20,0xde,0x76,0x68,0x29,0x0f, + 0x20,0x76,0x79,0x4c,0x03,0x79,0x48,0x20, + 0x08,0x78,0x68,0x20,0x38,0x78,0xa5,0xaa, + 0x45,0xa2,0x85,0xab,0xa6,0x9d,0x4c,0x6b, + 0x74,0xa5,0x9a,0xc9,0x0a,0x90,0x09,0xa9, + 0x64,0x24,0x9c,0x30,0x10,0x4c,0x7f,0x75, + 0x0a,0x0a,0x18,0x65,0x9a,0x0a,0xa0,0x00, + 0x71,0xb8,0x38,0xe9,0x30,0x85,0x9a,0x4c, + 0x29,0x79,0x9b,0x3e,0xbc,0x1f,0xfd,0x9e, + 0x6e,0x6b,0x27,0xfd,0x9e,0x6e,0x6b,0x28, + 0x00,0xa9,0x07,0xa0,0x62,0x20,0x0e,0x69, + 0xa5,0x76,0xa6,0x75,0x85,0x9e,0x86,0x9f, + 0xa2,0x90,0x38,0x20,0x45,0x78,0x20,0xd4, + 0x79,0x4c,0x0e,0x69,0xa0,0x01,0xa9,0x2d, + 0x88,0x24,0xa2,0x10,0x04,0xc8,0x99,0xff, + 0x00,0x85,0xa2,0x84,0xad,0xc8,0xa9,0x30, + 0xa6,0x9d,0xd0,0x03,0x4c,0xf7,0x7a,0xa9, + 0x00,0xe0,0x80,0xf0,0x02,0xb0,0x09,0xa9, + 0xb4,0xa0,0x79,0x20,0x29,0x76,0xa9,0xf7, + 0x85,0x99,0xa9,0xaf,0xa0,0x79,0x20,0x57, + 0x78,0xf0,0x1e,0x10,0x12,0xa9,0xaa,0xa0, + 0x79,0x20,0x57,0x78,0xf0,0x02,0x10,0x0e, + 0x20,0xde,0x76,0xc6,0x99,0xd0,0xee,0x20, + 0xfa,0x76,0xe6,0x99,0xd0,0xdc,0x20,0x4a, + 0x74,0x20,0x94,0x78,0xa2,0x01,0xa5,0x99, + 0x18,0x69,0x0a,0x30,0x09,0xc9,0x0b,0xb0, + 0x06,0x69,0xff,0xaa,0xa9,0x02,0x38,0xe9, + 0x02,0x85,0x9a,0x86,0x99,0x8a,0xf0,0x02, + 0x10,0x13,0xa4,0xad,0xa9,0x2e,0xc8,0x99, + 0xff,0x00,0x8a,0xf0,0x06,0xa9,0x30,0xc8, + 0x99,0xff,0x00,0x84,0xad,0xa0,0x00,0xa2, + 0x80,0xa5,0xa1,0x18,0x79,0x0c,0x7b,0x85, + 0xa1,0xa5,0xa0,0x79,0x0b,0x7b,0x85,0xa0, + 0xa5,0x9f,0x79,0x0a,0x7b,0x85,0x9f,0xa5, + 0x9e,0x79,0x09,0x7b,0x85,0x9e,0xe8,0xb0, + 0x04,0x10,0xde,0x30,0x02,0x30,0xda,0x8a, + 0x90,0x04,0x49,0xff,0x69,0x0a,0x69,0x2f, + 0xc8,0xc8,0xc8,0xc8,0x84,0x83,0xa4,0xad, + 0xc8,0xaa,0x29,0x7f,0x99,0xff,0x00,0xc6, + 0x99,0xd0,0x06,0xa9,0x2e,0xc8,0x99,0xff, + 0x00,0x84,0xad,0xa4,0x83,0x8a,0x49,0xff, + 0x29,0x80,0xaa,0xc0,0x24,0xd0,0xaa,0xa4, + 0xad,0xb9,0xff,0x00,0x88,0xc9,0x30,0xf0, + 0xf8,0xc9,0x2e,0xf0,0x01,0xc8,0xa9,0x2b, + 0xa6,0x9a,0xf0,0x2e,0x10,0x08,0xa9,0x00, + 0x38,0xe5,0x9a,0xaa,0xa9,0x2d,0x99,0x01, + 0x01,0xa9,0x45,0x99,0x00,0x01,0x8a,0xa2, + 0x2f,0x38,0xe8,0xe9,0x0a,0xb0,0xfb,0x69, + 0x3a,0x99,0x03,0x01,0x8a,0x99,0x02,0x01, + 0xa9,0x00,0x99,0x04,0x01,0xf0,0x08,0x99, + 0xff,0x00,0xa9,0x00,0x99,0x00,0x01,0xa9, + 0x00,0xa0,0x01,0x60,0x80,0x00,0x00,0x00, + 0x00,0xfa,0x0a,0x1f,0x00,0x00,0x98,0x96, + 0x80,0xff,0xf0,0xbd,0xc0,0x00,0x01,0x86, + 0xa0,0xff,0xff,0xd8,0xf0,0x00,0x00,0x03, + 0xe8,0xff,0xff,0xff,0x9c,0x00,0x00,0x00, + 0x0a,0xff,0xff,0xff,0xff,0x20,0x08,0x78, + 0xa9,0x04,0xa0,0x7b,0x20,0x9e,0x77,0xf0, + 0x6f,0xa5,0xa5,0xd0,0x03,0x4c,0xfa,0x74, + 0xa2,0x8a,0xa0,0x00,0x20,0xd0,0x77,0xa5, + 0xaa,0x10,0x0f,0x20,0xc5,0x78,0xa9,0x8a, + 0xa0,0x00,0x20,0x57,0x78,0xd0,0x03,0x98, + 0xa4,0x0d,0x20,0xfa,0x77,0x98,0x48,0x20, + 0xeb,0x75,0xa9,0x8a,0xa0,0x00,0x20,0x29, + 0x76,0x20,0xa8,0x7b,0x68,0x10,0x0a,0xa5, + 0x9d,0xf0,0x06,0xa5,0xa2,0x49,0xff,0x85, + 0xa2,0x60,0x81,0x38,0xaa,0x3b,0x29,0x07, + 0x71,0x34,0x58,0x3e,0x56,0x74,0x16,0x7e, + 0xb3,0x1b,0x77,0x2f,0xee,0xe3,0x85,0x7a, + 0x1d,0x84,0x1c,0x2a,0x7c,0x63,0x59,0x58, + 0x0a,0x7e,0x75,0xfd,0xe7,0xc6,0x80,0x31, + 0x72,0x18,0x10,0x81,0x00,0x00,0x00,0x00, + 0xa9,0x7a,0xa0,0x7b,0x20,0x29,0x76,0xa5, + 0xac,0x69,0x50,0x90,0x03,0x20,0x1f,0x78, + 0x85,0x92,0x20,0x0b,0x78,0xa5,0x9d,0xc9, + 0x88,0x90,0x03,0x20,0xd0,0x76,0x20,0xc5, + 0x78,0xa5,0x0d,0x18,0x69,0x81,0xf0,0xf3, + 0x38,0xe9,0x01,0x48,0xa2,0x05,0xb5,0xa5, + 0xb4,0x9d,0x95,0x9d,0x94,0xa5,0xca,0x10, + 0xf5,0xa5,0x92,0x85,0xac,0x20,0x54,0x74, + 0x20,0x6f,0x7b,0xa9,0x7f,0xa0,0x7b,0x20, + 0x10,0x7c,0xa9,0x00,0x85,0xab,0x68,0x4c, + 0xb8,0x76,0x85,0xad,0x84,0xae,0x20,0xc6, + 0x77,0xa9,0x93,0x20,0x29,0x76,0x20,0x14, + 0x7c,0xa9,0x93,0xa0,0x00,0x4c,0x29,0x76, + 0x85,0xad,0x84,0xae,0x20,0xc3,0x77,0xb1, + 0xad,0x85,0xa3,0xa4,0xad,0xc8,0x98,0xd0, + 0x02,0xe6,0xae,0x85,0xad,0xa4,0xae,0x20, + 0x29,0x76,0xa5,0xad,0xa4,0xae,0x18,0x69, + 0x05,0x90,0x01,0xc8,0x85,0xad,0x84,0xae, + 0x20,0x68,0x74,0xa9,0x98,0xa0,0x00,0xc6, + 0xa3,0xd0,0xe4,0x60,0x98,0x35,0x44,0x7a, + 0x68,0x28,0xb1,0x46,0x20,0x27,0x78,0xaa, + 0x30,0x18,0xa9,0xc9,0xa0,0x00,0x20,0x9e, + 0x77,0x8a,0xf0,0xe7,0xa9,0x44,0xa0,0x7c, + 0x20,0x29,0x76,0xa9,0x48,0xa0,0x7c,0x20, + 0x68,0x74,0xa6,0xa1,0xa5,0x9e,0x85,0xa1, + 0x86,0x9e,0xa9,0x00,0x85,0xa2,0xa5,0x9d, + 0x85,0xac,0xa9,0x80,0x85,0x9d,0x20,0xd8, + 0x74,0xa2,0xc9,0xa0,0x00,0x4c,0xd0,0x77, + 0xe6,0xb8,0xd0,0x02,0xe6,0xb9,0xad,0x60, + 0xea,0xc9,0x3a,0xb0,0x0a,0xc9,0x20,0xf0, + 0xef,0x38,0xe9,0x30,0x38,0xe9,0xd0,0x60, + 0x80,0x4f,0xc7,0x52,0x58,0xa2,0xff,0x86, + 0x76,0xa2,0xfb,0x9a,0xa9,0xa5,0xa0,0x7c, + 0x85,0x01,0x84,0x02,0x85,0x04,0x84,0x05, + 0xa9,0x4c,0x85,0x00,0x85,0x03,0x85,0x90, + 0xa2,0x1c,0xbd,0x87,0x7c,0x95,0xb0,0xca, + 0xd0,0xf8,0x8a,0x85,0xa4,0x85,0x54,0x48, + 0xa9,0x03,0x85,0x8f,0x20,0x14,0x7e,0xa9, + 0x01,0x8d,0xfd,0x01,0x8d,0xfc,0x01,0xa2, + 0x55,0x86,0x52,0xa0,0x00,0xa9,0x60,0x84, + 0x73,0x85,0x74,0x84,0x6f,0x85,0x70,0xa2, + 0x00,0xa0,0x08,0x86,0x67,0x84,0x68,0xa0, + 0x00,0x84,0xd6,0x98,0x91,0x67,0xe6,0x67, + 0xd0,0x02,0xe6,0x68,0xa5,0x67,0xa4,0x68, + 0x20,0x91,0x62,0x20,0xd2,0x64,0xa9,0x0e, + 0xa0,0x69,0x85,0x04,0x84,0x05,0xa9,0xea, + 0xa0,0x62,0x85,0x01,0x84,0x02,0x6c,0x01, + 0x00,0x20,0x17,0x6b,0x20,0x18,0x74,0x6c, + 0x50,0x00,0x20,0x17,0x6b,0x20,0x18,0x74, + 0xa5,0x50,0xc5,0x6d,0xa5,0x51,0xe5,0x6e, + 0xb0,0x03,0x4c,0xbe,0x62,0xa5,0x50,0x85, + 0x73,0x85,0x6f,0xa5,0x51,0x85,0x74,0x85, + 0x70,0x60,0x20,0x17,0x6b,0x20,0x18,0x74, + 0xa5,0x50,0xc5,0x73,0xa5,0x51,0xe5,0x74, + 0xb0,0xe0,0xa5,0x50,0xc5,0x69,0xa5,0x51, + 0xe5,0x6a,0x90,0xd6,0xa5,0x50,0x85,0x69, + 0xa5,0x51,0x85,0x6a,0x4c,0xf3,0x64,0xa9, + 0x8e,0x20,0x69,0x6c,0xa5,0xb8,0x85,0xf4, + 0xa5,0xb9,0x85,0xf5,0x38,0x66,0xd8,0xa5, + 0x75,0x85,0xf6,0xa5,0x76,0x85,0xf7,0x20, + 0xa2,0x67,0x4c,0x94,0x67,0x86,0xde,0xa6, + 0xf8,0x86,0xdf,0xa5,0x75,0x85,0xda,0xa5, + 0x76,0x85,0xdb,0xa5,0x79,0x85,0xdc,0xa5, + 0x7a,0x85,0xdd,0xa5,0xf4,0x85,0xb8,0xa5, + 0xf5,0x85,0xb9,0xa5,0xf6,0x85,0x75,0xa5, + 0xf7,0x85,0x76,0x20,0xb7,0x00,0x20,0x3a, + 0x67,0x4c,0x48,0x66,0xa5,0xda,0x85,0x75, + 0xa5,0xdb,0x85,0x76,0xa5,0xdc,0x85,0xb8, + 0xa5,0xdd,0x85,0xb9,0xa6,0xdf,0x9a,0x4c, + 0x48,0x66,0xad,0x11,0xd0,0x10,0xfb,0xad, + 0x10,0xd0,0x29,0x7f,0x60,0xc9,0x18,0xf0, + 0x0a,0x20,0xef,0xff,0xc9,0x5f,0xf0,0x0e, + 0xe8,0xd0,0x0f,0x20,0x08,0x7e,0x20,0x14, + 0x7e,0x20,0x0b,0x7e,0xa2,0x01,0x8a,0xf0, + 0xf5,0xca,0x20,0xd2,0x7d,0x9d,0x00,0x02, + 0xc9,0x0d,0xd0,0xd9,0x20,0x14,0x7e,0x60, + 0xa9,0x5c,0x2c,0xa5,0x33,0x2c,0xa9,0x20, + 0x2c,0xa9,0x3f,0x2c,0xa9,0x0d,0x09,0x80, + 0x20,0xef,0xff,0x29,0x7f,0x60,0xa0,0x18, + 0x20,0x14,0x7e,0x88,0x10,0xfa,0x60,0xac, + 0xdc,0xaf,0xc0,0xcf,0xd0,0x5b,0xac,0xdd, + 0xaf,0xc0,0xfa,0xd0,0x54,0x60,0x20,0x27, + 0x7e,0x4c,0x06,0x90,0x20,0x27,0x7e,0xa0, + 0x00,0xb9,0x00,0x00,0x99,0x80,0x03,0xc8, + 0xc0,0x0c,0xd0,0xf5,0xc6,0xb8,0xa0,0x00, + 0x20,0xb1,0x00,0xf0,0x08,0x99,0xc1,0x03, + 0xc8,0xc0,0x0f,0xd0,0xf3,0xc0,0x00,0xf0, + 0x2b,0x8c,0xc0,0x03,0xa9,0xc0,0xa0,0x03, + 0x85,0x02,0x84,0x03,0xa5,0xaf,0xe5,0x67, + 0x85,0x09,0xa5,0xb0,0xe5,0x68,0x85,0x0a, + 0xa5,0x67,0xa4,0x68,0x85,0x00,0x85,0x07, + 0x84,0x01,0x84,0x08,0xa9,0xf8,0x85,0x06, + 0x60,0xa2,0x8c,0x2c,0xa2,0x06,0x4c,0xc0, + 0x62,0xa0,0x00,0xb9,0x80,0x03,0x99,0x00, + 0x00,0xc8,0xc0,0x0c,0xd0,0xf5,0x60,0x20, + 0x3c,0x7e,0xa2,0x20,0x20,0xc5,0x7e,0x20, + 0x91,0x7e,0x60,0x20,0x3c,0x7e,0xa2,0x22, + 0x20,0xc5,0x7e,0xa5,0x67,0x65,0x09,0x85, + 0x69,0xa5,0x68,0x65,0x0a,0x85,0x6a,0x20, + 0x91,0x7e,0x4c,0xa0,0x63,0x20,0x0c,0x90, + 0xa2,0x04,0xb0,0xf9,0x60,0x00,0x00,0x00 + ]] +}; diff --git a/tapes/basic.js b/tapes/basic.js new file mode 100644 index 0000000..7b5f045 --- /dev/null +++ b/tapes/basic.js @@ -0,0 +1,519 @@ +/*globals tapes: true */ + +tapes['BASIC'] = { + script: 'C100R\nE000.EFFFR\nE000R\n', + tracks: [[ + 0x4c,0xb0,0xe2,0xad,0x11,0xd0,0x10,0xfb, + 0xad,0x10,0xd0,0x60,0x8a,0x29,0x20,0xf0, + 0x23,0xa9,0xa0,0x85,0xe4,0x4c,0xc9,0xe3, + 0xa9,0x20,0xc5,0x24,0xb0,0x0c,0xa9,0x8d, + 0xa0,0x07,0x20,0xc9,0xe3,0xa9,0xa0,0x88, + 0xd0,0xf8,0xa0,0x00,0xb1,0xe2,0xe6,0xe2, + 0xd0,0x02,0xe6,0xe3,0x60,0x20,0x15,0xe7, + 0x20,0x76,0xe5,0xa5,0xe2,0xc5,0xe6,0xa5, + 0xe3,0xe5,0xe7,0xb0,0xef,0x20,0x6d,0xe0, + 0x4c,0x3b,0xe0,0xa5,0xca,0x85,0xe2,0xa5, + 0xcb,0x85,0xe3,0xa5,0x4c,0x85,0xe6,0xa5, + 0x4d,0x85,0xe7,0xd0,0xde,0x20,0x15,0xe7, + 0x20,0x6d,0xe5,0xa5,0xe4,0x85,0xe2,0xa5, + 0xe5,0x85,0xe3,0xb0,0xc7,0x86,0xd8,0xa9, + 0xa0,0x85,0xfa,0x20,0x2a,0xe0,0x98,0x85, + 0xe4,0x20,0x2a,0xe0,0xaa,0x20,0x2a,0xe0, + 0x20,0x1b,0xe5,0x20,0x18,0xe0,0x84,0xfa, + 0xaa,0x10,0x18,0x0a,0x10,0xe9,0xa5,0xe4, + 0xd0,0x03,0x20,0x11,0xe0,0x8a,0x20,0xc9, + 0xe3,0xa9,0x25,0x20,0x1a,0xe0,0xaa,0x30, + 0xf5,0x85,0xe4,0xc9,0x01,0xd0,0x05,0xa6, + 0xd8,0x4c,0xcd,0xe3,0x48,0x84,0xce,0xa2, + 0xed,0x86,0xcf,0xc9,0x51,0x90,0x04,0xc6, + 0xcf,0xe9,0x50,0x48,0xb1,0xce,0xaa,0x88, + 0xb1,0xce,0x10,0xfa,0xe0,0xc0,0xb0,0x04, + 0xe0,0x00,0x30,0xf2,0xaa,0x68,0xe9,0x01, + 0xd0,0xe9,0x24,0xe4,0x30,0x03,0x20,0xf8, + 0xef,0xb1,0xce,0x10,0x10,0xaa,0x29,0x3f, + 0x85,0xe4,0x18,0x69,0xa0,0x20,0xc9,0xe3, + 0x88,0xe0,0xc0,0x90,0xec,0x20,0x0c,0xe0, + 0x68,0xc9,0x5d,0xf0,0xa4,0xc9,0x28,0xd0, + 0x8a,0xf0,0x9e,0x20,0x18,0xe1,0x95,0x50, + 0xd5,0x78,0x90,0x11,0xa0,0x2b,0x4c,0xe0, + 0xe3,0x20,0x34,0xee,0xd5,0x50,0x90,0xf4, + 0x20,0xe4,0xef,0x95,0x78,0x4c,0x23,0xe8, + 0x20,0x34,0xee,0xf0,0xe7,0x38,0xe9,0x01, + 0x60,0x20,0x18,0xe1,0x95,0x50,0x18,0xf5, + 0x78,0x4c,0x02,0xe1,0xa0,0x14,0xd0,0xd6, + 0x20,0x18,0xe1,0xe8,0xb5,0x50,0x85,0xda, + 0x65,0xce,0x48,0xa8,0xb5,0x78,0x85,0xdb, + 0x65,0xcf,0x48,0xc4,0xca,0xe5,0xcb,0xb0, + 0xe3,0xa5,0xda,0x69,0xfe,0x85,0xda,0xa9, + 0xff,0xa8,0x65,0xdb,0x85,0xdb,0xc8,0xb1, + 0xda,0xd9,0xcc,0x00,0xd0,0x0f,0x98,0xf0, + 0xf5,0x68,0x91,0xda,0x99,0xcc,0x00,0x88, + 0x10,0xf7,0xe8,0x60,0xea,0xa0,0x80,0xd0, + 0x95,0xa9,0x00,0x20,0x0a,0xe7,0xa0,0x02, + 0x94,0x78,0x20,0x0a,0xe7,0xa9,0xbf,0x20, + 0xc9,0xe3,0xa0,0x00,0x20,0x9e,0xe2,0x94, + 0x78,0xea,0xea,0xea,0xb5,0x51,0x85,0xce, + 0xb5,0x79,0x85,0xcf,0xe8,0xe8,0x20,0xbc, + 0xe1,0xb5,0x4e,0xd5,0x76,0xb0,0x15,0xf6, + 0x4e,0xa8,0xb1,0xce,0xb4,0x50,0xc4,0xe4, + 0x90,0x04,0xa0,0x83,0xd0,0xc1,0x91,0xda, + 0xf6,0x50,0x90,0xe5,0xb4,0x50,0x8a,0x91, + 0xda,0xe8,0xe8,0x60,0xb5,0x51,0x85,0xda, + 0x38,0xe9,0x02,0x85,0xe4,0xb5,0x79,0x85, + 0xdb,0xe9,0x00,0x85,0xe5,0xa0,0x00,0xb1, + 0xe4,0x18,0xe5,0xda,0x85,0xe4,0x60,0xb5, + 0x53,0x85,0xce,0xb5,0x7b,0x85,0xcf,0xb5, + 0x51,0x85,0xda,0xb5,0x79,0x85,0xdb,0xe8, + 0xe8,0xe8,0xa0,0x00,0x94,0x78,0x94,0xa0, + 0xc8,0x94,0x50,0xb5,0x4d,0xd5,0x75,0x08, + 0x48,0xb5,0x4f,0xd5,0x77,0x90,0x07,0x68, + 0x28,0xb0,0x02,0x56,0x50,0x60,0xa8,0xb1, + 0xce,0x85,0xe4,0x68,0xa8,0x28,0xb0,0xf3, + 0xb1,0xda,0xc5,0xe4,0xd0,0xed,0xf6,0x4f, + 0xf6,0x4d,0xb0,0xd7,0x20,0xd7,0xe1,0x4c, + 0x36,0xe7,0x20,0x54,0xe2,0x06,0xce,0x26, + 0xcf,0x90,0x0d,0x18,0xa5,0xe6,0x65,0xda, + 0x85,0xe6,0xa5,0xe7,0x65,0xdb,0x85,0xe7, + 0x88,0xf0,0x09,0x06,0xe6,0x26,0xe7,0x10, + 0xe4,0x4c,0x7e,0xe7,0xa5,0xe6,0x20,0x08, + 0xe7,0xa5,0xe7,0x95,0xa0,0x06,0xe5,0x90, + 0x28,0x4c,0x6f,0xe7,0xa9,0x55,0x85,0xe5, + 0x20,0x5b,0xe2,0xa5,0xce,0x85,0xda,0xa5, + 0xcf,0x85,0xdb,0x20,0x15,0xe7,0x84,0xe6, + 0x84,0xe7,0xa5,0xcf,0x10,0x09,0xca,0x06, + 0xe5,0x20,0x6f,0xe7,0x20,0x15,0xe7,0xa0, + 0x10,0x60,0x20,0x6c,0xee,0xf0,0xc5,0xff, + 0xc9,0x84,0xd0,0x02,0x46,0xf8,0xc9,0xdf, + 0xf0,0x11,0xc9,0x9b,0xf0,0x06,0x99,0x00, + 0x02,0xc8,0x10,0x0a,0xa0,0x8b,0x20,0xc4, + 0xe3,0xa0,0x01,0x88,0x30,0xf6,0x20,0x03, + 0xe0,0xea,0xea,0x20,0xc9,0xe3,0xc9,0x8d, + 0xd0,0xd6,0xa9,0xdf,0x99,0x00,0x02,0x60, + 0x20,0xd3,0xef,0x20,0xcd,0xe3,0x46,0xd9, + 0xa9,0xbe,0x20,0xc9,0xe3,0xa0,0x00,0x84, + 0xfa,0x24,0xf8,0x10,0x0c,0xa6,0xf6,0xa5, + 0xf7,0x20,0x1b,0xe5,0xa9,0xa0,0x20,0xc9, + 0xe3,0xa2,0xff,0x9a,0x20,0x9e,0xe2,0x84, + 0xf1,0x8a,0x85,0xc8,0xa2,0x20,0x20,0x91, + 0xe4,0xa5,0xc8,0x69,0x00,0x85,0xe0,0xa9, + 0x00,0xaa,0x69,0x02,0x85,0xe1,0xa1,0xe0, + 0x29,0xf0,0xc9,0xb0,0xf0,0x03,0x4c,0x83, + 0xe8,0xa0,0x02,0xb1,0xe0,0x99,0xcd,0x00, + 0x88,0xd0,0xf8,0x20,0x8a,0xe3,0xa5,0xf1, + 0xe5,0xc8,0xc9,0x04,0xf0,0xa8,0x91,0xe0, + 0xa5,0xca,0xf1,0xe0,0x85,0xe4,0xa5,0xcb, + 0xe9,0x00,0x85,0xe5,0xa5,0xe4,0xc5,0xcc, + 0xa5,0xe5,0xe5,0xcd,0x90,0x45,0xa5,0xca, + 0xf1,0xe0,0x85,0xe6,0xa5,0xcb,0xe9,0x00, + 0x85,0xe7,0xb1,0xca,0x91,0xe6,0xe6,0xca, + 0xd0,0x02,0xe6,0xcb,0xa5,0xe2,0xc5,0xca, + 0xa5,0xe3,0xe5,0xcb,0xb0,0xe0,0xb5,0xe4, + 0x95,0xca,0xca,0x10,0xf9,0xb1,0xe0,0xa8, + 0x88,0xb1,0xe0,0x91,0xe6,0x98,0xd0,0xf8, + 0x24,0xf8,0x10,0x09,0xb5,0xf7,0x75,0xf5, + 0x95,0xf7,0xe8,0xf0,0xf7,0x10,0x7e,0x00, + 0x00,0x00,0x00,0xa0,0x14,0xd0,0x71,0x20, + 0x15,0xe7,0xa5,0xe2,0x85,0xe6,0xa5,0xe3, + 0x85,0xe7,0x20,0x75,0xe5,0xa5,0xe2,0x85, + 0xe4,0xa5,0xe3,0x85,0xe5,0xd0,0x0e,0x20, + 0x15,0xe7,0x20,0x6d,0xe5,0xa5,0xe6,0x85, + 0xe2,0xa5,0xe7,0x85,0xe3,0xa0,0x00,0xa5, + 0xca,0xc5,0xe4,0xa5,0xcb,0xe5,0xe5,0xb0, + 0x16,0xa5,0xe4,0xd0,0x02,0xc6,0xe5,0xc6, + 0xe4,0xa5,0xe6,0xd0,0x02,0xc6,0xe7,0xc6, + 0xe6,0xb1,0xe4,0x91,0xe6,0x90,0xe0,0xa5, + 0xe6,0x85,0xca,0xa5,0xe7,0x85,0xcb,0x60, + 0x20,0xc9,0xe3,0xc8,0xb9,0x00,0xeb,0x30, + 0xf7,0xc9,0x8d,0xd0,0x06,0xa9,0x00,0x85, + 0x24,0xa9,0x8d,0xe6,0x24,0x2c,0xf2,0xd0, + 0x30,0xfb,0x8d,0xf2,0xd0,0x60,0xa0,0x06, + 0x20,0xd3,0xee,0x24,0xd9,0x30,0x03,0x4c, + 0xb6,0xe2,0x4c,0x9a,0xeb,0x2a,0x69,0xa0, + 0xdd,0x00,0x02,0xd0,0x53,0xb1,0xfe,0x0a, + 0x30,0x06,0x88,0xb1,0xfe,0x30,0x29,0xc8, + 0x86,0xc8,0x98,0x48,0xa2,0x00,0xa1,0xfe, + 0xaa,0x4a,0x49,0x48,0x11,0xfe,0xc9,0xc0, + 0x90,0x01,0xe8,0xc8,0xd0,0xf3,0x68,0xa8, + 0x8a,0x4c,0xc0,0xe4,0xe6,0xf1,0xa6,0xf1, + 0xf0,0xbc,0x9d,0x00,0x02,0x60,0xa6,0xc8, + 0xa9,0xa0,0xe8,0xdd,0x00,0x02,0xb0,0xfa, + 0xb1,0xfe,0x29,0x3f,0x4a,0xd0,0xb6,0xbd, + 0x00,0x02,0xb0,0x06,0x69,0x3f,0xc9,0x1a, + 0x90,0x6f,0x69,0x4f,0xc9,0x0a,0x90,0x69, + 0xa6,0xfd,0xc8,0xb1,0xfe,0x29,0xe0,0xc9, + 0x20,0xf0,0x7a,0xb5,0xa8,0x85,0xc8,0xb5, + 0xd1,0x85,0xf1,0x88,0xb1,0xfe,0x0a,0x10, + 0xfa,0x88,0xb0,0x38,0x0a,0x30,0x35,0xb4, + 0x58,0x84,0xff,0xb4,0x80,0xe8,0x10,0xda, + 0xf0,0xb3,0xc9,0x7e,0xb0,0x22,0xca,0x10, + 0x04,0xa0,0x06,0x10,0x29,0x94,0x80,0xa4, + 0xff,0x94,0x58,0xa4,0xc8,0x94,0xa8,0xa4, + 0xf1,0x94,0xd1,0x29,0x1f,0xa8,0xb9,0x20, + 0xec,0x0a,0xa8,0xa9,0x76,0x2a,0x85,0xff, + 0xd0,0x01,0xc8,0xc8,0x86,0xfd,0xb1,0xfe, + 0x30,0x84,0xd0,0x05,0xa0,0x0e,0x4c,0xe0, + 0xe3,0xc9,0x03,0xb0,0xc3,0x4a,0xa6,0xc8, + 0xe8,0xbd,0x00,0x02,0x90,0x04,0xc9,0xa2, + 0xf0,0x0a,0xc9,0xdf,0xf0,0x06,0x86,0xc8, + 0x20,0x1c,0xe4,0xc8,0x88,0xa6,0xfd,0xb1, + 0xfe,0x88,0x0a,0x10,0xcf,0xb4,0x58,0x84, + 0xff,0xb4,0x80,0xe8,0xb1,0xfe,0x29,0x9f, + 0xd0,0xed,0x85,0xf2,0x85,0xf3,0x98,0x48, + 0x86,0xfd,0xb4,0xd0,0x84,0xc9,0x18,0xa9, + 0x0a,0x85,0xf9,0xa2,0x00,0xc8,0xb9,0x00, + 0x02,0x29,0x0f,0x65,0xf2,0x48,0x8a,0x65, + 0xf3,0x30,0x1c,0xaa,0x68,0xc6,0xf9,0xd0, + 0xf2,0x85,0xf2,0x86,0xf3,0xc4,0xf1,0xd0, + 0xde,0xa4,0xc9,0xc8,0x84,0xf1,0x20,0x1c, + 0xe4,0x68,0xa8,0xa5,0xf3,0xb0,0xa9,0xa0, + 0x00,0x10,0x8b,0x85,0xf3,0x86,0xf2,0xa2, + 0x04,0x86,0xc9,0xa9,0xb0,0x85,0xf9,0xa5, + 0xf2,0xdd,0x63,0xe5,0xa5,0xf3,0xfd,0x68, + 0xe5,0x90,0x0d,0x85,0xf3,0xa5,0xf2,0xfd, + 0x63,0xe5,0x85,0xf2,0xe6,0xf9,0xd0,0xe7, + 0xa5,0xf9,0xe8,0xca,0xf0,0x0e,0xc9,0xb0, + 0xf0,0x02,0x85,0xc9,0x24,0xc9,0x30,0x04, + 0xa5,0xfa,0xf0,0x0b,0x20,0xc9,0xe3,0x24, + 0xf8,0x10,0x04,0x99,0x00,0x02,0xc8,0xca, + 0x10,0xc1,0x60,0x01,0x0a,0x64,0xe8,0x10, + 0x00,0x00,0x00,0x03,0x27,0xa5,0xca,0x85, + 0xe6,0xa5,0xcb,0x85,0xe7,0xe8,0xa5,0xe7, + 0x85,0xe5,0xa5,0xe6,0x85,0xe4,0xc5,0x4c, + 0xa5,0xe5,0xe5,0x4d,0xb0,0x26,0xa0,0x01, + 0xb1,0xe4,0xe5,0xce,0xc8,0xb1,0xe4,0xe5, + 0xcf,0xb0,0x19,0xa0,0x00,0xa5,0xe6,0x71, + 0xe4,0x85,0xe6,0x90,0x03,0xe6,0xe7,0x18, + 0xc8,0xa5,0xce,0xf1,0xe4,0xc8,0xa5,0xcf, + 0xf1,0xe4,0xb0,0xca,0x60,0x46,0xf8,0xa5, + 0x4c,0x85,0xca,0xa5,0x4d,0x85,0xcb,0xa5, + 0x4a,0x85,0xcc,0xa5,0x4b,0x85,0xcd,0xa9, + 0x00,0x85,0xfb,0x85,0xfc,0x85,0xfe,0xa9, + 0x00,0x85,0x1d,0x60,0xa5,0xd0,0x69,0x05, + 0x85,0xd2,0xa5,0xd1,0x69,0x00,0x85,0xd3, + 0xa5,0xd2,0xc5,0xca,0xa5,0xd3,0xe5,0xcb, + 0x90,0x03,0x4c,0x6b,0xe3,0xa5,0xce,0x91, + 0xd0,0xa5,0xcf,0xc8,0x91,0xd0,0xa5,0xd2, + 0xc8,0x91,0xd0,0xa5,0xd3,0xc8,0x91,0xd0, + 0xa9,0x00,0xc8,0x91,0xd0,0xc8,0x91,0xd0, + 0xa5,0xd2,0x85,0xcc,0xa5,0xd3,0x85,0xcd, + 0xa5,0xd0,0x90,0x43,0x85,0xce,0x84,0xcf, + 0x20,0xff,0xe6,0x30,0x0e,0xc9,0x40,0xf0, + 0x0a,0x4c,0x28,0xe6,0x06,0xc9,0x49,0xd0, + 0x07,0xa9,0x49,0x85,0xcf,0x20,0xff,0xe6, + 0xa5,0x4b,0x85,0xd1,0xa5,0x4a,0x85,0xd0, + 0xc5,0xcc,0xa5,0xd1,0xe5,0xcd,0xb0,0x94, + 0xb1,0xd0,0xc8,0xc5,0xce,0xd0,0x06,0xb1, + 0xd0,0xc5,0xcf,0xf0,0x0e,0xc8,0xb1,0xd0, + 0x48,0xc8,0xb1,0xd0,0x85,0xd1,0x68,0xa0, + 0x00,0xf0,0xdb,0xa5,0xd0,0x69,0x03,0x20, + 0x0a,0xe7,0xa5,0xd1,0x69,0x00,0x95,0x78, + 0xa5,0xcf,0xc9,0x40,0xd0,0x1c,0x88,0x98, + 0x20,0x0a,0xe7,0x88,0x94,0x78,0xa0,0x03, + 0xf6,0x78,0xc8,0xb1,0xd0,0x30,0xf9,0x10, + 0x09,0xa9,0x00,0x85,0xd4,0x85,0xd5,0xa2, + 0x20,0x48,0xa0,0x00,0xb1,0xe0,0x10,0x18, + 0x0a,0x30,0x81,0x20,0xff,0xe6,0x20,0x08, + 0xe7,0x20,0xff,0xe6,0x95,0xa0,0x24,0xd4, + 0x10,0x01,0xca,0x20,0xff,0xe6,0xb0,0xe6, + 0xc9,0x28,0xd0,0x1f,0xa5,0xe0,0x20,0x0a, + 0xe7,0xa5,0xe1,0x95,0x78,0x24,0xd4,0x30, + 0x0b,0xa9,0x01,0x20,0x0a,0xe7,0xa9,0x00, + 0x95,0x78,0xf6,0x78,0x20,0xff,0xe6,0x30, + 0xf9,0xb0,0xd3,0x24,0xd4,0x10,0x06,0xc9, + 0x04,0xb0,0xd0,0x46,0xd4,0xa8,0x85,0xd6, + 0xb9,0x98,0xe9,0x29,0x55,0x0a,0x85,0xd7, + 0x68,0xa8,0xb9,0x98,0xe9,0x29,0xaa,0xc5, + 0xd7,0xb0,0x09,0x98,0x48,0x20,0xff,0xe6, + 0xa5,0xd6,0x90,0x95,0xb9,0x10,0xea,0x85, + 0xce,0xb9,0x88,0xea,0x85,0xcf,0x20,0xfc, + 0xe6,0x4c,0xd8,0xe6,0x6c,0xce,0x00,0xe6, + 0xe0,0xd0,0x02,0xe6,0xe1,0xb1,0xe0,0x60, + 0x94,0x77,0xca,0x30,0x03,0x95,0x50,0x60, + 0xa0,0x66,0x4c,0xe0,0xe3,0xa0,0x00,0xb5, + 0x50,0x85,0xce,0xb5,0xa0,0x85,0xcf,0xb5, + 0x78,0xf0,0x0e,0x85,0xcf,0xb1,0xce,0x48, + 0xc8,0xb1,0xce,0x85,0xcf,0x68,0x85,0xce, + 0x88,0xe8,0x60,0x20,0x4a,0xe7,0x20,0x15, + 0xe7,0x98,0x20,0x08,0xe7,0x95,0xa0,0xc5, + 0xce,0xd0,0x06,0xc5,0xcf,0xd0,0x02,0xf6, + 0x50,0x60,0x20,0x82,0xe7,0x20,0x59,0xe7, + 0x20,0x15,0xe7,0x24,0xcf,0x30,0x1b,0xca, + 0x60,0x20,0x15,0xe7,0xa5,0xcf,0xd0,0x04, + 0xa5,0xce,0xf0,0xf3,0xa9,0xff,0x20,0x08, + 0xe7,0x95,0xa0,0x24,0xcf,0x30,0xe9,0x20, + 0x15,0xe7,0x98,0x38,0xe5,0xce,0x20,0x08, + 0xe7,0x98,0xe5,0xcf,0x50,0x23,0xa0,0x00, + 0x10,0x90,0x20,0x6f,0xe7,0x20,0x15,0xe7, + 0xa5,0xce,0x85,0xda,0xa5,0xcf,0x85,0xdb, + 0x20,0x15,0xe7,0x18,0xa5,0xce,0x65,0xda, + 0x20,0x08,0xe7,0xa5,0xcf,0x65,0xdb,0x70, + 0xdd,0x95,0xa0,0x60,0x20,0x15,0xe7,0xa4, + 0xce,0xf0,0x05,0x88,0xa5,0xcf,0xf0,0x0c, + 0x60,0xa5,0x24,0x09,0x07,0xa8,0xc8,0xa9, + 0xa0,0x20,0xc9,0xe3,0xc4,0x24,0xb0,0xf7, + 0x60,0x20,0xb1,0xe7,0x20,0x15,0xe7,0xa5, + 0xcf,0x10,0x0a,0xa9,0xad,0x20,0xc9,0xe3, + 0x20,0x72,0xe7,0x50,0xef,0x88,0x84,0xd5, + 0x86,0xcf,0xa6,0xce,0x20,0x1b,0xe5,0xa6, + 0xcf,0x60,0x20,0x15,0xe7,0xa5,0xce,0x85, + 0xf6,0xa5,0xcf,0x85,0xf7,0x88,0x84,0xf8, + 0xc8,0xa9,0x0a,0x85,0xf4,0x84,0xf5,0x60, + 0x20,0x15,0xe7,0xa5,0xce,0xa4,0xcf,0x10, + 0xf2,0x20,0x15,0xe7,0xb5,0x50,0x85,0xda, + 0xb5,0x78,0x85,0xdb,0xa5,0xce,0x91,0xda, + 0xc8,0xa5,0xcf,0x91,0xda,0xe8,0x60,0x68, + 0x68,0x24,0xd5,0x10,0x05,0x20,0xcd,0xe3, + 0x46,0xd5,0x60,0xa0,0xff,0x84,0xd7,0x60, + 0x20,0xcd,0xef,0xf0,0x07,0xa9,0x25,0x85, + 0xd6,0x88,0x84,0xd4,0xe8,0x60,0xa5,0xca, + 0xa4,0xcb,0xd0,0x5a,0xa0,0x41,0xa5,0xfc, + 0xc9,0x08,0xb0,0x5e,0xa8,0xe6,0xfc,0xa5, + 0xe0,0x99,0x00,0x01,0xa5,0xe1,0x99,0x08, + 0x01,0xa5,0xdc,0x99,0x10,0x01,0xa5,0xdd, + 0x99,0x18,0x01,0x20,0x15,0xe7,0x20,0x6d, + 0xe5,0x90,0x04,0xa0,0x37,0xd0,0x3b,0xa5, + 0xe4,0xa4,0xe5,0x85,0xdc,0x84,0xdd,0x2c, + 0x11,0xd0,0x30,0x4f,0x18,0x69,0x03,0x90, + 0x01,0xc8,0xa2,0xff,0x86,0xd9,0x9a,0x85, + 0xe0,0x84,0xe1,0x20,0x79,0xe6,0x24,0xd9, + 0x10,0x49,0x18,0xa0,0x00,0xa5,0xdc,0x71, + 0xdc,0xa4,0xdd,0x90,0x01,0xc8,0xc5,0x4c, + 0xd0,0xd1,0xc4,0x4d,0xd0,0xcd,0xa0,0x34, + 0x46,0xd9,0x4c,0xe0,0xe3,0xa0,0x4a,0xa5, + 0xfc,0xf0,0xf7,0xc6,0xfc,0xa8,0xb9,0x0f, + 0x01,0x85,0xdc,0xb9,0x17,0x01,0x85,0xdd, + 0xbe,0xff,0x00,0xb9,0x07,0x01,0xa8,0x8a, + 0x4c,0x7a,0xe8,0xa0,0x63,0x20,0xc4,0xe3, + 0xa0,0x01,0xb1,0xdc,0xaa,0xc8,0xb1,0xdc, + 0x20,0x1b,0xe5,0x4c,0xb3,0xe2,0xc6,0xfb, + 0xa0,0x5b,0xa5,0xfb,0xf0,0xc4,0xa8,0xb5, + 0x50,0xd9,0x1f,0x01,0xd0,0xf0,0xb5,0x78, + 0xd9,0x27,0x01,0xd0,0xe9,0xb9,0x2f,0x01, + 0x85,0xda,0xb9,0x37,0x01,0x85,0xdb,0x20, + 0x15,0xe7,0xca,0x20,0x93,0xe7,0x20,0x01, + 0xe8,0xca,0xa4,0xfb,0xb9,0x67,0x01,0x95, + 0x9f,0xb9,0x5f,0x01,0xa0,0x00,0x20,0x08, + 0xe7,0x20,0x82,0xe7,0x20,0x59,0xe7,0x20, + 0x15,0xe7,0xa4,0xfb,0xa5,0xce,0xf0,0x05, + 0x59,0x37,0x01,0x10,0x12,0xb9,0x3f,0x01, + 0x85,0xdc,0xb9,0x47,0x01,0x85,0xdd,0xbe, + 0x4f,0x01,0xb9,0x57,0x01,0xd0,0x87,0xc6, + 0xfb,0x60,0xa0,0x54,0xa5,0xfb,0xc9,0x08, + 0xf0,0x9a,0xe6,0xfb,0xa8,0xb5,0x50,0x99, + 0x20,0x01,0xb5,0x78,0x99,0x28,0x01,0x60, + 0x20,0x15,0xe7,0xa4,0xfb,0xa5,0xce,0x99, + 0x5f,0x01,0xa5,0xcf,0x99,0x67,0x01,0xa9, + 0x01,0x99,0x2f,0x01,0xa9,0x00,0x99,0x37, + 0x01,0xa5,0xdc,0x99,0x3f,0x01,0xa5,0xdd, + 0x99,0x47,0x01,0xa5,0xe0,0x99,0x4f,0x01, + 0xa5,0xe1,0x99,0x57,0x01,0x60,0x20,0x15, + 0xe7,0xa4,0xfb,0xa5,0xce,0x99,0x2f,0x01, + 0xa5,0xcf,0x4c,0x66,0xe9,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xab,0x03,0x03,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0x3f,0x3f,0xc0,0xc0,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x30,0x0f,0xc0, + 0xcc,0xff,0x55,0x00,0xab,0xab,0x03,0x03, + 0xff,0xff,0x55,0xff,0xff,0x55,0xcf,0xcf, + 0xcf,0xcf,0xcf,0xff,0x55,0xc3,0xc3,0xc3, + 0x55,0xf0,0xf0,0xcf,0x56,0x56,0x56,0x55, + 0xff,0xff,0x55,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0xff,0xff,0xff,0x03,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x00,0xab,0x03, + 0x57,0x03,0x03,0x03,0x03,0x07,0x03,0x03, + 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0xaa,0xff,0xff,0xff,0xff,0xff, + 0x17,0xff,0xff,0x19,0x5d,0x35,0x4b,0xf2, + 0xec,0x87,0x6f,0xad,0xb7,0xe2,0xf8,0x54, + 0x80,0x96,0x85,0x82,0x22,0x10,0x33,0x4a, + 0x13,0x06,0x0b,0x4a,0x01,0x40,0x47,0x7a, + 0x00,0xff,0x23,0x09,0x5b,0x16,0xb6,0xcb, + 0xff,0xff,0xfb,0xff,0xff,0x24,0xf6,0x4e, + 0x59,0x50,0x00,0xff,0x23,0xa3,0x6f,0x36, + 0x23,0xd7,0x1c,0x22,0xc2,0xae,0xba,0x23, + 0xff,0xff,0x21,0x30,0x1e,0x03,0xc4,0x20, + 0x00,0xc1,0xff,0xff,0xff,0xa0,0x30,0x1e, + 0xa4,0xd3,0xb6,0xbc,0xaa,0x3a,0x01,0x50, + 0x7e,0xd8,0xd8,0xa5,0x3c,0xff,0x16,0x5b, + 0x28,0x03,0xc4,0x1d,0x00,0x0c,0x4e,0x00, + 0x3e,0x00,0xa6,0xb0,0x00,0xbc,0xc6,0x57, + 0x8c,0x01,0x27,0xff,0xff,0xff,0xff,0xff, + 0xe8,0xff,0xff,0xe8,0xe0,0xe0,0xe0,0xef, + 0xef,0xe3,0xe3,0xe5,0xe5,0xe7,0xe7,0xee, + 0xef,0xef,0xe7,0xe7,0xe2,0xef,0xe7,0xe7, + 0xec,0xec,0xec,0xe7,0xec,0xec,0xec,0xe2, + 0x00,0xff,0xe8,0xe1,0xe8,0xe8,0xef,0xeb, + 0xff,0xff,0xe0,0xff,0xff,0xef,0xee,0xef, + 0xe7,0xe7,0x00,0xff,0xe8,0xe7,0xe7,0xe7, + 0xe8,0xe1,0xe2,0xee,0xee,0xee,0xee,0xe8, + 0xff,0xff,0xe1,0xe1,0xef,0xee,0xe7,0xe8, + 0xee,0xe7,0xff,0xff,0xff,0xee,0xe1,0xef, + 0xe7,0xe8,0xef,0xef,0xeb,0xe9,0xe8,0xe9, + 0xe9,0xe8,0xe8,0xe8,0xe8,0xff,0xe8,0xe8, + 0xe8,0xee,0xe7,0xe8,0xef,0xef,0xee,0xef, + 0xee,0xef,0xee,0xee,0xef,0xee,0xee,0xee, + 0xe1,0xe8,0xe8,0xff,0xff,0xff,0xff,0xff, + 0xbe,0xb3,0xb2,0xb7,0xb6,0x37,0xd4,0xcf, + 0xcf,0xa0,0xcc,0xcf,0xce,0x47,0xd3,0xd9, + 0xce,0xd4,0xc1,0x58,0xcd,0xc5,0xcd,0xa0, + 0xc6,0xd5,0xcc,0x4c,0xd4,0xcf,0xcf,0xa0, + 0xcd,0xc1,0xce,0xd9,0xa0,0xd0,0xc1,0xd2, + 0xc5,0xce,0x53,0xd3,0xd4,0xd2,0xc9,0xce, + 0x47,0xce,0xcf,0xa0,0xc5,0xce,0x44,0xc2, + 0xc1,0xc4,0xa0,0xc2,0xd2,0xc1,0xce,0xc3, + 0x48,0xbe,0xb8,0xa0,0xc7,0xcf,0xd3,0xd5, + 0xc2,0x53,0xc2,0xc1,0xc4,0xa0,0xd2,0xc5, + 0xd4,0xd5,0xd2,0x4e,0xbe,0xb8,0xa0,0xc6, + 0xcf,0xd2,0x53,0xc2,0xc1,0xc4,0xa0,0xce, + 0xc5,0xd8,0x54,0xd3,0xd4,0xcf,0xd0,0xd0, + 0xc5,0xc4,0xa0,0xc1,0xd4,0x20,0xaa,0xaa, + 0xaa,0x20,0xa0,0xc5,0xd2,0xd2,0x0d,0xbe, + 0xb2,0xb5,0x35,0xd2,0xc1,0xce,0xc7,0x45, + 0xc4,0xc9,0x4d,0xd3,0xd4,0xd2,0xa0,0xcf, + 0xd6,0xc6,0x4c,0xdc,0x0d,0xd2,0xc5,0xd4, + 0xd9,0xd0,0xc5,0xa0,0xcc,0xc9,0xce,0xc5, + 0x8d,0x3f,0x46,0xd9,0x90,0x03,0x4c,0xc3, + 0xe8,0xa6,0xcf,0x9a,0xa6,0xce,0xa0,0x8d, + 0xd0,0x02,0xa0,0x99,0x20,0xc4,0xe3,0x86, + 0xce,0xba,0x86,0xcf,0xa0,0xfe,0x84,0xd9, + 0xc8,0x84,0xc8,0x20,0x99,0xe2,0x84,0xf1, + 0xa2,0x20,0xa9,0x30,0x20,0x91,0xe4,0xe6, + 0xd9,0xa6,0xce,0xa4,0xc8,0x0a,0x85,0xce, + 0xc8,0xb9,0x00,0x02,0xc9,0x74,0xf0,0xd2, + 0x49,0xb0,0xc9,0x0a,0xb0,0xf0,0xc8,0xc8, + 0x84,0xc8,0xb9,0x00,0x02,0x48,0xb9,0xff, + 0x01,0xa0,0x00,0x20,0x08,0xe7,0x68,0x95, + 0xa0,0xa5,0xce,0xc9,0xc7,0xd0,0x03,0x20, + 0x6f,0xe7,0x4c,0x01,0xe8,0xff,0xff,0xff, + 0x50,0x20,0x13,0xec,0xd0,0x15,0x20,0x0b, + 0xec,0xd0,0x10,0x20,0x82,0xe7,0x20,0x6f, + 0xe7,0x50,0x03,0x20,0x82,0xe7,0x20,0x59, + 0xe7,0x56,0x50,0x4c,0x36,0xe7,0xff,0xff, + 0xc1,0xff,0x7f,0xd1,0xcc,0xc7,0xcf,0xce, + 0xc5,0x9a,0x98,0x8b,0x96,0x95,0x93,0xbf, + 0xb2,0x32,0x2d,0x2b,0xbc,0xb0,0xac,0xbe, + 0x35,0x8e,0x61,0xff,0xff,0xff,0xdd,0xfb, + 0x20,0xc9,0xef,0x15,0x4f,0x10,0x05,0x20, + 0xc9,0xef,0x35,0x4f,0x95,0x50,0x10,0xcb, + 0x4c,0xc9,0xef,0x40,0x60,0x8d,0x60,0x8b, + 0x00,0x7e,0x8c,0x33,0x00,0x00,0x60,0x03, + 0xbf,0x12,0x00,0x40,0x89,0xc9,0x47,0x9d, + 0x17,0x68,0x9d,0x0a,0x00,0x40,0x60,0x8d, + 0x60,0x8b,0x00,0x7e,0x8c,0x3c,0x00,0x00, + 0x60,0x03,0xbf,0x1b,0x4b,0x67,0xb4,0xa1, + 0x07,0x8c,0x07,0xae,0xa9,0xac,0xa8,0x67, + 0x8c,0x07,0xb4,0xaf,0xac,0xb0,0x67,0x9d, + 0xb2,0xaf,0xac,0xaf,0xa3,0x67,0x8c,0x07, + 0xa5,0xab,0xaf,0xb0,0xf4,0xae,0xa9,0xb2, + 0xb0,0x7f,0x0e,0x27,0xb4,0xae,0xa9,0xb2, + 0xb0,0x7f,0x0e,0x28,0xb4,0xae,0xa9,0xb2, + 0xb0,0x64,0x07,0xa6,0xa9,0x67,0xaf,0xb4, + 0xaf,0xa7,0x78,0xb4,0xa5,0xac,0x78,0x7f, + 0x02,0xad,0xa5,0xb2,0x67,0xa2,0xb5,0xb3, + 0xaf,0xa7,0xee,0xb2,0xb5,0xb4,0xa5,0xb2, + 0x7e,0x8c,0x39,0xb4,0xb8,0xa5,0xae,0x67, + 0xb0,0xa5,0xb4,0xb3,0x27,0xaf,0xb4,0x07, + 0x9d,0x19,0xb2,0xaf,0xa6,0x7f,0x05,0x37, + 0xb4,0xb5,0xb0,0xae,0xa9,0x7f,0x05,0x28, + 0xb4,0xb5,0xb0,0xae,0xa9,0x7f,0x05,0x2a, + 0xb4,0xb5,0xb0,0xae,0xa9,0xe4,0xae,0xa5, + 0x00,0xff,0xff,0x47,0xa2,0xa1,0xb4,0x7f, + 0x0d,0x30,0xad,0xa9,0xa4,0x7f,0x0d,0x23, + 0xad,0xa9,0xa4,0x67,0xac,0xac,0xa1,0xa3, + 0x00,0x40,0x80,0xc0,0xc1,0x80,0x00,0x47, + 0x8c,0x68,0x8c,0xdb,0x67,0x9b,0x68,0x9b, + 0x50,0x8c,0x63,0x8c,0x7f,0x01,0x51,0x07, + 0x88,0x29,0x84,0x80,0xc4,0x80,0x57,0x71, + 0x07,0x88,0x14,0xed,0xa5,0xad,0xaf,0xac, + 0xed,0xa5,0xad,0xa9,0xa8,0xf2,0xaf,0xac, + 0xaf,0xa3,0x71,0x08,0x88,0xae,0xa5,0xac, + 0x68,0x83,0x08,0x68,0x9d,0x08,0x71,0x07, + 0x88,0x60,0x76,0xb4,0xaf,0xae,0x76,0x8d, + 0x76,0x8b,0x51,0x07,0x88,0x19,0xb8,0xa4, + 0xae,0xb2,0xf2,0xb3,0xb5,0xf3,0xa2,0xa1, + 0xee,0xa7,0xb3,0xe4,0xae,0xb2,0xeb,0xa5, + 0xa5,0xb0,0x51,0x07,0x88,0x39,0x81,0xc1, + 0x4f,0x7f,0x0f,0x2f,0x00,0x51,0x06,0x88, + 0x29,0xc2,0x0c,0x82,0x57,0x8c,0x6a,0x8c, + 0x42,0xae,0xa5,0xa8,0xb4,0x60,0xae,0xa5, + 0xa8,0xb4,0x4f,0x7e,0x1e,0x35,0x8c,0x27, + 0x51,0x07,0x88,0x09,0x8b,0xfe,0xe4,0xaf, + 0xad,0xf2,0xaf,0xe4,0xae,0xa1,0xdc,0xde, + 0x9c,0xdd,0x9c,0xde,0xdd,0x9e,0xc3,0xdd, + 0xcf,0xca,0xcd,0xcb,0x00,0x47,0x9d,0xad, + 0xa5,0xad,0xaf,0xac,0x76,0x9d,0xad,0xa5, + 0xad,0xa9,0xa8,0xe6,0xa6,0xaf,0x60,0x8c, + 0x20,0xaf,0xb4,0xb5,0xa1,0xf2,0xac,0xa3, + 0xf2,0xa3,0xb3,0x60,0x8c,0x20,0xac,0xa5, + 0xa4,0xee,0xb5,0xb2,0x60,0xae,0xb5,0xb2, + 0xf4,0xb3,0xa9,0xac,0x60,0x8c,0x20,0xb4, + 0xb3,0xa9,0xac,0x7a,0x7e,0x9a,0x22,0x20, + 0x00,0x60,0x03,0xbf,0x60,0x03,0xbf,0x1f, + 0x20,0xb1,0xe7,0xe8,0xe8,0xb5,0x4f,0x85, + 0xda,0xb5,0x77,0x85,0xdb,0xb4,0x4e,0x98, + 0xd5,0x76,0xb0,0x09,0xb1,0xda,0x20,0xc9, + 0xe3,0xc8,0x4c,0x0f,0xee,0xa9,0xff,0x85, + 0xd5,0x60,0xe8,0xa9,0x00,0x95,0x78,0x95, + 0xa0,0xb5,0x77,0x38,0xf5,0x4f,0x95,0x50, + 0x4c,0x23,0xe8,0xff,0x20,0x15,0xe7,0xa5, + 0xcf,0xd0,0x28,0xa5,0xce,0x60,0x20,0x34, + 0xee,0xa4,0xc8,0xc9,0x30,0xb0,0x21,0xc0, + 0x28,0xb0,0x1d,0x60,0xea,0xea,0x20,0x34, + 0xee,0x60,0xea,0x8a,0xa2,0x01,0xb4,0xce, + 0x94,0x4c,0xb4,0x48,0x94,0xca,0xca,0xf0, + 0xf5,0xaa,0x60,0xa0,0x77,0x4c,0xe0,0xe3, + 0xa0,0x7b,0xd0,0xf9,0x20,0x54,0xe2,0xa5, + 0xda,0xd0,0x07,0xa5,0xdb,0xd0,0x03,0x4c, + 0x7e,0xe7,0x06,0xce,0x26,0xcf,0x26,0xe6, + 0x26,0xe7,0xa5,0xe6,0xc5,0xda,0xa5,0xe7, + 0xe5,0xdb,0x90,0x0a,0x85,0xe7,0xa5,0xe6, + 0xe5,0xda,0x85,0xe6,0xe6,0xce,0x88,0xd0, + 0xe1,0x60,0xff,0xff,0xff,0xff,0xff,0xff, + 0x20,0x15,0xe7,0x6c,0xce,0x00,0xa5,0x4c, + 0xd0,0x02,0xc6,0x4d,0xc6,0x4c,0xa5,0x48, + 0xd0,0x02,0xc6,0x49,0xc6,0x48,0xa0,0x00, + 0xb1,0x4c,0x91,0x48,0xa5,0xca,0xc5,0x4c, + 0xa5,0xcb,0xe5,0x4d,0x90,0xe0,0x4c,0x53, + 0xee,0xc9,0x28,0xb0,0x9b,0xa8,0xa5,0xc8, + 0x60,0xea,0xea,0x98,0xaa,0xa0,0x6e,0x20, + 0xc4,0xe3,0x8a,0xa8,0x20,0xc4,0xe3,0xa0, + 0x72,0x4c,0xc4,0xe3,0x20,0x15,0xe7,0x06, + 0xce,0x26,0xcf,0x30,0xfa,0xb0,0xdc,0xd0, + 0x04,0xc5,0xce,0xb0,0xd6,0x60,0x20,0x15, + 0xe7,0xb1,0xce,0x94,0x9f,0x4c,0x08,0xe7, + 0x20,0x34,0xee,0xa5,0xce,0x48,0x20,0x15, + 0xe7,0x68,0x91,0xce,0x60,0xff,0xff,0xff, + 0x20,0x6c,0xee,0xa5,0xce,0x85,0xe6,0xa5, + 0xcf,0x85,0xe7,0x4c,0x44,0xe2,0x20,0xe4, + 0xee,0x4c,0x34,0xe1,0x20,0xe4,0xee,0xb4, + 0x78,0xb5,0x50,0x69,0xfe,0xb0,0x01,0x88, + 0x85,0xda,0x84,0xdb,0x18,0x65,0xce,0x95, + 0x50,0x98,0x65,0xcf,0x95,0x78,0xa0,0x00, + 0xb5,0x50,0xd1,0xda,0xc8,0xb5,0x78,0xf1, + 0xda,0xb0,0x80,0x4c,0x23,0xe8,0x20,0x15, + 0xe7,0xa5,0x4e,0x20,0x08,0xe7,0xa5,0x4f, + 0xd0,0x04,0xc5,0x4e,0x69,0x00,0x29,0x7f, + 0x85,0x4f,0x95,0xa0,0xa0,0x11,0xa5,0x4f, + 0x0a,0x18,0x69,0x40,0x0a,0x26,0x4e,0x26, + 0x4f,0x88,0xd0,0xf2,0xa5,0xce,0x20,0x08, + 0xe7,0xa5,0xcf,0x95,0xa0,0x4c,0x7a,0xe2, + 0x20,0x15,0xe7,0xa4,0xce,0xc4,0x4c,0xa5, + 0xcf,0xe5,0x4d,0x90,0x1f,0x84,0x48,0xa5, + 0xcf,0x85,0x49,0x4c,0xb6,0xee,0x20,0x15, + 0xe7,0xa4,0xce,0xc4,0xca,0xa5,0xcf,0xe5, + 0xcb,0xb0,0x09,0x84,0x4a,0xa5,0xcf,0x85, + 0x4b,0x4c,0xb7,0xe5,0x4c,0xcb,0xee,0xea, + 0xea,0xea,0xea,0x20,0xc9,0xef,0x20,0x71, + 0xe1,0x4c,0xbf,0xef,0x20,0x03,0xee,0xa9, + 0xff,0x85,0xc8,0xa9,0x74,0x8d,0x00,0x02, + 0x60,0x20,0x36,0xe7,0xe8,0x20,0x36,0xe7, + 0xb5,0x50,0x60,0xa9,0x00,0x85,0x4a,0x85, + 0x4c,0xa9,0x08,0x85,0x4b,0xa9,0x10,0x85, + 0x4d,0x4c,0xad,0xe5,0xd5,0x78,0xd0,0x01, + 0x18,0x4c,0x02,0xe1,0x20,0xb7,0xe5,0x4c, + 0x36,0xe8,0x20,0xb7,0xe5,0x4c,0x5b,0xe8, + 0xe0,0x80,0xd0,0x01,0x88,0x4c,0x0c,0xe0 + ]] +}; diff --git a/tapes/blackjack.js b/tapes/blackjack.js new file mode 100644 index 0000000..3607458 --- /dev/null +++ b/tapes/blackjack.js @@ -0,0 +1,294 @@ +/* +C100R +004A.00FFR 0800.0FFFR +E2B3R +RUN +*/ + +/*globals tapes: true */ + +tapes['Blackjack'] = { + script: 'C100R\n004A.00FFR 0800.0FFFR\nE2B3R\nRUN\n', + tracks: [[ // 004A.00FF + 0x00, 0x08, 0x00, 0x10, 0xCA, 0x0E, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, + 0x9A, 0xF6, 0x06, 0xF6, 0xFF, 0x00, 0x01, 0x00, + 0xED, 0xED, 0xED, 0xED, 0xED, 0xEC, 0xED, 0xED, + 0x32, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, + 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, + 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, + 0x82, 0x59, 0x5E, 0x9C, 0x13, 0x7C, 0xF3, 0xFF, + 0x00, 0x3F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, + 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0xDF, + 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, + 0x02, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, + 0x07, 0x04, 0x04, 0x07, 0x03, 0xFF, 0xFF, 0xFF, + 0x08, 0x0A, 0x06, 0x0A, 0x0D, 0x09, 0x00, 0xFF, + 0xEF, 0x08, 0x0D, 0x09, 0x00, 0x00, 0x01, 0x00, + 0x21, 0x00, 0x0F, 0x0B, 0x85, 0x0F, 0x9F, 0xDF, + 0x0E, 0x02, 0x06, 0x0A, 0x01, 0x0A, 0x06, 0x0A, + 0x68, 0x0D, 0x0A, 0x0A, 0x0D, 0x09, 0x08, 0x08, + 0x08, 0x0E, 0x00, 0x01, 0x9F, 0x9F, 0x9F, 0x9F, + 0x4F, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0xED + ],[ + 0x82, 0x40, 0x12, 0x08, 0xC1, 0xB2, 0xB3, 0xB4, + 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xD4, 0xCA, 0xD1, + 0xCB, 0x1E, 0x84, 0x40, 0x1B, 0x08, 0xC3, 0xC4, + 0xC8, 0xD3, 0x1E, 0x86, 0x40, 0x34, 0x08, 0xB2, + 0xB3, 0x1E, 0xD6, 0xC5, 0xCE, 0x1E, 0xB7, 0xB8, + 0x08, 0xB0, 0x00, 0x00, 0x62, 0x08, 0xFF, 0xFF, + 0xFF, 0xFF, 0xCB, 0x26, 0x88, 0x40, 0x4D, 0x08, + 0x00, 0x00, 0x1E, 0x1E, 0x26, 0x26, 0xC8, 0x26, + 0xCB, 0xC6, 0xCA, 0xCC, 0xCB, 0xC4, 0xD3, 0xC1, + 0xCA, 0xC6, 0xCB, 0xCC, 0xB5, 0x9C, 0x00, 0x53, + 0x08, 0x01, 0x00, 0xA6, 0x00, 0x59, 0x08, 0x00, + 0x00, 0x82, 0x00, 0xC5, 0x08, 0x1C, 0x00, 0x10, + 0x00, 0x27, 0x00, 0x23, 0x00, 0x02, 0x00, 0x12, + 0x00, 0x0B, 0x00, 0x17, 0x00, 0x07, 0x00, 0x25, + 0x00, 0x11, 0x00, 0x0A, 0x00, 0x2D, 0x00, 0x01, + 0x00, 0x2C, 0x00, 0x20, 0x00, 0x32, 0x00, 0x03, + 0x00, 0x16, 0x00, 0x0D, 0x00, 0x08, 0x00, 0x1D, + 0x00, 0x0F, 0x00, 0x05, 0x00, 0x13, 0x00, 0x2E, + 0x00, 0x18, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, + 0x00, 0x22, 0x00, 0x0E, 0x00, 0x1B, 0x00, 0x09, + 0x00, 0x14, 0x00, 0x33, 0x00, 0x29, 0x00, 0x15, + 0x00, 0x28, 0x00, 0x1F, 0x00, 0x19, 0x00, 0x31, + 0x00, 0x24, 0x00, 0x2A, 0x00, 0x2F, 0x00, 0x21, + 0x00, 0x26, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x1A, + 0x00, 0x00, 0x00, 0x1E, 0x00, 0x92, 0x00, 0xCB, + 0x08, 0x79, 0x00, 0xA0, 0x00, 0xD1, 0x08, 0x00, + 0x00, 0x88, 0x00, 0xD7, 0x08, 0x08, 0x00, 0x82, + 0xB1, 0xDD, 0x08, 0x00, 0x00, 0x82, 0xB2, 0xE3, + 0x08, 0x00, 0x00, 0x84, 0x00, 0xE9, 0x08, 0x09, + 0x00, 0x94, 0x00, 0xEF, 0x08, 0x08, 0x00, 0x96, + 0x00, 0xF5, 0x08, 0x01, 0x00, 0x98, 0x00, 0xFB, + 0x08, 0x10, 0x00, 0x86, 0x00, 0x01, 0x09, 0x08, + 0x00, 0x8A, 0x00, 0x07, 0x09, 0x08, 0x00, 0x8C, + 0x00, 0x0D, 0x09, 0x01, 0x00, 0x09, 0x08, 0x00, + 0x8A, 0x00, 0x16, 0x09, 0x0A, 0x00, 0x8C, 0x00, + 0x1C, 0x09, 0x04, 0x00, 0xFF, 0xFF, 0x7F, 0xFF, + 0x7F, 0x7F, 0xFF, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x65, 0x0A, + 0x00, 0x4E, 0xC1, 0x40, 0x22, 0xB1, 0x0D, 0x65, + 0x0A, 0x00, 0x4E, 0xC1, 0x40, 0x22, 0xB1, 0x0D, + 0x00, 0x72, 0x43, 0xC2, 0x40, 0x22, 0xB4, 0x04, + 0x00, 0x72, 0x43, 0xC3, 0x40, 0x22, 0xB2, 0x14, + 0x00, 0x72, 0x43, 0xC4, 0x40, 0x22, 0xB2, 0x14, + 0x00, 0x72, 0x43, 0xCE, 0x40, 0x22, 0xB1, 0x0A, + 0x00, 0x72, 0x03, 0xC1, 0x40, 0x70, 0x28, 0xC1, + 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, + 0xD4, 0xCA, 0xD1, 0xCB, 0x29, 0x03, 0xC2, 0x40, + 0x70, 0x28, 0xC3, 0xC4, 0xC8, 0xD3, 0x29, 0x03, + 0xCE, 0x40, 0x70, 0x28, 0xB0, 0xB1, 0xB2, 0xB3, + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0x29, 0x03, + 0x65, 0x0A, 0x00, 0x4E, 0xC1, 0x40, 0x22, 0xB1, + 0x0D, 0x00, 0x72, 0x43, 0xC2, 0x40, 0x22, 0xB4, + 0x04, 0x00, 0x72, 0x43, 0xC3, 0x40, 0x22, 0xB2, + 0x14, 0x00, 0x72, 0x43, 0xC4, 0x40, 0x22, 0xB2, + 0x14, 0x00, 0x72, 0x43, 0xCE, 0x40, 0x22, 0xB1, + 0x0A, 0x00, 0x72, 0x03, 0xC1, 0x40, 0x70, 0x28, + 0xC1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0x65, 0x0A, + 0x00, 0x4E, 0xC1, 0x40, 0x22, 0xB1, 0x0D, 0x00, + 0x72, 0x43, 0xC2, 0x40, 0x22, 0xB4, 0x04, 0x00, + 0x72, 0x05, 0x05, 0x00, 0x5D, 0x01, 0x4D, 0x0A, + 0x00, 0x4E, 0xC1, 0x40, 0x22, 0xB1, 0x0D, 0x00, + 0x72, 0x43, 0xC2, 0x40, 0x22, 0xB4, 0x04, 0x00, + 0x72, 0x43, 0xC3, 0x40, 0x22, 0xB2, 0x14, 0x00, + 0x72, 0x43, 0xC4, 0x40, 0x22, 0xB2, 0x14, 0x00, + 0x72, 0x03, 0xC1, 0x40, 0x70, 0x28, 0xC1, 0xB2, + 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xD4, + 0xCA, 0xD1, 0xCB, 0x29, 0x03, 0xC2, 0x40, 0x70, + 0x28, 0xC3, 0xC4, 0xC8, 0xD3, 0x29, 0x03, 0xCE, + 0x71, 0xB5, 0x34, 0x00, 0x03, 0xD3, 0x71, 0xB0, + 0x00, 0x00, 0x01, 0x24, 0x0F, 0x00, 0x4F, 0xC1, + 0x34, 0xB5, 0x34, 0x00, 0x72, 0x03, 0x55, 0xC9, + 0x56, 0xB1, 0x01, 0x00, 0x57, 0xB5, 0x34, 0x00, + 0x03, 0xC1, 0x2D, 0xC9, 0x72, 0x71, 0xC9, 0x13, + 0xB1, 0x01, 0x00, 0x03, 0x59, 0xC9, 0x01, 0x3D, + 0x14, 0x00, 0x53, 0x28, 0xD7, 0xC5, 0xCC, 0xC3, + 0xCF, 0xCD, 0xC5, 0xA0, 0xD4, 0xCF, 0xA0, 0xB2, + 0xB1, 0xAE, 0xA0, 0xA0, 0xD9, 0xCF, 0xD5, 0xD2, + 0xA0, 0xCE, 0xC1, 0xCD, 0xC5, 0x29, 0x26, 0xC3, + 0x40, 0x03, 0x61, 0x28, 0xCF, 0xCB, 0xAC, 0xA0, + 0xC8, 0xC5, 0xD2, 0xC5, 0xA0, 0xD7, 0xC5, 0xA0, + 0xC7, 0xCF, 0xA0, 0x29, 0x45, 0xC3, 0x40, 0x45, + 0x28, 0xAE, 0x29, 0x01, 0x3B, 0x1E, 0x00, 0xD0, + 0x71, 0xB0, 0x00, 0x00, 0x03, 0xC4, 0x71, 0xD0, + 0x03, 0xC1, 0xB1, 0x71, 0xD0, 0x03, 0xC1, 0xB2, + 0x71, 0xD0, 0x03, 0x5C, 0xB3, 0xB8, 0x0B, 0x03, + 0x60, 0xC2, 0x24, 0xB3, 0x23, 0x00, 0x03, 0x61, + 0x28, 0xC5, 0xCE, 0xC4, 0xAD, 0xAD, 0xD3, 0xD4, + 0xCF, 0xD0, 0xD0, 0xC5, 0xC4, 0xA0, 0xC1, 0xD4, + 0xA0, 0xB3, 0xB0, 0x29, 0x03, 0x51, 0x01, 0x43, + 0x23, 0x00, 0x61, 0x28, 0xC9, 0xA0, 0xD3, 0xC8, + 0xCF, 0xD7, 0xA0, 0xA0, 0x29, 0x47, 0x03, 0x5C, + 0xB2, 0xE4, 0x07, 0x03, 0xC5, 0x71, 0xCA, 0x03, + 0xC6, 0x71, 0xCB, 0x03, 0x63, 0x03, 0x61, 0x28, + 0xD9, 0xCF, 0xD5, 0xA0, 0xC8, 0xC1, 0xD6, 0xC5, + 0xA0, 0xA0, 0x29, 0x47, 0x03, 0x5C, 0xB2, 0xF8, + 0x07, 0x03, 0x5C, 0xB2, 0xF8, 0x07, 0x03, 0x60, + 0xD0, 0x1C, 0xB2, 0x15, 0x00, 0x24, 0xB4, 0x2D, + 0x00, 0x01, 0x21, 0x25, 0x00, 0x61, 0x28, 0xC2, + 0xCC, 0xC1, 0xC3, 0xCB, 0xCA, 0xC1, 0xC3, 0xCB, + 0xA1, 0xA1, 0x29, 0x03, 0xC2, 0x71, 0xC2, 0x12, + 0xC2, 0x15, 0xB2, 0x02, 0x00, 0x03, 0x5F, 0xB3, + 0x2C, 0x01, 0x01, 0x25, 0x28, 0x00, 0x61, 0x28, + 0xD0, 0xCC, 0xC5, 0xC1, 0xD3, 0xC5, 0xA0, 0xC1, + 0xCE, 0xD3, 0xD7, 0xC5, 0xD2, 0xA0, 0xA7, 0xD9, + 0xC5, 0xD3, 0xA7, 0xA0, 0xCF, 0xD2, 0xA0, 0xA7, + 0xCE, 0xCF, 0xA7, 0xAE, 0xA0, 0x29, 0x47, 0x01, + 0x5E, 0x2D, 0x00, 0x60, 0xD0, 0x17, 0xB1, 0x0B, + 0x00, 0x24, 0xB5, 0x32, 0x00, 0x03, 0x53, 0x28, + 0xC4, 0xCF, 0xA0, 0xD9, 0xCF, 0xD5, 0xA0, 0xD7, + 0xC9, 0xD3, 0xC8, 0xA0, 0xD4, 0xCF, 0xA0, 0xC4, + 0xCF, 0xD5, 0xC2, 0xCC, 0xC5, 0xA0, 0xC4, 0xCF, + 0xD7, 0xCE, 0x29, 0x26, 0xC4, 0x40, 0x03, 0x60, + 0xC4, 0x40, 0x39, 0x28, 0xCE, 0x29, 0x1E, 0xC4, + 0x40, 0x39, 0x28, 0xCE, 0xCF, 0x29, 0x24, 0xB5, + 0x32, 0x00, 0x03, 0x60, 0xC4, 0x40, 0x3A, 0x28, + 0xD9, 0x29, 0x1D, 0xC4, 0x40, 0x3A, 0x28, 0xD9, + 0xC5, 0xD3, 0x29, 0x24, 0xB4, 0x2C, 0x00, 0x03, + 0xC2, 0x71, 0xC2, 0x12, 0xC2, 0x01, 0x0D, 0x2E, + 0x00, 0x5C, 0xB2, 0xF8, 0x07, 0x03, 0x5F, 0xB6, + 0x3C, 0x00, 0x01, 0x5C, 0x32, 0x00, 0x53, 0x28, + 0xC8, 0xC9, 0xD4, 0x29, 0x26, 0xC4, 0x40, 0x03, + 0x60, 0xC4, 0x40, 0x39, 0x28, 0xCE, 0x29, 0x1E, + 0xC4, 0x40, 0x39, 0x28, 0xCE, 0xCF, 0x29, 0x24, + 0xB6, 0x3C, 0x00, 0x03, 0x60, 0xC4, 0x40, 0x3A, + 0x28, 0xD9, 0x29, 0x1D, 0xC4, 0x40, 0x3A, 0x28, + 0xD9, 0xC5, 0xD3, 0x29, 0x24, 0xB4, 0x28, 0x00, + 0x03, 0x50, 0xB1, 0x0B, 0x00, 0x03, 0x5C, 0xB2, + 0xF8, 0x07, 0x03, 0x60, 0xD0, 0x1C, 0xB2, 0x16, + 0x00, 0x24, 0xB5, 0x32, 0x00, 0x03, 0x61, 0x28, + 0xC2, 0xD5, 0xD3, 0xD4, 0xC5, 0xC4, 0xA0, 0x29, + 0x47, 0x03, 0x5F, 0xB2, 0xC8, 0x00, 0x01, 0x29, + 0x3C, 0x00, 0x63, 0x03, 0x61, 0x28, 0xCD, 0xD9, + 0xA0, 0xC3, 0xC1, 0xD2, 0xC4, 0xD3, 0xBA, 0xA0, + 0x29, 0x45, 0xC1, 0x40, 0x2A, 0xC5, 0x23, 0xC5, + 0x72, 0x45, 0xC2, 0x40, 0x2A, 0xC6, 0x23, 0xC6, + 0x72, 0x45, 0x28, 0xA0, 0xA0, 0x29, 0x47, 0x01, + 0x33, 0x46, 0x00, 0x55, 0xC9, 0x56, 0xB1, 0x01, + 0x00, 0x57, 0xB6, 0x58, 0x02, 0x03, 0x59, 0xC9, + 0x03, 0x60, 0xC4, 0x19, 0xB1, 0x11, 0x00, 0x1E, + 0xC4, 0x16, 0xB1, 0x11, 0x00, 0x1D, 0xC1, 0xB2, + 0x16, 0xB0, 0x00, 0x00, 0x24, 0xB8, 0x50, 0x00, + 0x03, 0x5C, 0xB2, 0xE4, 0x07, 0x03, 0x5F, 0xB7, + 0x46, 0x00, 0x01, 0x2D, 0x50, 0x00, 0x60, 0xC4, + 0x19, 0xB2, 0x15, 0x00, 0x24, 0xB8, 0x55, 0x00, + 0x03, 0x60, 0xC4, 0x19, 0xD0, 0x24, 0xB2, 0xC8, + 0x00, 0x03, 0x60, 0xC4, 0x1C, 0xD0, 0x24, 0xB9, + 0x5A, 0x00, 0x03, 0x61, 0x28, 0xC4, 0xD2, 0xC1, + 0xD7, 0x29, 0x03, 0x5F, 0xB4, 0x90, 0x01, 0x01, + 0x10, 0x55, 0x00, 0x61, 0x28, 0xC9, 0xA0, 0xC2, + 0xD5, 0xD3, 0xD4, 0xAC, 0xA0, 0x29, 0x47, 0x01, + 0x13, 0x5A, 0x00, 0x61, 0x28, 0xD9, 0xCF, 0xD5, + 0xA0, 0xD7, 0xC9, 0xCE, 0x29, 0x03, 0x5F, 0xB3, + 0x2C, 0x01, 0x01, 0x21, 0xC8, 0x00, 0xD3, 0x71, + 0xD3, 0x13, 0xC2, 0x03, 0x61, 0x28, 0xA0, 0xA0, + 0xA0, 0xC9, 0xA0, 0xD7, 0xC9, 0xCE, 0x29, 0x03, + 0x5F, 0xB2, 0xD2, 0x00, 0x12, 0x2F, 0x3F, 0xB5, + 0x05, 0x00, 0x72, 0x01, 0x2C, 0xD2, 0x00, 0x61, + 0x28, 0xD9, 0xCF, 0xD5, 0xA7, 0xC4, 0xA0, 0xC2, + 0xC5, 0xD4, 0xD4, 0xC5, 0xD2, 0xA0, 0xD4, 0xD2, + 0xD9, 0xA0, 0xC8, 0xC1, 0xD2, 0xC4, 0xC5, 0xD2, + 0xAC, 0xA0, 0x29, 0x45, 0xC3, 0x40, 0x45, 0x28, + 0xAE, 0x29, 0x03, 0x5F, 0xB4, 0x90, 0x01, 0x01, + 0x34, 0xD3, 0x00, 0x61, 0x28, 0xC9, 0xC6, 0xA0, + 0xD9, 0xCF, 0xD5, 0xA0, 0xC4, 0xCF, 0xCE, 0xA7, + 0xD4, 0xA0, 0xC9, 0xCD, 0xD0, 0xD2, 0xCF, 0xD6, + 0xC5, 0xAC, 0xA0, 0x29, 0x45, 0xC3, 0x40, 0x45, + 0x28, 0xAC, 0xA0, 0xC9, 0xA7, 0xCC, 0xCC, 0xA0, + 0xD1, 0xD5, 0xC9, 0xD4, 0xAE, 0x29, 0x03, 0x5F, + 0xB4, 0x90, 0x01, 0x01, 0x33, 0xD4, 0x00, 0x61, + 0x28, 0xD9, 0xCF, 0xD5, 0xA0, 0xC3, 0xCF, 0xD5, + 0xCC, 0xC4, 0xCE, 0xA7, 0xD4, 0xA0, 0xC2, 0xC5, + 0xC1, 0xD4, 0xA0, 0xC1, 0xA0, 0xB5, 0xAD, 0xD9, + 0xC5, 0xC1, 0xD2, 0xAD, 0xCF, 0xCC, 0xC4, 0xAC, + 0xA0, 0x29, 0x45, 0xC3, 0x40, 0x45, 0x28, 0xAE, + 0x29, 0x03, 0x5F, 0xB4, 0x90, 0x01, 0x01, 0x24, + 0xD5, 0x00, 0x61, 0x28, 0xC7, 0xC5, 0xD4, 0xD4, + 0xC9, 0xCE, 0xC7, 0xA0, 0xD4, 0xCF, 0xCF, 0xA0, + 0xCF, 0xCC, 0xC4, 0xAC, 0xA0, 0x29, 0x45, 0xC3, + 0x40, 0x45, 0x28, 0xBF, 0x29, 0x03, 0x5F, 0xB4, + 0x90, 0x01, 0x01, 0x29, 0xD6, 0x00, 0x61, 0x28, + 0xD3, 0xD4, 0xC9, 0xC3, 0xCB, 0xA0, 0xD4, 0xCF, + 0xA0, 0xD4, 0xC9, 0xC3, 0xAD, 0xD4, 0xC1, 0xC3, + 0xAD, 0xD4, 0xCF, 0xC5, 0xAC, 0xA0, 0x29, 0x45, + 0xC3, 0x40, 0x45, 0x28, 0xAE, 0x29, 0x03, 0x5F, + 0xB4, 0x90, 0x01, 0x01, 0x15, 0x2C, 0x01, 0xD3, + 0x71, 0xD3, 0x12, 0xC2, 0x03, 0x5F, 0xB3, 0x36, + 0x01, 0x12, 0x2F, 0x3F, 0xB3, 0x03, 0x00, 0x72, + 0x01, 0x23, 0x36, 0x01, 0x61, 0x28, 0xC9, 0xA7, + 0xCC, 0xCC, 0xA0, 0xC8, 0xC1, 0xD6, 0xC5, 0xA0, + 0xD4, 0xCF, 0xA0, 0xD4, 0xD2, 0xD9, 0xA0, 0xC8, + 0xC1, 0xD2, 0xC4, 0xC5, 0xD2, 0x29, 0x03, 0x5F, + 0xB4, 0x90, 0x01, 0x01, 0x31, 0x37, 0x01, 0x61, + 0x28, 0xC9, 0xA0, 0xC3, 0xC1, 0xCE, 0xA7, 0xD4, + 0xA0, 0xC2, 0xC5, 0xCC, 0xC9, 0xC5, 0xD6, 0xC5, + 0xA0, 0xD9, 0xCF, 0xD5, 0xD2, 0xA0, 0xD2, 0xD5, + 0xCE, 0xA0, 0xCF, 0xC6, 0xA0, 0xCC, 0xD5, 0xC3, + 0xCB, 0xAC, 0xA0, 0x29, 0x45, 0xC3, 0x40, 0x03, + 0x5F, 0xB4, 0x90, 0x01, 0x01, 0x1A, 0x38, 0x01, + 0x61, 0x28, 0xCE, 0xCF, 0xD7, 0xA0, 0xC9, 0xA7, + 0xCD, 0xA0, 0xC7, 0xC5, 0xD4, 0xD4, 0xC9, 0xCE, + 0xC7, 0xA0, 0xCD, 0xC1, 0xC4, 0x29, 0x01, 0x1F, + 0x90, 0x01, 0x50, 0xB2, 0x14, 0x00, 0x03, 0x61, + 0x28, 0xD7, 0xC9, 0xCE, 0xCE, 0xC9, 0xCE, 0xC7, + 0xD3, 0xBA, 0xA0, 0x29, 0x46, 0xD3, 0x03, 0x63, + 0x03, 0x5F, 0xB3, 0x1E, 0x00, 0x01, 0x4B, 0xE8, + 0x03, 0xCE, 0x71, 0xB0, 0x00, 0x00, 0x03, 0x55, + 0xC9, 0x56, 0xB1, 0x01, 0x00, 0x57, 0xB1, 0x78, + 0x00, 0x03, 0xCA, 0x71, 0x2F, 0x3F, 0xB5, 0x34, + 0x00, 0x72, 0x12, 0xB1, 0x01, 0x00, 0x03, 0xCB, + 0x71, 0x2F, 0x3F, 0xB5, 0x34, 0x00, 0x72, 0x12, + 0xB1, 0x01, 0x00, 0x03, 0xCC, 0x71, 0xC1, 0x2D, + 0xCA, 0x72, 0x03, 0xC1, 0x2D, 0xCA, 0x72, 0x71, + 0xC1, 0x2D, 0xCB, 0x72, 0x03, 0xC1, 0x2D, 0xCB, + 0x72, 0x71, 0xCC, 0x03, 0x59, 0xC9, 0x03, 0x5B, + 0x01, 0x60, 0xD0, 0x07, 0x60, 0xCE, 0x19, 0xB5, + 0x32, 0x00, 0x25, 0x5C, 0xB1, 0xE8, 0x03, 0x03, + 0xCE, 0x71, 0xCE, 0x12, 0xB1, 0x01, 0x00, 0x03, + 0xCA, 0x71, 0xC1, 0x2D, 0xCE, 0x72, 0x15, 0xB4, + 0x04, 0x00, 0x12, 0xB1, 0x01, 0x00, 0x03, 0xCB, + 0x71, 0xC1, 0x2D, 0xCE, 0x72, 0x1F, 0xB4, 0x04, + 0x00, 0x12, 0xB1, 0x01, 0x00, 0x03, 0xC3, 0x71, + 0xCA, 0x13, 0xCA, 0x15, 0xB1, 0x0A, 0x00, 0x14, + 0x38, 0xCA, 0x13, 0xB1, 0x0A, 0x00, 0x72, 0x03, + 0x61, 0xC1, 0x40, 0x2A, 0xCA, 0x23, 0xCA, 0x72, + 0x45, 0xC2, 0x40, 0x2A, 0xCB, 0x23, 0xCB, 0x72, + 0x45, 0x28, 0xA0, 0xA0, 0x29, 0x47, 0x03, 0x5B, + 0x01, 0x4C, 0xE4, 0x07, 0x5C, 0xB2, 0xD0, 0x07, + 0x03, 0xC4, 0x71, 0xC4, 0x12, 0xC3, 0x12, 0x38, + 0xC3, 0x16, 0xB1, 0x01, 0x00, 0x72, 0x14, 0xB1, + 0x0A, 0x00, 0x03, 0xC1, 0xB2, 0x71, 0xC1, 0xB2, + 0x12, 0x38, 0xC3, 0x16, 0xB1, 0x01, 0x00, 0x72, + 0x03, 0x60, 0xC4, 0x1C, 0xB2, 0x16, 0x00, 0x1E, + 0xC1, 0xB2, 0x16, 0xB0, 0x00, 0x00, 0x25, 0x5B, + 0x03, 0xC1, 0xB2, 0x71, 0xC1, 0xB2, 0x13, 0xB1, + 0x01, 0x00, 0x03, 0xC4, 0x71, 0xC4, 0x13, 0xB1, + 0x0A, 0x00, 0x03, 0x5B, 0x01, 0x4C, 0xF8, 0x07, + 0x5C, 0xB2, 0xD0, 0x07, 0x03, 0xD0, 0x71, 0xD0, + 0x12, 0xC3, 0x12, 0x38, 0xC3, 0x16, 0xB1, 0x01, + 0x00, 0x72, 0x14, 0xB1, 0x0A, 0x00, 0x03, 0xC1, + 0xB1, 0x71, 0xC1, 0xB1, 0x12, 0x38, 0xC3, 0x16, + 0xB1, 0x01, 0x00, 0x72, 0x03, 0x60, 0xD0, 0x1C, + 0xB2, 0x16, 0x00, 0x1E, 0xC1, 0xB1, 0x16, 0xB0, + 0x00, 0x00, 0x25, 0x5B, 0x03, 0xC1, 0xB1, 0x71, + 0xC1, 0xB1, 0x13, 0xB1, 0x01, 0x00, 0x03, 0xD0, + 0x71, 0xD0, 0x13, 0xB1, 0x0A, 0x00, 0x03, 0x5B, + 0x01, 0x2F, 0xB8, 0x0B, 0x53, 0x28, 0xC2, 0xC5, + 0xD4, 0x29, 0x27, 0xC2, 0x03, 0x60, 0xC2, 0x1A, + 0xB3, 0xB8, 0x0B, 0x25, 0x5B, 0x03, 0x61, 0x28, + 0xCC, 0xC9, 0xCD, 0xC9, 0xD4, 0xA0, 0xC9, 0xD3, + 0xA0, 0xA4, 0xB3, 0xB0, 0xB0, 0xB0, 0xAE, 0xA0, + 0x29, 0x47, 0x03, 0x5F, 0xB3, 0xB8, 0x0B, 0x01 + ]] +}; diff --git a/tapes/checkers.js b/tapes/checkers.js new file mode 100644 index 0000000..aefbec8 --- /dev/null +++ b/tapes/checkers.js @@ -0,0 +1,454 @@ +/* +C100R +004A.00FFR 0300.0FFFR +E2B3R +RUN +*/ + +/*globals tapes: true */ + +tapes['Checkers'] = { + script: 'C100R\n004A.00FFR 0300.0FFFR\nE2B3R\nRUN\n', + tracks: [[ // 004A.00FF + 0x00, 0x03, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0xED, 0x08, 0x02, 0xF8, 0x02, 0x01, 0xF6, + 0xED, 0xED, 0xED, 0xED, 0xED, 0xEC, 0xEC, 0xEC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x11, 0x03, + 0x59, 0x9C, 0x7D, 0x7D, 0x82, 0x53, 0x5B, 0x61, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x24, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x07, + 0x1D, 0x1E, 0x09, 0xFF, 0x02, 0x01, 0x01, 0xFF, + 0xFF, 0x04, 0x36, 0x04, 0xFE, 0x03, 0x1F, 0xFA, + 0xF2, 0x03, 0xFE, 0x03, 0x00, 0xFF, 0x27, 0x02, + 0x00, 0xFE, 0x1F, 0x0E, 0x0D, 0x0E, 0x00, 0x00, + 0x33, 0x0E, 0x00, 0x10, 0x6A, 0xAA, 0x40, 0x00, + 0x3B, 0x3A, 0x3D, 0x23, 0x03, 0x08, 0x07, 0x07, + 0x03, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xB8, 0x00, 0x00, 0x00, 0x20, 0x00, 0xEC + ],[ + 0xA4, 0x00, 0x0E, 0x03, 0x9D, 0xFF, 0x01, 0x00, + 0x07, 0x00, 0x02, 0x00, 0x06, 0x00, 0xA6, 0x00, + 0x92, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x8E, 0x00, 0x98, 0x03, 0xFF, 0xFF, + 0xB0, 0x00, 0x9E, 0x03, 0x09, 0x00, 0xB2, 0x00, + 0xA4, 0x03, 0x00, 0x00, 0x82, 0x00, 0xAA, 0x03, + 0x03, 0x00, 0x84, 0x00, 0xB0, 0x03, 0xFF, 0xFF, + 0xAA, 0x00, 0xB6, 0x03, 0x09, 0x00, 0xAC, 0x00, + 0xBC, 0x03, 0x07, 0x00, 0xA2, 0x00, 0xC2, 0x03, + 0x00, 0x00, 0x86, 0x00, 0xC8, 0x03, 0x03, 0x00, + 0xAA, 0xB1, 0xCE, 0x03, 0x00, 0x00, 0xAC, 0xB1, + 0xD4, 0x03, 0x00, 0x00, 0xB0, 0xB1, 0xDA, 0x03, + 0x06, 0x00, 0xB2, 0xB1, 0xE0, 0x03, 0x06, 0x00, + 0x94, 0x00, 0xE6, 0x03, 0x09, 0x00, 0x98, 0x00, + 0xEC, 0x03, 0x09, 0x00, 0x9A, 0x00, 0xF2, 0x03, + 0x09, 0x00, 0x8A, 0x00, 0xF8, 0x03, 0x01, 0x00, + 0x90, 0x00, 0xFE, 0x03, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x01, + 0x00, 0x5D, 0xA0, 0xC3, 0xCF, 0xCE, 0xD6, 0xC5, + 0xD2, 0xD3, 0xC9, 0xCF, 0xCE, 0xA0, 0xC2, 0xD9, + 0xA0, 0xD6, 0xC9, 0xCE, 0xC3, 0xC5, 0xA0, 0xC2, + 0xD2, 0xC9, 0xC5, 0xCC, 0xA0, 0xB1, 0xAF, 0xB2, + 0xB8, 0xAF, 0xB2, 0xB0, 0xB0, 0xB7, 0xA0, 0xD5, + 0xD0, 0xC4, 0xC1, 0xD4, 0xC5, 0xC4, 0xA0, 0xC3, + 0xCF, 0xD2, 0xC5, 0xD9, 0xA0, 0xC3, 0xCF, 0xC8, + 0xC5, 0xCE, 0xA0, 0xB1, 0xB2, 0xAF, 0xB2, 0xB0, + 0xB1, 0xB1, 0x01, 0x1E, 0x02, 0x00, 0x50, 0x38, + 0xB1, 0x10, 0x00, 0x72, 0x03, 0x61, 0x28, 0xC1, + 0xD0, 0xD0, 0xCC, 0xC5, 0xAD, 0xC9, 0xA0, 0xC3, + 0xC8, 0xC5, 0xC3, 0xCB, 0xC5, 0xD2, 0xD3, 0x29, + 0x01, 0x24, 0x03, 0x00, 0x61, 0x28, 0xC3, 0xCF, + 0xCD, 0xD0, 0xD5, 0xD4, 0xC5, 0xD2, 0xA0, 0xC9, + 0xD3, 0xA0, 0xD8, 0xAC, 0xA0, 0xC1, 0xCE, 0xC4, + 0xA0, 0xD9, 0xCF, 0xD5, 0xA0, 0xC1, 0xD2, 0xC5, + 0xA0, 0xCF, 0xAE, 0x29, 0x01, 0x22, 0x04, 0x00, + 0x61, 0x28, 0xCD, 0xCF, 0xD6, 0xC5, 0xD3, 0xA0, + 0xC1, 0xD2, 0xC5, 0xA0, 0xC5, 0xCE, 0xD4, 0xC5, + 0xD2, 0xC5, 0xC4, 0xA0, 0xD5, 0xD3, 0xC9, 0xCE, + 0xC7, 0xA0, 0xC8, 0xAC, 0xD6, 0x29, 0x01, 0x3C, + 0x06, 0x00, 0x4F, 0xD2, 0x34, 0xB5, 0x05, 0x00, + 0x72, 0x44, 0xD3, 0x34, 0xB6, 0x40, 0x00, 0x72, + 0x03, 0xC7, 0x71, 0x36, 0xB1, 0x01, 0x00, 0x03, + 0xD2, 0x2D, 0xB1, 0x01, 0x00, 0x72, 0x71, 0x36, + 0xB9, 0x63, 0x00, 0x03, 0x55, 0xD8, 0x56, 0xB1, + 0x01, 0x00, 0x57, 0xB6, 0x40, 0x00, 0x03, 0xD3, + 0x2D, 0xD8, 0x72, 0x71, 0xB0, 0x00, 0x00, 0x03, + 0x59, 0xD8, 0x01, 0x87, 0x07, 0x00, 0xD3, 0x2D, + 0xB1, 0x01, 0x00, 0x72, 0x71, 0xB1, 0x01, 0x00, + 0x03, 0xD3, 0x2D, 0xB3, 0x03, 0x00, 0x72, 0x71, + 0xB1, 0x01, 0x00, 0x03, 0xD3, 0x2D, 0xB5, 0x05, + 0x00, 0x72, 0x71, 0xB1, 0x01, 0x00, 0x03, 0xD3, + 0x2D, 0xB7, 0x07, 0x00, 0x72, 0x71, 0xB1, 0x01, + 0x00, 0x03, 0xD3, 0x2D, 0xB1, 0x0A, 0x00, 0x72, + 0x71, 0xB1, 0x01, 0x00, 0x03, 0xD3, 0x2D, 0xB1, + 0x0C, 0x00, 0x72, 0x71, 0xB1, 0x01, 0x00, 0x03, + 0xD3, 0x2D, 0xB1, 0x0E, 0x00, 0x72, 0x71, 0xB1, + 0x01, 0x00, 0x03, 0xD3, 0x2D, 0xB1, 0x10, 0x00, + 0x72, 0x71, 0xB1, 0x01, 0x00, 0x03, 0xD3, 0x2D, + 0xB1, 0x11, 0x00, 0x72, 0x71, 0xB1, 0x01, 0x00, + 0x03, 0xD3, 0x2D, 0xB1, 0x13, 0x00, 0x72, 0x71, + 0xB1, 0x01, 0x00, 0x03, 0xD3, 0x2D, 0xB2, 0x15, + 0x00, 0x72, 0x71, 0xB1, 0x01, 0x00, 0x03, 0xD3, + 0x2D, 0xB2, 0x17, 0x00, 0x72, 0x71, 0xB1, 0x01, + 0x00, 0x01, 0x4B, 0x08, 0x00, 0xD3, 0x2D, 0xB4, + 0x2A, 0x00, 0x72, 0x71, 0x36, 0xB1, 0x01, 0x00, + 0x03, 0xD3, 0x2D, 0xB4, 0x2C, 0x00, 0x72, 0x71, + 0x36, 0xB1, 0x01, 0x00, 0x03, 0xD3, 0x2D, 0xB4, + 0x2E, 0x00, 0x72, 0x71, 0x36, 0xB1, 0x01, 0x00, + 0x03, 0xD3, 0x2D, 0xB4, 0x30, 0x00, 0x72, 0x71, + 0x36, 0xB1, 0x01, 0x00, 0x03, 0xD3, 0x2D, 0xB4, + 0x31, 0x00, 0x72, 0x71, 0x36, 0xB1, 0x01, 0x00, + 0x03, 0xD3, 0x2D, 0xB5, 0x33, 0x00, 0x72, 0x71, + 0x36, 0xB1, 0x01, 0x00, 0x01, 0x4B, 0x09, 0x00, + 0xD3, 0x2D, 0xB5, 0x35, 0x00, 0x72, 0x71, 0x36, + 0xB1, 0x01, 0x00, 0x03, 0xD3, 0x2D, 0xB5, 0x37, + 0x00, 0x72, 0x71, 0x36, 0xB1, 0x01, 0x00, 0x03, + 0xD3, 0x2D, 0xB5, 0x3A, 0x00, 0x72, 0x71, 0x36, + 0xB1, 0x01, 0x00, 0x03, 0xD3, 0x2D, 0xB6, 0x3C, + 0x00, 0x72, 0x71, 0x36, 0xB1, 0x01, 0x00, 0x03, + 0xD3, 0x2D, 0xB6, 0x3E, 0x00, 0x72, 0x71, 0x36, + 0xB1, 0x01, 0x00, 0x03, 0xD3, 0x2D, 0xB6, 0x40, + 0x00, 0x72, 0x71, 0x36, 0xB1, 0x01, 0x00, 0x01, + 0x34, 0x0A, 0x00, 0x55, 0xD8, 0x56, 0xB1, 0x01, + 0x00, 0x57, 0xB8, 0x08, 0x00, 0x03, 0x55, 0xD9, + 0x56, 0xB1, 0x01, 0x00, 0x57, 0xB8, 0x08, 0x00, + 0x03, 0x60, 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, + 0x14, 0xD9, 0x12, 0xD8, 0x72, 0x13, 0xB8, 0x08, + 0x00, 0x72, 0x19, 0x36, 0xB1, 0x01, 0x00, 0x24, + 0xB3, 0x5E, 0x01, 0x01, 0x1E, 0x36, 0x01, 0x60, + 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, 0xD9, + 0x12, 0xD8, 0x72, 0x13, 0xB8, 0x08, 0x00, 0x72, + 0x17, 0x36, 0xB1, 0x01, 0x00, 0x24, 0xB3, 0x4A, + 0x01, 0x01, 0x1F, 0x40, 0x01, 0x55, 0xC1, 0x56, + 0x36, 0xB1, 0x01, 0x00, 0x57, 0xB1, 0x01, 0x00, + 0x58, 0xB2, 0x02, 0x00, 0x03, 0xC2, 0x71, 0xC7, + 0x03, 0x5C, 0xB6, 0x8A, 0x02, 0x03, 0x59, 0xC1, + 0x01, 0x1E, 0x4A, 0x01, 0x60, 0xD3, 0x2D, 0x38, + 0xB8, 0x08, 0x00, 0x14, 0xD9, 0x12, 0xD8, 0x72, + 0x13, 0xB8, 0x08, 0x00, 0x72, 0x17, 0x36, 0xB2, + 0x02, 0x00, 0x24, 0xB3, 0x5E, 0x01, 0x01, 0x2D, + 0x54, 0x01, 0x55, 0xC1, 0x56, 0x36, 0xB1, 0x01, + 0x00, 0x57, 0xB1, 0x01, 0x00, 0x58, 0xB2, 0x02, + 0x00, 0x03, 0x55, 0xC2, 0x56, 0x36, 0xB1, 0x01, + 0x00, 0x57, 0xB1, 0x01, 0x00, 0x58, 0xB2, 0x02, + 0x00, 0x03, 0x5C, 0xB6, 0x8A, 0x02, 0x03, 0x59, + 0xC2, 0x5A, 0xC1, 0x01, 0x0D, 0x5E, 0x01, 0x59, + 0xD9, 0x5A, 0xD8, 0x03, 0x5F, 0xB1, 0x74, 0x04, + 0x01, 0x2C, 0x8A, 0x02, 0xD5, 0x71, 0xD8, 0x12, + 0xC1, 0x03, 0xD6, 0x71, 0xD9, 0x12, 0xC2, 0x03, + 0x60, 0xD5, 0x1C, 0xB1, 0x01, 0x00, 0x1E, 0xD5, + 0x19, 0xB8, 0x08, 0x00, 0x1E, 0xD6, 0x1C, 0xB1, + 0x01, 0x00, 0x1E, 0xD6, 0x19, 0xB8, 0x08, 0x00, + 0x24, 0xB8, 0x66, 0x03, 0x01, 0x1D, 0xE4, 0x02, + 0x60, 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, + 0xD6, 0x12, 0xD5, 0x72, 0x13, 0xB8, 0x08, 0x00, + 0x72, 0x17, 0xB0, 0x00, 0x00, 0x24, 0xB7, 0x02, + 0x03, 0x01, 0x0D, 0xEE, 0x02, 0x5C, 0xB9, 0x8E, + 0x03, 0x03, 0x5F, 0xB8, 0x66, 0x03, 0x01, 0x1D, + 0x02, 0x03, 0x60, 0xD3, 0x2D, 0x38, 0xB8, 0x08, + 0x00, 0x14, 0xD6, 0x12, 0xD5, 0x72, 0x13, 0xB8, + 0x08, 0x00, 0x72, 0x1C, 0xB0, 0x00, 0x00, 0x24, + 0xB8, 0x66, 0x03, 0x01, 0x2C, 0x16, 0x03, 0xD5, + 0x71, 0xD5, 0x12, 0xC1, 0x03, 0xD6, 0x71, 0xD6, + 0x12, 0xC2, 0x03, 0x60, 0xD5, 0x1C, 0xB1, 0x01, + 0x00, 0x1E, 0xD6, 0x1C, 0xB1, 0x01, 0x00, 0x1E, + 0xD5, 0x19, 0xB8, 0x08, 0x00, 0x1E, 0xD6, 0x19, + 0xB8, 0x08, 0x00, 0x24, 0xB8, 0x66, 0x03, 0x01, + 0x1E, 0x52, 0x03, 0x60, 0xD3, 0x2D, 0x38, 0xB8, + 0x08, 0x00, 0x14, 0xD6, 0x12, 0xD5, 0x72, 0x13, + 0xB8, 0x08, 0x00, 0x72, 0x16, 0xB0, 0x00, 0x00, + 0x25, 0x5C, 0xB9, 0x8E, 0x03, 0x01, 0x05, 0x66, + 0x03, 0x5B, 0x01, 0x28, 0x8E, 0x03, 0x60, 0xD6, + 0x16, 0xB0, 0x00, 0x00, 0x1D, 0xD3, 0x2D, 0x38, + 0xB8, 0x08, 0x00, 0x14, 0xD9, 0x12, 0xD8, 0x72, + 0x13, 0xB8, 0x08, 0x00, 0x72, 0x16, 0x36, 0xB1, + 0x01, 0x00, 0x25, 0xD1, 0x71, 0xD1, 0x12, 0xB2, + 0x02, 0x00, 0x01, 0x17, 0x98, 0x03, 0x60, 0x31, + 0x3F, 0xD9, 0x13, 0xD6, 0x72, 0x16, 0xB2, 0x02, + 0x00, 0x25, 0xD1, 0x71, 0xD1, 0x12, 0xB5, 0x05, + 0x00, 0x01, 0x12, 0xC0, 0x03, 0x60, 0xD9, 0x16, + 0xB8, 0x08, 0x00, 0x25, 0xD1, 0x71, 0xD1, 0x13, + 0xB2, 0x02, 0x00, 0x01, 0x18, 0xD4, 0x03, 0x60, + 0xD5, 0x16, 0xB1, 0x01, 0x00, 0x1E, 0xD5, 0x16, + 0xB8, 0x08, 0x00, 0x25, 0xD1, 0x71, 0xD1, 0x12, + 0xB1, 0x01, 0x00, 0x01, 0x30, 0x06, 0x04, 0x55, + 0xC3, 0x56, 0x36, 0xB1, 0x01, 0x00, 0x57, 0xB1, + 0x01, 0x00, 0x58, 0xB2, 0x02, 0x00, 0x03, 0x60, + 0xD5, 0x12, 0xC3, 0x1C, 0xB1, 0x01, 0x00, 0x1E, + 0xD5, 0x12, 0xC3, 0x19, 0xB8, 0x08, 0x00, 0x1E, + 0xD6, 0x12, 0xC7, 0x1C, 0xB1, 0x01, 0x00, 0x24, + 0xB1, 0x38, 0x04, 0x01, 0x1F, 0x08, 0x04, 0xD5, + 0xB1, 0x71, 0xD5, 0x12, 0xC3, 0x03, 0xD6, 0xB1, + 0x71, 0xD6, 0x12, 0xC7, 0x03, 0xD8, 0xB1, 0x71, + 0xD5, 0x13, 0xC3, 0x03, 0xD9, 0xB1, 0x71, 0xD6, + 0x13, 0xC7, 0x01, 0x1F, 0x0B, 0x04, 0x60, 0xD3, + 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, 0xD6, 0xB1, + 0x12, 0xD5, 0xB1, 0x72, 0x13, 0xB8, 0x08, 0x00, + 0x72, 0x18, 0xB0, 0x00, 0x00, 0x24, 0xB1, 0x10, + 0x04, 0x01, 0x10, 0x0D, 0x04, 0xD1, 0x71, 0xD1, + 0x12, 0xB1, 0x01, 0x00, 0x03, 0x5F, 0xB1, 0x38, + 0x04, 0x01, 0x4E, 0x10, 0x04, 0x60, 0xD5, 0x13, + 0xC3, 0x1C, 0xB1, 0x01, 0x00, 0x1E, 0xD5, 0x13, + 0xC3, 0x19, 0xB8, 0x08, 0x00, 0x1E, 0xD6, 0x13, + 0xC7, 0x19, 0xB8, 0x08, 0x00, 0x1E, 0xD3, 0x2D, + 0x38, 0xB8, 0x08, 0x00, 0x14, 0xD6, 0xB1, 0x12, + 0xD5, 0xB1, 0x72, 0x13, 0xB8, 0x08, 0x00, 0x72, + 0x1A, 0xB0, 0x00, 0x00, 0x1E, 0xD3, 0x2D, 0x38, + 0xB8, 0x08, 0x00, 0x14, 0xD9, 0xB1, 0x12, 0xD8, + 0xB1, 0x72, 0x13, 0xB8, 0x08, 0x00, 0x72, 0x17, + 0xB0, 0x00, 0x00, 0x24, 0xB1, 0x38, 0x04, 0x01, + 0x18, 0x24, 0x04, 0x60, 0xD5, 0x13, 0xC3, 0x16, + 0xD8, 0x1D, 0xD6, 0x13, 0xC7, 0x16, 0xD9, 0x25, + 0xD1, 0x71, 0xD1, 0x13, 0xB2, 0x02, 0x00, 0x01, + 0x14, 0x38, 0x04, 0x59, 0xC3, 0x03, 0x60, 0xD1, + 0x1A, 0xD2, 0x2D, 0xB1, 0x01, 0x00, 0x72, 0x24, + 0xB1, 0x4C, 0x04, 0x01, 0x30, 0x42, 0x04, 0xD2, + 0x2D, 0xB1, 0x01, 0x00, 0x72, 0x71, 0xD1, 0x03, + 0xD2, 0x2D, 0xB2, 0x02, 0x00, 0x72, 0x71, 0xD8, + 0x03, 0xD2, 0x2D, 0xB3, 0x03, 0x00, 0x72, 0x71, + 0xD9, 0x03, 0xD2, 0x2D, 0xB4, 0x04, 0x00, 0x72, + 0x71, 0xD5, 0x03, 0xD2, 0x2D, 0xB5, 0x05, 0x00, + 0x72, 0x71, 0xD6, 0x01, 0x0B, 0x4C, 0x04, 0xD1, + 0x71, 0xB0, 0x00, 0x00, 0x03, 0x5B, 0x01, 0x14, + 0x74, 0x04, 0x60, 0xD2, 0x2D, 0xB1, 0x01, 0x00, + 0x72, 0x16, 0x36, 0xB9, 0x63, 0x00, 0x24, 0xB1, + 0x58, 0x07, 0x01, 0x59, 0xCE, 0x04, 0x63, 0x03, + 0x61, 0x28, 0xD0, 0xCC, 0xC1, 0xD9, 0xC5, 0xD2, + 0xA0, 0xA8, 0xD8, 0xA9, 0xA0, 0xCD, 0xCF, 0xD6, + 0xC5, 0xD3, 0xA0, 0xC6, 0xD2, 0xCF, 0xCD, 0xA0, + 0x29, 0x46, 0xD2, 0x2D, 0xB2, 0x02, 0x00, 0x72, + 0x45, 0x28, 0xAC, 0x29, 0x46, 0xD2, 0x2D, 0xB3, + 0x03, 0x00, 0x72, 0x45, 0x28, 0xA0, 0xD4, 0xCF, + 0xA0, 0x29, 0x46, 0xD2, 0x2D, 0xB4, 0x04, 0x00, + 0x72, 0x45, 0x28, 0xAC, 0x29, 0x46, 0xD2, 0x2D, + 0xB5, 0x05, 0x00, 0x72, 0x47, 0x03, 0xD2, 0x2D, + 0xB1, 0x01, 0x00, 0x72, 0x71, 0x36, 0xB9, 0x63, + 0x00, 0x03, 0x63, 0x01, 0x13, 0xD8, 0x04, 0x60, + 0xD2, 0x2D, 0xB5, 0x05, 0x00, 0x72, 0x17, 0xB1, + 0x01, 0x00, 0x24, 0xB1, 0xE2, 0x04, 0x01, 0x47, + 0xDD, 0x04, 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, + 0x14, 0xD2, 0x2D, 0xB5, 0x05, 0x00, 0x72, 0x12, + 0xD2, 0x2D, 0xB4, 0x04, 0x00, 0x72, 0x72, 0x13, + 0xB8, 0x08, 0x00, 0x72, 0x71, 0x36, 0xB2, 0x02, + 0x00, 0x03, 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, + 0x14, 0xD2, 0x2D, 0xB3, 0x03, 0x00, 0x72, 0x12, + 0xD2, 0x2D, 0xB2, 0x02, 0x00, 0x72, 0x72, 0x13, + 0xB8, 0x08, 0x00, 0x72, 0x71, 0xB0, 0x00, 0x00, + 0x03, 0x5F, 0xB1, 0x8C, 0x05, 0x01, 0x72, 0xE2, + 0x04, 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, + 0xD2, 0x2D, 0xB5, 0x05, 0x00, 0x72, 0x12, 0xD2, + 0x2D, 0xB4, 0x04, 0x00, 0x72, 0x72, 0x13, 0xB8, + 0x08, 0x00, 0x72, 0x71, 0xD3, 0x2D, 0x38, 0xB8, + 0x08, 0x00, 0x14, 0xD2, 0x2D, 0xB3, 0x03, 0x00, + 0x72, 0x12, 0xD2, 0x2D, 0xB2, 0x02, 0x00, 0x72, + 0x72, 0x13, 0xB8, 0x08, 0x00, 0x72, 0x03, 0xD3, + 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, 0xD2, 0x2D, + 0xB3, 0x03, 0x00, 0x72, 0x12, 0xD2, 0x2D, 0xB2, + 0x02, 0x00, 0x72, 0x72, 0x13, 0xB8, 0x08, 0x00, + 0x72, 0x71, 0xB0, 0x00, 0x00, 0x03, 0x60, 0x31, + 0x3F, 0xD2, 0x2D, 0xB2, 0x02, 0x00, 0x72, 0x13, + 0xD2, 0x2D, 0xB4, 0x04, 0x00, 0x72, 0x72, 0x17, + 0xB2, 0x02, 0x00, 0x24, 0xB1, 0x8C, 0x05, 0x01, + 0x48, 0x32, 0x05, 0xD5, 0xB1, 0x71, 0x38, 0xD2, + 0x2D, 0xB2, 0x02, 0x00, 0x72, 0x12, 0xD2, 0x2D, + 0xB4, 0x04, 0x00, 0x72, 0x72, 0x15, 0xB2, 0x02, + 0x00, 0x03, 0xD6, 0xB1, 0x71, 0x38, 0xD2, 0x2D, + 0xB3, 0x03, 0x00, 0x72, 0x12, 0xD2, 0x2D, 0xB5, + 0x05, 0x00, 0x72, 0x72, 0x15, 0xB2, 0x02, 0x00, + 0x03, 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, + 0xD6, 0xB1, 0x12, 0xD5, 0xB1, 0x72, 0x13, 0xB8, + 0x08, 0x00, 0x72, 0x71, 0xB0, 0x00, 0x00, 0x01, + 0x30, 0x3C, 0x05, 0xD8, 0x71, 0xD2, 0x2D, 0xB4, + 0x04, 0x00, 0x72, 0x03, 0xD9, 0x71, 0xD2, 0x2D, + 0xB5, 0x05, 0x00, 0x72, 0x03, 0x60, 0xD3, 0x2D, + 0x38, 0xB8, 0x08, 0x00, 0x14, 0xD9, 0x12, 0xD8, + 0x72, 0x13, 0xB8, 0x08, 0x00, 0x72, 0x17, 0x36, + 0xB1, 0x01, 0x00, 0x24, 0xB1, 0x46, 0x05, 0x01, + 0x1F, 0x41, 0x05, 0xC2, 0x71, 0x36, 0xB2, 0x02, + 0x00, 0x03, 0x55, 0xC1, 0x56, 0x36, 0xB2, 0x02, + 0x00, 0x57, 0xB2, 0x02, 0x00, 0x58, 0xB4, 0x04, + 0x00, 0x03, 0x5C, 0xB1, 0x5A, 0x05, 0x01, 0x1E, + 0x46, 0x05, 0x60, 0xD3, 0x2D, 0x38, 0xB8, 0x08, + 0x00, 0x14, 0xD9, 0x12, 0xD8, 0x72, 0x13, 0xB8, + 0x08, 0x00, 0x72, 0x17, 0x36, 0xB2, 0x02, 0x00, + 0x24, 0xB1, 0x50, 0x05, 0x01, 0x2B, 0x4B, 0x05, + 0x55, 0xC1, 0x56, 0x36, 0xB2, 0x02, 0x00, 0x57, + 0xB2, 0x02, 0x00, 0x58, 0xB4, 0x04, 0x00, 0x03, + 0x55, 0xC2, 0x56, 0x36, 0xB2, 0x02, 0x00, 0x57, + 0xB2, 0x02, 0x00, 0x58, 0xB4, 0x04, 0x00, 0x03, + 0x5C, 0xB1, 0x5A, 0x05, 0x03, 0x59, 0xC2, 0x01, + 0x17, 0x50, 0x05, 0x59, 0xC1, 0x03, 0x60, 0xD2, + 0x2D, 0xB1, 0x01, 0x00, 0x72, 0x16, 0x36, 0xB9, + 0x63, 0x00, 0x24, 0xB1, 0x8C, 0x05, 0x01, 0x2F, + 0x55, 0x05, 0x61, 0x28, 0xA0, 0xD4, 0xCF, 0xA0, + 0x29, 0x46, 0xD2, 0x2D, 0xB4, 0x04, 0x00, 0x72, + 0x45, 0x28, 0xAC, 0x29, 0x46, 0xD2, 0x2D, 0xB5, + 0x05, 0x00, 0x72, 0x47, 0x03, 0xD2, 0x2D, 0xB1, + 0x01, 0x00, 0x72, 0x71, 0x36, 0xB9, 0x63, 0x00, + 0x03, 0x5F, 0xB1, 0xD8, 0x04, 0x01, 0x2C, 0x5A, + 0x05, 0xD5, 0x71, 0xD8, 0x12, 0xC1, 0x03, 0xD6, + 0x71, 0xD9, 0x12, 0xC2, 0x03, 0x60, 0xD5, 0x1C, + 0xB1, 0x01, 0x00, 0x1E, 0xD5, 0x19, 0xB8, 0x08, + 0x00, 0x1E, 0xD6, 0x1C, 0xB1, 0x01, 0x00, 0x1E, + 0xD6, 0x19, 0xB8, 0x08, 0x00, 0x24, 0xB1, 0x78, + 0x05, 0x01, 0x4B, 0x64, 0x05, 0xD8, 0xB1, 0x71, + 0xD8, 0x12, 0xC1, 0x15, 0xB2, 0x02, 0x00, 0x03, + 0xD9, 0xB1, 0x71, 0xD9, 0x12, 0xC2, 0x15, 0xB2, + 0x02, 0x00, 0x03, 0x60, 0xD3, 0x2D, 0x38, 0xB8, + 0x08, 0x00, 0x14, 0xD6, 0x12, 0xD5, 0x72, 0x13, + 0xB8, 0x08, 0x00, 0x72, 0x16, 0xB0, 0x00, 0x00, + 0x1D, 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, + 0xD9, 0xB1, 0x12, 0xD8, 0xB1, 0x72, 0x13, 0xB8, + 0x08, 0x00, 0x72, 0x19, 0xB0, 0x00, 0x00, 0x25, + 0x5C, 0xB9, 0x8E, 0x03, 0x01, 0x05, 0x78, 0x05, + 0x5B, 0x01, 0x30, 0x82, 0x05, 0x61, 0x28, 0xCE, + 0xCF, 0xD4, 0xA0, 0xD6, 0xC1, 0xCC, 0xC9, 0xC4, + 0xA0, 0xCD, 0xCF, 0xD6, 0xC5, 0xA0, 0xD0, 0xCC, + 0xC1, 0xD9, 0xC5, 0xD2, 0xA0, 0xA8, 0xCF, 0xA9, + 0xAC, 0xA0, 0xD4, 0xD2, 0xD9, 0xA0, 0xC1, 0xC7, + 0xC1, 0xC9, 0xCE, 0xAE, 0xAE, 0xAE, 0x29, 0x03, + 0x63, 0x01, 0x4E, 0x8C, 0x05, 0x63, 0x03, 0x61, + 0x28, 0xD6, 0x29, 0x03, 0x55, 0xD9, 0x56, 0xB8, + 0x08, 0x00, 0x57, 0xB1, 0x01, 0x00, 0x58, 0x36, + 0xB1, 0x01, 0x00, 0x03, 0x62, 0xD9, 0x47, 0x03, + 0x55, 0xD8, 0x56, 0xB1, 0x01, 0x00, 0x57, 0xB8, + 0x08, 0x00, 0x03, 0x50, 0x38, 0xD8, 0x14, 0xB4, + 0x04, 0x00, 0x72, 0x03, 0x60, 0xD3, 0x2D, 0x38, + 0xB8, 0x08, 0x00, 0x14, 0xD9, 0x12, 0xD8, 0x72, + 0x13, 0xB8, 0x08, 0x00, 0x72, 0x16, 0xB0, 0x00, + 0x00, 0x25, 0x61, 0x28, 0xAE, 0x29, 0x47, 0x01, + 0x1F, 0xBE, 0x05, 0x60, 0xD3, 0x2D, 0x38, 0xB8, + 0x08, 0x00, 0x14, 0xD9, 0x12, 0xD8, 0x72, 0x13, + 0xB8, 0x08, 0x00, 0x72, 0x16, 0xB1, 0x01, 0x00, + 0x25, 0x61, 0x28, 0xCF, 0x29, 0x47, 0x01, 0x20, + 0xD2, 0x05, 0x60, 0xD3, 0x2D, 0x38, 0xB8, 0x08, + 0x00, 0x14, 0xD9, 0x12, 0xD8, 0x72, 0x13, 0xB8, + 0x08, 0x00, 0x72, 0x16, 0x36, 0xB1, 0x01, 0x00, + 0x25, 0x61, 0x28, 0xD8, 0x29, 0x47, 0x01, 0x21, + 0xE6, 0x05, 0x60, 0xD3, 0x2D, 0x38, 0xB8, 0x08, + 0x00, 0x14, 0xD9, 0x12, 0xD8, 0x72, 0x13, 0xB8, + 0x08, 0x00, 0x72, 0x16, 0x36, 0xB2, 0x02, 0x00, + 0x25, 0x61, 0x28, 0xD8, 0xAA, 0x29, 0x47, 0x01, + 0x20, 0xFA, 0x05, 0x60, 0xD3, 0x2D, 0x38, 0xB8, + 0x08, 0x00, 0x14, 0xD9, 0x12, 0xD8, 0x72, 0x13, + 0xB8, 0x08, 0x00, 0x72, 0x16, 0xB2, 0x02, 0x00, + 0x25, 0x61, 0x28, 0xCF, 0xAA, 0x29, 0x47, 0x01, + 0x30, 0x0E, 0x06, 0x59, 0xD8, 0x03, 0x63, 0x03, + 0x63, 0x03, 0x59, 0xD9, 0x03, 0x55, 0xCA, 0x56, + 0xB1, 0x01, 0x00, 0x57, 0xB8, 0x08, 0x00, 0x03, + 0x50, 0x38, 0xCA, 0x14, 0xB4, 0x04, 0x00, 0x72, + 0x03, 0x62, 0xCA, 0x47, 0x03, 0x59, 0xCA, 0x03, + 0x61, 0x28, 0xA0, 0xC8, 0x29, 0x03, 0x63, 0x01, + 0x4B, 0x10, 0x06, 0x55, 0xCC, 0x56, 0xB1, 0x01, + 0x00, 0x57, 0xB8, 0x08, 0x00, 0x03, 0x55, 0xCD, + 0x56, 0xB1, 0x01, 0x00, 0x57, 0xB8, 0x08, 0x00, + 0x03, 0x60, 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, + 0x14, 0xCD, 0x12, 0xCC, 0x72, 0x13, 0xB8, 0x08, + 0x00, 0x72, 0x16, 0xB1, 0x01, 0x00, 0x1E, 0xD3, + 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, 0xCD, 0x12, + 0xCC, 0x72, 0x13, 0xB8, 0x08, 0x00, 0x72, 0x16, + 0xB2, 0x02, 0x00, 0x25, 0xD5, 0xB1, 0x71, 0xB1, + 0x01, 0x00, 0x01, 0x37, 0x16, 0x06, 0x60, 0xD3, + 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, 0xCD, 0x12, + 0xCC, 0x72, 0x13, 0xB8, 0x08, 0x00, 0x72, 0x16, + 0x36, 0xB1, 0x01, 0x00, 0x1E, 0xD3, 0x2D, 0x38, + 0xB8, 0x08, 0x00, 0x14, 0xCD, 0x12, 0xCC, 0x72, + 0x13, 0xB8, 0x08, 0x00, 0x72, 0x16, 0x36, 0xB2, + 0x02, 0x00, 0x25, 0xD6, 0xB1, 0x71, 0xB1, 0x01, + 0x00, 0x01, 0x14, 0x18, 0x06, 0x59, 0xCD, 0x5A, + 0xCC, 0x03, 0x60, 0xD5, 0xB1, 0x17, 0xB1, 0x01, + 0x00, 0x24, 0xB1, 0x5D, 0x07, 0x01, 0x0F, 0x1E, + 0x06, 0x60, 0xD6, 0xB1, 0x17, 0xB1, 0x01, 0x00, + 0x24, 0xB1, 0x58, 0x07, 0x01, 0x4B, 0x36, 0x06, + 0xD5, 0xB1, 0x71, 0xB0, 0x00, 0x00, 0x03, 0xD6, + 0xB1, 0x71, 0xB0, 0x00, 0x00, 0x03, 0x53, 0x28, + 0xD0, 0xCC, 0xC1, 0xD9, 0xC5, 0xD2, 0xA0, 0xA8, + 0xCF, 0xA9, 0xA0, 0xC6, 0xD2, 0xCF, 0xCD, 0xA0, + 0x29, 0x27, 0xC5, 0x27, 0xC8, 0x03, 0xD8, 0x71, + 0xC5, 0x03, 0xD9, 0x71, 0xC8, 0x03, 0x60, 0xD3, + 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, 0xD9, 0x12, + 0xD8, 0x72, 0x13, 0xB8, 0x08, 0x00, 0x72, 0x1A, + 0xB0, 0x00, 0x00, 0x24, 0xB1, 0x82, 0x05, 0x01, + 0x4F, 0x86, 0x06, 0x53, 0x28, 0xD4, 0xCF, 0xA0, + 0x29, 0x27, 0xC1, 0x27, 0xC2, 0x03, 0xD8, 0x71, + 0xC1, 0x03, 0xD9, 0x71, 0xC2, 0x03, 0x60, 0x38, + 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, 0xD9, + 0x12, 0xD8, 0x72, 0x13, 0xB8, 0x08, 0x00, 0x72, + 0x17, 0xB0, 0x00, 0x00, 0x72, 0x1E, 0x38, 0x31, + 0x3F, 0xC1, 0x13, 0xC5, 0x72, 0x19, 0xB2, 0x02, + 0x00, 0x72, 0x1E, 0x38, 0x31, 0x3F, 0xC1, 0x13, + 0xC5, 0x72, 0x17, 0x31, 0x3F, 0xC2, 0x13, 0xC8, + 0x72, 0x72, 0x24, 0xB1, 0x82, 0x05, 0x01, 0x4A, + 0xD6, 0x06, 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, + 0x14, 0xC2, 0x12, 0xC1, 0x72, 0x13, 0xB8, 0x08, + 0x00, 0x72, 0x71, 0xD3, 0x2D, 0x38, 0xB8, 0x08, + 0x00, 0x14, 0xC8, 0x12, 0xC5, 0x72, 0x13, 0xB8, + 0x08, 0x00, 0x72, 0x03, 0xD3, 0x2D, 0x38, 0xB8, + 0x08, 0x00, 0x14, 0xC8, 0x12, 0xC5, 0x72, 0x13, + 0xB8, 0x08, 0x00, 0x72, 0x71, 0xB0, 0x00, 0x00, + 0x03, 0x60, 0x31, 0x3F, 0xC5, 0x13, 0xC1, 0x72, + 0x17, 0xB2, 0x02, 0x00, 0x24, 0xB1, 0x12, 0x07, + 0x01, 0x34, 0x08, 0x07, 0xD8, 0xB1, 0x71, 0x38, + 0xC5, 0x12, 0xC1, 0x72, 0x15, 0xB2, 0x02, 0x00, + 0x03, 0xD9, 0xB1, 0x71, 0x38, 0xC8, 0x12, 0xC2, + 0x72, 0x15, 0xB2, 0x02, 0x00, 0x03, 0xD3, 0x2D, + 0x38, 0xB8, 0x08, 0x00, 0x14, 0xD9, 0xB1, 0x12, + 0xD8, 0xB1, 0x72, 0x13, 0xB8, 0x08, 0x00, 0x72, + 0x71, 0xB0, 0x00, 0x00, 0x01, 0x3F, 0x0A, 0x07, + 0x61, 0x28, 0xD4, 0xD9, 0xD0, 0xC5, 0xA0, 0xB0, + 0xAC, 0xB0, 0xA0, 0xC6, 0xCF, 0xD2, 0xA0, 0xC4, + 0xCF, 0xCE, 0xC5, 0xAC, 0xA0, 0x29, 0x47, 0x03, + 0x53, 0x28, 0xCD, 0xD5, 0xCC, 0xD4, 0xC9, 0xAD, + 0xCA, 0xD5, 0xCD, 0xD0, 0xA0, 0xD4, 0xCF, 0xA0, + 0x29, 0x27, 0xD8, 0xB1, 0x27, 0xD9, 0xB1, 0x03, + 0x60, 0xD8, 0xB1, 0x1C, 0xB1, 0x01, 0x00, 0x24, + 0xB1, 0x12, 0x07, 0x01, 0x37, 0x0C, 0x07, 0x60, + 0xD3, 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, 0xD9, + 0xB1, 0x12, 0xD8, 0xB1, 0x72, 0x13, 0xB8, 0x08, + 0x00, 0x72, 0x17, 0xB0, 0x00, 0x00, 0x1E, 0x31, + 0x3F, 0xD8, 0xB1, 0x13, 0xC1, 0x72, 0x17, 0xB2, + 0x02, 0x00, 0x1E, 0x31, 0x3F, 0xD9, 0xB1, 0x13, + 0xC2, 0x72, 0x17, 0xB2, 0x02, 0x00, 0x24, 0xB1, + 0x0A, 0x07, 0x01, 0x1A, 0x0E, 0x07, 0xC5, 0x71, + 0xC1, 0x03, 0xC8, 0x71, 0xC2, 0x03, 0xC1, 0x71, + 0xD8, 0xB1, 0x03, 0xC2, 0x71, 0xD9, 0xB1, 0x03, + 0x5F, 0xB1, 0xD6, 0x06, 0x01, 0x1F, 0x12, 0x07, + 0x60, 0xC2, 0x16, 0xB8, 0x08, 0x00, 0x25, 0xD3, + 0x2D, 0x38, 0xB8, 0x08, 0x00, 0x14, 0xC2, 0x12, + 0xC1, 0x72, 0x13, 0xB8, 0x08, 0x00, 0x72, 0x71, + 0xB2, 0x02, 0x00, 0x01, 0x08, 0x26, 0x07, 0x5F, + 0xB1, 0x0A, 0x00, 0x01, 0x13, 0x58, 0x07, 0x63, + 0x03, 0x61, 0x28, 0xD9, 0xCF, 0xD5, 0xA0, 0xD7, + 0xC9, 0xCE, 0xAE, 0x29, 0x03, 0x51, 0x01, 0x11, + 0x5D, 0x07, 0x63, 0x03, 0x61, 0x28, 0xC9, 0xA0, + 0xD7, 0xC9, 0xCE, 0xAE, 0x29, 0x03, 0x51, 0x01, + ]] +}; diff --git a/tapes/codebreaker.js b/tapes/codebreaker.js new file mode 100644 index 0000000..368fcfb --- /dev/null +++ b/tapes/codebreaker.js @@ -0,0 +1,824 @@ +/*globals tapes: true */ + +tapes['Codebreaker'] = { + script: 'C100R\n0280.0BFFR E000.EFFFR\n280R\n', + tracks: [[ + 0xA2, 0xFF, 0x9A, 0x20, 0x8C, 0x02, 0x20, 0x42, + 0xEB, 0x4C, 0x1A, 0xFF, 0x20, 0x9E, 0x02, 0xA9, + 0x00, 0x85, 0x20, 0xA9, 0xF0, 0x85, 0x21, 0x58, + 0x20, 0xC1, 0x02, 0x4C, 0x2B, 0xEB, 0xA9, 0x03, + 0x85, 0x28, 0xA9, 0x0B, 0x85, 0x29, 0xA9, 0x00, + 0xA8, 0xA2, 0x00, 0xF0, 0x0A, 0x91, 0x28, 0xC8, + 0xD0, 0xFB, 0xE6, 0x29, 0xCA, 0xD0, 0xF6, 0xC0, + 0x63, 0xF0, 0x05, 0x91, 0x28, 0xC8, 0xD0, 0xF7, + 0x60, 0xA0, 0x00, 0xF0, 0x07, 0xA9, 0xCE, 0xA2, + 0x02, 0x4C, 0xDE, 0x0A, 0x60, 0x00, 0xA0, 0x02, + 0xB9, 0x9C, 0x0A, 0x99, 0x08, 0x0B, 0x88, 0x10, + 0xF7, 0xA9, 0x76, 0xA2, 0x0A, 0x20, 0x9C, 0xEF, + 0xA0, 0x00, 0xB1, 0x20, 0xA8, 0xB9, 0x08, 0x0B, + 0x20, 0xAB, 0x05, 0xA9, 0x00, 0x8D, 0x07, 0x0B, + 0xAD, 0x07, 0x0B, 0x20, 0xA4, 0xEE, 0xAD, 0x04, + 0x0B, 0x0A, 0x90, 0x02, 0xA2, 0x01, 0x20, 0xA8, + 0xEB, 0x20, 0x7C, 0xEB, 0xB0, 0x0B, 0xA9, 0x2D, + 0x20, 0xAB, 0x05, 0xEE, 0x07, 0x0B, 0x4C, 0xF0, + 0x02, 0xA0, 0x00, 0xB1, 0x20, 0xA8, 0xB9, 0x08, + 0x0B, 0x20, 0xAB, 0x05, 0xA9, 0x0D, 0x20, 0xAB, + 0x05, 0x4C, 0xAF, 0xEB, 0xA9, 0x19, 0x8D, 0x0B, + 0x0B, 0xCE, 0x0B, 0x0B, 0xAE, 0x0B, 0x0B, 0xF0, + 0x08, 0xA9, 0x0D, 0x20, 0xAB, 0x05, 0x4C, 0x29, + 0x03, 0x60, 0xA9, 0x08, 0x8D, 0x0C, 0x0B, 0xA0, + 0x05, 0x20, 0x69, 0xEC, 0x20, 0xF3, 0xEC, 0xA2, + 0x00, 0x86, 0x22, 0x86, 0x23, 0x8A, 0x20, 0xE7, + 0xEC, 0xF0, 0x43, 0xCE, 0x0C, 0x0B, 0xAD, 0x0C, + 0x0B, 0x18, 0x69, 0x0D, 0xA8, 0xA9, 0x00, 0x69, + 0x0B, 0xAA, 0x98, 0x20, 0xA6, 0xEE, 0xA0, 0x07, + 0x20, 0x69, 0xEC, 0x20, 0xF3, 0xEC, 0xA2, 0x00, + 0xA9, 0x0A, 0x20, 0x85, 0xED, 0xA0, 0x30, 0x20, + 0x7A, 0xEC, 0xA0, 0x00, 0x20, 0xE9, 0xEE, 0xA0, + 0x05, 0x20, 0x69, 0xEC, 0x20, 0xF3, 0xEC, 0xA2, + 0x00, 0xA9, 0x0A, 0x20, 0x0B, 0xED, 0xA0, 0x02, + 0x20, 0x1C, 0xEF, 0x4C, 0x3F, 0x03, 0xA0, 0x01, + 0xB1, 0x20, 0xF0, 0x42, 0xAD, 0x0C, 0x0B, 0xF0, + 0x1A, 0xCE, 0x0C, 0x0B, 0xAD, 0x0C, 0x0B, 0x18, + 0x69, 0x0D, 0x85, 0x28, 0xA9, 0x00, 0x69, 0x0B, + 0x85, 0x29, 0xA0, 0x00, 0xB1, 0x20, 0x91, 0x28, + 0x4C, 0x9C, 0x03, 0xA9, 0x08, 0x38, 0xA0, 0x01, + 0xF1, 0x20, 0x8D, 0x0C, 0x0B, 0xAD, 0x0C, 0x0B, + 0xC9, 0x08, 0x90, 0x03, 0x4C, 0xD1, 0xEB, 0xAC, + 0x0C, 0x0B, 0xB9, 0x0D, 0x0B, 0x20, 0xAB, 0x05, + 0xEE, 0x0C, 0x0B, 0x4C, 0xC5, 0x03, 0xAD, 0x0C, + 0x0B, 0xC9, 0x08, 0x90, 0x03, 0x4C, 0xD1, 0xEB, + 0xAC, 0x0C, 0x0B, 0xB9, 0x0D, 0x0B, 0x20, 0xAB, + 0x05, 0xEE, 0x0C, 0x0B, 0x4C, 0xDE, 0x03, 0xAD, + 0xC2, 0x0A, 0xAE, 0xC3, 0x0A, 0x20, 0x9C, 0xEF, + 0xA9, 0x00, 0x8D, 0x75, 0x05, 0xAD, 0x75, 0x05, + 0xC9, 0x4E, 0xF0, 0x0F, 0xAD, 0x75, 0x05, 0xC9, + 0x59, 0xF0, 0x08, 0xA0, 0x00, 0x20, 0x76, 0x05, + 0x4C, 0x05, 0x04, 0xAD, 0x75, 0x05, 0x20, 0xAB, + 0x05, 0xAD, 0x75, 0x05, 0xC9, 0x4E, 0xD0, 0x01, + 0x60, 0x20, 0x24, 0x03, 0xAD, 0x04, 0x0B, 0xC9, + 0x05, 0xD0, 0x13, 0xAD, 0x06, 0x0B, 0xD0, 0x07, + 0xA9, 0x7A, 0xA2, 0x0A, 0x4C, 0x4A, 0x04, 0xA9, + 0x7E, 0xA2, 0x0A, 0x4C, 0x4A, 0x04, 0xA9, 0x85, + 0xA2, 0x0A, 0x20, 0x9C, 0xEF, 0xA9, 0x8C, 0xA2, + 0x0A, 0x20, 0x9C, 0xEF, 0xAD, 0x06, 0x0B, 0xF0, + 0x03, 0x4C, 0xF5, 0x04, 0xAD, 0xC4, 0x0A, 0xAE, + 0xC5, 0x0A, 0x20, 0x9C, 0xEF, 0xA2, 0x00, 0xAD, + 0x04, 0x0B, 0x20, 0x07, 0xEB, 0x20, 0x19, 0xEB, + 0x20, 0xF3, 0xEC, 0xA9, 0x00, 0x20, 0x90, 0xEE, + 0xA9, 0x30, 0x20, 0x90, 0xEE, 0x20, 0x3A, 0x03, + 0xAD, 0xC6, 0x0A, 0xAE, 0xC7, 0x0A, 0x20, 0x9C, + 0xEF, 0xA2, 0x00, 0xAD, 0x03, 0x0B, 0x20, 0x07, + 0xEB, 0x20, 0x19, 0xEB, 0x20, 0xF3, 0xEC, 0xA9, + 0x00, 0x20, 0x90, 0xEE, 0xA9, 0x30, 0x20, 0x90, + 0xEE, 0x20, 0x3A, 0x03, 0xAD, 0xC8, 0x0A, 0xAE, + 0xC9, 0x0A, 0x20, 0x9C, 0xEF, 0xA2, 0x00, 0xAD, + 0x05, 0x0B, 0x20, 0x07, 0xEB, 0x20, 0x19, 0xEB, + 0x20, 0xF3, 0xEC, 0xA9, 0x00, 0x20, 0x90, 0xEE, + 0xA9, 0x30, 0x20, 0x90, 0xEE, 0x20, 0x3A, 0x03, + 0xAD, 0xCA, 0x0A, 0xAE, 0xCB, 0x0A, 0x20, 0x9C, + 0xEF, 0xA2, 0x00, 0xAD, 0x04, 0x0B, 0x20, 0x07, + 0xEB, 0x20, 0x19, 0xEB, 0x20, 0xF3, 0xEC, 0xA9, + 0x00, 0x20, 0x90, 0xEE, 0xA9, 0x30, 0x20, 0x90, + 0xEE, 0x20, 0x3A, 0x03, 0xAD, 0xCC, 0x0A, 0xAE, + 0xCD, 0x0A, 0x4C, 0xFB, 0x04, 0xAD, 0xCE, 0x0A, + 0xAE, 0xCF, 0x0A, 0x20, 0x9C, 0xEF, 0xAD, 0xD0, + 0x0A, 0xAE, 0xD1, 0x0A, 0x20, 0x9C, 0xEF, 0xA0, + 0x00, 0x4C, 0x76, 0x05, 0xAD, 0xDD, 0x0A, 0x85, + 0x23, 0xAD, 0xDC, 0x0A, 0x85, 0x22, 0xAE, 0xDB, + 0x0A, 0xAD, 0xDA, 0x0A, 0x20, 0xF3, 0xEC, 0xA2, + 0x4E, 0xA9, 0xC6, 0x85, 0x22, 0xA9, 0x41, 0x85, + 0x23, 0xA9, 0x6D, 0x20, 0x91, 0xEC, 0x20, 0xF3, + 0xEC, 0xA2, 0x30, 0xA9, 0x00, 0xA9, 0x39, 0x20, + 0xD6, 0xEB, 0x8D, 0xDA, 0x0A, 0x8E, 0xDB, 0x0A, + 0xA4, 0x22, 0x8C, 0xDC, 0x0A, 0xA4, 0x23, 0x8C, + 0xDD, 0x0A, 0xAD, 0xDD, 0x0A, 0x85, 0x23, 0xAD, + 0xDC, 0x0A, 0x85, 0x22, 0xA0, 0x00, 0xA6, 0x23, + 0xA5, 0x22, 0x84, 0x23, 0x84, 0x22, 0x20, 0x19, + 0xEB, 0x20, 0xF3, 0xEC, 0xA2, 0x7F, 0xA9, 0x00, + 0x85, 0x22, 0x85, 0x23, 0xA9, 0xFF, 0x4C, 0x01, + 0xEC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x11, + 0xD0, 0x30, 0x27, 0x18, 0xA9, 0x01, 0x6D, 0x71, + 0x05, 0x8D, 0x71, 0x05, 0xA9, 0x00, 0x2A, 0x6D, + 0x72, 0x05, 0x8D, 0x72, 0x05, 0xA9, 0x00, 0x2A, + 0x6D, 0x73, 0x05, 0x8D, 0x73, 0x05, 0xA9, 0x00, + 0x2A, 0x6D, 0x74, 0x05, 0x8D, 0x74, 0x05, 0x18, + 0x90, 0xD4, 0xAD, 0x10, 0xD0, 0x29, 0x7F, 0x8D, + 0x75, 0x05, 0x60, 0x4C, 0xEF, 0xFF, 0x43, 0x4F, + 0x44, 0x45, 0x42, 0x52, 0x45, 0x41, 0x4B, 0x45, + 0x52, 0x21, 0x0D, 0x0D, 0x22, 0x43, 0x52, 0x41, + 0x43, 0x4B, 0x45, 0x44, 0x22, 0x20, 0x42, 0x59, + 0x20, 0x45, 0x47, 0x41, 0x4E, 0x20, 0x46, 0x4F, + 0x52, 0x44, 0x0D, 0x0D, 0x0D, 0x0D, 0x00, 0x57, + 0x4F, 0x55, 0x4C, 0x44, 0x20, 0x59, 0x4F, 0x55, + 0x20, 0x4C, 0x49, 0x4B, 0x45, 0x20, 0x54, 0x4F, + 0x20, 0x50, 0x4C, 0x41, 0x59, 0x20, 0x41, 0x53, + 0x20, 0x41, 0x0D, 0x0D, 0x5B, 0x4E, 0x5D, 0x4F, + 0x56, 0x49, 0x43, 0x45, 0x2C, 0x20, 0x5B, 0x50, + 0x5D, 0x52, 0x4F, 0x2C, 0x20, 0x4F, 0x52, 0x20, + 0x5B, 0x4D, 0x5D, 0x41, 0x53, 0x54, 0x45, 0x52, + 0x3F, 0x20, 0x00, 0x44, 0x4F, 0x20, 0x59, 0x4F, + 0x55, 0x20, 0x4E, 0x45, 0x45, 0x44, 0x20, 0x49, + 0x4E, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x49, + 0x4F, 0x4E, 0x53, 0x3F, 0x20, 0x00, 0x0A, 0x47, + 0x4F, 0x41, 0x4C, 0x3A, 0x20, 0x20, 0x43, 0x52, + 0x41, 0x43, 0x4B, 0x20, 0x54, 0x48, 0x45, 0x20, + 0x43, 0x4F, 0x44, 0x45, 0x2E, 0x20, 0x20, 0x46, + 0x41, 0x49, 0x4C, 0x55, 0x52, 0x45, 0x20, 0x49, + 0x53, 0x20, 0x4E, 0x4F, 0x54, 0x0D, 0x0A, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x4E, + 0x20, 0x4F, 0x50, 0x54, 0x49, 0x4F, 0x4E, 0x21, + 0x0D, 0x0A, 0x0D, 0x0A, 0x43, 0x4F, 0x44, 0x45, + 0x3A, 0x20, 0x20, 0x54, 0x48, 0x45, 0x20, 0x43, + 0x4F, 0x44, 0x45, 0x20, 0x49, 0x53, 0x20, 0x43, + 0x4F, 0x4D, 0x50, 0x4F, 0x53, 0x45, 0x44, 0x20, + 0x4F, 0x46, 0x20, 0x00, 0x20, 0x43, 0x4F, 0x4C, + 0x4F, 0x52, 0x53, 0x0D, 0x0A, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4F, 0x55, 0x54, 0x20, + 0x4F, 0x46, 0x20, 0x41, 0x20, 0x53, 0x45, 0x54, + 0x20, 0x4F, 0x46, 0x20, 0x00, 0x2E, 0x20, 0x20, + 0x44, 0x55, 0x50, 0x4C, 0x49, 0x43, 0x41, 0x54, + 0x45, 0x53, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x41, 0x4C, 0x4C, 0x4F, 0x57, + 0x45, 0x44, 0x2E, 0x0D, 0x0A, 0x0D, 0x0A, 0x52, + 0x55, 0x4C, 0x45, 0x53, 0x3A, 0x20, 0x59, 0x4F, + 0x55, 0x20, 0x48, 0x41, 0x56, 0x45, 0x20, 0x00, + 0x20, 0x41, 0x54, 0x54, 0x45, 0x4D, 0x50, 0x54, + 0x53, 0x2E, 0x20, 0x20, 0x41, 0x46, 0x54, 0x45, + 0x52, 0x20, 0x45, 0x41, 0x43, 0x48, 0x0A, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x54, + 0x54, 0x45, 0x4D, 0x50, 0x54, 0x20, 0x41, 0x20, + 0x43, 0x4C, 0x55, 0x45, 0x20, 0x57, 0x49, 0x4C, + 0x4C, 0x20, 0x42, 0x45, 0x20, 0x47, 0x49, 0x56, + 0x45, 0x4E, 0x2E, 0x0D, 0x0A, 0x0D, 0x0A, 0x43, + 0x4C, 0x55, 0x45, 0x53, 0x3A, 0x20, 0x41, 0x4E, + 0x20, 0x2A, 0x20, 0x49, 0x4E, 0x44, 0x49, 0x43, + 0x41, 0x54, 0x45, 0x53, 0x20, 0x54, 0x48, 0x41, + 0x54, 0x20, 0x59, 0x4F, 0x55, 0x20, 0x48, 0x41, + 0x56, 0x45, 0x20, 0x41, 0x0D, 0x0A, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x4F, 0x52, + 0x52, 0x45, 0x43, 0x54, 0x20, 0x43, 0x4F, 0x4C, + 0x4F, 0x52, 0x20, 0x49, 0x4E, 0x20, 0x54, 0x48, + 0x45, 0x20, 0x43, 0x4F, 0x52, 0x52, 0x45, 0x43, + 0x54, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x50, 0x4C, 0x41, 0x43, 0x45, 0x2E, + 0x20, 0x20, 0x41, 0x20, 0x2B, 0x20, 0x49, 0x4E, + 0x44, 0x49, 0x43, 0x41, 0x54, 0x45, 0x53, 0x20, + 0x54, 0x48, 0x41, 0x54, 0x20, 0x59, 0x4F, 0x55, + 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x48, 0x41, 0x56, 0x45, 0x20, 0x41, 0x20, + 0x43, 0x4F, 0x52, 0x52, 0x45, 0x43, 0x54, 0x20, + 0x43, 0x4F, 0x4C, 0x4F, 0x52, 0x2E, 0x20, 0x20, + 0x59, 0x4F, 0x55, 0x0D, 0x0A, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4E, 0x45, 0x45, 0x44, + 0x20, 0x00, 0x20, 0x2A, 0x27, 0x53, 0x20, 0x54, + 0x4F, 0x20, 0x57, 0x49, 0x4E, 0x2E, 0x20, 0x20, + 0x54, 0x48, 0x45, 0x0D, 0x0A, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x50, 0x4F, 0x53, 0x49, + 0x54, 0x49, 0x4F, 0x4E, 0x20, 0x4F, 0x46, 0x20, + 0x54, 0x48, 0x45, 0x20, 0x43, 0x4C, 0x55, 0x45, + 0x53, 0x20, 0x49, 0x53, 0x20, 0x4E, 0x4F, 0x54, + 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x52, 0x45, 0x4C, 0x45, 0x56, 0x41, 0x4E, + 0x54, 0x2E, 0x0D, 0x0A, 0x0D, 0x0A, 0x53, 0x43, + 0x4F, 0x52, 0x45, 0x3A, 0x20, 0x54, 0x49, 0x4D, + 0x45, 0x20, 0x49, 0x4E, 0x20, 0x53, 0x45, 0x43, + 0x4F, 0x4E, 0x44, 0x53, 0x2E, 0x20, 0x20, 0x47, + 0x4F, 0x4F, 0x44, 0x20, 0x4C, 0x55, 0x43, 0x4B, + 0x21, 0x0D, 0x0A, 0x0D, 0x0A, 0x0D, 0x0A, 0x00, + 0x0D, 0x41, 0x20, 0x50, 0x52, 0x4F, 0x20, 0x47, + 0x41, 0x4D, 0x45, 0x20, 0x57, 0x49, 0x54, 0x48, + 0x20, 0x41, 0x20, 0x54, 0x57, 0x49, 0x53, 0x54, + 0x2E, 0x2E, 0x2E, 0x0D, 0x0D, 0x0D, 0x0D, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x59, 0x4F, + 0x55, 0x20, 0x4F, 0x4E, 0x4C, 0x59, 0x20, 0x48, + 0x41, 0x56, 0x45, 0x20, 0x36, 0x30, 0x20, 0x53, + 0x45, 0x43, 0x4F, 0x4E, 0x44, 0x53, 0x21, 0x0D, + 0x0D, 0x0D, 0x0D, 0x00, 0x50, 0x52, 0x45, 0x53, + 0x53, 0x20, 0x41, 0x4E, 0x59, 0x20, 0x4B, 0x45, + 0x59, 0x20, 0x54, 0x4F, 0x20, 0x42, 0x45, 0x47, + 0x49, 0x4E, 0x20, 0x43, 0x52, 0x41, 0x43, 0x4B, + 0x49, 0x4E, 0x47, 0x20, 0x00, 0x0A, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x43, 0x4F, 0x44, 0x45, + 0x42, 0x52, 0x45, 0x41, 0x4B, 0x45, 0x52, 0x21, + 0x0D, 0x0A, 0x0D, 0x0A, 0x00, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x59, 0x4F, 0x55, 0x27, 0x56, 0x45, + 0x20, 0x43, 0x52, 0x41, 0x43, 0x4B, 0x45, 0x44, + 0x20, 0x49, 0x54, 0x21, 0x0D, 0x00, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x59, 0x4F, 0x55, + 0x27, 0x56, 0x45, 0x20, 0x46, 0x41, 0x49, 0x4C, + 0x45, 0x44, 0x0D, 0x00, 0x57, 0x4F, 0x55, 0x4C, + 0x44, 0x20, 0x59, 0x4F, 0x55, 0x20, 0x4C, 0x49, + 0x4B, 0x45, 0x20, 0x54, 0x4F, 0x20, 0x50, 0x4C, + 0x41, 0x59, 0x20, 0x41, 0x47, 0x41, 0x49, 0x4E, + 0x3F, 0x20, 0x00, 0x20, 0x5B, 0x52, 0x5D, 0x45, + 0x44, 0x20, 0x20, 0x20, 0x20, 0x00, 0x20, 0x5B, + 0x47, 0x5D, 0x52, 0x45, 0x45, 0x4E, 0x20, 0x20, + 0x00, 0x20, 0x5B, 0x42, 0x5D, 0x4C, 0x55, 0x45, + 0x20, 0x20, 0x20, 0x00, 0x20, 0x5B, 0x59, 0x5D, + 0x45, 0x4C, 0x4C, 0x4F, 0x57, 0x20, 0x00, 0x20, + 0x5B, 0x4F, 0x5D, 0x52, 0x41, 0x4E, 0x47, 0x45, + 0x20, 0x00, 0x20, 0x5B, 0x50, 0x5D, 0x55, 0x52, + 0x50, 0x4C, 0x45, 0x20, 0x00, 0x20, 0x5B, 0x53, + 0x5D, 0x49, 0x4C, 0x56, 0x45, 0x52, 0x20, 0x00, + 0x20, 0x5B, 0x43, 0x5D, 0x4F, 0x50, 0x50, 0x45, + 0x52, 0x20, 0x00, 0x4E, 0x4F, 0x56, 0x49, 0x43, + 0x45, 0x00, 0x50, 0x52, 0x4F, 0x20, 0x20, 0x20, + 0x00, 0x4D, 0x41, 0x53, 0x54, 0x45, 0x52, 0x00, + 0x0D, 0x0D, 0x00, 0x0D, 0x00, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x00, 0x0D, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x00, 0x0D, 0x0D, 0x00, 0x20, 0x20, 0x20, + 0x21, 0x20, 0x00, 0x21, 0x20, 0x43, 0x4C, 0x55, + 0x45, 0x00, 0x53, 0x00, 0x20, 0x20, 0x54, 0x49, + 0x4D, 0x45, 0x3A, 0x20, 0x2D, 0x36, 0x30, 0x2E, + 0x30, 0x00, 0x0D, 0x00, 0x20, 0x21, 0x20, 0x00, + 0x2D, 0x20, 0x00, 0x21, 0x20, 0x00, 0x20, 0x20, + 0x54, 0x49, 0x4D, 0x45, 0x3A, 0x20, 0x2D, 0x00, + 0x20, 0x20, 0x00, 0x20, 0x20, 0x54, 0x49, 0x4D, + 0x45, 0x3A, 0x20, 0x00, 0x20, 0x20, 0x20, 0x21, + 0x20, 0x00, 0x20, 0x00, 0x53, 0x54, 0x41, 0x54, + 0x53, 0x0D, 0x0D, 0x00, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x54, 0x49, 0x4D, 0x45, 0x53, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x00, 0x47, 0x41, 0x4D, + 0x45, 0x20, 0x20, 0x20, 0x20, 0x43, 0x52, 0x41, + 0x43, 0x4B, 0x45, 0x44, 0x20, 0x20, 0x46, 0x41, + 0x49, 0x4C, 0x45, 0x44, 0x20, 0x20, 0x41, 0x56, + 0x45, 0x52, 0x41, 0x47, 0x45, 0x20, 0x20, 0x20, + 0x20, 0x42, 0x45, 0x53, 0x54, 0x0D, 0x00, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x00, 0x20, 0x20, 0x20, + 0x20, 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x20, 0x20, 0x20, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x00, 0x20, 0x20, 0x20, + 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, 0x0D, 0x0D, + 0x0D, 0x0D, 0x54, 0x4F, 0x20, 0x50, 0x4C, 0x41, + 0x59, 0x20, 0x41, 0x47, 0x41, 0x49, 0x4E, 0x20, + 0x54, 0x59, 0x50, 0x45, 0x3A, 0x20, 0x20, 0x32, + 0x38, 0x30, 0x52, 0x0D, 0x0D, 0x00, 0x20, 0x20, + 0x20, 0x00, 0x50, 0x52, 0x4F, 0x00, 0x4D, 0x41, + 0x53, 0x54, 0x45, 0x52, 0x00, 0x4E, 0x4F, 0x56, + 0x49, 0x43, 0x45, 0x00, 0x20, 0x49, 0x4E, 0x53, + 0x54, 0x52, 0x55, 0x43, 0x54, 0x49, 0x4F, 0x4E, + 0x53, 0x0D, 0x0D, 0x00, 0x2E, 0x3A, 0x27, 0x52, + 0x47, 0x42, 0x59, 0x4F, 0x50, 0x53, 0x43, 0x0B, + 0x09, 0x16, 0x09, 0x21, 0x09, 0x2C, 0x09, 0x37, + 0x09, 0x42, 0x09, 0x4D, 0x09, 0x58, 0x09, 0x63, + 0x09, 0x6A, 0x09, 0x71, 0x09, 0x00, 0xAE, 0x05, + 0xD7, 0x05, 0x13, 0x06, 0x2E, 0x06, 0x8C, 0x06, + 0xAD, 0x06, 0xE0, 0x06, 0xC2, 0x07, 0x38, 0x08, + 0x7C, 0x08, 0x9D, 0x08, 0xBD, 0x08, 0xD6, 0x08, + 0xEC, 0x08, 0x01, 0x00, 0x00, 0x00, 0x8D, 0xEC, + 0x0A, 0x8E, 0xED, 0x0A, 0x8D, 0xF3, 0x0A, 0x8E, + 0xF4, 0x0A, 0x88, 0xB9, 0xFF, 0xFF, 0x8D, 0xFD, + 0x0A, 0x88, 0xB9, 0xFF, 0xFF, 0x8D, 0xFC, 0x0A, + 0x8C, 0xFF, 0x0A, 0x20, 0xFF, 0xFF, 0xA0, 0xFF, + 0xD0, 0xE8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + ],[ + 0xA0, 0x07, 0xB9, 0x9F, 0x0A, 0x99, 0x24, 0x0B, + 0x88, 0x10, 0xF7, 0xA0, 0x0F, 0xB9, 0xA7, 0x0A, + 0x99, 0x2C, 0x0B, 0x88, 0x10, 0xF7, 0xA0, 0x05, + 0xB9, 0xB7, 0x0A, 0x99, 0x3C, 0x0B, 0x88, 0x10, + 0xF7, 0xA9, 0x00, 0x8D, 0x42, 0x0B, 0xAD, 0x42, + 0x0B, 0xC9, 0x03, 0xB0, 0x6A, 0xA2, 0x00, 0xAD, + 0x42, 0x0B, 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, + 0x4A, 0xA8, 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, + 0xA6, 0xEE, 0xA2, 0x00, 0xAD, 0x42, 0x0B, 0x0A, + 0x90, 0x02, 0xE8, 0x18, 0x69, 0x50, 0xA8, 0x8A, + 0x69, 0x0B, 0xAA, 0x98, 0x20, 0xA6, 0xEE, 0xA2, + 0x00, 0xAD, 0x42, 0x0B, 0x0A, 0x90, 0x02, 0xE8, + 0x18, 0x69, 0x56, 0xA8, 0x8A, 0x69, 0x0B, 0xAA, + 0x98, 0x20, 0xA6, 0xEE, 0xA2, 0x00, 0xAD, 0x42, + 0x0B, 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, 0x5C, + 0xA8, 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, 0xA6, + 0xEE, 0xA2, 0x00, 0x8A, 0xA8, 0x20, 0xFF, 0xEE, + 0x20, 0xFF, 0xEE, 0x20, 0xFF, 0xEE, 0x20, 0xFF, + 0xEE, 0xEE, 0x42, 0x0B, 0x4C, 0x26, 0xE0, 0xA0, + 0x00, 0x20, 0x24, 0x03, 0xAD, 0xBE, 0x0A, 0xAE, + 0xBF, 0x0A, 0x20, 0x9C, 0xEF, 0xA9, 0x00, 0x8D, + 0x06, 0x0B, 0xA9, 0x08, 0x8D, 0x03, 0x0B, 0xA9, + 0x05, 0x8D, 0x04, 0x0B, 0xA9, 0x0C, 0x8D, 0x05, + 0x0B, 0xA9, 0x01, 0x8D, 0x47, 0x0B, 0xAD, 0xC0, + 0x0A, 0xAE, 0xC1, 0x0A, 0x20, 0x9C, 0xEF, 0xA9, + 0x00, 0x8D, 0x75, 0x05, 0xAD, 0x75, 0x05, 0xC9, + 0x4E, 0xF0, 0x16, 0xAD, 0x75, 0x05, 0xC9, 0x50, + 0xF0, 0x0F, 0xAD, 0x75, 0x05, 0xC9, 0x4D, 0xF0, + 0x08, 0xA0, 0x00, 0x20, 0x76, 0x05, 0x4C, 0xCC, + 0xE0, 0xAD, 0x75, 0x05, 0x20, 0xAB, 0x05, 0xA9, + 0x78, 0xA2, 0x09, 0x20, 0x9C, 0xEF, 0xAD, 0x75, + 0x05, 0xC9, 0x4E, 0xD0, 0x14, 0xA9, 0x06, 0x8D, + 0x03, 0x0B, 0xA9, 0x04, 0x8D, 0x04, 0x0B, 0xA9, + 0x0A, 0x8D, 0x05, 0x0B, 0xA9, 0x00, 0x8D, 0x47, + 0x0B, 0xAD, 0x75, 0x05, 0xC9, 0x4D, 0xD0, 0x0A, + 0xA9, 0x01, 0x8D, 0x06, 0x0B, 0xA9, 0x02, 0x8D, + 0x47, 0x0B, 0xA0, 0x00, 0x20, 0xF7, 0x03, 0xA0, + 0x00, 0x20, 0x24, 0x03, 0xA2, 0x02, 0xA9, 0x58, + 0x8D, 0x48, 0x0B, 0x8E, 0x49, 0x0B, 0xAD, 0x74, + 0x05, 0x85, 0x23, 0xAD, 0x73, 0x05, 0x85, 0x22, + 0xAE, 0x72, 0x05, 0xAD, 0x71, 0x05, 0x20, 0xF3, + 0xEC, 0xA2, 0xFF, 0x8A, 0x20, 0xFB, 0xEB, 0x8D, + 0xDA, 0x0A, 0x8E, 0xDB, 0x0A, 0xA4, 0x22, 0x8C, + 0xDC, 0x0A, 0xA4, 0x23, 0x8C, 0xDD, 0x0A, 0xA9, + 0x00, 0x8D, 0x42, 0x0B, 0xAD, 0x42, 0x0B, 0xCD, + 0x04, 0x0B, 0xB0, 0x27, 0xA9, 0x15, 0xA2, 0x0B, + 0x18, 0x6D, 0x42, 0x0B, 0x90, 0x01, 0xE8, 0x20, + 0xA6, 0xEE, 0xA0, 0x00, 0x20, 0x0C, 0x05, 0x20, + 0xA6, 0xEE, 0xAD, 0x03, 0x0B, 0x20, 0x7E, 0xEF, + 0xA0, 0x00, 0x20, 0xE9, 0xEE, 0xEE, 0x42, 0x0B, + 0x4C, 0x64, 0xE1, 0xA0, 0x00, 0x20, 0x24, 0x03, + 0xAD, 0xD2, 0x0A, 0xAE, 0xD3, 0x0A, 0x20, 0x9C, + 0xEF, 0xAD, 0x04, 0x0B, 0xC9, 0x05, 0xD0, 0x32, + 0xA9, 0x00, 0x8D, 0x42, 0x0B, 0xA2, 0x00, 0xAD, + 0x42, 0x0B, 0xCD, 0x03, 0x0B, 0xB0, 0x1C, 0xAD, + 0x42, 0x0B, 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, + 0x2C, 0xA8, 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, + 0x5A, 0xEC, 0x20, 0x9C, 0xEF, 0xEE, 0x42, 0x0B, + 0x4C, 0xAD, 0xE1, 0xA9, 0x7B, 0xA2, 0x09, 0x4C, + 0x4B, 0xE2, 0xA9, 0x7D, 0xA2, 0x09, 0x20, 0x9C, + 0xEF, 0xA9, 0x00, 0x8D, 0x42, 0x0B, 0xAD, 0x42, + 0x0B, 0x20, 0xA4, 0xEE, 0xAD, 0x03, 0x0B, 0x4A, + 0x20, 0x7A, 0xEB, 0xB0, 0x1E, 0xA2, 0x00, 0xAD, + 0x42, 0x0B, 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, + 0x2C, 0xA8, 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, + 0x5A, 0xEC, 0x20, 0x9C, 0xEF, 0xEE, 0x42, 0x0B, + 0x4C, 0xE6, 0xE1, 0xA9, 0x83, 0xA2, 0x09, 0x20, + 0x9C, 0xEF, 0xAD, 0x03, 0x0B, 0x4A, 0x8D, 0x42, + 0x0B, 0xA2, 0x00, 0xAD, 0x42, 0x0B, 0xCD, 0x03, + 0x0B, 0xB0, 0x1C, 0xAD, 0x42, 0x0B, 0x0A, 0x90, + 0x02, 0xE8, 0x18, 0x69, 0x2C, 0xA8, 0x8A, 0x69, + 0x0B, 0xAA, 0x98, 0x20, 0x5A, 0xEC, 0x20, 0x9C, + 0xEF, 0xEE, 0x42, 0x0B, 0x4C, 0x21, 0xE2, 0xA9, + 0x8A, 0xA2, 0x09, 0x20, 0x9C, 0xEF, 0xA9, 0x00, + 0x20, 0x90, 0xEE, 0x20, 0xCE, 0x02, 0xA9, 0x8D, + 0xA2, 0x09, 0x20, 0x9C, 0xEF, 0xA9, 0x00, 0x8D, + 0x42, 0x0B, 0xCD, 0x04, 0x0B, 0xB0, 0x13, 0xA9, + 0x58, 0x20, 0xAB, 0x05, 0xA9, 0x20, 0x20, 0xAB, + 0x05, 0xAD, 0x42, 0x0B, 0x18, 0x69, 0x01, 0x4C, + 0x5F, 0xE2, 0xA9, 0x93, 0xA2, 0x09, 0x20, 0x9C, + 0xEF, 0xAD, 0x04, 0x0B, 0xC9, 0x05, 0xD0, 0x07, + 0xA9, 0x9A, 0xA2, 0x09, 0x20, 0x9C, 0xEF, 0xAD, + 0x06, 0x0B, 0xF0, 0x07, 0xA9, 0x9C, 0xA2, 0x09, + 0x20, 0x9C, 0xEF, 0xA9, 0xAA, 0xA2, 0x09, 0x20, + 0x9C, 0xEF, 0xA9, 0x01, 0x20, 0x90, 0xEE, 0x20, + 0xCE, 0x02, 0xA9, 0x01, 0x8D, 0x42, 0x0B, 0xAD, + 0x42, 0x0B, 0x38, 0xED, 0x05, 0x0B, 0x85, 0x30, + 0x90, 0x05, 0xF0, 0x03, 0x4C, 0xF6, 0xE5, 0xA9, + 0x00, 0x8D, 0x43, 0x0B, 0xAD, 0x43, 0x0B, 0x20, + 0xA4, 0xEE, 0xAD, 0x04, 0x0B, 0x20, 0x7A, 0xEB, + 0xB0, 0x0E, 0xAC, 0x43, 0x0B, 0xA9, 0x00, 0x99, + 0x1A, 0x0B, 0xEE, 0x43, 0x0B, 0x4C, 0xC4, 0xE2, + 0xA9, 0x00, 0x8D, 0x46, 0x0B, 0x8D, 0x45, 0x0B, + 0xAA, 0xAD, 0x42, 0x0B, 0x20, 0x07, 0xEB, 0x20, + 0x19, 0xEB, 0x20, 0xF3, 0xEC, 0xA9, 0x02, 0x20, + 0x90, 0xEE, 0xA9, 0x20, 0x20, 0x90, 0xEE, 0x20, + 0x3A, 0x03, 0xA9, 0xAC, 0xA2, 0x09, 0x20, 0x9C, + 0xEF, 0xAD, 0x42, 0x0B, 0xC9, 0x01, 0xD0, 0x0E, + 0xA9, 0x00, 0x8D, 0x71, 0x05, 0x8D, 0x72, 0x05, + 0x8D, 0x73, 0x05, 0x8D, 0x74, 0x05, 0xA9, 0x00, + 0x8D, 0x43, 0x0B, 0xAD, 0x43, 0x0B, 0xCD, 0x04, + 0x0B, 0x90, 0x03, 0x4C, 0xFD, 0xE3, 0xA0, 0x00, + 0x20, 0x76, 0x05, 0xAD, 0x06, 0x0B, 0xF0, 0x5C, + 0xAD, 0x74, 0x05, 0x85, 0x23, 0xAD, 0x73, 0x05, + 0x85, 0x22, 0xAE, 0x72, 0x05, 0xAD, 0x71, 0x05, + 0x20, 0xF3, 0xEC, 0xA2, 0x00, 0xA9, 0x3B, 0x20, + 0x8B, 0xEC, 0x20, 0xF3, 0xEC, 0xA2, 0x76, 0xA9, + 0x01, 0x85, 0x22, 0xA9, 0x00, 0x85, 0x23, 0xA9, + 0xEB, 0x20, 0x11, 0xED, 0x49, 0xFF, 0x38, 0x6D, + 0x48, 0x0B, 0x8D, 0x48, 0x0B, 0x8A, 0x49, 0xFF, + 0x6D, 0x49, 0x0B, 0x8D, 0x49, 0x0B, 0xA9, 0x00, + 0x8D, 0x71, 0x05, 0x8D, 0x72, 0x05, 0x8D, 0x73, + 0x05, 0x8D, 0x74, 0x05, 0xAE, 0x49, 0x0B, 0xE0, + 0x80, 0x90, 0x09, 0x8D, 0x48, 0x0B, 0x8D, 0x49, + 0x0B, 0x4C, 0xFD, 0xE3, 0x8D, 0x44, 0x0B, 0xAD, + 0x44, 0x0B, 0xCD, 0x03, 0x0B, 0xB0, 0x11, 0xAC, + 0x44, 0x0B, 0xB9, 0x24, 0x0B, 0xCD, 0x75, 0x05, + 0xF0, 0x06, 0xEE, 0x44, 0x0B, 0x4C, 0x97, 0xE3, + 0xAD, 0x03, 0x0B, 0xCD, 0x44, 0x0B, 0xD0, 0x0C, + 0xAD, 0x43, 0x0B, 0x38, 0xE9, 0x01, 0x8D, 0x43, + 0x0B, 0x4C, 0xF7, 0xE3, 0xAC, 0x44, 0x0B, 0xB9, + 0x24, 0x0B, 0x20, 0xAB, 0x05, 0xA9, 0x20, 0x20, + 0xAB, 0x05, 0xAC, 0x43, 0x0B, 0xB9, 0x15, 0x0B, + 0xCD, 0x44, 0x0B, 0xD0, 0x11, 0xAD, 0x45, 0x0B, + 0x18, 0x69, 0x01, 0x8D, 0x45, 0x0B, 0xAC, 0x43, + 0x0B, 0xA9, 0x01, 0x99, 0x1A, 0x0B, 0xAC, 0x43, + 0x0B, 0xAD, 0x44, 0x0B, 0x99, 0x1F, 0x0B, 0xEE, + 0x43, 0x0B, 0x4C, 0x23, 0xE3, 0xAD, 0x43, 0x0B, + 0xCD, 0x04, 0x0B, 0xB0, 0x15, 0xA9, 0xB0, 0xA2, + 0x09, 0x20, 0x9C, 0xEF, 0xAC, 0x43, 0x0B, 0xA9, + 0x09, 0x99, 0x1F, 0x0B, 0xEE, 0x43, 0x0B, 0x4C, + 0xFD, 0xE3, 0xA9, 0xB3, 0xA2, 0x09, 0x20, 0x9C, + 0xEF, 0xA9, 0x00, 0x8D, 0x43, 0x0B, 0xA2, 0x00, + 0xAD, 0x43, 0x0B, 0xCD, 0x04, 0x0B, 0xB0, 0x64, + 0xAC, 0x43, 0x0B, 0xB9, 0x1F, 0x0B, 0x85, 0x28, + 0x86, 0x29, 0xAC, 0x43, 0x0B, 0xB9, 0x15, 0x0B, + 0xE4, 0x29, 0xD0, 0x04, 0xC5, 0x28, 0xF0, 0x46, + 0x8E, 0x44, 0x0B, 0xAD, 0x44, 0x0B, 0xCD, 0x04, + 0x0B, 0x8A, 0xE9, 0x00, 0xB0, 0x38, 0xAC, 0x43, + 0x0B, 0xB9, 0x1F, 0x0B, 0x85, 0x28, 0xAC, 0x44, + 0x0B, 0xB9, 0x15, 0x0B, 0xE4, 0x29, 0xD0, 0x20, + 0xC5, 0x28, 0xD0, 0x1C, 0xAC, 0x44, 0x0B, 0xB9, + 0x1A, 0x0B, 0xD0, 0x14, 0xAD, 0x46, 0x0B, 0x18, + 0x69, 0x01, 0x8D, 0x46, 0x0B, 0xAC, 0x44, 0x0B, + 0xA9, 0x01, 0x99, 0x1A, 0x0B, 0x4C, 0x8E, 0xE4, + 0xEE, 0x44, 0x0B, 0x4C, 0x4B, 0xE4, 0xEE, 0x43, + 0x0B, 0x4C, 0x26, 0xE4, 0x8E, 0x43, 0x0B, 0xAD, + 0x43, 0x0B, 0xCD, 0x45, 0x0B, 0xB0, 0x0B, 0xA9, + 0x2A, 0x20, 0xAB, 0x05, 0xEE, 0x43, 0x0B, 0x4C, + 0x97, 0xE4, 0xA9, 0x00, 0x8D, 0x43, 0x0B, 0xAD, + 0x43, 0x0B, 0x20, 0xA4, 0xEE, 0xAD, 0x04, 0x0B, + 0x38, 0xED, 0x45, 0x0B, 0x38, 0xED, 0x46, 0x0B, + 0x20, 0x7A, 0xEB, 0xB0, 0x0B, 0xA9, 0x20, 0x20, + 0xAB, 0x05, 0xEE, 0x43, 0x0B, 0x4C, 0xAF, 0xE4, + 0xA9, 0x00, 0x8D, 0x43, 0x0B, 0xAD, 0x43, 0x0B, + 0xCD, 0x46, 0x0B, 0xB0, 0x0B, 0xA9, 0x2B, 0x20, + 0xAB, 0x05, 0xEE, 0x43, 0x0B, 0x4C, 0xD5, 0xE4, + 0xAD, 0x06, 0x0B, 0xF0, 0x48, 0xA9, 0xB6, 0xA2, + 0x09, 0x20, 0x9C, 0xEF, 0xAD, 0x48, 0x0B, 0xAE, + 0x49, 0x0B, 0x20, 0xA6, 0xEE, 0xA9, 0x0A, 0x20, + 0x62, 0xEB, 0x20, 0x20, 0xEB, 0x20, 0xF3, 0xEC, + 0xA9, 0x02, 0x20, 0x90, 0xEE, 0xA9, 0x30, 0x20, + 0x90, 0xEE, 0x20, 0x3A, 0x03, 0xA9, 0x2E, 0x20, + 0xAB, 0x05, 0xAD, 0x48, 0x0B, 0xAE, 0x49, 0x0B, + 0x20, 0xA6, 0xEE, 0xA2, 0x00, 0xA9, 0x0A, 0x20, + 0xCF, 0xED, 0x20, 0x20, 0xEB, 0x20, 0xF3, 0xEC, + 0xA9, 0x01, 0x4C, 0xD0, 0xE5, 0xAD, 0x04, 0x0B, + 0xC9, 0x04, 0xD0, 0x07, 0xA9, 0xC0, 0xA2, 0x09, + 0x20, 0x9C, 0xEF, 0xA9, 0xC3, 0xA2, 0x09, 0x20, + 0x9C, 0xEF, 0xAD, 0x74, 0x05, 0x85, 0x23, 0xAD, + 0x73, 0x05, 0x85, 0x22, 0xAE, 0x72, 0x05, 0xAD, + 0x71, 0x05, 0x20, 0xF3, 0xEC, 0xA2, 0x00, 0xA9, + 0x3B, 0x20, 0x8B, 0xEC, 0x20, 0xF3, 0xEC, 0xA2, + 0xA5, 0xA9, 0x0E, 0x85, 0x22, 0xA9, 0x00, 0x85, + 0x23, 0xA9, 0x2E, 0x20, 0x11, 0xED, 0x20, 0xF3, + 0xEC, 0xA2, 0x00, 0xA9, 0x3C, 0x20, 0x0B, 0xED, + 0x20, 0xF3, 0xEC, 0xA9, 0x02, 0x20, 0x90, 0xEE, + 0xA9, 0x30, 0x20, 0x90, 0xEE, 0x20, 0x3A, 0x03, + 0xA9, 0x3A, 0x20, 0xAB, 0x05, 0xAD, 0x74, 0x05, + 0x85, 0x23, 0xAD, 0x73, 0x05, 0x85, 0x22, 0xAE, + 0x72, 0x05, 0xAD, 0x71, 0x05, 0x20, 0xF3, 0xEC, + 0xA2, 0x00, 0xA9, 0x3B, 0x20, 0x8B, 0xEC, 0x20, + 0xF3, 0xEC, 0xA2, 0xA5, 0xA9, 0x0E, 0x85, 0x22, + 0xA9, 0x00, 0x85, 0x23, 0xA9, 0x2E, 0x20, 0x11, + 0xED, 0x20, 0xF3, 0xEC, 0xA2, 0x00, 0xA9, 0x3C, + 0x20, 0x85, 0xED, 0x20, 0xF3, 0xEC, 0xA9, 0x02, + 0x20, 0x90, 0xEE, 0xA9, 0x30, 0x20, 0x90, 0xEE, + 0x20, 0x3A, 0x03, 0xA9, 0x0D, 0x20, 0xAB, 0x05, + 0xAD, 0x04, 0x0B, 0xCD, 0x45, 0x0B, 0xF0, 0x0E, + 0xAD, 0x48, 0x0B, 0x0D, 0x49, 0x0B, 0xF0, 0x06, + 0xEE, 0x42, 0x0B, 0x4C, 0xAF, 0xE2, 0xA9, 0x01, + 0x20, 0x90, 0xEE, 0x20, 0xCE, 0x02, 0xA9, 0xCC, + 0xA2, 0x09, 0x20, 0x9C, 0xEF, 0xA9, 0x00, 0x8D, + 0x42, 0x0B, 0xCD, 0x04, 0x0B, 0xB0, 0x24, 0xAC, + 0x42, 0x0B, 0xB9, 0x15, 0x0B, 0x85, 0x28, 0xA9, + 0x00, 0x18, 0x69, 0x0B, 0x85, 0x29, 0xA0, 0x24, + 0xB1, 0x28, 0x20, 0xAB, 0x05, 0xA9, 0x20, 0x20, + 0xAB, 0x05, 0xAD, 0x42, 0x0B, 0x18, 0x69, 0x01, + 0x4C, 0x07, 0xE6, 0xA9, 0x21, 0x20, 0xAB, 0x05, + 0xAD, 0x04, 0x0B, 0xC9, 0x04, 0xD0, 0x07, 0xA9, + 0xD2, 0xA2, 0x09, 0x20, 0x9C, 0xEF, 0xAD, 0x04, + 0x0B, 0xCD, 0x45, 0x0B, 0xF0, 0x03, 0x4C, 0xCE, + 0xE7, 0xAD, 0xD4, 0x0A, 0xAE, 0xD5, 0x0A, 0x20, + 0x9C, 0xEF, 0xAD, 0x47, 0x0B, 0xC9, 0x02, 0xD0, + 0x12, 0xA9, 0x58, 0x38, 0xED, 0x48, 0x0B, 0x8D, + 0x48, 0x0B, 0xA9, 0x02, 0xED, 0x49, 0x0B, 0xAA, + 0x4C, 0xA2, 0xE6, 0xAD, 0x74, 0x05, 0x85, 0x23, + 0xAD, 0x73, 0x05, 0x85, 0x22, 0xAE, 0x72, 0x05, + 0xAD, 0x71, 0x05, 0x20, 0xF3, 0xEC, 0xA2, 0x00, + 0xA9, 0x3B, 0x20, 0x8B, 0xEC, 0x20, 0xF3, 0xEC, + 0xA2, 0xA5, 0xA9, 0x0E, 0x85, 0x22, 0xA9, 0x00, + 0x85, 0x23, 0xA9, 0x2E, 0x20, 0x11, 0xED, 0x8D, + 0x48, 0x0B, 0x8E, 0x49, 0x0B, 0xA2, 0x00, 0xAD, + 0x47, 0x0B, 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, + 0x4A, 0xA8, 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, + 0xA6, 0xEE, 0x20, 0x5A, 0xEC, 0x20, 0xA8, 0xEB, + 0xA0, 0x00, 0x20, 0xFF, 0xEE, 0xA2, 0x00, 0xAD, + 0x47, 0x0B, 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, + 0x4A, 0xA8, 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, + 0x5A, 0xEC, 0xE0, 0x00, 0xD0, 0x3A, 0xC9, 0x01, + 0xD0, 0x36, 0xAD, 0x47, 0x0B, 0x0A, 0x90, 0x02, + 0xE8, 0x18, 0x69, 0x56, 0xA8, 0x8A, 0x69, 0x0B, + 0xAA, 0x98, 0x20, 0xA6, 0xEE, 0xA2, 0x00, 0xAD, + 0x47, 0x0B, 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, + 0x5C, 0xA8, 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, + 0xA6, 0xEE, 0xAD, 0x48, 0x0B, 0xAE, 0x49, 0x0B, + 0xA0, 0x00, 0x20, 0xFF, 0xEE, 0x4C, 0xF4, 0xE7, + 0xA2, 0x00, 0xAD, 0x47, 0x0B, 0x0A, 0x90, 0x02, + 0xE8, 0x18, 0x69, 0x56, 0xA8, 0x8A, 0x69, 0x0B, + 0xAA, 0x98, 0x20, 0xA6, 0xEE, 0xA2, 0x00, 0xAD, + 0x47, 0x0B, 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, + 0x56, 0xA8, 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, + 0xBC, 0xEE, 0xA2, 0x00, 0xAD, 0x47, 0x0B, 0x0A, + 0x90, 0x02, 0xE8, 0x18, 0x69, 0x4A, 0xA8, 0x8A, + 0x69, 0x0B, 0xAA, 0x98, 0x20, 0x5A, 0xEC, 0x20, + 0x4E, 0xEB, 0x20, 0xE3, 0xED, 0x18, 0x6D, 0x48, + 0x0B, 0x48, 0x8A, 0x6D, 0x49, 0x0B, 0xAA, 0x68, + 0x20, 0xA6, 0xEE, 0xA2, 0x00, 0xAD, 0x47, 0x0B, + 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, 0x4A, 0xA8, + 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, 0x5A, 0xEC, + 0x20, 0x31, 0xEF, 0xA0, 0x00, 0x20, 0xFF, 0xEE, + 0xAD, 0x48, 0x0B, 0xAE, 0x49, 0x0B, 0x20, 0xA6, + 0xEE, 0xA2, 0x00, 0xAD, 0x47, 0x0B, 0x0A, 0x90, + 0x02, 0xE8, 0x18, 0x69, 0x5C, 0xA8, 0x8A, 0x69, + 0x0B, 0xAA, 0x98, 0x20, 0x5A, 0xEC, 0x20, 0x7C, + 0xEB, 0xB0, 0x4C, 0xA2, 0x00, 0xAD, 0x47, 0x0B, + 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, 0x5C, 0x85, + 0x28, 0x8A, 0x69, 0x0B, 0x85, 0x29, 0xAD, 0x48, + 0x0B, 0xA0, 0x00, 0x91, 0x28, 0xC8, 0xAD, 0x49, + 0x0B, 0x91, 0x28, 0x4C, 0xF7, 0xE7, 0xAD, 0xD6, + 0x0A, 0xAE, 0xD7, 0x0A, 0x20, 0x9C, 0xEF, 0xA2, + 0x00, 0xAD, 0x47, 0x0B, 0x0A, 0x90, 0x02, 0xE8, + 0x18, 0x69, 0x50, 0xA8, 0x8A, 0x69, 0x0B, 0xAA, + 0x98, 0x20, 0xA6, 0xEE, 0x20, 0x5A, 0xEC, 0x20, + 0xA8, 0xEB, 0xA0, 0x00, 0x20, 0xFF, 0xEE, 0xA9, + 0x02, 0x20, 0x90, 0xEE, 0x20, 0xCE, 0x02, 0xA9, + 0x0D, 0x20, 0xAB, 0x05, 0xAD, 0xD8, 0x0A, 0xAE, + 0xD9, 0x0A, 0x20, 0x9C, 0xEF, 0xA9, 0x00, 0x8D, + 0x75, 0x05, 0xAD, 0x75, 0x05, 0xC9, 0x4E, 0xF0, + 0x0F, 0xAD, 0x75, 0x05, 0xC9, 0x59, 0xF0, 0x08, + 0xA0, 0x00, 0x20, 0x76, 0x05, 0x4C, 0x12, 0xE8, + 0xAD, 0x75, 0x05, 0x20, 0xAB, 0x05, 0xA0, 0x00, + 0x20, 0x24, 0x03, 0xAD, 0x75, 0x05, 0xC9, 0x59, + 0xD0, 0x03, 0x4C, 0xA5, 0xE0, 0xA9, 0xD4, 0xA2, + 0x09, 0x20, 0x9C, 0xEF, 0xA9, 0xDC, 0xA2, 0x09, + 0x20, 0x9C, 0xEF, 0xA9, 0x05, 0xA2, 0x0A, 0x20, + 0x9C, 0xEF, 0xA9, 0x00, 0x8D, 0x42, 0x0B, 0xAD, + 0x42, 0x0B, 0xC9, 0x03, 0x90, 0x03, 0x4C, 0xDE, + 0xEA, 0xA2, 0x00, 0xAD, 0x42, 0x0B, 0x0A, 0x90, + 0x02, 0xE8, 0x18, 0x69, 0x4A, 0xA8, 0x8A, 0x69, + 0x0B, 0xAA, 0x98, 0x20, 0x5A, 0xEC, 0x85, 0x22, + 0x86, 0x23, 0xA2, 0x00, 0xAD, 0x42, 0x0B, 0x0A, + 0x90, 0x02, 0xE8, 0x18, 0x69, 0x50, 0xA8, 0x8A, + 0x69, 0x0B, 0xAA, 0x98, 0x20, 0x5A, 0xEC, 0x18, + 0x65, 0x22, 0x48, 0x8A, 0x65, 0x23, 0xAA, 0x68, + 0xE0, 0x00, 0xD0, 0x07, 0xC9, 0x00, 0xD0, 0x03, + 0x4C, 0xD8, 0xEA, 0xA2, 0x00, 0xAD, 0x42, 0x0B, + 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, 0x3C, 0xA8, + 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, 0x5A, 0xEC, + 0x20, 0x9C, 0xEF, 0xA9, 0x2F, 0xA2, 0x0A, 0x20, + 0x9C, 0xEF, 0xA2, 0x00, 0xAD, 0x42, 0x0B, 0x0A, + 0x90, 0x02, 0xE8, 0x18, 0x69, 0x4A, 0xA8, 0x8A, + 0x69, 0x0B, 0xAA, 0x98, 0x20, 0x5A, 0xEC, 0x20, + 0x19, 0xEB, 0x20, 0xF3, 0xEC, 0xA9, 0x04, 0x20, + 0x90, 0xEE, 0xA9, 0x20, 0x20, 0x90, 0xEE, 0x20, + 0x3A, 0x03, 0xA9, 0x35, 0xA2, 0x0A, 0x20, 0x9C, + 0xEF, 0xA2, 0x00, 0xAD, 0x42, 0x0B, 0x0A, 0x90, + 0x02, 0xE8, 0x18, 0x69, 0x50, 0xA8, 0x8A, 0x69, + 0x0B, 0xAA, 0x98, 0x20, 0x5A, 0xEC, 0x20, 0x19, + 0xEB, 0x20, 0xF3, 0xEC, 0xA9, 0x04, 0x20, 0x90, + 0xEE, 0xA9, 0x20, 0x20, 0x90, 0xEE, 0x20, 0x3A, + 0x03, 0xA9, 0x3A, 0xA2, 0x0A, 0x20, 0x9C, 0xEF, + 0xA2, 0x00, 0xAD, 0x42, 0x0B, 0x0A, 0x90, 0x02, + 0xE8, 0x18, 0x69, 0x56, 0xA8, 0x8A, 0x69, 0x0B, + 0xAA, 0x98, 0x20, 0x5A, 0xEC, 0xE0, 0x00, 0xD0, + 0x0E, 0xC9, 0x00, 0xD0, 0x0A, 0xA9, 0x3F, 0xA2, + 0x0A, 0x20, 0x9C, 0xEF, 0x4C, 0xD8, 0xEA, 0xAD, + 0x42, 0x0B, 0xC9, 0x02, 0x90, 0x03, 0x4C, 0x0E, + 0xEA, 0xA2, 0x00, 0xAD, 0x42, 0x0B, 0x0A, 0x90, + 0x02, 0xE8, 0x18, 0x69, 0x56, 0xA8, 0x8A, 0x69, + 0x0B, 0xAA, 0x98, 0x20, 0xBC, 0xEE, 0xA9, 0x3C, + 0x20, 0x2F, 0xEF, 0x20, 0x19, 0xEB, 0x20, 0xF3, + 0xEC, 0xA9, 0x02, 0x20, 0x90, 0xEE, 0xA9, 0x30, + 0x20, 0x90, 0xEE, 0x20, 0x3A, 0x03, 0xA9, 0x3A, + 0x20, 0xAB, 0x05, 0xA2, 0x00, 0xAD, 0x42, 0x0B, + 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, 0x56, 0xA8, + 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, 0xBC, 0xEE, + 0xA9, 0x3C, 0x20, 0x7E, 0xEF, 0x20, 0x19, 0xEB, + 0x20, 0xF3, 0xEC, 0xA9, 0x02, 0x20, 0x90, 0xEE, + 0xA9, 0x30, 0x20, 0x90, 0xEE, 0x20, 0x3A, 0x03, + 0xA9, 0x4D, 0xA2, 0x0A, 0x20, 0x9C, 0xEF, 0xA2, + 0x00, 0xAD, 0x42, 0x0B, 0x0A, 0x90, 0x02, 0xE8, + 0x18, 0x69, 0x5C, 0xA8, 0x8A, 0x69, 0x0B, 0xAA, + 0x98, 0x20, 0xBC, 0xEE, 0xA9, 0x3C, 0x20, 0x2F, + 0xEF, 0x20, 0x19, 0xEB, 0x20, 0xF3, 0xEC, 0xA9, + 0x02, 0x20, 0x90, 0xEE, 0xA9, 0x30, 0x20, 0x90, + 0xEE, 0x20, 0x3A, 0x03, 0xA9, 0x3A, 0x20, 0xAB, + 0x05, 0xA2, 0x00, 0xAD, 0x42, 0x0B, 0x0A, 0x90, + 0x02, 0xE8, 0x18, 0x69, 0x5C, 0xA8, 0x8A, 0x69, + 0x0B, 0xAA, 0x98, 0x20, 0xBC, 0xEE, 0xA9, 0x3C, + 0x20, 0x7E, 0xEF, 0x20, 0x19, 0xEB, 0x20, 0xF3, + 0xEC, 0xA9, 0x02, 0x4C, 0xCD, 0xEA, 0xA9, 0x20, + 0x20, 0xAB, 0x05, 0xA2, 0x00, 0xAD, 0x42, 0x0B, + 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, 0x56, 0xA8, + 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, 0xBC, 0xEE, + 0xA9, 0x0A, 0x20, 0x2F, 0xEF, 0x20, 0x19, 0xEB, + 0x20, 0xF3, 0xEC, 0xA9, 0x02, 0x20, 0x90, 0xEE, + 0xA9, 0x20, 0x20, 0x90, 0xEE, 0x20, 0x3A, 0x03, + 0xA9, 0x2E, 0x20, 0xAB, 0x05, 0xA2, 0x00, 0xAD, + 0x42, 0x0B, 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, + 0x56, 0xA8, 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, + 0xBC, 0xEE, 0xA9, 0x0A, 0x20, 0x7E, 0xEF, 0x20, + 0x19, 0xEB, 0x20, 0xF3, 0xEC, 0xA9, 0x01, 0x20, + 0x90, 0xEE, 0xA9, 0x30, 0x20, 0x90, 0xEE, 0x20, + 0x3A, 0x03, 0xA9, 0x51, 0xA2, 0x0A, 0x20, 0x9C, + 0xEF, 0xA2, 0x00, 0xAD, 0x42, 0x0B, 0x0A, 0x90, + 0x02, 0xE8, 0x18, 0x69, 0x5C, 0xA8, 0x8A, 0x69, + 0x0B, 0xAA, 0x98, 0x20, 0xBC, 0xEE, 0xA9, 0x0A, + 0x20, 0x2F, 0xEF, 0x20, 0x19, 0xEB, 0x20, 0xF3, + 0xEC, 0xA9, 0x02, 0x20, 0x90, 0xEE, 0xA9, 0x20, + 0x20, 0x90, 0xEE, 0x20, 0x3A, 0x03, 0xA9, 0x2E, + 0x20, 0xAB, 0x05, 0xA2, 0x00, 0xAD, 0x42, 0x0B, + 0x0A, 0x90, 0x02, 0xE8, 0x18, 0x69, 0x5C, 0xA8, + 0x8A, 0x69, 0x0B, 0xAA, 0x98, 0x20, 0xBC, 0xEE, + 0xA9, 0x0A, 0x20, 0x7E, 0xEF, 0x20, 0x19, 0xEB, + 0x20, 0xF3, 0xEC, 0xA9, 0x01, 0x20, 0x90, 0xEE, + 0xA9, 0x30, 0x20, 0x90, 0xEE, 0x20, 0x3A, 0x03, + 0xEE, 0x42, 0x0B, 0x4C, 0x57, 0xE8, 0xA9, 0x56, + 0xA2, 0x0A, 0x20, 0x9C, 0xEF, 0xA2, 0x00, 0x8A, + 0x60, 0x48, 0x20, 0x70, 0xEE, 0x20, 0xF4, 0xEA, + 0x68, 0x4C, 0xEF, 0xFF, 0x18, 0x20, 0x70, 0xEE, + 0x60, 0xC8, 0x48, 0x18, 0x98, 0x65, 0x20, 0x85, + 0x20, 0x90, 0x02, 0xE6, 0x21, 0x68, 0x60, 0xA2, + 0x00, 0x86, 0x22, 0x86, 0x23, 0x60, 0xC9, 0x80, + 0x90, 0xF5, 0xA2, 0xFF, 0x86, 0x22, 0x86, 0x23, + 0x60, 0xA0, 0x00, 0x84, 0x22, 0x84, 0x23, 0x60, + 0xE0, 0x80, 0x90, 0xF5, 0xA0, 0xFF, 0x84, 0x22, + 0x84, 0x23, 0x60, 0xAD, 0x62, 0x0B, 0xAE, 0x63, + 0x0B, 0x20, 0xA6, 0xEE, 0xAD, 0x64, 0x0B, 0xAE, + 0x65, 0x0B, 0x20, 0xA6, 0xEE, 0xA0, 0x04, 0x4C, + 0x00, 0xE0, 0xA0, 0x00, 0xF0, 0x07, 0xA9, 0xBE, + 0xA2, 0x0A, 0x4C, 0xDE, 0x0A, 0x60, 0x38, 0xE9, + 0x01, 0xB0, 0x01, 0xCA, 0x60, 0xA5, 0x20, 0x38, + 0xE9, 0x04, 0x85, 0x20, 0x90, 0x01, 0x60, 0xC6, + 0x21, 0x60, 0xA2, 0x00, 0x20, 0xCB, 0xEE, 0x20, + 0x40, 0xEF, 0xA6, 0x23, 0xA5, 0x30, 0x45, 0x31, + 0x10, 0x05, 0xA5, 0x22, 0x4C, 0x62, 0xEE, 0xA5, + 0x22, 0x60, 0xA2, 0x00, 0x85, 0x22, 0x86, 0x23, + 0xA0, 0x00, 0xB1, 0x20, 0xAA, 0xE6, 0x20, 0xD0, + 0x02, 0xE6, 0x21, 0xB1, 0x20, 0xE6, 0x20, 0xD0, + 0x02, 0xE6, 0x21, 0x38, 0xE5, 0x23, 0xD0, 0x09, + 0xE4, 0x22, 0xF0, 0x04, 0x69, 0xFF, 0x09, 0x01, + 0x60, 0x50, 0xFD, 0x49, 0xFF, 0x09, 0x01, 0x60, + 0x18, 0x69, 0x01, 0x90, 0x01, 0xE8, 0x60, 0xE6, + 0x20, 0xD0, 0x02, 0xE6, 0x21, 0x60, 0xA0, 0x01, + 0xB1, 0x20, 0xAA, 0x88, 0xB1, 0x20, 0xE6, 0x20, + 0xF0, 0x05, 0xE6, 0x20, 0xF0, 0x03, 0x60, 0xE6, + 0x20, 0xE6, 0x21, 0x60, 0xA0, 0x04, 0x4C, 0xFA, + 0xEA, 0xA0, 0x06, 0x4C, 0xFA, 0xEA, 0xA0, 0x00, + 0x84, 0x22, 0x84, 0x23, 0x18, 0xA0, 0x00, 0x71, + 0x20, 0xC8, 0x85, 0x30, 0x8A, 0x71, 0x20, 0xAA, + 0xC8, 0xA5, 0x22, 0x71, 0x20, 0x85, 0x22, 0xC8, + 0xA5, 0x23, 0x71, 0x20, 0x85, 0x23, 0xA5, 0x30, + 0x4C, 0xF9, 0xEA, 0xA0, 0x00, 0x84, 0x22, 0x84, + 0x23, 0xA0, 0x00, 0x31, 0x20, 0x85, 0x30, 0xC8, + 0x8A, 0x31, 0x20, 0xAA, 0xC8, 0xA5, 0x22, 0x31, + 0x20, 0x85, 0x22, 0xC8, 0xA5, 0x23, 0x31, 0x20, + 0x85, 0x23, 0xA5, 0x30, 0x4C, 0xF9, 0xEA, 0x85, + 0x28, 0x86, 0x29, 0xA0, 0x03, 0xB1, 0x20, 0x38, + 0xE5, 0x23, 0xD0, 0x22, 0x88, 0xB1, 0x20, 0xC5, + 0x22, 0xD0, 0x0C, 0x88, 0xB1, 0x20, 0xC5, 0x29, + 0xD0, 0x05, 0x88, 0xB1, 0x20, 0xC5, 0x28, 0x08, + 0x20, 0xCC, 0xEB, 0x28, 0xF0, 0x04, 0xB0, 0x03, + 0xA9, 0xFF, 0x60, 0xA9, 0x01, 0x60, 0x50, 0x04, + 0x49, 0xFF, 0x09, 0x01, 0x08, 0x20, 0xCC, 0xEB, + 0x28, 0x60, 0xA0, 0x01, 0x85, 0x28, 0x86, 0x29, + 0xB1, 0x28, 0xAA, 0x88, 0xB1, 0x28, 0x60, 0xA0, + 0x03, 0xB1, 0x20, 0x85, 0x23, 0x88, 0xB1, 0x20, + 0x85, 0x22, 0x88, 0xB1, 0x20, 0xAA, 0x88, 0xB1, + 0x20, 0x60, 0x84, 0x2E, 0x18, 0x65, 0x2E, 0x90, + 0x09, 0xE8, 0xD0, 0x06, 0xE6, 0x22, 0xD0, 0x02, + 0xE6, 0x23, 0x60, 0xA0, 0x00, 0x84, 0x22, 0x84, + 0x23, 0x85, 0x28, 0x86, 0x29, 0xA0, 0x00, 0xB1, + 0x20, 0x85, 0x2C, 0xC8, 0xB1, 0x20, 0x85, 0x2D, + 0xC8, 0xB1, 0x20, 0x85, 0x2E, 0xC8, 0xB1, 0x20, + 0x85, 0x2F, 0x20, 0xF9, 0xEA, 0xA9, 0x00, 0x85, + 0x33, 0x85, 0x32, 0x85, 0x31, 0xA0, 0x20, 0x46, + 0x33, 0x66, 0x32, 0x66, 0x31, 0x6A, 0x66, 0x23, + 0x66, 0x22, 0x66, 0x29, 0x66, 0x28, 0x90, 0x17, + 0x18, 0x65, 0x2C, 0x48, 0xA5, 0x2D, 0x65, 0x31, + 0x85, 0x31, 0xA5, 0x2E, 0x65, 0x32, 0x85, 0x32, + 0xA5, 0x2F, 0x65, 0x33, 0x85, 0x33, 0x68, 0x88, + 0x10, 0xD5, 0xA5, 0x28, 0xA6, 0x29, 0x60, 0x20, + 0x1F, 0xEC, 0x4C, 0x9E, 0xED, 0xA0, 0x00, 0x84, + 0x22, 0x84, 0x23, 0x48, 0x20, 0x55, 0xEB, 0xA0, + 0x03, 0xA5, 0x23, 0x91, 0x20, 0x88, 0xA5, 0x22, + 0x91, 0x20, 0x88, 0x8A, 0x91, 0x20, 0x88, 0x68, + 0x91, 0x20, 0x60, 0xA0, 0x00, 0x84, 0x22, 0x84, + 0x23, 0x20, 0x1C, 0xED, 0x20, 0x40, 0xED, 0xA5, + 0x28, 0xA6, 0x29, 0x60, 0x85, 0x2C, 0x86, 0x2D, + 0xA5, 0x22, 0x85, 0x2E, 0xA5, 0x23, 0x85, 0x2F, + 0xA0, 0x00, 0xB1, 0x20, 0x85, 0x28, 0xC8, 0xB1, + 0x20, 0x85, 0x29, 0xC8, 0xB1, 0x20, 0x85, 0x22, + 0xC8, 0xB1, 0x20, 0x85, 0x23, 0x4C, 0xF9, 0xEA, + 0xA9, 0x00, 0x85, 0x2B, 0x85, 0x32, 0x85, 0x33, + 0xA0, 0x20, 0x06, 0x28, 0x26, 0x29, 0x26, 0x22, + 0x26, 0x23, 0x2A, 0x26, 0x2B, 0x26, 0x32, 0x26, + 0x33, 0x48, 0xC5, 0x2C, 0xA5, 0x2B, 0xE5, 0x2D, + 0xA5, 0x32, 0xE5, 0x2E, 0xA5, 0x33, 0xE5, 0x2F, + 0x90, 0x14, 0x85, 0x33, 0x68, 0xE5, 0x2C, 0x48, + 0xA5, 0x2B, 0xE5, 0x2D, 0x85, 0x2B, 0xA5, 0x32, + 0xE5, 0x2E, 0x85, 0x32, 0xE6, 0x28, 0x68, 0x88, + 0xD0, 0xC8, 0x85, 0x2A, 0x60, 0xA0, 0x00, 0x84, + 0x22, 0x84, 0x23, 0x20, 0x1C, 0xED, 0x20, 0x40, + 0xED, 0xA5, 0x32, 0x85, 0x22, 0xA5, 0x33, 0x85, + 0x23, 0xA5, 0x2A, 0xA6, 0x2B, 0x60, 0xD0, 0x2A, + 0xA2, 0x00, 0x8A, 0x60, 0xF0, 0x24, 0xA2, 0x00, + 0x8A, 0x60, 0xF0, 0x1E, 0x30, 0x1C, 0xA2, 0x00, + 0x8A, 0x60, 0xF0, 0x02, 0x10, 0x14, 0xA2, 0x00, + 0x8A, 0x60, 0xF0, 0x0E, 0x90, 0x0C, 0xA2, 0x00, + 0x8A, 0x60, 0xF0, 0x02, 0xB0, 0x04, 0xA2, 0x00, + 0x8A, 0x60, 0xA2, 0x00, 0xA9, 0x01, 0x60, 0xA2, + 0x00, 0x20, 0xCB, 0xEE, 0x20, 0x40, 0xEF, 0xA5, + 0x28, 0xA6, 0x29, 0x24, 0x30, 0x10, 0x03, 0x4C, + 0x62, 0xEE, 0x60, 0x85, 0x2E, 0x8A, 0xF0, 0x2E, + 0x86, 0x2F, 0x20, 0x7C, 0xEE, 0xA9, 0x00, 0xA6, + 0x23, 0xF0, 0x26, 0x85, 0x30, 0xA0, 0x10, 0x46, + 0x2F, 0x66, 0x2E, 0x90, 0x0A, 0x18, 0x65, 0x22, + 0x48, 0x8A, 0x65, 0x30, 0x85, 0x30, 0x68, 0x66, + 0x30, 0x6A, 0x66, 0x2F, 0x66, 0x2E, 0x88, 0xD0, + 0xEA, 0xA5, 0x2E, 0xA6, 0x2F, 0x60, 0x4C, 0x2A, + 0xEE, 0xA4, 0x22, 0xA6, 0x2E, 0x86, 0x22, 0xA6, + 0x2F, 0x84, 0x2E, 0xA0, 0x08, 0x4C, 0x35, 0xEE, + 0x85, 0x2E, 0x20, 0x7C, 0xEE, 0xA9, 0x00, 0xA0, + 0x08, 0xA6, 0x23, 0xF0, 0x1C, 0x85, 0x2F, 0x46, + 0x2E, 0x90, 0x0A, 0x18, 0x65, 0x22, 0x48, 0x8A, + 0x65, 0x2F, 0x85, 0x2F, 0x68, 0x66, 0x2F, 0x6A, + 0x66, 0x2E, 0x88, 0xD0, 0xEC, 0xAA, 0xA5, 0x2E, + 0x60, 0x46, 0x2E, 0x90, 0x03, 0x18, 0x65, 0x22, + 0x6A, 0x66, 0x2E, 0x88, 0xD0, 0xF5, 0xAA, 0xA5, + 0x2E, 0x60, 0x18, 0x49, 0xFF, 0x69, 0x01, 0x48, + 0x8A, 0x49, 0xFF, 0x69, 0x00, 0xAA, 0x68, 0x60, + 0xA0, 0x00, 0xB1, 0x20, 0xE6, 0x20, 0xF0, 0x01, + 0x60, 0xE6, 0x21, 0x60, 0x48, 0xA0, 0x01, 0xB1, + 0x20, 0x85, 0x23, 0x88, 0xB1, 0x20, 0x85, 0x22, + 0x68, 0x4C, 0xBE, 0xEB, 0xA0, 0x00, 0xB1, 0x20, + 0xA4, 0x20, 0xF0, 0x07, 0xC6, 0x20, 0xA0, 0x00, + 0x91, 0x20, 0x60, 0xC6, 0x21, 0xC6, 0x20, 0x91, + 0x20, 0x60, 0xA9, 0x00, 0xA2, 0x00, 0x48, 0xA5, + 0x20, 0x38, 0xE9, 0x02, 0x85, 0x20, 0xB0, 0x02, + 0xC6, 0x21, 0xA0, 0x01, 0x8A, 0x91, 0x20, 0x68, + 0x88, 0x91, 0x20, 0x60, 0xA0, 0x01, 0x85, 0x28, + 0x86, 0x29, 0xB1, 0x28, 0xAA, 0x88, 0xB1, 0x28, + 0x4C, 0xA6, 0xEE, 0x86, 0x31, 0xE0, 0x00, 0x10, + 0x03, 0x20, 0x62, 0xEE, 0x85, 0x2E, 0x86, 0x2F, + 0x20, 0xB6, 0xEB, 0x86, 0x30, 0xE0, 0x00, 0x10, + 0x03, 0x20, 0x62, 0xEE, 0x85, 0x22, 0x86, 0x23, + 0x60, 0x48, 0x84, 0x30, 0xA0, 0x01, 0xB1, 0x20, + 0x85, 0x29, 0x88, 0xB1, 0x20, 0x85, 0x28, 0xA4, + 0x30, 0x68, 0x91, 0x28, 0x4C, 0xBE, 0xEB, 0x84, + 0x30, 0x48, 0xA0, 0x01, 0xB1, 0x20, 0x85, 0x29, + 0x88, 0xB1, 0x20, 0x85, 0x28, 0xA4, 0x30, 0xC8, + 0x8A, 0x91, 0x28, 0x88, 0x68, 0x91, 0x28, 0x4C, + 0xBE, 0xEB, 0xA0, 0x00, 0x91, 0x20, 0xC8, 0x48, + 0x8A, 0x91, 0x20, 0xC8, 0xA5, 0x22, 0x91, 0x20, + 0xC8, 0xA5, 0x23, 0x91, 0x20, 0x68, 0x60, 0xA2, + 0x00, 0x85, 0x2E, 0x86, 0x2F, 0x20, 0x7C, 0xEE, + 0x20, 0x40, 0xEF, 0xA5, 0x22, 0xA6, 0x23, 0x60, + 0xA9, 0x00, 0x85, 0x29, 0xA0, 0x10, 0xA6, 0x23, + 0xF0, 0x1F, 0x06, 0x22, 0x26, 0x23, 0x2A, 0x26, + 0x29, 0x48, 0xC5, 0x2E, 0xA5, 0x29, 0xE5, 0x2F, + 0x90, 0x08, 0x85, 0x29, 0x68, 0xE5, 0x2E, 0x48, + 0xE6, 0x22, 0x68, 0x88, 0xD0, 0xE4, 0x85, 0x28, + 0x60, 0x06, 0x22, 0x26, 0x23, 0x2A, 0xB0, 0x04, + 0xC5, 0x2E, 0x90, 0x04, 0xE5, 0x2E, 0xE6, 0x22, + 0x88, 0xD0, 0xEE, 0x85, 0x28, 0x60, 0xA2, 0x00, + 0x85, 0x2E, 0x86, 0x2F, 0x20, 0x7C, 0xEE, 0x20, + 0x40, 0xEF, 0xA5, 0x28, 0xA6, 0x29, 0x60, 0x85, + 0x28, 0x86, 0x29, 0x20, 0x70, 0xEE, 0x20, 0xF4, + 0xEA, 0x4C, 0xA0, 0xEF, 0x85, 0x28, 0x86, 0x29, + 0xA0, 0x00, 0xB1, 0x28, 0xF0, 0x0E, 0xC8, 0x84, + 0x30, 0x20, 0xF1, 0xEA, 0xA4, 0x30, 0xD0, 0xF2, + 0xE6, 0x29, 0xD0, 0xEE, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + ]] +}; diff --git a/tapes/hamurabi.js b/tapes/hamurabi.js new file mode 100644 index 0000000..e99c0f9 --- /dev/null +++ b/tapes/hamurabi.js @@ -0,0 +1,454 @@ +/* +C100R +004A.00FFR 0300.0FFFR +E2B3R +RUN +*/ + +/*globals tapes: true */ + +tapes['Hamurabi'] = { + script: 'C100R\n004A.00FFR 0300.0FFFR\nE2B3R\nRUN\n', + tracks: [[ // 004A.00FF + 0x00, 0x03, 0x00, 0x10, 0xE0, 0x1F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x8F, 0x2F, 0x01, 0x64, + 0xED, 0xED, 0xED, 0xED, 0xEC, 0xED, 0xED, 0xED, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x10, 0x0F, + 0x59, 0x7D, 0x7D, 0x7D, 0x68, 0x80, 0xE4, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFE, 0x03, + 0x20, 0x19, 0x36, 0xFF, 0xFF, 0x02, 0x02, 0xFF, + 0xFF, 0xB9, 0xF3, 0x04, 0x97, 0x03, 0xD3, 0xE8, + 0x5B, 0x03, 0x97, 0x03, 0x00, 0x00, 0x01, 0x00, + 0x21, 0x7F, 0x64, 0x0F, 0x76, 0x0F, 0x00, 0x00, + 0x7A, 0x0F, 0x77, 0x07, 0x60, 0x0F, 0x76, 0x0F, + 0x43, 0x41, 0x4C, 0x64, 0x03, 0x03, 0x04, 0x04, + 0x03, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xB0, 0x00, 0x00, 0x00, 0x20, 0x00, 0xED + ],[ + 0x9E, 0x40, 0x0A, 0x03, 0xB5, 0xB0, 0xB0, 0x1E, + 0x1E, 0x00, 0x90, 0x40, 0x19, 0x03, 0xB0, 0xB1, + 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, + 0x1E, 0x88, 0xB1, 0x1F, 0x03, 0x01, 0x00, 0xA0, + 0xB1, 0x25, 0x03, 0x00, 0x00, 0xB4, 0x00, 0x2B, + 0x03, 0x01, 0x00, 0xA0, 0x00, 0x31, 0x03, 0x64, + 0x00, 0xA6, 0x00, 0x37, 0x03, 0x5A, 0x0A, 0x90, + 0x00, 0x3D, 0x03, 0xDC, 0x05, 0x8A, 0x00, 0x43, + 0x03, 0x00, 0x00, 0xB2, 0x00, 0x49, 0x03, 0x03, + 0x00, 0x82, 0x00, 0x4F, 0x03, 0x1A, 0x04, 0x92, + 0x00, 0x55, 0x03, 0x06, 0x00, 0xA2, 0x00, 0x5B, + 0x03, 0xFD, 0xFF, 0x88, 0x00, 0x61, 0x03, 0x5A, + 0x00, 0x86, 0x00, 0x67, 0x03, 0x0A, 0x00, 0x9E, + 0xB1, 0x6D, 0x03, 0xF4, 0x01, 0x9E, 0xB2, 0x73, + 0x03, 0x64, 0x00, 0x9E, 0xB3, 0x79, 0x03, 0x00, + 0x00, 0x9E, 0xB4, 0x7F, 0x03, 0x0B, 0x00, 0x86, + 0xB9, 0x85, 0x03, 0x00, 0x00, 0x82, 0xB9, 0x8B, + 0x03, 0x0A, 0x00, 0xA6, 0xB9, 0x91, 0x03, 0x1A, + 0x00, 0x92, 0xB9, 0x97, 0x03, 0xA6, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x25, 0x05, 0x00, 0x4E, 0xCF, + 0x40, 0x22, 0xB5, 0x05, 0x00, 0x72, 0x03, 0x4E, + 0xC8, 0x40, 0x22, 0xB1, 0x0A, 0x00, 0x72, 0x03, + 0xC8, 0x40, 0x70, 0x28, 0xB0, 0xB1, 0xB2, 0xB3, + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0x29, 0x01, + 0x07, 0x4B, 0x00, 0x63, 0x03, 0x63, 0x01, 0x29, + 0x50, 0x00, 0x61, 0x28, 0xD4, 0xD2, 0xD9, 0xA0, + 0xD9, 0xCF, 0xD5, 0xD2, 0xA0, 0xC8, 0xC1, 0xCE, + 0xC4, 0xA0, 0xC1, 0xD4, 0xA0, 0xC7, 0xCF, 0xD6, + 0xC5, 0xD2, 0xCE, 0xC9, 0xCE, 0xC7, 0xA0, 0xC1, + 0xCE, 0xC3, 0xC9, 0xC5, 0xCE, 0xD4, 0x29, 0x01, + 0x2E, 0x52, 0x00, 0x61, 0x28, 0xD3, 0xD5, 0xCD, + 0xC5, 0xD2, 0xC9, 0xC1, 0xA0, 0xD3, 0xD5, 0xC3, + 0xC3, 0xC5, 0xD3, 0xD3, 0xC6, 0xD5, 0xCC, 0xCC, + 0xD9, 0xA0, 0xC6, 0xCF, 0xD2, 0xA0, 0xC1, 0xA0, + 0xB1, 0xB0, 0xAD, 0xD9, 0xC5, 0xC1, 0xD2, 0xA0, + 0xD4, 0xC5, 0xD2, 0xCD, 0x29, 0x01, 0x11, 0x55, + 0x00, 0x61, 0x28, 0xCF, 0xC6, 0xA0, 0xCF, 0xC6, + 0xC6, 0xC9, 0xC3, 0xC5, 0xAE, 0x29, 0x01, 0x11, + 0x5F, 0x00, 0xC4, 0xB1, 0x71, 0xB1, 0x01, 0x00, + 0x03, 0xD0, 0xB1, 0x71, 0xB0, 0x00, 0x00, 0x01, + 0x21, 0x64, 0x00, 0xDA, 0x71, 0xB0, 0x00, 0x00, + 0x03, 0xD0, 0x71, 0xB9, 0x5F, 0x00, 0x03, 0xD3, + 0x71, 0xB2, 0xF0, 0x0A, 0x03, 0xC8, 0x71, 0xB3, + 0xB8, 0x0B, 0x03, 0xC5, 0x71, 0xC8, 0x13, 0xD3, + 0x01, 0x1B, 0x6E, 0x00, 0xD9, 0x71, 0xB3, 0x03, + 0x00, 0x03, 0xC1, 0x71, 0xC8, 0x15, 0xD9, 0x03, + 0xC9, 0x71, 0xB5, 0x05, 0x00, 0x03, 0xD1, 0x71, + 0xB1, 0x01, 0x00, 0x01, 0x09, 0xD2, 0x00, 0xC4, + 0x71, 0xB0, 0x00, 0x00, 0x01, 0x2C, 0xD7, 0x00, + 0x63, 0x03, 0x63, 0x03, 0x61, 0x28, 0xC8, 0xC1, + 0xCD, 0xD5, 0xD2, 0xC1, 0xC2, 0xC9, 0xBA, 0xA0, + 0xC9, 0xA0, 0xC2, 0xC5, 0xC7, 0xA0, 0xD4, 0xCF, + 0xA0, 0xD2, 0xC5, 0xD0, 0xCF, 0xD2, 0xD4, 0xA0, + 0xD4, 0xCF, 0xA0, 0xD9, 0xCF, 0xD5, 0xAC, 0x29, + 0x01, 0x4B, 0xD8, 0x00, 0xDA, 0x71, 0xDA, 0x12, + 0xB1, 0x01, 0x00, 0x03, 0x61, 0x28, 0xC9, 0xCE, + 0xA0, 0xD9, 0xC5, 0xC1, 0xD2, 0xA0, 0x29, 0x46, + 0xDA, 0x45, 0x28, 0xAC, 0xA0, 0x29, 0x46, 0xC4, + 0x45, 0x28, 0xA0, 0xD0, 0xC5, 0xCF, 0xD0, 0xCC, + 0xC5, 0xA0, 0xD3, 0xD4, 0xC1, 0xD2, 0xD6, 0xC5, + 0xC4, 0xAC, 0x29, 0x03, 0x62, 0xC9, 0x45, 0x28, + 0xA0, 0xC3, 0xC1, 0xCD, 0xC5, 0xA0, 0xD4, 0xCF, + 0xA0, 0xD4, 0xC8, 0xC5, 0xA0, 0xC3, 0xC9, 0xD4, + 0xD9, 0xAE, 0x29, 0x01, 0x09, 0xDA, 0x00, 0xD0, + 0x71, 0xD0, 0x12, 0xC9, 0x01, 0x0E, 0xE3, 0x00, + 0x60, 0xD1, 0x19, 0xB0, 0x00, 0x00, 0x24, 0xB2, + 0xE6, 0x00, 0x01, 0x0B, 0xE4, 0x00, 0xD0, 0x71, + 0xD0, 0x15, 0xB2, 0x02, 0x00, 0x01, 0x46, 0xE5, + 0x00, 0x61, 0x28, 0xC1, 0xA0, 0xC8, 0xCF, 0xD2, + 0xD2, 0xC9, 0xC2, 0xCC, 0xC5, 0xA0, 0xD0, 0xCC, + 0xC1, 0xC7, 0xD5, 0xC5, 0xA0, 0xD3, 0xD4, 0xD2, + 0xD5, 0xC3, 0xCB, 0xA1, 0xA1, 0xA1, 0x29, 0x03, + 0x61, 0x28, 0xAD, 0xAD, 0xAD, 0xA0, 0xC8, 0xC1, + 0xCC, 0xC6, 0xA0, 0xD4, 0xC8, 0xC5, 0xA0, 0xD0, + 0xCF, 0xD0, 0xD5, 0xCC, 0xC1, 0xD4, 0xC9, 0xCF, + 0xCE, 0xA0, 0xC4, 0xC9, 0xC5, 0xC4, 0xA0, 0xAD, + 0xAD, 0xAD, 0x29, 0x01, 0x1F, 0xE6, 0x00, 0x61, + 0x28, 0xD4, 0xC8, 0xC5, 0xA0, 0xD0, 0xCF, 0xD0, + 0xD5, 0xCC, 0xC1, 0xD4, 0xC9, 0xCF, 0xCE, 0xA0, + 0xC9, 0xD3, 0xA0, 0xCE, 0xCF, 0xD7, 0xA0, 0x29, + 0x46, 0xD0, 0x01, 0x25, 0xE8, 0x00, 0x61, 0x28, + 0xD4, 0xC8, 0xC5, 0xA0, 0xC3, 0xC9, 0xD4, 0xD9, + 0xA0, 0xCE, 0xCF, 0xD7, 0xA0, 0xCF, 0xD7, 0xCE, + 0xD3, 0xA0, 0x29, 0x46, 0xC1, 0x45, 0x28, 0xA0, + 0xC1, 0xC3, 0xD2, 0xC5, 0xD3, 0xAE, 0x29, 0x01, + 0x2C, 0xE9, 0x00, 0x61, 0x28, 0xD9, 0xCF, 0xD5, + 0xA0, 0xC8, 0xC1, 0xD2, 0xD6, 0xC5, 0xD3, 0xD4, + 0xC5, 0xC4, 0xA0, 0x29, 0x46, 0xD9, 0x45, 0x28, + 0xA0, 0xC2, 0xD5, 0xD3, 0xC8, 0xC5, 0xCC, 0xD3, + 0xA0, 0xD0, 0xC5, 0xD2, 0xA0, 0xC1, 0xC3, 0xD2, + 0xC5, 0xAC, 0x29, 0x01, 0x1E, 0xFA, 0x00, 0x61, + 0x28, 0xD2, 0xC1, 0xD4, 0xD3, 0xA0, 0xC1, 0xD4, + 0xC5, 0xA0, 0x29, 0x46, 0xC5, 0x45, 0x28, 0xA0, + 0xC2, 0xD5, 0xD3, 0xC8, 0xC5, 0xCC, 0xD3, 0xAC, + 0x29, 0x01, 0x2D, 0xFC, 0x00, 0x61, 0x28, 0xD9, + 0xCF, 0xD5, 0xA0, 0xCE, 0xCF, 0xD7, 0xA0, 0xC8, + 0xC1, 0xD6, 0xC5, 0xA0, 0x29, 0x46, 0xD3, 0x45, + 0x28, 0xA0, 0xC2, 0xD5, 0xD3, 0xC8, 0xC5, 0xCC, + 0xD3, 0xA0, 0xC9, 0xCE, 0xA0, 0xD3, 0xD4, 0xCF, + 0xD2, 0xC5, 0xAE, 0x29, 0x03, 0x63, 0x01, 0x0E, + 0x0E, 0x01, 0x60, 0xDA, 0x16, 0xB1, 0x0B, 0x00, + 0x24, 0xB8, 0x5C, 0x03, 0x01, 0x18, 0x36, 0x01, + 0xC3, 0x71, 0x2F, 0x3F, 0xB1, 0x0A, 0x00, 0x72, + 0x12, 0xB1, 0x01, 0x00, 0x03, 0xD9, 0x71, 0xC3, + 0x12, 0xB1, 0x11, 0x00, 0x01, 0x31, 0x38, 0x01, + 0x61, 0x28, 0xCC, 0xC1, 0xCE, 0xC4, 0xA0, 0xC9, + 0xD3, 0xA0, 0xD4, 0xD2, 0xC1, 0xC4, 0xC9, 0xCE, + 0xC7, 0xA0, 0xC1, 0xD4, 0xA0, 0x29, 0x46, 0xD9, + 0x45, 0x28, 0xA0, 0xC2, 0xD5, 0xD3, 0xC8, 0xC5, + 0xCC, 0xD3, 0xA0, 0xD0, 0xC5, 0xD2, 0xA0, 0xC1, + 0xC3, 0xD2, 0xC5, 0xAC, 0x29, 0x01, 0x29, 0x40, + 0x01, 0x61, 0x28, 0xC8, 0xCF, 0xD7, 0xA0, 0xCD, + 0xC1, 0xCE, 0xD9, 0xA0, 0xC1, 0xC3, 0xD2, 0xC5, + 0xD3, 0xA0, 0xC4, 0xCF, 0xA0, 0xD9, 0xCF, 0xD5, + 0xA0, 0xD7, 0xC9, 0xD3, 0xC8, 0xA0, 0xD4, 0xCF, + 0xA0, 0xC2, 0xD5, 0xD9, 0x29, 0x47, 0x01, 0x0D, + 0x41, 0x01, 0x5C, 0xB5, 0x88, 0x13, 0x03, 0xD1, + 0x71, 0xCF, 0xB1, 0x01, 0x0E, 0x42, 0x01, 0x60, + 0xD9, 0x14, 0xD1, 0x1A, 0xD3, 0x24, 0xB3, 0x4A, + 0x01, 0x01, 0x08, 0x43, 0x01, 0x5C, 0xB7, 0xC6, + 0x02, 0x01, 0x08, 0x44, 0x01, 0x5F, 0xB3, 0x40, + 0x01, 0x01, 0x10, 0x4A, 0x01, 0x63, 0x03, 0x60, + 0xD1, 0x16, 0xB0, 0x00, 0x00, 0x24, 0xB3, 0x54, + 0x01, 0x01, 0x17, 0x4B, 0x01, 0xC1, 0x71, 0xC1, + 0x12, 0xD1, 0x03, 0xD3, 0x71, 0xD3, 0x13, 0xD9, + 0x14, 0xD1, 0x03, 0xC3, 0x71, 0xB0, 0x00, 0x00, + 0x01, 0x08, 0x4E, 0x01, 0x5F, 0xB4, 0x90, 0x01, + 0x01, 0x2A, 0x54, 0x01, 0x61, 0x28, 0xC8, 0xCF, + 0xD7, 0xA0, 0xCD, 0xC1, 0xCE, 0xD9, 0xA0, 0xC1, + 0xC3, 0xD2, 0xC5, 0xD3, 0xA0, 0xC4, 0xCF, 0xA0, + 0xD9, 0xCF, 0xD5, 0xA0, 0xD7, 0xC9, 0xD3, 0xC8, + 0xA0, 0xD4, 0xCF, 0xA0, 0xD3, 0xC5, 0xCC, 0xCC, + 0x29, 0x47, 0x01, 0x0D, 0x55, 0x01, 0x5C, 0xB5, + 0x88, 0x13, 0x03, 0xD1, 0x71, 0xCF, 0xB1, 0x01, + 0x0C, 0x56, 0x01, 0x60, 0xD1, 0x1C, 0xC1, 0x24, + 0xB3, 0x5E, 0x01, 0x01, 0x08, 0x57, 0x01, 0x5C, + 0xB7, 0xD0, 0x02, 0x01, 0x08, 0x58, 0x01, 0x5F, + 0xB3, 0x54, 0x01, 0x01, 0x17, 0x5E, 0x01, 0xC1, + 0x71, 0xC1, 0x13, 0xD1, 0x03, 0xD3, 0x71, 0xD3, + 0x12, 0xD9, 0x14, 0xD1, 0x03, 0xC3, 0x71, 0xB0, + 0x00, 0x00, 0x01, 0x05, 0x90, 0x01, 0x63, 0x01, + 0x38, 0x9A, 0x01, 0x61, 0x28, 0xC8, 0xCF, 0xD7, + 0xA0, 0xCD, 0xC1, 0xCE, 0xD9, 0xA0, 0xC2, 0xD5, + 0xD3, 0xC8, 0xC5, 0xCC, 0xD3, 0xA0, 0xC4, 0xCF, + 0xA0, 0xD9, 0xCF, 0xD5, 0xA0, 0xD7, 0xC9, 0xD3, + 0xC8, 0xA0, 0xD4, 0xCF, 0xA0, 0xC6, 0xC5, 0xC5, + 0xC4, 0xA0, 0xD9, 0xCF, 0xD5, 0xD2, 0xA0, 0xD0, + 0xC5, 0xCF, 0xD0, 0xCC, 0xC5, 0x29, 0x47, 0x01, + 0x0D, 0x9B, 0x01, 0x5C, 0xB5, 0x88, 0x13, 0x03, + 0xD1, 0x71, 0xCF, 0xB1, 0x01, 0x0C, 0xA4, 0x01, + 0x60, 0xD1, 0x1A, 0xD3, 0x24, 0xB4, 0xAE, 0x01, + 0x01, 0x08, 0xA5, 0x01, 0x5C, 0xB7, 0xC6, 0x02, + 0x01, 0x08, 0xA6, 0x01, 0x5F, 0xB4, 0x9A, 0x01, + 0x01, 0x11, 0xAE, 0x01, 0xD3, 0x71, 0xD3, 0x13, + 0xD1, 0x03, 0xC3, 0x71, 0xB1, 0x01, 0x00, 0x03, + 0x63, 0x01, 0x38, 0xB8, 0x01, 0x61, 0x28, 0xC8, + 0xCF, 0xD7, 0xA0, 0xCD, 0xC1, 0xCE, 0xD9, 0xA0, + 0xC1, 0xC3, 0xD2, 0xC5, 0xD3, 0xA0, 0xC4, 0xCF, + 0xA0, 0xD9, 0xCF, 0xD5, 0xA0, 0xD7, 0xC9, 0xD3, + 0xC8, 0xA0, 0xD4, 0xCF, 0xA0, 0xD0, 0xCC, 0xC1, + 0xCE, 0xD4, 0x29, 0x03, 0x61, 0x28, 0xD7, 0xC9, + 0xD4, 0xC8, 0xA0, 0xD3, 0xC5, 0xC5, 0xC4, 0x29, + 0x47, 0x01, 0x18, 0xB9, 0x01, 0x5C, 0xB5, 0x88, + 0x13, 0x03, 0xC4, 0x71, 0xCF, 0xB1, 0x03, 0x60, + 0xC4, 0x16, 0xB0, 0x00, 0x00, 0x24, 0xB5, 0xFF, + 0x01, 0x01, 0x0C, 0xBD, 0x01, 0x60, 0xC4, 0x1A, + 0xC1, 0x24, 0xB4, 0xC2, 0x01, 0x01, 0x08, 0xBE, + 0x01, 0x5C, 0xB7, 0xD0, 0x02, 0x01, 0x08, 0xBF, + 0x01, 0x5F, 0xB4, 0xB8, 0x01, 0x01, 0x10, 0xC2, + 0x01, 0x60, 0xC4, 0x15, 0xB2, 0x02, 0x00, 0x1C, + 0xD3, 0x24, 0xB4, 0xC7, 0x01, 0x01, 0x08, 0xC4, + 0x01, 0x5C, 0xB7, 0xC6, 0x02, 0x01, 0x08, 0xC5, + 0x01, 0x5F, 0xB4, 0xB8, 0x01, 0x01, 0x10, 0xC7, + 0x01, 0x60, 0xC4, 0x1A, 0xB1, 0x0A, 0x00, 0x14, + 0xD0, 0x24, 0xB5, 0xFE, 0x01, 0x01, 0x25, 0xCC, + 0x01, 0x61, 0x28, 0xC2, 0xD5, 0xD4, 0xA0, 0xD9, + 0xCF, 0xD5, 0xA0, 0xC8, 0xC1, 0xD6, 0xC5, 0xA0, + 0xCF, 0xCE, 0xCC, 0xD9, 0xA0, 0x29, 0x46, 0xD0, + 0x45, 0x28, 0xA0, 0xD0, 0xC5, 0xCF, 0xD0, 0xCC, + 0xC5, 0x29, 0x01, 0x08, 0xD6, 0x01, 0x5F, 0xB4, + 0xB8, 0x01, 0x01, 0x0D, 0xFE, 0x01, 0xD3, 0x71, + 0xD3, 0x13, 0xC4, 0x15, 0xB2, 0x02, 0x00, 0x01, + 0x08, 0xFF, 0x01, 0x5C, 0xB8, 0x20, 0x03, 0x01, + 0x13, 0x03, 0x02, 0xD9, 0x71, 0xC3, 0x03, 0xC8, + 0x71, 0xC4, 0x14, 0xD9, 0x03, 0xC5, 0x71, 0xB0, + 0x00, 0x00, 0x01, 0x08, 0x09, 0x02, 0x5C, 0xB8, + 0x20, 0x03, 0x01, 0x19, 0x0A, 0x02, 0xC3, 0xB9, + 0x71, 0x2F, 0x3F, 0xB2, 0x02, 0x00, 0x72, 0x03, + 0x60, 0xC3, 0xB9, 0x17, 0xB1, 0x01, 0x00, 0x24, + 0xB5, 0x12, 0x02, 0x01, 0x09, 0x0D, 0x02, 0xC5, + 0x71, 0xD3, 0x15, 0xC3, 0x01, 0x0B, 0x12, 0x02, + 0xD3, 0x71, 0xD3, 0x13, 0xC5, 0x12, 0xC8, 0x01, + 0x08, 0x13, 0x02, 0x5C, 0xB8, 0x20, 0x03, 0x01, + 0x2D, 0x15, 0x02, 0xC1, 0xB9, 0x71, 0xC1, 0x15, + 0xB1, 0x64, 0x00, 0x03, 0xD3, 0xB9, 0x71, 0xD3, + 0x15, 0xB1, 0x64, 0x00, 0x03, 0xC9, 0xB9, 0x71, + 0xC3, 0x14, 0x38, 0xB2, 0x14, 0x00, 0x14, 0xC1, + 0xB9, 0x12, 0xD3, 0xB9, 0x72, 0x03, 0xC9, 0x71, + 0xC9, 0xB9, 0x15, 0xD0, 0x01, 0x0B, 0x1C, 0x02, + 0xC3, 0x71, 0xD1, 0x15, 0xB2, 0x14, 0x00, 0x01, + 0x10, 0x1E, 0x02, 0xD1, 0x71, 0x2F, 0x3F, 0xB2, + 0x14, 0x00, 0x72, 0x13, 0xB3, 0x03, 0x00, 0x01, + 0x0C, 0x26, 0x02, 0x60, 0xD0, 0x1C, 0xC3, 0x24, + 0xB2, 0xD2, 0x00, 0x01, 0x1A, 0x28, 0x02, 0xC4, + 0x71, 0xD0, 0x13, 0xC3, 0x03, 0x60, 0xB1, 0x0A, + 0x00, 0x14, 0xC4, 0x19, 0xB4, 0x04, 0x00, 0x14, + 0xD0, 0x24, 0xB5, 0x30, 0x02, 0x01, 0x1D, 0x29, + 0x02, 0xD0, 0xB1, 0x71, 0x38, 0x38, 0xDA, 0x13, + 0xB1, 0x01, 0x00, 0x72, 0x14, 0xD0, 0xB1, 0x12, + 0xC4, 0x14, 0xB1, 0x64, 0x00, 0x15, 0xD0, 0x72, + 0x15, 0xDA, 0x01, 0x14, 0x2B, 0x02, 0xD0, 0x71, + 0xC3, 0x03, 0xC4, 0xB1, 0x71, 0xC4, 0xB1, 0x12, + 0xC4, 0x03, 0x5F, 0xB2, 0xD7, 0x00, 0x01, 0x30, + 0x30, 0x02, 0x63, 0x03, 0x61, 0x28, 0xD9, 0xCF, + 0xD5, 0xA0, 0xD3, 0xD4, 0xC1, 0xD2, 0xD6, 0xC5, + 0xC4, 0xA0, 0x29, 0x46, 0xC4, 0x45, 0x28, 0xA0, + 0xD0, 0xC5, 0xCF, 0xD0, 0xCC, 0xC5, 0xA0, 0xC9, + 0xCE, 0xA0, 0xCF, 0xCE, 0xC5, 0xA0, 0xD9, 0xC5, + 0xC1, 0xD2, 0xA1, 0xA1, 0xA1, 0x29, 0x01, 0x57, + 0x35, 0x02, 0x61, 0x28, 0xC4, 0xD5, 0xC5, 0xA0, + 0xD4, 0xCF, 0xA0, 0xD4, 0xC8, 0xC9, 0xD3, 0xA0, + 0xC5, 0xD8, 0xD4, 0xD2, 0xC5, 0xCD, 0xC5, 0xA0, + 0xCD, 0xC9, 0xD3, 0xCD, 0xC1, 0xCE, 0xC1, 0xC7, + 0xC5, 0xCD, 0xC5, 0xCE, 0xD4, 0xA0, 0xD9, 0xCF, + 0xD5, 0x29, 0x03, 0x61, 0x28, 0xC8, 0xC1, 0xD6, + 0xC5, 0xA0, 0xCE, 0xCF, 0xD4, 0xA0, 0xCF, 0xCE, + 0xCC, 0xD9, 0xA0, 0xC2, 0xC5, 0xC5, 0xCE, 0xA0, + 0xC9, 0xCD, 0xD0, 0xC5, 0xC1, 0xC3, 0xC8, 0xC5, + 0xC4, 0xA0, 0xC1, 0xCE, 0xC4, 0xA0, 0xD4, 0xC8, + 0xD2, 0xCF, 0xD7, 0xCE, 0x29, 0x01, 0x2B, 0x36, + 0x02, 0x61, 0x28, 0xCF, 0xD5, 0xD4, 0xA0, 0xCF, + 0xC6, 0xA0, 0xCF, 0xC6, 0xC6, 0xC9, 0xC3, 0xC5, + 0xA0, 0xC2, 0xD5, 0xD4, 0xA0, 0xD9, 0xCF, 0xD5, + 0xA0, 0xC8, 0xC1, 0xD6, 0xC5, 0xA0, 0xC1, 0xCC, + 0xD3, 0xCF, 0xA0, 0xC2, 0xC5, 0xC5, 0xCE, 0x29, + 0x01, 0x27, 0x37, 0x02, 0x61, 0x28, 0xC4, 0xC5, + 0xC3, 0xCC, 0xC1, 0xD2, 0xC5, 0xC4, 0xA0, 0xA7, + 0xCE, 0xC1, 0xD4, 0xC9, 0xCF, 0xCE, 0xC1, 0xCC, + 0xA0, 0xC6, 0xC9, 0xCE, 0xCB, 0xA7, 0xA1, 0xA1, + 0xA1, 0x29, 0x03, 0x5F, 0xB9, 0xDE, 0x03, 0x01, + 0x2D, 0xC6, 0x02, 0x63, 0x03, 0x61, 0x28, 0xC8, + 0xC1, 0xCD, 0xD5, 0xD2, 0xC1, 0xC2, 0xC9, 0xBA, + 0xA0, 0xD4, 0xC8, 0xC9, 0xCE, 0xCB, 0xA0, 0xC1, + 0xC7, 0xC1, 0xC9, 0xCE, 0xAC, 0xA0, 0xD9, 0xCF, + 0xD5, 0xA0, 0xC8, 0xC1, 0xD6, 0xC5, 0xA0, 0xCF, + 0xCE, 0xCC, 0xD9, 0x29, 0x01, 0x24, 0xC7, 0x02, + 0x62, 0xD3, 0x45, 0x28, 0xA0, 0xC2, 0xD5, 0xD3, + 0xC8, 0xC5, 0xCC, 0xD3, 0xA0, 0xCF, 0xC6, 0xA0, + 0xC7, 0xD2, 0xC1, 0xC9, 0xCE, 0xAE, 0xA0, 0xCE, + 0xCF, 0xD7, 0xA0, 0xD4, 0xC8, 0xC5, 0xCE, 0x29, + 0x01, 0x05, 0xC8, 0x02, 0x5B, 0x01, 0x1F, 0xD0, + 0x02, 0x63, 0x03, 0x61, 0x28, 0xC8, 0xC1, 0xCD, + 0xD5, 0xD2, 0xC1, 0xC2, 0xC9, 0xBA, 0xA0, 0xD4, + 0xC8, 0xC9, 0xCE, 0xCB, 0xA0, 0xC1, 0xC7, 0xC1, + 0xC9, 0xCE, 0xAC, 0x29, 0x01, 0x29, 0xD1, 0x02, + 0x61, 0x28, 0xD9, 0xCF, 0xD5, 0xA0, 0xCF, 0xD7, + 0xCE, 0xA0, 0xCF, 0xCE, 0xCC, 0xD9, 0xA0, 0x29, + 0x46, 0xC1, 0x45, 0x28, 0xA0, 0xC1, 0xC3, 0xD2, + 0xC5, 0xD3, 0xAE, 0xA0, 0xCE, 0xCF, 0xD7, 0xA0, + 0xD4, 0xC8, 0xC5, 0xCE, 0x29, 0x01, 0x05, 0xDA, + 0x02, 0x5B, 0x01, 0x10, 0x20, 0x03, 0xC3, 0x71, + 0x2F, 0x3F, 0xB5, 0x05, 0x00, 0x72, 0x12, 0xB1, + 0x01, 0x00, 0x01, 0x05, 0x21, 0x03, 0x5B, 0x01, + 0x55, 0x5C, 0x03, 0x61, 0x28, 0xC9, 0xCE, 0xA0, + 0xD9, 0xCF, 0xD5, 0xD2, 0xA0, 0xB1, 0xB0, 0xA0, + 0xD9, 0xC5, 0xC1, 0xD2, 0xA0, 0xD4, 0xC5, 0xD2, + 0xCD, 0xA0, 0xCF, 0xC6, 0xA0, 0xCF, 0xC6, 0xC6, + 0xC9, 0xC3, 0xC5, 0xA0, 0x29, 0x46, 0xD0, 0xB1, + 0x03, 0x61, 0x28, 0xD0, 0xC5, 0xD2, 0xC3, 0xC5, + 0xCE, 0xD4, 0xA0, 0xCF, 0xC6, 0xA0, 0xD4, 0xC8, + 0xC5, 0xA0, 0xD0, 0xCF, 0xD0, 0xD5, 0xCC, 0xC1, + 0xD4, 0xC9, 0xCF, 0xCE, 0xA0, 0xD3, 0xD4, 0xC1, + 0xD2, 0xD6, 0xC5, 0xC4, 0xA0, 0xCF, 0xCE, 0xA0, + 0xD4, 0xC8, 0xC5, 0x29, 0x01, 0x2E, 0x5E, 0x03, + 0x61, 0x28, 0xC1, 0xD6, 0xC5, 0xD2, 0xC1, 0xC7, + 0xC5, 0xAC, 0xA0, 0xC9, 0xAE, 0xC5, 0xAE, 0xAC, + 0xA0, 0xC1, 0xA0, 0xD4, 0xCF, 0xD4, 0xC1, 0xCC, + 0xA0, 0xCF, 0xC6, 0xA0, 0x29, 0x46, 0xC4, 0xB1, + 0x45, 0x28, 0xA0, 0xD0, 0xC5, 0xCF, 0xD0, 0xCC, + 0xC5, 0x29, 0x01, 0x14, 0x61, 0x03, 0x61, 0x28, + 0xC4, 0xC9, 0xC5, 0xC4, 0xA1, 0xA1, 0xA1, 0x29, + 0x03, 0xCC, 0x71, 0xC1, 0x15, 0xD0, 0x01, 0x4A, + 0x66, 0x03, 0x61, 0x28, 0xD9, 0xCF, 0xD5, 0xA0, + 0xD3, 0xD4, 0xC1, 0xD2, 0xD4, 0xC5, 0xC4, 0xA0, + 0xD7, 0xC9, 0xD4, 0xC8, 0xA0, 0xB1, 0xB0, 0xA0, + 0xC1, 0xC3, 0xD2, 0xC5, 0xD3, 0xA0, 0xD0, 0xC5, + 0xD2, 0xA0, 0xD0, 0xC5, 0xD2, 0xD3, 0xCF, 0xCE, + 0xA0, 0x29, 0x03, 0x61, 0x28, 0xC1, 0xCE, 0xC4, + 0xA0, 0xC5, 0xCE, 0xC4, 0xC5, 0xC4, 0xA0, 0xD7, + 0xC9, 0xD4, 0xC8, 0xA0, 0x29, 0x46, 0xCC, 0x45, + 0x28, 0xA0, 0xC1, 0xC3, 0xD2, 0xC5, 0xD3, 0x29, + 0x01, 0x14, 0x6B, 0x03, 0x61, 0x28, 0xD0, 0xC5, + 0xD2, 0xA0, 0xD0, 0xC5, 0xD2, 0xD3, 0xCF, 0xCE, + 0xAE, 0x29, 0x03, 0x63, 0x01, 0x0F, 0x70, 0x03, + 0x60, 0xD0, 0xB1, 0x19, 0xB3, 0x21, 0x00, 0x24, + 0xB5, 0x35, 0x02, 0x01, 0x0E, 0x75, 0x03, 0x60, + 0xCC, 0x1C, 0xB7, 0x07, 0x00, 0x24, 0xB5, 0x35, + 0x02, 0x01, 0x0F, 0x7A, 0x03, 0x60, 0xD0, 0xB1, + 0x19, 0xB1, 0x0A, 0x00, 0x24, 0xB9, 0xAC, 0x03, + 0x01, 0x0E, 0x7C, 0x03, 0x60, 0xCC, 0x1C, 0xB9, + 0x09, 0x00, 0x24, 0xB9, 0xAC, 0x03, 0x01, 0x0F, + 0x7F, 0x03, 0x60, 0xD0, 0xB1, 0x19, 0xB3, 0x03, + 0x00, 0x24, 0xB9, 0xC0, 0x03, 0x01, 0x0E, 0x80, + 0x03, 0x60, 0xCC, 0x1C, 0xB1, 0x0A, 0x00, 0x24, + 0xB9, 0xC0, 0x03, 0x01, 0x48, 0x84, 0x03, 0x61, + 0x28, 0xC1, 0xA0, 0xC6, 0xC1, 0xCE, 0xD4, 0xC1, + 0xD3, 0xD4, 0xC9, 0xC3, 0xA0, 0xD0, 0xC5, 0xD2, + 0xC6, 0xCF, 0xD2, 0xCD, 0xC1, 0xCE, 0xC3, 0xC5, + 0xA1, 0xA1, 0xA1, 0x29, 0x03, 0x61, 0x28, 0xC3, + 0xC8, 0xC1, 0xD2, 0xCC, 0xC5, 0xCD, 0xC1, 0xCE, + 0xC7, 0xC5, 0xAC, 0xC4, 0xC9, 0xD3, 0xD2, 0xC1, + 0xC5, 0xCC, 0xC9, 0xAC, 0xA0, 0xC1, 0xCE, 0xC4, + 0xA0, 0xCA, 0xC5, 0xC6, 0xC6, 0xC5, 0xD2, 0xD3, + 0xCF, 0xCE, 0x29, 0x01, 0x30, 0x89, 0x03, 0x61, + 0x28, 0xC3, 0xCF, 0xCD, 0xC2, 0xC9, 0xCE, 0xC5, + 0xC4, 0xA0, 0xC3, 0xCF, 0xD5, 0xCC, 0xC4, 0xA0, + 0xCE, 0xCF, 0xD4, 0xA0, 0xC8, 0xC1, 0xD6, 0xC5, + 0xA0, 0xC4, 0xCF, 0xCE, 0xC5, 0xA0, 0xC2, 0xC5, + 0xD4, 0xD4, 0xC5, 0xD2, 0xA1, 0x29, 0x03, 0x5F, + 0xB9, 0xDE, 0x03, 0x01, 0x1D, 0xAC, 0x03, 0x61, + 0x28, 0xC1, 0xA0, 0xCC, 0xCF, 0xD5, 0xD3, 0xD9, + 0xA0, 0xD0, 0xC5, 0xD2, 0xC6, 0xCF, 0xD2, 0xCD, + 0xC1, 0xCE, 0xC3, 0xC5, 0xA1, 0xA1, 0xA1, 0x29, + 0x01, 0x4B, 0xB1, 0x03, 0x61, 0x28, 0xD4, 0xC8, + 0xC5, 0xA0, 0xD0, 0xC5, 0xCF, 0xD0, 0xCC, 0xC5, + 0xA0, 0xA8, 0xD2, 0xC5, 0xCD, 0xC1, 0xC9, 0xCE, + 0xC9, 0xCE, 0xC7, 0xA9, 0xA0, 0xC6, 0xC9, 0xCE, + 0xC4, 0xA0, 0xD9, 0xCF, 0xD5, 0xA0, 0xC1, 0xCE, + 0x29, 0x03, 0x61, 0x28, 0xD5, 0xCE, 0xD0, 0xCC, + 0xC5, 0xC1, 0xD3, 0xC1, 0xCE, 0xD4, 0xA0, 0xD2, + 0xD5, 0xCC, 0xC5, 0xD2, 0xAC, 0xA0, 0xC1, 0xCE, + 0xC4, 0xA0, 0xC6, 0xD2, 0xC1, 0xCE, 0xCB, 0xCC, + 0xD9, 0xA0, 0x29, 0x01, 0x1D, 0xB6, 0x03, 0x61, + 0x28, 0xC8, 0xC1, 0xD4, 0xC5, 0xA0, 0xD9, 0xCF, + 0xD5, 0xD2, 0xA0, 0xC7, 0xD5, 0xD4, 0xD3, 0xA1, + 0xA1, 0xA1, 0x29, 0x03, 0x5F, 0xB9, 0xDE, 0x03, + 0x01, 0x2E, 0xC0, 0x03, 0x61, 0x28, 0xD9, 0xCF, + 0xD5, 0xD2, 0xA0, 0xD0, 0xC5, 0xD2, 0xC6, 0xCF, + 0xD2, 0xCD, 0xC1, 0xCE, 0xC3, 0xC5, 0xA0, 0xC3, + 0xCF, 0xD5, 0xCC, 0xC4, 0xA0, 0xC8, 0xC1, 0xD6, + 0xC5, 0xA0, 0xC2, 0xC5, 0xC5, 0xCE, 0xA0, 0xC2, + 0xC5, 0xD4, 0xD4, 0xC5, 0xD2, 0x29, 0x01, 0x35, + 0xC5, 0x03, 0x61, 0x28, 0xC2, 0xD5, 0xD4, 0xA0, + 0xD7, 0xC1, 0xD3, 0xCE, 0xA7, 0xD4, 0xA0, 0xD4, + 0xCF, 0xCF, 0xA0, 0xC2, 0xC1, 0xC4, 0xAC, 0xA0, + 0x29, 0x46, 0x2F, 0x3F, 0xD0, 0x15, 0xB2, 0x02, + 0x00, 0x72, 0x45, 0x28, 0xA0, 0xD0, 0xC5, 0xCF, + 0xD0, 0xCC, 0xC5, 0xA0, 0xD7, 0xCF, 0xD5, 0xCC, + 0xC4, 0xA0, 0x29, 0x01, 0x24, 0xCA, 0x03, 0x61, + 0x28, 0xCC, 0xCF, 0xD6, 0xC5, 0xA0, 0xD4, 0xCF, + 0xA0, 0xD3, 0xC5, 0xC5, 0xA0, 0xD9, 0xCF, 0xD5, + 0xA0, 0xC1, 0xD3, 0xD3, 0xC1, 0xD3, 0xD3, 0xC9, + 0xCE, 0xC1, 0xD4, 0xC5, 0xC4, 0xAE, 0x29, 0x01, + 0x16, 0xDE, 0x03, 0x61, 0x28, 0xD3, 0xCF, 0xA0, + 0xCC, 0xCF, 0xCE, 0xC7, 0xA0, 0xC6, 0xCF, 0xD2, + 0xA0, 0xCE, 0xCF, 0xD7, 0x29, 0x01, 0x05, 0xE7, + 0x03, 0x51, 0x01, 0x07, 0x88, 0x13, 0x52, 0xCF, + 0x40, 0x01, 0x11, 0x92, 0x13, 0xCF, 0xB1, 0x71, + 0xB0, 0x00, 0x00, 0x03, 0xCF, 0xB2, 0x71, 0xB1, + 0x01, 0x00, 0x01, 0x21, 0x9C, 0x13, 0x55, 0xCF, + 0xB3, 0x56, 0x3B, 0xCF, 0x40, 0x72, 0x57, 0xB1, + 0x01, 0x00, 0x58, 0x36, 0xB1, 0x01, 0x00, 0x03, + 0x55, 0xCF, 0xB4, 0x56, 0xB1, 0x01, 0x00, 0x57, + 0xB1, 0x0A, 0x00, 0x01, 0x2A, 0xA6, 0x13, 0x60, + 0xCF, 0x40, 0x2A, 0xCF, 0xB3, 0x23, 0xCF, 0xB3, + 0x72, 0x39, 0xC8, 0x40, 0x2A, 0xCF, 0xB4, 0x23, + 0xCF, 0xB4, 0x72, 0x25, 0xCF, 0xB1, 0x71, 0xCF, + 0xB1, 0x12, 0xCF, 0xB2, 0x14, 0x38, 0xCF, 0xB4, + 0x13, 0xB1, 0x01, 0x00, 0x72, 0x01, 0x1D, 0xB0, + 0x13, 0x59, 0xCF, 0xB4, 0x03, 0x60, 0xCF, 0xB3, + 0x17, 0xB1, 0x01, 0x00, 0x25, 0xCF, 0xB2, 0x71, + 0xCF, 0xB2, 0x14, 0xB1, 0x0A, 0x00, 0x03, 0x59, + 0xCF, 0xB3, 0x01, 0x05, 0xBA, 0x13, 0x5B, 0x01 + ]] +}; diff --git a/tapes/life.js b/tapes/life.js new file mode 100644 index 0000000..04fc730 --- /dev/null +++ b/tapes/life.js @@ -0,0 +1,74 @@ +// Game of Life (life.txt by John Conway and Larry Nelson) +// Submitted by Tom Owad on August 15, 2004 - 5:16pm +// Apple I | 1970 | Games +// The classic Game of Life. Written in machine code. +// http://ddi.cs.uni-potsdam.de/HyFISCH/Produzieren/lis_projekt/proj_gamelife/ConwayScientificAmerican.htm + +/* +C100R +2000.3FFFR +2000R +*/ + +/*globals tapes: true */ + +tapes['Life'] = { + script: 'C100R\n2000.21B7R\n2000R\n', + tracks: [[ // 2000.3FFFR + 0xA2, 0x00, 0xA9, 0xA0, 0x9D, 0x00, 0x24, 0x9D, + 0x00, 0x25, 0x9D, 0x00, 0x26, 0x9D, 0x00, 0x27, + 0xE8, 0xD0, 0xF1, 0xBD, 0x80, 0x21, 0x20, 0xEF, + 0xFF, 0xE8, 0xE0, 0x38, 0xD0, 0xF5, 0x20, 0x02, + 0x21, 0xC9, 0x8D, 0xD0, 0xF9, 0x20, 0x3F, 0x21, + 0x29, 0x3F, 0x69, 0x20, 0x85, 0xF9, 0xA0, 0x00, + 0x20, 0x3F, 0x21, 0x29, 0x03, 0x18, 0x69, 0x24, + 0x85, 0xF1, 0xA5, 0xFA, 0x85, 0xF0, 0xA9, 0xAA, + 0x91, 0xF0, 0xC6, 0xF9, 0xD0, 0xEA, 0xA9, 0x24, + 0x85, 0xF9, 0xA9, 0x40, 0x85, 0xF8, 0xA2, 0x27, + 0xA9, 0xAD, 0x9D, 0xD8, 0x27, 0x9D, 0x40, 0x24, + 0xCA, 0x10, 0xF7, 0xB1, 0xF8, 0x20, 0xEF, 0xFF, + 0xE6, 0xF8, 0xD0, 0xF7, 0xE6, 0xF9, 0xA5, 0xF9, + 0xC9, 0x28, 0xD0, 0xEF, 0x20, 0x02, 0x21, 0xA0, + 0x00, 0x20, 0xF3, 0x20, 0xB1, 0xF0, 0x91, 0xF2, + 0xE6, 0xF0, 0xE6, 0xF2, 0xD0, 0xF6, 0xE6, 0xF1, + 0xE6, 0xF3, 0xA5, 0xF1, 0xC9, 0x28, 0xD0, 0xEC, + 0x20, 0x61, 0x21, 0xA0, 0x00, 0xB1, 0xF2, 0xC9, + 0xAA, 0xD0, 0x0A, 0xA0, 0x27, 0x20, 0x14, 0x21, + 0xA0, 0x01, 0x20, 0x1D, 0x21, 0xE6, 0xF0, 0xE6, + 0xF2, 0xD0, 0xE8, 0xE6, 0xF1, 0xE6, 0xF3, 0xA5, + 0xF1, 0xC9, 0x28, 0xD0, 0xDE, 0x18, 0xA2, 0x27, + 0xBD, 0xD8, 0x27, 0x7D, 0x68, 0x24, 0x9D, 0x68, + 0x24, 0xBD, 0x40, 0x24, 0x7D, 0xB0, 0x27, 0x9D, + 0xB0, 0x27, 0xCA, 0x10, 0xEB, 0x20, 0xF3, 0x20, + 0xA0, 0x00, 0xB1, 0xF0, 0xC9, 0x02, 0xD0, 0x04, + 0xB1, 0xF2, 0xD0, 0x0A, 0xC9, 0x03, 0xD0, 0x04, + 0xA9, 0xAA, 0xD0, 0x02, 0xA9, 0xA0, 0x91, 0xF0, + 0xE6, 0xF0, 0xE6, 0xF2, 0xD0, 0xE2, 0xE6, 0xF1, + 0xE6, 0xF3, 0xA5, 0xF3, 0xC9, 0x2C, 0xD0, 0xD8, + 0x4C, 0x46, 0x20, 0xA9, 0x24, 0x85, 0xF1, 0xA9, + 0x28, 0x85, 0xF3, 0xA9, 0x40, 0x85, 0xF0, 0x85, + 0xF2, 0x60, 0xE6, 0xFA, 0xD0, 0x02, 0xE6, 0xFB, + 0xAD, 0x11, 0xD0, 0x10, 0xF5, 0xAD, 0x10, 0xD0, + 0x20, 0xEF, 0xFF, 0x60, 0x20, 0x1D, 0x21, 0xC8, + 0xC0, 0x2A, 0xD0, 0xF8, 0x60, 0x18, 0xB1, 0xF0, + 0x69, 0x01, 0x91, 0xF0, 0x84, 0xF9, 0x38, 0xA5, + 0xF0, 0xE5, 0xF9, 0x85, 0xF6, 0xA5, 0xF1, 0xE9, + 0x00, 0x85, 0xF7, 0xA0, 0x00, 0xB1, 0xF6, 0x18, + 0x69, 0x01, 0x91, 0xF6, 0xA4, 0xF9, 0x60, 0xA5, + 0xFB, 0x85, 0xF6, 0xA5, 0xFA, 0x0A, 0x26, 0xF6, + 0x0A, 0x26, 0xF6, 0x18, 0x65, 0xFA, 0x48, 0xA5, + 0xF6, 0x65, 0xFB, 0x85, 0xFB, 0x68, 0x69, 0x11, + 0x85, 0xFA, 0xA5, 0xFB, 0x69, 0x36, 0x85, 0xFB, + 0x60, 0x20, 0xF3, 0x20, 0xA9, 0x00, 0xA8, 0x91, + 0xF0, 0xE6, 0xF0, 0xD0, 0xFA, 0xE6, 0xF1, 0xA6, + 0xF1, 0xE0, 0x28, 0xD0, 0xF2, 0x20, 0xF3, 0x20, + 0x60, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, + 0x8D, 0x8D, 0x8D, 0x8D, 0xC3, 0xCF, 0xCE, 0xD7, + 0xC1, 0xD9, 0xA7, 0xD3, 0xA0, 0xC7, 0xC1, 0xCD, + 0xC5, 0xA0, 0xCF, 0xC6, 0xA0, 0xCC, 0xC9, 0xC6, + 0xC5, 0x8D, 0x8D, 0xD0, 0xCC, 0xC5, 0xC1, 0xD3, + 0xC5, 0xA0, 0xD4, 0xD9, 0xD0, 0xC5, 0xA0, 0xD9, + 0xCF, 0xD5, 0xD2, 0xA0, 0xC6, 0xD5, 0xCC, 0xCC, + 0xA0, 0xCE, 0xC1, 0xCD, 0xC5, 0xAE, 0x8D, 0x8D + ]] +}; diff --git a/tapes/little_tower.js b/tapes/little_tower.js new file mode 100644 index 0000000..a2761a8 --- /dev/null +++ b/tapes/little_tower.js @@ -0,0 +1,590 @@ +// From: http://apple1.chez.com/Apple1project/index.html + +// Pom1 Save : LittleTower.txt +// Load the program with File - Load Memory ... +// Then type 300R to execute Little Tower +// Have Fun :-) + +/* +C100R +0300.14CDR +300R +*/ + +/*globals tapes: true */ + +tapes['Little Tower'] = { + script: 'C100R\n0300.14CDR\n300R\n', + tracks: [[ // 0300.14CD + 0xD8, 0x20, 0xEB, 0x08, 0xA9, 0x01, 0x85, 0x10, + 0xA9, 0x00, 0x85, 0x11, 0x85, 0x15, 0x85, 0x12, + 0x85, 0x13, 0x85, 0x14, 0xA9, 0xFF, 0x85, 0x16, + 0xA9, 0x00, 0x85, 0x04, 0x4C, 0x1F, 0x03, 0xA5, + 0x04, 0xD0, 0x03, 0x20, 0xE4, 0x06, 0x20, 0xA0, + 0x08, 0x20, 0x2F, 0x03, 0x4C, 0x1F, 0x03, 0xA9, + 0xB3, 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, 0x20, + 0x7F, 0x08, 0x30, 0x78, 0xA9, 0xAE, 0x85, 0x02, + 0xA9, 0x0C, 0x85, 0x03, 0x20, 0x7F, 0x08, 0x30, + 0x77, 0xA9, 0xB8, 0x85, 0x02, 0xA9, 0x0C, 0x85, + 0x03, 0x20, 0x7F, 0x08, 0x30, 0x6D, 0xA9, 0xBD, + 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, 0x20, 0x7F, + 0x08, 0x30, 0x65, 0xA9, 0xC2, 0x85, 0x02, 0xA9, + 0x0C, 0x85, 0x03, 0x20, 0x7F, 0x08, 0x30, 0x58, + 0xA9, 0xCD, 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, + 0x20, 0x7F, 0x08, 0x30, 0x72, 0xA5, 0x10, 0xC9, + 0x01, 0xD0, 0x03, 0x4C, 0x34, 0x04, 0xC9, 0x02, + 0xD0, 0x03, 0x4C, 0xC7, 0x04, 0xC9, 0x03, 0xD0, + 0x03, 0x4C, 0x30, 0x05, 0xC9, 0x04, 0xD0, 0x03, + 0x4C, 0x93, 0x05, 0xC9, 0x05, 0xD0, 0x03, 0x4C, + 0x08, 0x06, 0xC9, 0x06, 0xD0, 0x03, 0x4C, 0x6D, + 0x06, 0xA9, 0x52, 0x85, 0x02, 0xA9, 0x0C, 0x85, + 0x03, 0x20, 0xCF, 0x08, 0xA9, 0xD6, 0x85, 0x02, + 0xA9, 0x0A, 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, + 0x4C, 0x1A, 0xFF, 0xA9, 0x00, 0x85, 0x04, 0x60, + 0xA9, 0xC4, 0x85, 0x02, 0xA9, 0x0B, 0x85, 0x03, + 0x20, 0xCF, 0x08, 0x20, 0xA0, 0x08, 0xA9, 0xC7, + 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, 0x20, 0x7F, + 0x08, 0x10, 0xF0, 0xA9, 0x1B, 0x85, 0x02, 0xA9, + 0x0C, 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA9, + 0x6F, 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, 0x20, + 0xCF, 0x08, 0xA5, 0x12, 0x30, 0x0C, 0xA9, 0xA5, + 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, 0x20, 0xCF, + 0x08, 0x60, 0xA9, 0x84, 0x85, 0x02, 0xA9, 0x0C, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0xA5, 0x13, 0x10, + 0x0B, 0xA9, 0x8B, 0x85, 0x02, 0xA9, 0x0C, 0x85, + 0x03, 0x20, 0xCF, 0x08, 0xA5, 0x14, 0x10, 0x0B, + 0xA9, 0x94, 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, + 0x20, 0xCF, 0x08, 0x60, 0xA9, 0xD9, 0x85, 0x02, + 0xA9, 0x0C, 0x85, 0x03, 0x20, 0x7F, 0x08, 0x30, + 0x28, 0xA9, 0x69, 0x85, 0x02, 0xA9, 0x0D, 0x85, + 0x03, 0x20, 0x7F, 0x08, 0x30, 0x24, 0xA9, 0x86, + 0x85, 0x02, 0xA9, 0x0D, 0x85, 0x03, 0x20, 0x7F, + 0x08, 0x30, 0x33, 0xA9, 0x80, 0x85, 0x02, 0xA9, + 0x0D, 0x85, 0x03, 0x20, 0x7F, 0x08, 0x30, 0x46, + 0x60, 0xA9, 0x02, 0x85, 0x10, 0xA9, 0x00, 0x85, + 0x04, 0x60, 0xA5, 0x11, 0x30, 0x0C, 0xA9, 0x3C, + 0x85, 0x02, 0xA9, 0x11, 0x85, 0x03, 0x20, 0xCF, + 0x08, 0x60, 0xA9, 0x50, 0x85, 0x02, 0xA9, 0x11, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA5, 0x12, + 0x30, 0x0C, 0xA9, 0x1C, 0x85, 0x02, 0xA9, 0x12, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA9, 0x3B, + 0x85, 0x02, 0xA9, 0x12, 0x85, 0x03, 0x20, 0xCF, + 0x08, 0xA9, 0xFF, 0x85, 0x11, 0x60, 0xA5, 0x11, + 0x30, 0x0C, 0xA9, 0x3C, 0x85, 0x02, 0xA9, 0x11, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA9, 0x03, + 0x85, 0x10, 0xA9, 0x00, 0x85, 0x04, 0x60, 0xA9, + 0xD7, 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, 0x20, + 0x7F, 0x08, 0x30, 0x28, 0xA9, 0xD9, 0x85, 0x02, + 0xA9, 0x0C, 0x85, 0x03, 0x20, 0x7F, 0x08, 0x30, + 0x24, 0xA9, 0x4B, 0x85, 0x02, 0xA9, 0x0D, 0x85, + 0x03, 0x20, 0x7F, 0x08, 0x30, 0x26, 0xA9, 0x58, + 0x85, 0x02, 0xA9, 0x0D, 0x85, 0x03, 0x20, 0x7F, + 0x08, 0x30, 0x25, 0x60, 0xA9, 0x01, 0x85, 0x10, + 0xA9, 0x00, 0x85, 0x04, 0x60, 0xA9, 0x81, 0x85, + 0x02, 0xA9, 0x11, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0x68, 0x4C, 0x1A, 0xFF, 0xA9, 0xAB, 0x85, 0x02, + 0xA9, 0x11, 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, + 0xA9, 0xDF, 0x85, 0x02, 0xA9, 0x11, 0x85, 0x03, + 0x20, 0xCF, 0x08, 0xA9, 0xFF, 0x85, 0x12, 0x60, + 0xA9, 0xDB, 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, + 0x20, 0x7F, 0x08, 0x30, 0x28, 0xA9, 0xDD, 0x85, + 0x02, 0xA9, 0x0C, 0x85, 0x03, 0x20, 0x7F, 0x08, + 0x30, 0x24, 0xA9, 0x3D, 0x85, 0x02, 0xA9, 0x0D, + 0x85, 0x03, 0x20, 0x7F, 0x08, 0x30, 0x20, 0xA9, + 0x76, 0x85, 0x02, 0xA9, 0x0D, 0x85, 0x03, 0x20, + 0x7F, 0x08, 0x30, 0x1F, 0x60, 0xA9, 0x01, 0x85, + 0x10, 0xA9, 0x00, 0x85, 0x04, 0x60, 0xA9, 0x04, + 0x85, 0x10, 0xA9, 0x00, 0x85, 0x04, 0x60, 0xA9, + 0x55, 0x85, 0x02, 0xA9, 0x12, 0x85, 0x03, 0x20, + 0xCF, 0x08, 0x60, 0xA9, 0x72, 0x85, 0x02, 0xA9, + 0x12, 0x85, 0x03, 0x20, 0xCF, 0x08, 0xA9, 0xFF, + 0x85, 0x13, 0x60, 0xA9, 0xDD, 0x85, 0x02, 0xA9, + 0x0C, 0x85, 0x03, 0x20, 0x7F, 0x08, 0x30, 0x35, + 0xA9, 0xE0, 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, + 0x20, 0x7F, 0x08, 0x30, 0x31, 0xA9, 0xD9, 0x85, + 0x02, 0xA9, 0x0C, 0x85, 0x03, 0x20, 0x7F, 0x08, + 0x30, 0x2D, 0xA9, 0x21, 0x85, 0x02, 0xA9, 0x0D, + 0x85, 0x03, 0x20, 0x7F, 0x08, 0x30, 0x29, 0xA9, + 0x31, 0x85, 0x02, 0xA9, 0x0D, 0x85, 0x03, 0x20, + 0x7F, 0x08, 0x30, 0x28, 0x60, 0xA9, 0x06, 0x85, + 0x10, 0xA9, 0x00, 0x85, 0x04, 0x60, 0xA9, 0x03, + 0x85, 0x10, 0xA9, 0x00, 0x85, 0x04, 0x60, 0xA9, + 0x05, 0x85, 0x10, 0xA9, 0x00, 0x85, 0x04, 0x60, + 0xA9, 0x91, 0x85, 0x02, 0xA9, 0x12, 0x85, 0x03, + 0x20, 0xCF, 0x08, 0x60, 0xA9, 0x03, 0x85, 0x02, + 0xA9, 0x13, 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, + 0xA9, 0x07, 0x85, 0x02, 0xA9, 0x0D, 0x85, 0x03, + 0x20, 0x7F, 0x08, 0x30, 0x28, 0xA9, 0x14, 0x85, + 0x02, 0xA9, 0x0D, 0x85, 0x03, 0x20, 0x7F, 0x08, + 0x30, 0x2B, 0xA9, 0xD7, 0x85, 0x02, 0xA9, 0x0C, + 0x85, 0x03, 0x20, 0x7F, 0x08, 0x30, 0x2A, 0xA9, + 0xFD, 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, 0x20, + 0x7F, 0x08, 0x30, 0x26, 0x60, 0xA9, 0x32, 0x85, + 0x02, 0xA9, 0x13, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0xA9, 0xFF, 0x85, 0x14, 0x60, 0xA9, 0x6E, 0x85, + 0x02, 0xA9, 0x13, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0x60, 0xA9, 0x04, 0x85, 0x10, 0xA9, 0x00, 0x85, + 0x04, 0x60, 0xA9, 0xFF, 0x85, 0x15, 0xA9, 0x00, + 0x85, 0x04, 0x85, 0x13, 0x60, 0xA9, 0xE0, 0x85, + 0x02, 0xA9, 0x0C, 0x85, 0x03, 0x20, 0x7F, 0x08, + 0x30, 0x1B, 0xA9, 0xE5, 0x85, 0x02, 0xA9, 0x0C, + 0x85, 0x03, 0x20, 0x7F, 0x08, 0x30, 0x2E, 0xA9, + 0xF2, 0x85, 0x02, 0xA9, 0x0C, 0x85, 0x03, 0x20, + 0x7F, 0x08, 0x30, 0x31, 0x60, 0xA5, 0x16, 0x10, + 0x0F, 0xA9, 0x67, 0x85, 0x02, 0xA9, 0x14, 0x85, + 0x03, 0x20, 0xCF, 0x08, 0x68, 0x4C, 0x1A, 0xFF, + 0xA9, 0x04, 0x85, 0x10, 0xA9, 0xFF, 0x85, 0x16, + 0xA9, 0x00, 0x85, 0x04, 0x60, 0xA9, 0xD3, 0x85, + 0x02, 0xA9, 0x13, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0xA9, 0x00, 0x85, 0x16, 0x60, 0xA5, 0x16, 0x10, + 0x0C, 0xA9, 0xFA, 0x85, 0x02, 0xA9, 0x13, 0x85, + 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA9, 0x1D, 0x85, + 0x02, 0xA9, 0x14, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0x68, 0x4C, 0x1A, 0xFF, 0xA9, 0xFF, 0x85, 0x04, + 0xA5, 0x10, 0xC9, 0x01, 0xD0, 0x03, 0x4C, 0x1F, + 0x07, 0xC9, 0x02, 0xD0, 0x03, 0x4C, 0x57, 0x07, + 0xC9, 0x03, 0xD0, 0x03, 0x4C, 0x8F, 0x07, 0xC9, + 0x04, 0xD0, 0x03, 0x4C, 0xC7, 0x07, 0xC9, 0x05, + 0xD0, 0x03, 0x4C, 0xFF, 0x07, 0xC9, 0x06, 0xD0, + 0x03, 0x4C, 0x47, 0x08, 0xA9, 0x52, 0x85, 0x02, + 0xA9, 0x0C, 0x85, 0x03, 0x20, 0xCF, 0x08, 0xA9, + 0x8E, 0x85, 0x02, 0xA9, 0x0D, 0x85, 0x03, 0x20, + 0xCF, 0x08, 0xA9, 0xAE, 0x85, 0x02, 0xA9, 0x0B, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0xA9, 0x36, 0x85, + 0x02, 0xA9, 0x0E, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0xA9, 0xBA, 0x85, 0x02, 0xA9, 0x0B, 0x85, 0x03, + 0x20, 0xCF, 0x08, 0xA9, 0x3C, 0x85, 0x02, 0xA9, + 0x0E, 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA9, + 0x45, 0x85, 0x02, 0xA9, 0x0E, 0x85, 0x03, 0x20, + 0xCF, 0x08, 0xA9, 0xAE, 0x85, 0x02, 0xA9, 0x0B, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0xA9, 0xD4, 0x85, + 0x02, 0xA9, 0x0E, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0xA9, 0xBA, 0x85, 0x02, 0xA9, 0x0B, 0x85, 0x03, + 0x20, 0xCF, 0x08, 0xA9, 0xE3, 0x85, 0x02, 0xA9, + 0x0E, 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA9, + 0xE8, 0x85, 0x02, 0xA9, 0x0E, 0x85, 0x03, 0x20, + 0xCF, 0x08, 0xA9, 0xAE, 0x85, 0x02, 0xA9, 0x0B, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0xA9, 0x81, 0x85, + 0x02, 0xA9, 0x0F, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0xA9, 0xBA, 0x85, 0x02, 0xA9, 0x0B, 0x85, 0x03, + 0x20, 0xCF, 0x08, 0xA9, 0x88, 0x85, 0x02, 0xA9, + 0x0F, 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA9, + 0x8E, 0x85, 0x02, 0xA9, 0x0F, 0x85, 0x03, 0x20, + 0xCF, 0x08, 0xA9, 0xAE, 0x85, 0x02, 0xA9, 0x0B, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0xA9, 0x1D, 0x85, + 0x02, 0xA9, 0x10, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0xA9, 0xBA, 0x85, 0x02, 0xA9, 0x0B, 0x85, 0x03, + 0x20, 0xCF, 0x08, 0xA9, 0x2A, 0x85, 0x02, 0xA9, + 0x10, 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA5, + 0x15, 0x30, 0x0C, 0xA9, 0x9F, 0x85, 0x02, 0xA9, + 0x13, 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA9, + 0x35, 0x85, 0x02, 0xA9, 0x10, 0x85, 0x03, 0x20, + 0xCF, 0x08, 0xA9, 0xAE, 0x85, 0x02, 0xA9, 0x0B, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0xA9, 0xA5, 0x85, + 0x02, 0xA9, 0x10, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0xA9, 0xBA, 0x85, 0x02, 0xA9, 0x0B, 0x85, 0x03, + 0x20, 0xCF, 0x08, 0xA9, 0xB0, 0x85, 0x02, 0xA9, + 0x10, 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA9, + 0xB3, 0x85, 0x02, 0xA9, 0x10, 0x85, 0x03, 0x20, + 0xCF, 0x08, 0xA9, 0xAE, 0x85, 0x02, 0xA9, 0x0B, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0xA9, 0x2D, 0x85, + 0x02, 0xA9, 0x11, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0xA9, 0xBA, 0x85, 0x02, 0xA9, 0x0B, 0x85, 0x03, + 0x20, 0xCF, 0x08, 0xA9, 0x36, 0x85, 0x02, 0xA9, + 0x11, 0x85, 0x03, 0x20, 0xCF, 0x08, 0x60, 0xA0, + 0xFF, 0xC8, 0xB1, 0x02, 0xC9, 0x25, 0xF0, 0x0A, + 0x69, 0x7F, 0xD9, 0x00, 0x02, 0xF0, 0xF2, 0xA9, + 0x00, 0x60, 0xA9, 0xFF, 0x60, 0xC9, 0xDF, 0xF0, + 0x13, 0xC9, 0x9B, 0xF0, 0x03, 0xC8, 0x10, 0x0F, + 0xA9, 0x8D, 0x20, 0xEF, 0xFF, 0xA9, 0x3E, 0x20, + 0xEF, 0xFF, 0xA0, 0x01, 0x88, 0x30, 0xF1, 0xAD, + 0x11, 0xD0, 0x10, 0xFB, 0xAD, 0x10, 0xD0, 0x99, + 0x00, 0x02, 0x20, 0xEF, 0xFF, 0xC9, 0x8D, 0xD0, + 0xD4, 0x60, 0xA0, 0x00, 0xA5, 0x00, 0xC8, 0x20, + 0xEF, 0xFF, 0xC4, 0x01, 0xD0, 0xF8, 0x60, 0xA0, + 0xFF, 0xC8, 0xB1, 0x02, 0xC9, 0x25, 0xF0, 0x12, + 0xC9, 0x26, 0xF0, 0x06, 0x20, 0xEF, 0xFF, 0x4C, + 0xD1, 0x08, 0xA9, 0x8D, 0x20, 0xEF, 0xFF, 0x4C, + 0xD1, 0x08, 0x60, 0xA9, 0x8D, 0x20, 0xEF, 0xFF, + 0x20, 0xEF, 0xFF, 0xA9, 0x08, 0x85, 0x01, 0xA9, + 0xA0, 0x85, 0x00, 0x20, 0xC2, 0x08, 0xA9, 0x71, + 0x85, 0x02, 0xA9, 0x0A, 0x85, 0x03, 0x20, 0xCF, + 0x08, 0xA9, 0x0A, 0x85, 0x01, 0x20, 0xC2, 0x08, + 0xA9, 0x7F, 0x85, 0x02, 0xA9, 0x0A, 0x85, 0x03, + 0x20, 0xCF, 0x08, 0xA9, 0x0C, 0x85, 0x01, 0x20, + 0xC2, 0x08, 0xA9, 0x92, 0x85, 0x02, 0xA9, 0x0A, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0xA9, 0x8D, 0x20, + 0xEF, 0xFF, 0xA9, 0x10, 0x85, 0x01, 0xA9, 0xA0, + 0x85, 0x00, 0x20, 0xC2, 0x08, 0xA9, 0x08, 0x85, + 0x01, 0xA9, 0xC9, 0x85, 0x00, 0x20, 0xC2, 0x08, + 0xA9, 0x8D, 0x20, 0xEF, 0xFF, 0xA9, 0x10, 0x85, + 0x01, 0xA9, 0xA0, 0x85, 0x00, 0x20, 0xC2, 0x08, + 0xA9, 0xC9, 0x20, 0xEF, 0xFF, 0xA9, 0x06, 0x85, + 0x01, 0x20, 0xC2, 0x08, 0xA9, 0xC9, 0x20, 0xEF, + 0xFF, 0xA9, 0x8D, 0x20, 0xEF, 0xFF, 0xA9, 0x10, + 0x85, 0x01, 0xA9, 0xA0, 0x85, 0x00, 0x20, 0xC2, + 0x08, 0xA9, 0xC9, 0x20, 0xEF, 0xFF, 0xA9, 0x06, + 0x85, 0x01, 0x20, 0xC2, 0x08, 0xA9, 0xC9, 0x20, + 0xEF, 0xFF, 0xA9, 0x8D, 0x20, 0xEF, 0xFF, 0xA9, + 0x10, 0x85, 0x01, 0xA9, 0xA0, 0x85, 0x00, 0x20, + 0xC2, 0x08, 0xA9, 0xC9, 0x20, 0xEF, 0xFF, 0xA9, + 0x06, 0x85, 0x01, 0x20, 0xC2, 0x08, 0xA9, 0xC9, + 0x20, 0xEF, 0xFF, 0xA9, 0x8D, 0x20, 0xEF, 0xFF, + 0xA9, 0x10, 0x85, 0x01, 0xA9, 0xA0, 0x85, 0x00, + 0x20, 0xC2, 0x08, 0xA9, 0xC9, 0x20, 0xEF, 0xFF, + 0xA9, 0x02, 0x85, 0x01, 0x20, 0xC2, 0x08, 0xA9, + 0xC9, 0x85, 0x00, 0x20, 0xC2, 0x08, 0xA9, 0xA0, + 0x85, 0x00, 0x20, 0xC2, 0x08, 0xA9, 0xC9, 0x20, + 0xEF, 0xFF, 0xA9, 0x8D, 0x20, 0xEF, 0xFF, 0xA9, + 0x10, 0x85, 0x01, 0xA9, 0xA0, 0x85, 0x00, 0x20, + 0xC2, 0x08, 0xA9, 0xC9, 0x20, 0xEF, 0xFF, 0xA9, + 0x02, 0x85, 0x01, 0x20, 0xC2, 0x08, 0xA9, 0xC9, + 0x85, 0x00, 0x20, 0xC2, 0x08, 0xA9, 0xA0, 0x85, + 0x00, 0x20, 0xC2, 0x08, 0xA9, 0xC9, 0x20, 0xEF, + 0xFF, 0xA9, 0x8D, 0x20, 0xEF, 0xFF, 0xA9, 0x0C, + 0x85, 0x01, 0xA9, 0xA0, 0x85, 0x00, 0x20, 0xC2, + 0x08, 0xA9, 0xC9, 0x85, 0x00, 0xA9, 0x10, 0x85, + 0x01, 0x20, 0xC2, 0x08, 0xA9, 0x8D, 0x20, 0xEF, + 0xFF, 0x20, 0xEF, 0xFF, 0xA9, 0x0C, 0x85, 0x01, + 0xA9, 0xA0, 0x85, 0x00, 0x20, 0xC2, 0x08, 0xA9, + 0xA9, 0x85, 0x02, 0xA9, 0x0A, 0x85, 0x03, 0x20, + 0xCF, 0x08, 0xA9, 0x3E, 0x20, 0xEF, 0xFF, 0xAD, + 0x11, 0xD0, 0x10, 0xFB, 0xAD, 0x10, 0xD0, 0xC9, + 0xB1, 0xF0, 0x12, 0xC9, 0xB2, 0xF0, 0x03, 0x4C, + 0x47, 0x0A, 0xA9, 0xD6, 0x85, 0x02, 0xA9, 0x0A, + 0x85, 0x03, 0x20, 0xCF, 0x08, 0xA9, 0xBC, 0x85, + 0x02, 0xA9, 0x0A, 0x85, 0x03, 0x20, 0xCF, 0x08, + 0x60, 0x4C, 0x49, 0x54, 0x54, 0x4C, 0x45, 0x20, + 0x54, 0x4F, 0x57, 0x45, 0x52, 0x26, 0x25, 0x41, + 0x50, 0x50, 0x4C, 0x45, 0x20, 0x31, 0x20, 0x43, + 0x4F, 0x4F, 0x4C, 0x20, 0x47, 0x41, 0x4D, 0x45, + 0x26, 0x25, 0x57, 0x52, 0x49, 0x54, 0x54, 0x45, + 0x4E, 0x20, 0x42, 0x59, 0x20, 0x41, 0x2E, 0x56, + 0x45, 0x52, 0x48, 0x49, 0x4C, 0x4C, 0x45, 0x26, + 0x25, 0x31, 0x5D, 0x20, 0x50, 0x4C, 0x41, 0x59, + 0x20, 0x20, 0x32, 0x5D, 0x20, 0x48, 0x45, 0x4C, + 0x50, 0x26, 0x26, 0x25, 0x4F, 0x4B, 0x2C, 0x20, + 0x4E, 0x4F, 0x57, 0x20, 0x4C, 0x45, 0x54, 0x27, + 0x53, 0x20, 0x42, 0x45, 0x47, 0x49, 0x4E, 0x20, + 0x2E, 0x2E, 0x2E, 0x26, 0x26, 0x25, 0x54, 0x48, + 0x49, 0x53, 0x20, 0x49, 0x53, 0x20, 0x41, 0x20, + 0x42, 0x41, 0x53, 0x49, 0x43, 0x20, 0x54, 0x58, + 0x54, 0x20, 0x41, 0x44, 0x56, 0x45, 0x4E, 0x54, + 0x55, 0x52, 0x45, 0x2E, 0x26, 0x56, 0x41, 0x4C, + 0x49, 0x44, 0x53, 0x20, 0x43, 0x4F, 0x4D, 0x4D, + 0x41, 0x4E, 0x44, 0x53, 0x20, 0x41, 0x52, 0x45, + 0x3A, 0x26, 0x26, 0x44, 0x49, 0x52, 0x45, 0x43, + 0x54, 0x49, 0x4F, 0x4E, 0x3A, 0x20, 0x4E, 0x2C, + 0x53, 0x2C, 0x57, 0x2C, 0x45, 0x2C, 0x55, 0x50, + 0x2C, 0x44, 0x4F, 0x57, 0x4E, 0x2E, 0x26, 0x41, + 0x43, 0x54, 0x49, 0x4F, 0x4E, 0x3A, 0x20, 0x4C, + 0x4F, 0x4F, 0x4B, 0x2C, 0x45, 0x58, 0x41, 0x4D, + 0x49, 0x4E, 0x45, 0x2C, 0x45, 0x4E, 0x54, 0x45, + 0x52, 0x2C, 0x47, 0x45, 0x54, 0x2C, 0x55, 0x53, + 0x45, 0x2C, 0x53, 0x41, 0x59, 0x2E, 0x26, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x41, 0x4C, 0x3A, 0x20, + 0x49, 0x4E, 0x56, 0x45, 0x4E, 0x54, 0x4F, 0x52, + 0x59, 0x2C, 0x48, 0x45, 0x4C, 0x50, 0x2C, 0x45, + 0x58, 0x49, 0x54, 0x2E, 0x26, 0x4F, 0x42, 0x4A, + 0x45, 0x43, 0x54, 0x3A, 0x20, 0x42, 0x4F, 0x41, + 0x54, 0x2C, 0x44, 0x4F, 0x4F, 0x52, 0x2C, 0x41, + 0x4E, 0x44, 0x20, 0x4D, 0x4F, 0x52, 0x45, 0x2E, + 0x2E, 0x2E, 0x26, 0x26, 0x43, 0x4F, 0x4D, 0x50, + 0x4C, 0x45, 0x58, 0x20, 0x43, 0x4F, 0x4D, 0x4D, + 0x41, 0x4E, 0x44, 0x20, 0x55, 0x53, 0x45, 0x20, + 0x54, 0x57, 0x4F, 0x20, 0x57, 0x4F, 0x52, 0x44, + 0x20, 0x4D, 0x41, 0x58, 0x26, 0x25, 0x4F, 0x42, + 0x4A, 0x45, 0x43, 0x54, 0x28, 0x53, 0x29, 0x3A, + 0x20, 0x25, 0x45, 0x58, 0x49, 0x54, 0x28, 0x53, + 0x29, 0x3A, 0x20, 0x25, 0x48, 0x45, 0x59, 0x2C, + 0x20, 0x42, 0x45, 0x43, 0x41, 0x55, 0x53, 0x45, + 0x20, 0x59, 0x4F, 0x55, 0x20, 0x53, 0x41, 0x59, + 0x20, 0x54, 0x48, 0x41, 0x54, 0x2C, 0x26, 0x59, + 0x4F, 0x55, 0x20, 0x4D, 0x55, 0x53, 0x54, 0x20, + 0x54, 0x59, 0x50, 0x45, 0x20, 0x27, 0x53, 0x4F, + 0x52, 0x52, 0x59, 0x27, 0x20, 0x54, 0x4F, 0x20, + 0x43, 0x4F, 0x4E, 0x54, 0x49, 0x4E, 0x55, 0x45, + 0x2E, 0x26, 0x4F, 0x42, 0x45, 0x59, 0x20, 0x43, + 0x41, 0x4E, 0x20, 0x42, 0x45, 0x20, 0x41, 0x20, + 0x47, 0x4F, 0x4F, 0x44, 0x20, 0x49, 0x44, 0x45, + 0x41, 0x26, 0x25, 0x4F, 0x4B, 0x2C, 0x20, 0x59, + 0x4F, 0x55, 0x27, 0x52, 0x45, 0x20, 0x41, 0x20, + 0x47, 0x4F, 0x4F, 0x44, 0x20, 0x42, 0x4F, 0x59, + 0x20, 0x28, 0x4F, 0x52, 0x20, 0x47, 0x49, 0x52, + 0x4C, 0x29, 0x2C, 0x26, 0x59, 0x4F, 0x55, 0x20, + 0x43, 0x41, 0x4E, 0x20, 0x50, 0x4C, 0x41, 0x59, + 0x20, 0x4E, 0x4F, 0x57, 0x20, 0x2E, 0x2E, 0x2E, + 0x26, 0x25, 0x52, 0x4F, 0x4F, 0x4D, 0x20, 0x50, + 0x4F, 0x53, 0x49, 0x54, 0x49, 0x4F, 0x4E, 0x20, + 0x45, 0x52, 0x52, 0x4F, 0x52, 0x20, 0x3A, 0x2D, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x26, 0x25, 0x59, + 0x4F, 0x55, 0x52, 0x20, 0x42, 0x41, 0x47, 0x20, + 0x43, 0x4F, 0x4E, 0x54, 0x41, 0x49, 0x4E, 0x53, + 0x20, 0x3A, 0x26, 0x25, 0x41, 0x20, 0x4B, 0x45, + 0x59, 0x26, 0x25, 0x41, 0x20, 0x54, 0x4F, 0x52, + 0x43, 0x48, 0x26, 0x25, 0x41, 0x20, 0x53, 0x49, + 0x4C, 0x56, 0x45, 0x52, 0x20, 0x44, 0x41, 0x47, + 0x47, 0x45, 0x52, 0x26, 0x25, 0x4E, 0x4F, 0x54, + 0x48, 0x49, 0x4E, 0x47, 0x26, 0x25, 0x45, 0x58, + 0x49, 0x54, 0x25, 0x48, 0x45, 0x4C, 0x50, 0x25, + 0x4C, 0x4F, 0x4F, 0x4B, 0x25, 0x53, 0x48, 0x49, + 0x54, 0x25, 0x46, 0x55, 0x43, 0x4B, 0x25, 0x53, + 0x4F, 0x52, 0x52, 0x59, 0x25, 0x49, 0x4E, 0x56, + 0x45, 0x4E, 0x54, 0x4F, 0x52, 0x59, 0x25, 0x4E, + 0x25, 0x53, 0x25, 0x57, 0x25, 0x55, 0x50, 0x25, + 0x44, 0x4F, 0x57, 0x4E, 0x25, 0x53, 0x41, 0x59, + 0x20, 0x41, 0x4E, 0x41, 0x45, 0x54, 0x4F, 0x53, + 0x48, 0x25, 0x55, 0x53, 0x45, 0x20, 0x44, 0x41, + 0x47, 0x47, 0x45, 0x52, 0x25, 0x55, 0x53, 0x45, + 0x20, 0x54, 0x4F, 0x52, 0x43, 0x48, 0x25, 0x45, + 0x58, 0x41, 0x4D, 0x49, 0x4E, 0x45, 0x20, 0x44, + 0x45, 0x53, 0x4B, 0x25, 0x45, 0x58, 0x41, 0x4D, + 0x49, 0x4E, 0x45, 0x20, 0x42, 0x4F, 0x4F, 0x4B, + 0x25, 0x45, 0x58, 0x41, 0x4D, 0x49, 0x4E, 0x45, + 0x20, 0x50, 0x49, 0x43, 0x54, 0x55, 0x52, 0x45, + 0x25, 0x45, 0x58, 0x41, 0x4D, 0x49, 0x4E, 0x45, + 0x20, 0x42, 0x45, 0x44, 0x25, 0x45, 0x58, 0x41, + 0x4D, 0x49, 0x4E, 0x45, 0x20, 0x54, 0x4F, 0x52, + 0x43, 0x48, 0x25, 0x45, 0x58, 0x41, 0x4D, 0x49, + 0x4E, 0x45, 0x20, 0x42, 0x4F, 0x41, 0x54, 0x25, + 0x45, 0x58, 0x41, 0x4D, 0x49, 0x4E, 0x45, 0x20, + 0x53, 0x4B, 0x45, 0x4C, 0x45, 0x54, 0x4F, 0x4E, + 0x25, 0x45, 0x58, 0x41, 0x4D, 0x49, 0x4E, 0x45, + 0x20, 0x44, 0x4F, 0x4F, 0x52, 0x25, 0x47, 0x45, + 0x54, 0x20, 0x54, 0x4F, 0x52, 0x43, 0x48, 0x25, + 0x45, 0x4E, 0x54, 0x45, 0x52, 0x25, 0x55, 0x53, + 0x45, 0x20, 0x4B, 0x45, 0x59, 0x25, 0x59, 0x4F, + 0x55, 0x27, 0x52, 0x45, 0x20, 0x49, 0x4E, 0x20, + 0x41, 0x20, 0x44, 0x41, 0x52, 0x4B, 0x20, 0x46, + 0x4F, 0x52, 0x45, 0x53, 0x54, 0x2E, 0x26, 0x45, + 0x4C, 0x55, 0x53, 0x49, 0x56, 0x45, 0x20, 0x53, + 0x48, 0x41, 0x44, 0x4F, 0x57, 0x53, 0x20, 0x41, + 0x52, 0x45, 0x20, 0x46, 0x4C, 0x59, 0x49, 0x4E, + 0x47, 0x20, 0x41, 0x52, 0x4F, 0x55, 0x4E, 0x44, + 0x2E, 0x26, 0x49, 0x4E, 0x20, 0x46, 0x52, 0x4F, + 0x4E, 0x54, 0x20, 0x4F, 0x46, 0x20, 0x59, 0x4F, + 0x55, 0x2C, 0x20, 0x41, 0x20, 0x54, 0x48, 0x52, + 0x45, 0x45, 0x20, 0x46, 0x4C, 0x4F, 0x4F, 0x52, + 0x20, 0x54, 0x4F, 0x57, 0x45, 0x52, 0x26, 0x53, + 0x45, 0x45, 0x4D, 0x53, 0x20, 0x54, 0x4F, 0x20, + 0x42, 0x45, 0x20, 0x57, 0x45, 0x4C, 0x43, 0x4F, + 0x4D, 0x49, 0x4E, 0x47, 0x2E, 0x26, 0x54, 0x4F, + 0x20, 0x54, 0x48, 0x45, 0x20, 0x53, 0x4F, 0x55, + 0x54, 0x48, 0x2C, 0x20, 0x41, 0x20, 0x4C, 0x41, + 0x4B, 0x45, 0x20, 0x44, 0x49, 0x53, 0x41, 0x50, + 0x50, 0x45, 0x41, 0x52, 0x49, 0x4E, 0x47, 0x26, + 0x49, 0x4E, 0x54, 0x4F, 0x20, 0x54, 0x48, 0x45, + 0x20, 0x46, 0x4F, 0x47, 0x26, 0x25, 0x44, 0x4F, + 0x4F, 0x52, 0x26, 0x25, 0x53, 0x2C, 0x45, 0x4E, + 0x54, 0x45, 0x52, 0x26, 0x25, 0x59, 0x4F, 0x55, + 0x27, 0x52, 0x45, 0x20, 0x4F, 0x4E, 0x20, 0x54, + 0x48, 0x45, 0x20, 0x4C, 0x41, 0x4B, 0x45, 0x27, + 0x53, 0x20, 0x42, 0x41, 0x4E, 0x4B, 0x2C, 0x26, + 0x54, 0x48, 0x45, 0x52, 0x45, 0x20, 0x49, 0x53, + 0x20, 0x41, 0x20, 0x53, 0x4B, 0x45, 0x4C, 0x45, + 0x54, 0x4F, 0x4E, 0x20, 0x48, 0x45, 0x52, 0x45, + 0x2C, 0x20, 0x41, 0x4E, 0x44, 0x20, 0x41, 0x4E, + 0x20, 0x4F, 0x4C, 0x44, 0x26, 0x53, 0x4D, 0x41, + 0x4C, 0x4C, 0x20, 0x42, 0x4F, 0x41, 0x54, 0x20, + 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x54, 0x49, 0x4E, + 0x47, 0x20, 0x4F, 0x4E, 0x20, 0x54, 0x48, 0x45, + 0x20, 0x57, 0x41, 0x54, 0x45, 0x52, 0x2E, 0x20, + 0x49, 0x54, 0x26, 0x43, 0x41, 0x4E, 0x20, 0x50, + 0x52, 0x4F, 0x42, 0x41, 0x42, 0x4C, 0x59, 0x20, + 0x54, 0x52, 0x41, 0x4E, 0x53, 0x50, 0x4F, 0x52, + 0x54, 0x20, 0x59, 0x4F, 0x55, 0x20, 0x54, 0x4F, + 0x20, 0x54, 0x48, 0x45, 0x20, 0x53, 0x4F, 0x55, + 0x54, 0x48, 0x26, 0x25, 0x53, 0x4B, 0x45, 0x4C, + 0x45, 0x54, 0x4F, 0x4E, 0x2C, 0x42, 0x4F, 0x41, + 0x54, 0x26, 0x25, 0x4E, 0x2C, 0x53, 0x26, 0x25, + 0x59, 0x4F, 0x55, 0x27, 0x52, 0x45, 0x20, 0x49, + 0x4E, 0x20, 0x41, 0x20, 0x57, 0x4F, 0x52, 0x4B, + 0x53, 0x48, 0x4F, 0x50, 0x2E, 0x20, 0x4C, 0x4F, + 0x54, 0x53, 0x20, 0x4F, 0x46, 0x20, 0x57, 0x4F, + 0x4F, 0x44, 0x27, 0x53, 0x26, 0x50, 0x4C, 0x41, + 0x4E, 0x4B, 0x53, 0x20, 0x41, 0x52, 0x45, 0x20, + 0x52, 0x45, 0x53, 0x54, 0x49, 0x4E, 0x47, 0x20, + 0x4F, 0x4E, 0x20, 0x54, 0x48, 0x45, 0x20, 0x57, + 0x41, 0x4C, 0x4C, 0x53, 0x2E, 0x20, 0x54, 0x48, + 0x45, 0x52, 0x45, 0x26, 0x41, 0x52, 0x45, 0x20, + 0x53, 0x4F, 0x4D, 0x45, 0x20, 0x54, 0x4F, 0x52, + 0x43, 0x48, 0x53, 0x20, 0x4F, 0x4E, 0x20, 0x41, + 0x20, 0x57, 0x4F, 0x52, 0x4B, 0x42, 0x45, 0x4E, + 0x43, 0x48, 0x2C, 0x20, 0x53, 0x54, 0x41, 0x49, + 0x52, 0x53, 0x26, 0x54, 0x4F, 0x20, 0x54, 0x48, + 0x45, 0x20, 0x4E, 0x4F, 0x52, 0x54, 0x48, 0x20, + 0x41, 0x4E, 0x44, 0x20, 0x41, 0x20, 0x44, 0x4F, + 0x4F, 0x52, 0x20, 0x54, 0x4F, 0x20, 0x54, 0x48, + 0x45, 0x20, 0x57, 0x45, 0x53, 0x54, 0x2E, 0x26, + 0x25, 0x54, 0x4F, 0x52, 0x43, 0x48, 0x26, 0x25, + 0x57, 0x2C, 0x55, 0x50, 0x26, 0x25, 0x57, 0x45, + 0x4C, 0x43, 0x4F, 0x4D, 0x45, 0x20, 0x54, 0x4F, + 0x20, 0x54, 0x48, 0x45, 0x20, 0x54, 0x4F, 0x57, + 0x45, 0x52, 0x27, 0x53, 0x20, 0x42, 0x45, 0x44, + 0x52, 0x4F, 0x4F, 0x4D, 0x2E, 0x26, 0x54, 0x48, + 0x45, 0x52, 0x45, 0x20, 0x41, 0x52, 0x45, 0x20, + 0x53, 0x4F, 0x4D, 0x45, 0x20, 0x50, 0x49, 0x43, + 0x54, 0x55, 0x52, 0x45, 0x53, 0x20, 0x4F, 0x4E, + 0x20, 0x54, 0x48, 0x45, 0x20, 0x57, 0x41, 0x4C, + 0x4C, 0x2C, 0x26, 0x42, 0x55, 0x54, 0x20, 0x4E, + 0x4F, 0x54, 0x48, 0x49, 0x4E, 0x47, 0x20, 0x4D, + 0x4F, 0x52, 0x45, 0x20, 0x53, 0x45, 0x45, 0x4D, + 0x53, 0x20, 0x55, 0x53, 0x45, 0x46, 0x55, 0x4C, + 0x20, 0x48, 0x45, 0x52, 0x45, 0x2E, 0x26, 0x4F, + 0x48, 0x2C, 0x20, 0x54, 0x48, 0x45, 0x52, 0x45, + 0x27, 0x53, 0x20, 0x41, 0x20, 0x44, 0x4F, 0x4F, + 0x52, 0x20, 0x4F, 0x4E, 0x20, 0x54, 0x48, 0x45, + 0x20, 0x53, 0x4F, 0x55, 0x54, 0x48, 0x20, 0x54, + 0x4F, 0x4F, 0x2E, 0x26, 0x25, 0x50, 0x49, 0x43, + 0x54, 0x55, 0x52, 0x45, 0x2C, 0x42, 0x45, 0x44, + 0x26, 0x25, 0x55, 0x50, 0x2C, 0x44, 0x4F, 0x57, + 0x4E, 0x2C, 0x53, 0x26, 0x25, 0x49, 0x4E, 0x20, + 0x54, 0x48, 0x49, 0x53, 0x20, 0x52, 0x4F, 0x4F, + 0x4D, 0x2C, 0x20, 0x54, 0x48, 0x45, 0x52, 0x45, + 0x27, 0x53, 0x20, 0x41, 0x20, 0x4C, 0x49, 0x42, + 0x52, 0x41, 0x52, 0x59, 0x20, 0x57, 0x48, 0x45, + 0x52, 0x45, 0x26, 0x48, 0x55, 0x4E, 0x44, 0x52, + 0x45, 0x44, 0x20, 0x4F, 0x46, 0x20, 0x42, 0x4F, + 0x4F, 0x4B, 0x53, 0x20, 0x41, 0x52, 0x45, 0x20, + 0x53, 0x54, 0x4F, 0x52, 0x45, 0x44, 0x2E, 0x26, + 0x41, 0x20, 0x57, 0x4F, 0x4F, 0x44, 0x45, 0x4E, + 0x20, 0x44, 0x45, 0x53, 0x4B, 0x20, 0x41, 0x4E, + 0x44, 0x20, 0x41, 0x20, 0x43, 0x48, 0x41, 0x49, + 0x52, 0x26, 0x41, 0x52, 0x45, 0x20, 0x52, 0x45, + 0x53, 0x54, 0x49, 0x4E, 0x47, 0x20, 0x48, 0x45, + 0x52, 0x45, 0x2E, 0x26, 0x25, 0x44, 0x45, 0x53, + 0x4B, 0x2C, 0x42, 0x4F, 0x4F, 0x4B, 0x26, 0x25, + 0x4E, 0x26, 0x25, 0x54, 0x48, 0x49, 0x53, 0x20, + 0x52, 0x4F, 0x4F, 0x4D, 0x20, 0x49, 0x53, 0x20, + 0x54, 0x4F, 0x54, 0x41, 0x4C, 0x59, 0x20, 0x57, + 0x49, 0x50, 0x45, 0x44, 0x20, 0x4F, 0x55, 0x54, + 0x2C, 0x26, 0x59, 0x4F, 0x55, 0x20, 0x43, 0x41, + 0x4E, 0x20, 0x53, 0x45, 0x45, 0x20, 0x54, 0x48, + 0x45, 0x20, 0x53, 0x54, 0x41, 0x52, 0x53, 0x20, + 0x46, 0x52, 0x4F, 0x4D, 0x20, 0x48, 0x45, 0x52, + 0x45, 0x2E, 0x26, 0x49, 0x4E, 0x20, 0x54, 0x48, + 0x45, 0x20, 0x4D, 0x49, 0x44, 0x44, 0x4C, 0x45, + 0x20, 0x4F, 0x46, 0x20, 0x54, 0x48, 0x45, 0x20, + 0x4D, 0x45, 0x53, 0x53, 0x2C, 0x26, 0x41, 0x20, + 0x44, 0x41, 0x52, 0x4B, 0x20, 0x4D, 0x41, 0x4E, + 0x20, 0x49, 0x53, 0x20, 0x4C, 0x4F, 0x4F, 0x4B, + 0x49, 0x4E, 0x47, 0x20, 0x41, 0x54, 0x20, 0x59, + 0x4F, 0x55, 0x2E, 0x26, 0x25, 0x4E, 0x4F, 0x54, + 0x48, 0x49, 0x4E, 0x47, 0x26, 0x25, 0x44, 0x4F, + 0x57, 0x4E, 0x26, 0x25, 0x54, 0x48, 0x45, 0x20, + 0x44, 0x4F, 0x4F, 0x52, 0x20, 0x49, 0x53, 0x20, + 0x43, 0x4C, 0x4F, 0x53, 0x45, 0x44, 0x26, 0x25, + 0x54, 0x48, 0x45, 0x20, 0x44, 0x4F, 0x4F, 0x52, + 0x20, 0x49, 0x53, 0x20, 0x55, 0x4E, 0x4C, 0x4F, + 0x43, 0x4B, 0x45, 0x44, 0x20, 0x41, 0x4E, 0x44, + 0x20, 0x4F, 0x50, 0x45, 0x4E, 0x2C, 0x26, 0x54, + 0x59, 0x50, 0x45, 0x20, 0x27, 0x45, 0x4E, 0x54, + 0x45, 0x52, 0x27, 0x20, 0x4E, 0x4F, 0x57, 0x26, + 0x25, 0x54, 0x48, 0x45, 0x20, 0x42, 0x4F, 0x41, + 0x54, 0x20, 0x49, 0x53, 0x20, 0x53, 0x49, 0x4E, + 0x4B, 0x49, 0x4E, 0x47, 0x20, 0x21, 0x21, 0x21, + 0x21, 0x26, 0x54, 0x48, 0x41, 0x54, 0x27, 0x53, + 0x20, 0x54, 0x48, 0x45, 0x20, 0x45, 0x4E, 0x44, + 0x2E, 0x26, 0x25, 0x54, 0x48, 0x45, 0x52, 0x45, + 0x20, 0x49, 0x53, 0x20, 0x41, 0x20, 0x4C, 0x49, + 0x54, 0x54, 0x4C, 0x45, 0x20, 0x48, 0x4F, 0x4C, + 0x45, 0x20, 0x49, 0x4E, 0x20, 0x54, 0x48, 0x45, + 0x20, 0x42, 0x4F, 0x41, 0x54, 0x2C, 0x26, 0x47, + 0x4F, 0x4F, 0x44, 0x20, 0x54, 0x4F, 0x20, 0x4B, + 0x4E, 0x4F, 0x57, 0x20, 0x21, 0x26, 0x25, 0x54, + 0x48, 0x45, 0x52, 0x45, 0x20, 0x49, 0x53, 0x20, + 0x41, 0x20, 0x4B, 0x45, 0x59, 0x20, 0x55, 0x4E, + 0x44, 0x45, 0x52, 0x20, 0x54, 0x48, 0x45, 0x20, + 0x53, 0x4B, 0x45, 0x4C, 0x45, 0x54, 0x4F, 0x4E, + 0x26, 0x59, 0x4F, 0x55, 0x20, 0x47, 0x45, 0x54, + 0x20, 0x54, 0x48, 0x45, 0x20, 0x4B, 0x45, 0x59, + 0x20, 0x57, 0x49, 0x54, 0x48, 0x20, 0x59, 0x4F, + 0x55, 0x2E, 0x26, 0x25, 0x4E, 0x4F, 0x20, 0x4B, + 0x45, 0x59, 0x20, 0x49, 0x4E, 0x20, 0x59, 0x4F, + 0x55, 0x52, 0x20, 0x49, 0x4E, 0x56, 0x45, 0x4E, + 0x54, 0x4F, 0x52, 0x59, 0x20, 0x21, 0x21, 0x21, + 0x21, 0x26, 0x25, 0x4F, 0x4B, 0x2C, 0x20, 0x54, + 0x48, 0x45, 0x20, 0x44, 0x4F, 0x4F, 0x52, 0x20, + 0x49, 0x53, 0x20, 0x55, 0x4E, 0x4C, 0x4F, 0x43, + 0x4B, 0x45, 0x44, 0x26, 0x25, 0x47, 0x4F, 0x4F, + 0x44, 0x20, 0x54, 0x4F, 0x52, 0x43, 0x48, 0x20, + 0x46, 0x4F, 0x52, 0x20, 0x47, 0x4F, 0x4F, 0x44, + 0x20, 0x4C, 0x49, 0x47, 0x48, 0x54, 0x20, 0x21, + 0x26, 0x25, 0x4F, 0x4B, 0x2C, 0x20, 0x54, 0x48, + 0x45, 0x20, 0x54, 0x4F, 0x52, 0x43, 0x48, 0x20, + 0x49, 0x53, 0x20, 0x49, 0x4E, 0x20, 0x59, 0x4F, + 0x55, 0x52, 0x20, 0x42, 0x41, 0x47, 0x2E, 0x26, + 0x25, 0x54, 0x48, 0x45, 0x52, 0x45, 0x20, 0x41, + 0x52, 0x45, 0x20, 0x53, 0x4F, 0x4D, 0x45, 0x20, + 0x43, 0x41, 0x42, 0x41, 0x4C, 0x49, 0x53, 0x54, + 0x49, 0x43, 0x53, 0x20, 0x53, 0x49, 0x47, 0x4E, + 0x53, 0x2E, 0x26, 0x4F, 0x4E, 0x45, 0x20, 0x4F, + 0x4E, 0x4C, 0x59, 0x20, 0x43, 0x41, 0x4E, 0x20, + 0x42, 0x45, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, + 0x3A, 0x26, 0x27, 0x41, 0x4E, 0x41, 0x45, 0x54, + 0x4F, 0x53, 0x48, 0x27, 0x20, 0x49, 0x53, 0x20, + 0x54, 0x48, 0x45, 0x20, 0x57, 0x4F, 0x52, 0x44, + 0x20, 0x57, 0x48, 0x4F, 0x20, 0x43, 0x41, 0x4E, + 0x20, 0x53, 0x41, 0x56, 0x45, 0x26, 0x59, 0x4F, + 0x55, 0x20, 0x46, 0x52, 0x4F, 0x4D, 0x20, 0x50, + 0x41, 0x52, 0x41, 0x4C, 0x59, 0x53, 0x49, 0x53, + 0x2E, 0x26, 0x25, 0x54, 0x48, 0x45, 0x52, 0x45, + 0x27, 0x53, 0x20, 0x4E, 0x4F, 0x54, 0x48, 0x49, + 0x4E, 0x47, 0x20, 0x4F, 0x4E, 0x20, 0x54, 0x48, + 0x45, 0x20, 0x42, 0x45, 0x44, 0x26, 0x41, 0x4E, + 0x44, 0x20, 0x55, 0x4E, 0x44, 0x45, 0x52, 0x20, + 0x54, 0x48, 0x45, 0x20, 0x42, 0x45, 0x44, 0x2E, + 0x26, 0x25, 0x54, 0x48, 0x45, 0x52, 0x45, 0x20, + 0x49, 0x53, 0x20, 0x41, 0x20, 0x53, 0x49, 0x4C, + 0x56, 0x45, 0x52, 0x20, 0x44, 0x41, 0x47, 0x47, + 0x45, 0x52, 0x20, 0x48, 0x45, 0x52, 0x45, 0x26, + 0x59, 0x4F, 0x55, 0x20, 0x47, 0x45, 0x54, 0x20, + 0x54, 0x48, 0x45, 0x20, 0x44, 0x41, 0x47, 0x47, + 0x45, 0x52, 0x20, 0x57, 0x49, 0x54, 0x48, 0x20, + 0x59, 0x4F, 0x55, 0x2E, 0x26, 0x25, 0x4C, 0x4F, + 0x54, 0x53, 0x20, 0x4F, 0x46, 0x20, 0x42, 0x4F, + 0x4F, 0x4B, 0x20, 0x54, 0x41, 0x4C, 0x4B, 0x20, + 0x41, 0x42, 0x4F, 0x55, 0x54, 0x26, 0x56, 0x41, + 0x4D, 0x50, 0x49, 0x52, 0x45, 0x53, 0x20, 0x45, + 0x58, 0x54, 0x45, 0x52, 0x4D, 0x49, 0x4E, 0x41, + 0x54, 0x49, 0x4F, 0x4E, 0x2E, 0x26, 0x25, 0x54, + 0x48, 0x45, 0x52, 0x45, 0x20, 0x49, 0x53, 0x20, + 0x4E, 0x4F, 0x20, 0x4C, 0x49, 0x47, 0x48, 0x54, + 0x20, 0x48, 0x45, 0x52, 0x45, 0x2C, 0x26, 0x41, + 0x50, 0x41, 0x52, 0x54, 0x20, 0x46, 0x52, 0x4F, + 0x4D, 0x20, 0x54, 0x48, 0x45, 0x20, 0x4E, 0x4F, + 0x52, 0x54, 0x48, 0x20, 0x44, 0x4F, 0x4F, 0x52, + 0x2E, 0x26, 0x25, 0x59, 0x45, 0x41, 0x48, 0x48, + 0x2C, 0x20, 0x49, 0x54, 0x20, 0x57, 0x4F, 0x52, + 0x4B, 0x53, 0x20, 0x21, 0x21, 0x21, 0x26, 0x59, + 0x4F, 0x55, 0x20, 0x43, 0x41, 0x4E, 0x20, 0x4D, + 0x4F, 0x56, 0x45, 0x20, 0x4E, 0x4F, 0x57, 0x2E, + 0x26, 0x25, 0x49, 0x54, 0x27, 0x53, 0x20, 0x49, + 0x4D, 0x50, 0x4F, 0x53, 0x53, 0x49, 0x42, 0x4C, + 0x45, 0x2C, 0x20, 0x59, 0x4F, 0x55, 0x20, 0x43, + 0x41, 0x4E, 0x27, 0x54, 0x20, 0x4D, 0x4F, 0x56, + 0x45, 0x20, 0x21, 0x26, 0x25, 0x54, 0x48, 0x45, + 0x20, 0x56, 0x41, 0x4D, 0x50, 0x49, 0x52, 0x45, + 0x20, 0x49, 0x53, 0x20, 0x44, 0x49, 0x53, 0x41, + 0x50, 0x50, 0x45, 0x41, 0x52, 0x49, 0x4E, 0x47, + 0x26, 0x55, 0x4E, 0x44, 0x45, 0x52, 0x20, 0x59, + 0x4F, 0x55, 0x52, 0x20, 0x41, 0x54, 0x54, 0x41, + 0x43, 0x4B, 0x26, 0x43, 0x4F, 0x4E, 0x47, 0x52, + 0x41, 0x54, 0x55, 0x4C, 0x41, 0x54, 0x49, 0x4F, + 0x4E, 0x2C, 0x20, 0x59, 0x4F, 0x55, 0x20, 0x57, + 0x49, 0x4E, 0x20, 0x21, 0x21, 0x26, 0x25, 0x59, + 0x4F, 0x55, 0x20, 0x41, 0x52, 0x45, 0x20, 0x54, + 0x52, 0x59, 0x49, 0x4E, 0x47, 0x20, 0x54, 0x4F, + 0x20, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x2C, + 0x26, 0x42, 0x55, 0x54, 0x20, 0x59, 0x4F, 0x55, + 0x20, 0x43, 0x41, 0x4E, 0x27, 0x54, 0x20, 0x4D, + 0x4F, 0x56, 0x45, 0x2E, 0x20, 0x54, 0x48, 0x45, + 0x20, 0x56, 0x41, 0x4D, 0x50, 0x49, 0x52, 0x45, + 0x26, 0x49, 0x53, 0x20, 0x53, 0x55, 0x43, 0x4B, + 0x49, 0x4E, 0x47, 0x20, 0x59, 0x4F, 0x55, 0x52, + 0x20, 0x42, 0x4C, 0x4F, 0x4F, 0x44, 0x20, 0x4E, + 0x4F, 0x57, 0x2E, 0x26, 0x54, 0x48, 0x41, 0x54, + 0x27, 0x53, 0x20, 0x54, 0x48, 0x45, 0x20, 0x45, + 0x4E, 0x44, 0x2E, 0x26, 0x25, 0x00 + ]] +}; diff --git a/tapes/lunar_lander.js b/tapes/lunar_lander.js new file mode 100644 index 0000000..74ce8f8 --- /dev/null +++ b/tapes/lunar_lander.js @@ -0,0 +1,229 @@ +/* +C100R +0300.09B8R +300R +*/ + +/*globals tapes: true */ + +tapes['Lunar Lander'] = { + script: 'C100R\n0300.09B8R\n300R\n', + tracks: [[ // 0300.09B8 + 0x20, 0x00, 0x04, 0x20, 0x00, 0x04, 0x20, 0x71, + 0x06, 0x20, 0x00, 0x04, 0xA9, 0x00, 0x85, 0x00, + 0x85, 0x01, 0x85, 0x05, 0x85, 0x08, 0x85, 0x09, + 0xA9, 0x05, 0x85, 0x02, 0xA9, 0x50, 0x85, 0x04, + 0xA9, 0x20, 0x85, 0x06, 0xA9, 0x01, 0x85, 0x07, + 0x20, 0x00, 0x04, 0x20, 0x72, 0x07, 0x20, 0x00, + 0x04, 0x20, 0x12, 0x06, 0x24, 0x08, 0x10, 0x10, + 0x24, 0x05, 0x30, 0x12, 0x20, 0x00, 0x04, 0x20, + 0x31, 0x08, 0xA9, 0x00, 0x85, 0x0A, 0xF0, 0x06, + 0x20, 0x00, 0x05, 0x20, 0x2E, 0x05, 0x20, 0x58, + 0x05, 0xA5, 0x04, 0xD0, 0x04, 0xA9, 0x00, 0x85, + 0x09, 0x20, 0xB7, 0x05, 0x20, 0xF7, 0x05, 0xA5, + 0x02, 0xF0, 0x03, 0x4C, 0x2E, 0x03, 0xA5, 0x01, + 0xF0, 0x03, 0x4C, 0x2E, 0x03, 0x20, 0x00, 0x04, + 0x20, 0x35, 0x04, 0x20, 0x00, 0x04, 0x20, 0x12, + 0x06, 0x20, 0x00, 0x04, 0x20, 0x00, 0x04, 0xA5, + 0x04, 0xF0, 0x14, 0xC9, 0x03, 0x90, 0x10, 0xC9, + 0x07, 0x90, 0x06, 0x20, 0x06, 0x09, 0x4C, 0x9A, + 0x03, 0x20, 0xA9, 0x08, 0x4C, 0x9A, 0x03, 0x20, + 0x71, 0x08, 0x20, 0x00, 0x04, 0x20, 0x00, 0x04, + 0x20, 0x43, 0x09, 0x20, 0x15, 0x04, 0xC9, 0x59, + 0xF0, 0x0C, 0x20, 0x00, 0x04, 0x20, 0x00, 0x04, + 0x20, 0x9A, 0x09, 0x4C, 0x1F, 0xFF, 0x4C, 0x09, + 0x03, 0xA9, 0x0D, 0x20, 0xEF, 0xFF, 0xA9, 0x0A, + 0x20, 0xEF, 0xFF, 0x60, 0xA9, 0x20, 0x20, 0xEF, + 0xFF, 0x60, 0xAD, 0xAD, 0x12, 0xD0, 0x10, 0xFB, + 0xAD, 0x10, 0xD0, 0x29, 0x7F, 0x20, 0xEF, 0xFF, + 0x60, 0x49, 0x30, 0xC9, 0x0A, 0x10, 0x06, 0x4C, + 0xE8, 0x03, 0xFA, 0x90, 0x03, 0x29, 0x0F, 0x60, + 0xA9, 0xFF, 0x60, 0x00, 0x10, 0x38, 0x88, 0x03, + 0x00, 0x00, 0x08, 0x01, 0x80, 0x08, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xC4, 0x00, + 0x48, 0xA9, 0x0D, 0x20, 0xEF, 0xFF, 0xA9, 0x0A, + 0x20, 0xEF, 0xFF, 0x68, 0x60, 0x48, 0xA9, 0x20, + 0x20, 0xEF, 0xFF, 0x68, 0x60, 0xAD, 0x11, 0xD0, + 0x10, 0xFB, 0xAD, 0x10, 0xD0, 0x29, 0x7F, 0x20, + 0xEF, 0xFF, 0x60, 0x49, 0x30, 0xC9, 0x0A, 0x30, + 0x06, 0x4C, 0x32, 0x04, 0xFA, 0x90, 0x03, 0x29, + 0x0F, 0x60, 0xA9, 0x99, 0x60, 0x20, 0x00, 0x04, + 0x20, 0x53, 0x08, 0x20, 0x00, 0x04, 0x60, 0xA5, + 0x06, 0x85, 0x0A, 0xA9, 0xFF, 0x85, 0x08, 0x60, + 0x05, 0x00, 0xAA, 0xAE, 0x01, 0x00, 0x00, 0x00, + 0xA9, 0x8D, 0xA2, 0x18, 0x20, 0xEF, 0xFF, 0xCA, + 0xD0, 0xFA, 0x60, 0x00, 0x60, 0xFF, 0xFF, 0xFF, + 0x97, 0x90, 0xCD, 0x2B, 0xFF, 0xFF, 0xFF, 0xFF, + 0x8D, 0xD2, 0xE6, 0xD3, 0xFF, 0xFF, 0xFF, 0xFF, + 0xA5, 0x4C, 0x85, 0x4D, 0xA9, 0x00, 0x85, 0x4E, + 0x85, 0x4F, 0xCE, 0x4F, 0x00, 0xD0, 0xFB, 0xCE, + 0x4E, 0x00, 0xD0, 0xF6, 0xCE, 0x4D, 0x00, 0xD0, + 0xF1, 0x60, 0x78, 0xB7, 0xFF, 0xFF, 0xFF, 0xFF, + 0x4B, 0x50, 0xFE, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, + 0x36, 0xBA, 0xCF, 0xFB, 0xFF, 0xFF, 0x7F, 0xFF, + 0xB8, 0x11, 0x8A, 0xA7, 0xFF, 0xFF, 0xFF, 0xFF, + 0xB0, 0x56, 0x3E, 0xF7, 0xFF, 0xFF, 0xF3, 0xFF, + 0xB5, 0x55, 0x35, 0x72, 0xFF, 0xFF, 0xFF, 0xFF, + 0xA3, 0x36, 0x8D, 0x27, 0xFF, 0xFF, 0xF7, 0xFD, + 0x57, 0x6E, 0xB2, 0xA7, 0xFF, 0xFF, 0xF7, 0xFF, + 0x08, 0x2C, 0x9A, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, + 0xC5, 0xB3, 0x3E, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, + 0xBD, 0xF1, 0xCF, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x56, 0x45, 0x4D, 0x45, 0x4E, 0x54, 0x0D, + 0x0A, 0x0A, 0x4D, 0x41, 0x58, 0x49, 0x4D, 0x55, + 0x4D, 0x98, 0x33, 0x37, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF8, 0xF4, 0xFE, 0xAD, 0xFF, 0xFF, 0xBE, 0xFF, + 0x20, 0x15, 0x04, 0x20, 0x23, 0x04, 0x85, 0x0B, + 0x20, 0x15, 0x04, 0xC9, 0x0D, 0xF0, 0x1A, 0x20, + 0x23, 0x04, 0x85, 0x0C, 0xA5, 0x0B, 0x0A, 0x0A, + 0x0A, 0x0A, 0x05, 0x0C, 0xC9, 0x31, 0xB0, 0x03, + 0x85, 0x0A, 0x60, 0x20, 0x67, 0x09, 0x4C, 0x00, + 0x05, 0xA5, 0x0B, 0x4C, 0x1C, 0x05, 0xF8, 0x38, + 0xA5, 0x06, 0xE5, 0x0A, 0x85, 0x0B, 0xA5, 0x07, + 0xE9, 0x00, 0x85, 0x0C, 0xA5, 0x07, 0xC9, 0x01, + 0xF0, 0x0C, 0xA5, 0x06, 0xC5, 0x0A, 0xF0, 0x02, + 0xB0, 0x04, 0x20, 0x3F, 0x04, 0xEA, 0xA5, 0x0B, + 0x85, 0x06, 0xA5, 0x0C, 0x85, 0x07, 0x60, 0x40, + 0xF8, 0x38, 0x24, 0x09, 0x10, 0x18, 0xA5, 0x04, + 0xE9, 0x05, 0x85, 0x0B, 0xC5, 0x04, 0x90, 0x14, + 0x38, 0xA9, 0x00, 0xE5, 0x0B, 0x85, 0x04, 0xA9, + 0x00, 0x85, 0x09, 0x4C, 0x7E, 0x05, 0xF8, 0x18, + 0xA5, 0x04, 0x69, 0x05, 0x85, 0x04, 0x24, 0x09, + 0x10, 0x09, 0x18, 0xA5, 0x04, 0x65, 0x0A, 0x85, + 0x04, 0xD8, 0x60, 0x38, 0xA5, 0x04, 0xE5, 0x0A, + 0x85, 0x0B, 0xA5, 0x0A, 0xC9, 0x00, 0xF0, 0x19, + 0xA5, 0x0B, 0xC5, 0x04, 0xF0, 0x02, 0x90, 0x0D, + 0x38, 0xA9, 0x00, 0xE5, 0x0B, 0x85, 0x04, 0xA9, + 0xFF, 0x85, 0x09, 0xD8, 0x60, 0x85, 0x04, 0xD8, + 0x60, 0xA5, 0x0B, 0x85, 0x04, 0xD8, 0x60, 0xF8, + 0x38, 0x24, 0x09, 0x30, 0x25, 0xA5, 0x01, 0xE5, + 0x04, 0x85, 0x0B, 0xA5, 0x02, 0xF0, 0x0B, 0xE9, + 0x00, 0x85, 0x02, 0x4C, 0xF1, 0x05, 0xA5, 0x0B, + 0xF0, 0x06, 0xA5, 0x01, 0xC5, 0x0B, 0xB0, 0x04, + 0xA9, 0x00, 0xF0, 0x02, 0xA5, 0x0B, 0x85, 0x01, + 0xD8, 0x60, 0x18, 0xA5, 0x01, 0x65, 0x04, 0x85, + 0x01, 0xA5, 0x02, 0x69, 0x00, 0x85, 0x02, 0xD8, + 0x60, 0xA5, 0x0B, 0x85, 0x01, 0xD8, 0x60, 0xF8, + 0x18, 0xA5, 0x00, 0x69, 0x01, 0x85, 0x00, 0xD8, + 0x60, 0xA0, 0x00, 0xB9, 0xAD, 0x09, 0x20, 0xEF, + 0xFF, 0xC0, 0x0A, 0xF0, 0x04, 0xC8, 0x4C, 0x03, + 0x06, 0x60, 0x20, 0x0D, 0x04, 0x20, 0x0D, 0x04, + 0xA5, 0x00, 0x20, 0xDC, 0xFF, 0xA0, 0x04, 0x20, + 0x0D, 0x04, 0x88, 0xD0, 0xFA, 0xA5, 0x02, 0x20, + 0xDC, 0xFF, 0xA5, 0x01, 0x20, 0xDC, 0xFF, 0xA0, + 0x05, 0x20, 0x0D, 0x04, 0x88, 0xD0, 0xFA, 0x24, + 0x09, 0x30, 0x07, 0xA9, 0x2D, 0x20, 0xEF, 0xFF, + 0xD0, 0x05, 0xA9, 0x2B, 0x20, 0xEF, 0xFF, 0xA5, + 0x04, 0x20, 0xDC, 0xFF, 0x24, 0x08, 0x10, 0x01, + 0x60, 0xA0, 0x06, 0x20, 0x0D, 0x04, 0x88, 0xD0, + 0xFA, 0xA5, 0x07, 0x20, 0xDC, 0xFF, 0xA5, 0x06, + 0x20, 0xDC, 0xFF, 0xA0, 0x05, 0x20, 0x0D, 0x04, + 0x88, 0xD0, 0xFA, 0xA9, 0x3F, 0x20, 0xEF, 0xFF, + 0x60, 0xA9, 0x84, 0x8D, 0x04, 0x06, 0xA9, 0x06, + 0x8D, 0x05, 0x06, 0xA9, 0xED, 0x8D, 0x0A, 0x06, + 0x20, 0x01, 0x06, 0x60, 0x4C, 0x55, 0x4E, 0x41, + 0x52, 0x20, 0x4C, 0x41, 0x4E, 0x44, 0x45, 0x52, + 0x0D, 0x0D, 0x0A, 0x4D, 0x49, 0x4E, 0x55, 0x53, + 0x20, 0x56, 0x45, 0x4C, 0x4F, 0x43, 0x49, 0x54, + 0x59, 0x20, 0x28, 0x2D, 0x29, 0x20, 0x4D, 0x45, + 0x41, 0x4E, 0x53, 0x20, 0x44, 0x4F, 0x57, 0x4E, + 0x57, 0x41, 0x52, 0x44, 0x0D, 0x4D, 0x4F, 0x56, + 0x45, 0x4D, 0x45, 0x4E, 0x54, 0x0D, 0x0D, 0x50, + 0x4C, 0x55, 0x53, 0x20, 0x20, 0x56, 0x45, 0x4C, + 0x4F, 0x43, 0x49, 0x54, 0x59, 0x20, 0x28, 0x2B, + 0x29, 0x20, 0x4D, 0x45, 0x41, 0x4E, 0x53, 0x20, + 0x55, 0x50, 0x57, 0x41, 0x52, 0x44, 0x20, 0x4D, + 0x4F, 0x56, 0x45, 0x4D, 0x45, 0x4E, 0x54, 0x0D, + 0x0A, 0x0A, 0x4D, 0x41, 0x58, 0x49, 0x4D, 0x55, + 0x4D, 0x20, 0x42, 0x55, 0x52, 0x4E, 0x20, 0x49, + 0x53, 0x20, 0x33, 0x30, 0x20, 0x55, 0x4E, 0x49, + 0x54, 0x53, 0x2F, 0x53, 0x45, 0x43, 0x2E, 0x20, + 0x20, 0x28, 0x42, 0x55, 0x52, 0x4E, 0x20, 0x4D, + 0x41, 0x59, 0x20, 0x42, 0x45, 0x20, 0x41, 0x4E, + 0x59, 0x20, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, + 0x52, 0x20, 0x46, 0x52, 0x4F, 0x4D, 0x20, 0x30, + 0x20, 0x54, 0x4F, 0x20, 0x33, 0x30, 0x29, 0x0D, + 0x0D, 0x41, 0x20, 0x42, 0x55, 0x52, 0x4E, 0x20, + 0x4F, 0x46, 0x20, 0x35, 0x20, 0x55, 0x4E, 0x49, + 0x54, 0x53, 0x2F, 0x53, 0x45, 0x43, 0x20, 0x49, + 0x53, 0x20, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, + 0x45, 0x44, 0x20, 0x54, 0x4F, 0x0D, 0x43, 0x41, + 0x4E, 0x43, 0x45, 0x4C, 0x20, 0x47, 0x52, 0x41, + 0x56, 0x49, 0x54, 0x59, 0x2E, 0x0D, 0x0D, 0x0A, + 0x47, 0x4F, 0x4F, 0x44, 0x20, 0x4C, 0x55, 0x43, + 0x4B, 0x21, 0xA9, 0x85, 0x8D, 0x04, 0x06, 0xA9, + 0x07, 0x8D, 0x05, 0x06, 0xA9, 0x80, 0x8D, 0x0A, + 0x06, 0x20, 0x01, 0x06, 0x60, 0x43, 0x4F, 0x4E, + 0x54, 0x52, 0x4F, 0x4C, 0x20, 0x54, 0x4F, 0x20, + 0x4C, 0x55, 0x4E, 0x41, 0x52, 0x20, 0x4D, 0x4F, + 0x44, 0x55, 0x4C, 0x45, 0x3A, 0x0D, 0x0A, 0x42, + 0x45, 0x47, 0x49, 0x4E, 0x20, 0x4C, 0x41, 0x4E, + 0x44, 0x49, 0x4E, 0x47, 0x20, 0x50, 0x52, 0x4F, + 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, 0x0D, 0x0D, + 0x0D, 0x0A, 0x20, 0x54, 0x49, 0x4D, 0x45, 0x20, + 0x20, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x20, + 0x56, 0x45, 0x4C, 0x4F, 0x43, 0x49, 0x54, 0x59, + 0x20, 0x46, 0x55, 0x45, 0x4C, 0x20, 0x55, 0x4E, + 0x49, 0x54, 0x53, 0x20, 0x20, 0x42, 0x55, 0x52, + 0x4E, 0x0D, 0x0A, 0x28, 0x53, 0x45, 0x43, 0x53, + 0x29, 0x20, 0x28, 0x46, 0x45, 0x45, 0x54, 0x29, + 0x20, 0x28, 0x46, 0x54, 0x2F, 0x53, 0x45, 0x43, + 0x29, 0x20, 0x20, 0x52, 0x45, 0x4D, 0x41, 0x49, + 0x4E, 0x49, 0x4E, 0x47, 0x0D, 0x0A, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x28, 0x46, 0x45, 0x45, + 0x54, 0x29, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, + 0x28, 0x46, 0x54, 0x2F, 0x53, 0x45, 0x43, 0x29, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x52, 0x45, 0x4D, 0x41, 0x49, 0x4E, 0x49, 0x4E, + 0x47, 0xA9, 0x48, 0x8D, 0x04, 0x06, 0xA9, 0x08, + 0x8D, 0x05, 0x06, 0xA9, 0x0A, 0x8D, 0x0A, 0x06, + 0x20, 0x01, 0x06, 0xA9, 0xFF, 0x85, 0x05, 0x60, + 0x4F, 0x55, 0x54, 0x20, 0x4F, 0x46, 0x20, 0x46, + 0x55, 0x45, 0x4C, 0xA9, 0x66, 0x8D, 0x04, 0x06, + 0xA9, 0x08, 0x8D, 0x05, 0x06, 0xA9, 0x0A, 0x8D, + 0x0A, 0x06, 0x20, 0x01, 0x06, 0x60, 0x4F, 0x4E, + 0x20, 0x54, 0x48, 0x45, 0x20, 0x4D, 0x4F, 0x4F, + 0x4E, 0xA9, 0x84, 0x8D, 0x04, 0x06, 0xA9, 0x08, + 0x8D, 0x05, 0x06, 0xA9, 0x24, 0x8D, 0x0A, 0x06, + 0x20, 0x01, 0x06, 0x60, 0x50, 0x45, 0x52, 0x46, + 0x45, 0x43, 0x54, 0x20, 0x4C, 0x41, 0x4E, 0x44, + 0x49, 0x4E, 0x47, 0x21, 0x07, 0x07, 0x07, 0x07, + 0x0D, 0x0A, 0x43, 0x4F, 0x4E, 0x47, 0x52, 0x41, + 0x54, 0x55, 0x4C, 0x41, 0x54, 0x49, 0x4F, 0x4E, + 0x53, 0xA9, 0xBC, 0x8D, 0x04, 0x06, 0xA9, 0x08, + 0x8D, 0x05, 0x06, 0xA9, 0x49, 0x8D, 0x0A, 0x06, + 0x20, 0x01, 0x06, 0x60, 0x57, 0x45, 0x4C, 0x4C, + 0x2C, 0x20, 0x59, 0x4F, 0x55, 0x20, 0x47, 0x4F, + 0x54, 0x20, 0x44, 0x4F, 0x57, 0x4E, 0x20, 0x41, + 0x4C, 0x49, 0x56, 0x45, 0x2C, 0x20, 0x42, 0x55, + 0x54, 0x20, 0x44, 0x41, 0x4D, 0x41, 0x47, 0x45, + 0x20, 0x54, 0x4F, 0x20, 0x59, 0x4F, 0x55, 0x52, + 0x20, 0x43, 0x52, 0x41, 0x46, 0x54, 0x20, 0x0A, + 0x48, 0x41, 0x53, 0x20, 0x53, 0x54, 0x52, 0x41, + 0x4E, 0x44, 0x45, 0x44, 0x20, 0x59, 0x4F, 0x55, + 0x20, 0x48, 0x45, 0x52, 0x45, 0x21, 0xA9, 0x19, + 0x8D, 0x04, 0x06, 0xA9, 0x09, 0x8D, 0x05, 0x06, + 0xA9, 0x28, 0x8D, 0x0A, 0x06, 0x20, 0x01, 0x06, + 0x60, 0x59, 0x4F, 0x55, 0x20, 0x4A, 0x55, 0x53, + 0x54, 0x20, 0x43, 0x52, 0x45, 0x41, 0x4D, 0x45, + 0x44, 0x20, 0x41, 0x20, 0x32, 0x39, 0x20, 0x4D, + 0x45, 0x47, 0x41, 0x42, 0x55, 0x43, 0x4B, 0x20, + 0x4C, 0x41, 0x4E, 0x44, 0x45, 0x52, 0x21, 0x07, + 0x07, 0x07, 0x07, 0xA9, 0x56, 0x8D, 0x04, 0x06, + 0xA9, 0x09, 0x8D, 0x05, 0x06, 0xA9, 0x10, 0x8D, + 0x0A, 0x06, 0x20, 0x01, 0x06, 0x60, 0x54, 0x52, + 0x59, 0x20, 0x41, 0x47, 0x41, 0x49, 0x4E, 0x3F, + 0x20, 0x20, 0x28, 0x59, 0x2F, 0x4E, 0x29, 0x20, + 0x00, 0x04, 0xA9, 0x7D, 0x8D, 0x04, 0x06, 0xA9, + 0x09, 0x8D, 0x05, 0x06, 0xA9, 0x1C, 0x8D, 0x0A, + 0x06, 0x20, 0x01, 0x06, 0x60, 0x42, 0x55, 0x52, + 0x4E, 0x20, 0x4F, 0x55, 0x54, 0x20, 0x4F, 0x46, + 0x20, 0x52, 0x41, 0x4E, 0x47, 0x45, 0x2E, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x42, 0x55, 0x52, 0x4E, + 0x20, 0x3F, 0xA9, 0xAD, 0x8D, 0x04, 0x06, 0xA9, + 0x09, 0x8D, 0x05, 0x06, 0xA9, 0x0A, 0x8D, 0x0A, + 0x06, 0x20, 0x01, 0x06, 0x60, 0x43, 0x4F, 0x4E, + 0x54, 0x52, 0x4F, 0x4C, 0x20, 0x4F, 0x55, 0x54, + 0xFF + ]] +}; diff --git a/tapes/matrix.js b/tapes/matrix.js new file mode 100644 index 0000000..a1a87a8 --- /dev/null +++ b/tapes/matrix.js @@ -0,0 +1,294 @@ +/* +C100R +004A.00FFR 0300.0FFFR +E2B3R +RUN +*/ + +/*globals tapes: true */ + +tapes['Matrix'] = { + script: 'C100R\n004A.00FFR 0800.0FFFR\nE2B3R\nRUN\n', + tracks: [[ // 004A.00FF + 0x00, 0x08, 0x00, 0x10, 0x95, 0x9F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x41, 0x49, 0x1C, 0x26, + 0xED, 0xED, 0xED, 0xED, 0xEC, 0xED, 0xED, 0xED, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0x1D, 0x00, + 0x7D, 0x7D, 0x36, 0x7D, 0x68, 0x80, 0xE4, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x19, 0x1E, 0x1E, 0xFF, 0xFF, 0x02, 0x02, 0xFF, + 0x03, 0x08, 0xC2, 0x0E, 0x4B, 0x08, 0x26, 0x00, + 0x45, 0x08, 0x4B, 0x08, 0x00, 0x00, 0x03, 0x02, + 0x00, 0xFF, 0x04, 0x08, 0xC8, 0x0F, 0x00, 0x00, + 0xCF, 0x0F, 0x00, 0x10, 0xDF, 0xAA, 0x1C, 0x00, + 0x30, 0x3B, 0x40, 0x40, 0x03, 0x03, 0x04, 0x04, + 0x03, 0x05, 0xF2, 0x03, 0x00, 0x00, 0x43, 0x27, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xED + ],[ + 0x82, 0x40, 0x45, 0x08, 0xA1, 0xC0, 0xA3, 0xA4, + 0xA5, 0xDE, 0xA6, 0xAA, 0xA8, 0xA9, 0xAB, 0xFB, + 0xFD, 0xFC, 0xBA, 0xBC, 0xBE, 0xBF, 0xAF, 0xAE, + 0xAC, 0xA7, 0xBB, 0xDD, 0xDB, 0xDC, 0xBD, 0xAD, + 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, + 0xB9, 0xB0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, + 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, + 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, + 0xD7, 0xD8, 0xD9, 0xDA, 0x1E, 0x82, 0x00, 0x4B, + 0x08, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0C, 0x0A, 0x00, 0x4E, 0xC1, 0x40, + 0x22, 0xB6, 0x40, 0x00, 0x72, 0x01, 0x49, 0x14, + 0x00, 0xC1, 0x40, 0x70, 0x28, 0xA1, 0xC0, 0xA3, + 0xA4, 0xA5, 0xDE, 0xA6, 0xAA, 0xA8, 0xA9, 0xAB, + 0xFB, 0xFD, 0xFC, 0xBA, 0xBC, 0xBE, 0xBF, 0xAF, + 0xAE, 0xAC, 0xA7, 0xBB, 0xDD, 0xDB, 0xDC, 0xBD, + 0xAD, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, + 0xB8, 0xB9, 0xB0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, + 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, + 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, + 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0x29, 0x01, 0x08, + 0x1E, 0x00, 0x5C, 0xB1, 0xE8, 0x03, 0x01, 0x0D, + 0x28, 0x00, 0x50, 0xB3, 0x03, 0x00, 0x03, 0x5C, + 0xB1, 0xE8, 0x03, 0x01, 0x0D, 0x32, 0x00, 0x50, + 0xB5, 0x05, 0x00, 0x03, 0x5C, 0xB1, 0xE8, 0x03, + 0x01, 0x0D, 0x3C, 0x00, 0x50, 0xB7, 0x07, 0x00, + 0x03, 0x5C, 0xB1, 0xE8, 0x03, 0x01, 0x0D, 0x46, + 0x00, 0x50, 0xB1, 0x0A, 0x00, 0x03, 0x5C, 0xB1, + 0xE8, 0x03, 0x01, 0x0D, 0x50, 0x00, 0x50, 0xB1, + 0x0D, 0x00, 0x03, 0x5C, 0xB1, 0xE8, 0x03, 0x01, + 0x0D, 0x5A, 0x00, 0x50, 0xB1, 0x0F, 0x00, 0x03, + 0x5C, 0xB1, 0xE8, 0x03, 0x01, 0x0D, 0x64, 0x00, + 0x50, 0xB1, 0x11, 0x00, 0x03, 0x5C, 0xB1, 0xE8, + 0x03, 0x01, 0x0D, 0x6E, 0x00, 0x50, 0xB2, 0x17, + 0x00, 0x03, 0x5C, 0xB1, 0xE8, 0x03, 0x01, 0x0D, + 0x78, 0x00, 0x50, 0xB2, 0x19, 0x00, 0x03, 0x5C, + 0xB1, 0xE8, 0x03, 0x01, 0x0D, 0x82, 0x00, 0x50, + 0xB2, 0x1B, 0x00, 0x03, 0x5C, 0xB1, 0xE8, 0x03, + 0x01, 0x0D, 0x8C, 0x00, 0x50, 0xB3, 0x1E, 0x00, + 0x03, 0x5C, 0xB1, 0xE8, 0x03, 0x01, 0x0D, 0x96, + 0x00, 0x50, 0xB3, 0x21, 0x00, 0x03, 0x5C, 0xB1, + 0xE8, 0x03, 0x01, 0x0D, 0xA0, 0x00, 0x50, 0xB3, + 0x23, 0x00, 0x03, 0x5C, 0xB1, 0xE8, 0x03, 0x01, + 0x0D, 0xAA, 0x00, 0x50, 0xB3, 0x26, 0x00, 0x03, + 0x5C, 0xB1, 0xE8, 0x03, 0x01, 0x0A, 0xB4, 0x00, + 0x63, 0x03, 0x5F, 0xB3, 0x1E, 0x00, 0x01, 0x1C, + 0xE8, 0x03, 0xC1, 0x71, 0x2F, 0x3F, 0xB6, 0x40, + 0x00, 0x72, 0x12, 0xB1, 0x01, 0x00, 0x03, 0x61, + 0xC1, 0x40, 0x2A, 0xC1, 0x23, 0xC1, 0x72, 0x47, + 0x03, 0x5B, 0x01, 0x05, 0xF2, 0x03, 0x51, 0x01 + ]] +}; diff --git a/tapes/microchess.js b/tapes/microchess.js new file mode 100644 index 0000000..32b7bd2 --- /dev/null +++ b/tapes/microchess.js @@ -0,0 +1,294 @@ +/* +C100R +0300.0BC7R +300R +*/ + +/*globals tapes: true */ + +tapes['Microchess'] = { + script: 'C100R\n0300.0BC7R\n300R\n', + tracks: [[ // 0300.0BC7 + 0xA2, 0x58, 0xBD, 0x80, 0x04, 0x20, 0xEF, 0xFF, + 0xCA, 0x10, 0xF7, 0x20, 0xE0, 0x05, 0x29, 0x03, + 0xF0, 0x10, 0xC9, 0x01, 0xF0, 0x06, 0xA0, 0xFF, + 0xA9, 0x00, 0xF0, 0x0A, 0xA0, 0xFB, 0xA9, 0x00, + 0xF0, 0x04, 0xA0, 0xFB, 0xA9, 0x08, 0x84, 0xBE, + 0x85, 0xBF, 0xEA, 0xEA, 0xA2, 0x00, 0xBD, 0xE6, + 0x09, 0xC9, 0xAB, 0xF0, 0x06, 0x20, 0xEF, 0xFF, + 0xE8, 0xD0, 0xF3, 0x20, 0xE0, 0x05, 0x29, 0x0F, + 0xC9, 0x0A, 0x30, 0x0B, 0xA5, 0xFF, 0x38, 0xE9, + 0x0A, 0xB0, 0xFC, 0x69, 0x0A, 0x29, 0x0E, 0x0A, + 0xAA, 0xBD, 0xEB, 0x03, 0x85, 0xFD, 0xBD, 0xEC, + 0x03, 0x85, 0xFE, 0xA0, 0x1B, 0xB1, 0xFD, 0x99, + 0xC0, 0x00, 0x88, 0x10, 0xF8, 0xA2, 0x10, 0xBD, + 0xEF, 0x05, 0x95, 0x2F, 0xCA, 0xD0, 0xF8, 0xA2, + 0x40, 0xBD, 0xAF, 0x06, 0x95, 0x6F, 0xCA, 0xD0, + 0xF8, 0x4C, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA2, 0x1F, 0xB5, + 0x50, 0xC5, 0xFA, 0xF0, 0x03, 0xCA, 0x10, 0xF7, + 0x86, 0xFB, 0x86, 0xB0, 0xD8, 0xA2, 0xFF, 0x9A, + 0xA2, 0xC8, 0x86, 0xB2, 0x4C, 0x0B, 0x04, 0xC9, + 0xFF, 0xD0, 0x04, 0xA2, 0xD9, 0xD0, 0x0E, 0xC9, + 0xEE, 0xD0, 0x04, 0xA2, 0xE4, 0xD0, 0x06, 0xC9, + 0xCC, 0xD0, 0x0D, 0xA2, 0xF3, 0xBD, 0x00, 0x04, + 0xF0, 0x13, 0x20, 0xEF, 0xFF, 0xE8, 0xD0, 0xF5, + 0xB5, 0xF8, 0x20, 0xDC, 0xFF, 0xA9, 0xA0, 0x20, + 0xEF, 0xFF, 0xCA, 0xD0, 0xF3, 0xA9, 0x8D, 0x20, + 0xEF, 0xFF, 0x60, 0xB0, 0x0A, 0xCC, 0x0A, 0xE8, + 0x0A, 0x04, 0x0B, 0x20, 0x0B, 0x3C, 0x0B, 0x58, + 0x0B, 0x74, 0x0B, 0x90, 0x0B, 0xAC, 0x0B, 0x00, + 0xD8, 0xA2, 0xFF, 0x9A, 0xA2, 0xC8, 0x86, 0xB2, + 0x20, 0x00, 0x09, 0x20, 0x3D, 0x09, 0xEA, 0xEA, + 0xEA, 0xEA, 0x85, 0xF3, 0xC9, 0x0C, 0xD0, 0x0F, + 0xA2, 0x1F, 0xB5, 0x70, 0x95, 0x50, 0xCA, 0x10, + 0xF9, 0x86, 0xDC, 0xA9, 0xCC, 0xD0, 0x12, 0xC9, + 0x0E, 0xD0, 0x07, 0x20, 0xB2, 0x07, 0xA9, 0xEE, + 0xD0, 0x07, 0xC9, 0x14, 0xD0, 0x0B, 0x20, 0xA2, + 0x08, 0x85, 0xFB, 0x85, 0xFA, 0x85, 0xF9, 0xD0, + 0xBF, 0xC9, 0x0F, 0xD0, 0x06, 0x20, 0x50, 0x04, + 0x4C, 0x9D, 0x03, 0x4C, 0x96, 0x06, 0x00, 0x00, + 0x85, 0xB9, 0x86, 0xBA, 0x84, 0xBB, 0x20, 0x00, + 0x09, 0xA5, 0xB9, 0xA6, 0xBA, 0xA4, 0xBB, 0x4C, + 0x4B, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x8D, 0xA0, 0xA0, 0xBF, 0x8D, 0x8D, 0xDA, 0xD4, + 0xC9, 0xCC, 0xC2, 0xD2, 0xC5, 0xD0, 0xD5, 0xD3, + 0xBD, 0xB2, 0x8D, 0xDA, 0xD4, 0xC9, 0xCC, 0xC2, + 0xBD, 0xB1, 0x8D, 0xD9, 0xC1, 0xCC, 0xD0, 0xA0, + 0xCC, 0xC1, 0xCD, 0xD2, 0xCF, 0xCE, 0xBD, 0xB0, + 0x8D, 0x8D, 0xCD, 0xCF, 0xC3, 0xAE, 0xCF, 0xCC, + 0xCE, 0xC5, 0xC2, 0xAE, 0xD7, 0xD7, 0xD7, 0x8D, + 0xD3, 0xC7, 0xCE, 0xC9, 0xCE, 0xCE, 0xC5, 0xCA, + 0xA0, 0xD2, 0xC5, 0xD4, 0xC5, 0xD0, 0xA0, 0xD9, + 0xC2, 0x8D, 0x8D, 0xA9, 0xC3, 0xA8, 0xD3, 0xD3, + 0xC5, 0xC8, 0xC3, 0xCF, 0xD2, 0xC3, 0xC9, 0xCD, + 0x8D, 0xC3, 0xC8, 0xC5, 0xC3, 0xCB, 0xCD, 0xC1, + 0xD4, 0xC5, 0x8D, 0x00, 0xD2, 0xC5, 0xD6, 0xC5, + 0xD2, 0xD3, 0xC5, 0xA0, 0xD3, 0xC9, 0xC4, 0xC5, + 0xD3, 0x8D, 0x00, 0xCE, 0xC5, 0xD7, 0xA0, 0xC7, + 0xC1, 0xCD, 0xC5, 0x8D, 0x00, 0xFF, 0xFF, 0xFF, + 0x8A, 0x48, 0xA2, 0x08, 0xA9, 0xA1, 0x20, 0xEF, + 0xFF, 0xA9, 0xAD, 0x20, 0xEF, 0xFF, 0x20, 0xEF, + 0xFF, 0xCA, 0xD0, 0xF0, 0xA9, 0xA1, 0x20, 0xEF, + 0xFF, 0xA9, 0x8D, 0x20, 0xEF, 0xFF, 0x68, 0xAA, + 0x60, 0x84, 0xF4, 0x85, 0xF5, 0x86, 0xF6, 0xA9, + 0x8D, 0x20, 0xEF, 0xFF, 0x20, 0x00, 0x05, 0xA2, + 0x00, 0xA0, 0x00, 0xA9, 0xA1, 0x20, 0xEF, 0xFF, + 0x86, 0xF7, 0x84, 0xF8, 0x8A, 0x0A, 0x0A, 0x0A, + 0x0A, 0x65, 0xF8, 0xA2, 0x1F, 0xD5, 0x50, 0xF0, + 0x0E, 0xCA, 0x10, 0xF9, 0x20, 0xC9, 0x05, 0x4C, + 0x77, 0x05, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0x8A, + 0x4A, 0x4A, 0x4A, 0x4A, 0xEA, 0x18, 0x65, 0xB8, + 0x29, 0x01, 0xF0, 0x04, 0xA9, 0xC2, 0xD0, 0x02, + 0xA9, 0xD7, 0x20, 0xEF, 0xFF, 0x8A, 0xEA, 0x29, + 0x0F, 0xAA, 0xB5, 0x30, 0x20, 0xEF, 0xFF, 0xA6, + 0xF7, 0xA4, 0xF8, 0xC8, 0xC0, 0x08, 0xD0, 0xB3, + 0xA9, 0xA1, 0x20, 0xBC, 0x05, 0xA9, 0x8D, 0x20, + 0xEF, 0xFF, 0x20, 0x00, 0x05, 0xE8, 0xE0, 0x08, + 0xD0, 0x9F, 0xA4, 0xF4, 0xA9, 0x8D, 0x20, 0xEF, + 0xFF, 0xA9, 0xA0, 0x20, 0xEF, 0xFF, 0xA9, 0xB0, + 0xAA, 0x20, 0xEF, 0xFF, 0xA9, 0xA0, 0x20, 0xEF, + 0xFF, 0x20, 0xEF, 0xFF, 0xE8, 0x8A, 0xC9, 0xB8, + 0xD0, 0xEF, 0xA9, 0x8D, 0x20, 0xEF, 0xFF, 0xA5, + 0xF5, 0xA6, 0xF6, 0x60, 0x20, 0xEF, 0xFF, 0xA9, + 0xA0, 0x20, 0xEF, 0xFF, 0x8A, 0x20, 0xE5, 0xFF, + 0x60, 0x18, 0xA5, 0xF7, 0x65, 0xF8, 0x29, 0x01, + 0xF0, 0x04, 0xA9, 0xA0, 0xD0, 0x02, 0xA9, 0xAA, + 0x20, 0xEF, 0xFF, 0x20, 0xEF, 0xFF, 0x60, 0xEA, + 0xE6, 0xFF, 0xAD, 0x11, 0xD0, 0x10, 0xF9, 0xAD, + 0x10, 0xD0, 0x20, 0xEF, 0xFF, 0x60, 0xFF, 0xFF, + 0xCB, 0xD1, 0xD2, 0xD2, 0xC2, 0xC2, 0xCE, 0xCE, + 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, + 0xA6, 0xB5, 0x30, 0x5C, 0xA5, 0xB0, 0xF0, 0x08, + 0xE0, 0x08, 0xD0, 0x04, 0xC5, 0xE6, 0xF0, 0x2E, + 0xF6, 0xE3, 0xC9, 0x01, 0xD0, 0x02, 0xF6, 0xE3, + 0x50, 0x1E, 0xA0, 0x0F, 0xA5, 0xB1, 0xD9, 0x60, + 0x00, 0xF0, 0x03, 0x88, 0x10, 0xF8, 0xB9, 0xA0, + 0x00, 0xD5, 0xE4, 0x90, 0x04, 0x94, 0xE6, 0x95, + 0xE4, 0x18, 0x08, 0x75, 0xE5, 0x95, 0xE5, 0x28, + 0xE0, 0x04, 0xF0, 0x03, 0x30, 0x31, 0x60, 0xA5, + 0xE8, 0x85, 0xDD, 0xA9, 0x00, 0x85, 0xB5, 0x20, + 0x4B, 0x08, 0x20, 0xB2, 0x07, 0x20, 0x00, 0x07, + 0x20, 0xB2, 0x07, 0xA9, 0x08, 0x85, 0xB5, 0x20, + 0x09, 0x07, 0x20, 0x31, 0x08, 0x4C, 0x80, 0x09, + 0xE0, 0xF9, 0xD0, 0x0B, 0xA5, 0x60, 0xC5, 0xB1, + 0xD0, 0x04, 0xA9, 0x00, 0x85, 0xB4, 0x60, 0x50, + 0xFD, 0xA0, 0x07, 0xA5, 0xB1, 0xD9, 0x60, 0x00, + 0xF0, 0x05, 0x88, 0xF0, 0xF1, 0x10, 0xF6, 0xB9, + 0xA0, 0x00, 0xD5, 0xE2, 0x90, 0x02, 0x95, 0xE2, + 0xC6, 0xB5, 0xA5, 0xBE, 0xC5, 0xB5, 0xF0, 0x03, + 0x20, 0x25, 0x08, 0xE6, 0xB5, 0x60, 0xC9, 0x08, + 0xB0, 0x12, 0x20, 0xEA, 0x08, 0xA2, 0x1F, 0xB5, + 0x50, 0xC5, 0xFA, 0xF0, 0x03, 0xCA, 0x10, 0xF7, + 0x86, 0xFB, 0x86, 0xB0, 0x4C, 0x0B, 0x04, 0xA0, + 0x03, 0x04, 0x00, 0x07, 0x02, 0x05, 0x01, 0x06, + 0x10, 0x17, 0x11, 0x16, 0x12, 0x15, 0x14, 0x13, + 0x73, 0x74, 0x70, 0x77, 0x72, 0x75, 0x71, 0x76, + 0x60, 0x67, 0x61, 0x66, 0x62, 0x65, 0x64, 0x63, + 0xF0, 0xFF, 0x01, 0x10, 0x11, 0x0F, 0xEF, 0xF1, + 0xDF, 0xE1, 0xEE, 0xF2, 0x12, 0x0E, 0x1F, 0x21, + 0x0B, 0x0A, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0xA2, 0x1F, 0xB5, 0x70, 0x95, 0x50, 0xCA, 0x10, + 0xF9, 0x20, 0x21, 0x05, 0x60, 0xFF, 0xFF, 0xFF, + 0xA2, 0x10, 0xA9, 0x00, 0x95, 0xDE, 0xCA, 0x10, + 0xFB, 0xA9, 0x10, 0x85, 0xB0, 0xC6, 0xB0, 0x10, + 0x01, 0x60, 0x20, 0x1E, 0x08, 0xA4, 0xB0, 0xA2, + 0x08, 0x86, 0xB6, 0xC0, 0x08, 0x10, 0x41, 0xC0, + 0x06, 0x10, 0x2E, 0xC0, 0x04, 0x10, 0x1F, 0xC0, + 0x01, 0xF0, 0x09, 0x10, 0x0E, 0x20, 0x8E, 0x07, + 0xD0, 0xFB, 0xF0, 0xD9, 0x20, 0x9C, 0x07, 0xD0, + 0xFB, 0xF0, 0xD2, 0xA2, 0x04, 0x86, 0xB6, 0x20, + 0x9C, 0x07, 0xD0, 0xFB, 0xF0, 0xC7, 0x20, 0x9C, + 0x07, 0xA5, 0xB6, 0xC9, 0x04, 0xD0, 0xF7, 0xF0, + 0xBC, 0xA2, 0x10, 0x86, 0xB6, 0x20, 0x8E, 0x07, + 0xA5, 0xB6, 0xC9, 0x08, 0xD0, 0xF7, 0xF0, 0xAD, + 0xA2, 0x06, 0x86, 0xB6, 0x20, 0xCA, 0x07, 0x50, + 0x05, 0x30, 0x03, 0x20, 0x00, 0x06, 0x20, 0x1E, + 0x08, 0xC6, 0xB6, 0xA5, 0xB6, 0xC9, 0x05, 0xF0, + 0xEB, 0x20, 0xCA, 0x07, 0x70, 0x8F, 0x30, 0x8D, + 0x20, 0x00, 0x06, 0xA5, 0xB1, 0x29, 0xF0, 0xC9, + 0x20, 0xF0, 0xEE, 0x4C, 0x0D, 0x07, 0x20, 0xCA, + 0x07, 0x30, 0x03, 0x20, 0x00, 0x06, 0x20, 0x1E, + 0x08, 0xC6, 0xB6, 0x60, 0x20, 0xCA, 0x07, 0x90, + 0x02, 0x50, 0xF9, 0x30, 0x07, 0x08, 0x20, 0x00, + 0x06, 0x28, 0x50, 0xF0, 0x20, 0x1E, 0x08, 0xC6, + 0xB6, 0x60, 0xA2, 0x0F, 0x38, 0xB4, 0x60, 0xA9, + 0x77, 0xF5, 0x50, 0x95, 0x60, 0x94, 0x50, 0x38, + 0xA9, 0x77, 0xF5, 0x50, 0x95, 0x50, 0xCA, 0x10, + 0xEB, 0x60, 0xA5, 0xB1, 0xA6, 0xB6, 0x18, 0x75, + 0x8F, 0x85, 0xB1, 0x29, 0x88, 0xD0, 0x42, 0xA5, + 0xB1, 0xA2, 0x20, 0xCA, 0x30, 0x0E, 0xD5, 0x50, + 0xD0, 0xF9, 0xE0, 0x10, 0x30, 0x33, 0xA9, 0x7F, + 0x69, 0x01, 0x70, 0x01, 0xB8, 0xA5, 0xB5, 0x30, + 0x24, 0xC5, 0xBF, 0x10, 0x20, 0x48, 0x08, 0xA9, + 0xF9, 0x85, 0xB5, 0x85, 0xB4, 0x20, 0x4B, 0x08, + 0x20, 0xB2, 0x07, 0x20, 0x09, 0x07, 0x20, 0x2E, + 0x08, 0x28, 0x68, 0x85, 0xB5, 0xA5, 0xB4, 0x30, + 0x04, 0x38, 0xA9, 0xFF, 0x60, 0x18, 0xA9, 0x00, + 0x60, 0xA9, 0xFF, 0x18, 0xB8, 0x60, 0xA6, 0xB0, + 0xB5, 0x50, 0x85, 0xB1, 0x60, 0x20, 0x4B, 0x08, + 0x20, 0xB2, 0x07, 0x20, 0x09, 0x07, 0x20, 0xB2, + 0x07, 0xBA, 0x86, 0xB3, 0xA6, 0xB2, 0x9A, 0x68, + 0x85, 0xB6, 0x68, 0x85, 0xB0, 0xAA, 0x68, 0x95, + 0x50, 0x68, 0xAA, 0x68, 0x85, 0xB1, 0x95, 0x50, + 0x4C, 0x70, 0x08, 0xBA, 0x86, 0xB3, 0xA6, 0xB2, + 0x9A, 0xA5, 0xB1, 0x48, 0xA8, 0xA2, 0x1F, 0xD5, + 0x50, 0xF0, 0x03, 0xCA, 0x10, 0xF9, 0xA9, 0xCC, + 0x95, 0x50, 0x8A, 0x48, 0xA6, 0xB0, 0xB5, 0x50, + 0x94, 0x50, 0x48, 0x8A, 0x48, 0xA5, 0xB6, 0x48, + 0xBA, 0x86, 0xB2, 0xA6, 0xB3, 0x9A, 0x60, 0xA6, + 0xE4, 0xE4, 0xA0, 0xD0, 0x04, 0xA9, 0x00, 0xF0, + 0x0A, 0xA6, 0xE3, 0xD0, 0x06, 0xA6, 0xEE, 0xD0, + 0x02, 0xA9, 0xFF, 0xA2, 0x04, 0x86, 0xB5, 0xC5, + 0xFA, 0x90, 0x0C, 0xF0, 0x0A, 0x85, 0xFA, 0xA5, + 0xB0, 0x85, 0xFB, 0xA5, 0xB1, 0x85, 0xF9, 0x60, + 0xEA, 0xEA, 0xA6, 0xDC, 0x10, 0x17, 0xA5, 0xF9, + 0xD5, 0xDC, 0xD0, 0x0F, 0xCA, 0xB5, 0xDC, 0x85, + 0xFB, 0xCA, 0xB5, 0xDC, 0x85, 0xF9, 0xCA, 0x86, + 0xDC, 0xD0, 0x1A, 0x85, 0xDC, 0xA2, 0x0C, 0x86, + 0xB5, 0x86, 0xFA, 0xA2, 0x14, 0x20, 0x02, 0x07, + 0xA2, 0x04, 0x86, 0xB5, 0x20, 0x00, 0x07, 0xA6, + 0xFA, 0xE0, 0x0F, 0x90, 0x12, 0xA6, 0xFB, 0xB5, + 0x50, 0x85, 0xFA, 0x86, 0xB0, 0xA5, 0xF9, 0x85, + 0xB1, 0x20, 0x4B, 0x08, 0x4C, 0xFA, 0x08, 0xA9, + 0xFF, 0x60, 0xA2, 0x04, 0x06, 0xF9, 0x26, 0xFA, + 0xCA, 0xD0, 0xF9, 0x05, 0xF9, 0x85, 0xF9, 0x85, + 0xB1, 0x60, 0x20, 0x21, 0x05, 0x4C, 0x00, 0x04, + 0xA9, 0x8D, 0x20, 0xEF, 0xFF, 0xA2, 0x03, 0xA5, + 0xFB, 0x30, 0x27, 0x4A, 0x4A, 0x4A, 0x4A, 0x18, + 0x65, 0xB8, 0x29, 0x01, 0xD0, 0x04, 0xA9, 0xD7, + 0xD0, 0x02, 0xA9, 0xC2, 0x20, 0xEF, 0xFF, 0xB5, + 0xF8, 0x29, 0x0F, 0xAA, 0xB5, 0x30, 0x20, 0xEF, + 0xFF, 0xA2, 0x02, 0xA9, 0xA0, 0x20, 0xEF, 0xFF, + 0xB5, 0xF8, 0x20, 0xB7, 0x03, 0x60, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0xE0, 0x05, + 0xC9, 0x8D, 0xD0, 0x03, 0xA9, 0x14, 0x60, 0xC9, + 0xC7, 0xD0, 0x0A, 0xA9, 0x00, 0x85, 0xB8, 0x20, + 0xF0, 0x06, 0xA9, 0x0C, 0x60, 0xC9, 0xD2, 0xD0, + 0x05, 0xE6, 0xB8, 0xA9, 0x0E, 0x60, 0xC9, 0xCD, + 0xD0, 0x03, 0xA9, 0x0F, 0x60, 0xC9, 0xCC, 0xD0, + 0x03, 0x4C, 0x00, 0x03, 0xC9, 0xD1, 0xD0, 0x03, + 0x4C, 0x00, 0xFF, 0xC9, 0xD0, 0xD0, 0x06, 0x20, + 0x21, 0x05, 0x4C, 0x3D, 0x09, 0x29, 0x07, 0x60, + 0x18, 0xA9, 0x80, 0x65, 0xEB, 0x65, 0xEC, 0x65, + 0xED, 0x65, 0xE1, 0x65, 0xDF, 0x38, 0xE5, 0xF0, + 0xE5, 0xF1, 0xE5, 0xE2, 0xE5, 0xE0, 0xE5, 0xDE, + 0xE5, 0xEF, 0xE5, 0xE3, 0xB0, 0x02, 0xA9, 0x00, + 0x4A, 0x18, 0x69, 0x40, 0x65, 0xEC, 0x65, 0xED, + 0x38, 0xE5, 0xE4, 0x4A, 0x18, 0x69, 0x90, 0x65, + 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, 0xDD, 0x65, + 0xE1, 0x38, 0xE5, 0xE4, 0xE5, 0xE4, 0xE5, 0xE5, + 0xE5, 0xE5, 0xE5, 0xE0, 0xA6, 0xB1, 0xE0, 0x33, + 0xF0, 0x16, 0xE0, 0x34, 0xF0, 0x12, 0xE0, 0x22, + 0xF0, 0x0E, 0xE0, 0x25, 0xF0, 0x0A, 0xA6, 0xB0, + 0xF0, 0x09, 0xB4, 0x50, 0xC0, 0x10, 0x10, 0x03, + 0x18, 0x69, 0x02, 0x4C, 0x77, 0x08, 0x8D, 0x8D, + 0xCF, 0xD0, 0xC5, 0xCE, 0xC9, 0xCE, 0xC7, 0xD3, + 0x8D, 0x8D, 0xC3, 0xCF, 0xCD, 0xD0, 0xD5, 0xD4, + 0xC5, 0xD2, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, + 0xAE, 0xAE, 0xD7, 0xC8, 0xC9, 0xD4, 0xC5, 0xA0, + 0xC2, 0xCC, 0xC1, 0xC3, 0xCB, 0x8D, 0xC6, 0xD2, + 0xC5, 0xCE, 0xC3, 0xC8, 0xA0, 0xC4, 0xC5, 0xC6, + 0xC5, 0xCE, 0xC3, 0xC5, 0xAE, 0xAE, 0xAE, 0xB0, + 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xB1, 0x8D, 0xC7, + 0xC9, 0xD5, 0xCF, 0xC3, 0xCF, 0xA0, 0xD0, 0xC9, + 0xC1, 0xCE, 0xCF, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, + 0xB2, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xB3, 0x8D, + 0xD2, 0xD5, 0xD9, 0xA0, 0xCC, 0xCF, 0xD0, 0xC5, + 0xDA, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, 0xAE, + 0xAE, 0xB4, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xB5, + 0x8D, 0xD1, 0xD5, 0xC5, 0xC5, 0xCE, 0xA7, 0xD3, + 0xA0, 0xC9, 0xCE, 0xC4, 0xC9, 0xC1, 0xCE, 0xAE, + 0xAE, 0xAE, 0xB6, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, + 0xB7, 0x8D, 0xC6, 0xCF, 0xD5, 0xD2, 0xA0, 0xCB, + 0xCE, 0xC9, 0xC7, 0xC8, 0xD4, 0xD3, 0xAE, 0xAE, + 0xAE, 0xAE, 0xAE, 0xB8, 0xA0, 0xA0, 0xA0, 0xA0, + 0xA0, 0xB9, 0x8D, 0x8D, 0xC6, 0xCF, 0xD2, 0xA0, + 0xD2, 0xC1, 0xCE, 0xC4, 0xCF, 0xCD, 0xA0, 0xCF, + 0xD0, 0xC5, 0xCE, 0xC9, 0xCE, 0xC7, 0xAC, 0xA0, + 0xD0, 0xD2, 0xC5, 0xD3, 0xD3, 0xA0, 0xC5, 0xCE, + 0xD4, 0xC5, 0xD2, 0x8D, 0xBF, 0xAB, 0x00, 0x00, + 0x99, 0x22, 0x06, 0x45, 0x32, 0x0C, 0x72, 0x14, + 0x01, 0x63, 0x63, 0x05, 0x64, 0x43, 0x0F, 0x63, + 0x41, 0x05, 0x52, 0x25, 0x07, 0x44, 0x34, 0x0E, + 0x53, 0x33, 0x0F, 0xCC, 0x99, 0x22, 0x07, 0x55, + 0x32, 0x0D, 0x45, 0x06, 0x00, 0x63, 0x14, 0x01, + 0x14, 0x13, 0x06, 0x34, 0x14, 0x04, 0x36, 0x25, + 0x06, 0x52, 0x33, 0x0E, 0x43, 0x24, 0x0F, 0x44, + 0x99, 0x25, 0x0B, 0x25, 0x01, 0x00, 0x33, 0x25, + 0x07, 0x36, 0x34, 0x0D, 0x34, 0x34, 0x0E, 0x52, + 0x25, 0x0D, 0x45, 0x35, 0x04, 0x55, 0x22, 0x06, + 0x43, 0x33, 0x0F, 0xCC, 0x99, 0x52, 0x04, 0x52, + 0x52, 0x06, 0x75, 0x44, 0x06, 0x52, 0x41, 0x04, + 0x43, 0x43, 0x0F, 0x43, 0x25, 0x06, 0x52, 0x32, + 0x04, 0x42, 0x22, 0x07, 0x55, 0x34, 0x0F, 0x44, + 0x99, 0x25, 0x07, 0x66, 0x43, 0x0E, 0x55, 0x55, + 0x04, 0x54, 0x13, 0x01, 0x63, 0x34, 0x0E, 0x33, + 0x01, 0x00, 0x52, 0x46, 0x04, 0x55, 0x22, 0x06, + 0x43, 0x33, 0x0F, 0xCC, 0x99, 0x06, 0x00, 0x52, + 0x11, 0x06, 0x34, 0x22, 0x0B, 0x22, 0x23, 0x06, + 0x64, 0x14, 0x04, 0x43, 0x44, 0x06, 0x75, 0x25, + 0x06, 0x31, 0x22, 0x07, 0x55, 0x34, 0x0F, 0x44, + 0x99, 0x25, 0x01, 0x25, 0x15, 0x01, 0x33, 0x25, + 0x07, 0x72, 0x01, 0x00, 0x63, 0x11, 0x04, 0x66, + 0x21, 0x0A, 0x56, 0x22, 0x06, 0x53, 0x35, 0x0D, + 0x52, 0x34, 0x0E, 0xCC, 0x99, 0x35, 0x0C, 0x52, + 0x52, 0x06, 0x62, 0x44, 0x06, 0x52, 0x06, 0x00, + 0x75, 0x14, 0x04, 0x66, 0x11, 0x05, 0x56, 0x21, + 0x0B, 0x55, 0x24, 0x0F, 0x42, 0x25, 0x06, 0x43, + 0x99, 0x03, 0x02, 0x63, 0x25, 0x0B, 0x25, 0x41, + 0x05, 0x54, 0x24, 0x0E, 0x72, 0x01, 0x00, 0x36, + 0x46, 0x04, 0x52, 0x25, 0x07, 0x55, 0x22, 0x06, + 0x43, 0x33, 0x0F, 0xCC, 0x99, 0x03, 0x07, 0x74, + 0x14, 0x01, 0x52, 0x52, 0x04, 0x36, 0x23, 0x0E, + 0x53, 0x06, 0x00, 0x75, 0x41, 0x04, 0x31, 0x25, + 0x06, 0x52, 0x22, 0x07, 0x55, 0x34, 0x0F, 0x44 + ]] +}; diff --git a/tapes/monitor.js b/tapes/monitor.js new file mode 100644 index 0000000..d606e4a --- /dev/null +++ b/tapes/monitor.js @@ -0,0 +1,269 @@ +/* +C100R +0800.0FFFR +F3DR +*/ + +/*globals tapes: true */ + +tapes['Monitor/Disassembler'] = { + script: 'C100R\n0800.0FFFR\nF3DR\n', + tracks: [[ // 0800.0FFF + 0x4A, 0x08, 0x20, 0x46, 0x08, 0x28, 0xA9, 0x0F, + 0x90, 0x02, 0x69, 0xE0, 0x85, 0x2E, 0xB1, 0x26, + 0x45, 0x30, 0x25, 0x2E, 0x51, 0x26, 0x91, 0x26, + 0x60, 0x20, 0x00, 0x08, 0xC4, 0x2C, 0xB0, 0x11, + 0xC8, 0x20, 0x0E, 0x08, 0x90, 0xF6, 0x69, 0x01, + 0x48, 0x20, 0x00, 0x08, 0x68, 0xC5, 0x2D, 0x90, + 0xF5, 0x60, 0xA0, 0x30, 0xD0, 0x02, 0xA0, 0x28, + 0x84, 0x2D, 0x88, 0xA9, 0x00, 0x85, 0x30, 0x20, + 0x28, 0x08, 0x98, 0xD0, 0xF5, 0x60, 0x48, 0x4A, + 0x29, 0x03, 0x09, 0x04, 0x85, 0x27, 0x68, 0x29, + 0x18, 0x90, 0x02, 0x69, 0x7F, 0x85, 0x26, 0x0A, + 0x0A, 0x05, 0x26, 0x85, 0x26, 0x60, 0xA5, 0x30, + 0x18, 0x69, 0x03, 0x29, 0x0F, 0x85, 0x30, 0x0A, + 0x0A, 0x0A, 0x0A, 0x05, 0x30, 0x85, 0x30, 0x60, + 0x20, 0x9C, 0x0D, 0x20, 0x32, 0x09, 0xA1, 0x3A, + 0xA8, 0x4A, 0x90, 0x0B, 0x4A, 0xB0, 0x17, 0xC9, + 0x22, 0xF0, 0x13, 0x29, 0x07, 0x09, 0x80, 0x4A, + 0xAA, 0xBD, 0x4C, 0x09, 0xB0, 0x04, 0x4A, 0x4A, + 0x4A, 0x4A, 0x29, 0x0F, 0xD0, 0x04, 0xA0, 0x80, + 0xA9, 0x00, 0xAA, 0xBD, 0x90, 0x09, 0x85, 0x2E, + 0x29, 0x03, 0x85, 0x2F, 0x98, 0x29, 0x8F, 0xAA, + 0x98, 0xA0, 0x03, 0xE0, 0x8A, 0xF0, 0x0B, 0x4A, + 0x90, 0x08, 0x4A, 0x4A, 0x09, 0x20, 0x88, 0xD0, + 0xFA, 0xC8, 0x88, 0xD0, 0xF2, 0x48, 0xB1, 0x3A, + 0x20, 0xDA, 0x0D, 0xA2, 0x01, 0x20, 0x34, 0x09, + 0xC4, 0x2F, 0xC8, 0x90, 0xF1, 0xA2, 0x03, 0xC0, + 0x04, 0x90, 0xF2, 0x68, 0xA8, 0xB9, 0xAA, 0x09, + 0x85, 0x2C, 0xB9, 0xEA, 0x09, 0x85, 0x2D, 0xA9, + 0x00, 0xA0, 0x05, 0x06, 0x2D, 0x26, 0x2C, 0x2A, + 0x88, 0xD0, 0xF8, 0x69, 0xBF, 0x20, 0xED, 0x0D, + 0xCA, 0xD0, 0xEC, 0x20, 0x32, 0x09, 0xA4, 0x2F, + 0xA2, 0x06, 0xE0, 0x03, 0xF0, 0x1C, 0x06, 0x2E, + 0x90, 0x0E, 0xBD, 0x9D, 0x09, 0x20, 0xED, 0x0D, + 0xBD, 0xA3, 0x09, 0xF0, 0x03, 0x20, 0xED, 0x0D, + 0xCA, 0xD0, 0xE7, 0x60, 0x88, 0x30, 0xE7, 0x20, + 0xDA, 0x0D, 0xA5, 0x2E, 0xC9, 0xE8, 0xB1, 0x3A, + 0x90, 0xF2, 0x20, 0x40, 0x09, 0xAA, 0xE8, 0xD0, + 0x01, 0xC8, 0x98, 0x20, 0xDA, 0x0D, 0x8A, 0x4C, + 0xDA, 0x0D, 0xA2, 0x03, 0xA9, 0xA0, 0x20, 0xED, + 0x0D, 0xCA, 0xD0, 0xF8, 0x60, 0x38, 0xA5, 0x2F, + 0xA4, 0x3B, 0xAA, 0x10, 0x01, 0x88, 0x65, 0x3A, + 0x90, 0x01, 0xC8, 0x60, 0x40, 0x02, 0x45, 0x03, + 0xD0, 0x08, 0x40, 0x09, 0x30, 0x22, 0x45, 0x33, + 0xD0, 0x08, 0x40, 0x09, 0x40, 0x02, 0x45, 0x33, + 0xD0, 0x08, 0x40, 0x09, 0x40, 0x00, 0x40, 0xB0, + 0xD0, 0x00, 0x40, 0x00, 0x00, 0x22, 0x44, 0x33, + 0xD0, 0x8C, 0x44, 0x00, 0x11, 0x22, 0x44, 0x33, + 0xD0, 0x8C, 0x44, 0x9A, 0x10, 0x22, 0x44, 0x33, + 0xD0, 0x08, 0x40, 0x09, 0x10, 0x22, 0x44, 0x33, + 0xD0, 0x08, 0x40, 0x09, 0x62, 0x13, 0x78, 0xA9, + 0x00, 0x21, 0x81, 0x82, 0x00, 0x00, 0x59, 0x4D, + 0x91, 0x92, 0x86, 0x4A, 0x85, 0x9D, 0xAC, 0xA9, + 0xAC, 0xA3, 0xA8, 0xA4, 0xD9, 0x00, 0xD8, 0xA4, + 0xA4, 0x00, 0x1C, 0x8A, 0x1C, 0x23, 0x5D, 0x8B, + 0x1B, 0xA1, 0x9D, 0x8A, 0x1D, 0x23, 0x9D, 0x8B, + 0x1D, 0xA1, 0x00, 0x29, 0x19, 0xAE, 0x69, 0xA8, + 0x19, 0x23, 0x24, 0x53, 0x1B, 0x23, 0x24, 0x53, + 0x19, 0xA1, 0x00, 0x1A, 0x5B, 0x5B, 0xA5, 0x69, + 0x24, 0x24, 0xAE, 0xAE, 0xA8, 0xAD, 0x29, 0x00, + 0x7C, 0x00, 0x15, 0x9C, 0x6D, 0x00, 0xA5, 0x69, + 0x29, 0x53, 0x84, 0x13, 0x34, 0x11, 0xA5, 0x69, + 0x23, 0xA0, 0xD8, 0x62, 0x5A, 0x48, 0x26, 0x62, + 0x94, 0x88, 0x54, 0x44, 0xC8, 0x54, 0x68, 0x44, + 0xE8, 0x94, 0x00, 0xB4, 0x08, 0x84, 0x74, 0xB4, + 0x28, 0x6E, 0x74, 0xF4, 0xCC, 0x4A, 0x72, 0xF2, + 0xA4, 0x8A, 0x00, 0xAA, 0xA2, 0xA2, 0x74, 0x74, + 0x74, 0x72, 0x44, 0x68, 0xB2, 0x32, 0xB2, 0x00, + 0x22, 0x00, 0x1A, 0x1A, 0x26, 0x00, 0x72, 0x72, + 0x88, 0xC8, 0xC4, 0xCA, 0x26, 0x48, 0x44, 0x44, + 0xA2, 0xC8, 0xB1, 0x3A, 0xD1, 0x42, 0xF0, 0x1C, + 0x20, 0x9C, 0x0D, 0xB1, 0x3A, 0x20, 0xDA, 0x0D, + 0xA9, 0xA0, 0x20, 0xED, 0x0D, 0xA9, 0xA8, 0x20, + 0xED, 0x0D, 0xB1, 0x42, 0x20, 0xDA, 0x0D, 0xA9, + 0xA9, 0x20, 0xED, 0x0D, 0x20, 0xDA, 0x0C, 0x90, + 0xD9, 0x60, 0x20, 0x70, 0x08, 0x68, 0x85, 0x2C, + 0x68, 0x85, 0x2D, 0xA2, 0x08, 0xBD, 0x15, 0x0B, + 0x95, 0x3C, 0xCA, 0xD0, 0xF8, 0xA1, 0x3A, 0xF0, + 0x7C, 0xA4, 0x2F, 0xC9, 0x20, 0xF0, 0x3A, 0xC9, + 0x60, 0xF0, 0x26, 0xC9, 0x4C, 0xF0, 0x3D, 0xC9, + 0x6C, 0xF0, 0x3A, 0xC9, 0x40, 0xF0, 0x16, 0x29, + 0x1F, 0x49, 0x14, 0xC9, 0x04, 0xF0, 0x02, 0xB1, + 0x3A, 0x99, 0x3C, 0x00, 0x88, 0x10, 0xF8, 0x20, + 0xFC, 0x0A, 0x4C, 0x3C, 0x00, 0x18, 0x68, 0x85, + 0x46, 0x68, 0x85, 0x3A, 0x68, 0x85, 0x3B, 0xA5, + 0x2F, 0x20, 0x40, 0x09, 0x84, 0x3B, 0x18, 0x90, + 0x14, 0x18, 0x20, 0x3E, 0x09, 0xAA, 0x98, 0x48, + 0x8A, 0x48, 0xA0, 0x02, 0x18, 0xB1, 0x3A, 0xAA, + 0x88, 0xB1, 0x3A, 0x86, 0x3B, 0x85, 0x3A, 0xB0, + 0xF3, 0xA5, 0x2D, 0x48, 0xA5, 0x2C, 0x48, 0x20, + 0x98, 0x0D, 0xA2, 0x04, 0xA9, 0xA0, 0x20, 0xED, + 0x0D, 0xBD, 0x1E, 0x0B, 0x20, 0xED, 0x0D, 0xA9, + 0xBD, 0x20, 0xED, 0x0D, 0xB5, 0x45, 0x20, 0xDA, + 0x0D, 0xCA, 0x10, 0xE8, 0x60, 0x4C, 0x68, 0x0F, + 0x18, 0xA0, 0x01, 0xB1, 0x3A, 0x20, 0x40, 0x09, + 0x85, 0x3A, 0x98, 0x38, 0xB0, 0xA7, 0x20, 0x07, + 0x0B, 0x38, 0xB0, 0xA3, 0xA6, 0x48, 0xA4, 0x47, + 0xA5, 0x46, 0x48, 0xA5, 0x49, 0x28, 0x60, 0x86, + 0x48, 0x84, 0x47, 0x85, 0x49, 0x08, 0x68, 0x85, + 0x46, 0xBA, 0x86, 0x45, 0xD8, 0x60, 0xEA, 0xEA, + 0x4C, 0xF6, 0x0A, 0x4C, 0xE8, 0x0A, 0xD3, 0xD0, + 0xD9, 0xD8, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xA4, 0x24, 0x91, 0x28, 0xE6, 0x24, 0xA5, 0x24, + 0xC5, 0x21, 0xB0, 0x64, 0x60, 0x4C, 0xFF, 0x0F, + 0x2C, 0x12, 0xD0, 0x30, 0xFB, 0x8D, 0x12, 0xD0, + 0x60, 0xF0, 0x55, 0xC9, 0x8A, 0xF0, 0x55, 0xC9, + 0x88, 0xD0, 0xE9, 0xC6, 0x24, 0x10, 0xE5, 0xA5, + 0x21, 0x85, 0x24, 0xC6, 0x24, 0xA5, 0x22, 0xC5, + 0x25, 0xB0, 0x0B, 0xC6, 0x25, 0xA5, 0x25, 0x20, + 0xB6, 0x0C, 0x65, 0x20, 0x85, 0x28, 0x60, 0x49, + 0xC0, 0xF0, 0x28, 0x69, 0xFD, 0x90, 0xBD, 0xF0, + 0xDA, 0x69, 0xFD, 0x90, 0x27, 0xF0, 0xDE, 0x69, + 0xFD, 0x90, 0x57, 0xD0, 0xE9, 0xA4, 0x24, 0xA5, + 0x25, 0x48, 0x20, 0x37, 0x0C, 0xC6, 0x34, 0xF0, + 0x03, 0x4C, 0x01, 0x0E, 0xA5, 0x3A, 0x09, 0x07, + 0x85, 0x3C, 0xA5, 0x3B, 0x85, 0x3D, 0x4C, 0xB3, + 0x0D, 0x00, 0x85, 0x24, 0xE6, 0x25, 0xA5, 0x25, + 0xC5, 0x23, 0x90, 0xBB, 0xC6, 0x25, 0xA5, 0x22, + 0x48, 0x20, 0x37, 0x0C, 0xA5, 0x28, 0x85, 0x2A, + 0xA5, 0x29, 0x85, 0x2B, 0xA4, 0x21, 0x88, 0x68, + 0x69, 0x01, 0xC5, 0x23, 0xB0, 0x0D, 0x48, 0x20, + 0x37, 0x0C, 0xB1, 0x28, 0x91, 0x2A, 0x88, 0x10, + 0xF9, 0x30, 0xE1, 0xA0, 0x00, 0x20, 0xAC, 0x0C, + 0xB0, 0x8B, 0xA4, 0x24, 0xA9, 0xA0, 0x91, 0x28, + 0xC8, 0xC4, 0x21, 0x90, 0xF9, 0x60, 0x48, 0x4A, + 0x29, 0x03, 0x49, 0x04, 0x85, 0x29, 0x68, 0x29, + 0x18, 0x90, 0x02, 0x69, 0x7F, 0x85, 0x28, 0x0A, + 0x0A, 0x05, 0x28, 0x85, 0x28, 0x60, 0x38, 0x48, + 0xE9, 0x01, 0xD0, 0xFC, 0x68, 0xE9, 0x01, 0xD0, + 0xF6, 0x60, 0xE6, 0x42, 0xD0, 0x02, 0xE6, 0x43, + 0xA5, 0x3A, 0xC5, 0x3C, 0xA5, 0x3B, 0xE5, 0x3D, + 0xE6, 0x3A, 0xD0, 0x02, 0xE6, 0x3B, 0x60, 0xA0, + 0x4B, 0x20, 0x01, 0x0D, 0xD0, 0xF9, 0x69, 0xFE, + 0xB0, 0xF5, 0xA0, 0x21, 0x20, 0x01, 0x0D, 0xC8, + 0xC8, 0x88, 0xD0, 0xFD, 0x90, 0x05, 0xA0, 0x32, + 0x88, 0xD0, 0xFD, 0xBC, 0x00, 0xC0, 0xA0, 0x2C, + 0xCA, 0x60, 0xA2, 0x08, 0x48, 0x20, 0x20, 0x0D, + 0x68, 0x2A, 0xA0, 0x3A, 0xCA, 0xD0, 0xF5, 0x60, + 0x20, 0x23, 0x0D, 0x88, 0xAD, 0x81, 0xC0, 0xC5, + 0x2F, 0xF0, 0xF8, 0x85, 0x2F, 0xC0, 0x80, 0x60, + 0xA4, 0x24, 0xB1, 0x28, 0x48, 0x29, 0x3F, 0x09, + 0x40, 0x91, 0x28, 0x68, 0x6C, 0x38, 0x00, 0xAD, + 0x11, 0xD0, 0x10, 0xFB, 0xAD, 0x10, 0xD0, 0x60, + 0xC0, 0x8D, 0x00, 0xD0, 0x60, 0x20, 0x30, 0x0D, + 0x20, 0x3F, 0x0C, 0x6C, 0x38, 0x00, 0xC9, 0x9B, + 0xF0, 0xF3, 0x60, 0x4C, 0xFF, 0x0F, 0x20, 0xF3, + 0x0D, 0xC9, 0xDF, 0xF0, 0x16, 0xC9, 0x98, 0xF0, + 0x03, 0xE8, 0xD0, 0x13, 0xA9, 0xDC, 0x20, 0xED, + 0x0D, 0x20, 0x98, 0x0D, 0xA5, 0x33, 0x20, 0xED, + 0x0D, 0xA2, 0x01, 0x8A, 0xF0, 0xF3, 0xCA, 0x20, + 0x53, 0x0D, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, + 0xC9, 0xE0, 0x90, 0x02, 0x29, 0xDF, 0x9D, 0x00, + 0x02, 0xC9, 0x8D, 0xD0, 0xC9, 0xEA, 0xEA, 0xEA, + 0xA9, 0x8D, 0xD0, 0x51, 0x20, 0x98, 0x0D, 0xA5, + 0x3B, 0x20, 0xDA, 0x0D, 0xA5, 0x3A, 0x20, 0xDA, + 0x0D, 0xA9, 0xAD, 0xD0, 0x40, 0xA5, 0x3A, 0x29, + 0x07, 0xD0, 0x03, 0x20, 0x9C, 0x0D, 0xA9, 0xA0, + 0x20, 0xED, 0x0D, 0xA1, 0x3A, 0x20, 0xDA, 0x0D, + 0x20, 0xE0, 0x0C, 0x90, 0xE8, 0x60, 0x4A, 0x90, + 0xEA, 0x4A, 0x4A, 0xA5, 0x3C, 0x90, 0x02, 0x49, + 0xFF, 0x65, 0x3A, 0x48, 0xA9, 0xBD, 0x20, 0xED, + 0x0D, 0x68, 0x48, 0x4A, 0x4A, 0x4A, 0x4A, 0x20, + 0xE5, 0x0D, 0x68, 0x29, 0x0F, 0x09, 0xB0, 0xC9, + 0xBA, 0x90, 0x02, 0x69, 0x06, 0x6C, 0x36, 0x00, + 0x02, 0x25, 0x32, 0x6C, 0x36, 0x00, 0x20, 0xCD, + 0x0E, 0x68, 0xA4, 0x35, 0x60, 0xC6, 0x34, 0xF0, + 0xB2, 0xE8, 0xD0, 0x10, 0xC9, 0xBA, 0xD0, 0xBE, + 0x85, 0x31, 0xA5, 0x3C, 0x81, 0x3E, 0xE6, 0x3E, + 0xD0, 0x02, 0xE6, 0x3F, 0x60, 0xA2, 0x01, 0xB5, + 0x3C, 0x95, 0x42, 0x95, 0x44, 0xCA, 0x10, 0xF7, + 0x60, 0xB1, 0x3A, 0x91, 0x42, 0x20, 0xDA, 0x0C, + 0x90, 0xF7, 0x60, 0x20, 0x01, 0x0E, 0x6C, 0x40, + 0x00, 0xA2, 0x3F, 0xD0, 0x02, 0xA2, 0xFF, 0x86, + 0x32, 0xA9, 0x10, 0xD0, 0x02, 0xA9, 0x0D, 0x85, + 0x36, 0xA9, 0x0C, 0x85, 0x37, 0x60, 0xA9, 0x3F, + 0xD0, 0x02, 0xA9, 0x5B, 0x85, 0x38, 0xA9, 0x0D, + 0x85, 0x39, 0x60, 0xA4, 0x34, 0xB9, 0xFF, 0x01, + 0x85, 0x31, 0x60, 0xA9, 0x14, 0x48, 0x20, 0x70, + 0x08, 0x20, 0x3D, 0x09, 0x85, 0x3A, 0x84, 0x3B, + 0x68, 0x38, 0xE9, 0x01, 0xD0, 0xEF, 0x60, 0xA9, + 0x40, 0x20, 0xEF, 0x0C, 0xA0, 0x27, 0xA2, 0x00, + 0x41, 0x3A, 0x48, 0xA1, 0x3A, 0x20, 0x8A, 0x0E, + 0x20, 0xE0, 0x0C, 0xA0, 0x1D, 0x68, 0x90, 0xEE, + 0xA0, 0x22, 0xA2, 0x10, 0x0A, 0x20, 0xFC, 0x0C, + 0xD0, 0xFA, 0x60, 0x20, 0x20, 0x0D, 0xA9, 0x16, + 0x20, 0xEF, 0x0C, 0x85, 0x2E, 0x20, 0x20, 0x0D, + 0xA0, 0x24, 0x20, 0x23, 0x0D, 0xB0, 0xF9, 0x20, + 0x23, 0x0D, 0xA0, 0x3B, 0x20, 0x12, 0x0D, 0x81, + 0x3A, 0x45, 0x2E, 0x85, 0x2E, 0x20, 0xE0, 0x0C, + 0xA0, 0x35, 0x90, 0xF0, 0x20, 0x12, 0x0D, 0xC5, + 0x2E, 0xF0, 0xCF, 0xA9, 0xC5, 0x20, 0xED, 0x0D, + 0xA9, 0xD2, 0x20, 0xED, 0x0D, 0x6C, 0x36, 0x00, + 0x4C, 0x2A, 0x0A, 0x4C, 0x52, 0x0A, 0x20, 0x52, + 0x0A, 0xD0, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x20, 0x5D, 0x0C, 0x68, 0x68, 0xD0, + 0x7F, 0xA9, 0xFF, 0x8D, 0x00, 0xE0, 0x8D, 0x02, + 0xE0, 0x48, 0xA9, 0x34, 0x8D, 0x01, 0xE0, 0x8D, + 0x03, 0xE0, 0xA2, 0xFE, 0xB5, 0x40, 0x95, 0x3C, + 0xB5, 0x46, 0x95, 0x44, 0xE8, 0xD0, 0xF5, 0x4A, + 0xA0, 0x3C, 0x90, 0x03, 0x8C, 0x01, 0xE0, 0xA5, + 0x42, 0x8D, 0x00, 0xE0, 0xA1, 0x3A, 0x8D, 0x02, + 0xE0, 0x48, 0x68, 0x8C, 0x03, 0xE0, 0xA9, 0x0A, + 0x20, 0xCE, 0x0C, 0xA9, 0x34, 0x8D, 0x03, 0xE0, + 0x20, 0xDA, 0x0C, 0xA5, 0x43, 0x90, 0xD8, 0x68, + 0x69, 0xFE, 0xD0, 0xBD, 0xA0, 0x03, 0x99, 0x00, + 0xE0, 0x88, 0x10, 0xFA, 0x60, 0x58, 0xD8, 0x20, + 0x35, 0x0E, 0xA0, 0x00, 0x84, 0x46, 0x4C, 0x60, + 0x0F, 0x84, 0x21, 0x86, 0x22, 0x85, 0x23, 0xC4, + 0x24, 0x90, 0x04, 0xC5, 0x25, 0xB0, 0x06, 0x20, + 0x6B, 0x0C, 0x20, 0x55, 0x0C, 0x20, 0x35, 0x0C, + 0x20, 0x46, 0x0E, 0xA9, 0xDC, 0x20, 0xED, 0x0D, + 0xA9, 0xAA, 0x85, 0x33, 0x20, 0x71, 0x0D, 0x20, + 0xC5, 0x0F, 0xF0, 0x40, 0xA2, 0x03, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x26, 0x3C, 0x26, 0x3D, 0xCA, + 0x10, 0xF8, 0xA5, 0x31, 0xD0, 0x0D, 0xA2, 0x01, + 0xB5, 0x3C, 0x95, 0x3A, 0x95, 0x3E, 0x95, 0x40, + 0xCA, 0x10, 0xF5, 0xB9, 0x00, 0x02, 0xC8, 0x49, + 0xB0, 0xC9, 0x0A, 0x90, 0xD7, 0x69, 0x88, 0xC9, + 0xFA, 0xB0, 0xD1, 0x84, 0x34, 0xA0, 0x18, 0x88, + 0x30, 0xB9, 0xD9, 0xCA, 0x0F, 0xD0, 0xF8, 0x20, + 0xBC, 0x0F, 0xA4, 0x34, 0xA2, 0x00, 0x86, 0x3C, + 0x86, 0x3D, 0xF0, 0xD7, 0xA9, 0x0E, 0x48, 0xB9, + 0xE2, 0x0F, 0x48, 0xA5, 0x31, 0xA0, 0x00, 0x84, + 0x31, 0x60, 0xFF, 0xFF, 0xFF, 0xEC, 0xED, 0xEF, + 0xFF, 0xFF, 0xFF, 0xBB, 0xA6, 0xA4, 0x06, 0x95, + 0xFF, 0xFF, 0x05, 0xF0, 0x00, 0xEB, 0x93, 0xA7, + 0xC6, 0x99, 0xFF, 0xFF, 0xFF, 0xD2, 0xD5, 0xCF, + 0xFF, 0xFF, 0xFF, 0xE8, 0x52, 0x52, 0x20, 0x14, + 0xFF, 0xFF, 0x5A, 0x6E, 0x2A, 0x92, 0x52, 0x52, + 0xE1, 0x00, 0xFF, 0xFF, 0x3D, 0xFF, 0x00, 0x00 + ]] +}; diff --git a/tapes/slots.js b/tapes/slots.js new file mode 100644 index 0000000..793e1b5 --- /dev/null +++ b/tapes/slots.js @@ -0,0 +1,454 @@ +/* +C100R +004A.00FFR 0300.0FFFR +E2B3R +RUN +*/ + +/*globals tapes: true */ + +tapes['Slots'] = { + script: 'C100R\n004A.00FFR 0300.0FFFR\nE2B3R\nRUN\n', + tracks: [[ // 004A.00FF + 0x00, 0x03, 0x00, 0x10, 0x83, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xED, 0xED, 0xED, 0xED, 0xED, + 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, 0xED, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7D, 0x36, 0x7D, 0x36, 0x7D, + 0x36, 0x9C, 0x82, 0x59, 0x9C, 0x82, 0xF6, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x0B, 0x0B, 0x0E, 0x0E, 0x11, + 0x11, 0x12, 0x0C, 0x08, 0x0C, 0x03, 0x03, 0xFF, + 0x08, 0x08, 0xFA, 0x07, 0x00, 0x03, 0x0F, 0x27, + 0x00, 0x03, 0x7F, 0x03, 0x00, 0x00, 0x01, 0x00, + 0x20, 0x00, 0x55, 0x08, 0x7B, 0x0F, 0x00, 0x00, + 0x09, 0x02, 0x00, 0x10, 0xFA, 0x07, 0xFB, 0x0F, + 0x26, 0x26, 0x27, 0x14, 0x11, 0x14, 0x0C, 0x0B, + 0x08, 0x0D, 0x0F, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xED + ],[ + 0x9E, 0x40, 0x0A, 0x03, 0x83, 0x1E, 0xB0, 0x1E, + 0x1E, 0x00, 0x90, 0x40, 0x19, 0x03, 0xB0, 0xB1, + 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, + 0x1E, 0x88, 0xB1, 0x1F, 0x03, 0x01, 0x00, 0xA0, + 0xB1, 0x25, 0x03, 0x00, 0x00, 0xB4, 0x00, 0x2B, + 0x03, 0x01, 0x00, 0xA0, 0x00, 0x31, 0x03, 0x64, + 0x00, 0xA6, 0x00, 0x37, 0x03, 0xF0, 0x0A, 0x90, + 0x00, 0x3D, 0x03, 0xB8, 0x0B, 0x8A, 0x00, 0x43, + 0x03, 0xC8, 0x00, 0xB2, 0x00, 0x49, 0x03, 0x12, + 0x00, 0x82, 0x00, 0x4F, 0x03, 0xE8, 0x03, 0x92, + 0x00, 0x55, 0x03, 0x05, 0x00, 0xA2, 0x00, 0x5B, + 0x03, 0x00, 0x00, 0x88, 0x00, 0x61, 0x03, 0x00, + 0x00, 0x86, 0x00, 0x67, 0x03, 0x01, 0x00, 0x9E, + 0xB1, 0x6D, 0x03, 0x00, 0x00, 0x9E, 0xB2, 0x73, + 0x03, 0x01, 0x00, 0x9E, 0xB3, 0x79, 0x03, 0x00, + 0x00, 0x9E, 0xB4, 0x7F, 0x03, 0x0B, 0x00, 0x86, + 0xB9, 0x85, 0x03, 0x00, 0x00, 0x82, 0xB9, 0x8B, + 0x03, 0x0A, 0x00, 0xA6, 0xB9, 0x91, 0x03, 0x1A, + 0x00, 0x92, 0xB9, 0x97, 0x03, 0xA6, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x25, 0x05, 0x00, 0x4E, 0xCF, + 0x40, 0x22, 0xB5, 0x05, 0x00, 0x72, 0x03, 0x4E, + 0xC8, 0x40, 0x22, 0xB1, 0x0A, 0x00, 0x72, 0x03, + 0xC8, 0x40, 0x70, 0x28, 0xB0, 0xB1, 0xB2, 0xB3, + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0x29, 0x01, + 0x07, 0x4B, 0x00, 0x63, 0x03, 0x63, 0x01, 0x29, + 0x50, 0x00, 0x61, 0x28, 0xD4, 0xD2, 0xD9, 0xA0, + 0xD9, 0xCF, 0xD5, 0xD2, 0xA0, 0xC8, 0xC1, 0xCE, + 0xC4, 0xA0, 0xC1, 0xD4, 0xA0, 0xC7, 0xCF, 0xD6, + 0xC5, 0xD2, 0xCE, 0xC9, 0xCE, 0xC7, 0xA0, 0xC1, + 0xCE, 0xC3, 0xC9, 0xC5, 0xCE, 0xD4, 0x29, 0x01, + 0x2E, 0x52, 0x00, 0x61, 0x28, 0xD3, 0xD5, 0xCD, + 0xC5, 0xD2, 0xC9, 0xC1, 0xA0, 0xD3, 0xD5, 0xC3, + 0xC3, 0xC5, 0xD3, 0xD3, 0xC6, 0xD5, 0xCC, 0xCC, + 0xD9, 0xA0, 0xC6, 0xCF, 0xD2, 0xA0, 0xC1, 0xA0, + 0xB1, 0xB0, 0xAD, 0xD9, 0xC5, 0xC1, 0xD2, 0xA0, + 0xD4, 0xC5, 0xD2, 0xCD, 0x29, 0x01, 0x11, 0x55, + 0x00, 0x61, 0x28, 0xCF, 0xC6, 0xA0, 0xCF, 0xC6, + 0xC6, 0xC9, 0xC3, 0xC5, 0xAE, 0x29, 0x01, 0x11, + 0x5F, 0x00, 0xC4, 0xB1, 0x71, 0xB1, 0x01, 0x00, + 0x03, 0xD0, 0xB1, 0x71, 0xB0, 0x00, 0x00, 0x01, + 0x21, 0x64, 0x00, 0xDA, 0x71, 0xB0, 0x00, 0x00, + 0x03, 0xD0, 0x71, 0xB9, 0x5F, 0x00, 0x03, 0xD3, + 0x71, 0xB2, 0xF0, 0x0A, 0x03, 0xC8, 0x71, 0xB3, + 0xB8, 0x0B, 0x03, 0xC5, 0x71, 0xC8, 0x13, 0xD3, + 0x01, 0x1B, 0x6E, 0x00, 0xD9, 0x71, 0xB3, 0x03, + 0x00, 0x03, 0xC1, 0x71, 0xC8, 0x15, 0xD9, 0x03, + 0xC9, 0x71, 0xB5, 0x05, 0x00, 0x03, 0xD1, 0x71, + 0xB1, 0x01, 0x00, 0x01, 0x09, 0xD2, 0x00, 0xC4, + 0x71, 0xB0, 0x00, 0x00, 0x01, 0x2C, 0xD7, 0x00, + 0x63, 0x03, 0x63, 0x03, 0x61, 0x28, 0xC8, 0xC1, + 0xCD, 0xD5, 0xD2, 0xC1, 0xC2, 0xC9, 0xBA, 0xA0, + 0xC9, 0xA0, 0xC2, 0xC5, 0xC7, 0xA0, 0xD4, 0xCF, + 0xA0, 0xD2, 0xC5, 0xD0, 0xCF, 0xD2, 0xD4, 0xA0, + 0xD4, 0xCF, 0xA0, 0xD9, 0xCF, 0xD5, 0xAC, 0x29, + 0x01, 0x4B, 0xD8, 0x00, 0xDA, 0x71, 0xDA, 0x12, + 0xB1, 0x01, 0x00, 0x03, 0x61, 0x28, 0xC9, 0xCE, + 0xA0, 0xD9, 0xC5, 0xC1, 0xD2, 0xA0, 0x29, 0x46, + 0xDA, 0x45, 0x28, 0xAC, 0xA0, 0x29, 0x46, 0xC4, + 0x45, 0x28, 0xA0, 0xD0, 0xC5, 0xCF, 0xD0, 0xCC, + 0xC5, 0xA0, 0xD3, 0xD4, 0xC1, 0xD2, 0xD6, 0xC5, + 0xC4, 0xAC, 0x29, 0x03, 0x62, 0xC9, 0x45, 0x28, + 0xA0, 0xC3, 0xC1, 0xCD, 0xC5, 0xA0, 0xD4, 0xCF, + 0xA0, 0xD4, 0xC8, 0xC5, 0xA0, 0xC3, 0xC9, 0xD4, + 0xD9, 0xAE, 0x29, 0x01, 0x09, 0xDA, 0x00, 0xD0, + 0x71, 0xD0, 0x12, 0xC9, 0x01, 0x0E, 0xE3, 0x00, + 0x60, 0xD1, 0x19, 0xB0, 0x00, 0x00, 0x24, 0xB2, + 0xE6, 0x00, 0x01, 0x0B, 0xE4, 0x00, 0xD0, 0x71, + 0xD0, 0x15, 0xB2, 0x02, 0x00, 0x01, 0x46, 0xE5, + 0x00, 0x61, 0x28, 0xC1, 0xA0, 0xC8, 0xCF, 0xD2, + 0xD2, 0xC9, 0xC2, 0xCC, 0xC5, 0xA0, 0xD0, 0xCC, + 0xC1, 0xC7, 0xD5, 0xC5, 0xA0, 0xD3, 0xD4, 0xD2, + 0xD5, 0xC3, 0xCB, 0xA1, 0xA1, 0xA1, 0x29, 0x03, + 0x61, 0x28, 0xAD, 0xAD, 0xAD, 0xA0, 0xC8, 0xC1, + 0xCC, 0xC6, 0xA0, 0xD4, 0xC8, 0xC5, 0xA0, 0xD0, + 0xCF, 0xD0, 0xD5, 0xCC, 0xC1, 0xD4, 0xC9, 0xCF, + 0xCE, 0xA0, 0xC4, 0xC9, 0xC5, 0xC4, 0xA0, 0xAD, + 0xAD, 0xAD, 0x29, 0x01, 0x1F, 0xE6, 0x00, 0x61, + 0x28, 0xD4, 0xC8, 0xC5, 0xA0, 0xD0, 0xCF, 0xD0, + 0xD5, 0xCC, 0xC1, 0xD4, 0xC9, 0xCF, 0xCE, 0xA0, + 0xC9, 0xD3, 0xA0, 0xCE, 0xCF, 0xD7, 0xA0, 0x29, + 0x46, 0xD0, 0x01, 0x25, 0xE8, 0x00, 0x61, 0x28, + 0xD4, 0xC8, 0xC5, 0xA0, 0xC3, 0xC9, 0xD4, 0xD9, + 0xA0, 0xCE, 0xCF, 0xD7, 0xA0, 0xCF, 0xD7, 0xCE, + 0xD3, 0xA0, 0x29, 0x46, 0xC1, 0x45, 0x28, 0xA0, + 0xC1, 0xC3, 0xD2, 0xC5, 0xD3, 0xAE, 0x29, 0x01, + 0x2C, 0xE9, 0x00, 0x61, 0x28, 0xD9, 0xCF, 0xD5, + 0xA0, 0xC8, 0xC1, 0xD2, 0xD6, 0xC5, 0xD3, 0xD4, + 0xC5, 0xC4, 0xA0, 0x29, 0x46, 0xD9, 0x45, 0x28, + 0xA0, 0xC2, 0xD5, 0xD3, 0xC8, 0xC5, 0xCC, 0xD3, + 0xA0, 0xD0, 0xC5, 0xD2, 0xA0, 0xC1, 0xC3, 0xD2, + 0xC5, 0xAC, 0x29, 0x01, 0x1E, 0xFA, 0x00, 0x61, + 0x28, 0xD2, 0xC1, 0xD4, 0xD3, 0xA0, 0xC1, 0xD4, + 0xC5, 0xA0, 0x29, 0x46, 0xC5, 0x45, 0x28, 0xA0, + 0xC2, 0xD5, 0xD3, 0xC8, 0xC5, 0xCC, 0xD3, 0xAC, + 0x29, 0x01, 0x2D, 0xFC, 0x00, 0x61, 0x28, 0xD9, + 0xCF, 0xD5, 0xA0, 0xCE, 0xCF, 0xD7, 0xA0, 0xC8, + 0xC1, 0xD6, 0xC5, 0xA0, 0x29, 0x46, 0xD3, 0x45, + 0x28, 0xA0, 0xC2, 0xD5, 0xD3, 0xC8, 0xC5, 0xCC, + 0xD3, 0xA0, 0xC9, 0xCE, 0xA0, 0xD3, 0xD4, 0xCF, + 0xD2, 0xC5, 0xAE, 0x29, 0x03, 0x63, 0x01, 0x0E, + 0x0E, 0x01, 0x60, 0xDA, 0x16, 0xB1, 0x0B, 0x00, + 0x24, 0xB8, 0x5C, 0x03, 0x01, 0x18, 0x36, 0x01, + 0xC3, 0x71, 0x2F, 0x3F, 0xB1, 0x0A, 0x00, 0x72, + 0x12, 0xB1, 0x01, 0x00, 0x03, 0xD9, 0x71, 0xC3, + 0x12, 0xB1, 0x11, 0x00, 0x01, 0x31, 0x38, 0x01, + 0x61, 0x28, 0xCC, 0xC1, 0xCE, 0xC4, 0xA0, 0xC9, + 0xD3, 0xA0, 0xD4, 0xD2, 0xC1, 0xC4, 0xC9, 0xCE, + 0xC7, 0xA0, 0xC1, 0xD4, 0xA0, 0x29, 0x46, 0xD9, + 0x45, 0x28, 0xA0, 0xC2, 0xD5, 0xD3, 0xC8, 0xC5, + 0xCC, 0xD3, 0xA0, 0xD0, 0xC5, 0xD2, 0xA0, 0xC1, + 0xC3, 0xD2, 0xC5, 0xAC, 0x29, 0x01, 0x29, 0x40, + 0x01, 0x61, 0x28, 0xC8, 0xCF, 0xD7, 0xA0, 0xCD, + 0xC1, 0xCE, 0xD9, 0xA0, 0xC1, 0xC3, 0xD2, 0xC5, + 0xD3, 0xA0, 0xC4, 0xCF, 0xA0, 0xD9, 0xCF, 0xD5, + 0xA0, 0xD7, 0xC9, 0xD3, 0xC8, 0xA0, 0xD4, 0xCF, + 0xA0, 0xC2, 0xD5, 0xD9, 0x29, 0x47, 0x01, 0x0D, + 0x41, 0x01, 0x1D, 0x0A, 0x00, 0x61, 0x28, 0xA0, + 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, + 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, + 0xD3, 0xCC, 0xCF, 0xD4, 0xD3, 0x29, 0x01, 0x19, + 0x14, 0x00, 0x61, 0x28, 0xC3, 0xD2, 0xC5, 0xC1, + 0xD4, 0xC9, 0xD6, 0xC5, 0xA0, 0xC3, 0xCF, 0xCD, + 0xD0, 0xD5, 0xD4, 0xC9, 0xCE, 0xC7, 0x29, 0x01, + 0x1D, 0x19, 0x00, 0x61, 0x28, 0xCD, 0xCF, 0xD2, + 0xD2, 0xC9, 0xD3, 0xD4, 0xCF, 0xD7, 0xCE, 0xAC, + 0xA0, 0xCE, 0xC5, 0xD7, 0xA0, 0xCA, 0xC5, 0xD2, + 0xD3, 0xC5, 0xD9, 0x29, 0x01, 0x09, 0x1E, 0x00, + 0x63, 0x03, 0x63, 0x03, 0x63, 0x01, 0x40, 0x64, + 0x00, 0x5D, 0xA0, 0xD0, 0xD2, 0xCF, 0xC4, 0xD5, + 0xC3, 0xC5, 0xC4, 0xA0, 0xC2, 0xD9, 0xA0, 0xC6, + 0xD2, 0xC5, 0xC4, 0xA0, 0xCD, 0xC9, 0xD2, 0xC1, + 0xC2, 0xC5, 0xCC, 0xCC, 0xC5, 0xA0, 0xC1, 0xCE, + 0xC4, 0xA0, 0xC2, 0xCF, 0xC2, 0xA0, 0xC8, 0xC1, + 0xD2, 0xD0, 0xC5, 0xD2, 0xA0, 0xCF, 0xCE, 0xA0, + 0xCA, 0xC1, 0xCE, 0xAE, 0xA0, 0xB2, 0xB9, 0xAC, + 0xA0, 0xB1, 0xB9, 0xB7, 0xB3, 0x01, 0x24, 0x6E, + 0x00, 0x5D, 0xA0, 0xC9, 0xD4, 0xA0, 0xD3, 0xC9, + 0xCD, 0xD5, 0xCC, 0xC1, 0xD4, 0xC5, 0xD3, 0xA0, + 0xD4, 0xC8, 0xC5, 0xA0, 0xD3, 0xCC, 0xCF, 0xD4, + 0xA0, 0xCD, 0xC1, 0xC3, 0xC8, 0xC9, 0xCE, 0xC5, + 0xAE, 0x01, 0x67, 0x78, 0x00, 0x61, 0x28, 0xD9, + 0xCF, 0xD5, 0xA0, 0xC1, 0xD2, 0xC5, 0xA0, 0xC9, + 0xCE, 0xA0, 0xD4, 0xC8, 0xC5, 0xA0, 0xC8, 0xA6, + 0xCD, 0xA0, 0xC3, 0xC1, 0xD3, 0xC9, 0xCE, 0xCF, + 0xAC, 0xA0, 0xC9, 0xCE, 0xA0, 0xC6, 0xD2, 0xCF, + 0xCE, 0xD4, 0xA0, 0xCF, 0xC6, 0xA0, 0x29, 0x03, + 0x61, 0x28, 0xCF, 0xCE, 0xC5, 0xA0, 0xCF, 0xC6, + 0xA0, 0xCF, 0xD5, 0xD2, 0xA0, 0xCF, 0xCE, 0xC5, + 0xAD, 0xC1, 0xD2, 0xCD, 0xC5, 0xC4, 0xA0, 0xC2, + 0xC1, 0xCE, 0xC4, 0xC9, 0xD4, 0xD3, 0xAE, 0xA0, + 0xC2, 0xC5, 0xD4, 0xA0, 0xC6, 0xD2, 0xCF, 0xCD, + 0x29, 0x03, 0x61, 0x28, 0xA4, 0xB1, 0xA0, 0xD4, + 0xCF, 0xA0, 0xA4, 0xB1, 0xB0, 0xB0, 0xAE, 0x29, + 0x01, 0x47, 0x8C, 0x00, 0x61, 0x28, 0xD4, 0xCF, + 0xA0, 0xD0, 0xD5, 0xCC, 0xCC, 0xA0, 0xD4, 0xC8, + 0xC5, 0xA0, 0xC1, 0xD2, 0xCD, 0xAC, 0xA0, 0xD0, + 0xD5, 0xCE, 0xC3, 0xC8, 0xA0, 0xD4, 0xC8, 0xC5, + 0xA0, 0xD2, 0xC5, 0xD4, 0xD5, 0xD2, 0xCE, 0xA0, + 0xCB, 0xC5, 0xD9, 0xA0, 0x29, 0x03, 0x61, 0x28, + 0xC1, 0xC6, 0xD4, 0xC5, 0xD2, 0xA0, 0xCD, 0xC1, + 0xCB, 0xC9, 0xCE, 0xC7, 0xA0, 0xD9, 0xCF, 0xD5, + 0xD2, 0xA0, 0xC2, 0xC5, 0xD4, 0xAE, 0x29, 0x01, + 0x09, 0x96, 0x00, 0xD0, 0x71, 0xB0, 0x00, 0x00, + 0x01, 0x12, 0xA0, 0x00, 0x63, 0x03, 0x61, 0x28, + 0xD9, 0xCF, 0xD5, 0xD2, 0xA0, 0xC2, 0xC5, 0xD4, + 0x29, 0x47, 0x01, 0x06, 0xAA, 0x00, 0x54, 0xCD, + 0x01, 0x0E, 0xB4, 0x00, 0x60, 0xCD, 0x19, 0xB1, + 0x64, 0x00, 0x24, 0xB8, 0x5C, 0x03, 0x01, 0x0E, + 0xBE, 0x00, 0x60, 0xCD, 0x1C, 0xB1, 0x01, 0x00, + 0x24, 0xB8, 0x70, 0x03, 0x01, 0x0E, 0xC8, 0x00, + 0x5D, 0xA0, 0xCD, 0xBD, 0xC9, 0xCE, 0xD4, 0xA8, + 0xCD, 0xA9, 0x01, 0x08, 0xD2, 0x00, 0x5C, 0xB1, + 0xF6, 0x04, 0x01, 0x05, 0xDC, 0x00, 0x63, 0x01, + 0x10, 0xE6, 0x00, 0xD8, 0x71, 0x2F, 0x3F, 0xB6, + 0x06, 0x00, 0x72, 0x12, 0xB1, 0x01, 0x00, 0x01, + 0x10, 0xF0, 0x00, 0xD9, 0x71, 0x2F, 0x3F, 0xB6, + 0x06, 0x00, 0x72, 0x12, 0xB1, 0x01, 0x00, 0x01, + 0x0C, 0xFA, 0x00, 0xDA, 0x71, 0x2F, 0x3F, 0xB6, + 0x06, 0x00, 0x72, 0x01, 0x05, 0x04, 0x01, 0x63, + 0x01, 0x0E, 0x0E, 0x01, 0x60, 0xD8, 0x16, 0xB1, + 0x01, 0x00, 0x24, 0xB9, 0x8E, 0x03, 0x01, 0x0E, + 0x18, 0x01, 0x60, 0xD8, 0x16, 0xB2, 0x02, 0x00, + 0x24, 0xB9, 0xA2, 0x03, 0x01, 0x0E, 0x22, 0x01, + 0x60, 0xD8, 0x16, 0xB3, 0x03, 0x00, 0x24, 0xB9, + 0xB6, 0x03, 0x01, 0x0E, 0x2C, 0x01, 0x60, 0xD8, + 0x16, 0xB4, 0x04, 0x00, 0x24, 0xB9, 0xCA, 0x03, + 0x01, 0x0E, 0x36, 0x01, 0x60, 0xD8, 0x16, 0xB5, + 0x05, 0x00, 0x24, 0xB9, 0xDE, 0x03, 0x01, 0x0E, + 0x40, 0x01, 0x60, 0xD8, 0x16, 0xB6, 0x06, 0x00, + 0x24, 0xB1, 0xF2, 0x03, 0x01, 0x0E, 0x4A, 0x01, + 0x60, 0xD9, 0x16, 0xB1, 0x01, 0x00, 0x24, 0xB1, + 0x06, 0x04, 0x01, 0x0E, 0x54, 0x01, 0x60, 0xD9, + 0x16, 0xB2, 0x02, 0x00, 0x24, 0xB1, 0x1A, 0x04, + 0x01, 0x0E, 0x5E, 0x01, 0x60, 0xD9, 0x16, 0xB3, + 0x03, 0x00, 0x24, 0xB1, 0x2E, 0x04, 0x01, 0x0E, + 0x68, 0x01, 0x60, 0xD9, 0x16, 0xB4, 0x04, 0x00, + 0x24, 0xB1, 0x42, 0x04, 0x01, 0x0E, 0x72, 0x01, + 0x60, 0xD9, 0x16, 0xB5, 0x05, 0x00, 0x24, 0xB1, + 0x56, 0x04, 0x01, 0x0E, 0x7C, 0x01, 0x60, 0xD9, + 0x16, 0xB6, 0x06, 0x00, 0x24, 0xB1, 0x6A, 0x04, + 0x01, 0x0E, 0x86, 0x01, 0x60, 0xDA, 0x16, 0xB1, + 0x01, 0x00, 0x24, 0xB1, 0x7E, 0x04, 0x01, 0x0E, + 0x90, 0x01, 0x60, 0xDA, 0x16, 0xB2, 0x02, 0x00, + 0x24, 0xB1, 0x92, 0x04, 0x01, 0x0E, 0x9A, 0x01, + 0x60, 0xDA, 0x16, 0xB3, 0x03, 0x00, 0x24, 0xB1, + 0xA6, 0x04, 0x01, 0x0E, 0xA4, 0x01, 0x60, 0xDA, + 0x16, 0xB4, 0x04, 0x00, 0x24, 0xB1, 0xBA, 0x04, + 0x01, 0x0E, 0xAE, 0x01, 0x60, 0xDA, 0x16, 0xB5, + 0x05, 0x00, 0x24, 0xB1, 0xCE, 0x04, 0x01, 0x0E, + 0xB8, 0x01, 0x60, 0xDA, 0x16, 0xB6, 0x06, 0x00, + 0x24, 0xB1, 0xE2, 0x04, 0x01, 0x0C, 0xC2, 0x01, + 0x60, 0xD8, 0x16, 0xD9, 0x24, 0xB6, 0x58, 0x02, + 0x01, 0x0C, 0xCC, 0x01, 0x60, 0xD8, 0x16, 0xDA, + 0x24, 0xB6, 0x76, 0x02, 0x01, 0x0C, 0xD6, 0x01, + 0x60, 0xD9, 0x16, 0xDA, 0x24, 0xB6, 0x8A, 0x02, + 0x01, 0x05, 0xE0, 0x01, 0x63, 0x01, 0x10, 0xEA, + 0x01, 0x61, 0x28, 0xD9, 0xCF, 0xD5, 0xA0, 0xCC, + 0xCF, 0xD3, 0xD4, 0xAE, 0x29, 0x01, 0x09, 0xF4, + 0x01, 0xD0, 0x71, 0xD0, 0x13, 0xCD, 0x01, 0x1D, + 0xFE, 0x01, 0x61, 0x28, 0xD9, 0xCF, 0xD5, 0xD2, + 0xA0, 0xD3, 0xD4, 0xC1, 0xCE, 0xC4, 0xC9, 0xCE, + 0xC7, 0xD3, 0xA0, 0xC1, 0xD2, 0xC5, 0xA0, 0xA4, + 0x29, 0x46, 0xD0, 0x01, 0x0D, 0x08, 0x02, 0x61, + 0x28, 0xC1, 0xC7, 0xC1, 0xC9, 0xCE, 0x29, 0x47, + 0x01, 0x07, 0x12, 0x02, 0x52, 0xC1, 0x40, 0x01, + 0x0F, 0x1C, 0x02, 0x60, 0xC1, 0x40, 0x39, 0x28, + 0xD9, 0x29, 0x24, 0xB1, 0xA0, 0x00, 0x01, 0x05, + 0x26, 0x02, 0x63, 0x01, 0x0E, 0x30, 0x02, 0x60, + 0xD0, 0x1C, 0xB0, 0x00, 0x00, 0x24, 0xB6, 0x9E, + 0x02, 0x01, 0x0E, 0x3A, 0x02, 0x60, 0xD0, 0x16, + 0xB0, 0x00, 0x00, 0x24, 0xB6, 0xB2, 0x02, 0x01, + 0x0E, 0x44, 0x02, 0x60, 0xD0, 0x19, 0xB0, 0x00, + 0x00, 0x24, 0xB7, 0xC6, 0x02, 0x01, 0x08, 0x4E, + 0x02, 0x5F, 0xB1, 0x46, 0x05, 0x01, 0x0C, 0x58, + 0x02, 0x60, 0xD9, 0x16, 0xDA, 0x24, 0xB7, 0xDA, + 0x02, 0x01, 0x0E, 0x62, 0x02, 0x60, 0xD9, 0x16, + 0xB1, 0x01, 0x00, 0x24, 0xB8, 0x34, 0x03, 0x01, + 0x08, 0x6C, 0x02, 0x5F, 0xB1, 0x3D, 0x05, 0x01, + 0x0E, 0x76, 0x02, 0x60, 0xDA, 0x16, 0xB1, 0x01, + 0x00, 0x24, 0xB8, 0x34, 0x03, 0x01, 0x08, 0x80, + 0x02, 0x5F, 0xB4, 0xD6, 0x01, 0x01, 0x0E, 0x8A, + 0x02, 0x60, 0xDA, 0x16, 0xB1, 0x01, 0x00, 0x24, + 0xB8, 0x34, 0x03, 0x01, 0x08, 0x94, 0x02, 0x5F, + 0xB1, 0x3D, 0x05, 0x01, 0x36, 0x9E, 0x02, 0x61, + 0x28, 0xD0, 0xC1, 0xD9, 0xA0, 0xD5, 0xD0, 0xA1, + 0xA0, 0xD0, 0xCC, 0xC5, 0xC1, 0xD3, 0xC5, 0xA0, + 0xCC, 0xC5, 0xC1, 0xD6, 0xC5, 0xA0, 0xD9, 0xCF, + 0xD5, 0xD2, 0xA0, 0xCD, 0xCF, 0xCE, 0xC5, 0xD9, + 0xA0, 0xCF, 0xCE, 0xA0, 0xD4, 0xC8, 0xC5, 0xA0, + 0xD4, 0xC5, 0xD2, 0xCD, 0xC9, 0xCE, 0xC1, 0xCC, + 0x29, 0x01, 0x08, 0xA8, 0x02, 0x5F, 0xB1, 0x46, + 0x05, 0x01, 0x1B, 0xB2, 0x02, 0x61, 0x28, 0xC8, + 0xC5, 0xD9, 0xAC, 0xA0, 0xD9, 0xCF, 0xD5, 0xA0, + 0xC2, 0xD2, 0xCF, 0xCB, 0xC5, 0xA0, 0xC5, 0xD6, + 0xC5, 0xCE, 0xAE, 0x29, 0x01, 0x08, 0xBC, 0x02, + 0x5F, 0xB1, 0x46, 0x05, 0x01, 0x2E, 0xC6, 0x02, + 0x61, 0x28, 0xC3, 0xCF, 0xCC, 0xCC, 0xC5, 0xC3, + 0xD4, 0xA0, 0xD9, 0xCF, 0xD5, 0xD2, 0xA0, 0xD7, + 0xC9, 0xCE, 0xCE, 0xC9, 0xCE, 0xC7, 0xD3, 0xA0, + 0xC6, 0xD2, 0xCF, 0xCD, 0xA0, 0xD4, 0xC8, 0xC5, + 0xA0, 0xC3, 0xC1, 0xD3, 0xC8, 0xC9, 0xC5, 0xD2, + 0xAE, 0x29, 0x01, 0x08, 0xD0, 0x02, 0x5F, 0xB1, + 0x46, 0x05, 0x01, 0x0E, 0xDA, 0x02, 0x60, 0xDA, + 0x16, 0xB1, 0x01, 0x00, 0x24, 0xB7, 0x0C, 0x03, + 0x01, 0x17, 0xE4, 0x02, 0x63, 0x03, 0x61, 0x28, + 0xAA, 0xAA, 0xD4, 0xCF, 0xD0, 0xA0, 0xC4, 0xCF, + 0xCC, 0xCC, 0xC1, 0xD2, 0xAA, 0xAA, 0x29, 0x01, + 0x0F, 0xEE, 0x02, 0x61, 0x28, 0xD9, 0xCF, 0xD5, + 0xA0, 0xD7, 0xCF, 0xCE, 0xA1, 0x29, 0x01, 0x15, + 0xF8, 0x02, 0xD0, 0x71, 0x38, 0x38, 0x38, 0xB1, + 0x0A, 0x00, 0x14, 0xCD, 0x72, 0x12, 0xCD, 0x72, + 0x12, 0xD0, 0x72, 0x01, 0x08, 0x02, 0x03, 0x5F, + 0xB5, 0xFE, 0x01, 0x01, 0x16, 0x0C, 0x03, 0x63, + 0x03, 0x61, 0x28, 0xAA, 0xAA, 0xAA, 0xCA, 0xC1, + 0xC3, 0xCB, 0xD0, 0xCF, 0xD4, 0xAA, 0xAA, 0xAA, + 0x29, 0x01, 0x0F, 0x16, 0x03, 0x61, 0x28, 0xD9, + 0xCF, 0xD5, 0xA0, 0xD7, 0xCF, 0xCE, 0xA1, 0x29, + 0x01, 0x15, 0x20, 0x03, 0xD0, 0x71, 0x38, 0x38, + 0x38, 0xB1, 0x64, 0x00, 0x14, 0xCD, 0x72, 0x12, + 0xCD, 0x72, 0x12, 0xD0, 0x72, 0x01, 0x08, 0x2A, + 0x03, 0x5F, 0xB5, 0xFE, 0x01, 0x01, 0x15, 0x34, + 0x03, 0x63, 0x03, 0x61, 0x28, 0xAA, 0xC4, 0xCF, + 0xD5, 0xC2, 0xCC, 0xC5, 0xA0, 0xC2, 0xC1, 0xD2, + 0xAA, 0x29, 0x01, 0x0F, 0x3E, 0x03, 0x61, 0x28, + 0xD9, 0xCF, 0xD5, 0xA0, 0xD7, 0xCF, 0xCE, 0xA1, + 0x29, 0x01, 0x15, 0x48, 0x03, 0xD0, 0x71, 0x38, + 0x38, 0x38, 0xB5, 0x05, 0x00, 0x14, 0xCD, 0x72, + 0x12, 0xCD, 0x72, 0x12, 0xD0, 0x72, 0x01, 0x08, + 0x52, 0x03, 0x5F, 0xB5, 0xFE, 0x01, 0x01, 0x1C, + 0x5C, 0x03, 0x61, 0x28, 0xC8, 0xCF, 0xD5, 0xD3, + 0xC5, 0xA0, 0xCC, 0xC9, 0xCD, 0xC9, 0xD4, 0xD3, + 0xA0, 0xC1, 0xD2, 0xC5, 0xA0, 0xA4, 0xB1, 0xB0, + 0xB0, 0x29, 0x01, 0x08, 0x66, 0x03, 0x5F, 0xB1, + 0xA0, 0x00, 0x01, 0x18, 0x70, 0x03, 0x61, 0x28, + 0xCD, 0xC9, 0xCE, 0xC9, 0xCD, 0xD5, 0xCD, 0xA0, + 0xC2, 0xC5, 0xD4, 0xA0, 0xC9, 0xD3, 0xA0, 0xA4, + 0xB1, 0x29, 0x01, 0x08, 0x7A, 0x03, 0x5F, 0xB1, + 0xA0, 0x00, 0x01, 0x08, 0x84, 0x03, 0x5F, 0xB2, + 0xDC, 0x00, 0x01, 0x10, 0x8E, 0x03, 0x61, 0x28, + 0xC2, 0xC1, 0xD2, 0x29, 0x47, 0x03, 0x5C, 0xB1, + 0x1E, 0x05, 0x01, 0x08, 0x98, 0x03, 0x5F, 0xB3, + 0x4A, 0x01, 0x01, 0x11, 0xA2, 0x03, 0x61, 0x28, + 0xC2, 0xC5, 0xCC, 0xCC, 0x29, 0x47, 0x03, 0x5C, + 0xB1, 0x1E, 0x05, 0x01, 0x08, 0xAC, 0x03, 0x5F, + 0xB3, 0x4A, 0x01, 0x01, 0x13, 0xB6, 0x03, 0x61, + 0x28, 0xCF, 0xD2, 0xC1, 0xCE, 0xC7, 0xC5, 0x29, + 0x47, 0x03, 0x5C, 0xB1, 0x1E, 0x05, 0x01, 0x08, + 0xC0, 0x03, 0x5F, 0xB3, 0x4A, 0x01, 0x01, 0x12, + 0xCA, 0x03, 0x61, 0x28, 0xCC, 0xC5, 0xCD, 0xCF, + 0xCE, 0x29, 0x47, 0x03, 0x5C, 0xB1, 0x1E, 0x05, + 0x01, 0x08, 0xD4, 0x03, 0x5F, 0xB3, 0x4A, 0x01, + 0x01, 0x11, 0xDE, 0x03, 0x61, 0x28, 0xD0, 0xCC, + 0xD5, 0xCD, 0x29, 0x47, 0x03, 0x5C, 0xB1, 0x1E, + 0x05, 0x01, 0x08, 0xE8, 0x03, 0x5F, 0xB3, 0x4A, + 0x01, 0x01, 0x13, 0xF2, 0x03, 0x61, 0x28, 0xC3, + 0xC8, 0xC5, 0xD2, 0xD2, 0xD9, 0x29, 0x47, 0x03, + 0x5C, 0xB1, 0x1E, 0x05, 0x01, 0x08, 0xFC, 0x03, + 0x5F, 0xB3, 0x4A, 0x01, 0x01, 0x11, 0x06, 0x04, + 0x61, 0x28, 0xA0, 0xC2, 0xC1, 0xD2, 0x29, 0x47, + 0x03, 0x5C, 0xB1, 0x1E, 0x05, 0x01, 0x08, 0x10, + 0x04, 0x5F, 0xB3, 0x86, 0x01, 0x01, 0x12, 0x1A, + 0x04, 0x61, 0x28, 0xA0, 0xC2, 0xC5, 0xCC, 0xCC, + 0x29, 0x47, 0x03, 0x5C, 0xB1, 0x1E, 0x05, 0x01, + 0x08, 0x24, 0x04, 0x5F, 0xB3, 0x86, 0x01, 0x01, + 0x0F, 0x2E, 0x04, 0x61, 0x28, 0xA0, 0xCF, 0xD2, + 0xC1, 0xCE, 0xC7, 0xC5, 0x29, 0x47, 0x01, 0x08, + 0x38, 0x04, 0x5F, 0xB3, 0x86, 0x01, 0x01, 0x0E, + 0x42, 0x04, 0x61, 0x28, 0xA0, 0xCC, 0xC5, 0xCD, + 0xCF, 0xCE, 0x29, 0x47, 0x01, 0x08, 0x4C, 0x04, + 0x5F, 0xB3, 0x86, 0x01, 0x01, 0x0D, 0x56, 0x04, + 0x61, 0x28, 0xA0, 0xD0, 0xCC, 0xD5, 0xCD, 0x29, + 0x47, 0x01, 0x08, 0x60, 0x04, 0x5F, 0xB3, 0x86, + 0x01, 0x01, 0x0F, 0x6A, 0x04, 0x61, 0x28, 0xA0, + 0xC3, 0xC8, 0xC5, 0xD2, 0xD2, 0xD9, 0x29, 0x47, + 0x01, 0x08, 0x74, 0x04, 0x5F, 0xB3, 0x86, 0x01, + 0x01, 0x0B, 0x7E, 0x04, 0x61, 0x28, 0xA0, 0xC2, + 0xC1, 0xD2, 0x29, 0x01, 0x08, 0x88, 0x04, 0x5F, + 0xB4, 0xC2, 0x01, 0x01, 0x0C, 0x92, 0x04, 0x61, + 0x28, 0xA0, 0xC2, 0xC5, 0xCC, 0xCC, 0x29, 0x01, + 0x08, 0x9C, 0x04, 0x5F, 0xB4, 0xC2, 0x01, 0x01, + 0x0E, 0xA6, 0x04, 0x61, 0x28, 0xA0, 0xCF, 0xD2, + 0xC1, 0xCE, 0xC7, 0xC5, 0x29, 0x01, 0x08, 0xB0, + 0x04, 0x5F, 0xB4, 0xC2, 0x01, 0x01, 0x0D, 0xBA, + 0x04, 0x61, 0x28, 0xA0, 0xCC, 0xC5, 0xCD, 0xCF, + 0xCE, 0x29, 0x01, 0x08, 0xC4, 0x04, 0x5F, 0xB4, + 0xC2, 0x01, 0x01, 0x0C, 0xCE, 0x04, 0x61, 0x28, + 0xA0, 0xD0, 0xCC, 0xD5, 0xCD, 0x29, 0x01, 0x08, + 0xD8, 0x04, 0x5F, 0xB4, 0xC2, 0x01, 0x01, 0x0E, + 0xE2, 0x04, 0x61, 0x28, 0xA0, 0xC3, 0xC8, 0xC5, + 0xD2, 0xD2, 0xD9, 0x29, 0x01, 0x08, 0xEC, 0x04, + 0x5F, 0xB4, 0xC2, 0x01, 0x01, 0x0F, 0xF6, 0x04, + 0x55, 0xD1, 0xB1, 0x56, 0xB1, 0x01, 0x00, 0x57, + 0xB1, 0x0A, 0x00, 0x01, 0x1B, 0x00, 0x05, 0x5D, + 0xA0, 0xD0, 0xD2, 0xC9, 0xCE, 0xD4, 0xA0, 0xC3, + 0xC8, 0xD2, 0xA4, 0xA8, 0xB7, 0xA9, 0xBB, 0xA0, + 0xA0, 0xA0, 0xC2, 0xC5, 0xCC, 0xCC, 0x01, 0x07, + 0x0A, 0x05, 0x59, 0xD1, 0xB1, 0x01, 0x05, 0x14, + 0x05, 0x5B, 0x01, 0x0F, 0x1E, 0x05, 0x55, 0xD4, + 0xB1, 0x56, 0xB1, 0x01, 0x00, 0x57, 0xB5, 0x05, + 0x00, 0x01, 0x1B, 0x28, 0x05, 0x5D, 0xA0, 0xD0, + 0xD2, 0xC9, 0xCE, 0xD4, 0xA0, 0xC3, 0xC8, 0xD2, + 0xA4, 0xA8, 0xB7, 0xA9, 0xBB, 0xA0, 0xA0, 0xA0, + 0xC2, 0xC5, 0xCC, 0xCC, 0x01, 0x07, 0x32, 0x05, + 0x59, 0xD4, 0xB1, 0x01, 0x05, 0x3C, 0x05, 0x5B, + 0x01, 0x11, 0x3D, 0x05, 0x63, 0x03, 0x61, 0x28, + 0xC4, 0xCF, 0xD5, 0xC2, 0xCC, 0xC5, 0xA1, 0xA1, + 0x29, 0x01, 0x0F, 0x3E, 0x05, 0x61, 0x28, 0xD9, + 0xCF, 0xD5, 0xA0, 0xD7, 0xCF, 0xCE, 0xA1, 0x29, + 0x01, 0x15, 0x3F, 0x05, 0xD0, 0x71, 0x38, 0x38, + 0x38, 0xB2, 0x02, 0x00, 0x14, 0xCD, 0x72, 0x12, + 0xCD, 0x72, 0x12, 0xD0, 0x72, 0x01, 0x08, 0x40, + 0x05, 0x5F, 0xB5, 0xFE, 0x01, 0x01, 0x05, 0x46, + 0x05, 0x51, 0x01, 0x05, 0x0F, 0x27, 0x51, 0x01 + ]] +}; diff --git a/tapes/startrek.js b/tapes/startrek.js new file mode 100644 index 0000000..e3a7fa0 --- /dev/null +++ b/tapes/startrek.js @@ -0,0 +1,455 @@ +/* +C100R +004A.00FFR 0300.0FFFR +E2B3R +RUN +*/ + +/*globals tapes: true */ + +tapes['Star Trek'] = { + script: 'C100R\n004A.00FFR 0300.0FFFR\nE2B3R\nRUN\n', + tracks: [[ // 004A.00FF + 0x00,0x03,0x00,0x10,0x3A,0xCC, + 0x05,0xBF,0xFD,0xBF,0xBF,0xBF,0xF8,0xF8, + 0xBF,0xB7,0x7F,0xBF,0xBF,0xB7,0xFF,0x21, + 0xF7,0xBF,0x3F,0x3F,0x3F,0xBF,0x77,0x10, + 0x60,0x3C,0x02,0x0A,0x01,0xFB,0x01,0x3B, + 0xED,0xED,0xED,0xED,0xED,0xEC,0xEC,0xEC, + 0xFF,0xF7,0xB7,0xF7,0xFF,0xB7,0xFF,0x35, + 0x17,0x7F,0xF7,0xF7,0xBD,0xB7,0xDF,0xF7, + 0xB7,0xB7,0xF7,0xF7,0xAE,0xA0,0xD0,0x00, + 0x08,0x08,0x00,0x00,0x05,0x00,0x09,0x03, + 0x59,0x7D,0x82,0x7D,0x80,0x53,0x5B,0x61, + 0x77,0x37,0xF7,0x75,0x35,0x77,0xF1,0x37, + 0x77,0x57,0xF7,0x71,0xCD,0xF7,0xF7,0xB7, + 0xFF,0x97,0xB7,0x97,0xB2,0xB7,0xB7,0x00, + 0xF6,0xF7,0x00,0x00,0x00,0xFF,0x00,0x00, + 0x21,0x08,0x07,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0x02,0x30,0x04,0x2D,0x04,0x1F,0xFA, + 0x37,0x03,0x2D,0x04,0x00,0xFF,0x03,0x02, + 0x20,0xFE,0x2B,0x05,0x25,0x05,0xFF,0xF7, + 0x37,0x05,0x30,0x04,0x25,0x05,0x54,0x05, + 0x65,0x64,0x0E,0x0C,0x03,0x00,0x00,0x00, + 0x00,0x00,0x63,0x00,0x77,0x75,0xF7,0x25, + 0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0xFF + ], + [ // 0300.0FFF + 0x86,0x40,0x0B,0x03,0xA0,0xAD,0xAD,0xAD, + 0x1E,0xAD,0x1E,0x88,0x40,0x1F,0x03,0xA0, + 0xA0,0xA0,0xA0,0xAA,0xA0,0xBE,0xA1,0xBC, + 0xAB,0xAB,0xAB,0xBC,0xAA,0xBE,0x1E,0xA2, + 0x00,0x25,0x03,0x80,0x02,0xA6,0x00,0x2B, + 0x03,0xC0,0x02,0xA4,0x00,0x31,0x03,0x07, + 0x00,0x94,0x00,0x37,0x03,0x09,0x00,0x86, + 0x00,0x3D,0x03,0x63,0x00,0x84,0x00,0x43, + 0x03,0xC0,0x02,0x96,0x00,0x49,0x03,0x02, + 0x00,0xA6,0xB1,0x4F,0x03,0x02,0x00,0x9C, + 0x00,0x55,0x03,0x08,0x00,0xAC,0x00,0x5B, + 0x03,0x02,0x00,0x98,0x00,0x61,0x03,0x03, + 0x00,0x92,0x00,0x67,0x03,0x3A,0x00,0xA0, + 0x00,0x6D,0x03,0x01,0x00,0x84,0xB1,0x73, + 0x03,0x02,0x00,0x96,0xB1,0x79,0x03,0x03, + 0x00,0xA8,0x00,0x7F,0x03,0x06,0x00,0x8A, + 0xB1,0x85,0x03,0x78,0x00,0x8A,0xB2,0x8B, + 0x03,0x01,0x00,0x8A,0xB0,0x91,0x03,0x12, + 0x02,0xB2,0xB0,0x97,0x03,0x08,0x00,0xB0, + 0xB0,0x9D,0x03,0x12,0x00,0xB2,0xB1,0xA3, + 0x03,0x01,0x00,0xB0,0xB1,0xA9,0x03,0x02, + 0x00,0xB2,0xB2,0xAF,0x03,0x00,0x00,0xB0, + 0xB2,0xB5,0x03,0x02,0x00,0xA2,0xB0,0xBB, + 0x03,0x0A,0x00,0xA6,0xB0,0xC1,0x03,0x02, + 0x00,0xB0,0xB5,0xC7,0x03,0x02,0x00,0xB2, + 0xB5,0xCD,0x03,0x07,0x00,0xA2,0xB9,0xD3, + 0x03,0x07,0x00,0x86,0xB9,0xD9,0x03,0x01, + 0x00,0xA6,0xB2,0xDF,0x03,0x01,0x00,0x96, + 0xB2,0xE5,0x03,0x00,0x00,0x84,0xB2,0xEB, + 0x03,0x00,0x00,0x96,0xB5,0xF1,0x03,0xC1, + 0xFF,0xB2,0xB6,0xF7,0x03,0x07,0x00,0xB0, + 0xB6,0xFD,0x03,0x02,0x00,0x84,0xB8,0x03, + 0x04,0x00,0x00,0x96,0xB8,0x09,0x04,0x00, + 0x00,0xB2,0x00,0x0F,0x04,0xFF,0xFF,0x8C, + 0xB2,0x15,0x04,0x00,0x00,0xB0,0x00,0x1B, + 0x04,0x08,0x00,0x8C,0xB1,0x21,0x04,0x00, + 0x00,0xA2,0xB1,0x27,0x04,0x0B,0x00,0x94, + 0xB5,0x2D,0x04,0x02,0x00,0x0A,0x00,0x4E, + 0x14,0x0A,0x00,0x4E,0xC3,0x40,0x22,0xB6, + 0x06,0x00,0x72,0x43,0xC4,0x40,0x22,0xB1, + 0x0F,0x00,0x72,0x01,0x24,0x14,0x00,0xD1, + 0x71,0xB6,0x80,0x02,0x03,0xD3,0x71,0xB7, + 0xC0,0x02,0x03,0xC4,0x40,0x70,0x28,0xA0, + 0xA0,0xA0,0xA0,0xAA,0xA0,0xBE,0xA1,0xBC, + 0xAB,0xAB,0xAB,0xBC,0xAA,0xBE,0x29,0x01, + 0x17,0x1E,0x00,0x53,0x28,0xD4,0xD9,0xD0, + 0xC5,0xA0,0xC1,0xA0,0xCE,0xD5,0xCD,0xC2, + 0xC5,0xD2,0xA0,0x29,0x27,0xD2,0x01,0x18, + 0x28,0x00,0x55,0xCA,0x56,0xB1,0x01,0x00, + 0x57,0xD2,0x03,0xC3,0x71,0x2F,0x3F,0xB2, + 0x00,0x01,0x72,0x03,0x59,0xCA,0x01,0x0C, + 0x32,0x00,0xC2,0x71,0xD1,0x03,0x5C,0xB1, + 0x4C,0x04,0x01,0x20,0x3C,0x00,0xD3,0xB1, + 0x71,0xB7,0x4B,0x00,0x03,0xCE,0x71,0xD3, + 0xB1,0x03,0xD6,0x71,0xB1,0x01,0x00,0x03, + 0xCC,0x71,0xB1,0x0A,0x00,0x03,0x5C,0xB1, + 0xB0,0x04,0x01,0x20,0x46,0x00,0xC2,0xB1, + 0x71,0xB2,0x02,0x00,0x03,0xCE,0x71,0xC2, + 0xB1,0x03,0xD6,0x71,0xB1,0x0A,0x00,0x03, + 0xCC,0x71,0xB2,0x14,0x00,0x03,0x5C,0xB1, + 0xB0,0x04,0x01,0x20,0x50,0x00,0xCB,0xB1, + 0x71,0xB7,0x07,0x00,0x03,0xCE,0x71,0xCB, + 0xB1,0x03,0xD6,0x71,0xB2,0x14,0x00,0x03, + 0xCC,0x71,0xB4,0x28,0x00,0x03,0x5C,0xB1, + 0xB0,0x04,0x01,0x22,0x5A,0x00,0xD4,0x71, + 0xB1,0x0F,0x00,0x03,0x5C,0xB1,0x14,0x05, + 0x03,0xC5,0xB0,0x71,0x2F,0x3F,0xB4,0x00, + 0x10,0x72,0x03,0x5C,0xB1,0x78,0x05,0x03, + 0x5C,0xB1,0xE8,0x03,0x01,0x2F,0x6E,0x00, + 0x63,0x03,0x53,0x28,0xC3,0xCF,0xCD,0xCD, + 0xC1,0xCE,0xC4,0xA0,0x29,0x27,0xC3,0x03, + 0x60,0xC3,0x1C,0xB0,0x00,0x00,0x1E,0xC3, + 0x19,0xB5,0x05,0x00,0x24,0xB1,0x6E,0x00, + 0x03,0x5F,0xB1,0x64,0x00,0x14,0xC3,0x12, + 0xB2,0xC8,0x00,0x01,0x32,0xC8,0x00,0x53, + 0x28,0xD6,0xC5,0xC3,0xD4,0xCF,0xD2,0xA0, + 0x29,0x27,0xD8,0x27,0xD9,0x03,0xD8,0xB0, + 0x71,0xD8,0xB0,0x12,0xD8,0x03,0xD9,0xB0, + 0x71,0xD9,0xB0,0x12,0xD9,0x03,0xC5,0xB1, + 0x71,0xC5,0xB1,0x13,0x31,0x3F,0xD8,0x72, + 0x13,0x31,0x3F,0xD9,0x72,0x01,0x24,0xD2, + 0x00,0x60,0xD8,0xB0,0x1C,0xB0,0x00,0x00, + 0x1E,0xD8,0xB0,0x19,0xB6,0x3F,0x00,0x1E, + 0xD9,0xB0,0x1C,0xB0,0x00,0x00,0x1E,0xD9, + 0xB0,0x19,0xB6,0x3F,0x00,0x24,0xB2,0xFA, + 0x00,0x01,0x2D,0xDC,0x00,0xC5,0xB0,0x71, + 0xC5,0xB0,0x12,0xD8,0x12,0xB6,0x40,0x00, + 0x14,0xD9,0x03,0xD1,0xB1,0x71,0xD1,0xB0, + 0x03,0xD3,0xB1,0x71,0xD3,0xB0,0x03,0x5C, + 0xB1,0x78,0x05,0x03,0x60,0xD1,0xB0,0x16, + 0xD1,0xB1,0x24,0xB2,0xFF,0x00,0x01,0x2A, + 0xE6,0x00,0xC5,0xB1,0x71,0xC5,0xB1,0x13, + 0xB2,0x19,0x00,0x03,0xD4,0x71,0xD4,0x13, + 0xB1,0x01,0x00,0x03,0x5C,0xB1,0xE8,0x03, + 0x03,0x5C,0xB1,0x78,0x05,0x03,0x60,0xD4, + 0x18,0xB0,0x00,0x00,0x24,0xB2,0x04,0x01, + 0x01,0x12,0xF0,0x00,0xC3,0x40,0x70,0x28, + 0xD4,0xC9,0xCD,0xC5,0x29,0x03,0x5F,0xB9, + 0xD4,0x03,0x01,0x14,0xFA,0x00,0xC3,0x40, + 0x70,0x28,0xC7,0xC1,0xCC,0xC1,0xD8,0xD9, + 0x29,0x03,0x5F,0xB9,0xD4,0x03,0x01,0x12, + 0xFF,0x00,0x64,0xD3,0x12,0xD3,0xB1,0x65, + 0xB0,0x00,0x00,0x03,0x5C,0xB1,0x1A,0x04, + 0x01,0x2F,0x04,0x01,0x5C,0xB1,0x08,0x07, + 0x03,0x60,0xC2,0xB2,0x16,0xB0,0x00,0x00, + 0x24,0xB2,0x22,0x01,0x03,0x60,0x31,0x3F, + 0xD8,0xB6,0x13,0xD8,0xB2,0x72,0x12,0x31, + 0x3F,0xD9,0xB6,0x13,0xD9,0xB2,0x72,0x17, + 0xB1,0x01,0x00,0x24,0xB2,0x22,0x01,0x01, + 0x27,0x0E,0x01,0x61,0x28,0xAD,0xA0,0xC4, + 0xCF,0xC3,0xCB,0xC5,0xC4,0xA0,0xAD,0x29, + 0x03,0x5C,0xB1,0x14,0x05,0x03,0xC2,0xB1, + 0x71,0xC2,0xB1,0x13,0xB1,0x01,0x00,0x03, + 0xC2,0xB2,0x71,0xB0,0x00,0x00,0x01,0x2B, + 0x18,0x01,0x64,0xD1,0x12,0xD1,0xB0,0x65, + 0x2E,0x3F,0xD1,0x12,0xD1,0xB0,0x72,0x13, + 0xB1,0x0A,0x00,0x03,0x64,0xD3,0x12,0xD8, + 0xB6,0x12,0xB8,0x08,0x00,0x14,0xD9,0xB6, + 0x65,0xB0,0x00,0x00,0x03,0x5F,0xB1,0x6E, + 0x00,0x01,0x15,0x22,0x01,0x60,0xCB,0xB2, + 0x17,0xB0,0x00,0x00,0x25,0x5C,0xB5,0x26, + 0x02,0x03,0x5F,0xB1,0x6E,0x00,0x01,0x1D, + 0x2C,0x01,0xC3,0x40,0x70,0x28,0xD3,0xC8, + 0xCF,0xD2,0xD4,0x29,0x03,0x5C,0xB3,0x5E, + 0x01,0x03,0x5C,0xB2,0xD0,0x07,0x03,0x5F, + 0xB1,0x6E,0x00,0x01,0x23,0x5E,0x01,0x61, + 0xC3,0x40,0x45,0x28,0xA0,0xD2,0xC1,0xCE, + 0xC7,0xC5,0xA0,0xD3,0xC5,0xCE,0xD3,0xCF, + 0xD2,0xA0,0xD3,0xC3,0xC1,0xCE,0x29,0x03, + 0x5C,0xB3,0x68,0x01,0x03,0x5B,0x01,0x20, + 0x68,0x01,0x61,0x28,0xC6,0xCF,0xD2,0xA0, + 0xD1,0xD5,0xC1,0xC4,0xD2,0xC1,0xCE,0xD4, + 0xA0,0x29,0x46,0xD8,0xB1,0x45,0x28,0xAC, + 0x29,0x46,0xD9,0xB1,0x03,0x5B,0x01,0x1D, + 0x90,0x01,0xC3,0x40,0x70,0x28,0xCC,0xCF, + 0xCE,0xC7,0x29,0x03,0x5C,0xB3,0x5E,0x01, + 0x03,0xCE,0x71,0xB3,0x03,0x00,0x03,0x5C, + 0xB8,0x70,0x03,0x01,0x3E,0x9A,0x01,0x55, + 0xD9,0x56,0xD9,0xB1,0x12,0xB1,0x01,0x00, + 0x57,0xD9,0xB1,0x13,0xB1,0x01,0x00,0x58, + 0x36,0xB1,0x01,0x00,0x03,0xC6,0xB2,0x71, + 0xB0,0x00,0x00,0x03,0x60,0xD9,0x1C,0xB0, + 0x00,0x00,0x1E,0xD9,0x19,0xB7,0x07,0x00, + 0x25,0xC6,0xB2,0x71,0xB1,0x01,0x00,0x03, + 0x5C,0xB4,0xD6,0x01,0x03,0x5C,0xB4,0xE0, + 0x01,0x01,0x2F,0xA4,0x01,0x55,0xD8,0x56, + 0xD8,0xB1,0x13,0xB1,0x01,0x00,0x57,0xD8, + 0xB1,0x12,0xB1,0x01,0x00,0x03,0xC6,0xB1, + 0x71,0xB0,0x00,0x00,0x03,0x60,0xD8,0x1C, + 0xB0,0x00,0x00,0x1E,0xD8,0x19,0xB7,0x07, + 0x00,0x25,0xC6,0xB1,0x71,0xB1,0x01,0x00, + 0x01,0x20,0xAE,0x01,0x60,0xC6,0xB1,0x16, + 0xB0,0x00,0x00,0x1D,0xC6,0xB2,0x16,0xB0, + 0x00,0x00,0x24,0xB4,0xB8,0x01,0x03,0x61, + 0xC3,0x40,0x47,0x03,0x5F,0xB4,0xCC,0x01, + 0x01,0x34,0xB8,0x01,0xD1,0xB9,0x71,0xD8, + 0x12,0xB8,0x08,0x00,0x14,0xD9,0x03,0x5C, + 0xB1,0xDC,0x05,0x03,0x64,0xD1,0x12,0xD1, + 0xB9,0x65,0xC3,0xB9,0x12,0xB4,0x28,0x00, + 0x03,0x61,0x28,0xA1,0xA0,0x29,0x46,0xCB, + 0xB2,0x46,0xC2,0xB2,0x46,0xD3,0xB2,0x45, + 0x28,0xA0,0x29,0x47,0x01,0x22,0xCC,0x01, + 0x59,0xD8,0x03,0x61,0x28,0xA1,0x29,0x03, + 0x5C,0xB4,0xE0,0x01,0x03,0x59,0xD9,0x03, + 0x5C,0xB4,0xD6,0x01,0x03,0x5C,0xB8,0x7A, + 0x03,0x03,0x5F,0xB1,0x6E,0x00,0x01,0x16, + 0xD6,0x01,0xC3,0x40,0x70,0x28,0xAB,0xAD, + 0xAD,0xAD,0xAD,0xAD,0x29,0x03,0x5C,0xB1, + 0x40,0x06,0x03,0x5B,0x01,0x16,0xE0,0x01, + 0xC3,0x40,0x70,0x28,0xA1,0xA0,0xA0,0xA0, + 0xA0,0xA0,0x29,0x03,0x5C,0xB1,0x40,0x06, + 0x03,0x5B,0x01,0x39,0xF4,0x01,0x60,0xCB, + 0xB2,0x16,0xB0,0x00,0x00,0x24,0xB6,0xB2, + 0x02,0x03,0x5C,0xB7,0x16,0x03,0x03,0x61, + 0x28,0xC5,0xCE,0xC5,0xD2,0xC7,0xD9,0xBA, + 0xA0,0x29,0x46,0xC5,0xB1,0x03,0x53,0x28, + 0xC6,0xC9,0xD2,0xC5,0xA0,0x29,0x27,0xC3, + 0x03,0x60,0xC3,0x1C,0xB1,0x01,0x00,0x24, + 0xB1,0x6E,0x00,0x01,0x36,0x08,0x02,0xC5, + 0xB1,0x71,0xC5,0xB1,0x13,0xC3,0x03,0x5C, + 0xB1,0x08,0x07,0x03,0xCB,0xB5,0x71,0xCB, + 0xB5,0x13,0xC3,0x13,0x38,0xD2,0x14,0xB9, + 0x09,0x00,0x72,0x03,0x60,0xCB,0xB5,0x19, + 0xB0,0x00,0x00,0x24,0xB5,0x12,0x02,0x03, + 0x5C,0xB1,0x6C,0x07,0x03,0x5F,0xB1,0x6E, + 0x00,0x01,0x0D,0x12,0x02,0x5C,0xB5,0x26, + 0x02,0x03,0x5F,0xB5,0xF4,0x01,0x01,0x48, + 0x26,0x02,0xCA,0xB5,0x71,0xCB,0xB5,0x15, + 0xB5,0x05,0x00,0x03,0xCB,0xB5,0x71,0xCB, + 0xB5,0x13,0xCA,0xB5,0x03,0xC5,0xB1,0x71, + 0xC5,0xB1,0x13,0xCA,0xB5,0x15,0xD2,0x03, + 0x62,0xCA,0xB5,0x15,0xD2,0x45,0x28,0xA0, + 0xD5,0xCE,0xC9,0xD4,0xD3,0xA0,0xCF,0xC6, + 0xA0,0xD0,0xC8,0xC1,0xD3,0xC5,0xD2,0xA0, + 0xC4,0xC1,0xCD,0xC1,0xC7,0xC5,0x29,0x03, + 0x5C,0xB1,0x08,0x07,0x03,0x5B,0x01,0x35, + 0x58,0x02,0x60,0xCB,0xB2,0x16,0xB0,0x00, + 0x00,0x24,0xB6,0xB2,0x02,0x03,0x60,0xC5, + 0xB2,0x17,0xB0,0x00,0x00,0x24,0xB6,0x62, + 0x02,0x03,0x61,0x28,0xCE,0xCF,0xA0,0xCD, + 0xCF,0xD2,0xC5,0xA0,0xD4,0xCF,0xD2,0xD0, + 0xC5,0xC4,0xCF,0xC5,0xD3,0x29,0x03,0x5F, + 0xB1,0x6E,0x00,0x01,0x25,0x62,0x02,0xC5, + 0xB2,0x71,0xC5,0xB2,0x13,0xB1,0x01,0x00, + 0x03,0x60,0xD2,0x19,0x2F,0x3F,0xB1,0x0F, + 0x00,0x72,0x24,0xB6,0x80,0x02,0x03,0x5C, + 0xB1,0x6C,0x07,0x03,0x5F,0xB1,0x6E,0x00, + 0x01,0x1C,0x80,0x02,0x61,0x28,0xD9,0xCF, + 0xD5,0xA0,0xCD,0xC9,0xD3,0xD3,0xC5,0xC4, + 0xA1,0x29,0x03,0x5C,0xB5,0x26,0x02,0x03, + 0x5F,0xB1,0x6E,0x00,0x01,0x20,0xB2,0x02, + 0x61,0x28,0xCE,0xCF,0xD4,0xC8,0xC9,0xCE, + 0xC7,0xA0,0xD4,0xCF,0xA0,0xD3,0xC8,0xCF, + 0xCF,0xD4,0xA0,0xC1,0xD4,0xA1,0x29,0x03, + 0x5F,0xB1,0x6E,0x00,0x01,0x25,0xBC,0x02, + 0x53,0x28,0xC3,0xCF,0xCD,0xD0,0xD5,0xD4, + 0xC5,0xD2,0xA0,0xD2,0xC5,0xD1,0xD5,0xC5, + 0xD3,0xD4,0xA0,0x29,0x27,0xC3,0x03,0x60, + 0xC3,0x16,0xB0,0x00,0x00,0x24,0xB8,0x20, + 0x03,0x01,0x17,0xC6,0x02,0x61,0x28,0xD3, + 0xD4,0xC1,0xD4,0xD5,0xD3,0xA0,0xD2,0xC5, + 0xD0,0xCF,0xD2,0xD4,0xBA,0x29,0x03,0x63, + 0x01,0x19,0xD0,0x02,0x5C,0xB7,0x16,0x03, + 0x03,0x61,0x28,0xCB,0xCC,0xC9,0xCE,0xC7, + 0xCF,0xCE,0xD3,0xA0,0xBD,0x29,0x49,0xCB, + 0xB1,0x01,0x19,0xDA,0x02,0x5C,0xB7,0x16, + 0x03,0x03,0x61,0x28,0xD3,0xD4,0xC1,0xD2, + 0xC4,0xC1,0xD4,0xC5,0xD3,0xA0,0xBD,0x29, + 0x49,0xD4,0x01,0x1A,0xE4,0x02,0x5C,0xB7, + 0x16,0x03,0x03,0x61,0x28,0xD3,0xD4,0xC1, + 0xD2,0xC2,0xC1,0xD3,0xC5,0xD3,0xA0,0xBD, + 0x29,0x49,0xC2,0xB1,0x01,0x1A,0xEE,0x02, + 0x5C,0xB7,0x16,0x03,0x03,0x61,0x28,0xD4, + 0xCF,0xD2,0xD0,0xC5,0xC4,0xCF,0xC5,0xD3, + 0xA0,0xBD,0x29,0x49,0xC5,0xB2,0x01,0x17, + 0xF8,0x02,0x5C,0xB7,0x16,0x03,0x03,0x61, + 0x28,0xC5,0xCE,0xC5,0xD2,0xC7,0xD9,0xA0, + 0xBD,0x29,0x49,0xC5,0xB1,0x01,0x08,0x02, + 0x03,0x5F,0xB1,0x6E,0x00,0x01,0x14,0x16, + 0x03,0x61,0x28,0xD2,0xC5,0xCD,0xC1,0xC9, + 0xCE,0xC9,0xCE,0xC7,0xA0,0x29,0x47,0x03, + 0x5B,0x01,0x2F,0x20,0x03,0x61,0x28,0xA0, + 0xC7,0xC1,0xCC,0xC1,0xC3,0xD4,0xC9,0xC3, + 0xA0,0xCD,0xC1,0xD0,0x29,0x03,0x61,0x28, + 0xA0,0x29,0x47,0x03,0x5C,0xB3,0x68,0x01, + 0x03,0xC3,0x40,0x70,0x28,0xA0,0xAD,0xAD, + 0xAD,0x29,0x03,0xCE,0x71,0xB8,0x08,0x00, + 0x01,0x1D,0x2A,0x03,0x5C,0xB8,0x70,0x03, + 0x03,0x55,0xD9,0x56,0xB7,0x07,0x00,0x57, + 0xB0,0x00,0x00,0x58,0x36,0xB1,0x01,0x00, + 0x03,0x5C,0xB1,0x40,0x06,0x01,0x28,0x34, + 0x03,0x55,0xD8,0x56,0xB0,0x00,0x00,0x57, + 0xB7,0x07,0x00,0x03,0xD1,0xB9,0x71,0xD8, + 0x12,0xB8,0x08,0x00,0x14,0xD9,0x03,0x5C, + 0xB1,0xDC,0x05,0x03,0xD0,0x71,0x2E,0x3F, + 0xD1,0x12,0xD1,0xB9,0x72,0x01,0x1C,0x3E, + 0x03,0x60,0xD0,0x19,0xB3,0x27,0x00,0x24, + 0xB8,0x48,0x03,0x03,0x61,0x28,0xA0,0xA0, + 0xA0,0xA0,0x29,0x47,0x03,0x5F,0xB8,0x52, + 0x03,0x01,0x12,0x48,0x03,0x61,0x28,0xA0, + 0x29,0x46,0xCB,0xB2,0x46,0xC2,0xB2,0x46, + 0xD3,0xB2,0x47,0x01,0x08,0x52,0x03,0x59, + 0xD8,0x03,0x63,0x01,0x15,0x5C,0x03,0x59, + 0xD9,0x03,0x5C,0xB1,0x40,0x06,0x03,0x5C, + 0xB8,0x7A,0x03,0x03,0x5F,0xB1,0x6E,0x00, + 0x01,0x11,0x70,0x03,0xC2,0xB8,0x71,0xC2, + 0xB2,0x03,0xCB,0xB8,0x71,0xCB,0xB2,0x03, + 0x5B,0x01,0x11,0x7A,0x03,0xC2,0xB2,0x71, + 0xC2,0xB8,0x03,0xCB,0xB2,0x71,0xCB,0xB8, + 0x03,0x5B,0x01,0x1C,0xD4,0x03,0x63,0x03, + 0x61,0x28,0xAD,0xAD,0xA0,0xCF,0xD5,0xD4, + 0xA0,0xCF,0xC6,0xA0,0x29,0x45,0xC3,0x40, + 0x45,0x28,0xA0,0xAD,0xAD,0x29,0x01,0x21, + 0xDE,0x03,0x61,0x28,0xD9,0xCF,0xD5,0xA0, + 0xCC,0xC5,0xC6,0xD4,0xA0,0x29,0x46,0xCB, + 0xB1,0x45,0x28,0xA0,0xCB,0xCC,0xC9,0xCE, + 0xC7,0xCF,0xCE,0xD3,0x29,0x03,0x51,0x01, + 0x24,0xE8,0x03,0xC2,0x71,0xD3,0x03,0x5C, + 0xB1,0x4C,0x04,0x03,0xD1,0xB9,0x71,0xD1, + 0xB0,0x03,0x5C,0xB1,0xDC,0x05,0x03,0x64, + 0xD1,0x12,0xD1,0xB9,0x65,0xC3,0xB9,0x12, + 0xB4,0x28,0x00,0x01,0x19,0xF2,0x03,0xCE, + 0x71,0xD3,0xB2,0x03,0xD6,0x71,0xB1,0x01, + 0x00,0x03,0xCC,0x71,0xB2,0x02,0x00,0x03, + 0x5C,0xB1,0xB0,0x04,0x01,0x35,0xFC,0x03, + 0xCE,0x71,0xCB,0xB2,0x03,0xD6,0x71,0xB3, + 0x03,0x00,0x03,0xCC,0x71,0xB4,0x04,0x00, + 0x03,0x5C,0xB1,0xB0,0x04,0x03,0xCB,0xB5, + 0x71,0xB1,0x64,0x00,0x03,0xD9,0xB5,0x71, + 0xC9,0x15,0xB8,0x08,0x00,0x03,0xD8,0xB5, + 0x71,0xC9,0x13,0xB8,0x08,0x00,0x14,0xD9, + 0xB5,0x01,0x2E,0x06,0x04,0xCE,0x71,0xC2, + 0xB2,0x03,0xD6,0x71,0xB2,0x02,0x00,0x03, + 0xCC,0x71,0xB3,0x03,0x00,0x03,0x5C,0xB1, + 0xB0,0x04,0x03,0xD9,0xB6,0x71,0xC9,0x15, + 0xB8,0x08,0x00,0x03,0xD8,0xB6,0x71,0xC9, + 0x13,0xB8,0x08,0x00,0x14,0xD9,0xB6,0x01, + 0x4A,0x0B,0x04,0xC3,0x40,0x70,0x28,0xC7, + 0xD2,0xC5,0xC5,0xCE,0x29,0x03,0x60,0xCB, + 0xB2,0x17,0xB0,0x00,0x00,0x25,0xC3,0x40, + 0x70,0x28,0xD2,0xC5,0xC4,0xA1,0x29,0x03, + 0x63,0x03,0x61,0x28,0xD3,0xD4,0xC1,0xD2, + 0xC4,0xC1,0xD4,0xC5,0xBA,0xA0,0x29,0x46, + 0xB3,0xCE,0x0C,0x13,0xD4,0x45,0x28,0xAC, + 0xA0,0xA0,0xC3,0xCF,0xCE,0xC4,0xC9,0xD4, + 0xC9,0xCF,0xCE,0xBA,0xA0,0x29,0x45,0xC3, + 0x40,0x01,0x33,0x10,0x04,0x61,0x28,0xD1, + 0xD5,0xC1,0xC4,0xD2,0xC1,0xCE,0xD4,0xA0, + 0x29,0x46,0xD8,0xB1,0x45,0x28,0xAC,0x29, + 0x46,0xD9,0xB1,0x45,0x28,0xA0,0xA0,0xAD, + 0xA0,0xA0,0xD3,0xC5,0xC3,0xD4,0xCF,0xD2, + 0xA0,0x29,0x46,0xD8,0xB2,0x45,0x28,0xAC, + 0x29,0x46,0xD9,0xB2,0x01,0x20,0x1A,0x04, + 0xD0,0x71,0x2E,0x3F,0xD3,0x12,0xD3,0xB0, + 0x72,0x03,0x64,0xD3,0x12,0xD3,0xB0,0x65, + 0xB4,0x04,0x00,0x03,0x60,0xD0,0x16,0xB0, + 0x00,0x00,0x25,0x5B,0x01,0x1F,0x24,0x04, + 0x63,0x03,0x61,0x28,0xAA,0xAA,0xAA,0xA0, + 0xC3,0xCF,0xCC,0xCC,0xC9,0xD3,0xC9,0xCF, + 0xCE,0xA0,0xD7,0xC9,0xD4,0xC8,0xA0,0xC1, + 0xA0,0x29,0x47,0x01,0x3A,0x2E,0x04,0x60, + 0xD0,0x16,0xB1,0x01,0x00,0x25,0x61,0x28, + 0xD3,0xD4,0xC1,0xD2,0x29,0x47,0x03,0x60, + 0xD0,0x16,0xB2,0x02,0x00,0x25,0x61,0x28, + 0xD3,0xD4,0xC1,0xD2,0xC2,0xC1,0xD3,0xC5, + 0x29,0x47,0x03,0x60,0xD0,0x16,0xB3,0x03, + 0x00,0x25,0x61,0x28,0xCB,0xCC,0xC9,0xCE, + 0xC7,0xCF,0xCE,0x29,0x47,0x01,0x21,0x38, + 0x04,0x61,0x28,0xA0,0xAA,0xAA,0xAA,0x29, + 0x03,0x60,0xD0,0x16,0xB3,0x03,0x00,0x25, + 0xCB,0xB1,0x71,0xCB,0xB1,0x13,0xB1,0x01, + 0x00,0x03,0x5F,0xB9,0xDE,0x03,0x01,0x1C, + 0x4C,0x04,0x55,0xCB,0x56,0xB0,0x00,0x00, + 0x57,0xB6,0x3F,0x00,0x03,0x64,0xC2,0x12, + 0xCB,0x65,0xB0,0x00,0x00,0x03,0x59,0xCB, + 0x03,0x5B,0x01,0x15,0xB0,0x04,0x60,0xCE, + 0x16,0xB0,0x00,0x00,0x25,0x5B,0x03,0x55, + 0xCB,0x56,0xB1,0x01,0x00,0x57,0xCE,0x01, + 0x2E,0xBA,0x04,0xC9,0x71,0x2F,0x3F,0xB6, + 0x40,0x00,0x72,0x03,0xD0,0x71,0x2E,0x3F, + 0xC2,0x12,0xC9,0x72,0x03,0x60,0xD0,0x12, + 0xD6,0x18,0xCC,0x24,0xB1,0xBA,0x04,0x03, + 0x64,0xC2,0x12,0xC9,0x65,0xD0,0x12,0xD6, + 0x03,0x59,0xCB,0x03,0x5B,0x01,0x13,0x14, + 0x05,0xC5,0xB1,0x71,0xB5,0xF4,0x01,0x03, + 0xC5,0xB2,0x71,0xB3,0x03,0x00,0x03,0x5B, + 0x01,0x48,0x78,0x05,0xD9,0xB0,0x71,0xC5, + 0xB0,0x15,0xB6,0x40,0x00,0x03,0xD8,0xB0, + 0x71,0xC5,0xB0,0x13,0xB6,0x40,0x00,0x14, + 0xD9,0xB0,0x03,0xD9,0xB1,0x71,0xD9,0xB0, + 0x15,0xB8,0x08,0x00,0x03,0xD8,0xB1,0x71, + 0xD8,0xB0,0x15,0xB8,0x08,0x00,0x03,0xD9, + 0xB2,0x71,0xD9,0xB0,0x13,0xB8,0x08,0x00, + 0x14,0xD9,0xB1,0x03,0xD8,0xB2,0x71,0xD8, + 0xB0,0x13,0xB8,0x08,0x00,0x14,0xD8,0xB1, + 0x01,0x33,0x82,0x05,0xD1,0xB0,0x71,0xD8, + 0xB1,0x12,0xB8,0x08,0x00,0x14,0xD9,0xB1, + 0x03,0xD3,0xB0,0x71,0xD8,0xB2,0x12,0xB8, + 0x08,0x00,0x14,0xD9,0xB2,0x03,0xD2,0x71, + 0x31,0x3F,0xD8,0xB5,0x13,0xD8,0xB2,0x72, + 0x12,0x31,0x3F,0xD9,0xB5,0x13,0xD9,0xB2, + 0x72,0x03,0x5B,0x01,0x20,0xDC,0x05,0xC3, + 0xB9,0x71,0x2E,0x3F,0xD1,0x12,0xD1,0xB9, + 0x72,0x03,0x60,0xC3,0xB9,0x18,0xB4,0x28, + 0x00,0x25,0xC3,0xB9,0x71,0xC3,0xB9,0x13, + 0xB4,0x28,0x00,0x01,0x38,0xE6,0x05,0xD3, + 0xB2,0x71,0xC3,0xB9,0x13,0xB1,0x0A,0x00, + 0x14,0x38,0xC3,0xB9,0x15,0xB1,0x0A,0x00, + 0x72,0x03,0xCB,0xB2,0x71,0xC3,0xB9,0x15, + 0xB2,0x14,0x00,0x03,0xC2,0xB2,0x71,0x38, + 0xC3,0xB9,0x13,0xD3,0xB2,0x13,0xB2,0x14, + 0x00,0x14,0xCB,0xB2,0x72,0x15,0xB1,0x0A, + 0x00,0x03,0x5B,0x01,0x23,0x40,0x06,0x55, + 0xCA,0x56,0xB1,0x01,0x00,0x57,0xCE,0x03, + 0x61,0xC3,0x40,0x47,0x03,0x59,0xCA,0x03, + 0x61,0xC3,0x40,0x2A,0xB1,0x01,0x00,0x23, + 0xB1,0x01,0x00,0x72,0x03,0x5B,0x01,0x0D, + 0x08,0x07,0x60,0xC5,0xB1,0x19,0xB0,0x00, + 0x00,0x25,0x5B,0x01,0x14,0x12,0x07,0xC3, + 0x40,0x70,0x28,0xC5,0xCE,0xC5,0xD2,0xC7, + 0xD9,0x29,0x03,0x5F,0xB9,0xD4,0x03,0x01, + 0x47,0x6C,0x07,0x61,0x28,0xAA,0xAA,0xAA, + 0xA0,0xC2,0xCF,0xCF,0xCD,0xA0,0xAA,0xAA, + 0xAA,0x29,0x03,0xCB,0xB1,0x71,0xCB,0xB1, + 0x13,0xB1,0x01,0x00,0x03,0xCB,0xB2,0x71, + 0xB0,0x00,0x00,0x03,0x64,0xD1,0x12,0xD1, + 0xB0,0x65,0x2E,0x3F,0xD1,0x12,0xD1,0xB0, + 0x72,0x13,0xB2,0x14,0x00,0x03,0x64,0xD3, + 0x12,0xD8,0xB5,0x12,0xB8,0x08,0x00,0x14, + 0xD9,0xB5,0x65,0xB0,0x00,0x00,0x01,0x26, + 0x76,0x07,0x60,0xCB,0xB1,0x25,0x5B,0x03, + 0x63,0x03,0x61,0x28,0xCD,0xC9,0xD3,0xD3, + 0xC9,0xCF,0xCE,0xA0,0xC1,0xC3,0xC3,0xCF, + 0xCD,0xD0,0xCC,0xC9,0xD3,0xC8,0xC5,0xC4, + 0xA1,0x29,0x03,0x51,0x01,0x18,0xD0,0x07, + 0xC3,0x40,0x70,0x28,0xAB,0xAD,0xAD,0xAD, + 0x29,0x03,0xCE,0x71,0xB8,0x08,0x00,0x03, + 0x5C,0xB1,0x40,0x06,0x01,0x1E,0xDA,0x07, + 0x55,0xD9,0x56,0xB7,0x07,0x00,0x57,0xB0, + 0x00,0x00,0x58,0x36,0xB1,0x01,0x00,0x03, + 0x55,0xD8,0x56,0xB0,0x00,0x00,0x57,0xB7, + 0x07,0x00,0x01,0x42,0xE4,0x07,0xD0,0x71, + 0xB3,0x03,0x00,0x14,0x2E,0x3F,0xD3,0x12, + 0xD8,0x12,0xB8,0x08,0x00,0x14,0xD9,0x72, + 0x12,0xB1,0x01,0x00,0x03,0x60,0xD8,0x16, + 0xB0,0x00,0x00,0x25,0x61,0x28,0xA1,0x29, + 0x47,0x03,0x60,0xD8,0x17,0xB0,0x00,0x00, + 0x25,0x61,0x28,0xA0,0x29,0x47,0x03,0x61, + 0xC4,0x40,0x2A,0xD0,0x23,0xD0,0x12,0xB2, + 0x02,0x00,0x72,0x47,0x01,0x26,0xEE,0x07, + 0x59,0xD8,0x03,0x61,0x28,0xA1,0x29,0x03, + 0x60,0xD9,0x16,0xB0,0x00,0x00,0x24,0xB2, + 0xF8,0x07,0x03,0x61,0x28,0xAB,0x29,0x47, + 0x03,0x50,0xB3,0x21,0x00,0x03,0x61,0x28, + 0xAB,0x29,0x01,0x0D,0xF8,0x07,0x59,0xD9, + 0x03,0x5C,0xB1,0x40,0x06,0x03,0x5B,0xFF + ]] +}; diff --git a/tapes/startrek2003.js b/tapes/startrek2003.js new file mode 100644 index 0000000..00bfa70 --- /dev/null +++ b/tapes/startrek2003.js @@ -0,0 +1,1990 @@ +/* +C100R +004A.00FFR 0300.3FFFR +E2B3R +RUN +*/ + +/*globals tapes: true */ + +tapes['Star Trek 2003'] = { + script: 'C100R\n004A.00FFR 0300.3FFFR\nE2B3R\nRUN\n', + tracks: [[ // 004A.00FF + 0x00, 0x03, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xED, 0xED, 0xED, 0xED, 0xED, + 0xED, 0xED, 0xED, 0xED, 0xEC, 0xED, 0xED, 0xED, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7D, 0x7D, 0x36, 0x82, 0x59, + 0x82, 0x82, 0x7D, 0x7D, 0x68, 0x82, 0xF6, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0x31, 0x31, 0x37, 0x35, + 0x0E, 0x0A, 0x0F, 0xFF, 0xFF, 0x03, 0x03, 0xFF, + 0x08, 0x08, 0xCC, 0x1D, 0x00, 0x03, 0x14, 0x1E, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x09, 0x02, 0x00, 0x40, 0xCC, 0x1D, 0xFB, 0x3F, + 0x9C, 0x28, 0x36, 0x39, 0x00, 0x00, 0x0C, 0x0B, + 0x08, 0x0D, 0x14, 0x1E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xED, + ],[ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00