Import of the watch repository from Pebble

This commit is contained in:
Matthieu Jeanson 2024-12-12 16:43:03 -08:00 committed by Katharine Berry
commit 3b92768480
10334 changed files with 2564465 additions and 0 deletions

7
.clang-format Normal file
View file

@ -0,0 +1,7 @@
---
BasedOnStyle: Google
IndentWidth: 2
UseTab: Never
PointerAlignment: Right
ColumnLimit: 100
---

8
.gdbinit Normal file
View file

@ -0,0 +1,8 @@
# PBL-17248 set the charset to get around a libiconv bug
set charset US-ASCII
# fix up our python path first since GDB is likely linked with system (not brewed) python
source tools/gdb_scripts/gdb_python_path_fix.py
# source all tools
source tools/gdb_scripts/gdb_tintin.py
source tools/gdb_scripts/gdb_printers.py
source tools/gdb_scripts/gdb_tintin_bluetooth.py

1
.gitattributes vendored Normal file
View file

@ -0,0 +1 @@
*.hex binary

57
.gitignore vendored Normal file
View file

@ -0,0 +1,57 @@
build
xcode
.ycm*
.*project
*.*project
*.*workspace
.settings
*.bin
!bin/**/*.bin
*.bin.orig
*.map
build/*.elf
*.o
cscope.*
TAGS
*.swp
*.swo
*.swn
.waf*
.lock*
*.pyc
*.gch
qemu_serial.txt
uart*.log
serial_dump.txt
a.out
tools/font/ttf
roundrect.h
log.txt
openocd.cfg
.DS_Store
tools/bitmaps/*.h
tools/bitmaps/*.pbi
mfg_release/
dist
compile_commands.json
*.auto
loghash_dict.pickle
analyze_mcu_flash_usage_treemap.jsonp
**/.idea
**/CMakeLists.txt
.env
.vscode

33
CONTRIBUTING Normal file
View file

@ -0,0 +1,33 @@
# How to contribute
We'd love to accept your patches and contributions to this project.
## Before you begin
### Sign our Contributor License Agreement
Contributions to this project must be accompanied by a
[Contributor License Agreement](https://cla.developers.google.com/about) (CLA).
You (or your employer) retain the copyright to your contribution; this simply
gives us permission to use and redistribute your contributions as part of the
project.
If you or your current employer have already signed the Google CLA (even if it
was for a different project), you probably don't need to do it again.
Visit <https://cla.developers.google.com/> to see your current agreements or to
sign a new one.
### Review our community guidelines
This project follows
[Google's Open Source Community Guidelines](https://opensource.google/conduct/).
## Contribution process
### Code reviews
All submissions, including submissions by project members, require review. We
use GitHub pull requests for this purpose. Consult
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
information on using pull requests.

1792
Doxyfile Normal file

File diff suppressed because it is too large Load diff

1792
Doxyfile-all-graphs Normal file

File diff suppressed because it is too large Load diff

186
DoxygenLayout.xml Normal file
View file

@ -0,0 +1,186 @@
<!--
Copyright 2024 Google LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<doxygenlayout version="1.0">
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="no" title="Main"/>
<tab type="pages" visible="no" title="" intro=""/>
<tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="no" title="">
<tab type="namespacelist" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="no" title="">
<tab type="classlist" visible="no" title="" intro=""/>
<tab type="classindex" visible="no" title=""/>
<tab type="hierarchy" visible="no" title="" intro=""/>
<tab type="classmembers" visible="no" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="filelist" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
<tab type="examples" visible="yes" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<memberdecl>
<nestedclasses visible="yes" title=""/>
<publictypes title=""/>
<publicslots title=""/>
<signals title=""/>
<publicmethods title=""/>
<publicstaticmethods title=""/>
<publicattributes title=""/>
<publicstaticattributes title=""/>
<protectedtypes title=""/>
<protectedslots title=""/>
<protectedmethods title=""/>
<protectedstaticmethods title=""/>
<protectedattributes title=""/>
<protectedstaticattributes title=""/>
<packagetypes title=""/>
<packagemethods title=""/>
<packagestaticmethods title=""/>
<packageattributes title=""/>
<packagestaticattributes title=""/>
<properties title=""/>
<events title=""/>
<privatetypes title=""/>
<privateslots title=""/>
<privatemethods title=""/>
<privatestaticmethods title=""/>
<privateattributes title=""/>
<privatestaticattributes title=""/>
<friends title=""/>
<related title="" subtitle=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<constructors title=""/>
<functions title=""/>
<related title=""/>
<variables title=""/>
<properties title=""/>
<events title=""/>
</memberdef>
<allmemberslink visible="yes"/>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/>
</class>
<!-- Layout definition for a namespace page -->
<namespace>
<briefdescription visible="yes"/>
<memberdecl>
<nestednamespaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection visible="yes"/>
</namespace>
<!-- Layout definition for a file page -->
<file>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="$INCLUDE_GRAPH"/>
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
<sourcelink visible="yes"/>
<memberdecl>
<classes visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection/>
</file>
<!-- Layout definition for a group page -->
<group>
<briefdescription visible="no"/>
<detaileddescription title=""/>
<groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl>
<nestedgroups visible="yes" title=""/>
<membergroups visible="yes"/>
</memberdecl>
<memberdef>
<pagedocs/>
<functions title=""/>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<enumvalues title=""/>
<defines title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
</memberdef>
<authorsection visible="yes"/>
</group>
<!-- Layout definition for a directory page -->
<directory>
<briefdescription visible="yes"/>
<directorygraph visible="yes"/>
<memberdecl>
<dirs visible="yes"/>
<files visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
</directory>
</doxygenlayout>

202
LICENSE Normal file
View file

@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

35
README.md Normal file
View file

@ -0,0 +1,35 @@
# PebbleOS
This is the latest version of the internal repository from Pebble Technology
providing the software to run on Pebble watches. Proprietary source code has
been removed from this repository and it will not compile as-is. This is for
information only.
This is not an officially supported Google product. This project is not
eligible for the [Google Open Source Software Vulnerability Rewards
Program](https://bughunters.google.com/open-source-security).
## Restoring the Directory Structure
To clarify the licensing of third party code, all non-Pebble code has been
moved into the `third_party/` directory. A python script is provided to
restore the expected structure. It may be helpful to run this script first:
```
./third_party/restore_tree.py
```
## Missing Components
Some parts of the firmware have been removed for licensing reasons,
including:
- All of the system fonts
- The Bluetooth stack, except for a stub that will function in an emulator
- The STM peripheral library
- The voice codec
- ARM CMSIS
- For the Pebble 2 HR, the heart rate monitor driver
Replacements will be needed for these components if you wish to use the
corresponding functionality.

43
analyze.sh Normal file
View file

@ -0,0 +1,43 @@
#!/bin/bash
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# A couple of clangs checkers we may be interested in
BUILTIN_CHECKERS=core,alpha.deadcode,alpha.security
# Get an array of all the checkers in the checkers/build folder
PLUGINS_PATH="`pwd`/checkers/build"
PLUGINS=(`find $PLUGINS_PATH -name '*.dylib'`)
# Convert the array to a comma-separated string of checker names
PEBBLE_CHECKERS=
LOAD_ARGS=
for PLUGIN in "${PLUGINS[@]}"
do
# <checker>.dylib -> pebble.<checker>
CHECKER="pebble.`basename $PLUGIN .dylib`"
PEBBLE_CHECKERS="$PEBBLE_CHECKERS,$CHECKER"
LOAD_ARGS="$LOAD_ARGS -load-plugin $PLUGIN"
echo "Loading $CHECKER"
done
PYTHON=python
if hash pypy 2>/dev/null
then
PYTHON=pypy
fi
# Run scan-build.
# Firmware is configured without log hashing since it is currently broken with clang, and we skip the final link step. We also
# build with LTO since this allows clang to skip the code gen phase and somewhat speed up the analysis.
scan-build $LOAD_ARGS -enable-checker "$BUILTIN_CHECKERS$PEBBLE_CHECKERS" $PYTHON waf distclean configure --use_env_cc --lto --no-link --nohash --board=snowy_bb2 build

View file

@ -0,0 +1,72 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "emscripten_app.h"
#include "emscripten_graphics.h"
#include "emscripten_resources.h"
#include "emscripten_tick_timer_service.h"
#include "applib/app.h"
#include "applib/ui/app_window_stack.h"
#include "applib/rockyjs/api/rocky_api_graphics.h"
#include <emscripten/emscripten.h>
__attribute__((weak)) int app_main(void) {
Window *window = window_create();
app_window_stack_push(window, false);
app_event_loop();
return 0;
}
static void prv_event_loop(void) {
Window *window = app_window_stack_get_top_window();
if (window && window->is_render_scheduled) {
GContext *ctx = rocky_api_graphics_get_gcontext();
layer_render_tree(&window->layer, ctx);
window->is_render_scheduled = false;
EM_ASM(
// Implemented by html-binding.js:
if (Module.frameBufferMarkDirty) {
Module.frameBufferMarkDirty()
}
);
}
}
void emx_app_init(void) {
emx_graphics_init();
emx_resources_init();
emx_tick_timer_service_init();
}
void emx_app_deinit(void) {
emx_resources_deinit();
}
void emx_app_event_loop(void) {
emscripten_set_main_loop(prv_event_loop,
0, /* using window.requestAnimationFrame() */
1 /* Simulate infinite loop */);
}
int main(int argc, char **argv) {
emx_app_init();
app_main();
emx_app_deinit();
return 0;
}

View file

@ -0,0 +1,21 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
void emx_app_init(void);
void emx_app_event_loop(void);

View file

@ -0,0 +1,27 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "services/common/clock.h"
static bool s_clock_is_24h_style;
bool clock_is_24h_style(void) {
return s_clock_is_24h_style;
}
void clock_set_24h_style(bool is_24h_style) {
s_clock_is_24h_style = is_24h_style;
}

View file

@ -0,0 +1,118 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <stdio.h>
#include <string.h>
#include "applib/fonts/fonts.h"
#include "applib/graphics/graphics.h"
#include "applib/graphics/gtypes.h"
#include "applib/graphics/framebuffer.h"
#include "applib/graphics/gdraw_command_image.h"
#include "applib/graphics/gdraw_command_sequence.h"
#include "applib/graphics/gdraw_command_frame.h"
#include "applib/graphics/gbitmap_sequence.h"
#include "applib/graphics/text.h"
#include "applib/rockyjs/api/rocky_api_graphics.h"
#include "applib/rockyjs/api/rocky_api_util.h"
#include "applib/rockyjs/api/rocky_api_errors.h"
#include "jerry-api.h"
#include "process_state/app_state/app_state.h"
#include <emscripten/emscripten.h>
static GContext s_gcontext = {};
// FIXME: PBL-43469 Support for changing platforms will require a dynamic framebuffer.
static FrameBuffer s_framebuffer = {};
static TextRenderState s_text_render_state = {};
static UnobstructedAreaState s_unobstructed_area_state = {};
// FIXME: Right now, rocky only supports 1 window anyways
static Window *s_top_window;
GContext *emx_graphics_get_gcontext(void) {
return &s_gcontext;
}
void *emx_graphics_get_pixels(void) {
return s_gcontext.dest_bitmap.addr;
}
TextRenderState *app_state_get_text_render_state(void) {
return &s_text_render_state;
}
Layer** app_state_get_layer_tree_stack(void) {
static Layer *layer_tree_stack[LAYER_TREE_STACK_SIZE];
return layer_tree_stack;
}
Layer** kernel_applib_get_layer_tree_stack(void) {
PBL_ASSERT(0, "Not expected to be called when compiling to applib-emscripten...");
return NULL;
}
// FIXME: Emscripten is cannot deal with two files with the same name
// (even if the path is different) The framebuffer.c files end up not
// getting linked in. A longer term fix would be to rename the object
// file in WAF
volatile const int FrameBuffer_MaxX = DISP_COLS;
volatile const int FrameBuffer_MaxY = DISP_ROWS;
void framebuffer_mark_dirty_rect(FrameBuffer* f, GRect rect) {
}
size_t framebuffer_get_size_bytes(FrameBuffer *f) {
return FRAMEBUFFER_SIZE_BYTES;
}
Window *app_window_stack_get_top_window(void) {
return s_top_window;
}
void app_window_stack_push(Window *window, bool animated) {
PBL_ASSERT(!s_top_window, "Already have a window");
s_top_window = window;
}
GContext *graphics_context_get_current_context(void) {
return &s_gcontext;
}
// TODO: PBL-43467 Support a user-specified unobstructed area
UnobstructedAreaState *app_state_get_unobstructed_area_state(void) {
return &s_unobstructed_area_state;
}
void unobstructed_area_service_get_area(UnobstructedAreaState *state, GRect *area_out) {
*area_out = state->area;
}
// FIXME: PBL-43496 This should take width, height, and format to dynamically
// allocate our framebuffer GBitmap and support changing platforms.
void emx_graphics_init(void) {
framebuffer_init(&s_framebuffer, &(GSize) {DISP_COLS, DISP_ROWS});
memset(s_framebuffer.buffer, 0xff, FRAMEBUFFER_SIZE_BYTES);
framebuffer_dirty_all(&s_framebuffer);
graphics_context_init(&s_gcontext, &s_framebuffer, GContextInitializationMode_App);
s_unobstructed_area_state = (UnobstructedAreaState) {
.area = {
.origin = { .x = 0, .y = 0 },
.size = { .w = 144, .h = 168 },
},
};
}

View file

@ -0,0 +1,26 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include "applib/graphics/gtypes.h"
#include "process_state/app_state/app_state.h"
void emx_graphics_init(void);
GContext *emx_graphics_get_gcontext(void);
void *emx_graphics_get_pixes(void);
TextRenderState *app_state_get_text_render_state(void);
void emx_graphics_call_canvas_update_proc(void);

View file

@ -0,0 +1,720 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "jerry-api.h"
#include <emscripten/emscripten.h>
#include <string.h>
#define TYPE_ERROR \
jerry_create_error(JERRY_ERROR_TYPE, NULL);
#define TYPE_ERROR_ARG \
jerry_create_error(JERRY_ERROR_TYPE, (const jerry_char_t *)"wrong type of argument");
#define TYPE_ERROR_FLAG \
jerry_create_error(JERRY_ERROR_TYPE, (const jerry_char_t *)"argument cannot have an error flag");
////////////////////////////////////////////////////////////////////////////////
// Parser and Executor Function
////////////////////////////////////////////////////////////////////////////////
// Note that `is_strict` is currently unsupported by emscripten
jerry_value_t jerry_eval(const jerry_char_t *source_p, size_t source_size, bool is_strict) {
return (jerry_value_t)EM_ASM_INT({
// jerry_eval() uses an indirect eval() call,
// so the global execution context is used.
// Also see ECMA 5.1 -- 10.4.2 Entering Eval Code.
var indirectEval = eval;
try {
return __jerryRefs.ref(indirectEval(Module.Pointer_stringify($0, $1)));
} catch (e) {
var error_ref = __jerryRefs.ref(e);
__jerryRefs.setError(error_ref, true);
return error_ref;
}
}, source_p, source_size);
}
jerry_value_t jerry_acquire_value(jerry_value_t value) {
return (jerry_value_t)EM_ASM_INT({
return __jerryRefs.acquire($0);
}, value);
}
void jerry_release_value(jerry_value_t value) {
EM_ASM_INT({
__jerryRefs.release($0);
}, value);
}
////////////////////////////////////////////////////////////////////////////////
// Get the global context
////////////////////////////////////////////////////////////////////////////////
jerry_value_t jerry_get_global_object(void) {
return ((jerry_value_t)EM_ASM_INT_V({ \
return __jerryRefs.ref(Function('return this;')()); \
}));
}
jerry_value_t jerry_get_global_builtin(const jerry_char_t *builtin_name) {
return ((jerry_value_t)EM_ASM_INT({ \
return __jerryRefs.ref(Function('return this;')()[Module.Pointer_stringify($0)]); \
}, builtin_name));
}
////////////////////////////////////////////////////////////////////////////////
// Jerry Value Type Checking
////////////////////////////////////////////////////////////////////////////////
#define JERRY_VALUE_HAS_TYPE(ref, typename) \
((bool)EM_ASM_INT({ \
return typeof __jerryRefs.get($0) === (typename); \
}, (ref)))
#define JERRY_VALUE_IS_INSTANCE(ref, type) \
((bool)EM_ASM_INT({ \
return __jerryRefs.get($0) instanceof (type); \
}, (ref)))
bool jerry_value_is_array(const jerry_value_t value) {
return JERRY_VALUE_IS_INSTANCE(value, Array);
}
bool jerry_value_is_boolean(const jerry_value_t value) {
return JERRY_VALUE_HAS_TYPE(value, 'boolean');
}
bool jerry_value_is_constructor(const jerry_value_t value) {
return jerry_value_is_function(value);
}
bool jerry_value_is_function(const jerry_value_t value) {
return JERRY_VALUE_HAS_TYPE(value, 'function');
}
bool jerry_value_is_number(const jerry_value_t value) {
return JERRY_VALUE_HAS_TYPE(value, 'number');
}
bool jerry_value_is_null(const jerry_value_t value) {
return ((bool)EM_ASM_INT({
return __jerryRefs.get($0) === null;
}, value));
}
bool jerry_value_is_object(const jerry_value_t value) {
return !jerry_value_is_null(value) &&
(JERRY_VALUE_HAS_TYPE(value, 'object') || jerry_value_is_function(value));
}
bool jerry_value_is_string(const jerry_value_t value) {
return JERRY_VALUE_HAS_TYPE(value, 'string');
}
bool jerry_value_is_undefined(const jerry_value_t value) {
return JERRY_VALUE_HAS_TYPE(value, 'undefined');
}
////////////////////////////////////////////////////////////////////////////////
// Jerry Value Getter Functions
////////////////////////////////////////////////////////////////////////////////
bool jerry_get_boolean_value(const jerry_value_t value) {
if (!jerry_value_is_boolean(value)) {
return false;
}
return (bool)EM_ASM_INT({
return (__jerryRefs.get($0) === true);
}, value);
}
double jerry_get_number_value(const jerry_value_t value) {
if (!jerry_value_is_number(value)) {
return 0.0;
}
return EM_ASM_DOUBLE({
return __jerryRefs.get($0);
}, value);
}
////////////////////////////////////////////////////////////////////////////////
// Functions for UTF-8 encoded string values
////////////////////////////////////////////////////////////////////////////////
jerry_size_t jerry_get_utf8_string_size(const jerry_value_t value) {
if (!jerry_value_is_string(value)) {
return 0;
}
return (jerry_size_t)EM_ASM_INT({
return Module.lengthBytesUTF8(__jerryRefs.get($0));
}, value);
}
jerry_size_t jerry_string_to_utf8_char_buffer(const jerry_value_t value,
jerry_char_t *buffer_p,
jerry_size_t buffer_size) {
const jerry_size_t str_size = jerry_get_utf8_string_size(value);
if (str_size == 0 || buffer_size < str_size || buffer_p == NULL) {
return 0;
}
EM_ASM_INT({
var str = __jerryRefs.get($0);
// Add one onto the buffer size, since Module.stringToUTF8 adds a null
// character at the end. This will lead to truncation if we just use
// buffer_size. Since the actual jerry-api does not do this, we are
// always careful to allocate space for a null character at the end.
// Allow stringToUTF8 to write that extra null beyond the passed in
// buffer_length.
Module.stringToUTF8(str, $1, $2 + 1);
}, value, buffer_p, buffer_size);
return strlen((const char *)buffer_p);
}
////////////////////////////////////////////////////////////////////////////////
// Functions for array object values
////////////////////////////////////////////////////////////////////////////////
uint32_t jerry_get_array_length(const jerry_value_t value) {
if (!jerry_value_is_array(value)) {
return 0;
}
return (uint32_t)EM_ASM_INT({
return __jerryRefs.get($0).length;
}, value);
}
////////////////////////////////////////////////////////////////////////////////
// Jerry Value Creation API
////////////////////////////////////////////////////////////////////////////////
#define JERRY_CREATE_VALUE(value) \
((jerry_value_t)EM_ASM_INT_V({ \
return __jerryRefs.ref((value)); \
}))
jerry_value_t jerry_create_array(uint32_t size) {
return (jerry_value_t)EM_ASM_INT({
return __jerryRefs.ref(new Array($0));
}, size);
}
jerry_value_t jerry_create_boolean(bool value) {
return (jerry_value_t)EM_ASM_INT({
return __jerryRefs.ref(Boolean($0));
}, value);
}
jerry_value_t jerry_create_error(jerry_error_t error_type, const jerry_char_t *message_p) {
return jerry_create_error_sz(error_type, message_p, strlen((const char *)message_p));
}
#define JERRY_ERROR(type, msg, sz) (jerry_value_t)(EM_ASM_INT({ \
return __jerryRefs.ref(new (type)(Module.Pointer_stringify($0, $1))) \
}, (msg), (sz)))
jerry_value_t jerry_create_error_sz(jerry_error_t error_type,
const jerry_char_t *message_p,
jerry_size_t message_size) {
jerry_value_t error_ref = 0;
switch (error_type) {
case JERRY_ERROR_COMMON:
error_ref = JERRY_ERROR(Error, message_p, message_size);
break;
case JERRY_ERROR_EVAL:
error_ref = JERRY_ERROR(EvalError, message_p, message_size);
break;
case JERRY_ERROR_RANGE:
error_ref = JERRY_ERROR(RangeError, message_p, message_size);
break;
case JERRY_ERROR_REFERENCE:
error_ref = JERRY_ERROR(ReferenceError, message_p, message_size);
break;
case JERRY_ERROR_SYNTAX:
error_ref = JERRY_ERROR(SyntaxError, message_p, message_size);
break;
case JERRY_ERROR_TYPE:
error_ref = JERRY_ERROR(TypeError, message_p, message_size);
break;
case JERRY_ERROR_URI:
error_ref = JERRY_ERROR(URIError, message_p, message_size);
break;
default:
EM_ASM_INT({
abort('Cannot create error type: ' + $0);
}, error_type);
break;
}
jerry_value_set_error_flag(&error_ref);
return error_ref;
}
jerry_value_t jerry_create_external_function(jerry_external_handler_t handler_p) {
return (jerry_value_t)EM_ASM_INT({
return __jerry_create_external_function($0);
}, handler_p);
}
jerry_value_t jerry_create_number(double value) {
return (jerry_value_t)EM_ASM_INT({
return __jerryRefs.ref($0);
}, value);
}
jerry_value_t jerry_create_number_infinity(bool negative) {
if (negative) {
return JERRY_CREATE_VALUE(-Infinity);
} else {
return JERRY_CREATE_VALUE(Infinity);
}
}
jerry_value_t jerry_create_number_nan(void) {
return JERRY_CREATE_VALUE(NaN);
}
jerry_value_t jerry_create_null(void) {
return JERRY_CREATE_VALUE(null);
}
jerry_value_t jerry_create_object(void) {
return JERRY_CREATE_VALUE(new Object());
}
jerry_value_t jerry_create_string(const jerry_char_t *str_p) {
if (!str_p) {
return jerry_create_undefined();
}
return jerry_create_string_utf8_sz(str_p, strlen((const char *)str_p));
}
jerry_value_t jerry_create_string_sz(const jerry_char_t *str_p, jerry_size_t str_size) {
return jerry_create_string_utf8_sz(str_p, str_size);
}
jerry_value_t jerry_create_string_utf8(const jerry_char_t *str_p) {
if (!str_p) {
return jerry_create_undefined();
}
return jerry_create_string_utf8_sz(str_p, strlen((const char *)str_p));
}
jerry_value_t jerry_create_string_utf8_sz(const jerry_char_t *str_p, jerry_size_t str_size) {
if (!str_p) {
return jerry_create_undefined();
}
return (jerry_value_t)EM_ASM_INT({
return __jerryRefs.ref(Module.Pointer_stringify($0, $1));
}, str_p, str_size);
}
jerry_value_t jerry_create_undefined(void) {
return JERRY_CREATE_VALUE(undefined);
}
////////////////////////////////////////////////////////////////////////////////
// General API Functions of JS Objects
////////////////////////////////////////////////////////////////////////////////
bool jerry_has_property(const jerry_value_t obj_val, const jerry_value_t prop_name_val) {
if (!jerry_value_is_object(obj_val) || !jerry_value_is_string(prop_name_val)) {
return false;
}
return (bool)EM_ASM_INT({
var obj = __jerryRefs.get($0);
var name = __jerryRefs.get($1);
return (name in obj);
}, obj_val, prop_name_val);
}
bool jerry_has_own_property(const jerry_value_t obj_val, const jerry_value_t prop_name_val) {
if (!jerry_value_is_object(obj_val) || !jerry_value_is_string(prop_name_val)) {
return false;
}
return (bool)EM_ASM_INT({
var obj = __jerryRefs.get($0);
var name = __jerryRefs.get($1);
return obj.hasOwnProperty(name);
}, obj_val, prop_name_val);
}
bool jerry_delete_property(const jerry_value_t obj_val, const jerry_value_t prop_name_val) {
if (!jerry_value_is_object(obj_val) || !jerry_value_is_string(prop_name_val)) {
return false;
}
return (bool)EM_ASM_INT({
var obj = __jerryRefs.get($0);
var name = __jerryRefs.get($1);
try {
return delete obj[name];
} catch (e) {
// In strict mode, delete throws SyntaxError if the property is an
// own non-configurable property.
return false;
}
return true;
}, obj_val, prop_name_val);
}
jerry_value_t jerry_get_property(const jerry_value_t obj_val, const jerry_value_t prop_name_val) {
if (!jerry_value_is_object(obj_val) || !jerry_value_is_string(prop_name_val)) {
return TYPE_ERROR_ARG;
}
return (jerry_value_t)EM_ASM_INT({
var obj = __jerryRefs.get($0);
var name = __jerryRefs.get($1);
return __jerryRefs.ref(obj[name]);
}, obj_val, prop_name_val);
}
jerry_value_t jerry_get_property_by_index(const jerry_value_t obj_val, uint32_t index) {
if (!jerry_value_is_object(obj_val)) {
return TYPE_ERROR;
}
return (jerry_value_t)EM_ASM_INT({
var obj = __jerryRefs.get($0);
return __jerryRefs.ref(obj[$1]);
}, obj_val, index);
}
jerry_value_t jerry_set_property(const jerry_value_t obj_val,
const jerry_value_t prop_name_val,
const jerry_value_t value_to_set) {
if (jerry_value_has_error_flag(value_to_set) ||
!jerry_value_is_object(obj_val) ||
!jerry_value_is_string(prop_name_val)) {
return TYPE_ERROR_ARG;
}
return (jerry_value_t)EM_ASM_INT({
var obj = __jerryRefs.get($0);
var name = __jerryRefs.get($1);
var to_set = __jerryRefs.get($2);
obj[name] = to_set;
return __jerryRefs.ref(true);
}, obj_val, prop_name_val, value_to_set);
}
jerry_value_t jerry_set_property_by_index(const jerry_value_t obj_val,
uint32_t index,
const jerry_value_t value_to_set) {
if (jerry_value_has_error_flag(value_to_set) ||
!jerry_value_is_object(obj_val)) {
return TYPE_ERROR_ARG;
}
return (jerry_value_t)EM_ASM_INT({
var obj = __jerryRefs.get($0);
var to_set = __jerryRefs.get($2);
obj[$1] = to_set;
return __jerryRefs.ref(true);
}, obj_val, index, value_to_set);
}
void jerry_init_property_descriptor_fields(jerry_property_descriptor_t *prop_desc_p) {
*prop_desc_p = (jerry_property_descriptor_t) {
.value = jerry_create_undefined(),
.getter = jerry_create_undefined(),
.setter = jerry_create_undefined(),
};
}
jerry_value_t jerry_define_own_property(const jerry_value_t obj_val,
const jerry_value_t prop_name_val,
const jerry_property_descriptor_t *pdp) {
if (!jerry_value_is_object(obj_val) && !jerry_value_is_string(obj_val)) {
return TYPE_ERROR_ARG;
}
if ((pdp->is_writable_defined || pdp->is_value_defined)
&& (pdp->is_get_defined || pdp->is_set_defined)) {
return TYPE_ERROR_ARG;
}
if (pdp->is_get_defined && !jerry_value_is_function(pdp->getter)) {
return TYPE_ERROR_ARG;
}
if (pdp->is_set_defined && !jerry_value_is_function(pdp->setter)) {
return TYPE_ERROR_ARG;
}
return (jerry_value_t)(EM_ASM_INT({
var obj = __jerryRefs.get($12 /* obj_val */);
var name = __jerryRefs.get($13 /* prop_name_val */);
var desc = {};
if ($0 /* is_value_defined */) {
desc.value = __jerryRefs.get($9);
}
if ($1 /* is_get_defined */) {
desc.get = __jerryRefs.get($10);
}
if ($2 /* is_set_defined */) {
desc.set = __jerryRefs.get($11);
}
if ($3 /* is_writable_defined */) {
desc.writable = Boolean($4 /* is_writable */);
}
if ($5 /* is_enumerable_defined */) {
desc.enumerable = Boolean($6 /* is_enumerable */);
}
if ($7 /* is_configurable */) {
desc.configurable = Boolean($8 /* is_configurable */);
}
Object.defineProperty(obj, name, desc);
return __jerryRefs.ref(Boolean(true));
}, pdp->is_value_defined, /* $0 */
pdp->is_get_defined, /* $1 */
pdp->is_set_defined, /* $2 */
pdp->is_writable_defined, /* $3 */
pdp->is_writable, /* $4 */
pdp->is_enumerable_defined, /* $5 */
pdp->is_enumerable, /* $6 */
pdp->is_configurable_defined, /* $7 */
pdp->is_configurable, /* $8 */
pdp->value, /* $9 */
pdp->getter, /* $10 */
pdp->setter, /* $11 */
obj_val, /* $12 */
prop_name_val /* $13 */
));
}
jerry_value_t emscripten_call_jerry_function(jerry_external_handler_t func_obj_p,
const jerry_value_t func_obj_val,
const jerry_value_t this_val,
const jerry_value_t args_p[],
jerry_size_t args_count) {
return (func_obj_p)(func_obj_val, this_val, args_p, args_count);
}
jerry_value_t jerry_call_function(const jerry_value_t func_obj_val,
const jerry_value_t this_val,
const jerry_value_t args_p[],
jerry_size_t args_count) {
if (!jerry_value_is_function(func_obj_val)) {
return TYPE_ERROR_ARG;
}
return (jerry_value_t)EM_ASM_INT({
var func_obj = __jerryRefs.get($0);
var this_val = __jerryRefs.get($1);
var args = [];
for (var i = 0; i < $3; ++i) {
args.push(__jerryRefs.get(getValue($2 + i*4, 'i32')));
}
try {
var rv = func_obj.apply(this_val, args);
} catch (e) {
var error_ref = __jerryRefs.ref(e);
__jerryRefs.setError(error_ref, true);
return error_ref;
}
return __jerryRefs.ref(rv);
}, func_obj_val, this_val, args_p, args_count);
}
jerry_value_t jerry_construct_object(const jerry_value_t func_obj_val,
const jerry_value_t args_p[],
jerry_size_t args_count) {
if (!jerry_value_is_constructor(func_obj_val)) {
return TYPE_ERROR_ARG;
}
return (jerry_value_t)EM_ASM_INT({
var func_obj = __jerryRefs.get($0);
var args = [];
for (var i = 0; i < $2; ++i) {
args.push(__jerryRefs.get(getValue($1 + i*4, 'i32')));
}
// Call the constructor with new object as `this`
var bindArgs = [null].concat(args);
var boundConstructor = func_obj.bind.apply(func_obj, bindArgs);
var rv = new boundConstructor();
return __jerryRefs.ref(rv);
}, func_obj_val, args_p, args_count);
}
jerry_size_t jerry_string_to_char_buffer(const jerry_value_t value,
jerry_char_t *buffer_p,
jerry_size_t buffer_size) {
return jerry_string_to_utf8_char_buffer(value, buffer_p, buffer_size);
}
jerry_size_t jerry_object_to_string_to_utf8_char_buffer(const jerry_value_t object,
jerry_char_t *buffer_p,
jerry_size_t buffer_size) {
jerry_value_t str_ref = (jerry_value_t)EM_ASM_INT({
var str = __jerryRefs.ref(String(__jerryRefs.get($0)));
return str;
}, object);
jerry_size_t len = jerry_string_to_utf8_char_buffer(str_ref, buffer_p, buffer_size);
jerry_release_value(str_ref);
return len;
}
// FIXME: PBL-43551 Propery CESU-8 => UTF-8 conversion.
jerry_size_t jerry_object_to_string_to_char_buffer(const jerry_value_t object,
jerry_char_t *buffer_p,
jerry_size_t buffer_size) {
return jerry_object_to_string_to_utf8_char_buffer(object,
buffer_p,
buffer_size);
}
jerry_value_t jerry_get_object_keys(const jerry_value_t value) {
if (!jerry_value_is_object(value)) {
return TYPE_ERROR_ARG;
}
return (jerry_value_t)EM_ASM_INT({
return __jerryRefs.ref(Object.keys(__jerryRefs.get($0)));
}, value);
}
jerry_value_t jerry_get_prototype(const jerry_value_t value) {
if (!jerry_value_is_object(value)) {
return TYPE_ERROR_ARG;
}
return (jerry_value_t)EM_ASM_INT({
return __jerryRefs.ref(__jerryRefs.get($0).prototype);
}, value);
}
jerry_value_t jerry_set_prototype(const jerry_value_t obj_val, const jerry_value_t proto_obj_val) {
return 0; // FIXME: Not sure what to do here
}
bool jerry_get_object_native_handle(const jerry_value_t obj_val, uintptr_t *out_handle_p) {
return EM_ASM_INT({
var ptr = __jerryRefs.getNativeHandle($0);
if (ptr === undefined) {
return false;
}
Module.setValue($1, ptr, '*');
return true;
}, obj_val, out_handle_p);
}
void jerry_set_object_native_handle(const jerry_value_t obj_val, uintptr_t handle_p,
jerry_object_free_callback_t freecb_p) {
EM_ASM_INT({
__jerryRefs.setNativeHandle($0, $1, $2);
}, obj_val, handle_p, freecb_p);
}
void emscripten_call_jerry_object_free_callback(jerry_object_free_callback_t freecb_p,
uintptr_t handle_p) {
if (freecb_p) {
freecb_p(handle_p);
}
}
////////////////////////////////////////////////////////////////////////////////
// Error flag manipulation functions
////////////////////////////////////////////////////////////////////////////////
//
// The error flag is stored alongside the value in __jerryRefs.
// This allows for us to keep a valid value, like jerryscript does, and be able
// to add / remove a flag specifying whether there was an error or not.
bool jerry_value_has_error_flag(const jerry_value_t value) {
return (bool)(EM_ASM_INT({
return __jerryRefs.getError($0);
}, value));
}
void jerry_value_clear_error_flag(jerry_value_t *value_p) {
EM_ASM_INT({
return __jerryRefs.setError($0, false);
}, *value_p);
}
void jerry_value_set_error_flag(jerry_value_t *value_p) {
EM_ASM_INT({
return __jerryRefs.setError($0, true);
}, *value_p);
}
////////////////////////////////////////////////////////////////////////////////
// Converters of `jerry_value_t`
////////////////////////////////////////////////////////////////////////////////
bool jerry_value_to_boolean(const jerry_value_t value) {
if (jerry_value_has_error_flag(value)) {
return false;
}
return (bool)EM_ASM_INT({
return Boolean(__jerryRefs.get($0));
}, value);
}
jerry_value_t jerry_value_to_number(const jerry_value_t value) {
if (jerry_value_has_error_flag(value)) {
return TYPE_ERROR_FLAG;
}
return (jerry_value_t)EM_ASM_INT({
return __jerryRefs.ref(Number(__jerryRefs.get($0)));
}, value);
}
jerry_value_t jerry_value_to_object(const jerry_value_t value) {
if (jerry_value_has_error_flag(value)) {
return TYPE_ERROR_FLAG;
}
return (jerry_value_t)EM_ASM_INT({
return __jerryRefs.ref(new Object(__jerryRefs.get($0)));
}, value);
}
jerry_value_t jerry_value_to_primitive(const jerry_value_t value) {
if (jerry_value_has_error_flag(value)) {
return TYPE_ERROR_FLAG;
}
return (jerry_value_t)EM_ASM_INT({
var val = __jerryRefs.get($0);
var rv;
if ((typeof val === 'object' && val != null)
|| (typeof val === 'function')) {
rv = val.valueOf(); // unbox
} else {
rv = val; // already a primitive
}
return __jerryRefs.ref(rv);
}, value);
}
jerry_value_t jerry_value_to_string(const jerry_value_t value) {
if (jerry_value_has_error_flag(value)) {
return TYPE_ERROR_FLAG;
}
return (jerry_value_t)EM_ASM_INT({
return __jerryRefs.ref(String(__jerryRefs.get($0)));
}, value);
}
int jerry_obj_refcount(jerry_value_t o) {
return EM_ASM_INT({
try {
return __jerryRefs.getRefCount($0);
} catch (e) {
return 0;
}
}, o);
}
////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////
void jerry_init(jerry_init_flag_t flags) {
EM_ASM(__jerryRefs.reset());
}
void jerry_cleanup(void) {
}

View file

@ -0,0 +1,21 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
void rocky_runtime_context_init(void) {
}
void rocky_runtime_context_deinit(void) {
}

View file

@ -0,0 +1,249 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "emscripten_resources.h"
#include "resource/resource_storage_impl.h"
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
typedef struct {
uint32_t offset;
uint32_t length;
} Resource;
#define MANIFEST_SIZE (sizeof(ResourceManifest))
#define TABLE_ENTRY_SIZE (sizeof(ResTableEntry))
#define MAX_RESOURCES_FOR_SYSTEM_STORE 512
#define SYSTEM_STORE_METADATA_BYTES \
(MANIFEST_SIZE + MAX_RESOURCES_FOR_SYSTEM_STORE * TABLE_ENTRY_SIZE)
////////////////////////////////////////////////
// Custom Resources
//
// Custom resources in Rocky.js are implemented with a set of callbacks
// on the javascript side which implement resource APIs
//
// We store those callbacks in an array and return a resource ID which
// can then be used as if it was a valid resource
//
// Under the hood, we just lookup & call the initially provided callbacks
typedef struct {
uint32_t resource_id;
ResourceReadCb read;
ResourceGetSizeCb get_size;
} EmxCustomResource;
typedef struct {
EmxCustomResource *custom_resources;
uint32_t last_id;
int array_size;
int next_index;
} CustomResList;
static CustomResList s_custom_res_list = {0};
static int prv_custom_resource_get_index(uint32_t resource_id) {
int index;
for (index = 0; index < s_custom_res_list.next_index; ++index) {
if (s_custom_res_list.custom_resources[index].resource_id == resource_id) {
return index;
}
}
return -1;
}
static EmxCustomResource *prv_custom_resource_get(uint32_t resource_id) {
int index = prv_custom_resource_get_index(resource_id);
if (index < 0) {
return NULL;
} else {
return &s_custom_res_list.custom_resources[index];
}
}
static void prv_custom_resource_add(EmxCustomResource *res) {
if (s_custom_res_list.array_size <= s_custom_res_list.next_index) {
// grow the list
int new_size = (s_custom_res_list.array_size + 1) * 2;
s_custom_res_list.custom_resources = realloc(s_custom_res_list.custom_resources, new_size);
s_custom_res_list.array_size = new_size;
}
s_custom_res_list.custom_resources[s_custom_res_list.next_index] = *res;
++s_custom_res_list.next_index;
}
static void prv_custom_resource_remove(uint32_t resource_id) {
int index = prv_custom_resource_get_index(resource_id);
if (index < 0) {
return;
}
--s_custom_res_list.next_index;
if (s_custom_res_list.next_index == index) {
// we had the last resource, we're done
return;
}
memmove(&s_custom_res_list.custom_resources[index],
&s_custom_res_list.custom_resources[index + 1],
(s_custom_res_list.next_index - index) * sizeof(EmxCustomResource));
}
//////////////////////////////////////
// System Resources
//
// In this case, we shove the pbpack in an emscripten "file" (baked into the resulting JS
// and reimplement system resource APIs using standard C file I/O
static FILE *s_resource_file = NULL;
static uint32_t prv_read(uint32_t offset, void *data, size_t num_bytes) {
if (!s_resource_file || fseek(s_resource_file, offset, SEEK_SET)) {
printf("%s: Couldn't seek to %d\n", __FILE__, offset);
return 0;
}
return fread(data, 1, num_bytes, s_resource_file);
}
static ResourceManifest prv_get_manifest(void) {
ResourceManifest manifest = {};
prv_read(0, &manifest, sizeof(ResourceManifest));
return manifest;
}
static bool prv_get_table_entry(ResTableEntry *entry, uint32_t index) {
uint32_t addr = sizeof(ResourceManifest) + index * sizeof(ResTableEntry);
return prv_read(addr, entry, sizeof(ResTableEntry));
}
static bool prv_get_resource(uint32_t resource_id, Resource *res) {
*res = (Resource){
.length = 0,
.offset = 0,
};
ResourceManifest manifest = prv_get_manifest();
if (resource_id > manifest.num_resources) {
printf("%s: resource id %d > %d is out of range\n", __FILE__,
resource_id,
manifest.num_resources);
return false;
}
ResTableEntry entry;
if (!prv_get_table_entry(&entry, resource_id - 1)) {
printf("%s: Failed to read table entry for %d\n", __FILE__, resource_id);
return false;
}
if ((entry.resource_id != resource_id) ||
(entry.length == 0)) {
// empty resource
printf("%s: Invalid resourcel for %d\n", __FILE__, resource_id);
return false;
}
res->offset = SYSTEM_STORE_METADATA_BYTES + entry.offset;
res->length = entry.length;
return true;
}
///////////////////////////////
// API
size_t emx_resources_read(ResAppNum app_num,
uint32_t resource_id,
uint32_t offset,
uint8_t *buf,
size_t num_bytes) {
if (offset > INT_MAX || num_bytes > INT_MAX) {
return 0;
}
EmxCustomResource *custom_res = NULL;
if (app_num != SYSTEM_APP && (custom_res = prv_custom_resource_get(resource_id))) {
return custom_res->read(offset, buf, num_bytes);
}
Resource resource = {};
if (!prv_get_resource(resource_id, &resource)) {
return 0;
}
if (offset + num_bytes > resource.length) {
if (offset >= resource.length) {
// Can't recover from trying to read from beyond the resource. Read nothing.
printf("%s: Reading past the end of the resource!\n", __FILE__);
return 0;
}
num_bytes = resource.length - offset;
}
return prv_read(offset + resource.offset, buf, num_bytes);
}
size_t emx_resources_get_size(ResAppNum app_num, uint32_t resource_id) {
EmxCustomResource *custom_res = NULL;
if (app_num != SYSTEM_APP && (custom_res = prv_custom_resource_get(resource_id))) {
return custom_res->get_size();
}
Resource resource = {};
if (!prv_get_resource(resource_id, &resource)) {
return 0;
}
return resource.length;
}
bool emx_resources_init(void) {
s_resource_file = fopen("system_resources.pbpack", "r");
if (!s_resource_file) {
printf("Error: Failed to open resources file\n");
return false;
}
return true;
}
void emx_resources_deinit(void) {
fclose(s_resource_file);
}
uint32_t emx_resources_register_custom(ResourceReadCb read_cb, ResourceGetSizeCb get_size_cb) {
EmxCustomResource custom_res = {
.resource_id = ++s_custom_res_list.last_id,
.read = read_cb,
.get_size = get_size_cb,
};
prv_custom_resource_add(&custom_res);
return custom_res.resource_id;
}
void emx_resources_remove_custom(uint32_t resource_id) {
prv_custom_resource_remove(resource_id);
}

View file

@ -0,0 +1,38 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include "resource/resource.h"
// transformed to int to avoid surpises between C->JS
typedef int (*ResourceReadCb)(int offset, uint8_t *buf, int num_bytes);
typedef int (*ResourceGetSizeCb)(void);
bool emx_resources_init(void);
void emx_resources_deinit(void);
size_t emx_resources_get_size(ResAppNum app_num, uint32_t resource_id);
size_t emx_resources_read(ResAppNum app_num,
uint32_t resource_id,
uint32_t offset,
uint8_t *buf,
size_t num_bytes);
uint32_t emx_resources_register_custom(ResourceReadCb read_cb, ResourceGetSizeCb get_size_cb);
void emx_resources_remove_custom(uint32_t resource_id);

View file

@ -0,0 +1,108 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "applib/app_logging.h"
#include "applib/tick_timer_service_private.h"
#include <emscripten/emscripten.h>
#include <stdio.h>
#include <time.h>
time_t time(time_t *time);
static TickTimerServiceState s_state;
static void prv_schedule_next_update(void);
static void prv_do_update(void *data) {
if (!s_state.handler) {
return;
}
// The data pointer value is used to pass a boolean value directly:
const bool is_update_due_to_time_change = (uintptr_t)data;
struct tm currtime;
time_t t = time(NULL);
localtime_r(&t, &currtime);
TimeUnits units_changed;
if (is_update_due_to_time_change) {
units_changed = (SECOND_UNIT | MINUTE_UNIT | HOUR_UNIT | DAY_UNIT | YEAR_UNIT);
} else {
prv_schedule_next_update();
units_changed = 0;
if (!s_state.first_tick) {
if (s_state.last_time.tm_sec != currtime.tm_sec) {
units_changed |= SECOND_UNIT;
}
if (s_state.last_time.tm_min != currtime.tm_min) {
units_changed |= MINUTE_UNIT;
}
if (s_state.last_time.tm_hour != currtime.tm_hour) {
units_changed |= HOUR_UNIT;
}
if (s_state.last_time.tm_mday != currtime.tm_mday) {
units_changed |= DAY_UNIT;
}
if (s_state.last_time.tm_mon != currtime.tm_mon) {
units_changed |= MONTH_UNIT;
}
if (s_state.last_time.tm_year != currtime.tm_year) {
units_changed |= YEAR_UNIT;
}
}
}
s_state.last_time = currtime;
s_state.first_tick = false;
if ((s_state.tick_units & units_changed) || (units_changed == 0)) {
s_state.handler(&currtime, units_changed);
}
}
static void prv_schedule_next_update(void) {
// Schedule this to fire again at the top of the next second
const int ms_into_s = EM_ASM_INT_V({
return Date.now().getMilliseconds;
});
const double wait_ms = 1000 - ms_into_s;
const bool is_update_due_to_time_change = false;
emscripten_async_call(prv_do_update, (void *)(uintptr_t)is_update_due_to_time_change, wait_ms);
}
void tick_timer_service_handle_time_change(void) {
const bool is_update_due_to_time_change = true;
prv_do_update((void *)(uintptr_t)is_update_due_to_time_change);
}
void tick_timer_service_subscribe(TimeUnits tick_units, TickHandler handler) {
const bool first = (s_state.handler == NULL);
s_state = (TickTimerServiceState) {
.handler = handler,
.tick_units = tick_units,
.first_tick = true,
};
if (first && handler != NULL) {
prv_schedule_next_update();
}
}
void emx_tick_timer_service_init(void) {
s_state = (TickTimerServiceState){};
}

View file

@ -0,0 +1,19 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
void emx_tick_timer_service_init(void);

View file

@ -0,0 +1,62 @@
["_main",
"_emx_graphics_get_pixels",
"_graphics_context_set_stroke_width",
"_graphics_context_set_antialiased",
"_emx_resources_read",
"_emx_resources_get_size",
"_app_state_get_graphics_context",
"_gdraw_command_image_create_with_resource",
"_gdraw_command_image_get_command_list",
"_gdraw_command_list_get_command",
"_gdraw_command_list_get_num_commands",
"_gdraw_command_sequence_create_with_resource",
"_gdraw_command_sequence_get_frame_by_elapsed",
"_gdraw_command_sequence_get_total_duration",
"_gdraw_command_get_type",
"_gdraw_command_get_stroke_width",
"_gdraw_command_set_stroke_width",
"_gdraw_command_set_path_open",
"_gdraw_command_get_path_open",
"_gdraw_command_set_hidden",
"_gdraw_command_get_hidden",
"_gdraw_command_get_num_points",
"_gdraw_command_set_radius",
"_gdraw_command_get_radius",
"_gdraw_command_sequence_get_play_count",
"_gdraw_command_sequence_set_play_count",
"_gdraw_command_sequence_get_total_duration",
"_gdraw_command_sequence_get_num_frames",
"_gdraw_command_sequence_get_frame_by_elapsed",
"_gdraw_command_sequence_get_frame_by_index",
"_gdraw_command_frame_set_duration",
"_gdraw_command_frame_get_duration",
"_gdraw_command_frame_get_command_list",
"_fonts_get_system_font",
"_fonts_load_custom_font",
"_fonts_unload_custom_font",
"_gbitmap_create_with_data",
"_gbitmap_create_from_png_data",
"_gbitmap_destroy",
"_gbitmap_get_format",
"_graphics_context_set_compositing_mode",
"_emx_resources_register_custom",
"_emx_resources_remove_custom",
"_gpath_draw_filled",
"_gpath_draw_outline",
"_gpath_draw_outline_open",
"_graphics_draw_text",
"_gbitmap_sequence_create_with_resource",
"_gbitmap_sequence_destroy",
"_gbitmap_sequence_get_current_frame_delay_ms",
"_gbitmap_sequence_get_total_num_frames",
"_gbitmap_sequence_get_current_frame_idx",
"_gbitmap_sequence_get_play_count",
"_gbitmap_sequence_set_play_count",
"_rocky_api_watchface_init",
"_jerry_call_function",
"_emscripten_call_jerry_function",
"_emscripten_call_jerry_object_free_callback",
"_tick_timer_service_handle_time_change",
"_clock_set_24h_style"
]

View file

@ -0,0 +1,83 @@
/*
Copyright © 2015-2016 Pebble Technology Corp.,
All Rights Reserved. http://pebble.github.io/rockyjs/LICENSE
This describes functionality to bind the Rocky Simulator to an HTML canvas
element. This file is included into the Emscripten output using --post-js,
as such it will end up in body of the RockySimulator(options) constructor.
*/
if (typeof(Module) === 'undefined') {
var Module = {};
}
Module.bindCanvas = function(canvas) {
// in a future version, these values should adapt automatically
// also, we want the ability to create framebuffers of larger sizes
var canvasW = canvas.width;
var canvasH = canvas.height;
var framebufferW = 144;
var framebufferH = 168;
// scale gives us the ability to do a nearest-neighbor scaling
var scale = options.scale ||
Math.min(canvasW / framebufferW, canvasH / framebufferH);
// pixel access to read (framebuffer) and write to (canvas)
var canvasCtx = canvas.getContext('2d');
var canvasPixelData = canvasCtx.createImageData(canvasW, canvasH);
var canvasPixels = canvasPixelData.data;
var framebufferPixelPTR = Module.ccall(
'emx_graphics_get_pixels', 'number', []
);
var isRenderRequested = false;
var copyFrameBufferToCanvas = function(timestamp) {
console.log('copying pixels...');
isRenderRequested = false;
var framebufferPixels = new Uint8Array(Module.HEAPU8.buffer,
framebufferPixelPTR,
framebufferW * framebufferH);
// renders current state of the framebuffer to the bound canvas
// respecting the passed scale
for (var y = 0; y < canvasH; y++) {
var pebbleY = (y / scale) >> 0;
if (pebbleY >= framebufferH) {
break;
}
for (var x = 0; x < canvasW; x++) {
var pebbleX = (x / scale) >> 0;
if (pebbleX >= framebufferW) {
break;
}
var pebbleOffset = pebbleY * framebufferW + pebbleX;
var in_values = framebufferPixels[pebbleOffset];
var r = ((in_values >> 4) & 0x3) * 85;
var g = ((in_values >> 2) & 0x3) * 85;
var b = ((in_values >> 0) & 0x3) * 85;
var canvasOffset = (y * canvasW + x) * 4;
canvasPixels[canvasOffset + 0] = r;
canvasPixels[canvasOffset + 1] = g;
canvasPixels[canvasOffset + 2] = b;
canvasPixels[canvasOffset + 3] = 255;
}
}
canvasCtx.putImageData(canvasPixelData, 0, 0);
};
Module.frameBufferMarkDirty = function() {
if (isRenderRequested) {
return;
}
console.log('request render');
isRenderRequested = true;
window.requestAnimationFrame(copyFrameBufferToCanvas);
}
};
// Apply `options` from the RockySimulator(options) constructor:
if (typeof(options) !== 'undefined' && options.canvas) {
Module.bindCanvas(options.canvas);
}

View file

@ -0,0 +1,116 @@
/**
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@import url(https://fonts.googleapis.com/css?family=Bowlby+One+SC|Roboto:400,700,400italic);
body {
font: 16px/1.5 'Roboto', sans-serif;
}
body {
padding-bottom: 2em;
}
body > .container:first-child > .row:first-child > div > p:first-child {
display: none;
}
h1 {
font-size: 3em;
}
h1 + blockquote {
border: 0 none;
max-width: 600px;
text-align: center;
margin: 0 auto 3em;
padding: 0;
}
h1, h2 {
font-family: "Bowlby One SC";
overflow: hidden;
text-align: center;
margin: 2em 0 1em;
text-transform: uppercase;
}
h1:before, h1:after, h2:before, h2:after {
background-color: #ddd;
content: "";
display: inline-block;
height: 1px;
position: relative;
vertical-align: middle;
width: 50%;
}
h1:before, h2:before {
right: 0.5em;
margin-left: -50%;
}
h1:after, h2:after {
left: 0.5em;
margin-right: -50%;
}
h3 {
margin: 1em 0 0.5em;
}
form {
width: 100%;
}
label {
width: 100%;
}
#githubForkLink {
background: url(../img/forkBanner.png) no-repeat top right;
position: absolute;
display: block;
width: 149px;
height: 149px;
top: 0;
right: 0;
/* Hide the text. */
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
}
table.table-compatibility>tbody>tr.standard {
background-color: #d9edf7;
}
table.table-compatibility>tbody>tr.implemented {
background-color: #dff0db;
}
table.table-compatibility>tbody>tr.partial {
background-color: #ffffff;
}
table.table-compatibility>tbody>tr.planned {
background-color: #fcf8e3;
}
table.table-compatibility>tbody>tr.not-planned {
background-color: #f2dede
}

View file

@ -0,0 +1,94 @@
<!DOCTYPE html>
<!--
Copyright 2024 Google LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Simple Rocky Simulator</title>
<link rel="stylesheet" href="css/bootstrap.css"/>
<link rel="stylesheet" href="css/style.css"/>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script type="text/javascript" src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script type="text/javascript" src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<script type="text/javascript" src="rocky.js"></script>
</head>
<body>
<div class="container">
<div class="page-header">
<h1>[Simple Rocky Simulator]</h1>
</div>
<div class="col-md-6">
<canvas id="pebble" class="rocky" width="432" height="504"></canvas>
</div>
<div class="col-md-6">
<h3>Controls</h3>
<p><form id="controls-form">
<label for="timestamp-input">Set Time (Epoch timestamp)</label>
<input id="timestamp-input" type="text" />
<label for="timezone-offset-input">Timezone Offset (<span id="timezone-offset-span"></span>)</label>
<input id="timezone-offset-input" type="range" min="-720" max="840" step="15" value="0" />
<label>24h Style</label>
<input id="24h-style-input" type="checkbox" />
</form></p>
</div>
</div>
<script type="text/javascript">
// Create a new simulator and bind it to the canvas:
var rockySimulator = new RockySimulator({
canvas: document.getElementById("pebble")
});
// in the future, we will replace the singleton
// `rocky` as well as the namespace `Rocky`, e.g.
// `Rocky.tween` and `Rocky.WatchfaceHelper` with modules
var rocky = _rocky;
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
if (decodeURIComponent(pair[0]) == variable) {
return decodeURIComponent(pair[1]);
}
}
}
// Load app source from 'src' query param (URL / data URI):
var src = getQueryVariable('src');
// If 'src' is set to empty string, don't load anything (for testing):
if (src !== '') {
src = src || 'js/tictoc.js';
var script = document.createElement('script');
script.src = src;
document.getElementsByTagName('html')[0].appendChild(script);
}
</script>
<script type="text/javascript" src="js/controls.js"></script>
</body>
</html>

View file

@ -0,0 +1,62 @@
/**
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
window.addEventListener('load', function() {
var form = document.getElementById("controls-form");
form.addEventListener('submit', function(e) {
e.preventDefault();
});
var timestampInput = document.getElementById("timestamp-input");
timestampInput.addEventListener('change', function(e) {
rockySimulator.setTime(Number(e.target.value) * 1000);
});
var timezoneSlider = document.getElementById("timezone-offset-input");
var timezoneSpan = document.getElementById("timezone-offset-span");
var timezoneSliderOnChange = function() {
var offset = timezoneSlider.value;
rockySimulator.setTimezoneOffset(offset);
var sign;
if (offset > 0) {
sign = '+';
} else if (offset < 0) {
sign = '-';
} else {
sign = '';
}
var offsetMinutes = (offset % 60);
var absOffsetHours = Math.abs((offset - offsetMinutes) / 60);
var gmtText = 'GMT ' + sign + absOffsetHours;
if (offsetMinutes) {
var absOffsetMinutes = Math.abs(offsetMinutes);
gmtText += ':' + (absOffsetMinutes < 10 ? '0' : '') + absOffsetMinutes;
}
timezoneSpan.innerText = gmtText;
};
timezoneSlider.addEventListener('change', timezoneSliderOnChange);
timezoneSlider.addEventListener('input', timezoneSliderOnChange);
// After loading the page, set the slider to the local TZ:
var localTimezoneOffset = new Date().getTimezoneOffset();
timezoneSlider.value = localTimezoneOffset;
timezoneSliderOnChange();
var time24hStyle = document.getElementById("24h-style-input");
time24hStyle.addEventListener('change', function(e) {
rockySimulator.set24hStyle(e.target.checked);
});
});

View file

@ -0,0 +1,91 @@
/**
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var WatchfaceHelper = function(date) {
function clockwiseRad(fraction) {
// TODO: figure out if this is actually correct orientation for Canvas APIs
return (1.5 - fraction) * 2 * Math.PI;
}
date = date || new Date();
var secondFraction = date.getSeconds() / 60;
var minuteFraction = (date.getMinutes()) / 60;
var hourFraction = (date.getHours() % 12 + minuteFraction) / 12;
this.secondAngle = clockwiseRad(secondFraction);
this.minuteAngle = clockwiseRad(minuteFraction);
this.hourAngle = clockwiseRad(hourFraction);
};
// book keeping so that we can easily animate the two hands for the watchface
// .scale/.angle are updated by tween/event handler (see below)
var renderState = {
minute: {style: 'white', scale: 0.80, angle: 0},
hour: {style: 'red', scale: 0.51, angle: 0}
};
// helper function for the draw function (see below)
// extracted as a standalone function to satisfy common believe in efficient JS code
// TODO: verify that this has actually any effect on byte code level
var drawHand = function(handState, ctx, cx, cy, maxRadius) {
ctx.lineWidth = 8;
ctx.strokeStyle = handState.style;
ctx.beginPath();
ctx.moveTo(cx, cy);
ctx.lineTo(cx + Math.sin(handState.angle) * handState.scale * maxRadius,
cy + Math.cos(handState.angle) * handState.scale * maxRadius);
ctx.stroke();
};
// the 'draw' event is being emitted after each call to rocky.requestDraw() but
// at most once for each screen update, even if .requestDraw() is called frequently
// the 'draw' event might also fire at other meaningful times (e.g. upon launch)
rocky.on('draw', function(drawEvent) {
var ctx = drawEvent.context;
var w = ctx.canvas.unobstructedWidth;
var h = ctx.canvas.unobstructedHeight;
// clear canvas on each render
ctx.fillStyle = 'black';
ctx.fillRect(0, 0, ctx.canvas.clientWidth, ctx.canvas.clientHeight);
// center point
var cx = w / 2;
var cy = h / 2;
var maxRadius = Math.min(w, h - 2 * 10) / 2;
drawHand(renderState.minute, ctx, cx, cy, maxRadius);
drawHand(renderState.hour, ctx, cx, cy, maxRadius);
// Draw a 12 o clock indicator
drawHand({style: 'white', scale: 0, angle: 0}, ctx, cx, 8, 0);
// overdraw center so that no white part of the minute hand is visible
drawHand({style: 'red', scale: 0, angle: 0}, ctx, cx, cy, 0);
});
// listener is called on each full minute and once immediately after registration
rocky.on('minutechange', function(e) {
// WatchfaceHelper will later be extracted as npm module
var wfh = new WatchfaceHelper(e.date);
renderState.minute.angle = wfh.minuteAngle;
renderState.hour.angle = wfh.hourAngle;
rocky.requestDraw();
});
rocky.on('secondchange', function(e) {
console.log(e.date.toLocaleTimeString() + ' ' + e.date.toLocaleDateString() +
' ' + e.date.toLocaleString());
});
console.log('TicToc launched');

View file

@ -0,0 +1 @@
node_modules

View file

@ -0,0 +1,6 @@
def configure(conf):
pass
def build(bld):
pass

View file

@ -0,0 +1,192 @@
/**
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Polyfill Number.isNaN
if (Number.isNaN === undefined) {
Number.isNaN = Number.isNaN || function(value) {
return value !== value;
}
}
var __jerryRefs = {
// Jerryscript values (jerry_value_t) are integers which contain information
// about some javascript value that has been internally created.
// Create _objMap which will allow us to store and retrieve javascript values
// from a jerry_value_t, and perform refcounts on values that we still need an
// internal reference to, and avoid them from being garbage collected.
_objMap : {},
_nextObjectRef : 1,
_findValue : function(value) {
if (Number.isNaN(value)) {
// Special case to find NaN
for (var jerry_val in this._objMap) {
if (Number.isNaN(this._objMap[jerry_val].value)) {
return jerry_val;
}
}
} else {
for (var jerry_val in this._objMap) {
if (this._objMap[jerry_val].value === value) {
return jerry_val;
}
}
}
return 0;
},
_getEntry : function(jerry_value) {
var entry = this._objMap[jerry_value];
if (!entry) {
throw new Error('Entry at ' + jerry_value + ' does not exist');
}
return entry;
},
reset: function() {
this._objMap = {};
this._nextObjectRef = 1;
},
// Given a jerry value, return the stored javascript value.
get : function(jerry_value) {
return this._getEntry(jerry_value).value;
},
// Given a javascript value, return a jerry value that refers to it.
// If the value already exists in the map, increment its refcount and return
// the jerry value.
// Otherwise, create a new entry and return the jerry value.
ref : function(value) {
var jerry_value = this._findValue(value);
if (jerry_value) {
this._getEntry(jerry_value).refCount++;
return jerry_value;
}
jerry_value = this._nextObjectRef++;
this._objMap[jerry_value] = {
refCount : 1,
value : value,
error : false,
};
// console.log('created entry ' + jerry_value + ' for ' + value + ' at ' + stackTrace());
return jerry_value;
},
getRefCount : function(jerry_value) {
return this._getEntry(jerry_value).refCount;
},
// Increase the reference count of the given jerry value
acquire : function(jerry_value) {
this._getEntry(jerry_value).refCount++;
return jerry_value;
},
// Decrease the reference count of the given jerry value and delete it if
// there are no more internal references.
release : function(ref) {
var entry = this._getEntry(ref);
entry.refCount--;
if (entry.refCount <= 0) {
if (entry.freeCallbackPtr) {
Module.ccall(
'emscripten_call_jerry_object_free_callback',
null,
['number', 'number'],
[entry.freeCallbackPtr, entry.nativeHandlePtr]);
}
// console.log('deleting ' + ref + ' at ' + stackTrace());
delete this._objMap[ref];
}
},
setError : function(ref, state) {
this._getEntry(ref).error = state;
},
getError : function(ref) {
return this._getEntry(ref).error;
},
setNativeHandle : function(jerryValue, nativeHandlePtr, freeCallbackPtr) {
var entry = this._getEntry(jerryValue);
entry.nativeHandlePtr = nativeHandlePtr;
entry.freeCallbackPtr = freeCallbackPtr;
},
getNativeHandle : function(jerryValue) {
return this._getEntry(jerryValue).nativeHandlePtr;
}
};
function __jerry_create_external_function(function_ptr) {
var f = function() {
var nativeHandlerArgs = [
function_ptr, /* the function pointer for us to call */
__jerryRefs.ref(f), /* ref to the actual js function */
__jerryRefs.ref(this) /* our this object */
];
var numArgs = arguments.length;
var jsRefs = [];
for (var i = 0; i < numArgs; i++) {
jsRefs.push(__jerryRefs.ref(arguments[i]));
}
// Arg 4 is a uint32 array of jerry_value_t arguments
var jsArgs = Module._malloc(numArgs * 4);
for (var i = 0; i < numArgs; i++) {
Module.setValue(jsArgs + i*4, jsRefs[i], 'i32');
}
nativeHandlerArgs.push(jsArgs);
nativeHandlerArgs.push(numArgs);
// this is just the classy Emscripten calling. function_ptr is a C-pointer here
// and we know the signature of the C function as it needs to follow
var result_ref = Module.ccall('emscripten_call_jerry_function',
'number',
['number', 'number', 'number', 'number', 'number'],
nativeHandlerArgs);
// Free and release all js args
Module._free(jsArgs);
while (jsRefs.length > 0) {
__jerryRefs.release(jsRefs.pop());
}
// decrease refcount of native handler arguments
__jerryRefs.release(nativeHandlerArgs[1]); // jsFunctionRef
__jerryRefs.release(nativeHandlerArgs[2]); // our this object
// delete native handler arguments
nativeHandlerArgs.length = 0;
var result_val = __jerryRefs.get(result_ref);
var has_error = __jerryRefs.getError(result_ref);
__jerryRefs.release(result_ref);
if (has_error) {
throw result_val;
}
return result_val;
};
return __jerryRefs.ref(f);
}

View file

@ -0,0 +1,224 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <stdint.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include "util/heap.h"
#include "util/size.h"
#include "applib/app_logging.h"
#include "applib/fonts/fonts.h"
#include "applib/fonts/fonts_private.h"
#include "applib/graphics/text_resources.h"
#include "applib/rockyjs/api/rocky_api.h"
#include "resource/resource_ids.auto.h"
#include "font_resource_keys.auto.h"
#include "font_resource_table.auto.h"
#include "emscripten_app.h"
#include "emscripten_graphics.h"
#include "emscripten_resources.h"
#include <emscripten/emscripten.h>
#define NUM_SYSTEM_FONTS (ARRAY_LENGTH(s_font_resource_keys))
void *task_malloc(size_t bytes) {
return malloc(bytes);
}
void *task_zalloc(size_t bytes) {
void *ptr = malloc(bytes);
if (ptr) {
memset(ptr, 0, bytes);
}
return ptr;
}
void *task_zalloc_check(size_t bytes) {
void *ptr = task_zalloc(bytes);
if (!ptr) {
wtf();
}
return ptr;
}
void *task_realloc(void *ptr, size_t bytes) {
return realloc(ptr, bytes);
}
void task_free(void *ptr) {
free(ptr);
}
void app_log(uint8_t log_level, const char* src_filename,
int src_line_number, const char* fmt, ...) {
printf("%s:%d", src_filename, src_line_number);
va_list args;
va_start(args, fmt);
vprintf(fmt, args);
va_end(args);
printf("\n");
}
GContext* app_state_get_graphics_context() {
return emx_graphics_get_gcontext();
}
bool app_state_get_text_perimeter_debugging_enabled(void) {
return false;
}
Heap *app_state_get_heap(void) {
return NULL;
}
GBitmap* app_state_legacy2_get_2bit_framebuffer(void) {
return NULL;
}
bool heap_is_allocated(Heap* const heap, void* ptr) {
return false;
}
void passert_failed(const char* filename, int line_number, const char* message, ...) {
APP_LOG(LOG_LEVEL_ERROR, "ASSERTION FAILED: %s:%d", filename, line_number);
EM_ASM_INT_V({ abort(); });
while (1) ;
}
void passert_failed_no_message(const char* filename, int line_number) {
passert_failed(filename, line_number, NULL);
while (1) ;
}
void passert_failed_hashed_no_message(void) {
EM_ASM_INT_V({ abort(); });
while (1);
}
void passert_failed_hashed(uint32_t packed_loghash, ...) {
EM_ASM_INT_V({ abort(); });
while (1);
}
void pbl_log(uint8_t log_level, const char* src_filename,
int src_line_number, const char* fmt, ...) {
printf("%s:%d ", src_filename, src_line_number);
va_list args;
va_start(args, fmt);
vprintf(fmt, args);
va_end(args);
printf("\n");
}
bool process_manager_compiled_with_legacy2_sdk(void) {
return false;
}
ResAppNum sys_get_current_resource_num(void) {
return 1; // 0 is system
}
size_t sys_resource_load_range(ResAppNum app_num, uint32_t id, uint32_t start_bytes,
uint8_t *buffer, size_t num_bytes) {
return emx_resources_read(app_num, id, start_bytes, buffer, num_bytes);
}
size_t sys_resource_size(ResAppNum app_num, uint32_t handle) {
return emx_resources_get_size(app_num, handle);
}
GFont sys_font_get_system_font(const char *font_key) {
static FontInfo s_system_fonts_info_table[NUM_SYSTEM_FONTS + 1] = {};
for (int i = 0; i < (int) NUM_SYSTEM_FONTS; ++i) {
if (0 == strcmp(font_key, s_font_resource_keys[i].key_name)) {
FontInfo *fontinfo = &s_system_fonts_info_table[i];
uint32_t resource = s_font_resource_keys[i].resource_id;
// if the font has not been initialized yet
if (!fontinfo->loaded) {
if (!text_resources_init_font(SYSTEM_APP,
resource, 0, &s_system_fonts_info_table[i])) {
// Can't initialize the font for some reason
return NULL;
}
}
return &s_system_fonts_info_table[i];
}
}
// Didn't find the given font, invalid key.
return (GFont)NULL;
}
void sys_font_reload_font(FontInfo *fontinfo) {
text_resources_init_font(fontinfo->base.app_num, fontinfo->base.resource_id,
fontinfo->extension.resource_id, fontinfo);
}
uint32_t sys_resource_get_and_cache(ResAppNum app_num, uint32_t resource_id) {
return resource_id;
}
bool sys_resource_is_valid(ResAppNum app_num, uint32_t resource_id) {
return true;
}
ResourceCallbackHandle resource_watch(ResAppNum app_num,
uint32_t resource_id,
ResourceChangedCallback callback,
void *data) {
return NULL;
}
void applib_resource_munmap_or_free(void *bytes) {
free(bytes);
}
void *applib_resource_mmap_or_load(ResAppNum app_num, uint32_t resource_id,
size_t offset, size_t num_bytes, bool used_aligned) {
if (num_bytes == 0) {
return NULL;
}
uint8_t *result = malloc(num_bytes + (used_aligned ? 7 :0));
if (!result
|| sys_resource_load_range(app_num, resource_id, offset, result, num_bytes) != num_bytes) {
free(result);
return NULL;
}
return result;
}
void wtf(void) {
printf(">>>> WTF\n");
EM_ASM_INT_V({ abort(); });
while (1) ;
}
PebbleTask pebble_task_get_current(void) {
return PebbleTask_App;
}
void app_event_loop(void) {
// FIXME: PBL-43469 will need to remove this init from here when multiple
// platform support is implemented.
rocky_api_watchface_init();
emx_app_event_loop();
}

View file

@ -0,0 +1,132 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "../../emscripten_resources.h"
#include <stdio.h>
#include <stdlib.h>
#define ASSERT(expr) \
do { \
if (!(expr)) { \
printf("%s:%d " #expr " false\n", __FILE__, __LINE__); \
exit(-1); \
} \
} while (0)
#define CUSTOM_RES_GEN(x) \
static uint32_t s_read_##x##_called = 0; \
static uint32_t s_size_##x##_called = 0; \
int custom_res_read_##x(int offset, uint8_t *buf, int num_bytes) { \
uint32_t *buf_ptr = (uint32_t *)buf; \
*buf_ptr = x; \
s_read_##x##_called++; \
return 4; \
} \
int custom_res_size_##x(void) { \
s_size_##x##_called++; \
return 4; \
}
CUSTOM_RES_GEN(1);
CUSTOM_RES_GEN(2);
CUSTOM_RES_GEN(3);
CUSTOM_RES_GEN(4);
int main(int argc, char **argv) {
// 1 res
uint32_t id_1 = emx_resources_register_custom(custom_res_read_1, custom_res_size_1);
ASSERT(emx_resources_get_size(1, id_1) == 4);
uint32_t buf = 0;
ASSERT(emx_resources_read(1, id_1, 0, (uint8_t *)&buf, 1) == 4);
ASSERT(buf == 1);
ASSERT(s_read_1_called == 1);
ASSERT(s_size_1_called == 1);
// 2nd res
uint32_t id_2 = emx_resources_register_custom(custom_res_read_2, custom_res_size_2);
ASSERT(emx_resources_get_size(1, id_2) == 4);
buf = 0;
ASSERT(emx_resources_read(1, id_2, 0, (uint8_t *)&buf, 1) == 4);
ASSERT(buf == 2);
ASSERT(s_read_2_called == 1);
ASSERT(s_size_2_called == 1);
// 3rd res
uint32_t id_3 = emx_resources_register_custom(custom_res_read_3, custom_res_size_3);
ASSERT(emx_resources_get_size(1, id_3) == 4);
buf = 0;
ASSERT(emx_resources_read(1, id_3, 0, (uint8_t *)&buf, 1) == 4);
ASSERT(buf == 3);
ASSERT(s_read_3_called == 1);
ASSERT(s_size_3_called == 1);
// remove 2
emx_resources_remove_custom(id_2);
ASSERT(emx_resources_get_size(1, id_2) == 0);
buf = 0;
ASSERT(emx_resources_read(1, id_2, 0, (uint8_t *)&buf, 1) == 0);
ASSERT(buf == 0);
// verify 1 & 3 are OK
buf = 0;
ASSERT(emx_resources_read(1, id_3, 0, (uint8_t *)&buf, 1) == 4);
ASSERT(buf == 3);
ASSERT(s_read_3_called == 2);
buf = 0;
ASSERT(emx_resources_read(1, id_1, 0, (uint8_t *)&buf, 1) == 4);
ASSERT(buf == 1);
ASSERT(s_read_1_called == 2);
// add 4
uint32_t id_4 = emx_resources_register_custom(custom_res_read_4, custom_res_size_4);
ASSERT(emx_resources_get_size(1, id_4) == 4);
buf = 0;
ASSERT(emx_resources_read(1, id_4, 0, (uint8_t *)&buf, 1) == 4);
ASSERT(buf == 4);
ASSERT(s_read_4_called == 1);
ASSERT(s_size_4_called == 1);
// remove 1 & 3
emx_resources_remove_custom(id_1);
ASSERT(emx_resources_get_size(1, id_1) == 0);
emx_resources_remove_custom(id_3);
ASSERT(emx_resources_get_size(1, id_3) == 0);
// verify 4 is ok
buf = 0;
ASSERT(emx_resources_read(1, id_4, 0, (uint8_t *)&buf, 1) == 4);
ASSERT(buf == 4);
ASSERT(s_read_4_called == 2);
// remove 4
emx_resources_remove_custom(id_4);
ASSERT(emx_resources_get_size(1, id_4) == 0);
ASSERT(s_size_4_called == 1);
// add 4 again
id_4 = emx_resources_register_custom(custom_res_read_4, custom_res_size_4);
ASSERT(emx_resources_get_size(1, id_4) == 4);
buf = 0;
ASSERT(emx_resources_read(1, id_4, 0, (uint8_t *)&buf, 1) == 4);
ASSERT(buf == 4);
ASSERT(s_read_4_called == 3);
ASSERT(s_size_4_called == 2);
// remove 4 again
emx_resources_remove_custom(id_4);
ASSERT(emx_resources_get_size(1, id_4) == 0);
ASSERT(s_size_4_called == 2);
}

View file

@ -0,0 +1,42 @@
from waflib import Logs
def configure(conf):
conf.load('gcc waf_unit_test')
pass
def show_results(bld):
lst = getattr(bld, 'utest_results', [])
if lst:
Logs.pprint('CYAN', 'execution summary')
total = len(lst)
tfail = len([x for x in lst if x[1]])
Logs.pprint('CYAN', ' tests that pass %d/%d' % (total-tfail, total))
for (f, code, out, err) in lst:
if not code:
Logs.pprint('CYAN', ' %s' % f)
if (tfail):
Logs.pprint('RED', ' tests that fail %d/%d' % (tfail, total))
for (f, code, out, err) in lst:
if code:
Logs.pprint('CYAN', ' %s' % f)
Logs.pprint('WHITE', ' %s' % out)
def build(bld):
includes = ['.', '../', '../../../src/fw/']
sources = bld.path.ant_glob('*.c')
sources.append(bld.path.parent.find_node('emscripten_resources.c'))
bld.program(features='test',
source=sources,
target='test',
cflags='-g',
includes=includes)
bld.add_post_fun(show_results)
# vim:filetype=python

View file

@ -0,0 +1,134 @@
#!/usr/bin/env python
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import argparse
import re
import sys
def main():
parser = argparse.ArgumentParser()
parser.add_argument('js_file')
parser.add_argument('--unittest', action='store_true')
args = parser.parse_args()
# load file to be processed
with open(args.js_file, "r") as f:
source = f.read()
# remove all known functions for memory access
# note: this implementation uses a weak heuristic: only the closing } of a
# given function has no indentation
for func in ["SAFE_HEAP_LOAD", "SAFE_HEAP_LOAD_D", "SAFE_HEAP_STORE", "SAFE_HEAP_STORE_D"]:
source = re.sub("function %s\([^\)]*\)\s*{(.*\n)+?}" % func, "", source)
# applies the same patch as seen at
# https://github.com/kripken/emscripten/commit/bc11547fbf446993ee0f6f30a0deb3f80f205c35
# which is part of the fix for https://github.com/kripken/emscripten/issues/3945
# TODO: fix after PBL-32521 is done
orig_source = source
source = source.replace("funcstr += arg + '=' + convertCode.returnValue + ';';",
"funcstr += arg + '=(' + convertCode.returnValue + ');';")
# assert source != orig_source, "Emscripten output does not match expected output of 1.35.0"
# we're not using emscripten's --pre-js and --post-js as it interferes
# with --embed-file
with open(args.js_file, "w") as f:
f.write(PROLOGUE)
if args.unittest:
f.write(UNITTEST_PROLOGUE)
f.write(source)
f.write(EPILOGUE)
if args.unittest:
f.write("new RockySimulator();\n")
PROLOGUE = """
RockySimulator = function(options) {
options = options || {};
var Module = {
print: function(text) {
console.log(text);
},
printErr: function(text) {
console.error(text);
},
};
"""
EPILOGUE = """
// support non-aligned memory access
function SAFE_HEAP_STORE(dest, value, bytes, isFloat) {
if (dest <= 0) abort('segmentation fault storing ' + bytes + ' bytes to address ' + dest);
if (dest + bytes > Math.max(DYNAMICTOP, STATICTOP)) abort('segmentation fault, exceeded the top of the available heap when storing ' + bytes + ' bytes to address ' + dest + '. STATICTOP=' + STATICTOP + ', DYNAMICTOP=' + DYNAMICTOP);
assert(DYNAMICTOP <= TOTAL_MEMORY);
if (dest % bytes !== 0) {
for (var i = 0; i < bytes; i++) {
HEAPU8[dest + i >> 0] = (value >> (8 * i)) & 0xff;
}
} else {
setValue(dest, value, getSafeHeapType(bytes, isFloat), 1);
}
}
function SAFE_HEAP_STORE_D(dest, value, bytes) {
SAFE_HEAP_STORE(dest, value, bytes, true);
}
function SAFE_HEAP_LOAD(dest, bytes, unsigned, isFloat) {
// overrule
if (dest <= 0) abort('segmentation fault loading ' + bytes + ' bytes from address ' + dest);
if (dest + bytes > Math.max(DYNAMICTOP, STATICTOP)) abort('segmentation fault, exceeded the top of the available heap when loading ' + bytes + ' bytes from address ' + dest + '. STATICTOP=' + STATICTOP + ', DYNAMICTOP=' + DYNAMICTOP);
assert(DYNAMICTOP <= TOTAL_MEMORY);
var type = getSafeHeapType(bytes, isFloat);
var ret;
if (dest % bytes !== 0) {
for (var i = 0; i < bytes; i++) {
ret |= HEAPU8[dest + i >> 0] << (8 * i);
}
} else {
ret = getValue(dest, type, 1);
}
if (unsigned) ret = unSign(ret, parseInt(type.substr(1)), 1);
return ret;
}
function SAFE_HEAP_LOAD_D(dest, bytes, unsigned) {
return SAFE_HEAP_LOAD(dest, bytes, unsigned, true);
}
return Module;
};
if (typeof(module) !== "undefined") {
module.exports = RockySimulator;
}
"""
UNITTEST_PROLOGUE = """
var defaultPreRun = Module.preRun;
Module.preRun = function() {
if (defaultPreRun) {
defaultPreRun();
}
// Mount the host filesystem to make the fixture files accessible:
FS.mkdir('/node_fs');
FS.mount(NODEFS, { root: '/' }, '/node_fs');
}
"""
if __name__ == "__main__":
main()

View file

@ -0,0 +1,137 @@
from waflib import Logs
def em_resource(task):
packager = task.env.EMSCRIPTEN_ROOT + '/tools/file_packager.py'
task.exec_command(['python',
packager,
task.outputs[0].abspath(),
'--embed',
task.inputs[0].abspath(),
'--js-output=' + task.outputs[0].abspath()])
def configure(conf):
conf.find_program('node', var='NODE', errmsg='node is not installed')
# Make sure we're about to modify the 'local' conf:
prev_env = conf.env
conf.set_env(conf.all_envs['local'])
conf.load('emscripten')
# The standard lib emscripten bundles uses a different format
# for its stack guard!!
conf.env.CFLAGS.append('-D_TIME_H')
# For unit tests: DUMA depends on pthread,
# which I didn't get to work with emscripten.
conf.env.DEFINES.append('DUMA_DISABLED')
# Flags that emcc doesn't support, just remove them:
unwanted_cflags = ['-gdwarf-4']
if 'RELEASE' not in conf.env.DEFINES:
conf.env.EMCC_DEBUG = 2
conf.env['CFLAGS'].extend(['-g4'])
unwanted_cflags.extend(['-g3', '-g'])
conf.env['CFLAGS'] = filter(
lambda flag: flag not in unwanted_cflags,
conf.env['CFLAGS']
)
conf.env.EMX_OTHER_SETTINGS = [
'SAFE_HEAP=1',
# absurdly large value so we don't worry:
'RESERVED_FUNCTION_POINTERS=1000',
'ERROR_ON_UNDEFINED_SYMBOLS=1'
]
conf.add_platform_defines(conf.env)
conf.recurse('integration_tests')
conf.setenv('emscripten', conf.env)
conf.set_env(prev_env)
def apply_config_for_applib_and_test_rocky_emx_builds(bld):
bld.env.DEFINES.append("APPLIB_EMSCRIPTEN=1")
# __builtin_return_address() doesn't seem to be supported by Emscripten,
# it fail at runtime due to a missing `llvm_return_address` function.
bld.env.CFLAGS.extend(['-D__builtin_return_address(level)=(0)'])
jerry_api_js = bld.path.make_node('jerry_api.js')
timeshift_js = bld.path.find_node('timeshift-js/timeshift.js')
html_binding_js = bld.path.make_node('html-binding.js')
bld.env.EMX_PRE_JS_FILES = [jerry_api_js, timeshift_js]
bld.env.EMX_POST_JS_FILES = [html_binding_js]
# use external transformation script instead of --pre-js and --post-js so
# we can replace functions and wrap entire file without interfering with
# --embed-file
transform_js_node_and_args = [bld.path.make_node('transform_js.py')]
if bld.variant == 'test_rocky_emx':
transform_js_node_and_args.append(' --unittest')
bld.env.EMX_TRANSFORM_JS_NODE_AND_ARGS = transform_js_node_and_args
def build(bld):
if bld.variant == 'test':
bld.recurse('tests')
return
# Extend waf's 'cprogram' feature with Emscripten-specific things:
bld.load('emscripten')
apply_config_for_applib_and_test_rocky_emx_builds(bld)
# Fine to use 'stlib' here vs emscripten_program, because we're only
# invoking emcc to generate an archive file, so only 'standard' compiler
# flags need to be passed.
bld.objects(source=['emscripten_jerry_api.c'],
target='emscripten_jerry_api',
use=['jerry_port_includes'])
if bld.variant == 'test_rocky_emx':
return
# Copy stuff from html folder:
html_node = bld.path.find_dir('html')
html_bld_node = bld.path.get_bld().make_node('html')
for file in html_node.ant_glob('**/*'):
bld(rule="cp ${SRC} ${TGT}",
source=file,
target=html_bld_node.make_node(file.path_from(html_node)))
pbpack = bld.path.parent.parent.get_bld().make_node('system_resources.pbpack')
exported_functions = bld.path.make_node('exported_functions.json')
sources = bld.path.ant_glob('*.c', excl='emscripten_jerry_api.c')
rockyjs_node = html_bld_node.make_node('rocky.js')
bld.program(source=sources,
target=rockyjs_node,
emx_pre_js_files=[],
emx_post_js_files=[],
emx_exported_functions=exported_functions,
emx_other_settings=[],
emx_embed_files=[pbpack],
use=['emscripten_jerry_api',
'applib',
'applib_includes',
'nanopb',
'fw_includes',
'libutil',
'upng'])
bld.recurse('integration_tests')
def print_index_html_path(bld):
index_html_path = html_bld_node.find_node('index.html').abspath()
Logs.pprint('PINK',
'Built Rocky Simulator: file://{}'.format(index_html_path))
bld.add_post_fun(print_index_html_path)
# vim:filetype=python

View file

@ -0,0 +1,19 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
typedef long BaseType_t;

View file

@ -0,0 +1,34 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <stdlib.h>
#include <string.h>
static void* applib_zalloc(size_t size) {
void* result = malloc(size);
if (result) {
memset(result, 0, size);
}
return result;
}
#define applib_type_zalloc(Type) applib_zalloc(sizeof(Type))
#define applib_type_malloc(Type) malloc(sizeof(Type))
#define applib_type_size(Type) sizeof(Type)
#define applib_malloc(size) malloc(size)
#define applib_free(ptr) free(ptr)

View file

@ -0,0 +1,22 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
struct pebble_mutex_t;
typedef struct pebble_mutex_t PebbleMutex;
struct pebble_recursive_mutex_t;
typedef struct pebble_recursive_mutex_t PebbleRecursiveMutex;

View file

@ -0,0 +1,19 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
typedef long BaseType_t;

View file

@ -0,0 +1,19 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
typedef void * QueueHandle_t;

View file

@ -0,0 +1,17 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once

View file

@ -0,0 +1,22 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
typedef void * TaskHandle_t;
typedef struct {
} TaskParameters_t;

View file

@ -0,0 +1,40 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <stdio.h>
#include "sdl_graphics.h"
#include "sdl_app.h"
#include "applib/app.h"
#include "applib/graphics/gtypes.h"
#include "applib/graphics/graphics.h"
#include "applib/graphics/graphics_line.h"
int main(void) {
GContext *context = sdl_graphics_get_gcontext();
graphics_context_set_stroke_color(context, GColorBrightGreen);
graphics_context_set_stroke_width(context, 2);
graphics_draw_line(context, (GPoint){0, 0}, (GPoint){100, 100});
graphics_draw_line(context, (GPoint){0, 10}, (GPoint){100, 10});
graphics_draw_line(context, (GPoint){0, 20}, (GPoint){100, 20});
graphics_draw_line(context, (GPoint){0, 30}, (GPoint){100, 30});
graphics_draw_circle(context, (GPoint){50, 50}, 20);
app_event_loop();
return 0;
}

View file

@ -0,0 +1,12 @@
from waflib import Task
from waflib.TaskGen import feature, before_method
def build(bld):
sources = bld.path.ant_glob('*.c')
bld.program(source=sources,
target='sdl-example',
defines=['main=app_main'],
use=['applib_sdl', 'fw_includes'])
# vim:filetype=python

View file

@ -0,0 +1,72 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "sdl_app.h"
#include "sdl_graphics.h"
#include <stdio.h>
extern int app_main(void);
int main(int argc, char **argv) {
if (!sdl_app_init()) {
return -1;
}
app_main();
sdl_app_deinit();
return 0;
}
#include <SDL.h>
bool sdl_app_init(void) {
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
printf("Error: Failed to init SDL\n");
return false;
}
if (!sdl_graphics_init()) {
printf("Error: Failed to init graphics\n");
return false;
}
return true;
}
void sdl_app_deinit(void) {
SDL_Quit();
}
void sdl_app_event_loop(void) {
SDL_Event event;
int keypress = 0;
while (!keypress) {
sdl_graphics_render();
while (SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_QUIT:
keypress = 1;
break;
case SDL_KEYDOWN:
keypress = 1;
break;
}
}
}
}

View file

@ -0,0 +1,23 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <stdbool.h>
bool sdl_app_init(void);
void sdl_app_deinit(void);
void sdl_app_event_loop(void);

View file

@ -0,0 +1,61 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "sdl_graphics.h"
#include "applib/graphics/graphics.h"
#include "applib/graphics/8_bit/framebuffer.h"
#include "util/circular_cache.h"
#include <stdint.h>
#include <stdio.h>
#include <SDL.h>
static GContext s_gcontext = {};
static FrameBuffer fb = {};
static SDL_Surface *screen = NULL;
bool sdl_graphics_init(void) {
if (!(screen = SDL_SetVideoMode(DISP_COLS, DISP_ROWS, 8 /* bits/pixel */, SDL_HWSURFACE))) {
return false;
}
framebuffer_init(&fb, &(GSize) {DISP_COLS, DISP_ROWS});
s_gcontext = (GContext) {
.dest_bitmap = (GBitmap) {
.addr = screen->pixels,
.row_size_bytes = DISP_COLS,
.info = (BitmapInfo) {.format = GBITMAP_NATIVE_FORMAT },
.bounds = (GRect) { { 0, 0 }, { DISP_COLS, DISP_ROWS } },
.data_row_infos = NULL,
},
.parent_framebuffer = &fb,
.parent_framebuffer_vertical_offset = 0,
.lock = false
};
graphics_context_set_default_drawing_state(&s_gcontext, GContextInitializationMode_App);
return true;
}
GContext *sdl_graphics_get_gcontext(void) {
return &s_gcontext;
}
void sdl_graphics_render(void) {
SDL_Flip(screen);
}

View file

@ -0,0 +1,24 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <stdbool.h>
#include "applib/graphics/gtypes.h"
bool sdl_graphics_init(void);
void sdl_graphics_render(void);
GContext *sdl_graphics_get_gcontext(void);

105
applib-targets/sdl/shims.c Normal file
View file

@ -0,0 +1,105 @@
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <stdio.h>
#include <stdarg.h>
#include <stdint.h>
#include "util/heap.h"
#include "util/circular_cache.h"
#include "sdl_app.h"
#include "sdl_graphics.h"
void *task_malloc(size_t bytes) {
return malloc(bytes);
}
void task_free(void *ptr) {
free(ptr);
}
void app_log(uint8_t log_level, const char* src_filename,
int src_line_number, const char* fmt, ...) {
va_list args;
va_start(args, fmt);
vprintf(fmt, args);
va_end(args);
}
GContext* app_state_get_graphics_context() {
return sdl_graphics_get_gcontext();
}
Heap *app_state_get_heap(void) {
return NULL;
}
GBitmap* app_state_legacy2_get_2bit_framebuffer(void) {
return NULL;
}
void circular_cache_init(CircularCache* c, uint8_t* buffer, size_t item_size,
int total_items, Comparator compare_cb) {
}
bool heap_is_allocated(Heap* const heap, void* ptr) {
return false;
}
void passert_failed(const char* filename, int line_number, const char* message, ...) {
}
void passert_failed_no_message(const char* filename, int line_number) {
}
void pbl_log(uint8_t log_level, const char* src_filename,
int src_line_number, const char* fmt, ...) {
va_list args;
va_start(args, fmt);
vprintf(fmt, args);
va_end(args);
}
bool process_manager_compiled_with_legacy2_sdk(void) {
return false;
}
ResAppNum sys_get_current_resource_num(void) {
return 0;
}
const uint8_t * sys_resource_builtin_bytes(ResAppNum app_num, uint32_t resource_id,
uint32_t *num_bytes_out) {
return 0;
}
size_t sys_resource_load_range(ResAppNum app_num, uint32_t id, uint32_t start_bytes,
uint8_t *buffer, size_t num_bytes) {
return 0;
}
size_t sys_resource_size(ResAppNum app_num, uint32_t handle) {
return 0;
}
void app_event_loop(void) {
sdl_app_event_loop();
}
void wtf(void) {
printf(">>> WTF\n");
}

View file

@ -0,0 +1,27 @@
import waflib
def configure(conf):
conf.check_cfg(msg='Checking for sdl-config',
path='sdl-config',
package='',
args='--cflags --libs',
uselib_store='SDL')
conf.find_program('objcopy gobjcopy', var='OBJCOPY')
# We are overriding the gcc toolchain include/time.h with our own
# just to check/force our version of <time.h>
conf.env.CFLAGS.append('-D_TIME_H_')
def build(bld):
sources = bld.path.ant_glob('*.c')
bld.stlib(source=sources,
target='applib_sdl',
includes='.',
export_includes='.',
use=['applib', 'fw_includes', 'libutil', 'upng', 'SDL'])
bld.recurse('examples')
# vim:filetype=python

33
applib-targets/wscript Normal file
View file

@ -0,0 +1,33 @@
def options(opt):
opt.add_option('--target', action='store',
choices=['sdl', 'emscripten'],
help='What backend we are compiling applib against (#rockyJS)')
def configure(conf):
if conf.options.target is None:
return
else:
conf.env.APPLIB_TARGET = conf.options.target
conf.recurse(conf.options.target)
def build(bld):
if bld.variant == 'test':
bld.recurse('emscripten')
return
if bld.env.APPLIB_TARGET is None:
bld(export_includes=[], name='target_includes')
return
bld.set_env(bld.all_envs['local'])
# time_t is defined in sys/types in newlib, and time.h on recent Linux
# so just force the defined type for testing time
bld.env.CFLAGS.append('-Dtime_t=__SYSCALL_SLONG_TYPE')
bld(export_includes=['overrides'], name='target_includes')
bld.recurse(bld.env.APPLIB_TARGET)
# vim:filetype=python

BIN
bin/boot/boot_bb2@1447134832.bin Executable file

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

BIN
bin/boot/boot_silk@1478015115.bin Executable file

Binary file not shown.

View file

@ -0,0 +1,907 @@
:020000040800F2
:100000005821012085010008C90100081D170008BA
:10001000C9010008C9010008C9010008000000006A
:10002000000000000000000000000000C9010008FE
:10003000C901000800000000C9010008C90100084A
:10004000C9010008C9010008C9010008C901000868
:10005000C9010008C9010008C9010008C901000858
:10006000C9010008C9010008C9010008C901000848
:10007000C9010008C9010008C9010008C901000838
:10008000C9010008C9010008C9010008C901000828
:10009000C9010008C9010008C9010008C901000818
:1000A000C9010008C9010008C9010008C901000808
:1000B000C9010008C9010008C9010008F9100008B9
:1000C00005110008111100081D110008C9010008E0
:1000D000C9010008C9010008C9010008C9010008D8
:1000E000C9010008C9010008C9010008C9010008C8
:1000F000C9010008C9010008C9010008C9010008B8
:10010000C9010008C9010008C9010008C9010008A7
:10011000C9010008C9010008C9010008C901000897
:10012000C9010008C9010008C9010008C901000887
:10013000C9010008C9010008C9010008C901000877
:10014000C9010008C9010008C9010008C901000867
:10015000C9010008C9010008C9010008C901000857
:100160002911000835110008C9010008C90100085B
:10017000C9010008C9010008C9010008C901000837
:04018000C9010008A9
:10018400002103E00A4B5B584350043109480A4BF1
:1001940042189A42F6D3094A02E0002342F8043B8B
:1001A400074B9A42F9D301F07DFE01F001FB704741
:1001B4003C380008000000203000002030000020FF
:1001C40054010120FEE7000037B5012002F092FA45
:1001D400002401902546E0B200F046F801AA08B9CF
:1001E40010551DE0135D042B0BDD174800F07EF95C
:1001F400019800F082F90120002102F06BFA00203E
:1002040020E00133DBB2042B135509D90F4800F069
:1002140055F9204600F071F90D4800F067F9012501
:100224000134042CD7D1019C3CB10A4800F046F9B2
:10023400204600F062F900F0D1F80120214602F0D6
:1002440049FA284603B030BDB0310008DC3100085B
:10025400E7310008F131000808B500F0A7FB80F091
:100264000100C0B208BD000008B5054B03EB001344
:100274005868198901F075FF003018BF012008BDC6
:100284003829000838B500242546E0B2FFF7ECFF12
:10029400A04001340543042CEDB2F6D1284638BD04
:1002A40073B50020014602F06DF80120002102F030
:1002B40069F80220002102F065F84FF48040012122
:1002C400104C02F0A3F904F14006684601F040FF27
:1002D40002238DF80530A37B60688DF80730002574
:1002E400A3688DF8045069461034009301F0F8FEB9
:1002F400B442EAD14FF48040294602F087F902B0B3
:1003040070BD00BF3829000810B5044608484021D4
:1003140002F0F6FA0028F9D00548214602F0ECFA7A
:100324000348402102F0ECFA0028F9D010BD00BFC8
:10033400001001402DE9F043DFF89890DFF8988031
:1003440087B01020012102F061F9484609210722F3
:1003540001F012FF07210A4606AD404601F00CFFEA
:100364004FF4007345F8183D00240226012748463F
:1003740029468DF806408DF807708DF804608DF8D5
:10038400056001F0ADFE80234046294600938DF8B8
:10039400046001F0A5FEADF80C40ADF80E40ADF8D8
:1003A4001040ADF8144004F1804404F58834084B3F
:1003B400029320460C2302A9ADF8123002F036FA5B
:1003C4002046394602F08CFA07B0BDE8F08300BF3E
:1003D40040420F0000000240000402402DE9F043B7
:1003E400334D83B02C6804F12E0323F0070300AFD0
:1003F400ADEB030D50238DF8003021238DF801302F
:1004040000238DF8023003238DF8033004F1210317
:100414005BBAADF80430274B04F127086E460DF1A2
:10042400060203F11C0153F8040B42F8040B8B423F
:10043400F9D11B78137004F12309224606F1230035
:100444001D4902F063FA31464A46002001F0D2FC0D
:1004540007F1080304F5927443F8040D186846F88C
:100464000900FE23B4FBF3F34344073323F00703EB
:10047400ADEB030D31464246684601F093FC044659
:100484005520FFF741FF6E466C44A64207D016F88C
:10049400010B552808BF0020FFF736FFF5E755206C
:1004A400FFF732FF00230C372B60BD46BDE8F08315
:1004B40030000020802900083400002010B5441EBC
:1004C40014F8012F7AB108490B68FF2B0BD80A2ABC
:1004D40002D1FFF783FFF3E70D2A1FBF581C5B18F7
:1004E40008601A71ECE710BD3000002008B5FFF772
:1004F400E5FFBDE80840FFF771BF1FB50C2201A955
:1005040001F0A8FC01A8FFF7D9FF05B05DF804FBD2
:10051400014608B5044802F080F90348022102F0BC
:100524007EF90028F9D008BD003800402DE9F047D5
:1005340007310733089E099F92464FEAD108DD0828
:1005440081460024B4420CD004EB0A03122000FBC1
:100554000380494638442A4602F0D8F90134A944B4
:10056400F0E7BDE8F087000008B54FF480400121B2
:1005740002F040F805484FF40071012201F0F7FD44
:100584000720BDE8084001F055BC00BF000402404C
:1005940008B5072001F04EFC4FF400710648002214
:1005A40001F0E5FD042001F045FC4FF480400021FA
:1005B400BDE8084002F01EB800040240F8B5074642
:1005C400FFF7D2FF8020FFF7A3FF0024661C30BA98
:1005D40090FAA0F0C0B2FFF79BFF122303FB047450
:1005E4000025605D00BA90FAA0F00135C0B2FFF7B3
:1005F4008FFF122DF5D10020FFF78AFFA82E344675
:10060400E4D10020FFF784FFBDE8F840FFF7C0BF46
:1006140010B5ADF6D83D02AC204600214FF43D6242
:1006240002F07FF91B238DE8180010214022692372
:100634000448FFF77BFF2046FFF7C0FF0DF6D83DC7
:1006440010BD00BF9D2900082DE9F043ADF6DC3D47
:1006540002AC00214FF43D620546204602F061F9E8
:100664002C238DE818002B48182120225C231C27FA
:10067400FFF75CFFBE460F23BB402B4023FA07F273
:10068400254B242101FB0233002202EBC20000F6B9
:10069400280013F802C020440021082907D00126AD
:1006A4008E4016EA0C0F14BF0126002603E09E18A4
:1006B400767806F0010686B101EB0E06F6B24FEA33
:1006C400D6094FF0010806F0070608FA06F610F8F6
:1006D400098046EA080600F8096001310929DCD1DD
:1006E4000232242AD1D10EF10B0EBEF1740FA7F100
:1006F4000407C0D10E238DE81800102190226D2329
:100704000648FFF713FF2046FFF758FF0DF6DC3DC0
:10071400BDE8F083172B0008272D0008672F000879
:1007240008B5FFF721FF0020FFF7F2FE0020FFF7D6
:10073400EFFE0020FFF7ECFEBDE80840FFF728BFFE
:10074400F0B5214B1A685E246043B0FBF1F4944287
:10075400ADF6DC3D34D002AD00214FF43D622846B5
:100764001C6002F0DEF81B238DE8280017481021D6
:1007740040226923FFF7DAFE08238DE82800144895
:1007840018216A226023FFF7D1FE002000F286714F
:1007940029440022A2420DD002F11903DBB2DF0882
:1007A400012603F0070306FA03F3CE5D3343CB556A
:1007B4000132EFE712306C28E8D12846FFF7FEFE3D
:1007C4000DF6DC3DF0BD00BF000000209D290008AF
:1007D4002B3000082DE9F843224E234CDFF88C908F
:1007E4004FF48040012101F005FF30460A21052223
:1007F40001F0C2FC04F10408052230460F2101F087
:10080400BBFC3046414601F06BFC01254FF40073FC
:100814000027304641466360A6F5E6362572A77286
:1008240001F05EFC414648462572A772656001F0FE
:1008340057FC304601F06EFF304604F10C0101F024
:10084400C1FF3046294601F0DCFF484629462A46C6
:1008540001F08DFC39464FF48040BDE8F84301F0C7
:10086400C9BE00BF00040240000000200000024096
:10087400F0B50746ADF2044D0E460C460025B919F5
:10088400B4F5806FA1EB040168460DD94FF4806282
:1008940000F0C4F8284669464FF4806201F0AAFAD1
:1008A400A4F580640546EAE7224600F0B7F8284636
:1008B4006946224601F09EFA0DF2044DF0BD08B5DA
:1008C400202001F0FDFD0028FAD108BD08B5022062
:1008D40001F0F6FD0028FAD00220BDE8084001F03E
:1008E400F9BD00B58DB0684601F073FD0023009397
:1008F4004FF4807368460A9335230B9301F09AFDF5
:10090400FFF7E4FFFFF7DBFF0DB05DF804FB000029
:1009140030B5022095B0012101F060FE0024224888
:100924000021204403220B460C3400F0C3F8482C69
:10093400F5D101A801F044FD10230024019301A87E
:10094400162305930294039404940694079401F0E7
:100954004FFD012001F092FDFFF7C3FF08A801F04D
:1009640038FD4FF44075662308A813930894129534
:1009740001F060FDFFF7AAFF08A801F02AFD992302
:1009840008A813930894129501F054FDFFF79EFFF5
:1009940042F6E06001F04EFAFFF7A3FF0220214681
:1009A40001F01CFE15B030BD8C30000830B50121BB
:1009B4008DB0022001F012FE022001F073FD6846A2
:1009C40001F007FD4FF0806300934FF040730493F0
:1009D4004FF4407368460A93AF230B9301F02AFD4A
:1009E400FFF774FF01F066FD054601F063FD044660
:1009F40001F060FD240244EA004040EA0504FFF7E8
:100A04005EFF0220002101F0E9FD0348231A584249
:100A140058410DB030BD00BFC225370070B5154632
:100A24008CB004460E460220012101F0D7FD681E59
:100A340001F038FD684601F0CCFC4FF08063009370
:100A44004FF040730493042305934FF440630993D8
:100A54004FF440730A934FF40053089368460B23F2
:100A64000B9301F0E7FC304601F014FD2544AC4241
:100A740004D001F01FFD04F8010BF8E7022001F097
:100A840029FDFFF71CFF0220002101F0A7FD0CB097
:100A940070BD0000024A136B43F0FF0313637047F9
:100AA40000380240024A136B23F0FF0313637047BC
:100AB4000038024013B504464068009002208DF8C7
:100AC40004008DF805208DF8061020682189A27A8B
:100AD4008DF8073001F050FB2068694601F000FBF7
:100AE40002B010BD02460068838823F4E0631B044F
:100AF4001B0C838003889BB243F400730380082398
:100B04000020517513751076704707B500230091C6
:100B140069468DF804308DF805308DF8073001F002
:100B2400DFFA03B05DF804FB10B50B4C342300FB73
:100B34000344236B7BB10A2001F081F96068A1684A
:100B4400FFF7E3FF20696169FFF7DFFF236B0120F3
:100B5400BDE81040184710BDD4300008027D082AB3
:100B640010B5044607D10268938823F4C0631B04BC
:100B74001B0C938084E0434B006803EB8203596BA6
:100B840001F0CAFB00287BD0237D072B72D8DFE855
:100B940003F0040B1921323B5A6E237A226803F0C6
:100BA400FE03138201232DE02268A37A1382637A61
:100BB4000BB1022326E093889BB243F480639380B5
:100BC40006231FE0226813889BB243F480731380CA
:100BD400032317E0237A226843F001031382E37AA4
:100BE400012B01BF138823F480631B041B0C08BF73
:100BF4001380042306E0226893889BB243F4806345
:100C04009380052323753BE023682269198A237B9B
:100C1400D154237BE27A0133DBB2591C9142237312
:100C240007D12268138823F480631B041B0C1380F0
:100C340026E0934224D12268938823F480631B0422
:100C44001B0C938013E0237B21692268CB5C138205
:100C5400237BE17A0133DBB29942237310D1938869
:100C640023F480631B041B0C93800723CAE72046EC
:100C7400012101E020460021BDE81040FFF732BF0A
:100C8400002010BDD43000082DE9F341184C342362
:100C940000FB0344236B43B300209847D4F804803B
:100CA400A668009600250127404669468DF8047021
:100CB4008DF805508DF8075001F012FAB1B22A46AA
:100CC400404601F054FA2669646900943046694646
:100CD4008DF804708DF805508DF8075001F000FA76
:100CE4003046A1B22A4601F042FA02B0BDE8F081D2
:100CF400D43000081C23104A434370B505460F4CFA
:100D0400D058D61801F04AFA342305FB03440021D5
:100D1400E06901F06FFC337923B92846BDE87040DF
:100D2400FFF7B2BF6068A168FFF7EFFE2069616951
:100D3400BDE87040FFF7E9BE34010020D43000085C
:100D44002DE9F04F344D1C2303FB005387B01B796E
:100D540007460BB9FFF7E8FE304B342407FB043495
:100D64000226D4F80490A389A26894F80EB00193E3
:100D74004FF001084FF0000A484602A902928DF88C
:100D84000C608DF80D608DF80E808DF80FA001F0C9
:100D9400A7F9019B484619465A4601F0EDF9D4F8E3
:100DA4001090238B626994F81AB00193484602A903
:100DB40002928DF80C608DF80D608DF80E808DF820
:100DC4000FA001F08DF9019B5A461946484601F0DF
:100DD400D3F94146E06901F00DFC02A801F076FA6E
:100DE4000F4A236A029393424FF48063ADF81230A2
:100DF4004FF01C0384BF626AADF80E2003FB07F4B6
:100E040002A9285901F0F8F92859012101F06CFAD6
:100E140007B0BDE8F08F00BF34010020D4300008D3
:100E2400A08601002DE9F341414C9846237F0546F5
:100E34000E4617461BB93F484FF4BD7103E020B17D
:100E44003C4840F27B1100F087FF23790BB9002066
:100E54006AE023681B8B9B0711D49DF82030E37252
:100E64000025099B277284F80A806672257325750C
:100E74002361E5822068012101F042FA1FE0FFF7B7
:100E840039FF2846FFF75CFF22682B48138B99072C
:100E9400E3D50138FAD1DAE7227E22B1019A511E54
:100EA4000191002AF8D100222276019A204902B346
:100EB4000A7D082A13D14D7D237D082B26D0236873
:100EC4001A8892B242F480721A809A8892B242F4DA
:100ED40040729A8001222276174A0192DEE7CA8A7A
:100EE400B2F57A7F05D20132CA82012000F0A7FF51
:100EF400E2E79A8822F4E0621204120C9A801A88BB
:100F040092B242F400721A8008230B7522680A4CCC
:100F1400138B9B0707D5013CFAD12046FFF7EAFE65
:100F24002046FFF70DFF284602B0BDE8F08100BF60
:100F3400340100203132000880841E00017D0368E2
:100F4400082906D19A8822F480721204120C9A801D
:100F540038E09A8A120541BF9A8A22F40062120488
:100F6400120C48BF9A829A8AD20541BF9A8A22F407
:100F740080721204120C48BF9A829A8A52051ED5B6
:100F84009A8A22F480621204120C04299A820AD1E9
:100F9400032202759A8822F4E0621204120C9A80E9
:100FA400002303760EE0012909D19A8822F4E06235
:100FB40012040021120C01759A80017602E00021CE
:100FC400FFF790BD0020704737B5124C124B2360D9
:100FD40008222275482200238DF8042001250C22C2
:100FE40001A88DF80520237123762373E37223610E
:100FF4008DF806308DF8075000F090FF492301A8C2
:101004008DF8043000F08AFF206801F0C7F82577D6
:1010140003B030BD34010020005C004013B50D4C1A
:10102400227F034622B90C484FF48C7100F094FEE1
:1010340038B1012200920848084A4FF48D7100F03B
:101044007FFE23790BB9FFF77BFE237901332371EC
:1010540002B010BD340100203132000846320008CD
:101064000C4A117F08B519B90B484FF4957103E088
:1010740020B1094840F22B1100F06EFE13793BB108
:10108400013BDBB213711BB9BDE80840FFF732BE68
:1010940008BD00BF340100203132000837B50D46C9
:1010A40014460093069B019301212A462346FFF729
:1010B400B9FE03B030BD07B500930123FFF7EEFF7F
:1010C40003B05DF804FB37B50D4614460093069B48
:1010D400019300212A462346FFF7A4FE03B030BD46
:1010E4001FB504AC04F8013D01230094FFF7EBFFA6
:1010F40004B010BD0148FFF731BD00BF340100202A
:101104000148FFF71BBF00BF340100200148FFF76F
:1011140025BD00BF500100200148FFF70FBF00BFED
:10112400500100200148FFF719BD00BF3401002021
:101134000148FFF703BF00BF3401002038B50C4657
:1011440005460020FFF76AFF234681212A46002036
:10115400FFF7B1FF04460020FFF782FF204638BDA9
:1011640038B50C4605460020FFF758FF234680217A
:101174002A460020FFF7B4FF04460020FFF770FF63
:10118400204638BD37B50D460DF107010446FFF77B
:10119400D5FF50B19DF807300121A9401943C9B2C8
:1011A40020468DF80710FFF7DBFF03B030BD0000C9
:1011B40013B590200DF10701FFF7C0FF044648B3B3
:1011C4009DF80740A4F111035C425C4114B3FF2174
:1011D4004220FFF7C5FFFF214120FFF7C1FF352063
:1011E4000DF10701FFF7AAFF044620B90B480C4A8A
:1011F400BE2100F0A5FD9DF80710352041F0030144
:101204008DF80710FFF7ACFF0A201E21FFF7A8FF97
:101214000028EBD0204602B010BD00BF7232000897
:101224009032000807B587200DF10701FFF786FF0C
:1012340018B19DF80700C0F3800003B05DF804FB0B
:1012440007B536200DF10701FFF778FF20B19DF8AF
:1012540007301B090B2B01D0002014E077200DF17F
:101264000701FFF76BFF0028F6D09DF8073003F065
:10127400100303F0FF0023B1FFF7D4FF80F0010057
:10128400C0B200F0010003B05DF804FB08B53620DD
:101294000121FFF777FF00B1FEE708BD07B5EF2195
:1012A4007420FFF75DFFFF217520FFF759FF0DF153
:1012B40007017720FFF742FF0DF107017820FFF7C0
:1012C4003DFF0A213920FFF74BFF35200421FFF7AA
:1012D40059FF00B1FEE703B05DF804FBB0F1006F05
:1012E40010B504460BD20C48FFF7E8F82046FFF788
:1012F40004F90A48FFF7FAF84FF0FF3010BD084B25
:10130400002053F8042BA24202D81A68944202D354
:1013140001300B28F5D110BDF0320008AF320008BF
:10132400283100082DE9F8430446174699460E462D
:10133400C1B3FFF7D3FF0546601E3044FFF7CEFF6D
:10134400002D804631DB00282FDB461B01361FB100
:10135400002031464A46B84700F022FE2C46444558
:101364001EDCF32000F032FE114B002133F8140090
:1013740000F064FE09280AD00E48FFF79FF82046C3
:10138400FFF7BBF8FFF72AF800F018FE0DE02FB1C5
:10139400C5F10100204431464A46B8470134DEE72E
:1013A40000F00CFE0120BDE8F8830020BDE8F883BE
:1013B40058310008C83200082DE9F0470E4615469A
:1013C4000746984600F0ECFDF32000F0FFFD4FEADD
:1013D400D51934463544AC42C6EB040A20D0B81BB8
:1013E400204414F8011B00F05FFE09280CD00F48BC
:1013F400FFF764F83846FFF780F8FEF7EFFF00F0D8
:10140400DDFD0020BDE8F087B8F1000FE3D01AF04D
:101414007F0FE0D14FEADA104946089AC047DAE76D
:1014240000F0CCFD0120BDE8F08700BFE0320008E9
:1014340008B545F2555000F07DFF042000F080FF10
:1014440040F6FF7000F082FF002000F073FF4FF4BD
:1014540080500121BDE8084000F096BD08B500F0B9
:1014640083FFBDE8084000F077BF08B57D2001F098
:1014740015F9003018BF012008BD4900FFF760B915
:101484002DE9F041012186B005460020FFF758F907
:10149400042000F0A3FB03A8294600F003FC03A8E2
:1014A40000F00FFC08B93C4814E03C480C35FFF749
:1014B4001DF804992846FFF7DBF904463848FEF77F
:1014C400FDFF2046FFF719F8FEF788FF059B9C42B5
:1014D40004D03448FFF70AF8012059E0049C32484C
:1014E400FFF704F82146314A31480023FFF71AFF79
:1014F4003048049FFEF7FAFF4FEA57080024BC4225
:1015040020D23E1BB6F5803F28BF4FF480362A48D0
:1015140061193246FFF782FA002304F10060009358
:1015240000F5804024493246FFF746FF18B92348A6
:10153400FEF7DCFF06E0344408EB54003946FFF7BD
:10154400FFF8DCE71E48FEF7B9FF0498FEF7D5FF65
:101554001C48FEF7B3FF1649049A002000F04AFC29
:1015640004461948FEF7AAFF0598FEF7C6FF174878
:10157400FEF7A4FF2046FEF7C0FFFEF72FFF059BF2
:101584009C4204D01248FEF7B1FF022000E0002084
:1015940006B0BDE8F08100BFF93200081733000837
:1015A400343300084A3300086D3300087F14000800
:1015B40000400008803300085101002093330008E4
:1015C4009E330008AC330008B5330008C833000864
:1015D400CE33000810B5022000F018FBD8B3042065
:1015E40000F014FB044670B11B48FEF77FFF042093
:1015F40000F000FB022000F0FDFA4FF40040BDE8CB
:10160400104000F0F7BA1548FEF770FF082000F00C
:10161400F1FA102000F0EEFA202000F0EBFA40205E
:1016240000F0E8FA2046FFF72BFF022807D1082034
:1016340000F0D4FA102000F0D1FA00F0A9FB042045
:1016440000F0D8FA022000F0D5FA4FF40040BDE8CB
:10165400104000F0C3BA10BD193400084F3400081C
:1016640010B52548FEF742FF4FF40010FFF708FFBE
:1016740010B102283AD809E0202000F0BBFA40203B
:1016840000F0B8FA802000F0A9FA2FE0082000F05A
:10169400A5FA102000F0A2FA202000F0B7FA20B931
:1016A4001648FEF723FF202007E0402000F0AEFAA2
:1016B40058B91348FEF71AFF402000F08FFA4FF490
:1016C400007000F08BFA00F063FB0E48FEF70EFF8B
:1016D400082000F08FFA102000F08CFA202000F08F
:1016E40089FA402000F086FA002400E00124042056
:1016F40000F080FA204610BD6A34000884340008E3
:10170400BD340008F634000808B50248FEF7EEFEC2
:1017140000F045FB303500081EF0040F0CBFEFF35A
:101724000880EFF30980FFF7EFBF704708B5012089
:10173400FEF79AFD08B900200FE00020FEF794FDA3
:101744000028F8D00220FEF78FFD0028F3D00320F4
:10175400FEF78AFD80F00100C0B200F0010008BD70
:101764001FB504461048FEF7C1FE01A90C2220460D
:1017740000F070FB01A8FEF7B9FE2046FEF764FFF7
:10178400FEF780FD094B20F0040018701C46FEF79C
:1017940079FD237800F0FB00834201D000F0F8FAD1
:1017A4000A2000F04CFBF2E7263500085101012025
:1017B40030B585B0FFF76EF94FF08050012100F08D
:1017C40019FF022000F0EAFD012807D1022000F0F1
:1017D400EFFDA548FEF78AFE00F0E1FA00214FF084
:1017E400805000F007FFFEF7A5FDA048FEF77EFE3F
:1017F4009F48FEF77BFE9F48FEF778FE9E48FEF763
:1018040075FE9E48FEF772FE9848FEF76FFEFFF7DE
:10181400DBFB9B48FEF76AFEFFF7CAFC9948FEF71C
:1018240065FE00F0FDF99848FEF760FE00F024FA2A
:1018340000210C2201A801F074F800F019FA01A9A2
:101844000C2200F007FB01A8FEF750FE8748FEF7C4
:101854004DFE8648FEF74AFE4FF4804000F0D6F96C
:1018640090B18A48FEF742FE4FF4804000F0C2F97E
:10187400082000F0BFF9102000F0BCF9202000F08F
:10188400B9F9402000F0B6F9FFF7DAFC38B1804826
:10189400FEF72CFE7F48FEF729FEFFF7FFFCFFF75B
:1018A40037F8FEF7FDFCFEF795FFFEF7B1FEFEF7F5
:1018B4008BFC08B1784803E0FEF7CEFC10B1774802
:1018C400FFF74EFF00F0C4F9802000F09FF918B133
:1018D400802000F08FF949E04FF4003000F096F9D1
:1018E40020B14FF4003000F085F95BE1FFF71EFFF3
:1018F40068B16B48FEF7FAFD41F28834FFF716FF32
:1019040078B1012000F09BFA013CF7D14AE1654B24
:101914000CCB013301D0013203D16348FEF7E6FD5D
:1019240040E1FFF7A2FD18B3FFF79FFD10B15F4838
:10193400FEF7DCFD4FF4007000F068F910B15C486C
:10194400FEF7D4FD4FF4007000F054F9102000F0BD
:101954005DF9D0B15748FEF7C9FD082000F04AF9F7
:10196400102000F047F9FFF77BFEF8B95248A7E7CB
:101974004FF4007000F04AF90028D5D1082000F097
:1019840039F9102000F036F90EE0082000F03EF995
:1019940020B14A48FEF7AAFD102003E04848FEF7AC
:1019A400A5FD082000F01AF9FFF714FE4FF40050CB
:1019B40000F02CF904464FF4805000F027F9400061
:1019C40040EA8400C4B24FF4006000F01FF92043E1
:1019D400C0B20728C3B20DD14FF4006000F00AF979
:1019E4004FF4805000F006F94FF4005000F002F973
:1019F400344865E70133DBB2023B4FF40060052B4A
:101A040011D8DFE803F00C1003100C1000F0F2F80A
:101A14004FF4805000F0EEF84FF4005003E000F073
:101A2400E9F84FF4805000F0D9F84FF4002000F0AA
:101A3400EDF8002851D04FF4002000F0DBF82248E4
:101A4400FEF754FD0024FFF7EDFB002840D0042CE2
:101A540003D11E48FEF74AFD00244FF4FA7000F04B
:101A6400EEF90134EFE700BF3B3500087C3700088E
:101A740048350008593500086A3500087B350008E8
:101A84008C35000897350008A3350008AC350008EC
:101A9400D93500080A360008014550FE024550FEBB
:101AA400293600080040000864360008773600082C
:101AB4008F360008AF360008034550FED7360008BD
:101AC400FD360008044550FE233700083737000868
:101AD4003648FEF70BFDFFF7D9FBFFF7A9FCFFF72C
:101AE400BDFCFEF7DFFF324B32485C681D68FEF731
:101AF400E5FC2046FEF701FD2F48FEF7DFFC00223F
:101B0400930003F1604303F5614301324FF0FF3169
:101B1400082AC3F88010C3F88011F1D1274B284A52
:101B2400196B0A401A635A6B22F0C0025A639A6B0B
:101B340022F003029A63196C224A0A401A64596C0F
:101B4400214A0A405A6400F0CBFC2048012100F0ED
:101B540069FD1E48002100F065FDF120012100F01F
:101B64006DFDF120002100F069FD0120014600F027
:101B740071FD0120002100F06DFD1548012100F0E8
:101B840075FD1348002100F071FD1248012100F099
:101B940079FD1048002100F075FD63B64FF0FF3E5B
:101BA400AD4620470C48FEF7A1FCDCE6523700089E
:101BB400004000086137000875370008003802400B
:101BC40000EF9FFF003619E8CC86E8FE0010E02203
:101BD400FFC9FEF6337F77047D37000810B504464D
:101BE400002000F087FD40EA04010020BDE8104019
:101BF40000F070BD10B50446002000F07BFD20EA23
:101C040004010020BDE8104000F064BD10B5044696
:101C1400002000F06FFD204214BF0120002010BD01
:101C240008B501214FF0805000F0E4FC012000F0E1
:101C3400A3FB4FF08050002100F0DCFC0120FFF7F3
:101C4400E5FF20B90121BDE8084000F043BD08BD0F
:101C540008B50648FEF732FC002000F04BFDFEF705
:101C64004CFCBDE80840FEF7B9BB00BF9C37000838
:101C7400022000F03FBD000008B5FFF7F9FF04495A
:101C8400884204D00220BDE8084000F023BD08BD0E
:101C94008BB8185808B50248FEF728FC00F078F80D
:101CA400A83700081FB504460C2201A8FEF7B6FEAB
:101CB40001AB03CB20601868A0602046616004B0CB
:101CC40010BD0068A0F10C03584258417047000051
:101CD40080B50646174610480D461C46FEF7EEFB37
:101CE4003846FEF7EBFB0D48FEF7E8FB3046FEF7FF
:101CF400E5FB0B48FEF7E2FB2846FEF7FEFB2CB1A2
:101D04000848FEF7DBFB2046FEF7D8FB0648FEF743
:101D1400EDFBFFF7BFFF00BFC537000856350008CD
:101D2400CE370008573500087C3700081FB506AACF
:101D340052F8044B039200921A462346FFF7C8FF59
:101D44000CB41FB506AA52F8043B03920092014A50
:101D5400FFF7BEFFD037000807B500230093724693
:101D6400014BFFF7E3FF00BFD7370008BFF34F8FE6
:101D74000549064BCA6802F4E0621343CB60BFF323
:101D84004F8F00BFFDE700BF00ED00E00400FA053F
:101D940008B5FEF7C5FC00F095FCFFF7E7FF08B5B2
:101DA400FFF7E4FFF0B5064600240120254603466C
:101DB40094421DD011F804C000F1010EBCF1000FD3
:101DC40003D17355774605460DE00133DBB2FF2B93
:101DD400774606F800C007D102F1FF3C644506D0FF
:101DE4007355871C7546012301343846E0E7704675
:101DF4007355F0BD30B5C9B1C0430A44914213D004
:101E040011F8013B0A4D83EA000404F00F0455F86D
:101E1400244084EA101080EA131303F00F0355F8EA
:101E2400233083EA1010E9E7C04330BD084630BDD3
:101E340070310008062358430138FDD1704710B5AE
:101E440004462CB14FF47A70FFF7F4FF013CF8E735
:101E540010BD00000A2A10B504DC1148BDE810408A
:101E6400FEF744BB0C46302304F8023B78234B7046
:101E74001C220F2393400340D340092B01D8303355
:101E840002E00F2B02D85733DBB200E02023043AE0
:101E940004F8013B131DECD100238B7210BD00BF6D
:101EA400233800081949D1F8883043F47003C1F885
:101EB4008830174B1A68002042F001021A609860BB
:101EC4001A6822F0847222F480321A60114A5A602D
:101ED4001A6822F480221A60D8601A6C0E4842F004
:101EE40080521A64026842F4404202609A689A601E
:101EF4009A689A609A6842F480529A604FF4C06279
:101F0400C3F800244FF000638B60704700ED00E0DD
:101F1400003802401030002400700040C27803787A
:101F240010B512B3164AD1684278C943C1F30221ED
:101F3400C1F10404E4B2A240D4B20F220A41817870
:101F44000A40224303F1604303F561431201D2B214
:101F540083F8002303780122590903F01F0302FACE
:101F640003F3084A42F8213010BD5A09012103F055
:101F74001F03994002F12003024A42F8231010BDC6
:101F840000ED00E000E100E0044B9A6809B1104361
:101F940001E022EA00009860704700BF002004E0DE
:101FA400044B1A69002ABFBF034A5A6002F18832FF
:101FB4005A607047003C024023016745024A136996
:101FC40043F0004313617047003C0240014BD8606A
:101FD400704700BF003C02400E4BDA68D20310D4B5
:101FE400DA68D1060FD4DA68D2050ED4DA6812F0B2
:101FF400E00F0CD1DB6813F0020F14BF0820092096
:102004007047012070470620704702207047072060
:10201400704700BF003C024007B509238DF8073024
:10202400FFF7DAFF8DF807009DF80730012BF7D092
:102034009DF8070003B05DF804FB000070B5064688
:1020440041B1012908D002290CBF4FF400754FF4A7
:10205400407503E00D4601E04FF48075FFF7DCFFA7
:1020640009281ED10F4C236923F44073236121698D
:1020740029432161236923F0F8032361236943F091
:1020840002031E432661236943F480332361FFF76F
:10209400C3FF236923F002032361236923F0F803B8
:1020A400236170BD003C024070B505460E46FFF743
:1020B400B3FF092811D1094C236923F44073236128
:1020C40023692361236943F0010323612E70FFF721
:1020D400A3FF236923F00103236170BD003C024088
:1020E400F0B50E6800220123934003EA060E9E45D4
:1020F4002AD1550003230468AB40DB431C40046031
:102104000C79076804FA05FC013C4CEA0707012C2A
:10211400076011D884684F791C4084608468AF409C
:1021240027438760446824EA0E0444608C79476836
:102134009440A4B23C434460C4682340C360CB7958
:10214400C468AB402343C3600132102ACBD1F0BD35
:102154004FF6FF7303600023037143718371C371EE
:1021640070470369194214BF0120002070470AB167
:10217400018370474183704701F00703C90800EBEE
:10218400810010B59B00046A0F21994024EA0101E3
:102194000162016A9A401143016210BD08B5134BF4
:1021A400984207D14FF40010012100F05FFA4FF478
:1021B400001014E00E4B984207D14FF48000012127
:1021C40000F054FA4FF4800009E00A4B98420BD116
:1021D4004FF40000012100F049FA4FF400000021FF
:1021E400BDE8084000F042BA08BD00BF00540040FA
:1021F40000580040005C00407FB5868826F03F060A
:102204000446360468460D46360C00F085F9029AF9
:102214002C48B2FBF0F081B20E43A68023882A4EEC
:1022240023F001031B041B0C23802B68B3420AD840
:102234005B000131B2FBF3F39BB2032B89B298BF6D
:102244000423218423E0EE884BF6FF718E421BBFEA
:1022540019214B4303EB4303B2FBF3F315BF9BB2CA
:10226400B2FBF3F343F480439BB2C3F30B020AB90A
:1022740043F001034FF4967101FB00F24FF47A71BD
:1022840092FBF1F2013292B243F400432284A3831D
:1022940023886989AA889BB243F001032380238899
:1022A40023F4816323F002031B040A431B0C13432E
:1022B4009BB223802A89AB8913439BB2238104B048
:1022C40070BD00BF40420F00A086010041F2883378
:1022D4000360002383804BF6FF72038143814FF434
:1022E4008043C28083817047038819B19BB243F055
:1022F400010303E023F001031B041B0C038070475C
:10230400038819B19BB243F4806303E023F4806330
:102314001B041B0C03807047838A9AB2038B10B58D
:1023240042EA034321F07F4404EA0300431A58427B
:10233400584110BD014B1860704700BF0030004089
:10234400014B5860704700BF00300040014B98605B
:10235400704700BF00300040024B4AF6AA221A60C0
:10236400704700BF00300040024B4CF6CC421A606C
:10237400704700BF00300040014B1860704700BF39
:1023840020000E4210B9034B19607047024B1960CC
:10239400704700BFA0000E429C000E42034B5B68D6
:1023A400184214BF01200020704700BF0070004095
:1023B400024A136843EA80001060704700700040CE
:1023C4000023036043608360C360036143618361EE
:1023D4007047002343608360C3600360036143610B
:1023E4008361C361036243628362C3627047000016
:1023F4000E4903680A6810B544691C4383691C4389
:1024040022F07F4323F030034268234343EA02630C
:102414000B60C36882684C681A43054B234013431E
:10242400026943EA02434B6010BD00BF001000A0E4
:10243400FEF7E0FF90E80C001A4383680D491A4345
:10244400C3681A4303691A4383691A43C3691A4365
:10245400036A1A43436A1A43836A1A43C36A10B568
:102464001A434C69044B23401343426943EA8243B1
:102474004B6110BD001000A000008090044B1A684E
:1024840010B142F0010201E022F001021A6070472B
:10249400001000A0024B9A68920658BF98617047DA
:1024A400001000A0024B9A68920658BF186170474A
:1024B400001000A0014B1878704700BF201000A046
:1024C400034B9B68184214BF01200020704700BFD3
:1024D400001000A0014BD860704700BF001000A09E
:1024E4000B4B1A68002142F001021A6099601A68C5
:1024F40022F0A85222F410221A60064A5A601A687E
:1025040022F480221A60D960C3F88C10704700BF8F
:1025140000380240103000242C4B9A6802F00C0260
:1025240010B50C2A38D8DFE802F0373737370737C9
:102534003737093737371E00254B2EE05968234AB1
:102544005B6811F4800F03F03F03516814BF204A05
:10255400204AB2FBF3F31D4A5268C1F388114B437E
:10256400C2F3014213E05968184A5B6811F4800F02
:1025740003F03F03516814BF154A164AB2FBF3F344
:10258400124A5268C1F388114B43C2F302720132FA
:102594005200B3FBF2F300E00E4B0C4A0360936865
:1025A4000D49C3F30313CC5C0368E34043609468B0
:1025B400C4F382240C5D23FA04F484609268C2F3A9
:1025C40042328A5CD340C36010BD00BF0038024071
:1025D40000127A000024F4001E000020044B9A6BC1
:1025E40009B1104301E022EA00009863704700BF7C
:1025F40000380240044B1A6C09B1104301E022EA8E
:1026040000001864704700BF00380240044B5A6C45
:1026140009B1104301E022EA00005864704700BF8A
:1026240000380240044B1A6909B1104301E022EA60
:1026340000001861704700BF00380240044B5A691B
:1026440009B1104301E022EA00005861704700BF5D
:1026540000380240044B9A6909B1104301E022EAB0
:1026640000009861704700BF00380240044B1A6AAA
:1026740009B1104301E022EA00001862704700BF6C
:1026840000380240044B5A6A09B1104301E022EABF
:1026940000005862704700BF003802404209012A16
:1026A400074B01D11B6803E0022A0CBF1B6F5B6F51
:1026B40000F01F0023FA00F000F00100704700BF93
:1026C40000380240024A536F43F0807353677047E7
:1026D4000038024082B000230193054B0193019B13
:1026E40003EB80000190019B196002B0704700BFAA
:1026F4005028004082B000230193054B0193019BB5
:1027040003EB80000190019B186802B0704700BF82
:102714005028004008B5254B984207D14FF480500B
:102724000121FFF7AFFF4FF4805039E0204B98426E
:1027340007D14FF480400121FFF798FF4FF4804008
:1027440009E01C4B98420BD14FF400400121FFF7E4
:102754008DFF4FF400400021BDE80840FFF786BF1D
:10276400154B984207D14FF400500121FFF78AFF1F
:102774004FF4005014E0114B984207D14FF48010ED
:102784000121FFF77FFF4FF4801009E00C4B9842C2
:102794000BD14FF400100121FFF774FF4FF4001028
:1027A4000021BDE80840FFF76DBF08BD00300140BF
:1027B40000380040003C004000340140005001401B
:1027C4000054014003884A8810B503F441540B882F
:1027D40013438A881343CA8813430A8913434A89D3
:1027E40013438A891343CA89134323439BB2038047
:1027F400838B23F400631B041B0C83830B8A0382E7
:1028040010BD038819B19BB243F0400303E023F0E9
:1028140040031B041B0C03807047818170470389AC
:10282400194214BF01200020704700007FB5038ABD
:10283400CA889BB223F440531343038283890E4610
:102844009BB223F4B053098923F00C02B3880B43E1
:1028540071890B439BB213438381838AB2899BB2F0
:1028640023F440731343838204466846FFF754FEFF
:102874001A4B9C4203D003F580639C4201D1039D13
:1028840000E0029DA38931681BB2002B4FF01902AE
:1028940002FB05F2B4BF4D008D00B2FBF5F5A28931
:1028A4006426B5FBF6F00001010912B2002A06FB0A
:1028B4001153ADBF1A01D90032313232B5BFB1FB69
:1028C400F6F2B2FBF6F302F0070203F00F03B4BF13
:1028D4001043184380B2208104B070BD0010014041
:1028E400838919B19BB243F4005303E023F40053EA
:1028F4001B041B0C83817047C1F30801818070475E
:102904000388194214BF01200020704710B5431EEC
:102914000A44914204D011F8014B03F8014FF8E73F
:1029240010BD02440346934202D003F8011BFAE7A8
:10293400704700001D32000800080240002000001B
:10294400020D000022320008000C024004000000C6
:102954000302020025320008001C024001000000AE
:10296400070002002C320008001C02400200000094
:1029740007010200000000000000000001424F4F68
:10298400544C4F414445520000000000002A2A00E4
:1029940000000000000000000000000000006000D3
:1029A40000030018000000000000000060000003A5
:1029B4000018000000000000000060000003001880
:1029C4000000000000000000600000030018000088
:1029D4000000000000006000000300180000000078
:1029E400E003001F60F800C30718C0070000F80FD9
:1029F400C07F60FE03F31F18F01F00000C1860C0B6
:102A04006003061B30181830000006303080E101E6
:102A14000C0F60180C60000003601800E300180736
:102A2400C01806C0008001400C006200100380182A
:102A34000380008001C00C0066003003801903800D
:102A4400018001C0FCFF670030038019FFFF018093
:102A540001C0FCFF630030038019FFFF008001C048
:102A64000C006000300380190300008001C00C00DA
:102A74006000300380190300008001400C006200F4
:102A8400100380180380008003601800C300180638
:102A9400C01806C000800730308081010C0C60181B
:102AA4000C6000800D1860C0000306183038183020
:102AB4000080F90FC07F00FE03F01F70F01F00803C
:102AC400E103001F00F800C00760C0070080010098
:102AD4000000000000000000000000800100000071
:102AE4000000000000000000008001000000000061
:102AF4000000000000000080010000000000000051
:102B04000000000000800100000000000000000040
:102B1400000000000C00060000000060003000000F
:102B240018000300000000C00018000030800100FD
:102B340000000080010C000060C0000000000000E4
:102B440003060000C060000000000000060300004F
:102B540080310000000000008C010000001B000018
:102B640000000000D8000000000E0000000000007B
:102B740070000000000E0000000000007000000063
:102B8400001B000000000000D8000000803100009D
:102B9400000000008C010000C06000000000000084
:102BA4000603000060C000000000000003060000EF
:102BB4003080010000000080010C000018000300B8
:102BC400000000C0001800000C00060000000060B7
:102BD40000300000000000000000000000000000C1
:102BE40000000000000000000000000000000000E1
:102BF40000000000000000000000000000000000D1
:102C040000000000000000000000000000000000C0
:102C140000000000000000000000000000000000B0
:102C240000000000000000000000000000000000A0
:102C34000000000000000080FFFF01000000000011
:102C4400000000FEFFFF7F00000000000000E07FA6
:102C54000000FE07000000000000FE010000807F6D
:102C64000000000000801F00000000F801000000C8
:102C740000F00100000000800F000000007C000054
:102C8400000000003E000000000F000000000000F3
:102C9400F00000008003000000000000C0010000FC
:102CA400E0000000000000000007000070000000C9
:102CB40000000000000E00001800000000000000EA
:102CC400001800000C0000000000000000300000AC
:102CD4000600000000000000006000000300000087
:102CE4000000000000C0008001000000000000009F
:102CF400008001C00000000000000000000003602C
:102D04000000000000000000000006300000000089
:102D14000000000000000C10000000000000000093
:102D24000000087C00FE00FF01C701C701C701C7FE
:102D340001C701C701C701C701C701C701C701C74F
:102D440001FF01FE007C0038003C003E003E0038DC
:102D540000380038003800380038003800380038AF
:102D64000038003800FE00FE00FE007C00FE00FF7C
:102D740001C701C701C001C001E000F00078003CB8
:102D8400001E000E000F000700FF01FF01FF017C81
:102D940000FE00FF01C701C701C001C001F80078AF
:102DA40000F800C001C001C001C701C701FF01FE56
:102DB400007C00E000E000F000F000F800F800F80B
:102DC40000FC00EC00EE00E600FF01FF01FF01E063
:102DD40000E000E000E000FF00FF00FF0007000744
:102DE4000007007F00FF00FF01C701C001C001C749
:102DF40001C701C701FF01FE007C007C00FE00FF4B
:102E040001C701C701070007007700FF00FF01C7E2
:102E140001C701C701C701C701FF01FE007C00FF14
:102E240001FF01FF01E000E0007000700070003855
:102E3400003800380038001C001C001C001C001C5A
:102E4400001C007C00FE00FF01C701C701C701C7C9
:102E540001FE007C00FE00C701C701C701C701C70E
:102E640001FF01FE007C007C00FE00FF01C701C7DA
:102E740001C701C701C701FF01FE01DC01C001C098
:102E840001C701C701FF01FE007C00000000000033
:102E94000000007C00FE00FF01C701C701F001FC37
:102EA40001CE01C701C701E701FF01DF01CE010720
:102EB40000070007000700E700F701FF01CF01C783
:102EC40001C701C701C701C701C701CF01FF01F74E
:102ED40001E70000000000000000007C00FE00FF8D
:102EE40001C701C7010700070007000700C701C7A2
:102EF40001FF01FE007C00C001C001C001C001CE81
:102F040001DF01FF01E701C701C701C701C701C70D
:102F140001C701E701FF01DF01CE0100000000004D
:102F24000000007C00FE00FF01C701C701C701FFCC
:102F340001FF010700C701C701FF01FE007C00E09B
:102F440000F000F8003800FE00FE00FE00380038F3
:102F540000380038003800380038003800380038AD
:102F6400003800000006830100000000000000009B
:102F7400000000068301000000000C0000000000B7
:102F840000068301000000000C00000000D8783621
:102F94009B79C0E3D90C8C67DB3C1BF8FD7EBFFD3D
:102FA400E0F7FB1FC6EFFB7E1F98CD66B3CD6036FE
:102FB4009B19C66C18660398FD66B3FD60309B19B7
:102FC400C66F18660398FD66B3FD60309B19C36F26
:102FD400186603980D66B30D60369B19C3601866B6
:102FE40003F8FD7EBFFDECF79B19C36F187E03D871
:102FF40078369B79CCE399998167183C03180000D3
:103004000000000000800100000000180000000023
:103014000000000000000000001800000000000094
:1030240000000000000000FFFFFFFFFFFFFFFFFFA5
:10303400FFFFFF010000000000000000000080010D
:1030440000000000000000000000800100000000FB
:1030540000000000000080010000000000000000EB
:10306400000080010000000000000000000080015A
:103074000000000000000000000080FFFFFFFFFFD1
:10308400FFFFFFFFFFFFFF000004024040000000BD
:1030940006000A00000402400400000002000900C7
:1030A4000008024000020000090009000008024074
:1030B400000400000A0009000008024000010000AA
:1030C400080009000000024002000000010009009D
:1030D400005C004000000240000100000800040001
:1030E4000004024000010000080009000000800004
:1030F400801A06000040000048490000000000005B
:1031040000000000010003008200070084000700A3
:1031140001000300020003004000030080000700D8
:103124008400070000000008004000080080000838
:1031340000C00008000001080000020800000408A4
:10314400000006080000080800000A0800000C0837
:1031540000000E08000008001000180020002800DD
:1031640030003800400048005000580000000000C3
:103174006410B71DC8206E3BAC30D9269041DC7674
:10318400F4516B6B5861B24D3C7105502083B8ED1E
:1031940044930FF0E8A3D6D68CB361CBB0C2649B42
:1031A400D4D2D38678E20AA01CF2BDBD53747563F1
:1031B4006B20627574746F6E2072656769737465D1
:1031C4007220697320696E76616C69642C20636C6B
:1031D400656172696E672E00427574746F6E206942
:1031E400642000697320737475636B2100427574E5
:1031F400746F6E2077617320707573686564206FD7
:103204006E20626F6F742E20427574746F6E20632B
:103214006F756E7465723A20004261636B0055707D
:103224000053656C65637400446F776E002E2E2F17
:103234007372632F647269766572732F6932632EB9
:1032440063004932432064657669636520494420FC
:103254006F7574206F6620626F756E6473202564C9
:1032640020286D61783A20256429006F6E002E2E87
:103274002F7372632F647269766572732F706D6930
:10328400632F617333373031622E63004661696C9A
:10329400656420746F20737461727420504D4943C7
:1032A40020313230487A2050574D00206973206F06
:1032B4007574736964652073797374656D20666CC5
:1032C400617368006661696C656420746F2065725F
:1032D40061736520736563746F7220006661696C45
:1032E400656420746F207772697465206164647208
:1032F4006573732000496E76616C69642066697237
:103304006D77617265206465736372697074696F47
:103314006E2100436865636B73756D6D696E67201C
:103324006669726D77617265207570646174650099
:1033340043616C63756C6174656420636865636B79
:1033440073756D3A2000496E76616C696420666914
:10335400726D776172652043524320696E20535029
:103364004920666C617368210065726173655F6FE3
:103374006C645F6669726D776172650077726974F7
:10338400655F6E65775F6669726D77617265005718
:1033940065277265206465616400436865636B73C7
:1033A400756D6D696E6720002062797465730D0A0E
:1033B40000436865636B73756D202D2077616E74AF
:1033C4006564200020676F7420004F757220696E59
:1033D4007465726E616C20666C61736820636F6ED5
:1033E40074656E7473206172652062616420286361
:1033F4006865636B73756D206661696C656429210A
:103404002054686973206973207265616C6C79203B
:1034140062616421004F75722070726576696F7500
:1034240073206669726D776172652075706461746A
:1034340065206661696C65642C2061626F727469D1
:103444006E67207570646174652E004E6577206622
:1034540069726D7761726520697320617661696C48
:1034640061626C6521004C6F6164696E67207265EE
:10347400636F76657279206669726D776172650033
:103484004661696C656420746F206C6F616420729E
:1034940065636F76657279206669726D77617265AE
:1034A4002C20737472696B65206F6E652E205472C4
:1034B4007920616761696E2E004661696C656420DC
:1034C400746F206C6F6164207265636F76657279C6
:1034D400206669726D776172652C20737472696BF2
:1034E400652074776F2E2054727920616761696E4C
:1034F4002E004661696C656420746F206C6F616492
:10350400207265636F76657279206669726D776182
:1035140072652C20737472696B65207468726565BA
:103524002E205341442057415443480048415244BB
:10353400204641554C540065786974207374616E5B
:1035440064627900205F5F5F20205F20205F20207D
:103554005F202020002F205F5F3E3C5F3E7C207C6C
:103564007C207C5F5F005C5F5F205C7C207C7C2037
:103574007C7C202F202F003C5F5F5F2F7C5F7C7C56
:103584005F7C7C5F5C5F5C0069326320696E697498
:10359400656400706D696320696E697465640062B6
:1035A4006F6F7420626974004C6173742066697271
:1035B4006D7761726520626F6F7420776173207319
:1035C4007461626C653B20636C6561722073747214
:1035D400696B657300504D494320776F6B652066B6
:1035E400726F6D207374616E6462792064756520F6
:1035F400746F206368617267657220646973636FB6
:103604006E6E6563740050757474696E6720504DF6
:103614004943206261636B20696E746F2073746127
:103624006E64627900486F6C6420646F776E205515
:1036340050202B204241434B202B2053454C4543E3
:103644005420666F72203520736563732E20746F67
:1036540020666F7263652D626F6F7420505246004E
:103664004669726D77617265206973206572617352
:103674006564005761746368646F67206361757380
:103684006564206120726573657400536F66747796
:10369400617265206661696C75726520636175731A
:1036A40065642061207265736574004661696C65A8
:1036B4006420746F207374617274206669726D770C
:1036C4006172652C20737472696B6520746872650D
:1036D400652E004661696C656420746F20737461A3
:1036E4007274206669726D776172652C20737472CE
:1036F400696B652074776F2E004661696C65642080
:10370400746F207374617274206669726D7761726C
:10371400652C20737472696B65206F6E652E00537F
:10372400687574646F776E207265717565737465FE
:10373400642E0052656D6F766520636861726765FB
:103744007220746F2073687574646F776E005368A9
:10375400757474696E6720646F776E2E00426F6FA4
:1037640074696E67206669726D77617265204020A6
:10377400002E2E2E0D0A0D0A00466F7263652D620F
:103784006F6F74696E67207265636F7665727920F6
:103794006D6F64652E2E2E00426F6F742062697403
:1037A400733A2000536F66747761726520666169AD
:1037B4006C7572653B20726573657474696E6721FC
:1037C400004153534552543A20003A004153534563
:1037D4005254004153534552544E002A2A2A20572A
:1037E4005446200053544D33320053544D33322049
:1037F4007065726970686572616C206C696272616F
:103804007279207472697070656420616E206173CE
:10381400736572740043524F414B204F4F4D006902
:10382400746F612062756666657220746F6F2073B1
:083834006D616C6C00000000E6
:10383C00FFFFFFFF008400000202000000C0040133
:10384C000000000000000002100000000700000053
:10385C00000001020304010203040607080900002A
:04000005080001846A
:00000001FF

View file

@ -0,0 +1,874 @@
:020000040800F2
:1000000070210020B5010008F9010008B51A0008A8
:10001000F9010008F9010008F901000800000000DA
:10002000000000000000000000000000F9010008CE
:10003000F901000800000000F9010008F9010008BA
:10004000F9010008F9010008F9010008F9010008A8
:10005000F9010008F9010008F9010008F901000898
:10006000F9010008F9010008F9010008F901000888
:10007000F9010008F9010008F9010008F901000878
:10008000F9010008F9010008F9010008F901000868
:10009000F9010008F9010008F9010008F901000858
:1000A000F9010008F9010008F9010008F901000848
:1000B000F9010008F9010008F9010008D11500084C
:1000C000DD150008E9150008F5150008F90100081C
:1000D000F9010008F9010008F9010008F901000818
:1000E000F9010008F9010008F9010008F901000808
:1000F000F9010008F9010008F9010008F9010008F8
:10010000F9010008F9010008F9010008F9010008E7
:10011000F9010008F9010008F9010008F9010008D7
:10012000F9010008F9010008F9010008F9010008C7
:10013000F9010008F9010008F9010008F9010008B7
:10014000F9010008F9010008F9010008F9010008A7
:10015000F9010008F9010008F9010008F901000897
:10016000F9010008F9010008F9010008F901000887
:10017000F9010008F9010008F9010008F901000877
:04018000F901000879
:100184008BB8185876342E332D616C706861322D1B
:1001940033342D6738663564383732000000000088
:0F01A40000000000386635643837320000000173
:1001B400002103E00A4B5B584350043109480A4BC1
:1001C40042189A42F6D3094A02E0002342F8043B5B
:1001D400074B9A42F9D301F0EBFF01F09BFC704707
:1001E4004436000800000020140000201400002001
:1001F4006C010020FEE7000030B501208BB002F056
:1002040021FC002401902546E0B200F049FC01AA3B
:1002140008B9105519E0135D042B10DD164800F0E1
:1002240035FE02A92022019801F08DFF02A800F0FA
:100234002DFE0120002102F0F5FB00201AE001331D
:10024400DBB2052B135528BF01250134042CDBD167
:10025400019C54B1094800F019FE204602A920224D
:1002640001F071FF02A800F011FE0120214602F006
:10027400D9FB28460BB030BD482E0008742E000868
:1002840008B500F017FB80F00100C0B208BD000003
:1002940008B54FF48061034802F0B1F9003018BF8B
:1002A400012008BD001802402DE9F0434A4C89B0F2
:1002B400204600F005FE20460D21052202F0AAF991
:1002C40020460E21052208AE02F0A4F9052220469C
:1002D4000C2102F09FF94FF4005346F81C3D002511
:1002E40001274FF00209204631468DF80A508DF857
:1002F4000B508DF808908DF8097002F03FF94FF417
:10030400804320463146019302F038F94FF480537C
:100314002046314601934FF4007802F02FF920462D
:1003240031468DF808508DF80B70CDF8048002F03A
:1003340025F94FF480632046314601938DF8085027
:100344008DF80B5002F01AF94FF4807320463146B1
:1003540001938DF808708DF80B5002F00FF94FF4EB
:1003640000432046314601938DF80A708DF80B50F6
:1003740002F004F939464FF4001002F0F7FAA4F53C
:100384004444164B164E1E60204602F06BFB03A835
:1003940002F0DFFB4FF4827339463046ADF80E307D
:1003A400ADF80C50ADF81050ADF81290ADF81470D3
:1003B400ADF8168001F024F903A9ADF81800204621
:1003C400ADF81A5002F0A6FB2046394602F0CDFBE8
:1003D40009B0BDE8F08300BF0018024014000020FB
:1003E4000024F40008B5022001F097FE012000F07B
:1003F40045FB022001F091FE0120BDE8084000F019
:100404002BBB000010B504460548022102F0BEFBD8
:100414000028F9D021460248BDE8104002F0B4BBE0
:100424000054014038B5012204460D4629484FF4D2
:10043400807102F0EAF8012001F06FFE25484FF4C4
:100444000041002202F0E1F84FF4807100222148BB
:1004540002F0DBF8012001F060FE4FF400411D487A
:10046400012202F0D2F8012001F057FE19484FF49E
:10047400007102F0C4F818B11748184A6A210AE05A
:1004840014484FF4004102F0BAF808B1254404E0DE
:100494001148134A6B2101F0B3FDAC4204D014F8A7
:1004A400010BFFF7AFFFF8E70A484FF48071012210
:1004B40002F0ABF808240020FFF7A4FF013CFAD1B6
:1004C4004FF40071034802F09AF8003018BF01207D
:1004D40038BD00BF001802408D2E0008972E00087A
:1004E400B22E000810B504460B4802F04AFB0A4835
:1004F400022102F04BFB0028F9D00748214602F004
:1005040043FB0548012102F041FB0028F9D00248D1
:1005140002F037FBC0B210BD0054014010B54FF4D7
:10052400807104460022054802F06FF8642001F04F
:10053400EFFD2046BDE81040FFF764BF00180240FD
:1005440008B50748802102F021FB0028F9D10548AD
:100554004FF480710122BDE8084002F056B800BF94
:10056400005401400018024010B540F2F514FFF7A2
:100574008FFE50B1013C04D1054800F087FC2046B1
:1005840010BD642001F0C4FDF1E7012010BD00BFDF
:10059400CF2E000810B5224C638822884FF6FF71D5
:1005A400DB438A429BB20BD09A4209D11D4800F02A
:1005B4006DFC1D482188FFF735FF20B1012010BDD7
:1005C4001A4800F063FC1A4800F060FC19484FF424
:1005D4008071012202F019F84FF4004100221548FD
:1005E40002F013F8012001F098FD12484FF4004185
:1005F400012202F00AF840F2E9340E484FF4007187
:1006040001F0FDFF0028D9D1013C04D10A4800F0D3
:100614003DFC204610BD642001F07AFDEDE700BFEB
:1006240000000F60F22E000804000F601E2F000867
:100634003A2F000800180240502F000810B5044655
:100644000420FFF76BFF2046FFF7DCFEBDE81040F7
:10065400FFF776BF10B504460120FFF75FFFE0B255
:10066400FFF7D0FEC4F30720FFF7CCFEC4F3074026
:10067400FFF7C8FE200EFFF7C5FEBDE81040FFF7E8
:100684005FBF000010B5FFF70FFEFFF783FF08B947
:10069400224830E0224800F0DDFB4FF48071002254
:1006A400204801F0B2FF642001F032FD0020FFF782
:1006B40019FF4FF48071012204461A4801F0A5FF86
:1006C400204600F0F1FB184800F0E0FBFFF78AFE3B
:1006D40000240120FFF7B2FFFFF746FF78B10320A3
:1006E400FFF71CFFFFF72CFF104800F0B3FB204678
:1006F40000F0DAFB0E48BDE8104000F0C7BB01343F
:10070400FFF748FF152CE4D10A4800F0BFFB022094
:10071400FFF704FFBDE81040FFF712BF6C2F00087D
:100724009B2F000800180240C4350008AA2F0008B7
:10073400C52F0008CF2F000808B55D235843094B87
:100744004A1C00EB52001A78B0FBF1F0C0B28242AE
:1007540007D01870FFF77EFF0220BDE80840FFF7BE
:100764006DBF08BD0000002008B5FFF773FF03202C
:10077400BDE80840FFF762BF08B50220FFF7CEFED0
:10078400BDE80840FFF7DCBE01F1C04102F074BAD5
:1007940070B543489AB000F093FB424800F090FBD8
:1007A400414800F08DFB414B93E8030001AD85E81F
:1007B40003003C48294601F0E1FE3A4804210122A5
:1007C40001F023FF00240223029435488DF80830F9
:1007D400072103230C228DF80930019401F01AFF3C
:1007E40080232F480193294601F0C8FE022C04D02F
:1007F4002C48A1B20C2201F00DFF0134102CF5D1CC
:100804004FF6FB7327480193294601F0B7FE0226F1
:100814003146013624480C22B6B201F0FBFE102EFC
:10082400F6D14FF6FC7329461F48019301F0A6FE4A
:10083400042100221B481E4D01F0E7FE0A2001F0AE
:1008440067FC01220421174801F0DFFE1E2001F09D
:100854005FFC0120014602F071F80FCD03AC0FC418
:1008640095E8070084E80700402200210AA802F066
:100874000EFA02230B9308230C934FF48053129324
:100884004FF4005313930AA803AB18930D9601F089
:10089400FBFD0020012101F061FE1AB070BD00BF14
:1008A40000040240000C024000100240A42C000886
:1008B400AC2C00080D4B98221A80A3F68A231B88BF
:1008C400DBB2512B0CD10A4B1B88DBB2522B07D164
:1008D400084B1888C0B2A0F159035842584100E0AF
:1008E4000020024BF0221A80704700BFAA0A006061
:1008F400220000602400006002460B4604205021C0
:1009040000F045BE02460B460420502100F054BEC0
:10091400032873B50E4603D0042804D001F086FBE7
:1009240014241C4D01E01C4D162420460DF1070132
:10093400FFF7E2FF08B900202AE02B78AEB10BB133
:10094400013323E09DF8071021F0060141F0020174
:1009540020468DF80710FFF7D5FF0028EBD00124BF
:1009640003202C7001F0D9FB11E05AB2012A0CDCEF
:100974009DF80710204601F0F9018DF80710FFF7E4
:10098400C1FF0028D7D02E7001E0013B2B7001205D
:1009940002B070BD180000201900002073B525486E
:1009A40000F08EFA02254FF410730024012621482A
:1009B400009369468DF804508DF805508DF8066053
:1009C4008DF8074001F0DAFD1A480621042201F0EF
:1009D40021FE04220921174801F01CFE154800F0ED
:1009E40087FA154800F06CFA42F20C036946124883
:1009F40000938DF805508DF804608DF806408DF84D
:100A0400074001F0BBFD0C4800F072FA042000F02E
:100A140057FD20466946FFF76FFF9DF80050B54229
:100A240005D103202946FFF773FF284600E020463E
:100A340002B070BD000402400014024010B5044628
:100A4400042000F03DFD21460420FFF761FF04204F
:100A5400BDE8104000F066BD38B5074C0546204699
:100A640000F02EFA20462A46042101F0CEFD20464D
:100A7400BDE8384000F03CBA0014024038B5074CD9
:100A84000546204600F01CFA20462A46082101F0BB
:100A9400BCFD2046BDE8384000F02ABA00140240EC
:100AA40038B5094C04EB00146568284600F008FAD0
:100AB4002189284601F0A3FD0446284600F018FACF
:100AC400B4FA84F0400938BDC82C000838B50024B5
:100AD4002546E0B2FFF7E4FFA04001340543042CAF
:100AE400EDB2F6D1284638BDF7B54FF48040012168
:100AF400134C01F03BFF04F140076568284600F001
:100B0400DFF9684601F072FD02238DF80530A37BFE
:100B14008DF807302846A3680093694600268DF8AF
:100B24000460103401F02AFD284600F0E1F9BC42CB
:100B3400E3D14FF48040314601F018FF03B0F0BD1B
:100B4400C82C000808B5054B1B781BB90448322192
:100B540001F062FABDE8084001F0D6BB1A0000209B
:100B640002300008124B1B7870B505460C461BB9C1
:100B74001048382101F050FA032906D98E0831466D
:100B8400FFF7E0FFB6003544A41B6CB12B462C44A0
:100B94000020A34204D013F8012B42EA0020F8E716
:100BA400BDE8704001F0AABBBDE8704001F0BABBDB
:100BB4001A00002002300008024B1A780AB90122F8
:100BC4001A7070471A00002008B5084B1A781AB931
:100BD40007482B2101F020FA01214FF4805059706D
:100BE40001F0A0FEBDE8084001F082BB1A0000201D
:100BF4000230000808B5074B1A781AB90648512183
:100C040001F00AFA002159704FF48050BDE8084001
:100C140001F088BE1A0000200230000870B50C46AE
:100C24000546A608FFF7D0FF28463146FFF78AFF9E
:100C340004F0030105EB8600FFF794FF0446FFF779
:100C4400D9FF204670BD70B5A0B00D460646FFF72B
:100C5400BBFF2C467119802CA1EB0401684608D90E
:100C64008022FFF791FD68462021FFF76BFF803C4F
:100C7400F0E72246FFF788FD21466846FFF772FF3A
:100C84000446FFF7B7FF204620B070BD0A4B1B781F
:100C940010B504467BB10948402101F0E7FF002864
:100CA400F9D00648214601F0DDFF0448402101F057
:100CB400DDFF0028F9D010BD1C00002000480040D2
:100CC4002DE9F043334D83B06C6804F12E0323F017
:100CD400070300AFADEB030D50238DF80030212343
:100CE4008DF8013000238DF8023003238DF8033092
:100CF40004F121035BBAADF80430274B04F1270853
:100D04006E460DF1060203F11C0153F8040B42F880
:100D1400040B8B42F9D11B78137004F1230922468A
:100D240006F123001D4901F0A7FF31464A46002081
:100D340001F0CEF907F1080304F5927443F8040DA9
:100D4400186846F80900FE23B4FBF3F34344073361
:100D540023F00703ADEB030D31464246684601F02C
:100D64008FF904465520FFF791FF6E466C44A64266
:100D740007D016F8010B552808BF0020FFF786FF9F
:100D8400F5E75520FFF782FF00230C376B60BD4663
:100D9400BDE8F0831C000020102D00082400002072
:100DA4002DE9F041274C86B0204600F089F84FF435
:100DB4008020012101F0CEFD20460A21072201F006
:100DC40029FC06AE072220460B2101F023FC4FF438
:100DD400806346F8183D002501274FF0020820469D
:100DE40031468DF806508DF807708DF804808DF823
:100DF400058001F0C3FB4FF40063204631460093A5
:100E04008DF8048001F0BAFBADF80C50ADF80E502B
:100E1400ADF81050ADF814500B4D0C4B029328460E
:100E24000C2302A9ADF8123001F0B6FE284639466B
:100E340001F00CFF204600F05BF8054B1F7006B074
:100E4400BDE8F081000802400048004040420F0025
:100E54001C00002038B50C4B1A781C469AB1451E6C
:100E640015F8012F7AB163680749FF2B0BD80A2ABA
:100E740002D1FFF725FFF3E70D2A1FBF581C5B18AB
:100E840048601A72ECE738BD1C00002008B5054B19
:100E94001B782BB1FFF7DEFFBDE80840FFF710BF5A
:100EA40008BD00BF1C0000201FB50C2201A901F0E1
:100EB4004AF901A8FFF7CEFF05B05DF804FB000076
:100EC40000F13F4000F57E00C0F3872008280AD8CF
:100ED400054A135C591C11542BB9044901230A6BAC
:100EE400834013430B637047240100200038024001
:100EF40000F13F4000F57E00C0F3872008280DD89C
:100F0400074A135C53B1013BDBB2135433B90549AF
:100F140001230A6B834022EA03030B63704700BF7B
:100F2400240100200038024002460068838823F42C
:100F3400E0631B041B0C838003889BB243F400739F
:100F4400038008230020517513751076704737B558
:100F540004460D46FFF7B4FF0023204669468DF88A
:100F640004308DF805308DF80730009501F006FB4C
:100F74002046FFF7BDFF03B030BD000010B50B4C99
:100F8400342300FB0344236B7BB10A2001F0C5F832
:100F94006068A168FFF7DBFF20696169FFF7D7FF8D
:100FA400236B0120BDE81040184710BD302D000808
:100FB400F7B5044616460F461D46FFF781FF02218A
:100FC40001238DF804108DF805108DF806302046A5
:100FD400002369468DF80730009701F0CFFA2046C8
:100FE40031462A4601F016FB2046FFF781FF03B085
:100FF400F0BD0000027D082A10B5044607D102683E
:10100400938823F4C0631B041B0C938084E0434B3C
:10101400006803EB8203996E01F0CCFB00287BD0BF
:10102400237D072B72D8DFE803F0040B1921323B30
:101034005A6E237A226803F0FE03138201232DE003
:101044002268A37A1382637A0BB1022326E0938881
:101054009BB243F48063938006231FE022681388C5
:101064009BB243F480731380032317E0237A22682E
:1010740043F001031382E37A012B01BF138823F4A5
:1010840080631B041B0C08BF1380042306E0226842
:1010940093889BB243F480639380052323753BE0DC
:1010A40023682269198A237BD154237BE27A013392
:1010B400DBB2591C9142237307D12268138823F4AD
:1010C40080631B041B0C138026E0934224D1226806
:1010D400938823F480631B041B0C938013E0237B0D
:1010E40021692268CB5C1382237BE17A0133DBB272
:1010F4009942237310D1938823F480631B041B0C3F
:1011040093800723CAE72046012101E020460021FD
:10111400BDE81040FFF708BF002010BD302D0008C7
:101124007FB51D4D1C2303FB005306461B790BB9E9
:10113400FFF724FF194C342306FB03446068A168BD
:10114400A289A37BFFF734FF228BA37E2069616908
:10115400FFF72EFFE069012101F0FCFB684601F076
:1011640003FB0F4A236A009393424FF48063ADF864
:101174000A304FF01C0384BF626AADF8062003FBFB
:1011840006F46946285901F085FA2859012101F02D
:10119400F9FA04B070BD00BF30010020302D000802
:1011A400A086010073B504460E460025FFF788FEAD
:1011B4000123204669468DF8043000968DF80550C9
:1011C4008DF8075001F0DAF92046B1B22A4601F051
:1011D4001CFA2046FFF78CFE02B070BD10B5094C16
:1011E400342300FB0344236B5BB100209847606801
:1011F400A168FFF7D7FF20696169BDE81040FFF7D8
:10120400D1BF10BD302D00081C23104A434370B5D4
:1012140005460F4CD058D61801F00EFA342305FBBE
:1012240003440021E06901F095FB337923B9284692
:10123400BDE87040FFF7D2BF6068A168FFF787FE82
:1012440020696169BDE87040FFF781BE300100206C
:10125400302D00082DE9F347504C9A4694F8383065
:10126400884691461BB94E4840F2951104E0042883
:1012740004D94B484FF4CB7100F0CEFE494B1844CF
:101284001C2590F88860754363191B790BB90020FD
:1012940081E063591B8B9F0716D41C2070432718C9
:1012A40000259DF828300B9A87F8089087F80AA043
:1012B40087F80980FB723D733D753A61FD822058C1
:1012C400012101F06BFA2AE03046FFF79DFF30461A
:1012D400FFF726FF6159344B0A8B9007DDD5013B9C
:1012E400FAD1D4E71C2303FB06431B7E23B1019BE5
:1012F4005A1E0192002BF5D11C2303FB0643002246
:101304001A76019903F1100239B3117908291AD117
:1013140055791C2303FB06431B7D082B2BD01C2370
:101324007343E018E1580A8892B242F480720A804A
:10133400E25893889BB243F440739380012303766D
:10134400194B0193D3E7D188B1F57A7F05D20131E6
:10135400D180012000F0E1FEDBE719688B8823F4DB
:10136400E0631B041B0C8B800B889BB243F400735B
:101374000B80082313711C237343E1580A4B0A8B17
:10138400920707D5013BFAD13046FFF73DFF3046BF
:10139400FFF7C6FE284602B0BDE8F0873001002002
:1013A40008300008302D000880841E00017D036889
:1013B400082906D19A8822F480721204120C9A80A9
:1013C40038E09A8A120541BF9A8A22F40062120414
:1013D400120C48BF9A829A8AD20541BF9A8A22F493
:1013E40080721204120C48BF9A829A8A52051ED542
:1013F4009A8A22F480621204120C04299A820AD175
:10140400032202759A8822F4E0621204120C9A8074
:10141400002303760EE0012909D19A8822F4E062C0
:1014240012040021120C01759A80017602E0002159
:10143400FFF77ABD002070472DE9F3411D4C1E4E85
:1014440000251E4F56F8283C44F8043C1C2202FB9D
:1014540005720023237013760822227432788DF8E3
:1014640004204FF001080C2201A82372E371E36009
:101474008DF805208DF806308DF8078000F002FF06
:1014840073788DF8043001A800F0FCFE54F8040CC5
:1014940001F0D2F8454504F11C0406F1340601D0EC
:1014A4004546CEE7284687F83850FFF797FE02B046
:1014B400BDE8F08134010020582D000830010020DF
:1014C40073B5144C94F838200346254622B91248C3
:1014D40040F2331100F0A0FD042807D90522009240
:1014E4000D480E4A40F2351100F08AFD0C4A1344AF
:1014F40093F888401C2303FB04521E46127912B948
:101504002046FFF70DFE06FB0454237901332371B3
:1015140002B070BD30010020083000080E30000811
:10152400302D0008104A08B592F838301BB90F481E
:1015340040F2451104E0042804D90C484FF4A37187
:1015440000F06AFD0A4B18441C2390F8880003FB42
:10155400002213793BB1013BDBB213711BB9BDE827
:101564000840FFF751BE08BD3001002008300008D4
:10157400302D000837B50D4614460093069B0193A1
:1015840001212A462346FFF765FE03B030BD07B5A7
:1015940000930123FFF7EEFF03B05DF804FB37B5BA
:1015A4000D4614460093069B019300212A462346C8
:1015B400FFF750FE03B030BD1FB504AC04F8013D85
:1015C40001230094FFF7EBFF04B010BD0148FFF7BF
:1015D40011BD00BF300100200148FFF7E7BE00BF86
:1015E400300100200148FFF705BD00BF4C01002079
:1015F4000148FFF7DBBE00BF4C010020FFF71EBA15
:1016040030B585B004460D46684601F047F90DB97A
:10161400029805E0012D01D1039801E000F006FDD8
:10162400B4EB500F0ED8B0FBF4F000F080FD0028AE
:1016340002DC0748272103E0082804DD04482821A8
:1016440000F0EAFC01200138C00080B205B030BDD2
:101654003A300008B0F1006F10B504460BD20C48C4
:10166400FFF7F8FB2046FFF71FFC0A48FFF7F2FBE1
:101674004FF0FF3010BD084B002053F8042BA2425A
:1016840002D81A68944202D301300B28F5D110BD58
:10169400B230000840300008C02D00082DE9F8439E
:1016A40006462A480C4617469846FFF7D3FB3046B1
:1016B400FFF7FAFB2648FFF7CDFB2046FFF7F4FBC4
:1016C4002448FFF7C7FBD4B33046FFF7C3FF0546F2
:1016D400601E3044FFF7BEFF002D814632DB002838
:1016E40030DB461B01361FB1002031464246B84765
:1016F40000F02AFE2C464C451FDCF32000F03AFE95
:10170400154B002133F8140000F06CFE09280BD0AF
:101714001248FFF79FFB2046FFF7C6FB1048FFF770
:10172400B5FB00F01FFE0DE02FB1C5F10100204410
:1017340031464246B8470134DDE700F013FE01208C
:10174400BDE8F8830020BDE8F88300BF5B300008E3
:101754006F30000872300008F02D00087630000861
:10176400C43500082DE9F0470646234814460D46C3
:101774001F46FFF76FFB3046FFF796FB1F48FFF746
:1017840069FB2046FFF790FB1D48FFF763FB00F061
:10179400DBFDF32000F0EEFD4FEAD41805EB04095D
:1017A4002C464C45C5EB040A20D0701B204414F889
:1017B400011B00F04DFE09280DD01248FFF74AFB2B
:1017C4003046FFF771FB1048FFF760FB00F0CAFDDD
:1017D4000020BDE8F087002FE3D01AF07F0FE0D19E
:1017E4004FEADA104146089AB847DAE700F0BAFD42
:1017F4000120BDE8F08700BF8E3000086F3000087C
:1018040072300008A2300008C435000808B545F25B
:10181400555000F0DDFF042000F0E0FF40F6FF70BB
:1018240000F0E2FF002000F0D3FF4FF480500121CC
:10183400BDE8084000F07CBD08B500F0E3FFBDE85A
:10184400084000F0D7BF08B57D2001F0D7F800307C
:1018540018BF012008BD4900FEF76EBF4B0803EB1B
:101864005000FEF769BF000070B586B00546FFF76B
:10187400A3F901210020FEF75FFF042000F020FB04
:1018840003A8294600F06EFB03A800F07AFB08B910
:1018940028480BE02848FFF7F9FA05F10C000499F1
:1018A400FFF7D1F9059B984204D02448FFF7EEFADC
:1018B40001203DE0049C2248FFF7E8FA2146214A32
:1018C40021480023FFF7EAFE049E2048FFF7DEFAD2
:1018D400002405F1C0411E4B009432460C311A48D5
:1018E400FFF740FF1B48FFF7B5FA0498FFF7DCFA4F
:1018F4001948FFF7AFFA04991348FFF78FF9054623
:101904001648FFF7A7FA0598FFF7CEFA1448FFF731
:10191400A1FA2846FFF7C8FA1248FFF7B7FA059B61
:101924009D4204D01048FFF7B1FA022000E020469F
:1019340006B070BDBB300008D9300008F63000088E
:10194400193100085B180008004000082C31000819
:10195400611800083F3100084D3100085631000875
:1019640069310008C43500086F31000808B5022049
:1019740000F0BEFAD8B3042000F0BAFA70B11C48E3
:10198400FFF784FA042000F0A7FA022000F0A4FA7A
:101994004FF40040BDE8084000F09EBA1548FFF738
:1019A40075FA082000F098FA102000F095FA20202B
:1019B40000F092FA402000F08FFA4FF48010FFF705
:1019C40053FF022807D1082000F07AFA102000F013
:1019D40077FA00F04DFB042000F07EFA022000F0BC
:1019E4007BFA4FF40040BDE8084000F069BA08BD36
:1019F400BA310008F031000810B52548FFF746FA5F
:101A04004FF40010FFF730FF10B102283AD809E074
:101A1400202000F061FA402000F05EFA802000F0FF
:101A24004FFA2FE0082000F04BFA102000F048FA9B
:101A3400202000F05DFA20B91648FFF727FA20208D
:101A440007E0402000F054FA58B91348FFF71EFA93
:101A5400402000F035FA4FF4007000F031FA00F045
:101A640007FB0E48FFF712FA082000F035FA1020A1
:101A740000F032FA202000F02FFA402000F02CFA77
:101A8400002400E00124042000F026FA204610BDC2
:101A94000B320008253200085E3200089732000835
:101AA40008B50248FFF7F2F900F0E7FAD13200086E
:101AB4001EF0040F0CBFEFF30880EFF30980FFF76B
:101AC400EFBF70471FB504461048FFF7DFF901A9BF
:101AD4000C22204600F037FB01A8FFF7D7F9204677
:101AE400FEF742FEFEF7F2FF094B20F004001870E7
:101AF4001C46FEF7EBFF237800F0FB00834201D085
:101B040000F0B6FA0A2000F008FBF2E7C73200083A
:101B1400690100207FB54FF08050012100F01AFFC9
:101B2400022000F07DFE012807D1022000F082FE91
:101B3400BC48FFF7ABF900F0A0FA00214FF0805049
:101B440000F008FFFFF72CF9B748FFF79FF9B748F3
:101B5400FFF79CF9B648FFF799F9B648FFF796F9ED
:101B6400B548FFF793F9B548FFF790F9B448FFF784
:101B74008DF9B448FFF78AF9B348FFF787F9B348FA
:101B8400FFF784F9FFF758FCFEF708FF00F0BAF9F5
:101B940000F0D0F900210C2201A801F078F800F03F
:101BA400C5F901A90C2200F0CEFA01A8FFF76EF9DD
:101BB4009D48FFF76BF99C48FFF768F94FF48040A4
:101BC40000F096F990B1A248FFF760F94FF4804015
:101BD40000F082F9082000F07FF9102000F07CF971
:101BE400202000F079F9402000F076F9FEF7D0FDCE
:101BF400FEF77AFFFEF746FDFEF7FEFA08B19548B8
:101C040003E0FEF73DFB10B19348FFF75BFF00F0E4
:101C14008CF9802000F06CF918B1802000F05CF998
:101C240056E04FF4003000F063F9044620B14FF45D
:101C3400003000F051F94DE00120FEF731FFB0B162
:101C44002046FEF72DFF90B18448FFF71FF941F2BB
:101C540088340120FEF724FF98B10020FEF720FF0E
:101C640078B1012000F059FA013CF2D132E07C4B0A
:101C74000CCB013301D0013203D17A48FFF706F9C6
:101C840028E0FFF7E0FD48B3FFF7DDFD10B176482B
:101C9400FFF7FCF84FF4007000F02AF910B1734814
:101CA400FFF7F4F84FF4007000F016F9102000F07C
:101CB4001FF9002800F0F0806D48FFF7E7F80820CE
:101CC40000F00AF9102000F007F9FFF795FE98B923
:101CD40068489AE76848FFF7D9F8F6E74FF40070C8
:101CE40000F006F90028CFD1082000F0F5F8102004
:101CF40000F0F2F8FFF73AFE4FF4005000F0F8F865
:101D040004464FF4805000F0F3F8400040EA8400A9
:101D1400C4B24FF4006000F0EBF82043C0B20728CF
:101D2400C3B20DD14FF4006000F0D6F84FF48050E8
:101D340000F0D2F84FF4005000F0CEF84F4864E7BA
:101D44000133DBB2023B4FF40060052B11D8DFE80E
:101D540003F00C1003100C1000F0BEF84FF4805088
:101D640000F0BAF84FF4005003E000F0B5F84FF477
:101D7400805000F0A5F8FFF749FDFFF75DFD384BF3
:101D84003F485D681E68FFF765F82846FFF78CF842
:101D94003C48FFF75FF80022930003F1604303F52A
:101DA400614301324FF0FF31082AC3F88010C3F8B1
:101DB4008011F1D1344B4FF4801200241A635C6318
:101DC4009C631C645C6400F045FD3048012100F014
:101DD400D9FD21462D4800F0D5FDF120012100F068
:101DE400DDFD2146F12000F0D9FD0120014600F07F
:101DF400E1FD2146012000F0DDFD2548012100F030
:101E0400E5FD2146224800F0E1FD2248012100F0D1
:101E1400E9FD2048214600F0E5FD63B64FF0FF3EA2
:101E2400B5462847DC320008C4350008E93200080A
:101E340000330008193300084733000876330008DC
:101E4400A6330008D7330008093400083B340008DF
:101E54006C340008014550FE024550FE99340008D8
:101E640000400008CB340008DE340008F6340008D3
:101E740016350008034550FE8A350008044550FE17
:101E8400A9350008BD350008003802400010E022E2
:101E9400FFC9FEF6337F7704082000F029F820B14B
:101EA4000548FEF7F3FF102003E00448FEF7EEFFB9
:101EB400082000F005F81DE73E35000864350008E9
:101EC40010B50446002000F0BDFD40EA04010020E6
:101ED400BDE8104000F0A6BD10B50446002000F097
:101EE400B1FD20EA04010020BDE8104000F09ABDD5
:101EF40010B50446002000F0A5FD204214BF0120C7
:101F0400002010BD08B54FF08050012100F022FDE3
:101F1400012000F07FFC0120FFF7EAFF20B9012136
:101F2400BDE8084000F07EBD08BD7047022000F007
:101F340089BD000008B5FFF7F9FF054B1968884211
:101F440004D00220BDE8084000F06CBD08BD00BF0D
:101F54008401000808B50248FEF798FF00F088F8ED
:101F6400C53500081FB504460C2201A8FEF70CFC79
:101F740001AB03CB20601868A0602046616004B008
:101F840010BD0068A0F10C0358425841704700008E
:101F940080B50646174610480D461C46FEF75AFF04
:101FA4003846FEF757FF0D48FEF754FF3046FEF75C
:101FB40051FF0B48FEF74EFF2846FEF775FF2CB184
:101FC4000848FEF747FF2046FEF744FF0648FEF7A1
:101FD4005DFFFFF7BFFF00BFE2350008EB350008E7
:101FE400EE350008EC350008C43500081FB506AA14
:101FF40052F8044B039200921A462346FFF7C8FF97
:102004000CB41FB506AA52F8043B03920092014A8D
:10201400FFF7BEFFF035000807B5002300937246B2
:10202400014BFFF7E3FF00BFF7350008744608B51E
:102034000548FEF70FFF2046FEF736FF0348FEF77C
:1020440025FFFFF787FF00BFFF350008C4350008F0
:10205400BFF34F8F0449054BCA6802F4E06213438F
:10206400CB60BFF34F8FFEE700ED00E00400FA05FC
:1020740008B5FEF781FBFFF7EBFF08B5FFF7E8FFB4
:10208400F0B50646002401202546034694421DD09F
:1020940011F804C000F1010EBCF1000F03D1735517
:1020A400774605460DE00133DBB2FF2B774606F891
:1020B40000C007D102F1FF3C644506D07355871C6C
:1020C4007546012301343846E0E770467355F0BD88
:1020D40030B5C9B1C0430A44914213D011F8013B51
:1020E4000A4D83EA000404F00F0455F8244084EAFE
:1020F400101080EA131303F00F0355F8233083EA1A
:102104001010E9E7C04330BD084630BD082E000872
:10211400162358430138FDD1704710B504462CB13D
:102124004FF47A70FFF7F4FF013CF8E710BD10B5E7
:10213400B0FA80F400F027F801280CBFC4F11F00A6
:10214400C4F1200010BD0A2A10B51BDD0C46302353
:1021540004F8023B78234B701C220F239340034066
:10216400D340092B01D8303302E00F2B02D8573368
:10217400DBB200E02023043A04F8013B131DECD148
:1021840000238B7210BD00F0AA33A0EB530000F0C3
:10219400CC3300F0333000EB930000EB101000F070
:1021A4000F3000EB102000EB104000F03F007047B0
:1021B4002D4AD2F8883043F47003C2F888302B4B90
:1021C4001A68002142F001021A6099601A6822F02C
:1021D400847222F480321A60254A5A601A6822F402
:1021E40080221A60D9601A6C224942F080521A6423
:1021F4000A6842F440420A609A689A609A689A604F
:102204009A6842F480529A601B4A5A601A6842F0F3
:1022140080721A601968154A8901FBD5174B40F280
:1022240003611960936823F003039360936843F098
:10223400020393600D4B9A6802F00C02082AF9D14C
:102244009A6822F400029A600D4AC3F884201A683E
:1022540042F080621A60054B1B681B01FBD5024BE0
:102264004FF000629A60704700ED00E000380240D1
:1022740010300024007000401040010F003C024068
:1022840000300050C278037810B512B3164AD168F2
:102294004278C943C1F30221C1F10404E4B2A2406B
:1022A400D4B20F220A4181780A40224303F16043E9
:1022B40003F561431201D2B283F8002303780122AB
:1022C400590903F01F0302FA03F3084A42F82130C4
:1022D40010BD5A09012103F01F03994002F12003A4
:1022E400024A42F8231010BD00ED00E000E100E0D6
:1022F400014B01229A60704700300240014B186084
:10230400186870470030024000EB81018842044B9A
:1023140003D050F8042B1A60F8E71868704700BF20
:1023240000300240014B1868704700BF0030024083
:10233400044B9A6809B1104301E022EA0000986056
:10234400704700BF002004E0044B1A69002ABFBF95
:10235400034A5A6002F188325A607047003C0240D6
:1023640023016745024A136943F000431361704730
:10237400003C0240014BD860704700BF003C024063
:102384000E4BDA68D20310D4DA68D1060FD4DA68B7
:10239400D2050ED4DA6812F0EF0F0CD1DB6813F01B
:1023A400020F14BF0820092070470120704706203F
:1023B4007047022070470720704700BF003C02406E
:1023C40007B509238DF80730FFF7DAFF8DF807000A
:1023D4009DF80730012BF7D09DF8070003B05DF896
:1023E40004FB000070B5064641B1012908D002295A
:1023F4000CBF4FF400754FF4407503E00D4601E047
:102404004FF48075FFF7DCFF09281ED10F4C2369B8
:1024140023F440732361216929432161236923F053
:10242400F8032361236943F002031E4326612369F1
:1024340043F480332361FFF7C3FF236923F00203CE
:102444002361236923F0F803236170BD003C02403B
:1024540070B505460E46FFF7B3FF092811D1094CA4
:10246400236923F44073236123692361236943F0BF
:10247400010323612E70FFF7A3FF236923F00103F7
:10248400236170BD003C024070B543688668856A6C
:102494000468416B46EA0302C3681A4303691A439A
:1024A40043691A4383691A43C3691A43036A1A4383
:1024B400436A1343C26A2B431A43036B1343A200B8
:1024C40002F120420B43082E136002BF136843F04D
:1024D40040031360B1F5801F816B12D18CB14FF0B2
:1024E40020435C681E6846F480161E601E6846F42D
:1024F40080761E600E6924F47004013E44EA06549A
:102504005C608C690B6823434C6843EA04138C6851
:1025140043EA0423CC6843EA04430C69496943EA67
:10252400045343EA0163B5F5804F536010D1C16B86
:1025340088690B680343486843EA0013886843EAE0
:1025440000230869496943EA005343EA016301E04F
:102554006FF07043C2F8043170BD0000800000F1D8
:10256400204019B1036843F0010302E00268024B02
:1025740013400360704700BFFEFF0F00F0B50E6804
:1025840000220123934003EA060E9E452AD15500FA
:1025940003230468AB40DB431C4004600C790768E8
:1025A40004FA05FC013C4CEA0707012C076011D82A
:1025B40084684F791C4084608468AF4027438760F7
:1025C400446824EA0E0444608C7947689440A4B2B9
:1025D4003C434460C4682340C360CB79C468AB40C7
:1025E4002343C3600132102ACBD1F0BD4FF6FF73F1
:1025F40003600023037143718371C37170470369DE
:10260400194214BF0120002070470AB101837047AA
:102614004183704701F00703C90800EB810010B53E
:102624009B00046A0F21994024EA01010162016AB6
:102634009A401143016210BD08B5134B984207D16B
:102644004FF40010012100F0C1F94FF4001014E020
:102654000E4B984207D14FF48000012100F0B6F9E7
:102664004FF4800009E00A4B98420BD14FF400006C
:10267400012100F0ABF94FF400000021BDE808404F
:1026840000F0A4B908BD00BF005400400058004049
:10269400005C00407FB5868826F03F060446360479
:1026A40068460D46360C00F0F9F8029A2C48B2FB45
:1026B400F0F081B20E43A68023882A4E23F0010352
:1026C4001B041B0C23802B68B3420AD85B00013126
:1026D400B2FBF3F39BB2032B89B298BF042321848A
:1026E40023E0EE884BF6FF718E421BBF19214B434A
:1026F40003EB4303B2FBF3F315BF9BB2B2FBF3F35B
:1027040043F480439BB2C3F30B020AB943F00103C1
:102714004FF4967101FB00F24FF47A7192FBF1F2DF
:10272400013292B243F400432284A383238869894B
:10273400AA889BB243F001032380238823F4816396
:1027440023F002031B040A431B0C13439BB2238094
:102754002A89AB8913439BB2238104B070BD00BFA7
:1027640040420F00A086010041F288330360002339
:1027740083804BF6FF72038143814FF48043C28010
:1027840083817047038819B19BB243F0010303E0CE
:1027940023F001031B041B0C03807047038819B149
:1027A4009BB243F4806303E023F480631B041B0C9B
:1027B40003807047838A9AB2038B10B542EA0343BD
:1027C40021F07F4404EA0300431A5842584110BDE3
:1027D400014B1860704700BF00300040014B586047
:1027E400704700BF00300040014B9860704700BF45
:1027F40000300040024B4AF6AA221A60704700BF1C
:1028040000300040024B4CF6CC421A60704700BFC7
:1028140000300040014B1860704700BF20000E429A
:10282400034B5B68184214BF01200020704700BFAF
:1028340000700040064BB0F5402F15BF1A685A6867
:1028440042EA800042F4402214BF18605A60704784
:10285400007000400E4B1A68002142F001021A6019
:1028640099601A6822F0A85222F410221A60094AC8
:102874005A60094AC3F8842002F18062C3F88820B0
:102884001A6822F480221A60D960C3F88C10704749
:102894000038024010300024003000201D4A9368A4
:1028A40003F00C03042B10B503D0082B03D01A4BF0
:1028B40018E01A4B16E05168536811F4800F03F0C6
:1028C4003F03516814BF154A134AB2FBF3F3114A8C
:1028D4005268C2F30142C1F3881101324B435200E2
:1028E400B3FBF2F30B4A036093680D49C3F303137C
:1028F400CC5C0368E34043609468C4F382240C5DB9
:1029040023FA04F484609268C2F342328A5CD340AE
:10291400C36010BD003802400024F40040787D01FB
:1029240001000020044B1A6B09B1104301E022EAB4
:1029340000001863704700BF00380240044B9A6BD4
:1029440009B1104301E022EA00009863704700BF18
:1029540000380240044B1A6C09B1104301E022EA2A
:1029640000001864704700BF00380240044B5A6CE2
:1029740009B1104301E022EA00005864704700BF27
:1029840000380240044B1A6909B1104301E022EAFD
:1029940000001861704700BF00380240044B5A69B8
:1029A40009B1104301E022EA00005861704700BFFA
:1029B40000380240044B9A6909B1104301E022EA4D
:1029C40000009861704700BF00380240044B1A6A47
:1029D40009B1104301E022EA00001862704700BF09
:1029E40000380240044B5A6A09B1104301E022EA5C
:1029F40000005862704700BF003802404209012AB3
:102A0400074B01D11B6803E0022A0CBF1B6F5B6FED
:102A140000F01F0023FA00F000F00100704700BF2F
:102A24000038024082B000230193054B0193019BBF
:102A340003EB80000190019B196002B0704700BF56
:102A44005028004082B000230193054B0193019B61
:102A540003EB80000190019B186802B0704700BF2F
:102A64005028004008B5254B984207D14FF48050B8
:102A74000121FFF7B7FF4FF4805039E0204B984213
:102A840007D14FF480400121FFF7A0FF4FF48040AD
:102A940009E01C4B98420BD14FF400400121FFF791
:102AA40095FF4FF400400021BDE80840FFF78EBFBA
:102AB400154B984207D14FF400500121FFF792FFC4
:102AC4004FF4005014E0114B984207D14FF480109A
:102AD4000121FFF787FF4FF4801009E00C4B984267
:102AE4000BD14FF400100121FFF77CFF4FF40010CD
:102AF4000021BDE80840FFF775BF08BD0030014064
:102B040000380040003C00400034014000500140C7
:102B14000054014003884A8810B503F441540B88DB
:102B240013438A881343CA8813430A8913434A897F
:102B340013438A891343CA89134323439BB20380F3
:102B4400838B23F400631B041B0C83830B8A038293
:102B540010BD0023038043808380C38003814381AD
:102B64008381C381072303827047038819B19BB211
:102B740043F0400303E023F040031B041B0C0380D9
:102B84007047808980B270478181704703891942F8
:102B940014BF0120002070477FB5038ACA889BB206
:102BA40023F440531343038283890E469BB223F4D8
:102BB400B053098923F00C02B3880B4371890B438A
:102BC4009BB213438381838AB2899BB223F44073FB
:102BD4001343838204466846FFF760FE1A4B9C4207
:102BE40003D003F580639C4201D1039D00E0029D64
:102BF400A38931681BB2002B4FF0190202FB05F2C6
:102C0400B4BF4D008D00B2FBF5F5A2896426B5FB77
:102C1400F6F00001010912B2002A06FB1153ADBF00
:102C24001A01D90032313232B5BFB1FBF6F2B2FB30
:102C3400F6F302F0070203F00F03B4BF1043184386
:102C440080B2208104B070BD00100140838919B1A5
:102C54009BB243F4005303E023F400531B041B0C06
:102C640083817047C1F3080181807047038819424A
:102C740014BF01200020704710B5431E0A4491423E
:102C840004D011F8014B03F8014FF8E710BD0244DA
:102C94000346934202D003F8011BFAE77047000091
:102CA4000400000001030000010000000100000016
:102CB40003000000010000000F0000000F000000EE
:102CC40000000000EE2F0008001802401000000071
:102CD40006040000F32F000800180240080000005A
:102CE40006030000F62F000800180240020000004E
:102CF40006010000FD2F0008001802400400000037
:102D040006020000000000000000000001424F4FD6
:102D1400544C4F414445520000000000002A2A0050
:102D2400000000000000000000000000005400400B
:102D340000040240400000000600040000040240B9
:102D4400000200000900040000002000801A0600B0
:102D5400004000001F2000000000000000000000F0
:102D6400005800400014024002000000010004006A
:102D740000140240010000000000040000004000B4
:102D8400801A0600FFBF000021220000000000009E
:102D940001160008010003008200070084000700F8
:102DA400010003000200030040000300800007004C
:102DB400840007000001010000000000000000087A
:102DC400004000080080000800C00008000001085E
:102DD40000000208000004080000060800000808BB
:102DE40000000A0800000C0800000E08000008009B
:102DF400100018002000280030003800400048006F
:102E040050005800000000006410B71DC8206E3B3D
:102E1400AC30D9269041DC76F4516B6B5861B24DDD
:102E24003C7105502083B8ED44930FF0E8A3D6D647
:102E34008CB361CBB0C2649BD4D2D38678E20AA0AF
:102E44001CF2BDBD537475636B20627574746F6E30
:102E540020726567697374657220697320696E7680
:102E6400616C69642C20636C656172696E672E0005
:102E7400427574746F6E206973207075736865642D
:102E840020617420626F6F740069636534306C7004
:102E94002E630043444F4E45206E6F74206C6F7751
:102EA40020647572696E672072657365740043529D
:102EB40045534554206E6F742068696768206475B3
:102EC40072696E6720726573657400446973706C0F
:102ED400617920627573792D776169742074696DE5
:102EE400656F757420657870697265642100436F3D
:102EF4006E6669677572696E672046504741206641
:102F0400726F6D2062697473747265616D20696E8D
:102F140020666C6173682E2E2E004E6F204650473B
:102F2400412062697473747265616D20696E2066F4
:102F34006C6173682E0046616C6C696E6720626117
:102F4400636B20746F204E56434D2E00465047410C
:102F54002043444F4E452074696D656F7574206538
:102F640078706972656421004650474120636F6E32
:102F740066696775726174696F6E206661696C65F4
:102F8400642E204973207468697320612062696724
:102F9400626F6172643F00465047412076657273E8
:102FA400696F6E3A2000446973706C617920696EB0
:102FB400697469616C697A656420616674657220FC
:102FC4000020726574726965732E00446973706CB5
:102FD400617920696E697469616C697A6174696F79
:102FE4006E206661696C65642E004261636B0055F6
:102FF400700053656C65637400446F776E00637290
:10300400632E63006932632E630049324320646592
:1030140076696365204944206F7574206F66206269
:103024006F756E647320256420286D61783A2025BD
:103034006429006F6E007370692E63002069732029
:103044006F7574736964652073797374656D206634
:103054006C6173680D0A0073797374656D5F666CD7
:103064006173685F657261736528002C2000290D07
:103074000A006661696C656420746F20657261730F
:103084006520736563746F72200073797374656D62
:103094005F666C6173685F77726974652800666146
:1030A400696C656420746F2077726974652061644B
:1030B40064726573732000496E76616C696420667E
:1030C40069726D7761726520646573637269707487
:1030D400696F6E2100436865636B73756D6D696E0E
:1030E40067206669726D77617265207570646174BA
:1030F4006500496E76616C6964206669726D7761FA
:1031040072652043524320696E2053504920666CF7
:10311400617368210065726173655F6F6C645F66DB
:1031240069726D776172650077726974655F6E6547
:10313400775F6669726D7761726500436865636B7A
:1031440073756D6D696E6720002062797465730D07
:103154000A00436865636B73756D202D2077616E7B
:10316400746564200020676F7420004F75722069B5
:103174006E7465726E616C20666C61736820636F37
:103184006E74656E747320617265206261642028B8
:10319400636865636B73756D206661696C6564292A
:1031A400212054686973206973207265616C6C799D
:1031B4002062616421004F75722070726576696FB8
:1031C4007573206669726D776172652075706461CC
:1031D4007465206661696C65642C2061626F727429
:1031E400696E67207570646174652E004E65772082
:1031F4006669726D776172652069732061766169B1
:103204006C61626C6521004C6F6164696E67207249
:1032140065636F76657279206669726D7761726530
:10322400004661696C656420746F206C6F61642072
:103234007265636F76657279206669726D77617203
:10324400652C20737472696B65206F6E652E205433
:10325400727920616761696E2E004661696C6564EC
:1032640020746F206C6F6164207265636F76657281
:1032740079206669726D776172652C207374726946
:103284006B652074776F2E205472792061676169B1
:103294006E2E004661696C656420746F206C6F61EA
:1032A40064207265636F76657279206669726D77E2
:1032B4006172652C20737472696B65207468726521
:1032C400652E2053414420574154434800484152FD
:1032D40044204641554C54006578697420737461E8
:1032E4006E64627900205F5F5F5F202020202020D1
:1032F4002020202020202020205F5F002F5C202021
:103304005F605C20202020202020202020202F27E8
:103314005F5F605C005C205C2C5C4C5C5F5C20202C
:1033240020205F5F5F202F5C205C2F5C205C2020CE
:103334005F5F20205F5F20205F5F20205F5F202091
:103344005F5F00205C2F5F5C5F5F205C20202F2785
:10335400205F20605C205C205C205C205C2F5C2073
:103364005C2F5C205C2F5C205C2F5C205C2F5C203D
:103374005C002020202F5C205C4C5C205C2F5C20B7
:103384005C2F5C205C205C205C5F5C205C205C200B
:103394005C5F2F205C5F2F205C205C205C5F5C20E6
:1033A4005C002020205C20605C5F5F5F5F5C205CD1
:1033B4005F5C205C5F5C205C5F5F5F5F2F5C205C18
:1033C4005F5F5F785F5F5F2F275C2F605F5F5F5F8A
:1033D400205C00202020205C2F5F5F5F5F5F2F5CFC
:1033E4002F5F2F5C2F5F2F5C2F5F5F5F2F20205C90
:1033F4002F5F5F2F2F5F5F2F202020602F5F5F5F85
:103404002F3E205C0020202020202020202020206F
:1034140020202020202020202020202020202020A8
:103424002020202020202020202020202020202098
:103434002F5C5F5F5F2F0020202020202020202091
:103444002020202020202020202020202020202078
:103454002020202020202020202020202020202068
:1034640020205C2F5F5F2F004C61737420666972AB
:103474006D7761726520626F6F742077617320735A
:103484007461626C653B20636C6561722073747255
:10349400696B657300486F6C6420646F776E2055A8
:1034A40050202B204241434B20666F7220352073FD
:1034B4006563732E20746F20666F7263652D626F6F
:1034C4006F7420505246004669726D7761726520B0
:1034D400697320657261736564005761746368641D
:1034E4006F6720636175736564206120726573651D
:1034F4007400536F667477617265206661696C75D8
:1035040072652063617573656420612072657365FB
:1035140074004661696C656420746F207374617211
:1035240074206669726D776172652C207374726998
:103534006B652074687265652E004661696C65640C
:1035440020746F207374617274206669726D776180
:1035540072652C20737472696B652074776F2E000A
:103564004661696C656420746F20737461727420A1
:103574006669726D776172652C20737472696B650C
:10358400206F6E652E00466F7263652D626F6F74D7
:10359400696E67207265636F76657279206D6F64FA
:1035A400652E2E2E00426F6F74696E6720666972F5
:1035B4006D77617265204020002E2E2E0D0A0D0AB3
:1035C40000536F667477617265206661696C757209
:1035D400653B20726573657474696E67210041539D
:1035E400534552543A20002020003A004153534599
:1035F4005254004153534552544E002A2A2A20570C
:103604005446200053544D33320053544D3332202A
:103614007065726970686572616C206C6962726150
:103624007279207472697070656420616E206173B0
:10363400736572740043524F414B204F4F4D00004D
:10364400FF0000000001020304010203040607084E
:043654000900000069
:04000005080001B43A
:00000001FF

View file

@ -0,0 +1,874 @@
:020000040800F2
:1000000070210020B5010008F9010008B51A0008A8
:10001000F9010008F9010008F901000800000000DA
:10002000000000000000000000000000F9010008CE
:10003000F901000800000000F9010008F9010008BA
:10004000F9010008F9010008F9010008F9010008A8
:10005000F9010008F9010008F9010008F901000898
:10006000F9010008F9010008F9010008F901000888
:10007000F9010008F9010008F9010008F901000878
:10008000F9010008F9010008F9010008F901000868
:10009000F9010008F9010008F9010008F901000858
:1000A000F9010008F9010008F9010008F901000848
:1000B000F9010008F9010008F9010008D11500084C
:1000C000DD150008E9150008F5150008F90100081C
:1000D000F9010008F9010008F9010008F901000818
:1000E000F9010008F9010008F9010008F901000808
:1000F000F9010008F9010008F9010008F9010008F8
:10010000F9010008F9010008F9010008F9010008E7
:10011000F9010008F9010008F9010008F9010008D7
:10012000F9010008F9010008F9010008F9010008C7
:10013000F9010008F9010008F9010008F9010008B7
:10014000F9010008F9010008F9010008F9010008A7
:10015000F9010008F9010008F9010008F901000897
:10016000F9010008F9010008F9010008F901000887
:10017000F9010008F9010008F9010008F901000877
:04018000F901000879
:100184008BB8185876342E332D616C706861322D1B
:1001940033342D6738663564383732000000000088
:0F01A40000000000386635643837320000000173
:1001B400002103E00A4B5B584350043109480A4BC1
:1001C40042189A42F6D3094A02E0002342F8043B5B
:1001D400074B9A42F9D301F0EBFF01F09BFC704707
:1001E4004436000800000020140000201400002001
:1001F4006C010020FEE7000030B501208BB002F056
:1002040021FC002401902546E0B200F049FC01AA3B
:1002140008B9105519E0135D042B10DD164800F0E1
:1002240035FE02A92022019801F08DFF02A800F0FA
:100234002DFE0120002102F0F5FB00201AE001331D
:10024400DBB2052B135528BF01250134042CDBD167
:10025400019C54B1094800F019FE204602A920224D
:1002640001F071FF02A800F011FE0120214602F006
:10027400D9FB28460BB030BD482E0008742E000868
:1002840008B500F017FB80F00100C0B208BD000003
:1002940008B54FF48061034802F0B1F9003018BF8B
:1002A400012008BD001802402DE9F0434A4C89B0F2
:1002B400204600F005FE20460D21052202F0AAF991
:1002C40020460E21052208AE02F0A4F9052220469C
:1002D4000C2102F09FF94FF4005346F81C3D002511
:1002E40001274FF00209204631468DF80A508DF857
:1002F4000B508DF808908DF8097002F03FF94FF417
:10030400804320463146019302F038F94FF480537C
:100314002046314601934FF4007802F02FF920462D
:1003240031468DF808508DF80B70CDF8048002F03A
:1003340025F94FF480632046314601938DF8085027
:100344008DF80B5002F01AF94FF4807320463146B1
:1003540001938DF808708DF80B5002F00FF94FF4EB
:1003640000432046314601938DF80A708DF80B50F6
:1003740002F004F939464FF4001002F0F7FAA4F53C
:100384004444164B164E1E60204602F06BFB03A835
:1003940002F0DFFB4FF4827339463046ADF80E307D
:1003A400ADF80C50ADF81050ADF81290ADF81470D3
:1003B400ADF8168001F024F903A9ADF81800204621
:1003C400ADF81A5002F0A6FB2046394602F0CDFBE8
:1003D40009B0BDE8F08300BF0018024014000020FB
:1003E4000024F40008B5022001F097FE012000F07B
:1003F40045FB022001F091FE0120BDE8084000F019
:100404002BBB000010B504460548022102F0BEFBD8
:100414000028F9D021460248BDE8104002F0B4BBE0
:100424000054014038B5012204460D4629484FF4D2
:10043400807102F0EAF8012001F06FFE25484FF4C4
:100444000041002202F0E1F84FF4807100222148BB
:1004540002F0DBF8012001F060FE4FF400411D487A
:10046400012202F0D2F8012001F057FE19484FF49E
:10047400007102F0C4F818B11748184A6A210AE05A
:1004840014484FF4004102F0BAF808B1254404E0DE
:100494001148134A6B2101F0B3FDAC4204D014F8A7
:1004A400010BFFF7AFFFF8E70A484FF48071012210
:1004B40002F0ABF808240020FFF7A4FF013CFAD1B6
:1004C4004FF40071034802F09AF8003018BF01207D
:1004D40038BD00BF001802408D2E0008972E00087A
:1004E400B22E000810B504460B4802F04AFB0A4835
:1004F400022102F04BFB0028F9D00748214602F004
:1005040043FB0548012102F041FB0028F9D00248D1
:1005140002F037FBC0B210BD0054014010B54FF4D7
:10052400807104460022054802F06FF8642001F04F
:10053400EFFD2046BDE81040FFF764BF00180240FD
:1005440008B50748802102F021FB0028F9D10548AD
:100554004FF480710122BDE8084002F056B800BF94
:10056400005401400018024010B540F2F514FFF7A2
:100574008FFE50B1013C04D1054800F087FC2046B1
:1005840010BD642001F0C4FDF1E7012010BD00BFDF
:10059400CF2E000810B5224C638822884FF6FF71D5
:1005A400DB438A429BB20BD09A4209D11D4800F02A
:1005B4006DFC1D482188FFF735FF20B1012010BDD7
:1005C4001A4800F063FC1A4800F060FC19484FF424
:1005D4008071012202F019F84FF4004100221548FD
:1005E40002F013F8012001F098FD12484FF4004185
:1005F400012202F00AF840F2E9340E484FF4007187
:1006040001F0FDFF0028D9D1013C04D10A4800F0D3
:100614003DFC204610BD642001F07AFDEDE700BFEB
:1006240000000F60F22E000804000F601E2F000867
:100634003A2F000800180240502F000810B5044655
:100644000420FFF76BFF2046FFF7DCFEBDE81040F7
:10065400FFF776BF10B504460120FFF75FFFE0B255
:10066400FFF7D0FEC4F30720FFF7CCFEC4F3074026
:10067400FFF7C8FE200EFFF7C5FEBDE81040FFF7E8
:100684005FBF000010B5FFF70FFEFFF783FF08B947
:10069400224830E0224800F0DDFB4FF48071002254
:1006A400204801F0B2FF642001F032FD0020FFF782
:1006B40019FF4FF48071012204461A4801F0A5FF86
:1006C400204600F0F1FB184800F0E0FBFFF78AFE3B
:1006D40000240120FFF7B2FFFFF746FF78B10320A3
:1006E400FFF71CFFFFF72CFF104800F0B3FB204678
:1006F40000F0DAFB0E48BDE8104000F0C7BB01343F
:10070400FFF748FF152CE4D10A4800F0BFFB022094
:10071400FFF704FFBDE81040FFF712BF6C2F00087D
:100724009B2F000800180240C4350008AA2F0008B7
:10073400C52F0008CF2F000808B55D235843094B87
:100744004A1C00EB52001A78B0FBF1F0C0B28242AE
:1007540007D01870FFF77EFF0220BDE80840FFF7BE
:100764006DBF08BD0000002008B5FFF773FF03202C
:10077400BDE80840FFF762BF08B50220FFF7CEFED0
:10078400BDE80840FFF7DCBE01F1C04102F074BAD5
:1007940070B543489AB000F093FB424800F090FBD8
:1007A400414800F08DFB414B93E8030001AD85E81F
:1007B40003003C48294601F0E1FE3A4804210122A5
:1007C40001F023FF00240223029435488DF80830F9
:1007D400072103230C228DF80930019401F01AFF3C
:1007E40080232F480193294601F0C8FE022C04D02F
:1007F4002C48A1B20C2201F00DFF0134102CF5D1CC
:100804004FF6FB7327480193294601F0B7FE0226F1
:100814003146013624480C22B6B201F0FBFE102EFC
:10082400F6D14FF6FC7329461F48019301F0A6FE4A
:10083400042100221B481E4D01F0E7FE0A2001F0AE
:1008440067FC01220421174801F0DFFE1E2001F09D
:100854005FFC0120014602F071F80FCD03AC0FC418
:1008640095E8070084E80700402200210AA802F066
:100874000EFA02230B9308230C934FF48053129324
:100884004FF4005313930AA803AB18930D9601F089
:10089400FBFD0020012101F061FE1AB070BD00BF14
:1008A40000040240000C024000100240A42C000886
:1008B400AC2C00080D4B98221A80A3F68A231B88BF
:1008C400DBB2512B0CD10A4B1B88DBB2522B07D164
:1008D400084B1888C0B2A0F159035842584100E0AF
:1008E4000020024BF0221A80704700BFAA0A006061
:1008F400220000602400006002460B4604205021C0
:1009040000F045BE02460B460420502100F054BEC0
:10091400032873B50E4603D0042804D001F086FBE7
:1009240014241C4D01E01C4D162420460DF1070132
:10093400FFF7E2FF08B900202AE02B78AEB10BB133
:10094400013323E09DF8071021F0060141F0020174
:1009540020468DF80710FFF7D5FF0028EBD00124BF
:1009640003202C7001F0D9FB11E05AB2012A0CDCEF
:100974009DF80710204601F0F9018DF80710FFF7E4
:10098400C1FF0028D7D02E7001E0013B2B7001205D
:1009940002B070BD180000201900002073B525486E
:1009A40000F08EFA02254FF410730024012621482A
:1009B400009369468DF804508DF805508DF8066053
:1009C4008DF8074001F0DAFD1A480621042201F0EF
:1009D40021FE04220921174801F01CFE154800F0ED
:1009E40087FA154800F06CFA42F20C036946124883
:1009F40000938DF805508DF804608DF806408DF84D
:100A0400074001F0BBFD0C4800F072FA042000F02E
:100A140057FD20466946FFF76FFF9DF80050B54229
:100A240005D103202946FFF773FF284600E020463E
:100A340002B070BD000402400014024010B5044628
:100A4400042000F03DFD21460420FFF761FF04204F
:100A5400BDE8104000F066BD38B5074C0546204699
:100A640000F02EFA20462A46042101F0CEFD20464D
:100A7400BDE8384000F03CBA0014024038B5074CD9
:100A84000546204600F01CFA20462A46082101F0BB
:100A9400BCFD2046BDE8384000F02ABA00140240EC
:100AA40038B5094C04EB00146568284600F008FAD0
:100AB4002189284601F0A3FD0446284600F018FACF
:100AC400B4FA84F0400938BDC82C000838B50024B5
:100AD4002546E0B2FFF7E4FFA04001340543042CAF
:100AE400EDB2F6D1284638BDF7B54FF48040012168
:100AF400134C01F03BFF04F140076568284600F001
:100B0400DFF9684601F072FD02238DF80530A37BFE
:100B14008DF807302846A3680093694600268DF8AF
:100B24000460103401F02AFD284600F0E1F9BC42CB
:100B3400E3D14FF48040314601F018FF03B0F0BD1B
:100B4400C82C000808B5054B1B781BB90448322192
:100B540001F062FABDE8084001F0D6BB1A0000209B
:100B640002300008124B1B7870B505460C461BB9C1
:100B74001048382101F050FA032906D98E0831466D
:100B8400FFF7E0FFB6003544A41B6CB12B462C44A0
:100B94000020A34204D013F8012B42EA0020F8E716
:100BA400BDE8704001F0AABBBDE8704001F0BABBDB
:100BB4001A00002002300008024B1A780AB90122F8
:100BC4001A7070471A00002008B5084B1A781AB931
:100BD40007482B2101F020FA01214FF4805059706D
:100BE40001F0A0FEBDE8084001F082BB1A0000201D
:100BF4000230000808B5074B1A781AB90648512183
:100C040001F00AFA002159704FF48050BDE8084001
:100C140001F088BE1A0000200230000870B50C46AE
:100C24000546A608FFF7D0FF28463146FFF78AFF9E
:100C340004F0030105EB8600FFF794FF0446FFF779
:100C4400D9FF204670BD70B5A0B00D460646FFF72B
:100C5400BBFF2C467119802CA1EB0401684608D90E
:100C64008022FFF791FD68462021FFF76BFF803C4F
:100C7400F0E72246FFF788FD21466846FFF772FF3A
:100C84000446FFF7B7FF204620B070BD0A4B1B781F
:100C940010B504467BB10948402101F0E7FF002864
:100CA400F9D00648214601F0DDFF0448402101F057
:100CB400DDFF0028F9D010BD1C00002000480040D2
:100CC4002DE9F043334D83B06C6804F12E0323F017
:100CD400070300AFADEB030D50238DF80030212343
:100CE4008DF8013000238DF8023003238DF8033092
:100CF40004F121035BBAADF80430274B04F1270853
:100D04006E460DF1060203F11C0153F8040B42F880
:100D1400040B8B42F9D11B78137004F1230922468A
:100D240006F123001D4901F0A7FF31464A46002081
:100D340001F0CEF907F1080304F5927443F8040DA9
:100D4400186846F80900FE23B4FBF3F34344073361
:100D540023F00703ADEB030D31464246684601F02C
:100D64008FF904465520FFF791FF6E466C44A64266
:100D740007D016F8010B552808BF0020FFF786FF9F
:100D8400F5E75520FFF782FF00230C376B60BD4663
:100D9400BDE8F0831C000020102D00082400002072
:100DA4002DE9F041274C86B0204600F089F84FF435
:100DB4008020012101F0CEFD20460A21072201F006
:100DC40029FC06AE072220460B2101F023FC4FF438
:100DD400806346F8183D002501274FF0020820469D
:100DE40031468DF806508DF807708DF804808DF823
:100DF400058001F0C3FB4FF40063204631460093A5
:100E04008DF8048001F0BAFBADF80C50ADF80E502B
:100E1400ADF81050ADF814500B4D0C4B029328460E
:100E24000C2302A9ADF8123001F0B6FE284639466B
:100E340001F00CFF204600F05BF8054B1F7006B074
:100E4400BDE8F081000802400048004040420F0025
:100E54001C00002038B50C4B1A781C469AB1451E6C
:100E640015F8012F7AB163680749FF2B0BD80A2ABA
:100E740002D1FFF725FFF3E70D2A1FBF581C5B18AB
:100E840048601A72ECE738BD1C00002008B5054B19
:100E94001B782BB1FFF7DEFFBDE80840FFF710BF5A
:100EA40008BD00BF1C0000201FB50C2201A901F0E1
:100EB4004AF901A8FFF7CEFF05B05DF804FB000076
:100EC40000F13F4000F57E00C0F3872008280AD8CF
:100ED400054A135C591C11542BB9044901230A6BAC
:100EE400834013430B637047240100200038024001
:100EF40000F13F4000F57E00C0F3872008280DD89C
:100F0400074A135C53B1013BDBB2135433B90549AF
:100F140001230A6B834022EA03030B63704700BF7B
:100F2400240100200038024002460068838823F42C
:100F3400E0631B041B0C838003889BB243F400739F
:100F4400038008230020517513751076704737B558
:100F540004460D46FFF7B4FF0023204669468DF88A
:100F640004308DF805308DF80730009501F006FB4C
:100F74002046FFF7BDFF03B030BD000010B50B4C99
:100F8400342300FB0344236B7BB10A2001F0C5F832
:100F94006068A168FFF7DBFF20696169FFF7D7FF8D
:100FA400236B0120BDE81040184710BD302D000808
:100FB400F7B5044616460F461D46FFF781FF02218A
:100FC40001238DF804108DF805108DF806302046A5
:100FD400002369468DF80730009701F0CFFA2046C8
:100FE40031462A4601F016FB2046FFF781FF03B085
:100FF400F0BD0000027D082A10B5044607D102683E
:10100400938823F4C0631B041B0C938084E0434B3C
:10101400006803EB8203996E01F0CCFB00287BD0BF
:10102400237D072B72D8DFE803F0040B1921323B30
:101034005A6E237A226803F0FE03138201232DE003
:101044002268A37A1382637A0BB1022326E0938881
:101054009BB243F48063938006231FE022681388C5
:101064009BB243F480731380032317E0237A22682E
:1010740043F001031382E37A012B01BF138823F4A5
:1010840080631B041B0C08BF1380042306E0226842
:1010940093889BB243F480639380052323753BE0DC
:1010A40023682269198A237BD154237BE27A013392
:1010B400DBB2591C9142237307D12268138823F4AD
:1010C40080631B041B0C138026E0934224D1226806
:1010D400938823F480631B041B0C938013E0237B0D
:1010E40021692268CB5C1382237BE17A0133DBB272
:1010F4009942237310D1938823F480631B041B0C3F
:1011040093800723CAE72046012101E020460021FD
:10111400BDE81040FFF708BF002010BD302D0008C7
:101124007FB51D4D1C2303FB005306461B790BB9E9
:10113400FFF724FF194C342306FB03446068A168BD
:10114400A289A37BFFF734FF228BA37E2069616908
:10115400FFF72EFFE069012101F0FCFB684601F076
:1011640003FB0F4A236A009393424FF48063ADF864
:101174000A304FF01C0384BF626AADF8062003FBFB
:1011840006F46946285901F085FA2859012101F02D
:10119400F9FA04B070BD00BF30010020302D000802
:1011A400A086010073B504460E460025FFF788FEAD
:1011B4000123204669468DF8043000968DF80550C9
:1011C4008DF8075001F0DAF92046B1B22A4601F051
:1011D4001CFA2046FFF78CFE02B070BD10B5094C16
:1011E400342300FB0344236B5BB100209847606801
:1011F400A168FFF7D7FF20696169BDE81040FFF7D8
:10120400D1BF10BD302D00081C23104A434370B5D4
:1012140005460F4CD058D61801F00EFA342305FBBE
:1012240003440021E06901F095FB337923B9284692
:10123400BDE87040FFF7D2BF6068A168FFF787FE82
:1012440020696169BDE87040FFF781BE300100206C
:10125400302D00082DE9F347504C9A4694F8383065
:10126400884691461BB94E4840F2951104E0042883
:1012740004D94B484FF4CB7100F0CEFE494B1844CF
:101284001C2590F88860754363191B790BB90020FD
:1012940081E063591B8B9F0716D41C2070432718C9
:1012A40000259DF828300B9A87F8089087F80AA043
:1012B40087F80980FB723D733D753A61FD822058C1
:1012C400012101F06BFA2AE03046FFF79DFF30461A
:1012D400FFF726FF6159344B0A8B9007DDD5013B9C
:1012E400FAD1D4E71C2303FB06431B7E23B1019BE5
:1012F4005A1E0192002BF5D11C2303FB0643002246
:101304001A76019903F1100239B3117908291AD117
:1013140055791C2303FB06431B7D082B2BD01C2370
:101324007343E018E1580A8892B242F480720A804A
:10133400E25893889BB243F440739380012303766D
:10134400194B0193D3E7D188B1F57A7F05D20131E6
:10135400D180012000F0E1FEDBE719688B8823F4DB
:10136400E0631B041B0C8B800B889BB243F400735B
:101374000B80082313711C237343E1580A4B0A8B17
:10138400920707D5013BFAD13046FFF73DFF3046BF
:10139400FFF7C6FE284602B0BDE8F0873001002002
:1013A40008300008302D000880841E00017D036889
:1013B400082906D19A8822F480721204120C9A80A9
:1013C40038E09A8A120541BF9A8A22F40062120414
:1013D400120C48BF9A829A8AD20541BF9A8A22F493
:1013E40080721204120C48BF9A829A8A52051ED542
:1013F4009A8A22F480621204120C04299A820AD175
:10140400032202759A8822F4E0621204120C9A8074
:10141400002303760EE0012909D19A8822F4E062C0
:1014240012040021120C01759A80017602E0002159
:10143400FFF77ABD002070472DE9F3411D4C1E4E85
:1014440000251E4F56F8283C44F8043C1C2202FB9D
:1014540005720023237013760822227432788DF8E3
:1014640004204FF001080C2201A82372E371E36009
:101474008DF805208DF806308DF8078000F002FF06
:1014840073788DF8043001A800F0FCFE54F8040CC5
:1014940001F0D2F8454504F11C0406F1340601D0EC
:1014A4004546CEE7284687F83850FFF797FE02B046
:1014B400BDE8F08134010020582D000830010020DF
:1014C40073B5144C94F838200346254622B91248C3
:1014D40040F2331100F0A0FD042807D90522009240
:1014E4000D480E4A40F2351100F08AFD0C4A1344AF
:1014F40093F888401C2303FB04521E46127912B948
:101504002046FFF70DFE06FB0454237901332371B3
:1015140002B070BD30010020083000080E30000811
:10152400302D0008104A08B592F838301BB90F481E
:1015340040F2451104E0042804D90C484FF4A37187
:1015440000F06AFD0A4B18441C2390F8880003FB42
:10155400002213793BB1013BDBB213711BB9BDE827
:101564000840FFF751BE08BD3001002008300008D4
:10157400302D000837B50D4614460093069B0193A1
:1015840001212A462346FFF765FE03B030BD07B5A7
:1015940000930123FFF7EEFF03B05DF804FB37B5BA
:1015A4000D4614460093069B019300212A462346C8
:1015B400FFF750FE03B030BD1FB504AC04F8013D85
:1015C40001230094FFF7EBFF04B010BD0148FFF7BF
:1015D40011BD00BF300100200148FFF7E7BE00BF86
:1015E400300100200148FFF705BD00BF4C01002079
:1015F4000148FFF7DBBE00BF4C010020FFF71EBA15
:1016040030B585B004460D46684601F047F90DB97A
:10161400029805E0012D01D1039801E000F006FDD8
:10162400B4EB500F0ED8B0FBF4F000F080FD0028AE
:1016340002DC0748272103E0082804DD04482821A8
:1016440000F0EAFC01200138C00080B205B030BDD2
:101654003A300008B0F1006F10B504460BD20C48C4
:10166400FFF7F8FB2046FFF71FFC0A48FFF7F2FBE1
:101674004FF0FF3010BD084B002053F8042BA2425A
:1016840002D81A68944202D301300B28F5D110BD58
:10169400B230000840300008C02D00082DE9F8439E
:1016A40006462A480C4617469846FFF7D3FB3046B1
:1016B400FFF7FAFB2648FFF7CDFB2046FFF7F4FBC4
:1016C4002448FFF7C7FBD4B33046FFF7C3FF0546F2
:1016D400601E3044FFF7BEFF002D814632DB002838
:1016E40030DB461B01361FB1002031464246B84765
:1016F40000F02AFE2C464C451FDCF32000F03AFE95
:10170400154B002133F8140000F06CFE09280BD0AF
:101714001248FFF79FFB2046FFF7C6FB1048FFF770
:10172400B5FB00F01FFE0DE02FB1C5F10100204410
:1017340031464246B8470134DDE700F013FE01208C
:10174400BDE8F8830020BDE8F88300BF5B300008E3
:101754006F30000872300008F02D00087630000861
:10176400C43500082DE9F0470646234814460D46C3
:101774001F46FFF76FFB3046FFF796FB1F48FFF746
:1017840069FB2046FFF790FB1D48FFF763FB00F061
:10179400DBFDF32000F0EEFD4FEAD41805EB04095D
:1017A4002C464C45C5EB040A20D0701B204414F889
:1017B400011B00F04DFE09280DD01248FFF74AFB2B
:1017C4003046FFF771FB1048FFF760FB00F0CAFDDD
:1017D4000020BDE8F087002FE3D01AF07F0FE0D19E
:1017E4004FEADA104146089AB847DAE700F0BAFD42
:1017F4000120BDE8F08700BF8E3000086F3000087C
:1018040072300008A2300008C435000808B545F25B
:10181400555000F0DDFF042000F0E0FF40F6FF70BB
:1018240000F0E2FF002000F0D3FF4FF480500121CC
:10183400BDE8084000F07CBD08B500F0E3FFBDE85A
:10184400084000F0D7BF08B57D2001F0D7F800307C
:1018540018BF012008BD4900FEF76EBF4B0803EB1B
:101864005000FEF769BF000070B586B00546FFF76B
:10187400A3F901210020FEF75FFF042000F020FB04
:1018840003A8294600F06EFB03A800F07AFB08B910
:1018940028480BE02848FFF7F9FA05F10C000499F1
:1018A400FFF7D1F9059B984204D02448FFF7EEFADC
:1018B40001203DE0049C2248FFF7E8FA2146214A32
:1018C40021480023FFF7EAFE049E2048FFF7DEFAD2
:1018D400002405F1C0411E4B009432460C311A48D5
:1018E400FFF740FF1B48FFF7B5FA0498FFF7DCFA4F
:1018F4001948FFF7AFFA04991348FFF78FF9054623
:101904001648FFF7A7FA0598FFF7CEFA1448FFF731
:10191400A1FA2846FFF7C8FA1248FFF7B7FA059B61
:101924009D4204D01048FFF7B1FA022000E020469F
:1019340006B070BDBB300008D9300008F63000088E
:10194400193100085B180008004000082C31000819
:10195400611800083F3100084D3100085631000875
:1019640069310008C43500086F31000808B5022049
:1019740000F0BEFAD8B3042000F0BAFA70B11C48E3
:10198400FFF784FA042000F0A7FA022000F0A4FA7A
:101994004FF40040BDE8084000F09EBA1548FFF738
:1019A40075FA082000F098FA102000F095FA20202B
:1019B40000F092FA402000F08FFA4FF48010FFF705
:1019C40053FF022807D1082000F07AFA102000F013
:1019D40077FA00F04DFB042000F07EFA022000F0BC
:1019E4007BFA4FF40040BDE8084000F069BA08BD36
:1019F400BA310008F031000810B52548FFF746FA5F
:101A04004FF40010FFF730FF10B102283AD809E074
:101A1400202000F061FA402000F05EFA802000F0FF
:101A24004FFA2FE0082000F04BFA102000F048FA9B
:101A3400202000F05DFA20B91648FFF727FA20208D
:101A440007E0402000F054FA58B91348FFF71EFA93
:101A5400402000F035FA4FF4007000F031FA00F045
:101A640007FB0E48FFF712FA082000F035FA1020A1
:101A740000F032FA202000F02FFA402000F02CFA77
:101A8400002400E00124042000F026FA204610BDC2
:101A94000B320008253200085E3200089732000835
:101AA40008B50248FFF7F2F900F0E7FAD13200086E
:101AB4001EF0040F0CBFEFF30880EFF30980FFF76B
:101AC400EFBF70471FB504461048FFF7DFF901A9BF
:101AD4000C22204600F037FB01A8FFF7D7F9204677
:101AE400FEF742FEFEF7F2FF094B20F004001870E7
:101AF4001C46FEF7EBFF237800F0FB00834201D085
:101B040000F0B6FA0A2000F008FBF2E7C73200083A
:101B1400690100207FB54FF08050012100F01AFFC9
:101B2400022000F07DFE012807D1022000F082FE91
:101B3400BC48FFF7ABF900F0A0FA00214FF0805049
:101B440000F008FFFFF72CF9B748FFF79FF9B748F3
:101B5400FFF79CF9B648FFF799F9B648FFF796F9ED
:101B6400B548FFF793F9B548FFF790F9B448FFF784
:101B74008DF9B448FFF78AF9B348FFF787F9B348FA
:101B8400FFF784F9FFF758FCFEF708FF00F0BAF9F5
:101B940000F0D0F900210C2201A801F078F800F03F
:101BA400C5F901A90C2200F0CEFA01A8FFF76EF9DD
:101BB4009D48FFF76BF99C48FFF768F94FF48040A4
:101BC40000F096F990B1A248FFF760F94FF4804015
:101BD40000F082F9082000F07FF9102000F07CF971
:101BE400202000F079F9402000F076F9FEF7D0FDCE
:101BF400FEF77AFFFEF746FDFEF7FEFA08B19548B8
:101C040003E0FEF73DFB10B19348FFF75BFF00F0E4
:101C14008CF9802000F06CF918B1802000F05CF998
:101C240056E04FF4003000F063F9044620B14FF45D
:101C3400003000F051F94DE00120FEF731FFB0B162
:101C44002046FEF72DFF90B18448FFF71FF941F2BB
:101C540088340120FEF724FF98B10020FEF720FF0E
:101C640078B1012000F059FA013CF2D132E07C4B0A
:101C74000CCB013301D0013203D17A48FFF706F9C6
:101C840028E0FFF7E0FD48B3FFF7DDFD10B176482B
:101C9400FFF7FCF84FF4007000F02AF910B1734814
:101CA400FFF7F4F84FF4007000F016F9102000F07C
:101CB4001FF9002800F0F0806D48FFF7E7F80820CE
:101CC40000F00AF9102000F007F9FFF795FE98B923
:101CD40068489AE76848FFF7D9F8F6E74FF40070C8
:101CE40000F006F90028CFD1082000F0F5F8102004
:101CF40000F0F2F8FFF73AFE4FF4005000F0F8F865
:101D040004464FF4805000F0F3F8400040EA8400A9
:101D1400C4B24FF4006000F0EBF82043C0B20728CF
:101D2400C3B20DD14FF4006000F0D6F84FF48050E8
:101D340000F0D2F84FF4005000F0CEF84F4864E7BA
:101D44000133DBB2023B4FF40060052B11D8DFE80E
:101D540003F00C1003100C1000F0BEF84FF4805088
:101D640000F0BAF84FF4005003E000F0B5F84FF477
:101D7400805000F0A5F8FFF749FDFFF75DFD384BF3
:101D84003F485D681E68FFF765F82846FFF78CF842
:101D94003C48FFF75FF80022930003F1604303F52A
:101DA400614301324FF0FF31082AC3F88010C3F8B1
:101DB4008011F1D1344B4FF4801200241A635C6318
:101DC4009C631C645C6400F045FD3048012100F014
:101DD400D9FD21462D4800F0D5FDF120012100F068
:101DE400DDFD2146F12000F0D9FD0120014600F07F
:101DF400E1FD2146012000F0DDFD2548012100F030
:101E0400E5FD2146224800F0E1FD2248012100F0D1
:101E1400E9FD2048214600F0E5FD63B64FF0FF3EA2
:101E2400B5462847DC320008C4350008E93200080A
:101E340000330008193300084733000876330008DC
:101E4400A6330008D7330008093400083B340008DF
:101E54006C340008014550FE024550FE99340008D8
:101E640000400008CB340008DE340008F6340008D3
:101E740016350008034550FE8A350008044550FE17
:101E8400A9350008BD350008003802400010E022E2
:101E9400FFC9FEF6337F7704082000F029F820B14B
:101EA4000548FEF7F3FF102003E00448FEF7EEFFB9
:101EB400082000F005F81DE73E35000864350008E9
:101EC40010B50446002000F0BDFD40EA04010020E6
:101ED400BDE8104000F0A6BD10B50446002000F097
:101EE400B1FD20EA04010020BDE8104000F09ABDD5
:101EF40010B50446002000F0A5FD204214BF0120C7
:101F0400002010BD08B54FF08050012100F022FDE3
:101F1400012000F07FFC0120FFF7EAFF20B9012136
:101F2400BDE8084000F07EBD08BD7047022000F007
:101F340089BD000008B5FFF7F9FF054B1968884211
:101F440004D00220BDE8084000F06CBD08BD00BF0D
:101F54008401000808B50248FEF798FF00F088F8ED
:101F6400C53500081FB504460C2201A8FEF70CFC79
:101F740001AB03CB20601868A0602046616004B008
:101F840010BD0068A0F10C0358425841704700008E
:101F940080B50646174610480D461C46FEF75AFF04
:101FA4003846FEF757FF0D48FEF754FF3046FEF75C
:101FB40051FF0B48FEF74EFF2846FEF775FF2CB184
:101FC4000848FEF747FF2046FEF744FF0648FEF7A1
:101FD4005DFFFFF7BFFF00BFE2350008EB350008E7
:101FE400EE350008EC350008C43500081FB506AA14
:101FF40052F8044B039200921A462346FFF7C8FF97
:102004000CB41FB506AA52F8043B03920092014A8D
:10201400FFF7BEFFF035000807B5002300937246B2
:10202400014BFFF7E3FF00BFF7350008744608B51E
:102034000548FEF70FFF2046FEF736FF0348FEF77C
:1020440025FFFFF787FF00BFFF350008C4350008F0
:10205400BFF34F8F0449054BCA6802F4E06213438F
:10206400CB60BFF34F8FFEE700ED00E00400FA05FC
:1020740008B5FEF781FBFFF7EBFF08B5FFF7E8FFB4
:10208400F0B50646002401202546034694421DD09F
:1020940011F804C000F1010EBCF1000F03D1735517
:1020A400774605460DE00133DBB2FF2B774606F891
:1020B40000C007D102F1FF3C644506D07355871C6C
:1020C4007546012301343846E0E770467355F0BD88
:1020D40030B5C9B1C0430A44914213D011F8013B51
:1020E4000A4D83EA000404F00F0455F8244084EAFE
:1020F400101080EA131303F00F0355F8233083EA1A
:102104001010E9E7C04330BD084630BD082E000872
:10211400162358430138FDD1704710B504462CB13D
:102124004FF47A70FFF7F4FF013CF8E710BD10B5E7
:10213400B0FA80F400F027F801280CBFC4F11F00A6
:10214400C4F1200010BD0A2A10B51BDD0C46302353
:1021540004F8023B78234B701C220F239340034066
:10216400D340092B01D8303302E00F2B02D8573368
:10217400DBB200E02023043A04F8013B131DECD148
:1021840000238B7210BD00F0AA33A0EB530000F0C3
:10219400CC3300F0333000EB930000EB101000F070
:1021A4000F3000EB102000EB104000F03F007047B0
:1021B4002D4AD2F8883043F47003C2F888302B4B90
:1021C4001A68002142F001021A6099601A6822F02C
:1021D400847222F480321A60254A5A601A6822F402
:1021E40080221A60D9601A6C224942F080521A6423
:1021F4000A6842F440420A609A689A609A689A604F
:102204009A6842F480529A601B4A5A601A6842F0F3
:1022140080721A601968154A8901FBD5174B40F280
:1022240003611960936823F003039360936843F098
:10223400020393600D4B9A6802F00C02082AF9D14C
:102244009A6822F400029A600D4AC3F884201A683E
:1022540042F080621A60054B1B681B01FBD5024BE0
:102264004FF000629A60704700ED00E000380240D1
:1022740010300024007000401040010F003C024068
:1022840000300050C278037810B512B3164AD168F2
:102294004278C943C1F30221C1F10404E4B2A2406B
:1022A400D4B20F220A4181780A40224303F16043E9
:1022B40003F561431201D2B283F8002303780122AB
:1022C400590903F01F0302FA03F3084A42F82130C4
:1022D40010BD5A09012103F01F03994002F12003A4
:1022E400024A42F8231010BD00ED00E000E100E0D6
:1022F400014B01229A60704700300240014B186084
:10230400186870470030024000EB81018842044B9A
:1023140003D050F8042B1A60F8E71868704700BF20
:1023240000300240014B1868704700BF0030024083
:10233400044B9A6809B1104301E022EA0000986056
:10234400704700BF002004E0044B1A69002ABFBF95
:10235400034A5A6002F188325A607047003C0240D6
:1023640023016745024A136943F000431361704730
:10237400003C0240014BD860704700BF003C024063
:102384000E4BDA68D20310D4DA68D1060FD4DA68B7
:10239400D2050ED4DA6812F0EF0F0CD1DB6813F01B
:1023A400020F14BF0820092070470120704706203F
:1023B4007047022070470720704700BF003C02406E
:1023C40007B509238DF80730FFF7DAFF8DF807000A
:1023D4009DF80730012BF7D09DF8070003B05DF896
:1023E40004FB000070B5064641B1012908D002295A
:1023F4000CBF4FF400754FF4407503E00D4601E047
:102404004FF48075FFF7DCFF09281ED10F4C2369B8
:1024140023F440732361216929432161236923F053
:10242400F8032361236943F002031E4326612369F1
:1024340043F480332361FFF7C3FF236923F00203CE
:102444002361236923F0F803236170BD003C02403B
:1024540070B505460E46FFF7B3FF092811D1094CA4
:10246400236923F44073236123692361236943F0BF
:10247400010323612E70FFF7A3FF236923F00103F7
:10248400236170BD003C024070B543688668856A6C
:102494000468416B46EA0302C3681A4303691A439A
:1024A40043691A4383691A43C3691A43036A1A4383
:1024B400436A1343C26A2B431A43036B1343A200B8
:1024C40002F120420B43082E136002BF136843F04D
:1024D40040031360B1F5801F816B12D18CB14FF0B2
:1024E40020435C681E6846F480161E601E6846F42D
:1024F40080761E600E6924F47004013E44EA06549A
:102504005C608C690B6823434C6843EA04138C6851
:1025140043EA0423CC6843EA04430C69496943EA67
:10252400045343EA0163B5F5804F536010D1C16B86
:1025340088690B680343486843EA0013886843EAE0
:1025440000230869496943EA005343EA016301E04F
:102554006FF07043C2F8043170BD0000800000F1D8
:10256400204019B1036843F0010302E00268024B02
:1025740013400360704700BFFEFF0F00F0B50E6804
:1025840000220123934003EA060E9E452AD15500FA
:1025940003230468AB40DB431C4004600C790768E8
:1025A40004FA05FC013C4CEA0707012C076011D82A
:1025B40084684F791C4084608468AF4027438760F7
:1025C400446824EA0E0444608C7947689440A4B2B9
:1025D4003C434460C4682340C360CB79C468AB40C7
:1025E4002343C3600132102ACBD1F0BD4FF6FF73F1
:1025F40003600023037143718371C37170470369DE
:10260400194214BF0120002070470AB101837047AA
:102614004183704701F00703C90800EB810010B53E
:102624009B00046A0F21994024EA01010162016AB6
:102634009A401143016210BD08B5134B984207D16B
:102644004FF40010012100F0C1F94FF4001014E020
:102654000E4B984207D14FF48000012100F0B6F9E7
:102664004FF4800009E00A4B98420BD14FF400006C
:10267400012100F0ABF94FF400000021BDE808404F
:1026840000F0A4B908BD00BF005400400058004049
:10269400005C00407FB5868826F03F060446360479
:1026A40068460D46360C00F0F9F8029A2C48B2FB45
:1026B400F0F081B20E43A68023882A4E23F0010352
:1026C4001B041B0C23802B68B3420AD85B00013126
:1026D400B2FBF3F39BB2032B89B298BF042321848A
:1026E40023E0EE884BF6FF718E421BBF19214B434A
:1026F40003EB4303B2FBF3F315BF9BB2B2FBF3F35B
:1027040043F480439BB2C3F30B020AB943F00103C1
:102714004FF4967101FB00F24FF47A7192FBF1F2DF
:10272400013292B243F400432284A383238869894B
:10273400AA889BB243F001032380238823F4816396
:1027440023F002031B040A431B0C13439BB2238094
:102754002A89AB8913439BB2238104B070BD00BFA7
:1027640040420F00A086010041F288330360002339
:1027740083804BF6FF72038143814FF48043C28010
:1027840083817047038819B19BB243F0010303E0CE
:1027940023F001031B041B0C03807047038819B149
:1027A4009BB243F4806303E023F480631B041B0C9B
:1027B40003807047838A9AB2038B10B542EA0343BD
:1027C40021F07F4404EA0300431A5842584110BDE3
:1027D400014B1860704700BF00300040014B586047
:1027E400704700BF00300040014B9860704700BF45
:1027F40000300040024B4AF6AA221A60704700BF1C
:1028040000300040024B4CF6CC421A60704700BFC7
:1028140000300040014B1860704700BF20000E429A
:10282400034B5B68184214BF01200020704700BFAF
:1028340000700040064BB0F5402F15BF1A685A6867
:1028440042EA800042F4402214BF18605A60704784
:10285400007000400E4B1A68002142F001021A6019
:1028640099601A6822F0A85222F410221A60094AC8
:102874005A60094AC3F8842002F18062C3F88820B0
:102884001A6822F480221A60D960C3F88C10704749
:102894000038024010300024003000201D4A9368A4
:1028A40003F00C03042B10B503D0082B03D01A4BF0
:1028B40018E01A4B16E05168536811F4800F03F0C6
:1028C4003F03516814BF154A134AB2FBF3F3114A8C
:1028D4005268C2F30142C1F3881101324B435200E2
:1028E400B3FBF2F30B4A036093680D49C3F303137C
:1028F400CC5C0368E34043609468C4F382240C5DB9
:1029040023FA04F484609268C2F342328A5CD340AE
:10291400C36010BD003802400024F40040787D01FB
:1029240001000020044B1A6B09B1104301E022EAB4
:1029340000001863704700BF00380240044B9A6BD4
:1029440009B1104301E022EA00009863704700BF18
:1029540000380240044B1A6C09B1104301E022EA2A
:1029640000001864704700BF00380240044B5A6CE2
:1029740009B1104301E022EA00005864704700BF27
:1029840000380240044B1A6909B1104301E022EAFD
:1029940000001861704700BF00380240044B5A69B8
:1029A40009B1104301E022EA00005861704700BFFA
:1029B40000380240044B9A6909B1104301E022EA4D
:1029C40000009861704700BF00380240044B1A6A47
:1029D40009B1104301E022EA00001862704700BF09
:1029E40000380240044B5A6A09B1104301E022EA5C
:1029F40000005862704700BF003802404209012AB3
:102A0400074B01D11B6803E0022A0CBF1B6F5B6FED
:102A140000F01F0023FA00F000F00100704700BF2F
:102A24000038024082B000230193054B0193019BBF
:102A340003EB80000190019B196002B0704700BF56
:102A44005028004082B000230193054B0193019B61
:102A540003EB80000190019B186802B0704700BF2F
:102A64005028004008B5254B984207D14FF48050B8
:102A74000121FFF7B7FF4FF4805039E0204B984213
:102A840007D14FF480400121FFF7A0FF4FF48040AD
:102A940009E01C4B98420BD14FF400400121FFF791
:102AA40095FF4FF400400021BDE80840FFF78EBFBA
:102AB400154B984207D14FF400500121FFF792FFC4
:102AC4004FF4005014E0114B984207D14FF480109A
:102AD4000121FFF787FF4FF4801009E00C4B984267
:102AE4000BD14FF400100121FFF77CFF4FF40010CD
:102AF4000021BDE80840FFF775BF08BD0030014064
:102B040000380040003C00400034014000500140C7
:102B14000054014003884A8810B503F441540B88DB
:102B240013438A881343CA8813430A8913434A897F
:102B340013438A891343CA89134323439BB20380F3
:102B4400838B23F400631B041B0C83830B8A038293
:102B540010BD0023038043808380C38003814381AD
:102B64008381C381072303827047038819B19BB211
:102B740043F0400303E023F040031B041B0C0380D9
:102B84007047808980B270478181704703891942F8
:102B940014BF0120002070477FB5038ACA889BB206
:102BA40023F440531343038283890E469BB223F4D8
:102BB400B053098923F00C02B3880B4371890B438A
:102BC4009BB213438381838AB2899BB223F44073FB
:102BD4001343838204466846FFF760FE1A4B9C4207
:102BE40003D003F580639C4201D1039D00E0029D64
:102BF400A38931681BB2002B4FF0190202FB05F2C6
:102C0400B4BF4D008D00B2FBF5F5A2896426B5FB77
:102C1400F6F00001010912B2002A06FB1153ADBF00
:102C24001A01D90032313232B5BFB1FBF6F2B2FB30
:102C3400F6F302F0070203F00F03B4BF1043184386
:102C440080B2208104B070BD00100140838919B1A5
:102C54009BB243F4005303E023F400531B041B0C06
:102C640083817047C1F3080181807047038819424A
:102C740014BF01200020704710B5431E0A4491423E
:102C840004D011F8014B03F8014FF8E710BD0244DA
:102C94000346934202D003F8011BFAE77047000091
:102CA4000400000001030000010000000100000016
:102CB40003000000010000000F0000000F000000EE
:102CC40000000000EE2F0008001802401000000071
:102CD40006040000F32F000800180240080000005A
:102CE40006030100F62F000800180240020000004D
:102CF40006010100FD2F0008001802400400000036
:102D040006020100000000000000000001424F4FD5
:102D1400544C4F414445520000000000002A2A0050
:102D2400000000000000000000000000005400400B
:102D340000040240400000000600040000040240B9
:102D4400000200000900040000002000801A0600B0
:102D5400004000001F2000000000000000000000F0
:102D6400005800400014024002000000010004006A
:102D740000140240010000000000040000004000B4
:102D8400801A0600FFBF000021220000000000009E
:102D940001160008010003008200070084000700F8
:102DA400010003000200030040000300800007004C
:102DB400840007000000010000000000000000087B
:102DC400004000080080000800C00008000001085E
:102DD40000000208000004080000060800000808BB
:102DE40000000A0800000C0800000E08000008009B
:102DF400100018002000280030003800400048006F
:102E040050005800000000006410B71DC8206E3B3D
:102E1400AC30D9269041DC76F4516B6B5861B24DDD
:102E24003C7105502083B8ED44930FF0E8A3D6D647
:102E34008CB361CBB0C2649BD4D2D38678E20AA0AF
:102E44001CF2BDBD537475636B20627574746F6E30
:102E540020726567697374657220697320696E7680
:102E6400616C69642C20636C656172696E672E0005
:102E7400427574746F6E206973207075736865642D
:102E840020617420626F6F740069636534306C7004
:102E94002E630043444F4E45206E6F74206C6F7751
:102EA40020647572696E672072657365740043529D
:102EB40045534554206E6F742068696768206475B3
:102EC40072696E6720726573657400446973706C0F
:102ED400617920627573792D776169742074696DE5
:102EE400656F757420657870697265642100436F3D
:102EF4006E6669677572696E672046504741206641
:102F0400726F6D2062697473747265616D20696E8D
:102F140020666C6173682E2E2E004E6F204650473B
:102F2400412062697473747265616D20696E2066F4
:102F34006C6173682E0046616C6C696E6720626117
:102F4400636B20746F204E56434D2E00465047410C
:102F54002043444F4E452074696D656F7574206538
:102F640078706972656421004650474120636F6E32
:102F740066696775726174696F6E206661696C65F4
:102F8400642E204973207468697320612062696724
:102F9400626F6172643F00465047412076657273E8
:102FA400696F6E3A2000446973706C617920696EB0
:102FB400697469616C697A656420616674657220FC
:102FC4000020726574726965732E00446973706CB5
:102FD400617920696E697469616C697A6174696F79
:102FE4006E206661696C65642E004261636B0055F6
:102FF400700053656C65637400446F776E00637290
:10300400632E63006932632E630049324320646592
:1030140076696365204944206F7574206F66206269
:103024006F756E647320256420286D61783A2025BD
:103034006429006F6E007370692E63002069732029
:103044006F7574736964652073797374656D206634
:103054006C6173680D0A0073797374656D5F666CD7
:103064006173685F657261736528002C2000290D07
:103074000A006661696C656420746F20657261730F
:103084006520736563746F72200073797374656D62
:103094005F666C6173685F77726974652800666146
:1030A400696C656420746F2077726974652061644B
:1030B40064726573732000496E76616C696420667E
:1030C40069726D7761726520646573637269707487
:1030D400696F6E2100436865636B73756D6D696E0E
:1030E40067206669726D77617265207570646174BA
:1030F4006500496E76616C6964206669726D7761FA
:1031040072652043524320696E2053504920666CF7
:10311400617368210065726173655F6F6C645F66DB
:1031240069726D776172650077726974655F6E6547
:10313400775F6669726D7761726500436865636B7A
:1031440073756D6D696E6720002062797465730D07
:103154000A00436865636B73756D202D2077616E7B
:10316400746564200020676F7420004F75722069B5
:103174006E7465726E616C20666C61736820636F37
:103184006E74656E747320617265206261642028B8
:10319400636865636B73756D206661696C6564292A
:1031A400212054686973206973207265616C6C799D
:1031B4002062616421004F75722070726576696FB8
:1031C4007573206669726D776172652075706461CC
:1031D4007465206661696C65642C2061626F727429
:1031E400696E67207570646174652E004E65772082
:1031F4006669726D776172652069732061766169B1
:103204006C61626C6521004C6F6164696E67207249
:1032140065636F76657279206669726D7761726530
:10322400004661696C656420746F206C6F61642072
:103234007265636F76657279206669726D77617203
:10324400652C20737472696B65206F6E652E205433
:10325400727920616761696E2E004661696C6564EC
:1032640020746F206C6F6164207265636F76657281
:1032740079206669726D776172652C207374726946
:103284006B652074776F2E205472792061676169B1
:103294006E2E004661696C656420746F206C6F61EA
:1032A40064207265636F76657279206669726D77E2
:1032B4006172652C20737472696B65207468726521
:1032C400652E2053414420574154434800484152FD
:1032D40044204641554C54006578697420737461E8
:1032E4006E64627900205F5F5F5F202020202020D1
:1032F4002020202020202020205F5F002F5C202021
:103304005F605C20202020202020202020202F27E8
:103314005F5F605C005C205C2C5C4C5C5F5C20202C
:1033240020205F5F5F202F5C205C2F5C205C2020CE
:103334005F5F20205F5F20205F5F20205F5F202091
:103344005F5F00205C2F5F5C5F5F205C20202F2785
:10335400205F20605C205C205C205C205C2F5C2073
:103364005C2F5C205C2F5C205C2F5C205C2F5C203D
:103374005C002020202F5C205C4C5C205C2F5C20B7
:103384005C2F5C205C205C205C5F5C205C205C200B
:103394005C5F2F205C5F2F205C205C205C5F5C20E6
:1033A4005C002020205C20605C5F5F5F5F5C205CD1
:1033B4005F5C205C5F5C205C5F5F5F5F2F5C205C18
:1033C4005F5F5F785F5F5F2F275C2F605F5F5F5F8A
:1033D400205C00202020205C2F5F5F5F5F5F2F5CFC
:1033E4002F5F2F5C2F5F2F5C2F5F5F5F2F20205C90
:1033F4002F5F5F2F2F5F5F2F202020602F5F5F5F85
:103404002F3E205C0020202020202020202020206F
:1034140020202020202020202020202020202020A8
:103424002020202020202020202020202020202098
:103434002F5C5F5F5F2F0020202020202020202091
:103444002020202020202020202020202020202078
:103454002020202020202020202020202020202068
:1034640020205C2F5F5F2F004C61737420666972AB
:103474006D7761726520626F6F742077617320735A
:103484007461626C653B20636C6561722073747255
:10349400696B657300486F6C6420646F776E2055A8
:1034A40050202B204241434B20666F7220352073FD
:1034B4006563732E20746F20666F7263652D626F6F
:1034C4006F7420505246004669726D7761726520B0
:1034D400697320657261736564005761746368641D
:1034E4006F6720636175736564206120726573651D
:1034F4007400536F667477617265206661696C75D8
:1035040072652063617573656420612072657365FB
:1035140074004661696C656420746F207374617211
:1035240074206669726D776172652C207374726998
:103534006B652074687265652E004661696C65640C
:1035440020746F207374617274206669726D776180
:1035540072652C20737472696B652074776F2E000A
:103564004661696C656420746F20737461727420A1
:103574006669726D776172652C20737472696B650C
:10358400206F6E652E00466F7263652D626F6F74D7
:10359400696E67207265636F76657279206D6F64FA
:1035A400652E2E2E00426F6F74696E6720666972F5
:1035B4006D77617265204020002E2E2E0D0A0D0AB3
:1035C40000536F667477617265206661696C757209
:1035D400653B20726573657474696E67210041539D
:1035E400534552543A20002020003A004153534599
:1035F4005254004153534552544E002A2A2A20570C
:103604005446200053544D33320053544D3332202A
:103614007065726970686572616C206C6962726150
:103624007279207472697070656420616E206173B0
:10363400736572740043524F414B204F4F4D00004D
:10364400FF0000000001020304010203040607084E
:043654000900000069
:04000005080001B43A
:00000001FF

View file

@ -0,0 +1,874 @@
:020000040800F2
:1000000070210020B5010008F9010008B51A0008A8
:10001000F9010008F9010008F901000800000000DA
:10002000000000000000000000000000F9010008CE
:10003000F901000800000000F9010008F9010008BA
:10004000F9010008F9010008F9010008F9010008A8
:10005000F9010008F9010008F9010008F901000898
:10006000F9010008F9010008F9010008F901000888
:10007000F9010008F9010008F9010008F901000878
:10008000F9010008F9010008F9010008F901000868
:10009000F9010008F9010008F9010008F901000858
:1000A000F9010008F9010008F9010008F901000848
:1000B000F9010008F9010008F9010008D11500084C
:1000C000DD150008E9150008F5150008F90100081C
:1000D000F9010008F9010008F9010008F901000818
:1000E000F9010008F9010008F9010008F901000808
:1000F000F9010008F9010008F9010008F9010008F8
:10010000F9010008F9010008F9010008F9010008E7
:10011000F9010008F9010008F9010008F9010008D7
:10012000F9010008F9010008F9010008F9010008C7
:10013000F9010008F9010008F9010008F9010008B7
:10014000F9010008F9010008F9010008F9010008A7
:10015000F9010008F9010008F9010008F901000897
:10016000F9010008F9010008F9010008F901000887
:10017000F9010008F9010008F9010008F901000877
:04018000F901000879
:100184008BB8185876342E332D616C706861322D1B
:1001940033342D6738663564383732000000000088
:0F01A40000000000386635643837320000000173
:1001B400002103E00A4B5B584350043109480A4BC1
:1001C40042189A42F6D3094A02E0002342F8043B5B
:1001D400074B9A42F9D301F0EBFF01F09BFC704707
:1001E4004436000800000020140000201400002001
:1001F4006C010020FEE7000030B501208BB002F056
:1002040021FC002401902546E0B200F049FC01AA3B
:1002140008B9105519E0135D042B10DD164800F0E1
:1002240035FE02A92022019801F08DFF02A800F0FA
:100234002DFE0120002102F0F5FB00201AE001331D
:10024400DBB2052B135528BF01250134042CDBD167
:10025400019C54B1094800F019FE204602A920224D
:1002640001F071FF02A800F011FE0120214602F006
:10027400D9FB28460BB030BD482E0008742E000868
:1002840008B500F017FB80F00100C0B208BD000003
:1002940008B54FF48061034802F0B1F9003018BF8B
:1002A400012008BD001802402DE9F0434A4C89B0F2
:1002B400204600F005FE20460D21052202F0AAF991
:1002C40020460E21052208AE02F0A4F9052220469C
:1002D4000C2102F09FF94FF4005346F81C3D002511
:1002E40001274FF00209204631468DF80A508DF857
:1002F4000B508DF808908DF8097002F03FF94FF417
:10030400804320463146019302F038F94FF480537C
:100314002046314601934FF4007802F02FF920462D
:1003240031468DF808508DF80B70CDF8048002F03A
:1003340025F94FF480632046314601938DF8085027
:100344008DF80B5002F01AF94FF4807320463146B1
:1003540001938DF808708DF80B5002F00FF94FF4EB
:1003640000432046314601938DF80A708DF80B50F6
:1003740002F004F939464FF4001002F0F7FAA4F53C
:100384004444164B164E1E60204602F06BFB03A835
:1003940002F0DFFB4FF4827339463046ADF80E307D
:1003A400ADF80C50ADF81050ADF81290ADF81470D3
:1003B400ADF8168001F024F903A9ADF81800204621
:1003C400ADF81A5002F0A6FB2046394602F0CDFBE8
:1003D40009B0BDE8F08300BF0018024014000020FB
:1003E4000024F40008B5022001F097FE012000F07B
:1003F40045FB022001F091FE0120BDE8084000F019
:100404002BBB000010B504460548022102F0BEFBD8
:100414000028F9D021460248BDE8104002F0B4BBE0
:100424000054014038B5012204460D4629484FF4D2
:10043400807102F0EAF8012001F06FFE25484FF4C4
:100444000041002202F0E1F84FF4807100222148BB
:1004540002F0DBF8012001F060FE4FF400411D487A
:10046400012202F0D2F8012001F057FE19484FF49E
:10047400007102F0C4F818B11748184A6A210AE05A
:1004840014484FF4004102F0BAF808B1254404E0DE
:100494001148134A6B2101F0B3FDAC4204D014F8A7
:1004A400010BFFF7AFFFF8E70A484FF48071012210
:1004B40002F0ABF808240020FFF7A4FF013CFAD1B6
:1004C4004FF40071034802F09AF8003018BF01207D
:1004D40038BD00BF001802408D2E0008972E00087A
:1004E400B22E000810B504460B4802F04AFB0A4835
:1004F400022102F04BFB0028F9D00748214602F004
:1005040043FB0548012102F041FB0028F9D00248D1
:1005140002F037FBC0B210BD0054014010B54FF4D7
:10052400807104460022054802F06FF8642001F04F
:10053400EFFD2046BDE81040FFF764BF00180240FD
:1005440008B50748802102F021FB0028F9D10548AD
:100554004FF480710122BDE8084002F056B800BF94
:10056400005401400018024010B540F2F514FFF7A2
:100574008FFE50B1013C04D1054800F087FC2046B1
:1005840010BD642001F0C4FDF1E7012010BD00BFDF
:10059400CF2E000810B5224C638822884FF6FF71D5
:1005A400DB438A429BB20BD09A4209D11D4800F02A
:1005B4006DFC1D482188FFF735FF20B1012010BDD7
:1005C4001A4800F063FC1A4800F060FC19484FF424
:1005D4008071012202F019F84FF4004100221548FD
:1005E40002F013F8012001F098FD12484FF4004185
:1005F400012202F00AF840F2E9340E484FF4007187
:1006040001F0FDFF0028D9D1013C04D10A4800F0D3
:100614003DFC204610BD642001F07AFDEDE700BFEB
:1006240000000F60F22E000804000F601E2F000867
:100634003A2F000800180240502F000810B5044655
:100644000420FFF76BFF2046FFF7DCFEBDE81040F7
:10065400FFF776BF10B504460120FFF75FFFE0B255
:10066400FFF7D0FEC4F30720FFF7CCFEC4F3074026
:10067400FFF7C8FE200EFFF7C5FEBDE81040FFF7E8
:100684005FBF000010B5FFF70FFEFFF783FF08B947
:10069400224830E0224800F0DDFB4FF48071002254
:1006A400204801F0B2FF642001F032FD0020FFF782
:1006B40019FF4FF48071012204461A4801F0A5FF86
:1006C400204600F0F1FB184800F0E0FBFFF78AFE3B
:1006D40000240120FFF7B2FFFFF746FF78B10320A3
:1006E400FFF71CFFFFF72CFF104800F0B3FB204678
:1006F40000F0DAFB0E48BDE8104000F0C7BB01343F
:10070400FFF748FF152CE4D10A4800F0BFFB022094
:10071400FFF704FFBDE81040FFF712BF6C2F00087D
:100724009B2F000800180240C4350008AA2F0008B7
:10073400C52F0008CF2F000808B55D235843094B87
:100744004A1C00EB52001A78B0FBF1F0C0B28242AE
:1007540007D01870FFF77EFF0220BDE80840FFF7BE
:100764006DBF08BD0000002008B5FFF773FF03202C
:10077400BDE80840FFF762BF08B50220FFF7CEFED0
:10078400BDE80840FFF7DCBE01F1C04102F074BAD5
:1007940070B543489AB000F093FB424800F090FBD8
:1007A400414800F08DFB414B93E8030001AD85E81F
:1007B40003003C48294601F0E1FE3A4804210122A5
:1007C40001F023FF00240223029435488DF80830F9
:1007D400072103230C228DF80930019401F01AFF3C
:1007E40080232F480193294601F0C8FE022C04D02F
:1007F4002C48A1B20C2201F00DFF0134102CF5D1CC
:100804004FF6FB7327480193294601F0B7FE0226F1
:100814003146013624480C22B6B201F0FBFE102EFC
:10082400F6D14FF6FC7329461F48019301F0A6FE4A
:10083400042100221B481E4D01F0E7FE0A2001F0AE
:1008440067FC01220421174801F0DFFE1E2001F09D
:100854005FFC0120014602F071F80FCD03AC0FC418
:1008640095E8070084E80700402200210AA802F066
:100874000EFA02230B9308230C934FF48053129324
:100884004FF4005313930AA803AB18930D9601F089
:10089400FBFD0020012101F061FE1AB070BD00BF14
:1008A40000040240000C024000100240A42C000886
:1008B400AC2C00080D4B98221A80A3F68A231B88BF
:1008C400DBB2512B0CD10A4B1B88DBB2522B07D164
:1008D400084B1888C0B2A0F159035842584100E0AF
:1008E4000020024BF0221A80704700BFAA0A006061
:1008F400220000602400006002460B4604205021C0
:1009040000F045BE02460B460420502100F054BEC0
:10091400032873B50E4603D0042804D001F086FBE7
:1009240014241C4D01E01C4D162420460DF1070132
:10093400FFF7E2FF08B900202AE02B78AEB10BB133
:10094400013323E09DF8071021F0060141F0020174
:1009540020468DF80710FFF7D5FF0028EBD00124BF
:1009640003202C7001F0D9FB11E05AB2012A0CDCEF
:100974009DF80710204601F0F9018DF80710FFF7E4
:10098400C1FF0028D7D02E7001E0013B2B7001205D
:1009940002B070BD180000201900002073B525486E
:1009A40000F08EFA02254FF410730024012621482A
:1009B400009369468DF804508DF805508DF8066053
:1009C4008DF8074001F0DAFD1A480621042201F0EF
:1009D40021FE04220921174801F01CFE154800F0ED
:1009E40087FA154800F06CFA42F20C036946124883
:1009F40000938DF805508DF804608DF806408DF84D
:100A0400074001F0BBFD0C4800F072FA042000F02E
:100A140057FD20466946FFF76FFF9DF80050B54229
:100A240005D103202946FFF773FF284600E020463E
:100A340002B070BD000402400014024010B5044628
:100A4400042000F03DFD21460420FFF761FF04204F
:100A5400BDE8104000F066BD38B5074C0546204699
:100A640000F02EFA20462A46042101F0CEFD20464D
:100A7400BDE8384000F03CBA0014024038B5074CD9
:100A84000546204600F01CFA20462A46082101F0BB
:100A9400BCFD2046BDE8384000F02ABA00140240EC
:100AA40038B5094C04EB00146568284600F008FAD0
:100AB4002189284601F0A3FD0446284600F018FACF
:100AC400B4FA84F0400938BDC82C000838B50024B5
:100AD4002546E0B2FFF7E4FFA04001340543042CAF
:100AE400EDB2F6D1284638BDF7B54FF48040012168
:100AF400134C01F03BFF04F140076568284600F001
:100B0400DFF9684601F072FD02238DF80530A37BFE
:100B14008DF807302846A3680093694600268DF8AF
:100B24000460103401F02AFD284600F0E1F9BC42CB
:100B3400E3D14FF48040314601F018FF03B0F0BD1B
:100B4400C82C000808B5054B1B781BB90448322192
:100B540001F062FABDE8084001F0D6BB1A0000209B
:100B640002300008124B1B7870B505460C461BB9C1
:100B74001048382101F050FA032906D98E0831466D
:100B8400FFF7E0FFB6003544A41B6CB12B462C44A0
:100B94000020A34204D013F8012B42EA0020F8E716
:100BA400BDE8704001F0AABBBDE8704001F0BABBDB
:100BB4001A00002002300008024B1A780AB90122F8
:100BC4001A7070471A00002008B5084B1A781AB931
:100BD40007482B2101F020FA01214FF4805059706D
:100BE40001F0A0FEBDE8084001F082BB1A0000201D
:100BF4000230000808B5074B1A781AB90648512183
:100C040001F00AFA002159704FF48050BDE8084001
:100C140001F088BE1A0000200230000870B50C46AE
:100C24000546A608FFF7D0FF28463146FFF78AFF9E
:100C340004F0030105EB8600FFF794FF0446FFF779
:100C4400D9FF204670BD70B5A0B00D460646FFF72B
:100C5400BBFF2C467119802CA1EB0401684608D90E
:100C64008022FFF791FD68462021FFF76BFF803C4F
:100C7400F0E72246FFF788FD21466846FFF772FF3A
:100C84000446FFF7B7FF204620B070BD0A4B1B781F
:100C940010B504467BB10948402101F0E7FF002864
:100CA400F9D00648214601F0DDFF0448402101F057
:100CB400DDFF0028F9D010BD1C00002000480040D2
:100CC4002DE9F043334D83B06C6804F12E0323F017
:100CD400070300AFADEB030D50238DF80030212343
:100CE4008DF8013000238DF8023003238DF8033092
:100CF40004F121035BBAADF80430274B04F1270853
:100D04006E460DF1060203F11C0153F8040B42F880
:100D1400040B8B42F9D11B78137004F1230922468A
:100D240006F123001D4901F0A7FF31464A46002081
:100D340001F0CEF907F1080304F5927443F8040DA9
:100D4400186846F80900FE23B4FBF3F34344073361
:100D540023F00703ADEB030D31464246684601F02C
:100D64008FF904465520FFF791FF6E466C44A64266
:100D740007D016F8010B552808BF0020FFF786FF9F
:100D8400F5E75520FFF782FF00230C376B60BD4663
:100D9400BDE8F0831C000020102D00082400002072
:100DA4002DE9F041274C86B0204600F089F84FF435
:100DB4008020012101F0CEFD20460A21072201F006
:100DC40029FC06AE072220460B2101F023FC4FF438
:100DD400806346F8183D002501274FF0020820469D
:100DE40031468DF806508DF807708DF804808DF823
:100DF400058001F0C3FB4FF40063204631460093A5
:100E04008DF8048001F0BAFBADF80C50ADF80E502B
:100E1400ADF81050ADF814500B4D0C4B029328460E
:100E24000C2302A9ADF8123001F0B6FE284639466B
:100E340001F00CFF204600F05BF8054B1F7006B074
:100E4400BDE8F081000802400048004040420F0025
:100E54001C00002038B50C4B1A781C469AB1451E6C
:100E640015F8012F7AB163680749FF2B0BD80A2ABA
:100E740002D1FFF725FFF3E70D2A1FBF581C5B18AB
:100E840048601A72ECE738BD1C00002008B5054B19
:100E94001B782BB1FFF7DEFFBDE80840FFF710BF5A
:100EA40008BD00BF1C0000201FB50C2201A901F0E1
:100EB4004AF901A8FFF7CEFF05B05DF804FB000076
:100EC40000F13F4000F57E00C0F3872008280AD8CF
:100ED400054A135C591C11542BB9044901230A6BAC
:100EE400834013430B637047240100200038024001
:100EF40000F13F4000F57E00C0F3872008280DD89C
:100F0400074A135C53B1013BDBB2135433B90549AF
:100F140001230A6B834022EA03030B63704700BF7B
:100F2400240100200038024002460068838823F42C
:100F3400E0631B041B0C838003889BB243F400739F
:100F4400038008230020517513751076704737B558
:100F540004460D46FFF7B4FF0023204669468DF88A
:100F640004308DF805308DF80730009501F006FB4C
:100F74002046FFF7BDFF03B030BD000010B50B4C99
:100F8400342300FB0344236B7BB10A2001F0C5F832
:100F94006068A168FFF7DBFF20696169FFF7D7FF8D
:100FA400236B0120BDE81040184710BD302D000808
:100FB400F7B5044616460F461D46FFF781FF02218A
:100FC40001238DF804108DF805108DF806302046A5
:100FD400002369468DF80730009701F0CFFA2046C8
:100FE40031462A4601F016FB2046FFF781FF03B085
:100FF400F0BD0000027D082A10B5044607D102683E
:10100400938823F4C0631B041B0C938084E0434B3C
:10101400006803EB8203996E01F0CCFB00287BD0BF
:10102400237D072B72D8DFE803F0040B1921323B30
:101034005A6E237A226803F0FE03138201232DE003
:101044002268A37A1382637A0BB1022326E0938881
:101054009BB243F48063938006231FE022681388C5
:101064009BB243F480731380032317E0237A22682E
:1010740043F001031382E37A012B01BF138823F4A5
:1010840080631B041B0C08BF1380042306E0226842
:1010940093889BB243F480639380052323753BE0DC
:1010A40023682269198A237BD154237BE27A013392
:1010B400DBB2591C9142237307D12268138823F4AD
:1010C40080631B041B0C138026E0934224D1226806
:1010D400938823F480631B041B0C938013E0237B0D
:1010E40021692268CB5C1382237BE17A0133DBB272
:1010F4009942237310D1938823F480631B041B0C3F
:1011040093800723CAE72046012101E020460021FD
:10111400BDE81040FFF708BF002010BD302D0008C7
:101124007FB51D4D1C2303FB005306461B790BB9E9
:10113400FFF724FF194C342306FB03446068A168BD
:10114400A289A37BFFF734FF228BA37E2069616908
:10115400FFF72EFFE069012101F0FCFB684601F076
:1011640003FB0F4A236A009393424FF48063ADF864
:101174000A304FF01C0384BF626AADF8062003FBFB
:1011840006F46946285901F085FA2859012101F02D
:10119400F9FA04B070BD00BF30010020302D000802
:1011A400A086010073B504460E460025FFF788FEAD
:1011B4000123204669468DF8043000968DF80550C9
:1011C4008DF8075001F0DAF92046B1B22A4601F051
:1011D4001CFA2046FFF78CFE02B070BD10B5094C16
:1011E400342300FB0344236B5BB100209847606801
:1011F400A168FFF7D7FF20696169BDE81040FFF7D8
:10120400D1BF10BD302D00081C23104A434370B5D4
:1012140005460F4CD058D61801F00EFA342305FBBE
:1012240003440021E06901F095FB337923B9284692
:10123400BDE87040FFF7D2BF6068A168FFF787FE82
:1012440020696169BDE87040FFF781BE300100206C
:10125400302D00082DE9F347504C9A4694F8383065
:10126400884691461BB94E4840F2951104E0042883
:1012740004D94B484FF4CB7100F0CEFE494B1844CF
:101284001C2590F88860754363191B790BB90020FD
:1012940081E063591B8B9F0716D41C2070432718C9
:1012A40000259DF828300B9A87F8089087F80AA043
:1012B40087F80980FB723D733D753A61FD822058C1
:1012C400012101F06BFA2AE03046FFF79DFF30461A
:1012D400FFF726FF6159344B0A8B9007DDD5013B9C
:1012E400FAD1D4E71C2303FB06431B7E23B1019BE5
:1012F4005A1E0192002BF5D11C2303FB0643002246
:101304001A76019903F1100239B3117908291AD117
:1013140055791C2303FB06431B7D082B2BD01C2370
:101324007343E018E1580A8892B242F480720A804A
:10133400E25893889BB243F440739380012303766D
:10134400194B0193D3E7D188B1F57A7F05D20131E6
:10135400D180012000F0E1FEDBE719688B8823F4DB
:10136400E0631B041B0C8B800B889BB243F400735B
:101374000B80082313711C237343E1580A4B0A8B17
:10138400920707D5013BFAD13046FFF73DFF3046BF
:10139400FFF7C6FE284602B0BDE8F0873001002002
:1013A40008300008302D000880841E00017D036889
:1013B400082906D19A8822F480721204120C9A80A9
:1013C40038E09A8A120541BF9A8A22F40062120414
:1013D400120C48BF9A829A8AD20541BF9A8A22F493
:1013E40080721204120C48BF9A829A8A52051ED542
:1013F4009A8A22F480621204120C04299A820AD175
:10140400032202759A8822F4E0621204120C9A8074
:10141400002303760EE0012909D19A8822F4E062C0
:1014240012040021120C01759A80017602E0002159
:10143400FFF77ABD002070472DE9F3411D4C1E4E85
:1014440000251E4F56F8283C44F8043C1C2202FB9D
:1014540005720023237013760822227432788DF8E3
:1014640004204FF001080C2201A82372E371E36009
:101474008DF805208DF806308DF8078000F002FF06
:1014840073788DF8043001A800F0FCFE54F8040CC5
:1014940001F0D2F8454504F11C0406F1340601D0EC
:1014A4004546CEE7284687F83850FFF797FE02B046
:1014B400BDE8F08134010020582D000830010020DF
:1014C40073B5144C94F838200346254622B91248C3
:1014D40040F2331100F0A0FD042807D90522009240
:1014E4000D480E4A40F2351100F08AFD0C4A1344AF
:1014F40093F888401C2303FB04521E46127912B948
:101504002046FFF70DFE06FB0454237901332371B3
:1015140002B070BD30010020083000080E30000811
:10152400302D0008104A08B592F838301BB90F481E
:1015340040F2451104E0042804D90C484FF4A37187
:1015440000F06AFD0A4B18441C2390F8880003FB42
:10155400002213793BB1013BDBB213711BB9BDE827
:101564000840FFF751BE08BD3001002008300008D4
:10157400302D000837B50D4614460093069B0193A1
:1015840001212A462346FFF765FE03B030BD07B5A7
:1015940000930123FFF7EEFF03B05DF804FB37B5BA
:1015A4000D4614460093069B019300212A462346C8
:1015B400FFF750FE03B030BD1FB504AC04F8013D85
:1015C40001230094FFF7EBFF04B010BD0148FFF7BF
:1015D40011BD00BF300100200148FFF7E7BE00BF86
:1015E400300100200148FFF705BD00BF4C01002079
:1015F4000148FFF7DBBE00BF4C010020FFF71EBA15
:1016040030B585B004460D46684601F047F90DB97A
:10161400029805E0012D01D1039801E000F006FDD8
:10162400B4EB500F0ED8B0FBF4F000F080FD0028AE
:1016340002DC0748272103E0082804DD04482821A8
:1016440000F0EAFC01200138C00080B205B030BDD2
:101654003A300008B0F1006F10B504460BD20C48C4
:10166400FFF7F8FB2046FFF71FFC0A48FFF7F2FBE1
:101674004FF0FF3010BD084B002053F8042BA2425A
:1016840002D81A68944202D301300B28F5D110BD58
:10169400B230000840300008C02D00082DE9F8439E
:1016A40006462A480C4617469846FFF7D3FB3046B1
:1016B400FFF7FAFB2648FFF7CDFB2046FFF7F4FBC4
:1016C4002448FFF7C7FBD4B33046FFF7C3FF0546F2
:1016D400601E3044FFF7BEFF002D814632DB002838
:1016E40030DB461B01361FB1002031464246B84765
:1016F40000F02AFE2C464C451FDCF32000F03AFE95
:10170400154B002133F8140000F06CFE09280BD0AF
:101714001248FFF79FFB2046FFF7C6FB1048FFF770
:10172400B5FB00F01FFE0DE02FB1C5F10100204410
:1017340031464246B8470134DDE700F013FE01208C
:10174400BDE8F8830020BDE8F88300BF5B300008E3
:101754006F30000872300008F02D00087630000861
:10176400C43500082DE9F0470646234814460D46C3
:101774001F46FFF76FFB3046FFF796FB1F48FFF746
:1017840069FB2046FFF790FB1D48FFF763FB00F061
:10179400DBFDF32000F0EEFD4FEAD41805EB04095D
:1017A4002C464C45C5EB040A20D0701B204414F889
:1017B400011B00F04DFE09280DD01248FFF74AFB2B
:1017C4003046FFF771FB1048FFF760FB00F0CAFDDD
:1017D4000020BDE8F087002FE3D01AF07F0FE0D19E
:1017E4004FEADA104146089AB847DAE700F0BAFD42
:1017F4000120BDE8F08700BF8E3000086F3000087C
:1018040072300008A2300008C435000808B545F25B
:10181400555000F0DDFF042000F0E0FF40F6FF70BB
:1018240000F0E2FF002000F0D3FF4FF480500121CC
:10183400BDE8084000F07CBD08B500F0E3FFBDE85A
:10184400084000F0D7BF08B57D2001F0D7F800307C
:1018540018BF012008BD4900FEF76EBF4B0803EB1B
:101864005000FEF769BF000070B586B00546FFF76B
:10187400A3F901210020FEF75FFF042000F020FB04
:1018840003A8294600F06EFB03A800F07AFB08B910
:1018940028480BE02848FFF7F9FA05F10C000499F1
:1018A400FFF7D1F9059B984204D02448FFF7EEFADC
:1018B40001203DE0049C2248FFF7E8FA2146214A32
:1018C40021480023FFF7EAFE049E2048FFF7DEFAD2
:1018D400002405F1C0411E4B009432460C311A48D5
:1018E400FFF740FF1B48FFF7B5FA0498FFF7DCFA4F
:1018F4001948FFF7AFFA04991348FFF78FF9054623
:101904001648FFF7A7FA0598FFF7CEFA1448FFF731
:10191400A1FA2846FFF7C8FA1248FFF7B7FA059B61
:101924009D4204D01048FFF7B1FA022000E020469F
:1019340006B070BDBB300008D9300008F63000088E
:10194400193100085B180008004000082C31000819
:10195400611800083F3100084D3100085631000875
:1019640069310008C43500086F31000808B5022049
:1019740000F0BEFAD8B3042000F0BAFA70B11C48E3
:10198400FFF784FA042000F0A7FA022000F0A4FA7A
:101994004FF40040BDE8084000F09EBA1548FFF738
:1019A40075FA082000F098FA102000F095FA20202B
:1019B40000F092FA402000F08FFA4FF48010FFF705
:1019C40053FF022807D1082000F07AFA102000F013
:1019D40077FA00F04DFB042000F07EFA022000F0BC
:1019E4007BFA4FF40040BDE8084000F069BA08BD36
:1019F400BA310008F031000810B52548FFF746FA5F
:101A04004FF40010FFF730FF10B102283AD809E074
:101A1400202000F061FA402000F05EFA802000F0FF
:101A24004FFA2FE0082000F04BFA102000F048FA9B
:101A3400202000F05DFA20B91648FFF727FA20208D
:101A440007E0402000F054FA58B91348FFF71EFA93
:101A5400402000F035FA4FF4007000F031FA00F045
:101A640007FB0E48FFF712FA082000F035FA1020A1
:101A740000F032FA202000F02FFA402000F02CFA77
:101A8400002400E00124042000F026FA204610BDC2
:101A94000B320008253200085E3200089732000835
:101AA40008B50248FFF7F2F900F0E7FAD13200086E
:101AB4001EF0040F0CBFEFF30880EFF30980FFF76B
:101AC400EFBF70471FB504461048FFF7DFF901A9BF
:101AD4000C22204600F037FB01A8FFF7D7F9204677
:101AE400FEF742FEFEF7F2FF094B20F004001870E7
:101AF4001C46FEF7EBFF237800F0FB00834201D085
:101B040000F0B6FA0A2000F008FBF2E7C73200083A
:101B1400690100207FB54FF08050012100F01AFFC9
:101B2400022000F07DFE012807D1022000F082FE91
:101B3400BC48FFF7ABF900F0A0FA00214FF0805049
:101B440000F008FFFFF72CF9B748FFF79FF9B748F3
:101B5400FFF79CF9B648FFF799F9B648FFF796F9ED
:101B6400B548FFF793F9B548FFF790F9B448FFF784
:101B74008DF9B448FFF78AF9B348FFF787F9B348FA
:101B8400FFF784F9FFF758FCFEF708FF00F0BAF9F5
:101B940000F0D0F900210C2201A801F078F800F03F
:101BA400C5F901A90C2200F0CEFA01A8FFF76EF9DD
:101BB4009D48FFF76BF99C48FFF768F94FF48040A4
:101BC40000F096F990B1A248FFF760F94FF4804015
:101BD40000F082F9082000F07FF9102000F07CF971
:101BE400202000F079F9402000F076F9FEF7D0FDCE
:101BF400FEF77AFFFEF746FDFEF7FEFA08B19548B8
:101C040003E0FEF73DFB10B19348FFF75BFF00F0E4
:101C14008CF9802000F06CF918B1802000F05CF998
:101C240056E04FF4003000F063F9044620B14FF45D
:101C3400003000F051F94DE00120FEF731FFB0B162
:101C44002046FEF72DFF90B18448FFF71FF941F2BB
:101C540088340120FEF724FF98B10020FEF720FF0E
:101C640078B1012000F059FA013CF2D132E07C4B0A
:101C74000CCB013301D0013203D17A48FFF706F9C6
:101C840028E0FFF7E0FD48B3FFF7DDFD10B176482B
:101C9400FFF7FCF84FF4007000F02AF910B1734814
:101CA400FFF7F4F84FF4007000F016F9102000F07C
:101CB4001FF9002800F0F0806D48FFF7E7F80820CE
:101CC40000F00AF9102000F007F9FFF795FE98B923
:101CD40068489AE76848FFF7D9F8F6E74FF40070C8
:101CE40000F006F90028CFD1082000F0F5F8102004
:101CF40000F0F2F8FFF73AFE4FF4005000F0F8F865
:101D040004464FF4805000F0F3F8400040EA8400A9
:101D1400C4B24FF4006000F0EBF82043C0B20728CF
:101D2400C3B20DD14FF4006000F0D6F84FF48050E8
:101D340000F0D2F84FF4005000F0CEF84F4864E7BA
:101D44000133DBB2023B4FF40060052B11D8DFE80E
:101D540003F00C1003100C1000F0BEF84FF4805088
:101D640000F0BAF84FF4005003E000F0B5F84FF477
:101D7400805000F0A5F8FFF749FDFFF75DFD384BF3
:101D84003F485D681E68FFF765F82846FFF78CF842
:101D94003C48FFF75FF80022930003F1604303F52A
:101DA400614301324FF0FF31082AC3F88010C3F8B1
:101DB4008011F1D1344B4FF4801200241A635C6318
:101DC4009C631C645C6400F045FD3048012100F014
:101DD400D9FD21462D4800F0D5FDF120012100F068
:101DE400DDFD2146F12000F0D9FD0120014600F07F
:101DF400E1FD2146012000F0DDFD2548012100F030
:101E0400E5FD2146224800F0E1FD2248012100F0D1
:101E1400E9FD2048214600F0E5FD63B64FF0FF3EA2
:101E2400B5462847DC320008C4350008E93200080A
:101E340000330008193300084733000876330008DC
:101E4400A6330008D7330008093400083B340008DF
:101E54006C340008014550FE024550FE99340008D8
:101E640000400008CB340008DE340008F6340008D3
:101E740016350008034550FE8A350008044550FE17
:101E8400A9350008BD350008003802400010E022E2
:101E9400FFC9FEF6337F7704082000F029F820B14B
:101EA4000548FEF7F3FF102003E00448FEF7EEFFB9
:101EB400082000F005F81DE73E35000864350008E9
:101EC40010B50446002000F0BDFD40EA04010020E6
:101ED400BDE8104000F0A6BD10B50446002000F097
:101EE400B1FD20EA04010020BDE8104000F09ABDD5
:101EF40010B50446002000F0A5FD204214BF0120C7
:101F0400002010BD08B54FF08050012100F022FDE3
:101F1400012000F07FFC0120FFF7EAFF20B9012136
:101F2400BDE8084000F07EBD08BD7047022000F007
:101F340089BD000008B5FFF7F9FF054B1968884211
:101F440004D00220BDE8084000F06CBD08BD00BF0D
:101F54008401000808B50248FEF798FF00F088F8ED
:101F6400C53500081FB504460C2201A8FEF70CFC79
:101F740001AB03CB20601868A0602046616004B008
:101F840010BD0068A0F10C0358425841704700008E
:101F940080B50646174610480D461C46FEF75AFF04
:101FA4003846FEF757FF0D48FEF754FF3046FEF75C
:101FB40051FF0B48FEF74EFF2846FEF775FF2CB184
:101FC4000848FEF747FF2046FEF744FF0648FEF7A1
:101FD4005DFFFFF7BFFF00BFE2350008EB350008E7
:101FE400EE350008EC350008C43500081FB506AA14
:101FF40052F8044B039200921A462346FFF7C8FF97
:102004000CB41FB506AA52F8043B03920092014A8D
:10201400FFF7BEFFF035000807B5002300937246B2
:10202400014BFFF7E3FF00BFF7350008744608B51E
:102034000548FEF70FFF2046FEF736FF0348FEF77C
:1020440025FFFFF787FF00BFFF350008C4350008F0
:10205400BFF34F8F0449054BCA6802F4E06213438F
:10206400CB60BFF34F8FFEE700ED00E00400FA05FC
:1020740008B5FEF781FBFFF7EBFF08B5FFF7E8FFB4
:10208400F0B50646002401202546034694421DD09F
:1020940011F804C000F1010EBCF1000F03D1735517
:1020A400774605460DE00133DBB2FF2B774606F891
:1020B40000C007D102F1FF3C644506D07355871C6C
:1020C4007546012301343846E0E770467355F0BD88
:1020D40030B5C9B1C0430A44914213D011F8013B51
:1020E4000A4D83EA000404F00F0455F8244084EAFE
:1020F400101080EA131303F00F0355F8233083EA1A
:102104001010E9E7C04330BD084630BD082E000872
:10211400162358430138FDD1704710B504462CB13D
:102124004FF47A70FFF7F4FF013CF8E710BD10B5E7
:10213400B0FA80F400F027F801280CBFC4F11F00A6
:10214400C4F1200010BD0A2A10B51BDD0C46302353
:1021540004F8023B78234B701C220F239340034066
:10216400D340092B01D8303302E00F2B02D8573368
:10217400DBB200E02023043A04F8013B131DECD148
:1021840000238B7210BD00F0AA33A0EB530000F0C3
:10219400CC3300F0333000EB930000EB101000F070
:1021A4000F3000EB102000EB104000F03F007047B0
:1021B4002D4AD2F8883043F47003C2F888302B4B90
:1021C4001A68002142F001021A6099601A6822F02C
:1021D400847222F480321A60254A5A601A6822F402
:1021E40080221A60D9601A6C224942F080521A6423
:1021F4000A6842F440420A609A689A609A689A604F
:102204009A6842F480529A601B4A5A601A6842F0F3
:1022140080721A601968154A8901FBD5174B40F280
:1022240003611960936823F003039360936843F098
:10223400020393600D4B9A6802F00C02082AF9D14C
:102244009A6822F400029A600D4AC3F884201A683E
:1022540042F080621A60054B1B681B01FBD5024BE0
:102264004FF000629A60704700ED00E000380240D1
:1022740010300024007000401040010F003C024068
:1022840000300050C278037810B512B3164AD168F2
:102294004278C943C1F30221C1F10404E4B2A2406B
:1022A400D4B20F220A4181780A40224303F16043E9
:1022B40003F561431201D2B283F8002303780122AB
:1022C400590903F01F0302FA03F3084A42F82130C4
:1022D40010BD5A09012103F01F03994002F12003A4
:1022E400024A42F8231010BD00ED00E000E100E0D6
:1022F400014B01229A60704700300240014B186084
:10230400186870470030024000EB81018842044B9A
:1023140003D050F8042B1A60F8E71868704700BF20
:1023240000300240014B1868704700BF0030024083
:10233400044B9A6809B1104301E022EA0000986056
:10234400704700BF002004E0044B1A69002ABFBF95
:10235400034A5A6002F188325A607047003C0240D6
:1023640023016745024A136943F000431361704730
:10237400003C0240014BD860704700BF003C024063
:102384000E4BDA68D20310D4DA68D1060FD4DA68B7
:10239400D2050ED4DA6812F0EF0F0CD1DB6813F01B
:1023A400020F14BF0820092070470120704706203F
:1023B4007047022070470720704700BF003C02406E
:1023C40007B509238DF80730FFF7DAFF8DF807000A
:1023D4009DF80730012BF7D09DF8070003B05DF896
:1023E40004FB000070B5064641B1012908D002295A
:1023F4000CBF4FF400754FF4407503E00D4601E047
:102404004FF48075FFF7DCFF09281ED10F4C2369B8
:1024140023F440732361216929432161236923F053
:10242400F8032361236943F002031E4326612369F1
:1024340043F480332361FFF7C3FF236923F00203CE
:102444002361236923F0F803236170BD003C02403B
:1024540070B505460E46FFF7B3FF092811D1094CA4
:10246400236923F44073236123692361236943F0BF
:10247400010323612E70FFF7A3FF236923F00103F7
:10248400236170BD003C024070B543688668856A6C
:102494000468416B46EA0302C3681A4303691A439A
:1024A40043691A4383691A43C3691A43036A1A4383
:1024B400436A1343C26A2B431A43036B1343A200B8
:1024C40002F120420B43082E136002BF136843F04D
:1024D40040031360B1F5801F816B12D18CB14FF0B2
:1024E40020435C681E6846F480161E601E6846F42D
:1024F40080761E600E6924F47004013E44EA06549A
:102504005C608C690B6823434C6843EA04138C6851
:1025140043EA0423CC6843EA04430C69496943EA67
:10252400045343EA0163B5F5804F536010D1C16B86
:1025340088690B680343486843EA0013886843EAE0
:1025440000230869496943EA005343EA016301E04F
:102554006FF07043C2F8043170BD0000800000F1D8
:10256400204019B1036843F0010302E00268024B02
:1025740013400360704700BFFEFF0F00F0B50E6804
:1025840000220123934003EA060E9E452AD15500FA
:1025940003230468AB40DB431C4004600C790768E8
:1025A40004FA05FC013C4CEA0707012C076011D82A
:1025B40084684F791C4084608468AF4027438760F7
:1025C400446824EA0E0444608C7947689440A4B2B9
:1025D4003C434460C4682340C360CB79C468AB40C7
:1025E4002343C3600132102ACBD1F0BD4FF6FF73F1
:1025F40003600023037143718371C37170470369DE
:10260400194214BF0120002070470AB101837047AA
:102614004183704701F00703C90800EB810010B53E
:102624009B00046A0F21994024EA01010162016AB6
:102634009A401143016210BD08B5134B984207D16B
:102644004FF40010012100F0C1F94FF4001014E020
:102654000E4B984207D14FF48000012100F0B6F9E7
:102664004FF4800009E00A4B98420BD14FF400006C
:10267400012100F0ABF94FF400000021BDE808404F
:1026840000F0A4B908BD00BF005400400058004049
:10269400005C00407FB5868826F03F060446360479
:1026A40068460D46360C00F0F9F8029A2C48B2FB45
:1026B400F0F081B20E43A68023882A4E23F0010352
:1026C4001B041B0C23802B68B3420AD85B00013126
:1026D400B2FBF3F39BB2032B89B298BF042321848A
:1026E40023E0EE884BF6FF718E421BBF19214B434A
:1026F40003EB4303B2FBF3F315BF9BB2B2FBF3F35B
:1027040043F480439BB2C3F30B020AB943F00103C1
:102714004FF4967101FB00F24FF47A7192FBF1F2DF
:10272400013292B243F400432284A383238869894B
:10273400AA889BB243F001032380238823F4816396
:1027440023F002031B040A431B0C13439BB2238094
:102754002A89AB8913439BB2238104B070BD00BFA7
:1027640040420F00A086010041F288330360002339
:1027740083804BF6FF72038143814FF48043C28010
:1027840083817047038819B19BB243F0010303E0CE
:1027940023F001031B041B0C03807047038819B149
:1027A4009BB243F4806303E023F480631B041B0C9B
:1027B40003807047838A9AB2038B10B542EA0343BD
:1027C40021F07F4404EA0300431A5842584110BDE3
:1027D400014B1860704700BF00300040014B586047
:1027E400704700BF00300040014B9860704700BF45
:1027F40000300040024B4AF6AA221A60704700BF1C
:1028040000300040024B4CF6CC421A60704700BFC7
:1028140000300040014B1860704700BF20000E429A
:10282400034B5B68184214BF01200020704700BFAF
:1028340000700040064BB0F5402F15BF1A685A6867
:1028440042EA800042F4402214BF18605A60704784
:10285400007000400E4B1A68002142F001021A6019
:1028640099601A6822F0A85222F410221A60094AC8
:102874005A60094AC3F8842002F18062C3F88820B0
:102884001A6822F480221A60D960C3F88C10704749
:102894000038024010300024003000201D4A9368A4
:1028A40003F00C03042B10B503D0082B03D01A4BF0
:1028B40018E01A4B16E05168536811F4800F03F0C6
:1028C4003F03516814BF154A134AB2FBF3F3114A8C
:1028D4005268C2F30142C1F3881101324B435200E2
:1028E400B3FBF2F30B4A036093680D49C3F303137C
:1028F400CC5C0368E34043609468C4F382240C5DB9
:1029040023FA04F484609268C2F342328A5CD340AE
:10291400C36010BD003802400024F40040787D01FB
:1029240001000020044B1A6B09B1104301E022EAB4
:1029340000001863704700BF00380240044B9A6BD4
:1029440009B1104301E022EA00009863704700BF18
:1029540000380240044B1A6C09B1104301E022EA2A
:1029640000001864704700BF00380240044B5A6CE2
:1029740009B1104301E022EA00005864704700BF27
:1029840000380240044B1A6909B1104301E022EAFD
:1029940000001861704700BF00380240044B5A69B8
:1029A40009B1104301E022EA00005861704700BFFA
:1029B40000380240044B9A6909B1104301E022EA4D
:1029C40000009861704700BF00380240044B1A6A47
:1029D40009B1104301E022EA00001862704700BF09
:1029E40000380240044B5A6A09B1104301E022EA5C
:1029F40000005862704700BF003802404209012AB3
:102A0400074B01D11B6803E0022A0CBF1B6F5B6FED
:102A140000F01F0023FA00F000F00100704700BF2F
:102A24000038024082B000230193054B0193019BBF
:102A340003EB80000190019B196002B0704700BF56
:102A44005028004082B000230193054B0193019B61
:102A540003EB80000190019B186802B0704700BF2F
:102A64005028004008B5254B984207D14FF48050B8
:102A74000121FFF7B7FF4FF4805039E0204B984213
:102A840007D14FF480400121FFF7A0FF4FF48040AD
:102A940009E01C4B98420BD14FF400400121FFF791
:102AA40095FF4FF400400021BDE80840FFF78EBFBA
:102AB400154B984207D14FF400500121FFF792FFC4
:102AC4004FF4005014E0114B984207D14FF480109A
:102AD4000121FFF787FF4FF4801009E00C4B984267
:102AE4000BD14FF400100121FFF77CFF4FF40010CD
:102AF4000021BDE80840FFF775BF08BD0030014064
:102B040000380040003C00400034014000500140C7
:102B14000054014003884A8810B503F441540B88DB
:102B240013438A881343CA8813430A8913434A897F
:102B340013438A891343CA89134323439BB20380F3
:102B4400838B23F400631B041B0C83830B8A038293
:102B540010BD0023038043808380C38003814381AD
:102B64008381C381072303827047038819B19BB211
:102B740043F0400303E023F040031B041B0C0380D9
:102B84007047808980B270478181704703891942F8
:102B940014BF0120002070477FB5038ACA889BB206
:102BA40023F440531343038283890E469BB223F4D8
:102BB400B053098923F00C02B3880B4371890B438A
:102BC4009BB213438381838AB2899BB223F44073FB
:102BD4001343838204466846FFF760FE1A4B9C4207
:102BE40003D003F580639C4201D1039D00E0029D64
:102BF400A38931681BB2002B4FF0190202FB05F2C6
:102C0400B4BF4D008D00B2FBF5F5A2896426B5FB77
:102C1400F6F00001010912B2002A06FB1153ADBF00
:102C24001A01D90032313232B5BFB1FBF6F2B2FB30
:102C3400F6F302F0070203F00F03B4BF1043184386
:102C440080B2208104B070BD00100140838919B1A5
:102C54009BB243F4005303E023F400531B041B0C06
:102C640083817047C1F3080181807047038819424A
:102C740014BF01200020704710B5431E0A4491423E
:102C840004D011F8014B03F8014FF8E710BD0244DA
:102C94000346934202D003F8011BFAE77047000091
:102CA4000400000001030000010000000100000016
:102CB40003000000010000000F0000000F000000EE
:102CC40000000000EE2F0008001802401000000071
:102CD40006040000F32F000800180240080000005A
:102CE40006030100F62F000800180240020000004D
:102CF40006010100FD2F0008001802400400000036
:102D040006020100000000000000000001424F4FD5
:102D1400544C4F414445520000000000002A2A0050
:102D2400000000000000000000000000005400400B
:102D340000040240400000000600040000040240B9
:102D4400000200000900040000002000801A0600B0
:102D5400004000001F2000000000000000000000F0
:102D6400005800400014024002000000010004006A
:102D740000140240010000000000040000004000B4
:102D8400801A0600FFBF000021220000000000009E
:102D940001160008010003008200070084000700F8
:102DA400010003000200030040000300800007004C
:102DB400840007000000010000000000000000087B
:102DC400004000080080000800C00008000001085E
:102DD40000000208000004080000060800000808BB
:102DE40000000A0800000C0800000E08000008009B
:102DF400100018002000280030003800400048006F
:102E040050005800000000006410B71DC8206E3B3D
:102E1400AC30D9269041DC76F4516B6B5861B24DDD
:102E24003C7105502083B8ED44930FF0E8A3D6D647
:102E34008CB361CBB0C2649BD4D2D38678E20AA0AF
:102E44001CF2BDBD537475636B20627574746F6E30
:102E540020726567697374657220697320696E7680
:102E6400616C69642C20636C656172696E672E0005
:102E7400427574746F6E206973207075736865642D
:102E840020617420626F6F740069636534306C7004
:102E94002E630043444F4E45206E6F74206C6F7751
:102EA40020647572696E672072657365740043529D
:102EB40045534554206E6F742068696768206475B3
:102EC40072696E6720726573657400446973706C0F
:102ED400617920627573792D776169742074696DE5
:102EE400656F757420657870697265642100436F3D
:102EF4006E6669677572696E672046504741206641
:102F0400726F6D2062697473747265616D20696E8D
:102F140020666C6173682E2E2E004E6F204650473B
:102F2400412062697473747265616D20696E2066F4
:102F34006C6173682E0046616C6C696E6720626117
:102F4400636B20746F204E56434D2E00465047410C
:102F54002043444F4E452074696D656F7574206538
:102F640078706972656421004650474120636F6E32
:102F740066696775726174696F6E206661696C65F4
:102F8400642E204973207468697320612062696724
:102F9400626F6172643F00465047412076657273E8
:102FA400696F6E3A2000446973706C617920696EB0
:102FB400697469616C697A656420616674657220FC
:102FC4000020726574726965732E00446973706CB5
:102FD400617920696E697469616C697A6174696F79
:102FE4006E206661696C65642E004261636B0055F6
:102FF400700053656C65637400446F776E00637290
:10300400632E63006932632E630049324320646592
:1030140076696365204944206F7574206F66206269
:103024006F756E647320256420286D61783A2025BD
:103034006429006F6E007370692E63002069732029
:103044006F7574736964652073797374656D206634
:103054006C6173680D0A0073797374656D5F666CD7
:103064006173685F657261736528002C2000290D07
:103074000A006661696C656420746F20657261730F
:103084006520736563746F72200073797374656D62
:103094005F666C6173685F77726974652800666146
:1030A400696C656420746F2077726974652061644B
:1030B40064726573732000496E76616C696420667E
:1030C40069726D7761726520646573637269707487
:1030D400696F6E2100436865636B73756D6D696E0E
:1030E40067206669726D77617265207570646174BA
:1030F4006500496E76616C6964206669726D7761FA
:1031040072652043524320696E2053504920666CF7
:10311400617368210065726173655F6F6C645F66DB
:1031240069726D776172650077726974655F6E6547
:10313400775F6669726D7761726500436865636B7A
:1031440073756D6D696E6720002062797465730D07
:103154000A00436865636B73756D202D2077616E7B
:10316400746564200020676F7420004F75722069B5
:103174006E7465726E616C20666C61736820636F37
:103184006E74656E747320617265206261642028B8
:10319400636865636B73756D206661696C6564292A
:1031A400212054686973206973207265616C6C799D
:1031B4002062616421004F75722070726576696FB8
:1031C4007573206669726D776172652075706461CC
:1031D4007465206661696C65642C2061626F727429
:1031E400696E67207570646174652E004E65772082
:1031F4006669726D776172652069732061766169B1
:103204006C61626C6521004C6F6164696E67207249
:1032140065636F76657279206669726D7761726530
:10322400004661696C656420746F206C6F61642072
:103234007265636F76657279206669726D77617203
:10324400652C20737472696B65206F6E652E205433
:10325400727920616761696E2E004661696C6564EC
:1032640020746F206C6F6164207265636F76657281
:1032740079206669726D776172652C207374726946
:103284006B652074776F2E205472792061676169B1
:103294006E2E004661696C656420746F206C6F61EA
:1032A40064207265636F76657279206669726D77E2
:1032B4006172652C20737472696B65207468726521
:1032C400652E2053414420574154434800484152FD
:1032D40044204641554C54006578697420737461E8
:1032E4006E64627900205F5F5F5F202020202020D1
:1032F4002020202020202020205F5F002F5C202021
:103304005F605C20202020202020202020202F27E8
:103314005F5F605C005C205C2C5C4C5C5F5C20202C
:1033240020205F5F5F202F5C205C2F5C205C2020CE
:103334005F5F20205F5F20205F5F20205F5F202091
:103344005F5F00205C2F5F5C5F5F205C20202F2785
:10335400205F20605C205C205C205C205C2F5C2073
:103364005C2F5C205C2F5C205C2F5C205C2F5C203D
:103374005C002020202F5C205C4C5C205C2F5C20B7
:103384005C2F5C205C205C205C5F5C205C205C200B
:103394005C5F2F205C5F2F205C205C205C5F5C20E6
:1033A4005C002020205C20605C5F5F5F5F5C205CD1
:1033B4005F5C205C5F5C205C5F5F5F5F2F5C205C18
:1033C4005F5F5F785F5F5F2F275C2F605F5F5F5F8A
:1033D400205C00202020205C2F5F5F5F5F5F2F5CFC
:1033E4002F5F2F5C2F5F2F5C2F5F5F5F2F20205C90
:1033F4002F5F5F2F2F5F5F2F202020602F5F5F5F85
:103404002F3E205C0020202020202020202020206F
:1034140020202020202020202020202020202020A8
:103424002020202020202020202020202020202098
:103434002F5C5F5F5F2F0020202020202020202091
:103444002020202020202020202020202020202078
:103454002020202020202020202020202020202068
:1034640020205C2F5F5F2F004C61737420666972AB
:103474006D7761726520626F6F742077617320735A
:103484007461626C653B20636C6561722073747255
:10349400696B657300486F6C6420646F776E2055A8
:1034A40050202B204241434B20666F7220352073FD
:1034B4006563732E20746F20666F7263652D626F6F
:1034C4006F7420505246004669726D7761726520B0
:1034D400697320657261736564005761746368641D
:1034E4006F6720636175736564206120726573651D
:1034F4007400536F667477617265206661696C75D8
:1035040072652063617573656420612072657365FB
:1035140074004661696C656420746F207374617211
:1035240074206669726D776172652C207374726998
:103534006B652074687265652E004661696C65640C
:1035440020746F207374617274206669726D776180
:1035540072652C20737472696B652074776F2E000A
:103564004661696C656420746F20737461727420A1
:103574006669726D776172652C20737472696B650C
:10358400206F6E652E00466F7263652D626F6F74D7
:10359400696E67207265636F76657279206D6F64FA
:1035A400652E2E2E00426F6F74696E6720666972F5
:1035B4006D77617265204020002E2E2E0D0A0D0AB3
:1035C40000536F667477617265206661696C757209
:1035D400653B20726573657474696E67210041539D
:1035E400534552543A20002020003A004153534599
:1035F4005254004153534552544E002A2A2A20570C
:103604005446200053544D33320053544D3332202A
:103614007065726970686572616C206C6962726150
:103624007279207472697070656420616E206173B0
:10363400736572740043524F414B204F4F4D00004D
:10364400FF0000000001020304010203040607084E
:043654000900000069
:04000005080001B43A
:00000001FF

View file

@ -0,0 +1,874 @@
:020000040800F2
:1000000070210020B5010008F9010008B51A0008A8
:10001000F9010008F9010008F901000800000000DA
:10002000000000000000000000000000F9010008CE
:10003000F901000800000000F9010008F9010008BA
:10004000F9010008F9010008F9010008F9010008A8
:10005000F9010008F9010008F9010008F901000898
:10006000F9010008F9010008F9010008F901000888
:10007000F9010008F9010008F9010008F901000878
:10008000F9010008F9010008F9010008F901000868
:10009000F9010008F9010008F9010008F901000858
:1000A000F9010008F9010008F9010008F901000848
:1000B000F9010008F9010008F9010008D11500084C
:1000C000DD150008E9150008F5150008F90100081C
:1000D000F9010008F9010008F9010008F901000818
:1000E000F9010008F9010008F9010008F901000808
:1000F000F9010008F9010008F9010008F9010008F8
:10010000F9010008F9010008F9010008F9010008E7
:10011000F9010008F9010008F9010008F9010008D7
:10012000F9010008F9010008F9010008F9010008C7
:10013000F9010008F9010008F9010008F9010008B7
:10014000F9010008F9010008F9010008F9010008A7
:10015000F9010008F9010008F9010008F901000897
:10016000F9010008F9010008F9010008F901000887
:10017000F9010008F9010008F9010008F901000877
:04018000F901000879
:100184008BB8185876342E332D616C706861322D1B
:1001940033342D6738663564383732000000000088
:0F01A40000000000386635643837320000000173
:1001B400002103E00A4B5B584350043109480A4BC1
:1001C40042189A42F6D3094A02E0002342F8043B5B
:1001D400074B9A42F9D301F0EBFF01F09BFC704707
:1001E4004436000800000020140000201400002001
:1001F4006C010020FEE7000030B501208BB002F056
:1002040021FC002401902546E0B200F049FC01AA3B
:1002140008B9105519E0135D042B10DD164800F0E1
:1002240035FE02A92022019801F08DFF02A800F0FA
:100234002DFE0120002102F0F5FB00201AE001331D
:10024400DBB2052B135528BF01250134042CDBD167
:10025400019C54B1094800F019FE204602A920224D
:1002640001F071FF02A800F011FE0120214602F006
:10027400D9FB28460BB030BD482E0008742E000868
:1002840008B500F017FB80F00100C0B208BD000003
:1002940008B54FF48061034802F0B1F9003018BF8B
:1002A400012008BD001802402DE9F0434A4C89B0F2
:1002B400204600F005FE20460D21052202F0AAF991
:1002C40020460E21052208AE02F0A4F9052220469C
:1002D4000C2102F09FF94FF4005346F81C3D002511
:1002E40001274FF00209204631468DF80A508DF857
:1002F4000B508DF808908DF8097002F03FF94FF417
:10030400804320463146019302F038F94FF480537C
:100314002046314601934FF4007802F02FF920462D
:1003240031468DF808508DF80B70CDF8048002F03A
:1003340025F94FF480632046314601938DF8085027
:100344008DF80B5002F01AF94FF4807320463146B1
:1003540001938DF808708DF80B5002F00FF94FF4EB
:1003640000432046314601938DF80A708DF80B50F6
:1003740002F004F939464FF4001002F0F7FAA4F53C
:100384004444164B164E1E60204602F06BFB03A835
:1003940002F0DFFB4FF4827339463046ADF80E307D
:1003A400ADF80C50ADF81050ADF81290ADF81470D3
:1003B400ADF8168001F024F903A9ADF81800204621
:1003C400ADF81A5002F0A6FB2046394602F0CDFBE8
:1003D40009B0BDE8F08300BF0018024014000020FB
:1003E4000024F40008B5022001F097FE012000F07B
:1003F40045FB022001F091FE0120BDE8084000F019
:100404002BBB000010B504460548022102F0BEFBD8
:100414000028F9D021460248BDE8104002F0B4BBE0
:100424000054014038B5012204460D4629484FF4D2
:10043400807102F0EAF8012001F06FFE25484FF4C4
:100444000041002202F0E1F84FF4807100222148BB
:1004540002F0DBF8012001F060FE4FF400411D487A
:10046400012202F0D2F8012001F057FE19484FF49E
:10047400007102F0C4F818B11748184A6A210AE05A
:1004840014484FF4004102F0BAF808B1254404E0DE
:100494001148134A6B2101F0B3FDAC4204D014F8A7
:1004A400010BFFF7AFFFF8E70A484FF48071012210
:1004B40002F0ABF808240020FFF7A4FF013CFAD1B6
:1004C4004FF40071034802F09AF8003018BF01207D
:1004D40038BD00BF001802408D2E0008972E00087A
:1004E400B22E000810B504460B4802F04AFB0A4835
:1004F400022102F04BFB0028F9D00748214602F004
:1005040043FB0548012102F041FB0028F9D00248D1
:1005140002F037FBC0B210BD0054014010B54FF4D7
:10052400807104460022054802F06FF8642001F04F
:10053400EFFD2046BDE81040FFF764BF00180240FD
:1005440008B50748802102F021FB0028F9D10548AD
:100554004FF480710122BDE8084002F056B800BF94
:10056400005401400018024010B540F2F514FFF7A2
:100574008FFE50B1013C04D1054800F087FC2046B1
:1005840010BD642001F0C4FDF1E7012010BD00BFDF
:10059400CF2E000810B5224C638822884FF6FF71D5
:1005A400DB438A429BB20BD09A4209D11D4800F02A
:1005B4006DFC1D482188FFF735FF20B1012010BDD7
:1005C4001A4800F063FC1A4800F060FC19484FF424
:1005D4008071012202F019F84FF4004100221548FD
:1005E40002F013F8012001F098FD12484FF4004185
:1005F400012202F00AF840F2E9340E484FF4007187
:1006040001F0FDFF0028D9D1013C04D10A4800F0D3
:100614003DFC204610BD642001F07AFDEDE700BFEB
:1006240000000F60F22E000804000F601E2F000867
:100634003A2F000800180240502F000810B5044655
:100644000420FFF76BFF2046FFF7DCFEBDE81040F7
:10065400FFF776BF10B504460120FFF75FFFE0B255
:10066400FFF7D0FEC4F30720FFF7CCFEC4F3074026
:10067400FFF7C8FE200EFFF7C5FEBDE81040FFF7E8
:100684005FBF000010B5FFF70FFEFFF783FF08B947
:10069400224830E0224800F0DDFB4FF48071002254
:1006A400204801F0B2FF642001F032FD0020FFF782
:1006B40019FF4FF48071012204461A4801F0A5FF86
:1006C400204600F0F1FB184800F0E0FBFFF78AFE3B
:1006D40000240120FFF7B2FFFFF746FF78B10320A3
:1006E400FFF71CFFFFF72CFF104800F0B3FB204678
:1006F40000F0DAFB0E48BDE8104000F0C7BB01343F
:10070400FFF748FF152CE4D10A4800F0BFFB022094
:10071400FFF704FFBDE81040FFF712BF6C2F00087D
:100724009B2F000800180240C4350008AA2F0008B7
:10073400C52F0008CF2F000808B55D235843094B87
:100744004A1C00EB52001A78B0FBF1F0C0B28242AE
:1007540007D01870FFF77EFF0220BDE80840FFF7BE
:100764006DBF08BD0000002008B5FFF773FF03202C
:10077400BDE80840FFF762BF08B50220FFF7CEFED0
:10078400BDE80840FFF7DCBE01F1C04102F074BAD5
:1007940070B543489AB000F093FB424800F090FBD8
:1007A400414800F08DFB414B93E8030001AD85E81F
:1007B40003003C48294601F0E1FE3A4804210122A5
:1007C40001F023FF00240223029435488DF80830F9
:1007D400072103230C228DF80930019401F01AFF3C
:1007E40080232F480193294601F0C8FE022C04D02F
:1007F4002C48A1B20C2201F00DFF0134102CF5D1CC
:100804004FF6FB7327480193294601F0B7FE0226F1
:100814003146013624480C22B6B201F0FBFE102EFC
:10082400F6D14FF6FC7329461F48019301F0A6FE4A
:10083400042100221B481E4D01F0E7FE0A2001F0AE
:1008440067FC01220421174801F0DFFE1E2001F09D
:100854005FFC0120014602F071F80FCD03AC0FC418
:1008640095E8070084E80700402200210AA802F066
:100874000EFA02230B9308230C934FF48053129324
:100884004FF4005313930AA803AB18930D9601F089
:10089400FBFD0020012101F061FE1AB070BD00BF14
:1008A40000040240000C024000100240A42C000886
:1008B400AC2C00080D4B98221A80A3F68A231B88BF
:1008C400DBB2512B0CD10A4B1B88DBB2522B07D164
:1008D400084B1888C0B2A0F159035842584100E0AF
:1008E4000020024BF0221A80704700BFAA0A006061
:1008F400220000602400006002460B4604205021C0
:1009040000F045BE02460B460420502100F054BEC0
:10091400032873B50E4603D0042804D001F086FBE7
:1009240014241C4D01E01C4D162420460DF1070132
:10093400FFF7E2FF08B900202AE02B78AEB10BB133
:10094400013323E09DF8071021F0060141F0020174
:1009540020468DF80710FFF7D5FF0028EBD00124BF
:1009640003202C7001F0D9FB11E05AB2012A0CDCEF
:100974009DF80710204601F0F9018DF80710FFF7E4
:10098400C1FF0028D7D02E7001E0013B2B7001205D
:1009940002B070BD180000201900002073B525486E
:1009A40000F08EFA02254FF410730024012621482A
:1009B400009369468DF804508DF805508DF8066053
:1009C4008DF8074001F0DAFD1A480621042201F0EF
:1009D40021FE04220921174801F01CFE154800F0ED
:1009E40087FA154800F06CFA42F20C036946124883
:1009F40000938DF805508DF804608DF806408DF84D
:100A0400074001F0BBFD0C4800F072FA042000F02E
:100A140057FD20466946FFF76FFF9DF80050B54229
:100A240005D103202946FFF773FF284600E020463E
:100A340002B070BD000402400014024010B5044628
:100A4400042000F03DFD21460420FFF761FF04204F
:100A5400BDE8104000F066BD38B5074C0546204699
:100A640000F02EFA20462A46042101F0CEFD20464D
:100A7400BDE8384000F03CBA0014024038B5074CD9
:100A84000546204600F01CFA20462A46082101F0BB
:100A9400BCFD2046BDE8384000F02ABA00140240EC
:100AA40038B5094C04EB00146568284600F008FAD0
:100AB4002189284601F0A3FD0446284600F018FACF
:100AC400B4FA84F0400938BDC82C000838B50024B5
:100AD4002546E0B2FFF7E4FFA04001340543042CAF
:100AE400EDB2F6D1284638BDF7B54FF48040012168
:100AF400134C01F03BFF04F140076568284600F001
:100B0400DFF9684601F072FD02238DF80530A37BFE
:100B14008DF807302846A3680093694600268DF8AF
:100B24000460103401F02AFD284600F0E1F9BC42CB
:100B3400E3D14FF48040314601F018FF03B0F0BD1B
:100B4400C82C000808B5054B1B781BB90448322192
:100B540001F062FABDE8084001F0D6BB1A0000209B
:100B640002300008124B1B7870B505460C461BB9C1
:100B74001048382101F050FA032906D98E0831466D
:100B8400FFF7E0FFB6003544A41B6CB12B462C44A0
:100B94000020A34204D013F8012B42EA0020F8E716
:100BA400BDE8704001F0AABBBDE8704001F0BABBDB
:100BB4001A00002002300008024B1A780AB90122F8
:100BC4001A7070471A00002008B5084B1A781AB931
:100BD40007482B2101F020FA01214FF4805059706D
:100BE40001F0A0FEBDE8084001F082BB1A0000201D
:100BF4000230000808B5074B1A781AB90648512183
:100C040001F00AFA002159704FF48050BDE8084001
:100C140001F088BE1A0000200230000870B50C46AE
:100C24000546A608FFF7D0FF28463146FFF78AFF9E
:100C340004F0030105EB8600FFF794FF0446FFF779
:100C4400D9FF204670BD70B5A0B00D460646FFF72B
:100C5400BBFF2C467119802CA1EB0401684608D90E
:100C64008022FFF791FD68462021FFF76BFF803C4F
:100C7400F0E72246FFF788FD21466846FFF772FF3A
:100C84000446FFF7B7FF204620B070BD0A4B1B781F
:100C940010B504467BB10948402101F0E7FF002864
:100CA400F9D00648214601F0DDFF0448402101F057
:100CB400DDFF0028F9D010BD1C00002000480040D2
:100CC4002DE9F043334D83B06C6804F12E0323F017
:100CD400070300AFADEB030D50238DF80030212343
:100CE4008DF8013000238DF8023003238DF8033092
:100CF40004F121035BBAADF80430274B04F1270853
:100D04006E460DF1060203F11C0153F8040B42F880
:100D1400040B8B42F9D11B78137004F1230922468A
:100D240006F123001D4901F0A7FF31464A46002081
:100D340001F0CEF907F1080304F5927443F8040DA9
:100D4400186846F80900FE23B4FBF3F34344073361
:100D540023F00703ADEB030D31464246684601F02C
:100D64008FF904465520FFF791FF6E466C44A64266
:100D740007D016F8010B552808BF0020FFF786FF9F
:100D8400F5E75520FFF782FF00230C376B60BD4663
:100D9400BDE8F0831C000020102D00082400002072
:100DA4002DE9F041274C86B0204600F089F84FF435
:100DB4008020012101F0CEFD20460A21072201F006
:100DC40029FC06AE072220460B2101F023FC4FF438
:100DD400806346F8183D002501274FF0020820469D
:100DE40031468DF806508DF807708DF804808DF823
:100DF400058001F0C3FB4FF40063204631460093A5
:100E04008DF8048001F0BAFBADF80C50ADF80E502B
:100E1400ADF81050ADF814500B4D0C4B029328460E
:100E24000C2302A9ADF8123001F0B6FE284639466B
:100E340001F00CFF204600F05BF8054B1F7006B074
:100E4400BDE8F081000802400048004040420F0025
:100E54001C00002038B50C4B1A781C469AB1451E6C
:100E640015F8012F7AB163680749FF2B0BD80A2ABA
:100E740002D1FFF725FFF3E70D2A1FBF581C5B18AB
:100E840048601A72ECE738BD1C00002008B5054B19
:100E94001B782BB1FFF7DEFFBDE80840FFF710BF5A
:100EA40008BD00BF1C0000201FB50C2201A901F0E1
:100EB4004AF901A8FFF7CEFF05B05DF804FB000076
:100EC40000F13F4000F57E00C0F3872008280AD8CF
:100ED400054A135C591C11542BB9044901230A6BAC
:100EE400834013430B637047240100200038024001
:100EF40000F13F4000F57E00C0F3872008280DD89C
:100F0400074A135C53B1013BDBB2135433B90549AF
:100F140001230A6B834022EA03030B63704700BF7B
:100F2400240100200038024002460068838823F42C
:100F3400E0631B041B0C838003889BB243F400739F
:100F4400038008230020517513751076704737B558
:100F540004460D46FFF7B4FF0023204669468DF88A
:100F640004308DF805308DF80730009501F006FB4C
:100F74002046FFF7BDFF03B030BD000010B50B4C99
:100F8400342300FB0344236B7BB10A2001F0C5F832
:100F94006068A168FFF7DBFF20696169FFF7D7FF8D
:100FA400236B0120BDE81040184710BD302D000808
:100FB400F7B5044616460F461D46FFF781FF02218A
:100FC40001238DF804108DF805108DF806302046A5
:100FD400002369468DF80730009701F0CFFA2046C8
:100FE40031462A4601F016FB2046FFF781FF03B085
:100FF400F0BD0000027D082A10B5044607D102683E
:10100400938823F4C0631B041B0C938084E0434B3C
:10101400006803EB8203996E01F0CCFB00287BD0BF
:10102400237D072B72D8DFE803F0040B1921323B30
:101034005A6E237A226803F0FE03138201232DE003
:101044002268A37A1382637A0BB1022326E0938881
:101054009BB243F48063938006231FE022681388C5
:101064009BB243F480731380032317E0237A22682E
:1010740043F001031382E37A012B01BF138823F4A5
:1010840080631B041B0C08BF1380042306E0226842
:1010940093889BB243F480639380052323753BE0DC
:1010A40023682269198A237BD154237BE27A013392
:1010B400DBB2591C9142237307D12268138823F4AD
:1010C40080631B041B0C138026E0934224D1226806
:1010D400938823F480631B041B0C938013E0237B0D
:1010E40021692268CB5C1382237BE17A0133DBB272
:1010F4009942237310D1938823F480631B041B0C3F
:1011040093800723CAE72046012101E020460021FD
:10111400BDE81040FFF708BF002010BD302D0008C7
:101124007FB51D4D1C2303FB005306461B790BB9E9
:10113400FFF724FF194C342306FB03446068A168BD
:10114400A289A37BFFF734FF228BA37E2069616908
:10115400FFF72EFFE069012101F0FCFB684601F076
:1011640003FB0F4A236A009393424FF48063ADF864
:101174000A304FF01C0384BF626AADF8062003FBFB
:1011840006F46946285901F085FA2859012101F02D
:10119400F9FA04B070BD00BF30010020302D000802
:1011A400A086010073B504460E460025FFF788FEAD
:1011B4000123204669468DF8043000968DF80550C9
:1011C4008DF8075001F0DAF92046B1B22A4601F051
:1011D4001CFA2046FFF78CFE02B070BD10B5094C16
:1011E400342300FB0344236B5BB100209847606801
:1011F400A168FFF7D7FF20696169BDE81040FFF7D8
:10120400D1BF10BD302D00081C23104A434370B5D4
:1012140005460F4CD058D61801F00EFA342305FBBE
:1012240003440021E06901F095FB337923B9284692
:10123400BDE87040FFF7D2BF6068A168FFF787FE82
:1012440020696169BDE87040FFF781BE300100206C
:10125400302D00082DE9F347504C9A4694F8383065
:10126400884691461BB94E4840F2951104E0042883
:1012740004D94B484FF4CB7100F0CEFE494B1844CF
:101284001C2590F88860754363191B790BB90020FD
:1012940081E063591B8B9F0716D41C2070432718C9
:1012A40000259DF828300B9A87F8089087F80AA043
:1012B40087F80980FB723D733D753A61FD822058C1
:1012C400012101F06BFA2AE03046FFF79DFF30461A
:1012D400FFF726FF6159344B0A8B9007DDD5013B9C
:1012E400FAD1D4E71C2303FB06431B7E23B1019BE5
:1012F4005A1E0192002BF5D11C2303FB0643002246
:101304001A76019903F1100239B3117908291AD117
:1013140055791C2303FB06431B7D082B2BD01C2370
:101324007343E018E1580A8892B242F480720A804A
:10133400E25893889BB243F440739380012303766D
:10134400194B0193D3E7D188B1F57A7F05D20131E6
:10135400D180012000F0E1FEDBE719688B8823F4DB
:10136400E0631B041B0C8B800B889BB243F400735B
:101374000B80082313711C237343E1580A4B0A8B17
:10138400920707D5013BFAD13046FFF73DFF3046BF
:10139400FFF7C6FE284602B0BDE8F0873001002002
:1013A40008300008302D000880841E00017D036889
:1013B400082906D19A8822F480721204120C9A80A9
:1013C40038E09A8A120541BF9A8A22F40062120414
:1013D400120C48BF9A829A8AD20541BF9A8A22F493
:1013E40080721204120C48BF9A829A8A52051ED542
:1013F4009A8A22F480621204120C04299A820AD175
:10140400032202759A8822F4E0621204120C9A8074
:10141400002303760EE0012909D19A8822F4E062C0
:1014240012040021120C01759A80017602E0002159
:10143400FFF77ABD002070472DE9F3411D4C1E4E85
:1014440000251E4F56F8283C44F8043C1C2202FB9D
:1014540005720023237013760822227432788DF8E3
:1014640004204FF001080C2201A82372E371E36009
:101474008DF805208DF806308DF8078000F002FF06
:1014840073788DF8043001A800F0FCFE54F8040CC5
:1014940001F0D2F8454504F11C0406F1340601D0EC
:1014A4004546CEE7284687F83850FFF797FE02B046
:1014B400BDE8F08134010020582D000830010020DF
:1014C40073B5144C94F838200346254622B91248C3
:1014D40040F2331100F0A0FD042807D90522009240
:1014E4000D480E4A40F2351100F08AFD0C4A1344AF
:1014F40093F888401C2303FB04521E46127912B948
:101504002046FFF70DFE06FB0454237901332371B3
:1015140002B070BD30010020083000080E30000811
:10152400302D0008104A08B592F838301BB90F481E
:1015340040F2451104E0042804D90C484FF4A37187
:1015440000F06AFD0A4B18441C2390F8880003FB42
:10155400002213793BB1013BDBB213711BB9BDE827
:101564000840FFF751BE08BD3001002008300008D4
:10157400302D000837B50D4614460093069B0193A1
:1015840001212A462346FFF765FE03B030BD07B5A7
:1015940000930123FFF7EEFF03B05DF804FB37B5BA
:1015A4000D4614460093069B019300212A462346C8
:1015B400FFF750FE03B030BD1FB504AC04F8013D85
:1015C40001230094FFF7EBFF04B010BD0148FFF7BF
:1015D40011BD00BF300100200148FFF7E7BE00BF86
:1015E400300100200148FFF705BD00BF4C01002079
:1015F4000148FFF7DBBE00BF4C010020FFF71EBA15
:1016040030B585B004460D46684601F047F90DB97A
:10161400029805E0012D01D1039801E000F006FDD8
:10162400B4EB500F0ED8B0FBF4F000F080FD0028AE
:1016340002DC0748272103E0082804DD04482821A8
:1016440000F0EAFC01200138C00080B205B030BDD2
:101654003A300008B0F1006F10B504460BD20C48C4
:10166400FFF7F8FB2046FFF71FFC0A48FFF7F2FBE1
:101674004FF0FF3010BD084B002053F8042BA2425A
:1016840002D81A68944202D301300B28F5D110BD58
:10169400B230000840300008C02D00082DE9F8439E
:1016A40006462A480C4617469846FFF7D3FB3046B1
:1016B400FFF7FAFB2648FFF7CDFB2046FFF7F4FBC4
:1016C4002448FFF7C7FBD4B33046FFF7C3FF0546F2
:1016D400601E3044FFF7BEFF002D814632DB002838
:1016E40030DB461B01361FB1002031464246B84765
:1016F40000F02AFE2C464C451FDCF32000F03AFE95
:10170400154B002133F8140000F06CFE09280BD0AF
:101714001248FFF79FFB2046FFF7C6FB1048FFF770
:10172400B5FB00F01FFE0DE02FB1C5F10100204410
:1017340031464246B8470134DDE700F013FE01208C
:10174400BDE8F8830020BDE8F88300BF5B300008E3
:101754006F30000872300008F02D00087630000861
:10176400C43500082DE9F0470646234814460D46C3
:101774001F46FFF76FFB3046FFF796FB1F48FFF746
:1017840069FB2046FFF790FB1D48FFF763FB00F061
:10179400DBFDF32000F0EEFD4FEAD41805EB04095D
:1017A4002C464C45C5EB040A20D0701B204414F889
:1017B400011B00F04DFE09280DD01248FFF74AFB2B
:1017C4003046FFF771FB1048FFF760FB00F0CAFDDD
:1017D4000020BDE8F087002FE3D01AF07F0FE0D19E
:1017E4004FEADA104146089AB847DAE700F0BAFD42
:1017F4000120BDE8F08700BF8E3000086F3000087C
:1018040072300008A2300008C435000808B545F25B
:10181400555000F0DDFF042000F0E0FF40F6FF70BB
:1018240000F0E2FF002000F0D3FF4FF480500121CC
:10183400BDE8084000F07CBD08B500F0E3FFBDE85A
:10184400084000F0D7BF08B57D2001F0D7F800307C
:1018540018BF012008BD4900FEF76EBF4B0803EB1B
:101864005000FEF769BF000070B586B00546FFF76B
:10187400A3F901210020FEF75FFF042000F020FB04
:1018840003A8294600F06EFB03A800F07AFB08B910
:1018940028480BE02848FFF7F9FA05F10C000499F1
:1018A400FFF7D1F9059B984204D02448FFF7EEFADC
:1018B40001203DE0049C2248FFF7E8FA2146214A32
:1018C40021480023FFF7EAFE049E2048FFF7DEFAD2
:1018D400002405F1C0411E4B009432460C311A48D5
:1018E400FFF740FF1B48FFF7B5FA0498FFF7DCFA4F
:1018F4001948FFF7AFFA04991348FFF78FF9054623
:101904001648FFF7A7FA0598FFF7CEFA1448FFF731
:10191400A1FA2846FFF7C8FA1248FFF7B7FA059B61
:101924009D4204D01048FFF7B1FA022000E020469F
:1019340006B070BDBB300008D9300008F63000088E
:10194400193100085B180008004000082C31000819
:10195400611800083F3100084D3100085631000875
:1019640069310008C43500086F31000808B5022049
:1019740000F0BEFAD8B3042000F0BAFA70B11C48E3
:10198400FFF784FA042000F0A7FA022000F0A4FA7A
:101994004FF40040BDE8084000F09EBA1548FFF738
:1019A40075FA082000F098FA102000F095FA20202B
:1019B40000F092FA402000F08FFA4FF48010FFF705
:1019C40053FF022807D1082000F07AFA102000F013
:1019D40077FA00F04DFB042000F07EFA022000F0BC
:1019E4007BFA4FF40040BDE8084000F069BA08BD36
:1019F400BA310008F031000810B52548FFF746FA5F
:101A04004FF40010FFF730FF10B102283AD809E074
:101A1400202000F061FA402000F05EFA802000F0FF
:101A24004FFA2FE0082000F04BFA102000F048FA9B
:101A3400202000F05DFA20B91648FFF727FA20208D
:101A440007E0402000F054FA58B91348FFF71EFA93
:101A5400402000F035FA4FF4007000F031FA00F045
:101A640007FB0E48FFF712FA082000F035FA1020A1
:101A740000F032FA202000F02FFA402000F02CFA77
:101A8400002400E00124042000F026FA204610BDC2
:101A94000B320008253200085E3200089732000835
:101AA40008B50248FFF7F2F900F0E7FAD13200086E
:101AB4001EF0040F0CBFEFF30880EFF30980FFF76B
:101AC400EFBF70471FB504461048FFF7DFF901A9BF
:101AD4000C22204600F037FB01A8FFF7D7F9204677
:101AE400FEF742FEFEF7F2FF094B20F004001870E7
:101AF4001C46FEF7EBFF237800F0FB00834201D085
:101B040000F0B6FA0A2000F008FBF2E7C73200083A
:101B1400690100207FB54FF08050012100F01AFFC9
:101B2400022000F07DFE012807D1022000F082FE91
:101B3400BC48FFF7ABF900F0A0FA00214FF0805049
:101B440000F008FFFFF72CF9B748FFF79FF9B748F3
:101B5400FFF79CF9B648FFF799F9B648FFF796F9ED
:101B6400B548FFF793F9B548FFF790F9B448FFF784
:101B74008DF9B448FFF78AF9B348FFF787F9B348FA
:101B8400FFF784F9FFF758FCFEF708FF00F0BAF9F5
:101B940000F0D0F900210C2201A801F078F800F03F
:101BA400C5F901A90C2200F0CEFA01A8FFF76EF9DD
:101BB4009D48FFF76BF99C48FFF768F94FF48040A4
:101BC40000F096F990B1A248FFF760F94FF4804015
:101BD40000F082F9082000F07FF9102000F07CF971
:101BE400202000F079F9402000F076F9FEF7D0FDCE
:101BF400FEF77AFFFEF746FDFEF7FEFA08B19548B8
:101C040003E0FEF73DFB10B19348FFF75BFF00F0E4
:101C14008CF9802000F06CF918B1802000F05CF998
:101C240056E04FF4003000F063F9044620B14FF45D
:101C3400003000F051F94DE00120FEF731FFB0B162
:101C44002046FEF72DFF90B18448FFF71FF941F2BB
:101C540088340120FEF724FF98B10020FEF720FF0E
:101C640078B1012000F059FA013CF2D132E07C4B0A
:101C74000CCB013301D0013203D17A48FFF706F9C6
:101C840028E0FFF7E0FD48B3FFF7DDFD10B176482B
:101C9400FFF7FCF84FF4007000F02AF910B1734814
:101CA400FFF7F4F84FF4007000F016F9102000F07C
:101CB4001FF9002800F0F0806D48FFF7E7F80820CE
:101CC40000F00AF9102000F007F9FFF795FE98B923
:101CD40068489AE76848FFF7D9F8F6E74FF40070C8
:101CE40000F006F90028CFD1082000F0F5F8102004
:101CF40000F0F2F8FFF73AFE4FF4005000F0F8F865
:101D040004464FF4805000F0F3F8400040EA8400A9
:101D1400C4B24FF4006000F0EBF82043C0B20728CF
:101D2400C3B20DD14FF4006000F0D6F84FF48050E8
:101D340000F0D2F84FF4005000F0CEF84F4864E7BA
:101D44000133DBB2023B4FF40060052B11D8DFE80E
:101D540003F00C1003100C1000F0BEF84FF4805088
:101D640000F0BAF84FF4005003E000F0B5F84FF477
:101D7400805000F0A5F8FFF749FDFFF75DFD384BF3
:101D84003F485D681E68FFF765F82846FFF78CF842
:101D94003C48FFF75FF80022930003F1604303F52A
:101DA400614301324FF0FF31082AC3F88010C3F8B1
:101DB4008011F1D1344B4FF4801200241A635C6318
:101DC4009C631C645C6400F045FD3048012100F014
:101DD400D9FD21462D4800F0D5FDF120012100F068
:101DE400DDFD2146F12000F0D9FD0120014600F07F
:101DF400E1FD2146012000F0DDFD2548012100F030
:101E0400E5FD2146224800F0E1FD2248012100F0D1
:101E1400E9FD2048214600F0E5FD63B64FF0FF3EA2
:101E2400B5462847DC320008C4350008E93200080A
:101E340000330008193300084733000876330008DC
:101E4400A6330008D7330008093400083B340008DF
:101E54006C340008014550FE024550FE99340008D8
:101E640000400008CB340008DE340008F6340008D3
:101E740016350008034550FE8A350008044550FE17
:101E8400A9350008BD350008003802400010E022E2
:101E9400FFC9FEF6337F7704082000F029F820B14B
:101EA4000548FEF7F3FF102003E00448FEF7EEFFB9
:101EB400082000F005F81DE73E35000864350008E9
:101EC40010B50446002000F0BDFD40EA04010020E6
:101ED400BDE8104000F0A6BD10B50446002000F097
:101EE400B1FD20EA04010020BDE8104000F09ABDD5
:101EF40010B50446002000F0A5FD204214BF0120C7
:101F0400002010BD08B54FF08050012100F022FDE3
:101F1400012000F07FFC0120FFF7EAFF20B9012136
:101F2400BDE8084000F07EBD08BD7047022000F007
:101F340089BD000008B5FFF7F9FF054B1968884211
:101F440004D00220BDE8084000F06CBD08BD00BF0D
:101F54008401000808B50248FEF798FF00F088F8ED
:101F6400C53500081FB504460C2201A8FEF70CFC79
:101F740001AB03CB20601868A0602046616004B008
:101F840010BD0068A0F10C0358425841704700008E
:101F940080B50646174610480D461C46FEF75AFF04
:101FA4003846FEF757FF0D48FEF754FF3046FEF75C
:101FB40051FF0B48FEF74EFF2846FEF775FF2CB184
:101FC4000848FEF747FF2046FEF744FF0648FEF7A1
:101FD4005DFFFFF7BFFF00BFE2350008EB350008E7
:101FE400EE350008EC350008C43500081FB506AA14
:101FF40052F8044B039200921A462346FFF7C8FF97
:102004000CB41FB506AA52F8043B03920092014A8D
:10201400FFF7BEFFF035000807B5002300937246B2
:10202400014BFFF7E3FF00BFF7350008744608B51E
:102034000548FEF70FFF2046FEF736FF0348FEF77C
:1020440025FFFFF787FF00BFFF350008C4350008F0
:10205400BFF34F8F0449054BCA6802F4E06213438F
:10206400CB60BFF34F8FFEE700ED00E00400FA05FC
:1020740008B5FEF781FBFFF7EBFF08B5FFF7E8FFB4
:10208400F0B50646002401202546034694421DD09F
:1020940011F804C000F1010EBCF1000F03D1735517
:1020A400774605460DE00133DBB2FF2B774606F891
:1020B40000C007D102F1FF3C644506D07355871C6C
:1020C4007546012301343846E0E770467355F0BD88
:1020D40030B5C9B1C0430A44914213D011F8013B51
:1020E4000A4D83EA000404F00F0455F8244084EAFE
:1020F400101080EA131303F00F0355F8233083EA1A
:102104001010E9E7C04330BD084630BD082E000872
:10211400162358430138FDD1704710B504462CB13D
:102124004FF47A70FFF7F4FF013CF8E710BD10B5E7
:10213400B0FA80F400F027F801280CBFC4F11F00A6
:10214400C4F1200010BD0A2A10B51BDD0C46302353
:1021540004F8023B78234B701C220F239340034066
:10216400D340092B01D8303302E00F2B02D8573368
:10217400DBB200E02023043A04F8013B131DECD148
:1021840000238B7210BD00F0AA33A0EB530000F0C3
:10219400CC3300F0333000EB930000EB101000F070
:1021A4000F3000EB102000EB104000F03F007047B0
:1021B4002D4AD2F8883043F47003C2F888302B4B90
:1021C4001A68002142F001021A6099601A6822F02C
:1021D400847222F480321A60254A5A601A6822F402
:1021E40080221A60D9601A6C224942F080521A6423
:1021F4000A6842F440420A609A689A609A689A604F
:102204009A6842F480529A601B4A5A601A6842F0F3
:1022140080721A601968154A8901FBD5174B40F280
:1022240003611960936823F003039360936843F098
:10223400020393600D4B9A6802F00C02082AF9D14C
:102244009A6822F400029A600D4AC3F884201A683E
:1022540042F080621A60054B1B681B01FBD5024BE0
:102264004FF000629A60704700ED00E000380240D1
:1022740010300024007000401040010F003C024068
:1022840000300050C278037810B512B3164AD168F2
:102294004278C943C1F30221C1F10404E4B2A2406B
:1022A400D4B20F220A4181780A40224303F16043E9
:1022B40003F561431201D2B283F8002303780122AB
:1022C400590903F01F0302FA03F3084A42F82130C4
:1022D40010BD5A09012103F01F03994002F12003A4
:1022E400024A42F8231010BD00ED00E000E100E0D6
:1022F400014B01229A60704700300240014B186084
:10230400186870470030024000EB81018842044B9A
:1023140003D050F8042B1A60F8E71868704700BF20
:1023240000300240014B1868704700BF0030024083
:10233400044B9A6809B1104301E022EA0000986056
:10234400704700BF002004E0044B1A69002ABFBF95
:10235400034A5A6002F188325A607047003C0240D6
:1023640023016745024A136943F000431361704730
:10237400003C0240014BD860704700BF003C024063
:102384000E4BDA68D20310D4DA68D1060FD4DA68B7
:10239400D2050ED4DA6812F0EF0F0CD1DB6813F01B
:1023A400020F14BF0820092070470120704706203F
:1023B4007047022070470720704700BF003C02406E
:1023C40007B509238DF80730FFF7DAFF8DF807000A
:1023D4009DF80730012BF7D09DF8070003B05DF896
:1023E40004FB000070B5064641B1012908D002295A
:1023F4000CBF4FF400754FF4407503E00D4601E047
:102404004FF48075FFF7DCFF09281ED10F4C2369B8
:1024140023F440732361216929432161236923F053
:10242400F8032361236943F002031E4326612369F1
:1024340043F480332361FFF7C3FF236923F00203CE
:102444002361236923F0F803236170BD003C02403B
:1024540070B505460E46FFF7B3FF092811D1094CA4
:10246400236923F44073236123692361236943F0BF
:10247400010323612E70FFF7A3FF236923F00103F7
:10248400236170BD003C024070B543688668856A6C
:102494000468416B46EA0302C3681A4303691A439A
:1024A40043691A4383691A43C3691A43036A1A4383
:1024B400436A1343C26A2B431A43036B1343A200B8
:1024C40002F120420B43082E136002BF136843F04D
:1024D40040031360B1F5801F816B12D18CB14FF0B2
:1024E40020435C681E6846F480161E601E6846F42D
:1024F40080761E600E6924F47004013E44EA06549A
:102504005C608C690B6823434C6843EA04138C6851
:1025140043EA0423CC6843EA04430C69496943EA67
:10252400045343EA0163B5F5804F536010D1C16B86
:1025340088690B680343486843EA0013886843EAE0
:1025440000230869496943EA005343EA016301E04F
:102554006FF07043C2F8043170BD0000800000F1D8
:10256400204019B1036843F0010302E00268024B02
:1025740013400360704700BFFEFF0F00F0B50E6804
:1025840000220123934003EA060E9E452AD15500FA
:1025940003230468AB40DB431C4004600C790768E8
:1025A40004FA05FC013C4CEA0707012C076011D82A
:1025B40084684F791C4084608468AF4027438760F7
:1025C400446824EA0E0444608C7947689440A4B2B9
:1025D4003C434460C4682340C360CB79C468AB40C7
:1025E4002343C3600132102ACBD1F0BD4FF6FF73F1
:1025F40003600023037143718371C37170470369DE
:10260400194214BF0120002070470AB101837047AA
:102614004183704701F00703C90800EB810010B53E
:102624009B00046A0F21994024EA01010162016AB6
:102634009A401143016210BD08B5134B984207D16B
:102644004FF40010012100F0C1F94FF4001014E020
:102654000E4B984207D14FF48000012100F0B6F9E7
:102664004FF4800009E00A4B98420BD14FF400006C
:10267400012100F0ABF94FF400000021BDE808404F
:1026840000F0A4B908BD00BF005400400058004049
:10269400005C00407FB5868826F03F060446360479
:1026A40068460D46360C00F0F9F8029A2C48B2FB45
:1026B400F0F081B20E43A68023882A4E23F0010352
:1026C4001B041B0C23802B68B3420AD85B00013126
:1026D400B2FBF3F39BB2032B89B298BF042321848A
:1026E40023E0EE884BF6FF718E421BBF19214B434A
:1026F40003EB4303B2FBF3F315BF9BB2B2FBF3F35B
:1027040043F480439BB2C3F30B020AB943F00103C1
:102714004FF4967101FB00F24FF47A7192FBF1F2DF
:10272400013292B243F400432284A383238869894B
:10273400AA889BB243F001032380238823F4816396
:1027440023F002031B040A431B0C13439BB2238094
:102754002A89AB8913439BB2238104B070BD00BFA7
:1027640040420F00A086010041F288330360002339
:1027740083804BF6FF72038143814FF48043C28010
:1027840083817047038819B19BB243F0010303E0CE
:1027940023F001031B041B0C03807047038819B149
:1027A4009BB243F4806303E023F480631B041B0C9B
:1027B40003807047838A9AB2038B10B542EA0343BD
:1027C40021F07F4404EA0300431A5842584110BDE3
:1027D400014B1860704700BF00300040014B586047
:1027E400704700BF00300040014B9860704700BF45
:1027F40000300040024B4AF6AA221A60704700BF1C
:1028040000300040024B4CF6CC421A60704700BFC7
:1028140000300040014B1860704700BF20000E429A
:10282400034B5B68184214BF01200020704700BFAF
:1028340000700040064BB0F5402F15BF1A685A6867
:1028440042EA800042F4402214BF18605A60704784
:10285400007000400E4B1A68002142F001021A6019
:1028640099601A6822F0A85222F410221A60094AC8
:102874005A60094AC3F8842002F18062C3F88820B0
:102884001A6822F480221A60D960C3F88C10704749
:102894000038024010300024003000201D4A9368A4
:1028A40003F00C03042B10B503D0082B03D01A4BF0
:1028B40018E01A4B16E05168536811F4800F03F0C6
:1028C4003F03516814BF154A134AB2FBF3F3114A8C
:1028D4005268C2F30142C1F3881101324B435200E2
:1028E400B3FBF2F30B4A036093680D49C3F303137C
:1028F400CC5C0368E34043609468C4F382240C5DB9
:1029040023FA04F484609268C2F342328A5CD340AE
:10291400C36010BD003802400024F40040787D01FB
:1029240001000020044B1A6B09B1104301E022EAB4
:1029340000001863704700BF00380240044B9A6BD4
:1029440009B1104301E022EA00009863704700BF18
:1029540000380240044B1A6C09B1104301E022EA2A
:1029640000001864704700BF00380240044B5A6CE2
:1029740009B1104301E022EA00005864704700BF27
:1029840000380240044B1A6909B1104301E022EAFD
:1029940000001861704700BF00380240044B5A69B8
:1029A40009B1104301E022EA00005861704700BFFA
:1029B40000380240044B9A6909B1104301E022EA4D
:1029C40000009861704700BF00380240044B1A6A47
:1029D40009B1104301E022EA00001862704700BF09
:1029E40000380240044B5A6A09B1104301E022EA5C
:1029F40000005862704700BF003802404209012AB3
:102A0400074B01D11B6803E0022A0CBF1B6F5B6FED
:102A140000F01F0023FA00F000F00100704700BF2F
:102A24000038024082B000230193054B0193019BBF
:102A340003EB80000190019B196002B0704700BF56
:102A44005028004082B000230193054B0193019B61
:102A540003EB80000190019B186802B0704700BF2F
:102A64005028004008B5254B984207D14FF48050B8
:102A74000121FFF7B7FF4FF4805039E0204B984213
:102A840007D14FF480400121FFF7A0FF4FF48040AD
:102A940009E01C4B98420BD14FF400400121FFF791
:102AA40095FF4FF400400021BDE80840FFF78EBFBA
:102AB400154B984207D14FF400500121FFF792FFC4
:102AC4004FF4005014E0114B984207D14FF480109A
:102AD4000121FFF787FF4FF4801009E00C4B984267
:102AE4000BD14FF400100121FFF77CFF4FF40010CD
:102AF4000021BDE80840FFF775BF08BD0030014064
:102B040000380040003C00400034014000500140C7
:102B14000054014003884A8810B503F441540B88DB
:102B240013438A881343CA8813430A8913434A897F
:102B340013438A891343CA89134323439BB20380F3
:102B4400838B23F400631B041B0C83830B8A038293
:102B540010BD0023038043808380C38003814381AD
:102B64008381C381072303827047038819B19BB211
:102B740043F0400303E023F040031B041B0C0380D9
:102B84007047808980B270478181704703891942F8
:102B940014BF0120002070477FB5038ACA889BB206
:102BA40023F440531343038283890E469BB223F4D8
:102BB400B053098923F00C02B3880B4371890B438A
:102BC4009BB213438381838AB2899BB223F44073FB
:102BD4001343838204466846FFF760FE1A4B9C4207
:102BE40003D003F580639C4201D1039D00E0029D64
:102BF400A38931681BB2002B4FF0190202FB05F2C6
:102C0400B4BF4D008D00B2FBF5F5A2896426B5FB77
:102C1400F6F00001010912B2002A06FB1153ADBF00
:102C24001A01D90032313232B5BFB1FBF6F2B2FB30
:102C3400F6F302F0070203F00F03B4BF1043184386
:102C440080B2208104B070BD00100140838919B1A5
:102C54009BB243F4005303E023F400531B041B0C06
:102C640083817047C1F3080181807047038819424A
:102C740014BF01200020704710B5431E0A4491423E
:102C840004D011F8014B03F8014FF8E710BD0244DA
:102C94000346934202D003F8011BFAE77047000091
:102CA4000400000001030000010000000100000016
:102CB40003000000010000000F0000000F000000EE
:102CC40000000000EE2F0008001802401000000071
:102CD40006040000F32F000800180240080000005A
:102CE40006030100F62F000800180240020000004D
:102CF40006010100FD2F0008001802400400000036
:102D040006020100000000000000000001424F4FD5
:102D1400544C4F414445520000000000002A2A0050
:102D2400000000000000000000000000005400400B
:102D340000040240400000000600040000040240B9
:102D4400000200000900040000002000801A0600B0
:102D5400004000001F2000000000000000000000F0
:102D6400005800400014024002000000010004006A
:102D740000140240010000000000040000004000B4
:102D8400801A0600FFBF000021220000000000009E
:102D940001160008010003008200070084000700F8
:102DA400010003000200030040000300800007004C
:102DB400840007000000010000000000000000087B
:102DC400004000080080000800C00008000001085E
:102DD40000000208000004080000060800000808BB
:102DE40000000A0800000C0800000E08000008009B
:102DF400100018002000280030003800400048006F
:102E040050005800000000006410B71DC8206E3B3D
:102E1400AC30D9269041DC76F4516B6B5861B24DDD
:102E24003C7105502083B8ED44930FF0E8A3D6D647
:102E34008CB361CBB0C2649BD4D2D38678E20AA0AF
:102E44001CF2BDBD537475636B20627574746F6E30
:102E540020726567697374657220697320696E7680
:102E6400616C69642C20636C656172696E672E0005
:102E7400427574746F6E206973207075736865642D
:102E840020617420626F6F740069636534306C7004
:102E94002E630043444F4E45206E6F74206C6F7751
:102EA40020647572696E672072657365740043529D
:102EB40045534554206E6F742068696768206475B3
:102EC40072696E6720726573657400446973706C0F
:102ED400617920627573792D776169742074696DE5
:102EE400656F757420657870697265642100436F3D
:102EF4006E6669677572696E672046504741206641
:102F0400726F6D2062697473747265616D20696E8D
:102F140020666C6173682E2E2E004E6F204650473B
:102F2400412062697473747265616D20696E2066F4
:102F34006C6173682E0046616C6C696E6720626117
:102F4400636B20746F204E56434D2E00465047410C
:102F54002043444F4E452074696D656F7574206538
:102F640078706972656421004650474120636F6E32
:102F740066696775726174696F6E206661696C65F4
:102F8400642E204973207468697320612062696724
:102F9400626F6172643F00465047412076657273E8
:102FA400696F6E3A2000446973706C617920696EB0
:102FB400697469616C697A656420616674657220FC
:102FC4000020726574726965732E00446973706CB5
:102FD400617920696E697469616C697A6174696F79
:102FE4006E206661696C65642E004261636B0055F6
:102FF400700053656C65637400446F776E00637290
:10300400632E63006932632E630049324320646592
:1030140076696365204944206F7574206F66206269
:103024006F756E647320256420286D61783A2025BD
:103034006429006F6E007370692E63002069732029
:103044006F7574736964652073797374656D206634
:103054006C6173680D0A0073797374656D5F666CD7
:103064006173685F657261736528002C2000290D07
:103074000A006661696C656420746F20657261730F
:103084006520736563746F72200073797374656D62
:103094005F666C6173685F77726974652800666146
:1030A400696C656420746F2077726974652061644B
:1030B40064726573732000496E76616C696420667E
:1030C40069726D7761726520646573637269707487
:1030D400696F6E2100436865636B73756D6D696E0E
:1030E40067206669726D77617265207570646174BA
:1030F4006500496E76616C6964206669726D7761FA
:1031040072652043524320696E2053504920666CF7
:10311400617368210065726173655F6F6C645F66DB
:1031240069726D776172650077726974655F6E6547
:10313400775F6669726D7761726500436865636B7A
:1031440073756D6D696E6720002062797465730D07
:103154000A00436865636B73756D202D2077616E7B
:10316400746564200020676F7420004F75722069B5
:103174006E7465726E616C20666C61736820636F37
:103184006E74656E747320617265206261642028B8
:10319400636865636B73756D206661696C6564292A
:1031A400212054686973206973207265616C6C799D
:1031B4002062616421004F75722070726576696FB8
:1031C4007573206669726D776172652075706461CC
:1031D4007465206661696C65642C2061626F727429
:1031E400696E67207570646174652E004E65772082
:1031F4006669726D776172652069732061766169B1
:103204006C61626C6521004C6F6164696E67207249
:1032140065636F76657279206669726D7761726530
:10322400004661696C656420746F206C6F61642072
:103234007265636F76657279206669726D77617203
:10324400652C20737472696B65206F6E652E205433
:10325400727920616761696E2E004661696C6564EC
:1032640020746F206C6F6164207265636F76657281
:1032740079206669726D776172652C207374726946
:103284006B652074776F2E205472792061676169B1
:103294006E2E004661696C656420746F206C6F61EA
:1032A40064207265636F76657279206669726D77E2
:1032B4006172652C20737472696B65207468726521
:1032C400652E2053414420574154434800484152FD
:1032D40044204641554C54006578697420737461E8
:1032E4006E64627900205F5F5F5F202020202020D1
:1032F4002020202020202020205F5F002F5C202021
:103304005F605C20202020202020202020202F27E8
:103314005F5F605C005C205C2C5C4C5C5F5C20202C
:1033240020205F5F5F202F5C205C2F5C205C2020CE
:103334005F5F20205F5F20205F5F20205F5F202091
:103344005F5F00205C2F5F5C5F5F205C20202F2785
:10335400205F20605C205C205C205C205C2F5C2073
:103364005C2F5C205C2F5C205C2F5C205C2F5C203D
:103374005C002020202F5C205C4C5C205C2F5C20B7
:103384005C2F5C205C205C205C5F5C205C205C200B
:103394005C5F2F205C5F2F205C205C205C5F5C20E6
:1033A4005C002020205C20605C5F5F5F5F5C205CD1
:1033B4005F5C205C5F5C205C5F5F5F5F2F5C205C18
:1033C4005F5F5F785F5F5F2F275C2F605F5F5F5F8A
:1033D400205C00202020205C2F5F5F5F5F5F2F5CFC
:1033E4002F5F2F5C2F5F2F5C2F5F5F5F2F20205C90
:1033F4002F5F5F2F2F5F5F2F202020602F5F5F5F85
:103404002F3E205C0020202020202020202020206F
:1034140020202020202020202020202020202020A8
:103424002020202020202020202020202020202098
:103434002F5C5F5F5F2F0020202020202020202091
:103444002020202020202020202020202020202078
:103454002020202020202020202020202020202068
:1034640020205C2F5F5F2F004C61737420666972AB
:103474006D7761726520626F6F742077617320735A
:103484007461626C653B20636C6561722073747255
:10349400696B657300486F6C6420646F776E2055A8
:1034A40050202B204241434B20666F7220352073FD
:1034B4006563732E20746F20666F7263652D626F6F
:1034C4006F7420505246004669726D7761726520B0
:1034D400697320657261736564005761746368641D
:1034E4006F6720636175736564206120726573651D
:1034F4007400536F667477617265206661696C75D8
:1035040072652063617573656420612072657365FB
:1035140074004661696C656420746F207374617211
:1035240074206669726D776172652C207374726998
:103534006B652074687265652E004661696C65640C
:1035440020746F207374617274206669726D776180
:1035540072652C20737472696B652074776F2E000A
:103564004661696C656420746F20737461727420A1
:103574006669726D776172652C20737472696B650C
:10358400206F6E652E00466F7263652D626F6F74D7
:10359400696E67207265636F76657279206D6F64FA
:1035A400652E2E2E00426F6F74696E6720666972F5
:1035B4006D77617265204020002E2E2E0D0A0D0AB3
:1035C40000536F667477617265206661696C757209
:1035D400653B20726573657474696E67210041539D
:1035E400534552543A20002020003A004153534599
:1035F4005254004153534552544E002A2A2A20570C
:103604005446200053544D33320053544D3332202A
:103614007065726970686572616C206C6962726150
:103624007279207472697070656420616E206173B0
:10363400736572740043524F414B204F4F4D00004D
:10364400FF0000000001020304010203040607084E
:043654000900000069
:04000005080001B43A
:00000001FF

File diff suppressed because it is too large Load diff

BIN
bin/boot/boot_v1_5@1447134832.bin Executable file

Binary file not shown.

File diff suppressed because it is too large Load diff

BIN
bin/boot/boot_v2_0@1447134832.bin Executable file

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -0,0 +1,901 @@
:020000040800F2
:100000005821012085010008C901000811170008C6
:10001000C9010008C9010008C9010008000000006A
:10002000000000000000000000000000C9010008FE
:10003000C901000800000000C9010008C90100084A
:10004000C9010008C9010008C9010008C901000868
:10005000C9010008C9010008C9010008C901000858
:10006000C9010008C9010008C9010008C901000848
:10007000C9010008C9010008C9010008C901000838
:10008000C9010008C9010008C9010008C901000828
:10009000C9010008C9010008C9010008C901000818
:1000A000C9010008C9010008C9010008C901000808
:1000B000C9010008C9010008C9010008F9100008B9
:1000C00005110008111100081D110008C9010008E0
:1000D000C9010008C9010008C9010008C9010008D8
:1000E000C9010008C9010008C9010008C9010008C8
:1000F000C9010008C9010008C9010008C9010008B8
:10010000C9010008C9010008C9010008C9010008A7
:10011000C9010008C9010008C9010008C901000897
:10012000C9010008C9010008C9010008C901000887
:10013000C9010008C9010008C9010008C901000877
:10014000C9010008C9010008C9010008C901000867
:10015000C9010008C9010008C9010008C901000857
:100160002911000835110008C9010008C90100085B
:10017000C9010008C9010008C9010008C901000837
:04018000C9010008A9
:10018400002103E00A4B5B584350043109480A4BF1
:1001940042189A42F6D3094A02E0002342F8043B8B
:1001A400074B9A42F9D301F06FFE01F0FBFA704756
:1001B400E03700080000002030000020300000205C
:1001C40054010120FEE7000037B5012002F074FA63
:1001D400002401902546E0B200F046F801AA08B9CF
:1001E40010551DE0135D042B0BDD174800F07EF95C
:1001F400019800F082F90120002102F04DFA00205C
:1002040020E00133DBB2042B135509D90F4800F069
:1002140055F9204600F071F90D4800F067F9012501
:100224000134042CD7D1019C3CB10A4800F046F9B2
:10023400204600F062F900F0D1F80120214602F0D6
:100244002BFA284603B030BD74310008A0310008F1
:10025400AB310008B531000808B500F0A7FB80F009
:100264000100C0B208BD000008B5054B03EB001344
:100274005868198901F067FF003018BF012008BDD4
:10028400FC28000838B500242546E0B2FFF7ECFF4F
:10029400A04001340543042CEDB2F6D1284638BD04
:1002A40073B50020014602F04FF80120002102F04E
:1002B4004BF80220002102F047F84FF4804001215E
:1002C400104C02F085F904F14006684601F032FF53
:1002D40002238DF80530A37B60688DF80730002574
:1002E400A3688DF8045069461034009301F0EAFEC7
:1002F400B442EAD14FF48040294602F069F902B0D1
:1003040070BD00BFFC28000810B504460848402111
:1003140002F0D8FA0028F9D00548214602F0CEFAB6
:100324000348402102F0CEFA0028F9D010BD00BFE6
:10033400001001402DE9F043DFF89890DFF8988031
:1003440087B01020012102F043F948460921072211
:1003540001F004FF07210A4606AD404601F0FEFE07
:100364004FF4007345F8183D00240226012748463F
:1003740029468DF806408DF807708DF804608DF8D5
:10038400056001F09FFE80234046294600938DF8C6
:10039400046001F097FEADF80C40ADF80E40ADF8E6
:1003A4001040ADF8144004F1804404F58834084B3F
:1003B400029320460C2302A9ADF8123002F018FA79
:1003C4002046394602F06EFA07B0BDE8F08300BF5C
:1003D40040420F0000000240000402402DE9F043B7
:1003E400334D83B02C6804F12E0323F0070300AFD0
:1003F400ADEB030D50238DF8003021238DF801302F
:1004040000238DF8023003238DF8033004F1210317
:100414005BBAADF80430274B04F127086E460DF1A2
:10042400060203F11C0153F8040B42F8040B8B423F
:10043400F9D11B78137004F12309224606F1230035
:100444001D4902F045FA31464A46002001F0C4FC39
:1004540007F1080304F5927443F8040D186846F88C
:100464000900FE23B4FBF3F34344073323F00703EB
:10047400ADEB030D31464246684601F085FC044667
:100484005520FFF741FF6E466C44A64207D016F88C
:10049400010B552808BF0020FFF736FFF5E755206C
:1004A400FFF732FF00230C372B60BD46BDE8F08315
:1004B40030000020442900083400002010B5441EF8
:1004C40014F8012F7AB108490B68FF2B0BD80A2ABC
:1004D40002D1FFF783FFF3E70D2A1FBF581C5B18F7
:1004E40008601A71ECE710BD3000002008B5FFF772
:1004F400E5FFBDE80840FFF771BF1FB50C2201A955
:1005040001F09AFC01A8FFF7D9FF05B05DF804FBE0
:10051400014608B5044802F062F90348022102F0DA
:1005240060F90028F9D008BD003800402DE9F047F3
:1005340007310733089E099F92464FEAD108DD0828
:1005440081460024B4420CD004EB0A03122000FBC1
:100554000380494638442A4602F0BAF90134A944D2
:10056400F0E7BDE8F087000008B54FF480400121B2
:1005740002F022F805484FF40071012201F0E9FD70
:100584000720BDE8084001F047BC00BF000402405A
:1005940008B5072001F040FC4FF400710648002222
:1005A40001F0D7FD042001F037FC4FF48040002116
:1005B400BDE8084002F000B800040240F8B5074660
:1005C400FFF7D2FF8020FFF7A3FF0024661C30BA98
:1005D40090FAA0F0C0B2FFF79BFF122303FB047450
:1005E4000025605D00BA90FAA0F00135C0B2FFF7B3
:1005F4008FFF122DF5D10020FFF78AFFA82E344675
:10060400E4D10020FFF784FFBDE8F840FFF7C0BF46
:1006140010B5ADF6D83D02AC204600214FF43D6242
:1006240002F061F91B238DE8180010214022692390
:100634000448FFF77BFF2046FFF7C0FF0DF6D83DC7
:1006440010BD00BF612900082DE9F043ADF6DC3D83
:1006540002AC00214FF43D620546204602F043F906
:100664002C238DE818002B48182120225C231C27FA
:10067400FFF75CFFBE460F23BB402B4023FA07F273
:10068400254B242101FB0233002202EBC20000F6B9
:10069400280013F802C020440021082907D00126AD
:1006A4008E4016EA0C0F14BF0126002603E09E18A4
:1006B400767806F0010686B101EB0E06F6B24FEA33
:1006C400D6094FF0010806F0070608FA06F610F8F6
:1006D400098046EA080600F8096001310929DCD1DD
:1006E4000232242AD1D10EF10B0EBEF1740FA7F100
:1006F4000407C0D10E238DE81800102190226D2329
:100704000648FFF713FF2046FFF758FF0DF6DC3DC0
:10071400BDE8F083DB2A0008EB2C00082B2F00082F
:1007240008B5FFF721FF0020FFF7F2FE0020FFF7D6
:10073400EFFE0020FFF7ECFEBDE80840FFF728BFFE
:10074400F0B5214B1A685E246043B0FBF1F4944287
:10075400ADF6DC3D34D002AD00214FF43D622846B5
:100764001C6002F0C0F81B238DE8280017481021F4
:1007740040226923FFF7DAFE08238DE82800144895
:1007840018216A226023FFF7D1FE002000F286714F
:1007940029440022A2420DD002F11903DBB2DF0882
:1007A400012603F0070306FA03F3CE5D3343CB556A
:1007B4000132EFE712306C28E8D12846FFF7FEFE3D
:1007C4000DF6DC3DF0BD00BF0000002061290008EB
:1007D400EF2F00082DE9F843224E234CDFF88C90CC
:1007E4004FF48040012101F0E7FE30460A21052242
:1007F40001F0B4FC04F10408052230460F2101F095
:10080400ADFC3046414601F05DFC01254FF4007318
:100814000027304641466360A6F5E6362572A77286
:1008240001F050FC414648462572A772656001F00C
:1008340049FC304601F050FF304604F10C0101F050
:10084400A3FF3046294601F0BEFF484629462A4602
:1008540001F07FFC39464FF48040BDE8F84301F0D5
:10086400ABBE00BF000402400000002000000240B4
:10087400F0B50746ADF2044D0E460C460025B919F5
:10088400B4F5806FA1EB040168460DD94FF4806282
:1008940000F0C4F8284669464FF4806201F09CFADF
:1008A400A4F580640546EAE7224600F0B7F8284636
:1008B4006946224601F090FA0DF2044DF0BD08B5E8
:1008C400202001F0DFFD0028FAD108BD08B5022080
:1008D40001F0D8FD0028FAD00220BDE8084001F05C
:1008E400DBBD00B58DB0684601F055FD00230093D3
:1008F4004FF4807368460A9335230B9301F07CFD13
:10090400FFF7E4FFFFF7DBFF0DB05DF804FB000029
:1009140030B5022095B0012101F042FE00242248A6
:100924000021204403220B460C3400F0C3F8482C69
:10093400F5D101A801F026FD10230024019301A89C
:10094400162305930294039404940694079401F0E7
:1009540031FD012001F074FDFFF7C3FF08A801F089
:100964001AFD4FF44075662308A813930894129552
:1009740001F042FDFFF7AAFF08A801F00CFD99233E
:1009840008A813930894129501F036FDFFF79EFF13
:1009940042F6E06001F040FAFFF7A3FF022021468F
:1009A40001F0FEFD15B030BD5030000830B5012116
:1009B4008DB0022001F0F4FD022001F055FD6846DF
:1009C40001F0E9FC4FF0806300934FF0407304930F
:1009D4004FF4407368460A93AF230B9301F00CFD68
:1009E400FFF774FF01F048FD054601F045FD04469C
:1009F40001F042FD240244EA004040EA0504FFF706
:100A04005EFF0220002101F0CBFD0348231A584267
:100A140058410DB030BD00BFC225370070B5154632
:100A24008CB004460E460220012101F0B9FD681E77
:100A340001F01AFD684601F0AEFC4FF080630093AC
:100A44004FF040730493042305934FF440630993D8
:100A54004FF440730A934FF40053089368460B23F2
:100A64000B9301F0C9FC304601F0F6FC2544AC427E
:100A740004D001F001FD04F8010BF8E7022001F0B5
:100A84000BFDFFF71CFF0220002101F089FD0CB0D3
:100A940070BD0000024A136B43F0FF0313637047F9
:100AA40000380240024A136B23F0FF0313637047BC
:100AB4000038024013B504464068009002208DF8C7
:100AC40004008DF805208DF8061020682189A27A8B
:100AD4008DF8073001F042FB2068694601F0F2FA14
:100AE40002B010BD02460068838823F4E0631B044F
:100AF4001B0C838003889BB243F400730380082398
:100B04000020517513751076704707B500230091C6
:100B140069468DF804308DF805308DF8073001F002
:100B2400D1FA03B05DF804FB10B50B4C342300FB81
:100B34000344236B7BB10A2001F073F96068A16858
:100B4400FFF7E3FF20696169FFF7DFFF236B0120F3
:100B5400BDE81040184710BD98300008027D082AEF
:100B640010B5044607D10268938823F4C0631B04BC
:100B74001B0C938084E0434B006803EB8203596BA6
:100B840001F0BCFB00287BD0237D072B72D8DFE863
:100B940003F0040B1921323B5A6E237A226803F0C6
:100BA400FE03138201232DE02268A37A1382637A61
:100BB4000BB1022326E093889BB243F480639380B5
:100BC40006231FE0226813889BB243F480731380CA
:100BD400032317E0237A226843F001031382E37AA4
:100BE400012B01BF138823F480631B041B0C08BF73
:100BF4001380042306E0226893889BB243F4806345
:100C04009380052323753BE023682269198A237B9B
:100C1400D154237BE27A0133DBB2591C9142237312
:100C240007D12268138823F480631B041B0C1380F0
:100C340026E0934224D12268938823F480631B0422
:100C44001B0C938013E0237B21692268CB5C138205
:100C5400237BE17A0133DBB29942237310D1938869
:100C640023F480631B041B0C93800723CAE72046EC
:100C7400012101E020460021BDE81040FFF732BF0A
:100C8400002010BD983000082DE9F341184C34239E
:100C940000FB0344236B43B300209847D4F804803B
:100CA400A668009600250127404669468DF8047021
:100CB4008DF805508DF8075001F004FAB1B22A46B8
:100CC400404601F046FA2669646900943046694654
:100CD4008DF804708DF805508DF8075001F0F2F985
:100CE4003046A1B22A4601F034FA02B0BDE8F081E0
:100CF400983000081C23104A434370B505460F4C36
:100D0400D058D61801F03CFA342305FB03440021E3
:100D1400E06901F051FC337923B92846BDE87040FD
:100D2400FFF7B2BF6068A168FFF7EFFE2069616951
:100D3400BDE87040FFF7E9BE340100209830000898
:100D44002DE9F04F344D1C2303FB005387B01B796E
:100D540007460BB9FFF7E8FE304B342407FB043495
:100D64000226D4F80490A389A26894F80EB00193E3
:100D74004FF001084FF0000A484602A902928DF88C
:100D84000C608DF80D608DF80E808DF80FA001F0C9
:100D940099F9019B484619465A4601F0DFF9D4F8FF
:100DA4001090238B626994F81AB00193484602A903
:100DB40002928DF80C608DF80D608DF80E808DF820
:100DC4000FA001F07FF9019B5A461946484601F0ED
:100DD400C5F94146E06901F0EFFB02A801F068FAA9
:100DE4000F4A236A029393424FF48063ADF81230A2
:100DF4004FF01C0384BF626AADF80E2003FB07F4B6
:100E040002A9285901F0EAF92859012101F05EFAF2
:100E140007B0BDE8F08F00BF34010020983000080F
:100E2400A08601002DE9F341414C9846237F0546F5
:100E34000E4617461BB93F484FF4BD7103E020B17D
:100E44003C4840F27B1100F079FF23790BB9002074
:100E54006AE023681B8B9B0711D49DF82030E37252
:100E64000025099B277284F80A806672257325750C
:100E74002361E5822068012101F034FA1FE0FFF7C5
:100E840039FF2846FFF75CFF22682B48138B99072C
:100E9400E3D50138FAD1DAE7227E22B1019A511E54
:100EA4000191002AF8D100222276019A204902B346
:100EB4000A7D082A13D14D7D237D082B26D0236873
:100EC4001A8892B242F480721A809A8892B242F4DA
:100ED40040729A8001222276174A0192DEE7CA8A7A
:100EE400B2F57A7F05D20132CA82012000F099FF5F
:100EF400E2E79A8822F4E0621204120C9A801A88BB
:100F040092B242F400721A8008230B7522680A4CCC
:100F1400138B9B0707D5013CFAD12046FFF7EAFE65
:100F24002046FFF70DFF284602B0BDE8F08100BF60
:100F340034010020F531000880841E00017D03681F
:100F4400082906D19A8822F480721204120C9A801D
:100F540038E09A8A120541BF9A8A22F40062120488
:100F6400120C48BF9A829A8AD20541BF9A8A22F407
:100F740080721204120C48BF9A829A8A52051ED5B6
:100F84009A8A22F480621204120C04299A820AD1E9
:100F9400032202759A8822F4E0621204120C9A80E9
:100FA400002303760EE0012909D19A8822F4E06235
:100FB40012040021120C01759A80017602E00021CE
:100FC400FFF790BD0020704737B5124C124B2360D9
:100FD40008222275482200238DF8042001250C22C2
:100FE40001A88DF80520237123762373E37223610E
:100FF4008DF806308DF8075000F082FF492301A8D0
:101004008DF8043000F07CFF206801F0B9F82577F2
:1010140003B030BD34010020005C004013B50D4C1A
:10102400227F034622B90C484FF48C7100F086FEEF
:1010340038B1012200920848084A4FF48D7100F03B
:1010440071FE23790BB9FFF77BFE237901332371FA
:1010540002B010BD34010020F53100080A32000846
:101064000C4A117F08B519B90B484FF4957103E088
:1010740020B1094840F22B1100F060FE13793BB116
:10108400013BDBB213711BB9BDE80840FFF732BE68
:1010940008BD00BF34010020F531000837B50D4606
:1010A40014460093069B019301212A462346FFF729
:1010B400B9FE03B030BD07B500930123FFF7EEFF7F
:1010C40003B05DF804FB37B50D4614460093069B48
:1010D400019300212A462346FFF7A4FE03B030BD46
:1010E4001FB504AC04F8013D01230094FFF7EBFFA6
:1010F40004B010BD0148FFF731BD00BF340100202A
:101104000148FFF71BBF00BF340100200148FFF76F
:1011140025BD00BF500100200148FFF70FBF00BFED
:10112400500100200148FFF719BD00BF3401002021
:101134000148FFF703BF00BF3401002038B50C4657
:1011440005460020FFF76AFF234681212A46002036
:10115400FFF7B1FF04460020FFF782FF204638BDA9
:1011640038B50C4605460020FFF758FF234680217A
:101174002A460020FFF7B4FF04460020FFF770FF63
:10118400204638BD37B50D460DF107010446FFF77B
:10119400D5FF50B19DF807300121A9401943C9B2C8
:1011A40020468DF80710FFF7DBFF03B030BD0000C9
:1011B40013B590200DF10701FFF7C0FF044648B3B3
:1011C4009DF80740A4F111035C425C4114B3FF2174
:1011D4004220FFF7C5FFFF214120FFF7C1FF352063
:1011E4000DF10701FFF7AAFF044620B90B480C4A8A
:1011F400BE2100F097FD9DF80710352041F0030152
:101204008DF80710FFF7ACFF0A201E21FFF7A8FF97
:101214000028EBD0204602B010BD00BF36320008D3
:101224005432000807B587200DF10701FFF786FF48
:1012340018B19DF80700C0F3800003B05DF804FB0B
:1012440007B536200DF10701FFF778FF20B19DF8AF
:1012540007301B090B2B01D0002014E077200DF17F
:101264000701FFF76BFF0028F6D09DF8073003F065
:10127400100303F0FF0023B1FFF7D4FF80F0010057
:10128400C0B200F0010003B05DF804FB08B53620DD
:101294000121FFF777FF00B1FEE708BD07B5EF2195
:1012A4007420FFF75DFFFF217520FFF759FF0DF153
:1012B40007017720FFF742FF0DF107017820FFF7C0
:1012C4003DFF0A213920FFF74BFF35200421FFF7AA
:1012D40059FF00B1FEE703B05DF804FBB0F1006F05
:1012E40010B504460BD20C48FFF7E8F82046FFF788
:1012F40004F90A48FFF7FAF84FF0FF3010BD084B25
:10130400002053F8042BA24202D81A68944202D354
:1013140001300B28F5D110BDB43200087332000837
:10132400EC3000082DE9F8430446174699460E466A
:10133400C1B3FFF7D3FF0546601E3044FFF7CEFF6D
:10134400002D804631DB00282FDB461B01361FB100
:10135400002031464A46B84700F014FE2C46444566
:101364001EDCF32000F024FE114B002133F814009E
:1013740000F056FE09280AD00E48FFF79FF82046D1
:10138400FFF7BBF8FFF72AF800F00AFE0DE02FB1D3
:10139400C5F10100204431464A46B8470134DEE72E
:1013A40000F0FEFD0120BDE8F8830020BDE8F883CD
:1013B4001C3100088C3200082DE9F0470E46154612
:1013C4000746984600F0DEFDF32000F0F1FD4FEAF9
:1013D400D51934463544AC42C6EB040A20D0B81BB8
:1013E400204414F8011B00F051FE09280CD00F48CA
:1013F400FFF764F83846FFF780F8FEF7EFFF00F0D8
:10140400CFFD0020BDE8F087B8F1000FE3D01AF05B
:101414007F0FE0D14FEADA104946089AC047DAE76D
:1014240000F0BEFD0120BDE8F08700BFA432000833
:1014340008B545F2555000F06FFF042000F072FF2C
:1014440040F6FF7000F074FF002000F065FF4FF4D9
:1014540080500121BDE8084000F088BD08B57D201A
:1014640001F0FEF8003018BF012008BD4900FFF765
:1014740067B900002DE9F041012186B0054600203E
:10148400FFF75EF9042000F0A1FB03A8294600F051
:10149400FBFB03A800F007FC08B93C4814E03C48F7
:1014A4000C35FFF723F804992846FFF7E1F90446C1
:1014B4003848FFF703F82046FFF71FF8FEF78EFFC2
:1014C400059B9C4204D03448FFF710F8012059E0F2
:1014D400049C3248FFF70AF82146314A3148002378
:1014E400FFF720FF3048049FFFF700F84FEA570842
:1014F4000024BC4220D23E1BB6F5803F28BF4FF4E7
:1015040080362A4861193246FFF788FA002304F12D
:101514000060009300F5804024493246FFF74CFFF9
:1015240018B92348FEF7E2FF06E0344408EB540000
:101534003946FFF705F9DCE71E48FEF7BFFF0498BC
:10154400FEF7DBFF1C48FEF7B9FF1649049A00209A
:1015540000F042FC04461948FEF7B0FF0598FEF778
:10156400CCFF1748FEF7AAFF2046FEF7C6FFFEF79A
:1015740035FF059B9C4204D01248FEF7B7FF0220BA
:1015840000E0002006B0BDE8F08100BFBD320008D5
:10159400DB320008F83200080E330008313300084B
:1015A4007114000800400008443300085101002071
:1015B4005733000862330008703300087933000899
:1015C4008C3300089233000810B5022000F016FB9B
:1015D400D8B3042000F012FB044670B11B48FEF798
:1015E40085FF042000F0FEFA022000F0FBFA4FF41D
:1015F4000040BDE8104000F0F5BA1548FEF776FF4C
:10160400082000F0EFFA102000F0ECFA202000F09F
:10161400E9FA402000F0E6FA2046FFF72BFF022803
:1016240007D1082000F0D2FA102000F0CFFA00F021
:10163400A1FB042000F0D6FA022000F0D3FA4FF404
:101644000040BDE8104000F0C1BA10BDDD33000811
:101654001334000810B52548FEF748FF4FF4001076
:10166400FFF708FF10B102283AD809E0202000F063
:10167400B9FA402000F0B6FA802000F0A7FA2FE073
:10168400082000F0A3FA102000F0A0FA202000F0B7
:10169400B5FA20B91648FEF729FF202007E04020BC
:1016A40000F0ACFA58B91348FEF720FF402000F0D0
:1016B4008DFA4FF4007000F089FA00F05BFB0E48DD
:1016C400FEF714FF082000F08DFA102000F08AFACB
:1016D400202000F087FA402000F084FA002400E083
:1016E4000124042000F07EFA204610BD2E340008A8
:1016F4004834000881340008BA34000808B50248A8
:10170400FEF7F4FE00F0BEFAF43400081EF0040FF5
:101714000CBFEFF30880EFF30980FFF7EFBF7047CA
:1017240008B50120FEF7A0FD08B900200FE0002055
:10173400FEF79AFD0028F8D00220FEF795FD002858
:10174400F3D00320FEF790FD80F00100C0B200F05A
:10175400010008BD1FB504461048FEF7C7FE01A9E5
:101764000C22204600F068FB01A8FEF7BFFE2046CD
:10177400FEF76AFFFEF786FD094B20F0040018709F
:101784001C46FEF77FFD237800F0FB00834201D066
:1017940000F0F0FA0A2000F044FBF2E7EA34000813
:1017A4005101012030B585B0FFF774F94FF0805036
:1017B400012100F001FF022000F0D2FD012807D131
:1017C400022000F0D7FDA548FEF790FE00F0D9FAFC
:1017D40000214FF0805000F0EFFEFEF7ABFDA04873
:1017E400FEF784FE9F48FEF781FE9F48FEF77EFECB
:1017F4009E48FEF77BFE9E48FEF778FE9848FEF76B
:1018040075FEFFF7E1FB9B48FEF770FEFFF7D0FC87
:101814009948FEF76BFE00F0FBF99848FEF766FE68
:1018240000F022FA00210C2201A801F05CF800F07B
:1018340017FA01A90C2200F0FFFA01A8FEF756FEE0
:101844008748FEF753FE8648FEF750FE4FF480406B
:1018540000F0D4F990B18A48FEF748FE4FF4804076
:1018640000F0C0F9082000F0BDF9102000F0BAF92A
:10187400202000F0B7F9402000F0B4F9FFF7E0FCB5
:1018840038B18048FEF732FE7F48FEF72FFEFFF79F
:1018940005FDFFF73DF8FEF703FDFEF79BFFFEF79E
:1018A400B7FEFEF791FC08B1784803E0FEF7D4FCDC
:1018B40010B17748FFF74EFF00F0C2F9802000F026
:1018C4009DF918B1802000F08DF949E04FF4003003
:1018D40000F094F920B14FF4003000F083F959E19D
:1018E400FFF71EFF68B16B48FEF700FE41F2883433
:1018F400FFF716FF78B1012000F093FA013CF7D10D
:1019040048E1654B0CCB013301D0013203D163486C
:10191400FEF7ECFD3EE1FFF7A1FD18B3FFF79EFDD6
:1019240010B15F48FEF7E2FD4FF4007000F066F975
:1019340010B15C48FEF7DAFD4FF4007000F052F984
:10194400102000F05BF9D0B15748FEF7CFFD082016
:1019540000F048F9102000F045F9FFF77BFEF8B9D4
:101964005248A7E74FF4007000F048F90028D5D199
:10197400082000F037F9102000F034F90EE00820B8
:1019840000F03CF920B14A48FEF7B0FD102003E016
:101994004848FEF7ABFD082000F018F9FFF714FEE5
:1019A4004FF4005000F02AF904464FF4805000F040
:1019B40025F9400040EA8400C4B24FF4006000F00E
:1019C4001DF92043C0B20728C3B20DD14FF4006003
:1019D40000F008F94FF4805000F004F94FF400507F
:1019E40000F000F9344865E70133DBB2023B4FF401
:1019F4000060052B11D8DFE803F00C1003100C1065
:101A040000F0F0F84FF4805000F0ECF84FF4005080
:101A140003E000F0E7F84FF4805000F0D7F84FF4FB
:101A2400002000F0EBF8002851D04FF4002000F023
:101A3400D9F82248FEF75AFD0024FFF7F3FB0028EB
:101A440040D0042C03D11E48FEF750FD00244FF46F
:101A5400FA7000F0E6F90134EFE700BFFF34000844
:101A6400403700080C3500081D3500082E350008E5
:101A74003F350008503500085B350008673500081D
:101A8400703500089D350008CE350008014550FE2C
:101A9400024550FEED3500080040000828360008D5
:101AA4003B3600085336000873360008034550FEE1
:101AB4009B360008C1360008044550FEE73600088E
:101AC400FB3600083548FEF711FDFFF7DFFBFFF793
:101AD400AFFCFEF7E7FF324B32485C681D68FEF747
:101AE400EDFC2046FEF709FD2F48FEF7E7FC002237
:101AF400930003F1604303F5614301324FF0FF317A
:101B0400082AC3F88010C3F88011F1D1274B284A62
:101B1400196B0A401A635A6B22F0C0025A639A6B1B
:101B240022F003029A63196C224A0A401A64596C1F
:101B3400214A0A405A6400F0B5FC2048012100F013
:101B440053FD1E48002100F04FFDF120012100F05B
:101B540057FDF120002100F053FD0120014600F063
:101B64005BFD0120002100F057FD1548012100F024
:101B74005FFD1348002100F05BFD1248012100F0D5
:101B840063FD1048002100F05FFD63B64FF0FF3E97
:101B9400AD4620470C48FEF7A9FCDEE616370008E0
:101BA4000040000825370008393700080038024093
:101BB40000EF9FFF003619E8CC86E8FE0010E02213
:101BC400FFC9FEF6337F77044137000810B5044699
:101BD400002000F071FD40EA04010020BDE810403F
:101BE40000F05ABD10B50446002000F065FD20EA5F
:101BF40004010020BDE8104000F04EBD10B50446BD
:101C0400002000F059FD204214BF0120002010BD27
:101C140008B501214FF0805000F0CEFC012000F007
:101C24008DFB4FF08050002100F0C6FC0120FFF72F
:101C3400E5FF20B90121BDE8084000F02DBD08BD35
:101C440008B50648FEF73AFC002000F035FDFEF723
:101C540054FCBDE80840FEF7C1BB00BF6037000874
:101C6400022000F029BD000008B5FFF7F9FF044980
:101C7400884204D00220BDE8084000F00DBD08BD34
:101C84008BB8185800BEFDE71FB504460C2201A806
:101C9400FEF7C4FE01AB03CB20601868A0602046A9
:101CA400616004B010BD0068A0F10C0358425841B3
:101CB4007047000080B50646174610480D461C467E
:101CC400FEF7FCFB3846FEF7F9FB0D48FEF7F6FB82
:101CD4003046FEF7F3FB0B48FEF7F0FB2846FEF711
:101CE4000CFC2CB10848FEF7E9FB2046FEF7E6FBA6
:101CF4000648FEF7FBFBFFF7C5FF00BF6C37000883
:101D04001A350008753700081B35000840370008ED
:101D14001FB506AA52F8044B039200921A462346B2
:101D2400FFF7C8FF0CB41FB506AA52F8043B039290
:101D34000092014AFFF7BEFF7737000807B500237A
:101D440000937246014BFFF7E3FF00BF7E370008A4
:101D5400BFF34F8F0549064BCA6802F4E062134390
:101D6400CB60BFF34F8F00BFFDE700BF00ED00E085
:101D74000400FA0508B5FEF7D3FC00F085FCFFF774
:101D8400E7FF08B5FFF7E4FFF0B50646002401209D
:101D94002546034694421DD011F804C000F1010EFB
:101DA400BCF1000F03D17355774605460DE00133AE
:101DB400DBB2FF2B774606F800C007D102F1FF3CE7
:101DC400644506D07355871C754601230134384693
:101DD400E0E770467355F0BD30B5C9B1C0430A445D
:101DE400914213D011F8013B0A4D83EA000404F038
:101DF4000F0455F8244084EA101080EA131303F00A
:101E04000F0355F8233083EA1010E9E7C04330BDCF
:101E1400084630BD34310008062358430138FDD14B
:101E2400704710B504462CB14FF47A70FFF7F4FFF5
:101E3400013CF8E710BD00000A2A10B504DC114883
:101E4400BDE81040FEF752BB0C46302304F8023BB9
:101E540078234B701C220F2393400340D340092B5B
:101E640001D8303302E00F2B02D85733DBB200E045
:101E74002023043A04F8013B131DECD100238B7298
:101E840010BD00BFCA3700081949D1F8883043F49F
:101E94007003C1F88830174B1A68002042F0010221
:101EA4001A6098601A6822F0847222F480321A60F0
:101EB400114A5A601A6822F480221A60D8601A6C97
:101EC4000E4842F080521A64026842F440420260B2
:101ED4009A689A609A689A609A6842F480529A6002
:101EE4004FF4C062C3F800244FF000638B60704766
:101EF40000ED00E000380240103000240070004083
:101F0400C278037810B512B3164AD1684278C9432F
:101F1400C1F30221C1F10404E4B2A240D4B20F22FD
:101F24000A4181780A40224303F1604303F5614387
:101F34001201D2B283F8002303780122590903F075
:101F44001F0302FA03F3084A42F8213010BD5A096C
:101F5400012103F01F03994002F12003024A42F8D1
:101F6400231010BD00ED00E000E100E0044B9A688E
:101F740009B1104301E022EA00009860704700BFF5
:101F8400002004E0044B1A69002ABFBF034A5A60C8
:101F940002F188325A607047003C024023016745D1
:101FA400024A136943F0004313617047003C024046
:101FB400014BD860704700BF003C02400E4BDA680A
:101FC400D20310D4DA68D1060FD4DA68D2050ED45D
:101FD400DA6812F0E00F0CD1DB6813F0020F14BFC3
:101FE400082009207047012070470620704702200E
:101FF40070470720704700BF003C024007B5092323
:102004008DF80730FFF7DAFF8DF807009DF80730E9
:10201400012BF7D09DF8070003B05DF804FB000026
:1020240070B5064641B1012908D002290CBF4FF40E
:1020340000754FF4407503E00D4601E04FF48075E0
:10204400FFF7DCFF09281ED10F4C236923F44073EA
:102054002361216929432161236923F0F803236162
:10206400236943F002031E432661236943F480334A
:102074002361FFF7C3FF236923F00203236123696C
:1020840023F0F803236170BD003C024070B505469F
:102094000E46FFF7B3FF092811D1094C236923F435
:1020A4004073236123692361236943F0010323619E
:1020B4002E70FFF7A3FF236923F00103236170BD92
:1020C400003C0240F0B50E6800220123934003EA6D
:1020D400060E9E452AD1550003230468AB40DB431A
:1020E4001C4004600C79076804FA05FC013C4CEAC6
:1020F4000707012C076011D884684F791C4084605D
:102104008468AF4027438760446824EA0E0444602F
:102114008C7947689440A4B23C434460C46823402B
:10212400C360CB79C468AB402343C3600132102A37
:10213400CBD1F0BD4FF6FF730360002303714371ED
:102144008371C37170470369194214BF01200020D1
:1021540070470AB1018370474183704701F0070358
:10216400C90800EB810010B59B00046A0F21994057
:1021740024EA01010162016A9A401143016210BD1F
:1021840008B5134B984207D14FF40010012100F019
:102194004FFA4FF4001014E00E4B984207D14FF45D
:1021A4008000012100F044FA4FF4800009E00A4B5A
:1021B40098420BD14FF40000012100F039FA4FF49A
:1021C40000000021BDE8084000F032BA08BD00BF9D
:1021D4000054004000580040005C00407FB58688F1
:1021E40026F03F060446360468460D46360C00F0D9
:1021F40075F9029A2C48B2FBF0F081B20E43A68026
:1022040023882A4E23F001031B041B0C23802B6814
:10221400B3420AD85B000131B2FBF3F39BB2032B48
:1022240089B298BF0423218423E0EE884BF6FF7122
:102234008E421BBF19214B4303EB4303B2FBF3F361
:1022440015BF9BB2B2FBF3F343F480439BB2C3F3D9
:102254000B020AB943F001034FF4967101FB00F23B
:102264004FF47A7192FBF1F2013292B243F40043DB
:102274002284A38323886989AA889BB243F001033B
:102284002380238823F4816323F002031B040A437D
:102294001B0C13439BB223802A89AB8913439BB243
:1022A400238104B070BD00BF40420F00A08601002E
:1022B40041F288330360002383804BF6FF7203816D
:1022C40043814FF48043C28083817047038819B1EE
:1022D4009BB243F0010303E023F001031B041B0C36
:1022E40003807047038819B19BB243F4806303E011
:1022F40023F480631B041B0C03807047838A9AB207
:10230400038B10B542EA034321F07F4404EA03003F
:10231400431A5842584110BD014B1860704700BF22
:1023240000300040014B5860704700BF003000404F
:10233400014B9860704700BF00300040014B1860AB
:10234400704700BF20000E4210B9034B196070475C
:10235400024B1960704700BFA0000E429C000E4261
:10236400034B5B68184214BF01200020704700BF74
:1023740000700040024A136843EA8000106070470E
:10238400007000400023036043608360C360036106
:10239400436183617047002343608360C3600360CB
:1023A400036143618361C361036243628362C36205
:1023B400704700000E4903680A6810B544691C435D
:1023C40083691C4322F07F4323F030034268234394
:1023D40043EA02630B60C36882684C681A43054B86
:1023E40023401343026943EA02434B6010BD00BF1C
:1023F400001000A0FEF7E0FF90E80C001A43836889
:102404000D491A43C3681A4303691A4383691A437B
:10241400C3691A43036A1A43436A1A43836A1A4311
:10242400C36A10B51A434C69044B234013434269F1
:1024340043EA82434B6110BD001000A0000080906D
:10244400044B1A6810B142F0010201E022F00102CB
:102454001A607047001000A0024B9A68920658BF99
:1024640098617047001000A0024B9A68920658BF0A
:1024740018617047001000A0014B1878704700BF26
:10248400201000A0034B9B68184214BF01200020B9
:10249400704700BF001000A0014BD860704700BF18
:1024A400001000A00B4B1A68002142F001021A60D0
:1024B40099601A6822F0A85222F410221A60064A7F
:1024C4005A601A6822F480221A60D960C3F88C100A
:1024D400704700BF00380240103000242C4B9A682B
:1024E40002F00C0210B50C2A38D8DFE802F03737B6
:1024F400373707373737093737371E00254B2EE074
:102504005968234A5B6811F4800F03F03F03516854
:1025140014BF204A204AB2FBF3F31D4A5268C1F3A8
:1025240088114B43C2F3014213E05968184A5B68AF
:1025340011F4800F03F03F03516814BF154A164A83
:10254400B2FBF3F3124A5268C1F388114B43C2F34E
:10255400027201325200B3FBF2F300E00E4B0C4A5C
:10256400036093680D49C3F30313CC5C0368E34031
:1025740043609468C4F382240C5D23FA04F48460F9
:102584009268C2F342328A5CD340C36010BD00BF7C
:102594000038024000127A000024F4001E000020DB
:1025A400044B9A6B09B1104301E022EA00009863DE
:1025B400704700BF00380240044B1A6C09B1104345
:1025C40001E022EA00001864704700BF00380240AE
:1025D400044B5A6C09B1104301E022EA000058642C
:1025E400704700BF00380240044B1A6909B1104318
:1025F40001E022EA00001861704700BF0038024081
:10260400044B5A6909B1104301E022EA0000586101
:10261400704700BF00380240044B9A6909B1104367
:1026240001E022EA00009861704700BF00380240D0
:10263400044B1A6A09B1104301E022EA000018624F
:10264400704700BF00380240044B5A6A09B1104376
:1026540001E022EA00005862704700BF00380240DF
:102664004209012A074B01D11B6803E0022A0CBF6F
:102674001B6F5B6F00F01F0023FA00F000F00100F5
:10268400704700BF00380240024A536F43F0807322
:10269400536770470038024082B000230193054B12
:1026A4000193019B03EB80000190019B196002B030
:1026B400704700BF5028004082B000230193054BAF
:1026C4000193019B03EB80000190019B186802B009
:1026D400704700BF5028004008B5254B984207D1E9
:1026E4004FF480500121FFF7AFFF4FF4805039E0E1
:1026F400204B984207D14FF480400121FFF798FF07
:102704004FF4804009E01C4B98420BD14FF4004039
:102714000121FFF78DFF4FF400400021BDE8084080
:10272400FFF786BF154B984207D14FF400500121A3
:10273400FFF78AFF4FF4005014E0114B984207D181
:102744004FF480100121FFF77FFF4FF4801009E060
:102754000C4B98420BD14FF400100121FFF774FF8A
:102764004FF400100021BDE80840FFF76DBF08BD1D
:102774000030014000380040003C0040003401407B
:10278400005001400054014003884A8810B503F406
:1027940041540B8813438A881343CA8813430A8914
:1027A40013434A8913438A891343CA89134323432E
:1027B4009BB20380838B23F400631B041B0C838371
:1027C4000B8A038210BD038819B19BB243F0400306
:1027D40003E023F040031B041B0C0380704781813A
:1027E40070470389194214BF01200020704700007C
:1027F4007FB5038ACA889BB223F4405313430382F0
:1028040083890E469BB223F4B053098923F00C024A
:10281400B3880B4371890B439BB213438381838A2F
:10282400B2899BB223F440731343838204466846FF
:10283400FFF754FE1A4B9C4203D003F580639C427D
:1028440001D1039D00E0029DA38931681BB2002BD6
:102854004FF0190202FB05F2B4BF4D008D00B2FB2C
:10286400F5F5A2896426B5FBF6F00001010912B260
:10287400002A06FB1153ADBF1A01D900323132329E
:10288400B5BFB1FBF6F2B2FBF6F302F0070203F0B8
:102894000F03B4BF1043184380B2208104B070BD4D
:1028A40000100140838919B19BB243F4005303E043
:1028B40023F400531B041B0C83817047C1F30801EC
:1028C400818070470388194214BF0120002070479B
:1028D40010B5431E0A44914204D011F8014B03F889
:1028E400014FF8E710BD02440346934202D003F8B7
:1028F400011BFAE770470000E131000800080240BC
:1029040000200000020D0000E6310008000C024027
:102914000400000003020200E9310008001C024028
:102924000100000007000200F0310008001C024012
:102934000200000007010200000000000000000087
:1029440001424F4F544C4F41444552000000000097
:10295400002A2A000000000000000000000000001F
:1029640000006000000300180000000000000000E8
:102974006000000300180000000000000000600078
:1029840000030018000000000000000060000003C5
:1029940000180000000000000000600000030018A0
:1029A40000000000E003001F60F800C30718C00720
:1029B4000000F80FC07F60FE03F31F18F01F000033
:1029C4000C1860C06003061B301818300000063075
:1029D4003080E1010C0F60180C60000003601800E7
:1029E400E3001807C01806C0008001400C00620014
:1029F400100380180380008001C00C0066003003BF
:102A040080190380018001C0FCFF67003003801936
:102A1400FFFF018001C0FCFF630030038019FFFF4A
:102A2400008001C00C0060003003801903000080A6
:102A340001C00C00600030038019030000800140D5
:102A44000C006200100380180380008003601800EB
:102A5400C3001806C01806C000800730308081010A
:102A64000C0C60180C6000800D1860C00003061880
:102A7400303818300080F90FC07F00FE03F01F705B
:102A8400F01F0080E103001F00F800C00760C007CA
:102A94000080010000000000000000000000008031
:102AA40001000000000000000000000000800100A0
:102AB4000000000000000000000000800100000091
:102AC4000000000000000000008001000000000081
:102AD40000000000000000000C0006000000006080
:102AE4000030000018000300000000C000180000BF
:102AF4003080010000000080010C000060C0000074
:102B04000000000003060000C06000000000000098
:102B14000603000080310000000000008C0100006A
:102B2400001B000000000000D8000000000E0000A0
:102B34000000000070000000000E00000000000013
:102B440070000000001B000000000000D80000001E
:102B540080310000000000008C010000C060000013
:102B6400000000000603000060C000000000000038
:102B7400030600003080010000000080010C00000A
:102B840018000300000000C0001800000C0006003C
:102B940000000060003000000000000000000000A1
:102BA4000000000000000000000000000000000021
:102BB4000000000000000000000000000000000011
:102BC4000000000000000000000000000000000001
:102BD40000000000000000000000000000000000F1
:102BE40000000000000000000000000000000000E1
:102BF400000000000000000000000080FFFF010052
:102C040000000000000000FEFFFF7F000000000045
:102C14000000E07F0000FE07000000000000FE014D
:102C24000000807F0000000000801F00000000F80A
:102C34000100000000F00100000000800F0000000F
:102C4400007C0000000000003E000000000F0000B7
:102C540000000000F00000008003000000000000FD
:102C6400C0010000E00000000000000000070000B8
:102C74007000000000000000000E000018000000BA
:102C840000000000001800000C000000000000001C
:102C9400003000000600000000000000006000009A
:102CA400030000000000000000C0008001000000DC
:102CB40000000000008001C00000000000000000CF
:102CC4000000036000000000000000000000063067
:102CD400000000000000000000000C1000000000D4
:102CE400000000000000087C00FE00FF01C701C7CF
:102CF40001C701C701C701C701C701C701C701C790
:102D040001C701C701FF01FE007C0038003C003E02
:102D1400003E0038003800380038003800380038E9
:102D2400003800380038003800FE00FE00FE007C49
:102D340000FE00FF01C701C701C001C001E000F0AF
:102D44000078003C001E000E000F000700FF01FF8A
:102D540001FF017C00FE00FF01C701C701C001C0E3
:102D640001F8007800F800C001C001C001C701C724
:102D740001FF01FE007C00E000E000F000F000F83C
:102D840000F800F800FC00EC00EE00E600FF01FF94
:102D940001FF01E000E000E000E000FF00FF00FFB1
:102DA400000700070007007F00FF00FF01C701C004
:102DB40001C001C701C701C701FF01FE007C007CFF
:102DC40000FE00FF01C701C701070007007700FFED
:102DD40000FF01C701C701C701C701C701FF01FE09
:102DE400007C00FF01FF01FF01E000E000700070C3
:102DF40000700038003800380038001C001C001C2B
:102E0400001C001C001C007C00FE00FF01C701C761
:102E140001C701C701FE007C00FE00C701C701C74E
:102E240001C701C701FF01FE007C007C00FE00FF1A
:102E340001C701C701C701C701C701FF01FE01DCCA
:102E440001C001C001C701C701FF01FE007C0000F1
:102E5400000000000000007C00FE00FF01C701C765
:102E640001F001FC01CE01C701C701E701FF01DF49
:102E740001CE010700070007000700E700F701FF84
:102E840001CF01C701C701C701C701C701C701CFEE
:102E940001FF01F701E70000000000000000007CD2
:102EA40000FE00FF01C701C7010700070007000774
:102EB40000C701C701FF01FE007C00C001C001C0C2
:102EC40001C001CE01DF01FF01E701C701C701C74E
:102ED40001C701C701C701E701FF01DF01CE0100FE
:102EE400000000000000007C00FE00FF01C701C7D5
:102EF40001C701FF01FF010700C701C701FF01FE70
:102F0400007C00E000F000F8003800FE00FE00FE47
:102F140000380038003800380038003800380038ED
:102F2400003800380038000000068301000000006B
:102F340000000000000000068301000000000C00F7
:102F44000000000000068301000000000C000000E7
:102F540000D878369B79C0E3D90C8C67DB3C1BF82E
:102F6400FD7EBFFDE0F7FB1FC6EFFB7E1F98CD661D
:102F7400B3CD60369B19C66C18660398FD66B3FD25
:102F840060309B19C66F18660398FD66B3FD603008
:102F94009B19C36F186603980D66B30D60369B19B1
:102FA400C360186603F8FD7EBFFDECF79B19C36F81
:102FB400187E03D878369B79CCE399998167183CBD
:102FC4000318000000000000008001000000001849
:102FD40000000000000000000000000000180000D5
:102FE4000000000000000000000000FFFFFFFFFFE2
:102FF400FFFFFFFFFFFFFF010000000000000000D3
:1030040000008001000000000000000000008001BA
:10301400000000000000000000008001000000002B
:10302400000000000000800100000000000000001B
:10303400000080010000000000000000000080FF8C
:10304400FFFFFFFFFFFFFFFFFFFFFF000004024041
:103054004000000006000A000004024004000000D2
:1030640002000900000802400002000009000900F3
:1030740000080240000400000A00090000080240A1
:1030840000010000080009000000024002000000E6
:1030940001000900005C0040000002400001000043
:1030A40008000400000402400001000008000900B8
:1030B40000008000801A060000400000484900001B
:1030C400000000000000000001000300820007006F
:1030D4008400070001000300020003004000030015
:1030E400800007008400070000000008004000087A
:1030F4000080000800C00008000001080000020869
:1031040000000408000006080000080800000A087F
:1031140000000C0800000E08000008001000180051
:1031240020002800300038004000480050005800BB
:10313400000000006410B71DC8206E3BAC30D926D7
:103144009041DC76F4516B6B5861B24D3C71055083
:103154002083B8ED44930FF0E8A3D6D68CB361CBAB
:10316400B0C2649BD4D2D38678E20AA01CF2BDBD5F
:10317400537475636B20627574746F6E2072656727
:10318400697374657220697320696E76616C696411
:103194002C20636C656172696E672E0042757474CD
:1031A4006F6E2069642000697320737475636B21EA
:1031B40000427574746F6E20776173207075736844
:1031C4006564206F6E20626F6F742E204275747474
:1031D4006F6E20636F756E7465723A20004261638E
:1031E4006B0055700053656C65637400446F776EB3
:1031F400002E2E2F7372632F647269766572732F9B
:103204006932632E630049324320646576696365DD
:10321400204944206F7574206F6620626F756E6458
:103224007320256420286D61783A20256429006F75
:103234006E002E2E2F7372632F647269766572731B
:103244002F706D69632F617333373031622E6300E1
:103254004661696C656420746F20737461727420B4
:10326400504D494320313230487A2050574D002088
:103274006973206F757473696465207379737465F9
:103284006D20666C617368006661696C65642074A6
:103294006F20657261736520736563746F722000BB
:1032A4006661696C656420746F2077726974652047
:1032B400616464726573732000496E76616C69643D
:1032C400206669726D7761726520646573637269E3
:1032D4007074696F6E2100436865636B73756D6DFF
:1032E400696E67206669726D7761726520757064B6
:1032F4006174650043616C63756C6174656420631B
:103304006865636B73756D3A2000496E76616C690C
:1033140064206669726D7761726520435243206947
:103324006E2053504920666C617368210065726198
:1033340073655F6F6C645F6669726D776172650057
:1033440077726974655F6E65775F6669726D7761C0
:10335400726500576527726520646561640043687F
:1033640065636B73756D6D696E6720002062797497
:1033740065730D0A00436865636B73756D202D20BA
:1033840077616E746564200020676F7420004F7548
:103394007220696E7465726E616C20666C6173680C
:1033A40020636F6E74656E74732061726520626150
:1033B400642028636865636B73756D206661696C4E
:1033C40065642921205468697320697320726561DA
:1033D4006C6C792062616421004F75722070726593
:1033E40076696F7573206669726D77617265207591
:1033F4007064617465206661696C65642C20616227
:103404006F7274696E67207570646174652E004E06
:103414006577206669726D776172652069732061D2
:103424007661696C61626C6521004C6F6164696EE0
:1034340067207265636F76657279206669726D774D
:10344400617265004661696C656420746F206C6FFD
:103454006164207265636F76657279206669726D46
:10346400776172652C20737472696B65206F6E6569
:103474002E2054727920616761696E2E004661695D
:103484006C656420746F206C6F6164207265636F77
:1034940076657279206669726D776172652C207326
:1034A4007472696B652074776F2E20547279206171
:1034B4006761696E2E004661696C656420746F20D3
:1034C4006C6F6164207265636F76657279206669DA
:1034D400726D776172652C20737472696B652074E8
:1034E400687265652E205341442057415443480077
:1034F40048415244204641554C5400657869742033
:103504007374616E64627900205F5F5F20205F20C6
:10351400205F20205F202020002F205F5F3E3C5F43
:103524003E7C207C7C207C5F5F005C5F5F205C7C59
:10353400207C7C207C7C202F202F003C5F5F5F2F31
:103544007C5F7C7C5F7C7C5F5C5F5C0069326320B9
:10355400696E6974656400706D696320696E69746D
:10356400656400626F6F7420626974004C617374E7
:10357400206669726D7761726520626F6F7420775F
:10358400617320737461626C653B20636C65617266
:1035940020737472696B657300504D494320776FD3
:1035A4006B652066726F6D207374616E646279203E
:1035B40064756520746F2063686172676572206446
:1035C4006973636F6E6E6563740050757474696EAD
:1035D4006720504D4943206261636B20696E746FAC
:1035E400207374616E64627900486F6C6420646F48
:1035F400776E205550202B204241434B202B2053E3
:10360400454C45435420666F7220352073656373BF
:103614002E20746F20666F7263652D626F6F742045
:10362400505246004669726D776172652069732055
:10363400657261736564005761746368646F6720C1
:1036440063617573656420612072657365740053EA
:103654006F667477617265206661696C7572652046
:1036640063617573656420612072657365740046D7
:1036740061696C656420746F207374617274206670
:1036840069726D776172652C20737472696B652041
:1036940074687265652E004661696C656420746F98
:1036A400207374617274206669726D776172652C1F
:1036B40020737472696B652074776F2E004661699C
:1036C4006C656420746F207374617274206669720F
:1036D4006D776172652C20737472696B65206F6EEF
:1036E400652E0053687574646F776E20726571750A
:1036F40065737465642E0052656D6F76652063682A
:10370400617267657220746F2073687574646F7773
:103714006E005368757474696E6720646F776E2EDB
:1037240000426F6F74696E67206669726D776172AB
:1037340065204020002E2E2E0D0A0D0A00466F72C1
:1037440063652D626F6F74696E67207265636F764F
:10375400657279206D6F64652E2E2E00426F6F7432
:1037640020626974733A20004153534552543A20FD
:10377400003A004153534552540041535345525467
:103784004E002A2A2A20575446200053544D3332DF
:103794000053544D333220706572697068657261EC
:1037A4006C206C69627261727920747269707065E0
:1037B4006420616E206173736572740043524F41DB
:1037C4004B204F4F4D0069746F61206275666665CA
:0C37D4007220746F6F20736D616C6C00CC
:1037E000FFFFFFFF008400000202000000C0040190
:1037F00000000000000000021000000007000000B0
:103800000000010203040102030406070809000086
:04000005080001846A
:00000001FF

View file

@ -0,0 +1,869 @@
:020000040800F2
:1000000070210020B5010008F9010008A51A0008B8
:10001000F9010008F9010008F901000800000000DA
:10002000000000000000000000000000F9010008CE
:10003000F901000800000000F9010008F9010008BA
:10004000F9010008F9010008F9010008F9010008A8
:10005000F9010008F9010008F9010008F901000898
:10006000F9010008F9010008F9010008F901000888
:10007000F9010008F9010008F9010008F901000878
:10008000F9010008F9010008F9010008F901000868
:10009000F9010008F9010008F9010008F901000858
:1000A000F9010008F9010008F9010008F901000848
:1000B000F9010008F9010008F9010008D11500084C
:1000C000DD150008E9150008F5150008F90100081C
:1000D000F9010008F9010008F9010008F901000818
:1000E000F9010008F9010008F9010008F901000808
:1000F000F9010008F9010008F9010008F9010008F8
:10010000F9010008F9010008F9010008F9010008E7
:10011000F9010008F9010008F9010008F9010008D7
:10012000F9010008F9010008F9010008F9010008C7
:10013000F9010008F9010008F9010008F9010008B7
:10014000F9010008F9010008F9010008F9010008A7
:10015000F9010008F9010008F9010008F901000897
:10016000F9010008F9010008F9010008F901000887
:10017000F9010008F9010008F9010008F901000877
:04018000F901000879
:100184008BB8185876342E332D616C706861322D1B
:1001940033342D6738663564383732000000000088
:0F01A40000000000386635643837320000000173
:1001B400002103E00A4B5B584350043109480A4BC1
:1001C40042189A42F6D3094A02E0002342F8043B5B
:1001D400074B9A42F9D301F0DBFF01F093FC70471F
:1001E400E83500080000002014000020140000205E
:1001F4006C010020FEE7000030B501208BB002F056
:1002040001FC002401902546E0B200F049FC01AA5B
:1002140008B9105519E0135D042B10DD164800F0E1
:1002240035FE02A92022019801F07DFF02A800F00A
:100234002DFE0120002102F0D5FB00201AE001333D
:10024400DBB2052B135528BF01250134042CDBD167
:10025400019C54B1094800F019FE204602A920224D
:1002640001F061FF02A800F011FE0120214602F016
:10027400B9FB28460BB030BD082E0008342E000808
:1002840008B500F017FB80F00100C0B208BD000003
:1002940008B54FF48061034802F0A1F9003018BF9B
:1002A400012008BD001802402DE9F0434A4C89B0F2
:1002B400204600F005FE20460D21052202F09AF9A1
:1002C40020460E21052208AE02F094F905222046AC
:1002D4000C2102F08FF94FF4005346F81C3D002521
:1002E40001274FF00209204631468DF80A508DF857
:1002F4000B508DF808908DF8097002F02FF94FF427
:10030400804320463146019302F028F94FF480538C
:100314002046314601934FF4007802F01FF920463D
:1003240031468DF808508DF80B70CDF8048002F03A
:1003340015F94FF480632046314601938DF8085037
:100344008DF80B5002F00AF94FF4807320463146C1
:1003540001938DF808708DF80B5002F0FFF84FF4FC
:1003640000432046314601938DF80A708DF80B50F6
:1003740002F0F4F839464FF4001002F0D7FAA4F56D
:100384004444164B164E1E60204602F04BFB03A855
:1003940002F0BFFB4FF4827339463046ADF80E309D
:1003A400ADF80C50ADF81050ADF81290ADF81470D3
:1003B400ADF8168001F024F903A9ADF81800204621
:1003C400ADF81A5002F086FB2046394602F0ADFB28
:1003D40009B0BDE8F08300BF0018024014000020FB
:1003E4000024F40008B5022001F087FE012000F08B
:1003F40045FB022001F081FE0120BDE8084000F029
:100404002BBB000010B504460548022102F09EFBF8
:100414000028F9D021460248BDE8104002F094BB00
:100424000054014038B5012204460D4629484FF4D2
:10043400807102F0DAF8012001F05FFE25484FF4E4
:100444000041002202F0D1F84FF4807100222148CB
:1004540002F0CBF8012001F050FE4FF400411D489A
:10046400012202F0C2F8012001F047FE19484FF4BE
:10047400007102F0B4F818B11748184A6A210AE06A
:1004840014484FF4004102F0AAF808B1254404E0EE
:100494001148134A6B2101F0A3FDAC4204D014F8B7
:1004A400010BFFF7AFFFF8E70A484FF48071012210
:1004B40002F09BF808240020FFF7A4FF013CFAD1C6
:1004C4004FF40071034802F08AF8003018BF01208D
:1004D40038BD00BF001802404D2E0008572E0008FA
:1004E400722E000810B504460B4802F02AFB0A4895
:1004F400022102F02BFB0028F9D00748214602F024
:1005040023FB0548012102F021FB0028F9D0024811
:1005140002F017FBC0B210BD0054014010B54FF4F7
:10052400807104460022054802F05FF8642001F05F
:10053400DFFD2046BDE81040FFF764BF001802400D
:1005440008B50748802102F001FB0028F9D10548CD
:100554004FF480710122BDE8084002F046B800BFA4
:10056400005401400018024010B540F2F514FFF7A2
:100574008FFE50B1013C04D1054800F087FC2046B1
:1005840010BD642001F0B4FDF1E7012010BD00BFEF
:100594008F2E000810B5224C638822884FF6FF7115
:1005A400DB438A429BB20BD09A4209D11D4800F02A
:1005B4006DFC1D482188FFF735FF20B1012010BDD7
:1005C4001A4800F063FC1A4800F060FC19484FF424
:1005D4008071012202F009F84FF40041002215480D
:1005E40002F003F8012001F088FD12484FF40041A5
:1005F400012201F0FAFF40F2E9340E484FF4007191
:1006040001F0EDFF0028D9D1013C04D10A4800F0E3
:100614003DFC204610BD642001F06AFDEDE700BFFB
:1006240000000F60B22E000804000F60DE2E0008E8
:10063400FA2E000800180240102F000810B50446D6
:100644000420FFF76BFF2046FFF7DCFEBDE81040F7
:10065400FFF776BF10B504460120FFF75FFFE0B255
:10066400FFF7D0FEC4F30720FFF7CCFEC4F3074026
:10067400FFF7C8FE200EFFF7C5FEBDE81040FFF7E8
:100684005FBF000010B5FFF70FFEFFF783FF08B947
:10069400224830E0224800F0DDFB4FF48071002254
:1006A400204801F0A2FF642001F022FD0020FFF7A2
:1006B40019FF4FF48071012204461A4801F095FF96
:1006C400204600F0F1FB184800F0E0FBFFF78AFE3B
:1006D40000240120FFF7B2FFFFF746FF78B10320A3
:1006E400FFF71CFFFFF72CFF104800F0B3FB204678
:1006F40000F0DAFB0E48BDE8104000F0C7BB01343F
:10070400FFF748FF152CE4D10A4800F0BFFB022094
:10071400FFF704FFBDE81040FFF712BF2C2F0008BD
:100724005B2F000800180240843500086A2F000877
:10073400852F00088F2F000808B55D235843094B07
:100744004A1C00EB52001A78B0FBF1F0C0B28242AE
:1007540007D01870FFF77EFF0220BDE80840FFF7BE
:100764006DBF08BD0000002008B5FFF773FF03202C
:10077400BDE80840FFF762BF08B50220FFF7CEFED0
:10078400BDE80840FFF7DCBE01F1C04102F054BAF5
:1007940070B543489AB000F093FB424800F090FBD8
:1007A400414800F08DFB414B93E8030001AD85E81F
:1007B40003003C48294601F0D1FE3A4804210122B5
:1007C40001F013FF00240223029435488DF8083009
:1007D400072103230C228DF80930019401F00AFF4C
:1007E40080232F480193294601F0B8FE022C04D03F
:1007F4002C48A1B20C2201F0FDFE0134102CF5D1DD
:100804004FF6FB7327480193294601F0A7FE022601
:100814003146013624480C22B6B201F0EBFE102E0C
:10082400F6D14FF6FC7329461F48019301F096FE5A
:10083400042100221B481E4D01F0D7FE0A2001F0BE
:1008440057FC01220421174801F0CFFE1E2001F0BD
:100854004FFC0120014602F051F80FCD03AC0FC448
:1008640095E8070084E80700402200210AA802F066
:10087400EEF902230B9308230C934FF48053129345
:100884004FF4005313930AA803AB18930D9601F089
:10089400EBFD0020012101F051FE1AB070BD00BF34
:1008A40000040240000C024000100240642C0008C6
:1008B4006C2C00080D4B98221A80A3F68A231B88FF
:1008C400DBB2512B0CD10A4B1B88DBB2522B07D164
:1008D400084B1888C0B2A0F159035842584100E0AF
:1008E4000020024BF0221A80704700BFAA0A006061
:1008F400220000602400006002460B4604205021C0
:1009040000F045BE02460B460420502100F054BEC0
:10091400032873B50E4603D0042804D001F076FBF7
:1009240014241C4D01E01C4D162420460DF1070132
:10093400FFF7E2FF08B900202AE02B78AEB10BB133
:10094400013323E09DF8071021F0060141F0020174
:1009540020468DF80710FFF7D5FF0028EBD00124BF
:1009640003202C7001F0C9FB11E05AB2012A0CDCFF
:100974009DF80710204601F0F9018DF80710FFF7E4
:10098400C1FF0028D7D02E7001E0013B2B7001205D
:1009940002B070BD180000201900002073B525486E
:1009A40000F08EFA02254FF410730024012621482A
:1009B400009369468DF804508DF805508DF8066053
:1009C4008DF8074001F0CAFD1A480621042201F0FF
:1009D40011FE04220921174801F00CFE154800F00D
:1009E40087FA154800F06CFA42F20C036946124883
:1009F40000938DF805508DF804608DF806408DF84D
:100A0400074001F0ABFD0C4800F072FA042000F03E
:100A140057FD20466946FFF76FFF9DF80050B54229
:100A240005D103202946FFF773FF284600E020463E
:100A340002B070BD000402400014024010B5044628
:100A4400042000F03DFD21460420FFF761FF04204F
:100A5400BDE8104000F066BD38B5074C0546204699
:100A640000F02EFA20462A46042101F0BEFD20465D
:100A7400BDE8384000F03CBA0014024038B5074CD9
:100A84000546204600F01CFA20462A46082101F0BB
:100A9400ACFD2046BDE8384000F02ABA00140240FC
:100AA40038B5094C04EB00146568284600F008FAD0
:100AB4002189284601F093FD0446284600F018FADF
:100AC400B4FA84F0400938BD882C000838B50024F5
:100AD4002546E0B2FFF7E4FFA04001340543042CAF
:100AE400EDB2F6D1284638BDF7B54FF48040012168
:100AF400134C01F01BFF04F140076568284600F021
:100B0400DFF9684601F062FD02238DF80530A37B0E
:100B14008DF807302846A3680093694600268DF8AF
:100B24000460103401F01AFD284600F0E1F9BC42DB
:100B3400E3D14FF48040314601F0F8FE03B0F0BD3C
:100B4400882C000808B5054B1B781BB904483221D2
:100B540001F052FABDE8084001F0C6BB1A000020BB
:100B6400C22F0008124B1B7870B505460C461BB902
:100B74001048382101F040FA032906D98E0831467D
:100B8400FFF7E0FFB6003544A41B6CB12B462C44A0
:100B94000020A34204D013F8012B42EA0020F8E716
:100BA400BDE8704001F09ABBBDE8704001F0AABBFB
:100BB4001A000020C22F0008024B1A780AB9012239
:100BC4001A7070471A00002008B5084B1A781AB931
:100BD40007482B2101F010FA01214FF4805059707D
:100BE40001F080FEBDE8084001F072BB1A0000204D
:100BF400C22F000808B5074B1A781AB906485121C4
:100C040001F0FAF9002159704FF48050BDE8084012
:100C140001F068BE1A000020C22F000870B50C460F
:100C24000546A608FFF7D0FF28463146FFF78AFF9E
:100C340004F0030105EB8600FFF794FF0446FFF779
:100C4400D9FF204670BD70B5A0B00D460646FFF72B
:100C5400BBFF2C467119802CA1EB0401684608D90E
:100C64008022FFF791FD68462021FFF76BFF803C4F
:100C7400F0E72246FFF788FD21466846FFF772FF3A
:100C84000446FFF7B7FF204620B070BD0A4B1B781F
:100C940010B504467BB10948402101F0C7FF002884
:100CA400F9D00648214601F0BDFF0448402101F077
:100CB400BDFF0028F9D010BD1C00002000480040F2
:100CC4002DE9F043334D83B06C6804F12E0323F017
:100CD400070300AFADEB030D50238DF80030212343
:100CE4008DF8013000238DF8023003238DF8033092
:100CF40004F121035BBAADF80430274B04F1270853
:100D04006E460DF1060203F11C0153F8040B42F880
:100D1400040B8B42F9D11B78137004F1230922468A
:100D240006F123001D4901F087FF31464A460020A1
:100D340001F0BEF907F1080304F5927443F8040DB9
:100D4400186846F80900FE23B4FBF3F34344073361
:100D540023F00703ADEB030D31464246684601F02C
:100D64007FF904465520FFF791FF6E466C44A64276
:100D740007D016F8010B552808BF0020FFF786FF9F
:100D8400F5E75520FFF782FF00230C376B60BD4663
:100D9400BDE8F0831C000020D02C000824000020B3
:100DA4002DE9F041274C86B0204600F089F84FF435
:100DB4008020012101F0AEFD20460A21072201F026
:100DC40019FC06AE072220460B2101F013FC4FF458
:100DD400806346F8183D002501274FF0020820469D
:100DE40031468DF806508DF807708DF804808DF823
:100DF400058001F0B3FB4FF40063204631460093B5
:100E04008DF8048001F0AAFBADF80C50ADF80E503B
:100E1400ADF81050ADF814500B4D0C4B029328460E
:100E24000C2302A9ADF8123001F096FE284639468B
:100E340001F0ECFE204600F05BF8054B1F7006B095
:100E4400BDE8F081000802400048004040420F0025
:100E54001C00002038B50C4B1A781C469AB1451E6C
:100E640015F8012F7AB163680749FF2B0BD80A2ABA
:100E740002D1FFF725FFF3E70D2A1FBF581C5B18AB
:100E840048601A72ECE738BD1C00002008B5054B19
:100E94001B782BB1FFF7DEFFBDE80840FFF710BF5A
:100EA40008BD00BF1C0000201FB50C2201A901F0E1
:100EB4003AF901A8FFF7CEFF05B05DF804FB000086
:100EC40000F13F4000F57E00C0F3872008280AD8CF
:100ED400054A135C591C11542BB9044901230A6BAC
:100EE400834013430B637047240100200038024001
:100EF40000F13F4000F57E00C0F3872008280DD89C
:100F0400074A135C53B1013BDBB2135433B90549AF
:100F140001230A6B834022EA03030B63704700BF7B
:100F2400240100200038024002460068838823F42C
:100F3400E0631B041B0C838003889BB243F400739F
:100F4400038008230020517513751076704737B558
:100F540004460D46FFF7B4FF0023204669468DF88A
:100F640004308DF805308DF80730009501F0F6FA5D
:100F74002046FFF7BDFF03B030BD000010B50B4C99
:100F8400342300FB0344236B7BB10A2001F0B5F842
:100F94006068A168FFF7DBFF20696169FFF7D7FF8D
:100FA400236B0120BDE81040184710BDF02C000849
:100FB400F7B5044616460F461D46FFF781FF02218A
:100FC40001238DF804108DF805108DF806302046A5
:100FD400002369468DF80730009701F0BFFA2046D8
:100FE40031462A4601F006FB2046FFF781FF03B095
:100FF400F0BD0000027D082A10B5044607D102683E
:10100400938823F4C0631B041B0C938084E0434B3C
:10101400006803EB8203996E01F0BCFB00287BD0CF
:10102400237D072B72D8DFE803F0040B1921323B30
:101034005A6E237A226803F0FE03138201232DE003
:101044002268A37A1382637A0BB1022326E0938881
:101054009BB243F48063938006231FE022681388C5
:101064009BB243F480731380032317E0237A22682E
:1010740043F001031382E37A012B01BF138823F4A5
:1010840080631B041B0C08BF1380042306E0226842
:1010940093889BB243F480639380052323753BE0DC
:1010A40023682269198A237BD154237BE27A013392
:1010B400DBB2591C9142237307D12268138823F4AD
:1010C40080631B041B0C138026E0934224D1226806
:1010D400938823F480631B041B0C938013E0237B0D
:1010E40021692268CB5C1382237BE17A0133DBB272
:1010F4009942237310D1938823F480631B041B0C3F
:1011040093800723CAE72046012101E020460021FD
:10111400BDE81040FFF708BF002010BDF02C000808
:101124007FB51D4D1C2303FB005306461B790BB9E9
:10113400FFF724FF194C342306FB03446068A168BD
:10114400A289A37BFFF734FF228BA37E2069616908
:10115400FFF72EFFE069012101F0DCFB684601F096
:10116400F3FA0F4A236A009393424FF48063ADF875
:101174000A304FF01C0384BF626AADF8062003FBFB
:1011840006F46946285901F075FA2859012101F03D
:10119400E9FA04B070BD00BF30010020F02C000853
:1011A400A086010073B504460E460025FFF788FEAD
:1011B4000123204669468DF8043000968DF80550C9
:1011C4008DF8075001F0CAF92046B1B22A4601F061
:1011D4000CFA2046FFF78CFE02B070BD10B5094C26
:1011E400342300FB0344236B5BB100209847606801
:1011F400A168FFF7D7FF20696169BDE81040FFF7D8
:10120400D1BF10BDF02C00081C23104A434370B515
:1012140005460F4CD058D61801F0FEF9342305FBCF
:1012240003440021E06901F075FB337923B92846B2
:10123400BDE87040FFF7D2BF6068A168FFF787FE82
:1012440020696169BDE87040FFF781BE300100206C
:10125400F02C00082DE9F347504C9A4694F83830A6
:10126400884691461BB94E4840F2951104E0042883
:1012740004D94B484FF4CB7100F0BEFE494B1844DF
:101284001C2590F88860754363191B790BB90020FD
:1012940081E063591B8B9F0716D41C2070432718C9
:1012A40000259DF828300B9A87F8089087F80AA043
:1012B40087F80980FB723D733D753A61FD822058C1
:1012C400012101F05BFA2AE03046FFF79DFF30462A
:1012D400FFF726FF6159344B0A8B9007DDD5013B9C
:1012E400FAD1D4E71C2303FB06431B7E23B1019BE5
:1012F4005A1E0192002BF5D11C2303FB0643002246
:101304001A76019903F1100239B3117908291AD117
:1013140055791C2303FB06431B7D082B2BD01C2370
:101324007343E018E1580A8892B242F480720A804A
:10133400E25893889BB243F440739380012303766D
:10134400194B0193D3E7D188B1F57A7F05D20131E6
:10135400D180012000F0D1FEDBE719688B8823F4EB
:10136400E0631B041B0C8B800B889BB243F400735B
:101374000B80082313711C237343E1580A4B0A8B17
:10138400920707D5013BFAD13046FFF73DFF3046BF
:10139400FFF7C6FE284602B0BDE8F0873001002002
:1013A400C82F0008F02C000880841E00017D03680B
:1013B400082906D19A8822F480721204120C9A80A9
:1013C40038E09A8A120541BF9A8A22F40062120414
:1013D400120C48BF9A829A8AD20541BF9A8A22F493
:1013E40080721204120C48BF9A829A8A52051ED542
:1013F4009A8A22F480621204120C04299A820AD175
:10140400032202759A8822F4E0621204120C9A8074
:10141400002303760EE0012909D19A8822F4E062C0
:1014240012040021120C01759A80017602E0002159
:10143400FFF77ABD002070472DE9F3411D4C1E4E85
:1014440000251E4F56F8283C44F8043C1C2202FB9D
:1014540005720023237013760822227432788DF8E3
:1014640004204FF001080C2201A82372E371E36009
:101474008DF805208DF806308DF8078000F0F2FE17
:1014840073788DF8043001A800F0ECFE54F8040CD5
:1014940001F0C2F8454504F11C0406F1340601D0FC
:1014A4004546CEE7284687F83850FFF797FE02B046
:1014B400BDE8F08134010020182D0008300100201F
:1014C40073B5144C94F838200346254622B91248C3
:1014D40040F2331100F090FD042807D90522009250
:1014E4000D480E4A40F2351100F07AFD0C4A1344BF
:1014F40093F888401C2303FB04521E46127912B948
:101504002046FFF70DFE06FB0454237901332371B3
:1015140002B070BD30010020C82F0008CE2F000893
:10152400F02C0008104A08B592F838301BB90F485F
:1015340040F2451104E0042804D90C484FF4A37187
:1015440000F05AFD0A4B18441C2390F8880003FB52
:10155400002213793BB1013BDBB213711BB9BDE827
:101564000840FFF751BE08BD30010020C82F000815
:10157400F02C000837B50D4614460093069B0193E2
:1015840001212A462346FFF765FE03B030BD07B5A7
:1015940000930123FFF7EEFF03B05DF804FB37B5BA
:1015A4000D4614460093069B019300212A462346C8
:1015B400FFF750FE03B030BD1FB504AC04F8013D85
:1015C40001230094FFF7EBFF04B010BD0148FFF7BF
:1015D40011BD00BF300100200148FFF7E7BE00BF86
:1015E400300100200148FFF705BD00BF4C01002079
:1015F4000148FFF7DBBE00BF4C010020FFF71EBA15
:1016040030B585B004460D46684601F027F90DB99A
:10161400029805E0012D01D1039801E000F0F6FCE9
:10162400B4EB500F0ED8B0FBF4F000F070FD0028BE
:1016340002DC0748272103E0082804DD04482821A8
:1016440000F0DAFC01200138C00080B205B030BDE2
:10165400FA2F0008B0F1006F10B504460BD20C4805
:10166400FFF7F8FB2046FFF71FFC0A48FFF7F2FBE1
:101674004FF0FF3010BD084B002053F8042BA2425A
:1016840002D81A68944202D301300B28F5D110BD58
:101694007230000800300008802D00082DE9F8435E
:1016A40006462A480C4617469846FFF7D3FB3046B1
:1016B400FFF7FAFB2648FFF7CDFB2046FFF7F4FBC4
:1016C4002448FFF7C7FBD4B33046FFF7C3FF0546F2
:1016D400601E3044FFF7BEFF002D814632DB002838
:1016E40030DB461B01361FB1002031464246B84765
:1016F40000F01AFE2C464C451FDCF32000F02AFEB5
:10170400154B002133F8140000F05CFE09280BD0BF
:101714001248FFF79FFB2046FFF7C6FB1048FFF770
:10172400B5FB00F00FFE0DE02FB1C5F10100204420
:1017340031464246B8470134DDE700F003FE01209C
:10174400BDE8F8830020BDE8F88300BF1B30000823
:101754002F30000832300008B02D00083630000861
:10176400843500082DE9F0470646234814460D4603
:101774001F46FFF76FFB3046FFF796FB1F48FFF746
:1017840069FB2046FFF790FB1D48FFF763FB00F061
:10179400CBFDF32000F0DEFD4FEAD41805EB04097D
:1017A4002C464C45C5EB040A20D0701B204414F889
:1017B400011B00F03DFE09280DD01248FFF74AFB3B
:1017C4003046FFF771FB1048FFF760FB00F0BAFDED
:1017D4000020BDE8F087002FE3D01AF07F0FE0D19E
:1017E4004FEADA104146089AB847DAE700F0AAFD52
:1017F4000120BDE8F08700BF4E3000082F300008FC
:1018040032300008623000088435000808B545F21B
:10181400555000F0CDFF042000F0D0FF40F6FF70DB
:1018240000F0D2FF002000F0C3FF4FF480500121EC
:10183400BDE8084000F06CBD08B57D2001F0BEF89D
:10184400003018BF012008BD4900FEF775BF4B08E2
:1018540003EB5000FEF770BF70B586B00546FFF786
:10186400ABF901210020FEF767FF042000F01EFB06
:1018740003A8294600F066FB03A800F072FB08B930
:1018840028480BE02848FFF701FB05F10C000499F8
:10189400FFF7D9F9059B984204D02448FFF7F6FADC
:1018A40001203DE0049C2248FFF7F0FA2146214A3A
:1018B40021480023FFF7F2FE049E2048FFF7E6FAD2
:1018C400002405F1C0411E4B009432460C311A48E5
:1018D400FFF748FF1B48FFF7BDFA0498FFF7E4FA47
:1018E4001948FFF7B7FA04991348FFF797F9054623
:1018F4001648FFF7AFFA0598FFF7D6FA1448FFF732
:10190400A9FA2846FFF7D0FA1248FFF7BFFA059B59
:101914009D4204D01048FFF7B9FA022000E02046A7
:1019240006B070BD7B30000899300008B63000085E
:10193400D93000084D18000800400008EC300008B9
:1019440053180008FF3000080D3100081631000854
:1019540029310008843500082F31000808B5022019
:1019640000F0BCFAD8B3042000F0B8FA70B11C48F7
:10197400FFF78CFA042000F0A5FA022000F0A2FA86
:101984004FF40040BDE8084000F09CBA1548FFF74A
:101994007DFA082000F096FA102000F093FA202037
:1019A40000F090FA402000F08DFA4FF48010FFF719
:1019B40053FF022807D1082000F078FA102000F025
:1019C40075FA00F045FB042000F07CFA022000F0D8
:1019D40079FA4FF40040BDE8084000F067BA08BD4A
:1019E4007A310008B031000810B52548FFF74EFAE7
:1019F4004FF40010FFF730FF10B102283AD809E085
:101A0400202000F05FFA402000F05CFA802000F013
:101A14004DFA2FE0082000F049FA102000F046FAB1
:101A2400202000F05BFA20B91648FFF72FFA202097
:101A340007E0402000F052FA58B91348FFF726FA9D
:101A4400402000F033FA4FF4007000F02FFA00F059
:101A5400FFFA0E48FFF71AFA082000F033FA1020B4
:101A640000F030FA202000F02DFA402000F02AFA8D
:101A7400002400E00124042000F024FA204610BDD4
:101A8400CB310008E53100081E3200085732000847
:101A940008B50248FFF7FAF900BEFEE791320008E4
:101AA4001EF0040F0CBFEFF30880EFF30980FFF77B
:101AB400EFBF70471FB504461048FFF7E7F901A9C7
:101AC4000C22204600F02FFB01A8FFF7DFF9204687
:101AD400FEF74AFEFEF7FAFF094B20F004001870E7
:101AE4001C46FEF7F3FF237800F0FB00834201D08D
:101AF40000F0AEFA0A2000F000FBF2E7873200089B
:101B0400690100207FB54FF08050012100F002FFF1
:101B1400022000F065FE012807D1022000F06AFED1
:101B2400BB48FFF7B3F900F098FA00214FF080505A
:101B340000F0F0FEFFF734F9B648FFF7A7F9B6480E
:101B4400FFF7A4F9B548FFF7A1F9B548FFF79EF9E7
:101B5400B448FFF79BF9B448FFF798F9B348FFF787
:101B640095F9B348FFF792F9B248FFF78FF9B248F5
:101B7400FFF78CF9FFF760FCFEF710FF00F0B8F9EF
:101B840000F0CEF900210C2201A801F060F800F069
:101B9400C3F901A90C2200F0C6FA01A8FFF776F9EF
:101BA4009C48FFF773F99B48FFF770F94FF48040A6
:101BB40000F094F990B1A148FFF768F94FF4804020
:101BC40000F080F9082000F07DF9102000F07AF987
:101BD400202000F077F9402000F074F9FEF7D8FDDA
:101BE400FEF782FFFEF74EFDFEF706FB08B19448B0
:101BF40003E0FEF745FB10B19248FFF75BFF00F0EE
:101C04008AF9802000F06AF918B1802000F05AF9AE
:101C140056E04FF4003000F061F9044620B14FF46F
:101C2400003000F04FF94DE00120FEF739FFB0B16C
:101C34002046FEF735FF90B18348FFF727F941F2BC
:101C440088340120FEF72CFF98B10020FEF728FF0E
:101C540078B1012000F051FA013CF2D132E07B4B23
:101C64000CCB013301D0013203D17948FFF70EF9CF
:101C740028E0FFF7E1FD48B3FFF7DEFD10B175483A
:101C8400FFF704F94FF4007000F028F910B172481E
:101C9400FFF7FCF84FF4007000F014F9102000F086
:101CA4001DF9002800F0EE806C48FFF7EFF80820DB
:101CB40000F008F9102000F005F9FFF795FE98B937
:101CC40067489AE76748FFF7E1F8F6E74FF40070D2
:101CD40000F004F90028CFD1082000F0F3F8102018
:101CE40000F0F0F8FFF73AFE4FF4005000F0F6F879
:101CF40004464FF4805000F0F1F8400040EA8400BC
:101D0400C4B24FF4006000F0E9F82043C0B20728E1
:101D1400C3B20DD14FF4006000F0D4F84FF48050FA
:101D240000F0D0F84FF4005000F0CCF84E4864E7CF
:101D34000133DBB2023B4FF40060052B11D8DFE81E
:101D440003F00C1003100C1000F0BCF84FF480509A
:101D540000F0B8F84FF4005003E000F0B3F84FF48B
:101D6400805000F0A3F8FFF751FD384B3F485D6801
:101D74001E68FFF76FF82846FFF796F83C48FFF710
:101D840069F80022930003F1604303F561430132D3
:101D94004FF0FF31082AC3F88010C3F88011F1D145
:101DA400344B4FF4801200241A635C639C631C64FC
:101DB4005C6400F02FFD3048012100F0C3FD214692
:101DC4002D4800F0BFFDF120012100F0C7FD2146A0
:101DD400F12000F0C3FD0120014600F0CBFD2146B7
:101DE400012000F0C7FD2548012100F0CFFD214668
:101DF400224800F0CBFD2248012100F0D3FD204809
:101E0400214600F0CFFD63B64FF0FF3EB5462847AC
:101E14009C32000884350008A9320008C03200084A
:101E2400D932000807330008363300086633000847
:101E340097330008C9330008FB3300082C3400082A
:101E4400014550FE024550FE593400080040000888
:101E54008B3400089E340008B6340008D6340008D9
:101E6400034550FE4A350008044550FE6935000814
:101E74007D350008003802400010E022FFC9FEF65C
:101E8400337F7704082000F029F820B10548FEF7D5
:101E9400FDFF102003E00448FEF7F8FF082000F0DF
:101EA40005F81FE7FE3400082435000810B5044681
:101EB400002000F0A7FD40EA04010020BDE8104026
:101EC40000F090BD10B50446002000F09BFD20EA10
:101ED40004010020BDE8104000F084BD10B50446A4
:101EE400002000F08FFD204214BF0120002010BD0F
:101EF40008B54FF08050012100F00CFD012000F0E6
:101F040069FC0120FFF7EAFF20B90121BDE8084080
:101F140000F068BD08BD7047022000F073BD0000EA
:101F240008B5FFF7F9FF054B1968884204D0022071
:101F3400BDE8084000F056BD08BD00BF840100089C
:101F440000BEFDE71FB504460C2201A8FEF71CFCE9
:101F540001AB03CB20601868A0602046616004B028
:101F640010BD0068A0F10C035842584170470000AE
:101F740080B50646174610480D461C46FEF76AFF14
:101F84003846FEF767FF0D48FEF764FF3046FEF75C
:101F940061FF0B48FEF75EFF2846FEF785FF2CB174
:101FA4000848FEF757FF2046FEF754FF0648FEF7A1
:101FB4006DFFFFF7C5FF00BF853500088E350008AB
:101FC400913500088F350008843500081FB506AA2E
:101FD40052F8044B039200921A462346FFF7C8FFB7
:101FE4000CB41FB506AA52F8043B03920092014AAE
:101FF400FFF7BEFF9335000807B500230093724630
:10200400014BFFF7E3FF00BF9A350008744608B59B
:102014000548FEF71FFF2046FEF746FF0348FEF77C
:1020240035FFFFF78DFF00BFA23500088435000897
:10203400BFF34F8F0449054BCA6802F4E0621343AF
:10204400CB60BFF34F8FFEE700ED00E00400FA051C
:1020540008B5FEF791FBFFF7EBFF08B5FFF7E8FFC4
:10206400F0B50646002401202546034694421DD0BF
:1020740011F804C000F1010EBCF1000F03D1735537
:10208400774605460DE00133DBB2FF2B774606F8B1
:1020940000C007D102F1FF3C644506D07355871C8C
:1020A4007546012301343846E0E770467355F0BDA8
:1020B40030B5C9B1C0430A44914213D011F8013B71
:1020C4000A4D83EA000404F00F0455F8244084EA1E
:1020D400101080EA131303F00F0355F8233083EA3A
:1020E4001010E9E7C04330BD084630BDC82D0008D4
:1020F400162358430138FDD1704710B504462CB15E
:102104004FF47A70FFF7F4FF013CF8E710BD10B507
:10211400B0FA80F400F027F801280CBFC4F11F00C6
:10212400C4F1200010BD0A2A10B51BDD0C46302373
:1021340004F8023B78234B701C220F239340034086
:10214400D340092B01D8303302E00F2B02D8573388
:10215400DBB200E02023043A04F8013B131DECD168
:1021640000238B7210BD00F0AA33A0EB530000F0E3
:10217400CC3300F0333000EB930000EB101000F090
:102184000F3000EB102000EB104000F03F007047D0
:102194002D4AD2F8883043F47003C2F888302B4BB0
:1021A4001A68002142F001021A6099601A6822F04C
:1021B400847222F480321A60254A5A601A6822F422
:1021C40080221A60D9601A6C224942F080521A6443
:1021D4000A6842F440420A609A689A609A689A606F
:1021E4009A6842F480529A601B4A5A601A6842F014
:1021F40080721A601968154A8901FBD5174B40F2A1
:1022040003611960936823F003039360936843F0B8
:10221400020393600D4B9A6802F00C02082AF9D16C
:102224009A6822F400029A600D4AC3F884201A685E
:1022340042F080621A60054B1B681B01FBD5024B00
:102244004FF000629A60704700ED00E000380240F1
:1022540010300024007000401040010F003C024088
:1022640000300050C278037810B512B3164AD16812
:102274004278C943C1F30221C1F10404E4B2A2408B
:10228400D4B20F220A4181780A40224303F1604309
:1022940003F561431201D2B283F8002303780122CB
:1022A400590903F01F0302FA03F3084A42F82130E4
:1022B40010BD5A09012103F01F03994002F12003C4
:1022C400024A42F8231010BD00ED00E000E100E0F6
:1022D400014B01229A60704700300240014B1860A4
:1022E400186870470030024000EB81018842044BBB
:1022F40003D050F8042B1A60F8E71868704700BF41
:1023040000300240014B1868704700BF00300240A3
:10231400044B9A6809B1104301E022EA0000986076
:10232400704700BF002004E0044B1A69002ABFBFB5
:10233400034A5A6002F188325A607047003C0240F6
:1023440023016745024A136943F000431361704750
:10235400003C0240014BD860704700BF003C024083
:102364000E4BDA68D20310D4DA68D1060FD4DA68D7
:10237400D2050ED4DA6812F0EF0F0CD1DB6813F03B
:10238400020F14BF0820092070470120704706205F
:102394007047022070470720704700BF003C02408E
:1023A40007B509238DF80730FFF7DAFF8DF807002A
:1023B4009DF80730012BF7D09DF8070003B05DF8B6
:1023C40004FB000070B5064641B1012908D002297A
:1023D4000CBF4FF400754FF4407503E00D4601E067
:1023E4004FF48075FFF7DCFF09281ED10F4C2369D9
:1023F40023F440732361216929432161236923F074
:10240400F8032361236943F002031E432661236911
:1024140043F480332361FFF7C3FF236923F00203EE
:102424002361236923F0F803236170BD003C02405B
:1024340070B505460E46FFF7B3FF092811D1094CC4
:10244400236923F44073236123692361236943F0DF
:10245400010323612E70FFF7A3FF236923F0010317
:10246400236170BD003C024070B543688668856A8C
:102474000468416B46EA0302C3681A4303691A43BA
:1024840043691A4383691A43C3691A43036A1A43A3
:10249400436A1343C26A2B431A43036B1343A200D8
:1024A40002F120420B43082E136002BF136843F06D
:1024B40040031360B1F5801F816B12D18CB14FF0D2
:1024C40020435C681E6846F480161E601E6846F44D
:1024D40080761E600E6924F47004013E44EA0654BA
:1024E4005C608C690B6823434C6843EA04138C6872
:1024F40043EA0423CC6843EA04430C69496943EA88
:10250400045343EA0163B5F5804F536010D1C16BA6
:1025140088690B680343486843EA0013886843EA00
:1025240000230869496943EA005343EA016301E06F
:102534006FF07043C2F8043170BD0000800000F1F8
:10254400204019B1036843F0010302E00268024B22
:1025540013400360704700BFFEFF0F00F0B50E6824
:1025640000220123934003EA060E9E452AD155001A
:1025740003230468AB40DB431C4004600C79076808
:1025840004FA05FC013C4CEA0707012C076011D84A
:1025940084684F791C4084608468AF402743876017
:1025A400446824EA0E0444608C7947689440A4B2D9
:1025B4003C434460C4682340C360CB79C468AB40E7
:1025C4002343C3600132102ACBD1F0BD4FF6FF7311
:1025D40003600023037143718371C37170470369FE
:1025E400194214BF0120002070470AB101837047CB
:1025F4004183704701F00703C90800EB810010B55F
:102604009B00046A0F21994024EA01010162016AD6
:102614009A401143016210BD08B5134B984207D18B
:102624004FF40010012100F0B1F94FF4001014E050
:102634000E4B984207D14FF48000012100F0A6F917
:102644004FF4800009E00A4B98420BD14FF400008C
:10265400012100F09BF94FF400000021BDE808407F
:1026640000F094B908BD00BF005400400058004079
:10267400005C00407FB5868826F03F060446360499
:1026840068460D46360C00F0E9F8029A2C48B2FB75
:10269400F0F081B20E43A68023882A4E23F0010372
:1026A4001B041B0C23802B68B3420AD85B00013146
:1026B400B2FBF3F39BB2032B89B298BF04232184AA
:1026C40023E0EE884BF6FF718E421BBF19214B436A
:1026D40003EB4303B2FBF3F315BF9BB2B2FBF3F37B
:1026E40043F480439BB2C3F30B020AB943F00103E2
:1026F4004FF4967101FB00F24FF47A7192FBF1F200
:10270400013292B243F400432284A383238869896B
:10271400AA889BB243F001032380238823F48163B6
:1027240023F002031B040A431B0C13439BB22380B4
:102734002A89AB8913439BB2238104B070BD00BFC7
:1027440040420F00A086010041F288330360002359
:1027540083804BF6FF72038143814FF48043C28030
:1027640083817047038819B19BB243F0010303E0EE
:1027740023F001031B041B0C03807047038819B169
:102784009BB243F4806303E023F480631B041B0CBB
:1027940003807047838A9AB2038B10B542EA0343DD
:1027A40021F07F4404EA0300431A5842584110BD03
:1027B400014B1860704700BF00300040014B586067
:1027C400704700BF00300040014B9860704700BF65
:1027D40000300040014B1860704700BF20000E42DB
:1027E400034B5B68184214BF01200020704700BFF0
:1027F40000700040064BB0F5402F15BF1A685A68A8
:1028040042EA800042F4402214BF18605A607047C4
:10281400007000400E4B1A68002142F001021A6059
:1028240099601A6822F0A85222F410221A60094A08
:102834005A60094AC3F8842002F18062C3F88820F0
:102844001A6822F480221A60D960C3F88C10704789
:102854000038024010300024003000201D4A9368E4
:1028640003F00C03042B10B503D0082B03D01A4B30
:1028740018E01A4B16E05168536811F4800F03F006
:102884003F03516814BF154A134AB2FBF3F3114ACC
:102894005268C2F30142C1F3881101324B43520022
:1028A400B3FBF2F30B4A036093680D49C3F30313BC
:1028B400CC5C0368E34043609468C4F382240C5DF9
:1028C40023FA04F484609268C2F342328A5CD340EF
:1028D400C36010BD003802400024F40040787D013C
:1028E40001000020044B1A6B09B1104301E022EAF5
:1028F40000001863704700BF00380240044B9A6B15
:1029040009B1104301E022EA00009863704700BF58
:1029140000380240044B1A6C09B1104301E022EA6A
:1029240000001864704700BF00380240044B5A6C22
:1029340009B1104301E022EA00005864704700BF67
:1029440000380240044B1A6909B1104301E022EA3D
:1029540000001861704700BF00380240044B5A69F8
:1029640009B1104301E022EA00005861704700BF3A
:1029740000380240044B9A6909B1104301E022EA8D
:1029840000009861704700BF00380240044B1A6A87
:1029940009B1104301E022EA00001862704700BF49
:1029A40000380240044B5A6A09B1104301E022EA9C
:1029B40000005862704700BF003802404209012AF3
:1029C400074B01D11B6803E0022A0CBF1B6F5B6F2E
:1029D40000F01F0023FA00F000F00100704700BF70
:1029E4000038024082B000230193054B0193019B00
:1029F40003EB80000190019B196002B0704700BF97
:102A04005028004082B000230193054B0193019BA1
:102A140003EB80000190019B186802B0704700BF6F
:102A24005028004008B5254B984207D14FF48050F8
:102A34000121FFF7B7FF4FF4805039E0204B984253
:102A440007D14FF480400121FFF7A0FF4FF48040ED
:102A540009E01C4B98420BD14FF400400121FFF7D1
:102A640095FF4FF400400021BDE80840FFF78EBFFA
:102A7400154B984207D14FF400500121FFF792FF04
:102A84004FF4005014E0114B984207D14FF48010DA
:102A94000121FFF787FF4FF4801009E00C4B9842A7
:102AA4000BD14FF400100121FFF77CFF4FF400100D
:102AB4000021BDE80840FFF775BF08BD00300140A4
:102AC40000380040003C0040003401400050014008
:102AD4000054014003884A8810B503F441540B881C
:102AE40013438A881343CA8813430A8913434A89C0
:102AF40013438A891343CA89134323439BB2038034
:102B0400838B23F400631B041B0C83830B8A0382D3
:102B140010BD0023038043808380C38003814381ED
:102B24008381C381072303827047038819B19BB251
:102B340043F0400303E023F040031B041B0C038019
:102B44007047808980B27047818170470389194238
:102B540014BF0120002070477FB5038ACA889BB246
:102B640023F440531343038283890E469BB223F418
:102B7400B053098923F00C02B3880B4371890B43CA
:102B84009BB213438381838AB2899BB223F440733B
:102B94001343838204466846FFF760FE1A4B9C4247
:102BA40003D003F580639C4201D1039D00E0029DA4
:102BB400A38931681BB2002B4FF0190202FB05F206
:102BC400B4BF4D008D00B2FBF5F5A2896426B5FBB8
:102BD400F6F00001010912B2002A06FB1153ADBF41
:102BE4001A01D90032313232B5BFB1FBF6F2B2FB71
:102BF400F6F302F0070203F00F03B4BF10431843C7
:102C040080B2208104B070BD00100140838919B1E5
:102C14009BB243F4005303E023F400531B041B0C46
:102C240083817047C1F3080181807047038819428A
:102C340014BF01200020704710B5431E0A4491427E
:102C440004D011F8014B03F8014FF8E710BD02441A
:102C54000346934202D003F8011BFAE770470000D1
:102C64000400000001030000010000000100000056
:102C740003000000010000000F0000000F0000002E
:102C840000000000AE2F00080018024010000000F1
:102C940006040000B32F00080018024008000000DA
:102CA40006030000B62F00080018024002000000CE
:102CB40006010000BD2F00080018024004000000B7
:102CC40006020000000000000000000001424F4F17
:102CD400544C4F414445520000000000002A2A0091
:102CE400000000000000000000000000005400404C
:102CF40000040240400000000600040000040240FA
:102D0400000200000900040000002000801A0600F0
:102D1400004000001F200000000000000000000030
:102D240000580040001402400200000001000400AA
:102D340000140240010000000000040000004000F4
:102D4400801A0600FFBF00002122000000000000DE
:102D54000116000801000300820007008400070038
:102D6400010003000200030040000300800007008C
:102D740084000700000101000000000000000008BA
:102D8400004000080080000800C00008000001089E
:102D940000000208000004080000060800000808FB
:102DA40000000A0800000C0800000E0800000800DB
:102DB40010001800200028003000380040004800AF
:102DC40050005800000000006410B71DC8206E3B7E
:102DD400AC30D9269041DC76F4516B6B5861B24D1E
:102DE4003C7105502083B8ED44930FF0E8A3D6D688
:102DF4008CB361CBB0C2649BD4D2D38678E20AA0F0
:102E04001CF2BDBD537475636B20627574746F6E70
:102E140020726567697374657220697320696E76C0
:102E2400616C69642C20636C656172696E672E0045
:102E3400427574746F6E206973207075736865646D
:102E440020617420626F6F740069636534306C7044
:102E54002E630043444F4E45206E6F74206C6F7791
:102E640020647572696E67207265736574004352DD
:102E740045534554206E6F742068696768206475F3
:102E840072696E6720726573657400446973706C4F
:102E9400617920627573792D776169742074696D25
:102EA400656F757420657870697265642100436F7D
:102EB4006E6669677572696E672046504741206681
:102EC400726F6D2062697473747265616D20696ECE
:102ED40020666C6173682E2E2E004E6F204650477C
:102EE400412062697473747265616D20696E206635
:102EF4006C6173682E0046616C6C696E6720626158
:102F0400636B20746F204E56434D2E00465047414C
:102F14002043444F4E452074696D656F7574206578
:102F240078706972656421004650474120636F6E72
:102F340066696775726174696F6E206661696C6534
:102F4400642E204973207468697320612062696764
:102F5400626F6172643F0046504741207665727328
:102F6400696F6E3A2000446973706C617920696EF0
:102F7400697469616C697A6564206166746572203C
:102F84000020726574726965732E00446973706CF5
:102F9400617920696E697469616C697A6174696FB9
:102FA4006E206661696C65642E004261636B005536
:102FB400700053656C65637400446F776E006372D0
:102FC400632E63006932632E6300493243206465D3
:102FD40076696365204944206F7574206F662062AA
:102FE4006F756E647320256420286D61783A2025FE
:102FF4006429006F6E007370692E6300206973206A
:103004006F7574736964652073797374656D206674
:103014006C6173680D0A0073797374656D5F666C17
:103024006173685F657261736528002C2000290D47
:103034000A006661696C656420746F20657261734F
:103044006520736563746F72200073797374656DA2
:103054005F666C6173685F77726974652800666186
:10306400696C656420746F2077726974652061648B
:1030740064726573732000496E76616C69642066BE
:1030840069726D77617265206465736372697074C7
:10309400696F6E2100436865636B73756D6D696E4E
:1030A40067206669726D77617265207570646174FA
:1030B4006500496E76616C6964206669726D77613A
:1030C40072652043524320696E2053504920666C38
:1030D400617368210065726173655F6F6C645F661C
:1030E40069726D776172650077726974655F6E6588
:1030F400775F6669726D7761726500436865636BBB
:1031040073756D6D696E6720002062797465730D47
:103114000A00436865636B73756D202D2077616EBB
:10312400746564200020676F7420004F75722069F5
:103134006E7465726E616C20666C61736820636F77
:103144006E74656E747320617265206261642028F8
:10315400636865636B73756D206661696C6564296A
:10316400212054686973206973207265616C6C79DD
:103174002062616421004F75722070726576696FF8
:103184007573206669726D7761726520757064610C
:103194007465206661696C65642C2061626F727469
:1031A400696E67207570646174652E004E657720C2
:1031B4006669726D776172652069732061766169F1
:1031C4006C61626C6521004C6F6164696E6720728A
:1031D40065636F76657279206669726D7761726571
:1031E400004661696C656420746F206C6F616420B3
:1031F4007265636F76657279206669726D77617244
:10320400652C20737472696B65206F6E652E205473
:10321400727920616761696E2E004661696C65642C
:1032240020746F206C6F6164207265636F766572C1
:1032340079206669726D776172652C207374726986
:103244006B652074776F2E205472792061676169F1
:103254006E2E004661696C656420746F206C6F612A
:1032640064207265636F76657279206669726D7722
:103274006172652C20737472696B65207468726561
:10328400652E20534144205741544348004841523D
:1032940044204641554C5400657869742073746128
:1032A4006E64627900205F5F5F5F20202020202011
:1032B4002020202020202020205F5F002F5C202061
:1032C4005F605C20202020202020202020202F2729
:1032D4005F5F605C005C205C2C5C4C5C5F5C20206D
:1032E40020205F5F5F202F5C205C2F5C205C20200F
:1032F4005F5F20205F5F20205F5F20205F5F2020D2
:103304005F5F00205C2F5F5C5F5F205C20202F27C5
:10331400205F20605C205C205C205C205C2F5C20B3
:103324005C2F5C205C2F5C205C2F5C205C2F5C207D
:103334005C002020202F5C205C4C5C205C2F5C20F7
:103344005C2F5C205C205C205C5F5C205C205C204B
:103354005C5F2F205C5F2F205C205C205C5F5C2026
:103364005C002020205C20605C5F5F5F5F5C205C11
:103374005F5C205C5F5C205C5F5F5F5F2F5C205C58
:103384005F5F5F785F5F5F2F275C2F605F5F5F5FCA
:10339400205C00202020205C2F5F5F5F5F5F2F5C3C
:1033A4002F5F2F5C2F5F2F5C2F5F5F5F2F20205CD0
:1033B4002F5F5F2F2F5F5F2F202020602F5F5F5FC5
:1033C4002F3E205C002020202020202020202020B0
:1033D40020202020202020202020202020202020E9
:1033E40020202020202020202020202020202020D9
:1033F4002F5C5F5F5F2F00202020202020202020D2
:1034040020202020202020202020202020202020B8
:1034140020202020202020202020202020202020A8
:1034240020205C2F5F5F2F004C61737420666972EB
:103434006D7761726520626F6F742077617320739A
:103444007461626C653B20636C6561722073747295
:10345400696B657300486F6C6420646F776E2055E8
:1034640050202B204241434B20666F72203520733D
:103474006563732E20746F20666F7263652D626FAF
:103484006F7420505246004669726D7761726520F0
:10349400697320657261736564005761746368645D
:1034A4006F6720636175736564206120726573655D
:1034B4007400536F667477617265206661696C7518
:1034C400726520636175736564206120726573653C
:1034D40074004661696C656420746F207374617252
:1034E40074206669726D776172652C2073747269D9
:1034F4006B652074687265652E004661696C65644D
:1035040020746F207374617274206669726D7761C0
:1035140072652C20737472696B652074776F2E004A
:103524004661696C656420746F20737461727420E1
:103534006669726D776172652C20737472696B654C
:10354400206F6E652E00466F7263652D626F6F7417
:10355400696E67207265636F76657279206D6F643A
:10356400652E2E2E00426F6F74696E672066697235
:103574006D77617265204020002E2E2E0D0A0D0AF3
:10358400004153534552543A20002020003A004150
:103594005353455254004153534552544E002A2A22
:1035A4002A20575446200053544D33320053544D6F
:1035B4003332207065726970686572616C206C6961
:1035C4006272617279207472697070656420616ED0
:1035D400206173736572740043524F414B204F4F07
:0435E4004D00000096
:1035E800FF000000000102030401020304060708AB
:0435F80009000000C6
:04000005080001B43A
:00000001FF

View file

@ -0,0 +1,869 @@
:020000040800F2
:1000000070210020B5010008F9010008A51A0008B8
:10001000F9010008F9010008F901000800000000DA
:10002000000000000000000000000000F9010008CE
:10003000F901000800000000F9010008F9010008BA
:10004000F9010008F9010008F9010008F9010008A8
:10005000F9010008F9010008F9010008F901000898
:10006000F9010008F9010008F9010008F901000888
:10007000F9010008F9010008F9010008F901000878
:10008000F9010008F9010008F9010008F901000868
:10009000F9010008F9010008F9010008F901000858
:1000A000F9010008F9010008F9010008F901000848
:1000B000F9010008F9010008F9010008D11500084C
:1000C000DD150008E9150008F5150008F90100081C
:1000D000F9010008F9010008F9010008F901000818
:1000E000F9010008F9010008F9010008F901000808
:1000F000F9010008F9010008F9010008F9010008F8
:10010000F9010008F9010008F9010008F9010008E7
:10011000F9010008F9010008F9010008F9010008D7
:10012000F9010008F9010008F9010008F9010008C7
:10013000F9010008F9010008F9010008F9010008B7
:10014000F9010008F9010008F9010008F9010008A7
:10015000F9010008F9010008F9010008F901000897
:10016000F9010008F9010008F9010008F901000887
:10017000F9010008F9010008F9010008F901000877
:04018000F901000879
:100184008BB8185876342E332D616C706861322D1B
:1001940033342D6738663564383732000000000088
:0F01A40000000000386635643837320000000173
:1001B400002103E00A4B5B584350043109480A4BC1
:1001C40042189A42F6D3094A02E0002342F8043B5B
:1001D400074B9A42F9D301F0DBFF01F093FC70471F
:1001E400E83500080000002014000020140000205E
:1001F4006C010020FEE7000030B501208BB002F056
:1002040001FC002401902546E0B200F049FC01AA5B
:1002140008B9105519E0135D042B10DD164800F0E1
:1002240035FE02A92022019801F07DFF02A800F00A
:100234002DFE0120002102F0D5FB00201AE001333D
:10024400DBB2052B135528BF01250134042CDBD167
:10025400019C54B1094800F019FE204602A920224D
:1002640001F061FF02A800F011FE0120214602F016
:10027400B9FB28460BB030BD082E0008342E000808
:1002840008B500F017FB80F00100C0B208BD000003
:1002940008B54FF48061034802F0A1F9003018BF9B
:1002A400012008BD001802402DE9F0434A4C89B0F2
:1002B400204600F005FE20460D21052202F09AF9A1
:1002C40020460E21052208AE02F094F905222046AC
:1002D4000C2102F08FF94FF4005346F81C3D002521
:1002E40001274FF00209204631468DF80A508DF857
:1002F4000B508DF808908DF8097002F02FF94FF427
:10030400804320463146019302F028F94FF480538C
:100314002046314601934FF4007802F01FF920463D
:1003240031468DF808508DF80B70CDF8048002F03A
:1003340015F94FF480632046314601938DF8085037
:100344008DF80B5002F00AF94FF4807320463146C1
:1003540001938DF808708DF80B5002F0FFF84FF4FC
:1003640000432046314601938DF80A708DF80B50F6
:1003740002F0F4F839464FF4001002F0D7FAA4F56D
:100384004444164B164E1E60204602F04BFB03A855
:1003940002F0BFFB4FF4827339463046ADF80E309D
:1003A400ADF80C50ADF81050ADF81290ADF81470D3
:1003B400ADF8168001F024F903A9ADF81800204621
:1003C400ADF81A5002F086FB2046394602F0ADFB28
:1003D40009B0BDE8F08300BF0018024014000020FB
:1003E4000024F40008B5022001F087FE012000F08B
:1003F40045FB022001F081FE0120BDE8084000F029
:100404002BBB000010B504460548022102F09EFBF8
:100414000028F9D021460248BDE8104002F094BB00
:100424000054014038B5012204460D4629484FF4D2
:10043400807102F0DAF8012001F05FFE25484FF4E4
:100444000041002202F0D1F84FF4807100222148CB
:1004540002F0CBF8012001F050FE4FF400411D489A
:10046400012202F0C2F8012001F047FE19484FF4BE
:10047400007102F0B4F818B11748184A6A210AE06A
:1004840014484FF4004102F0AAF808B1254404E0EE
:100494001148134A6B2101F0A3FDAC4204D014F8B7
:1004A400010BFFF7AFFFF8E70A484FF48071012210
:1004B40002F09BF808240020FFF7A4FF013CFAD1C6
:1004C4004FF40071034802F08AF8003018BF01208D
:1004D40038BD00BF001802404D2E0008572E0008FA
:1004E400722E000810B504460B4802F02AFB0A4895
:1004F400022102F02BFB0028F9D00748214602F024
:1005040023FB0548012102F021FB0028F9D0024811
:1005140002F017FBC0B210BD0054014010B54FF4F7
:10052400807104460022054802F05FF8642001F05F
:10053400DFFD2046BDE81040FFF764BF001802400D
:1005440008B50748802102F001FB0028F9D10548CD
:100554004FF480710122BDE8084002F046B800BFA4
:10056400005401400018024010B540F2F514FFF7A2
:100574008FFE50B1013C04D1054800F087FC2046B1
:1005840010BD642001F0B4FDF1E7012010BD00BFEF
:100594008F2E000810B5224C638822884FF6FF7115
:1005A400DB438A429BB20BD09A4209D11D4800F02A
:1005B4006DFC1D482188FFF735FF20B1012010BDD7
:1005C4001A4800F063FC1A4800F060FC19484FF424
:1005D4008071012202F009F84FF40041002215480D
:1005E40002F003F8012001F088FD12484FF40041A5
:1005F400012201F0FAFF40F2E9340E484FF4007191
:1006040001F0EDFF0028D9D1013C04D10A4800F0E3
:100614003DFC204610BD642001F06AFDEDE700BFFB
:1006240000000F60B22E000804000F60DE2E0008E8
:10063400FA2E000800180240102F000810B50446D6
:100644000420FFF76BFF2046FFF7DCFEBDE81040F7
:10065400FFF776BF10B504460120FFF75FFFE0B255
:10066400FFF7D0FEC4F30720FFF7CCFEC4F3074026
:10067400FFF7C8FE200EFFF7C5FEBDE81040FFF7E8
:100684005FBF000010B5FFF70FFEFFF783FF08B947
:10069400224830E0224800F0DDFB4FF48071002254
:1006A400204801F0A2FF642001F022FD0020FFF7A2
:1006B40019FF4FF48071012204461A4801F095FF96
:1006C400204600F0F1FB184800F0E0FBFFF78AFE3B
:1006D40000240120FFF7B2FFFFF746FF78B10320A3
:1006E400FFF71CFFFFF72CFF104800F0B3FB204678
:1006F40000F0DAFB0E48BDE8104000F0C7BB01343F
:10070400FFF748FF152CE4D10A4800F0BFFB022094
:10071400FFF704FFBDE81040FFF712BF2C2F0008BD
:100724005B2F000800180240843500086A2F000877
:10073400852F00088F2F000808B55D235843094B07
:100744004A1C00EB52001A78B0FBF1F0C0B28242AE
:1007540007D01870FFF77EFF0220BDE80840FFF7BE
:100764006DBF08BD0000002008B5FFF773FF03202C
:10077400BDE80840FFF762BF08B50220FFF7CEFED0
:10078400BDE80840FFF7DCBE01F1C04102F054BAF5
:1007940070B543489AB000F093FB424800F090FBD8
:1007A400414800F08DFB414B93E8030001AD85E81F
:1007B40003003C48294601F0D1FE3A4804210122B5
:1007C40001F013FF00240223029435488DF8083009
:1007D400072103230C228DF80930019401F00AFF4C
:1007E40080232F480193294601F0B8FE022C04D03F
:1007F4002C48A1B20C2201F0FDFE0134102CF5D1DD
:100804004FF6FB7327480193294601F0A7FE022601
:100814003146013624480C22B6B201F0EBFE102E0C
:10082400F6D14FF6FC7329461F48019301F096FE5A
:10083400042100221B481E4D01F0D7FE0A2001F0BE
:1008440057FC01220421174801F0CFFE1E2001F0BD
:100854004FFC0120014602F051F80FCD03AC0FC448
:1008640095E8070084E80700402200210AA802F066
:10087400EEF902230B9308230C934FF48053129345
:100884004FF4005313930AA803AB18930D9601F089
:10089400EBFD0020012101F051FE1AB070BD00BF34
:1008A40000040240000C024000100240642C0008C6
:1008B4006C2C00080D4B98221A80A3F68A231B88FF
:1008C400DBB2512B0CD10A4B1B88DBB2522B07D164
:1008D400084B1888C0B2A0F159035842584100E0AF
:1008E4000020024BF0221A80704700BFAA0A006061
:1008F400220000602400006002460B4604205021C0
:1009040000F045BE02460B460420502100F054BEC0
:10091400032873B50E4603D0042804D001F076FBF7
:1009240014241C4D01E01C4D162420460DF1070132
:10093400FFF7E2FF08B900202AE02B78AEB10BB133
:10094400013323E09DF8071021F0060141F0020174
:1009540020468DF80710FFF7D5FF0028EBD00124BF
:1009640003202C7001F0C9FB11E05AB2012A0CDCFF
:100974009DF80710204601F0F9018DF80710FFF7E4
:10098400C1FF0028D7D02E7001E0013B2B7001205D
:1009940002B070BD180000201900002073B525486E
:1009A40000F08EFA02254FF410730024012621482A
:1009B400009369468DF804508DF805508DF8066053
:1009C4008DF8074001F0CAFD1A480621042201F0FF
:1009D40011FE04220921174801F00CFE154800F00D
:1009E40087FA154800F06CFA42F20C036946124883
:1009F40000938DF805508DF804608DF806408DF84D
:100A0400074001F0ABFD0C4800F072FA042000F03E
:100A140057FD20466946FFF76FFF9DF80050B54229
:100A240005D103202946FFF773FF284600E020463E
:100A340002B070BD000402400014024010B5044628
:100A4400042000F03DFD21460420FFF761FF04204F
:100A5400BDE8104000F066BD38B5074C0546204699
:100A640000F02EFA20462A46042101F0BEFD20465D
:100A7400BDE8384000F03CBA0014024038B5074CD9
:100A84000546204600F01CFA20462A46082101F0BB
:100A9400ACFD2046BDE8384000F02ABA00140240FC
:100AA40038B5094C04EB00146568284600F008FAD0
:100AB4002189284601F093FD0446284600F018FADF
:100AC400B4FA84F0400938BD882C000838B50024F5
:100AD4002546E0B2FFF7E4FFA04001340543042CAF
:100AE400EDB2F6D1284638BDF7B54FF48040012168
:100AF400134C01F01BFF04F140076568284600F021
:100B0400DFF9684601F062FD02238DF80530A37B0E
:100B14008DF807302846A3680093694600268DF8AF
:100B24000460103401F01AFD284600F0E1F9BC42DB
:100B3400E3D14FF48040314601F0F8FE03B0F0BD3C
:100B4400882C000808B5054B1B781BB904483221D2
:100B540001F052FABDE8084001F0C6BB1A000020BB
:100B6400C22F0008124B1B7870B505460C461BB902
:100B74001048382101F040FA032906D98E0831467D
:100B8400FFF7E0FFB6003544A41B6CB12B462C44A0
:100B94000020A34204D013F8012B42EA0020F8E716
:100BA400BDE8704001F09ABBBDE8704001F0AABBFB
:100BB4001A000020C22F0008024B1A780AB9012239
:100BC4001A7070471A00002008B5084B1A781AB931
:100BD40007482B2101F010FA01214FF4805059707D
:100BE40001F080FEBDE8084001F072BB1A0000204D
:100BF400C22F000808B5074B1A781AB906485121C4
:100C040001F0FAF9002159704FF48050BDE8084012
:100C140001F068BE1A000020C22F000870B50C460F
:100C24000546A608FFF7D0FF28463146FFF78AFF9E
:100C340004F0030105EB8600FFF794FF0446FFF779
:100C4400D9FF204670BD70B5A0B00D460646FFF72B
:100C5400BBFF2C467119802CA1EB0401684608D90E
:100C64008022FFF791FD68462021FFF76BFF803C4F
:100C7400F0E72246FFF788FD21466846FFF772FF3A
:100C84000446FFF7B7FF204620B070BD0A4B1B781F
:100C940010B504467BB10948402101F0C7FF002884
:100CA400F9D00648214601F0BDFF0448402101F077
:100CB400BDFF0028F9D010BD1C00002000480040F2
:100CC4002DE9F043334D83B06C6804F12E0323F017
:100CD400070300AFADEB030D50238DF80030212343
:100CE4008DF8013000238DF8023003238DF8033092
:100CF40004F121035BBAADF80430274B04F1270853
:100D04006E460DF1060203F11C0153F8040B42F880
:100D1400040B8B42F9D11B78137004F1230922468A
:100D240006F123001D4901F087FF31464A460020A1
:100D340001F0BEF907F1080304F5927443F8040DB9
:100D4400186846F80900FE23B4FBF3F34344073361
:100D540023F00703ADEB030D31464246684601F02C
:100D64007FF904465520FFF791FF6E466C44A64276
:100D740007D016F8010B552808BF0020FFF786FF9F
:100D8400F5E75520FFF782FF00230C376B60BD4663
:100D9400BDE8F0831C000020D02C000824000020B3
:100DA4002DE9F041274C86B0204600F089F84FF435
:100DB4008020012101F0AEFD20460A21072201F026
:100DC40019FC06AE072220460B2101F013FC4FF458
:100DD400806346F8183D002501274FF0020820469D
:100DE40031468DF806508DF807708DF804808DF823
:100DF400058001F0B3FB4FF40063204631460093B5
:100E04008DF8048001F0AAFBADF80C50ADF80E503B
:100E1400ADF81050ADF814500B4D0C4B029328460E
:100E24000C2302A9ADF8123001F096FE284639468B
:100E340001F0ECFE204600F05BF8054B1F7006B095
:100E4400BDE8F081000802400048004040420F0025
:100E54001C00002038B50C4B1A781C469AB1451E6C
:100E640015F8012F7AB163680749FF2B0BD80A2ABA
:100E740002D1FFF725FFF3E70D2A1FBF581C5B18AB
:100E840048601A72ECE738BD1C00002008B5054B19
:100E94001B782BB1FFF7DEFFBDE80840FFF710BF5A
:100EA40008BD00BF1C0000201FB50C2201A901F0E1
:100EB4003AF901A8FFF7CEFF05B05DF804FB000086
:100EC40000F13F4000F57E00C0F3872008280AD8CF
:100ED400054A135C591C11542BB9044901230A6BAC
:100EE400834013430B637047240100200038024001
:100EF40000F13F4000F57E00C0F3872008280DD89C
:100F0400074A135C53B1013BDBB2135433B90549AF
:100F140001230A6B834022EA03030B63704700BF7B
:100F2400240100200038024002460068838823F42C
:100F3400E0631B041B0C838003889BB243F400739F
:100F4400038008230020517513751076704737B558
:100F540004460D46FFF7B4FF0023204669468DF88A
:100F640004308DF805308DF80730009501F0F6FA5D
:100F74002046FFF7BDFF03B030BD000010B50B4C99
:100F8400342300FB0344236B7BB10A2001F0B5F842
:100F94006068A168FFF7DBFF20696169FFF7D7FF8D
:100FA400236B0120BDE81040184710BDF02C000849
:100FB400F7B5044616460F461D46FFF781FF02218A
:100FC40001238DF804108DF805108DF806302046A5
:100FD400002369468DF80730009701F0BFFA2046D8
:100FE40031462A4601F006FB2046FFF781FF03B095
:100FF400F0BD0000027D082A10B5044607D102683E
:10100400938823F4C0631B041B0C938084E0434B3C
:10101400006803EB8203996E01F0BCFB00287BD0CF
:10102400237D072B72D8DFE803F0040B1921323B30
:101034005A6E237A226803F0FE03138201232DE003
:101044002268A37A1382637A0BB1022326E0938881
:101054009BB243F48063938006231FE022681388C5
:101064009BB243F480731380032317E0237A22682E
:1010740043F001031382E37A012B01BF138823F4A5
:1010840080631B041B0C08BF1380042306E0226842
:1010940093889BB243F480639380052323753BE0DC
:1010A40023682269198A237BD154237BE27A013392
:1010B400DBB2591C9142237307D12268138823F4AD
:1010C40080631B041B0C138026E0934224D1226806
:1010D400938823F480631B041B0C938013E0237B0D
:1010E40021692268CB5C1382237BE17A0133DBB272
:1010F4009942237310D1938823F480631B041B0C3F
:1011040093800723CAE72046012101E020460021FD
:10111400BDE81040FFF708BF002010BDF02C000808
:101124007FB51D4D1C2303FB005306461B790BB9E9
:10113400FFF724FF194C342306FB03446068A168BD
:10114400A289A37BFFF734FF228BA37E2069616908
:10115400FFF72EFFE069012101F0DCFB684601F096
:10116400F3FA0F4A236A009393424FF48063ADF875
:101174000A304FF01C0384BF626AADF8062003FBFB
:1011840006F46946285901F075FA2859012101F03D
:10119400E9FA04B070BD00BF30010020F02C000853
:1011A400A086010073B504460E460025FFF788FEAD
:1011B4000123204669468DF8043000968DF80550C9
:1011C4008DF8075001F0CAF92046B1B22A4601F061
:1011D4000CFA2046FFF78CFE02B070BD10B5094C26
:1011E400342300FB0344236B5BB100209847606801
:1011F400A168FFF7D7FF20696169BDE81040FFF7D8
:10120400D1BF10BDF02C00081C23104A434370B515
:1012140005460F4CD058D61801F0FEF9342305FBCF
:1012240003440021E06901F075FB337923B92846B2
:10123400BDE87040FFF7D2BF6068A168FFF787FE82
:1012440020696169BDE87040FFF781BE300100206C
:10125400F02C00082DE9F347504C9A4694F83830A6
:10126400884691461BB94E4840F2951104E0042883
:1012740004D94B484FF4CB7100F0BEFE494B1844DF
:101284001C2590F88860754363191B790BB90020FD
:1012940081E063591B8B9F0716D41C2070432718C9
:1012A40000259DF828300B9A87F8089087F80AA043
:1012B40087F80980FB723D733D753A61FD822058C1
:1012C400012101F05BFA2AE03046FFF79DFF30462A
:1012D400FFF726FF6159344B0A8B9007DDD5013B9C
:1012E400FAD1D4E71C2303FB06431B7E23B1019BE5
:1012F4005A1E0192002BF5D11C2303FB0643002246
:101304001A76019903F1100239B3117908291AD117
:1013140055791C2303FB06431B7D082B2BD01C2370
:101324007343E018E1580A8892B242F480720A804A
:10133400E25893889BB243F440739380012303766D
:10134400194B0193D3E7D188B1F57A7F05D20131E6
:10135400D180012000F0D1FEDBE719688B8823F4EB
:10136400E0631B041B0C8B800B889BB243F400735B
:101374000B80082313711C237343E1580A4B0A8B17
:10138400920707D5013BFAD13046FFF73DFF3046BF
:10139400FFF7C6FE284602B0BDE8F0873001002002
:1013A400C82F0008F02C000880841E00017D03680B
:1013B400082906D19A8822F480721204120C9A80A9
:1013C40038E09A8A120541BF9A8A22F40062120414
:1013D400120C48BF9A829A8AD20541BF9A8A22F493
:1013E40080721204120C48BF9A829A8A52051ED542
:1013F4009A8A22F480621204120C04299A820AD175
:10140400032202759A8822F4E0621204120C9A8074
:10141400002303760EE0012909D19A8822F4E062C0
:1014240012040021120C01759A80017602E0002159
:10143400FFF77ABD002070472DE9F3411D4C1E4E85
:1014440000251E4F56F8283C44F8043C1C2202FB9D
:1014540005720023237013760822227432788DF8E3
:1014640004204FF001080C2201A82372E371E36009
:101474008DF805208DF806308DF8078000F0F2FE17
:1014840073788DF8043001A800F0ECFE54F8040CD5
:1014940001F0C2F8454504F11C0406F1340601D0FC
:1014A4004546CEE7284687F83850FFF797FE02B046
:1014B400BDE8F08134010020182D0008300100201F
:1014C40073B5144C94F838200346254622B91248C3
:1014D40040F2331100F090FD042807D90522009250
:1014E4000D480E4A40F2351100F07AFD0C4A1344BF
:1014F40093F888401C2303FB04521E46127912B948
:101504002046FFF70DFE06FB0454237901332371B3
:1015140002B070BD30010020C82F0008CE2F000893
:10152400F02C0008104A08B592F838301BB90F485F
:1015340040F2451104E0042804D90C484FF4A37187
:1015440000F05AFD0A4B18441C2390F8880003FB52
:10155400002213793BB1013BDBB213711BB9BDE827
:101564000840FFF751BE08BD30010020C82F000815
:10157400F02C000837B50D4614460093069B0193E2
:1015840001212A462346FFF765FE03B030BD07B5A7
:1015940000930123FFF7EEFF03B05DF804FB37B5BA
:1015A4000D4614460093069B019300212A462346C8
:1015B400FFF750FE03B030BD1FB504AC04F8013D85
:1015C40001230094FFF7EBFF04B010BD0148FFF7BF
:1015D40011BD00BF300100200148FFF7E7BE00BF86
:1015E400300100200148FFF705BD00BF4C01002079
:1015F4000148FFF7DBBE00BF4C010020FFF71EBA15
:1016040030B585B004460D46684601F027F90DB99A
:10161400029805E0012D01D1039801E000F0F6FCE9
:10162400B4EB500F0ED8B0FBF4F000F070FD0028BE
:1016340002DC0748272103E0082804DD04482821A8
:1016440000F0DAFC01200138C00080B205B030BDE2
:10165400FA2F0008B0F1006F10B504460BD20C4805
:10166400FFF7F8FB2046FFF71FFC0A48FFF7F2FBE1
:101674004FF0FF3010BD084B002053F8042BA2425A
:1016840002D81A68944202D301300B28F5D110BD58
:101694007230000800300008802D00082DE9F8435E
:1016A40006462A480C4617469846FFF7D3FB3046B1
:1016B400FFF7FAFB2648FFF7CDFB2046FFF7F4FBC4
:1016C4002448FFF7C7FBD4B33046FFF7C3FF0546F2
:1016D400601E3044FFF7BEFF002D814632DB002838
:1016E40030DB461B01361FB1002031464246B84765
:1016F40000F01AFE2C464C451FDCF32000F02AFEB5
:10170400154B002133F8140000F05CFE09280BD0BF
:101714001248FFF79FFB2046FFF7C6FB1048FFF770
:10172400B5FB00F00FFE0DE02FB1C5F10100204420
:1017340031464246B8470134DDE700F003FE01209C
:10174400BDE8F8830020BDE8F88300BF1B30000823
:101754002F30000832300008B02D00083630000861
:10176400843500082DE9F0470646234814460D4603
:101774001F46FFF76FFB3046FFF796FB1F48FFF746
:1017840069FB2046FFF790FB1D48FFF763FB00F061
:10179400CBFDF32000F0DEFD4FEAD41805EB04097D
:1017A4002C464C45C5EB040A20D0701B204414F889
:1017B400011B00F03DFE09280DD01248FFF74AFB3B
:1017C4003046FFF771FB1048FFF760FB00F0BAFDED
:1017D4000020BDE8F087002FE3D01AF07F0FE0D19E
:1017E4004FEADA104146089AB847DAE700F0AAFD52
:1017F4000120BDE8F08700BF4E3000082F300008FC
:1018040032300008623000088435000808B545F21B
:10181400555000F0CDFF042000F0D0FF40F6FF70DB
:1018240000F0D2FF002000F0C3FF4FF480500121EC
:10183400BDE8084000F06CBD08B57D2001F0BEF89D
:10184400003018BF012008BD4900FEF775BF4B08E2
:1018540003EB5000FEF770BF70B586B00546FFF786
:10186400ABF901210020FEF767FF042000F01EFB06
:1018740003A8294600F066FB03A800F072FB08B930
:1018840028480BE02848FFF701FB05F10C000499F8
:10189400FFF7D9F9059B984204D02448FFF7F6FADC
:1018A40001203DE0049C2248FFF7F0FA2146214A3A
:1018B40021480023FFF7F2FE049E2048FFF7E6FAD2
:1018C400002405F1C0411E4B009432460C311A48E5
:1018D400FFF748FF1B48FFF7BDFA0498FFF7E4FA47
:1018E4001948FFF7B7FA04991348FFF797F9054623
:1018F4001648FFF7AFFA0598FFF7D6FA1448FFF732
:10190400A9FA2846FFF7D0FA1248FFF7BFFA059B59
:101914009D4204D01048FFF7B9FA022000E02046A7
:1019240006B070BD7B30000899300008B63000085E
:10193400D93000084D18000800400008EC300008B9
:1019440053180008FF3000080D3100081631000854
:1019540029310008843500082F31000808B5022019
:1019640000F0BCFAD8B3042000F0B8FA70B11C48F7
:10197400FFF78CFA042000F0A5FA022000F0A2FA86
:101984004FF40040BDE8084000F09CBA1548FFF74A
:101994007DFA082000F096FA102000F093FA202037
:1019A40000F090FA402000F08DFA4FF48010FFF719
:1019B40053FF022807D1082000F078FA102000F025
:1019C40075FA00F045FB042000F07CFA022000F0D8
:1019D40079FA4FF40040BDE8084000F067BA08BD4A
:1019E4007A310008B031000810B52548FFF74EFAE7
:1019F4004FF40010FFF730FF10B102283AD809E085
:101A0400202000F05FFA402000F05CFA802000F013
:101A14004DFA2FE0082000F049FA102000F046FAB1
:101A2400202000F05BFA20B91648FFF72FFA202097
:101A340007E0402000F052FA58B91348FFF726FA9D
:101A4400402000F033FA4FF4007000F02FFA00F059
:101A5400FFFA0E48FFF71AFA082000F033FA1020B4
:101A640000F030FA202000F02DFA402000F02AFA8D
:101A7400002400E00124042000F024FA204610BDD4
:101A8400CB310008E53100081E3200085732000847
:101A940008B50248FFF7FAF900BEFEE791320008E4
:101AA4001EF0040F0CBFEFF30880EFF30980FFF77B
:101AB400EFBF70471FB504461048FFF7E7F901A9C7
:101AC4000C22204600F02FFB01A8FFF7DFF9204687
:101AD400FEF74AFEFEF7FAFF094B20F004001870E7
:101AE4001C46FEF7F3FF237800F0FB00834201D08D
:101AF40000F0AEFA0A2000F000FBF2E7873200089B
:101B0400690100207FB54FF08050012100F002FFF1
:101B1400022000F065FE012807D1022000F06AFED1
:101B2400BB48FFF7B3F900F098FA00214FF080505A
:101B340000F0F0FEFFF734F9B648FFF7A7F9B6480E
:101B4400FFF7A4F9B548FFF7A1F9B548FFF79EF9E7
:101B5400B448FFF79BF9B448FFF798F9B348FFF787
:101B640095F9B348FFF792F9B248FFF78FF9B248F5
:101B7400FFF78CF9FFF760FCFEF710FF00F0B8F9EF
:101B840000F0CEF900210C2201A801F060F800F069
:101B9400C3F901A90C2200F0C6FA01A8FFF776F9EF
:101BA4009C48FFF773F99B48FFF770F94FF48040A6
:101BB40000F094F990B1A148FFF768F94FF4804020
:101BC40000F080F9082000F07DF9102000F07AF987
:101BD400202000F077F9402000F074F9FEF7D8FDDA
:101BE400FEF782FFFEF74EFDFEF706FB08B19448B0
:101BF40003E0FEF745FB10B19248FFF75BFF00F0EE
:101C04008AF9802000F06AF918B1802000F05AF9AE
:101C140056E04FF4003000F061F9044620B14FF46F
:101C2400003000F04FF94DE00120FEF739FFB0B16C
:101C34002046FEF735FF90B18348FFF727F941F2BC
:101C440088340120FEF72CFF98B10020FEF728FF0E
:101C540078B1012000F051FA013CF2D132E07B4B23
:101C64000CCB013301D0013203D17948FFF70EF9CF
:101C740028E0FFF7E1FD48B3FFF7DEFD10B175483A
:101C8400FFF704F94FF4007000F028F910B172481E
:101C9400FFF7FCF84FF4007000F014F9102000F086
:101CA4001DF9002800F0EE806C48FFF7EFF80820DB
:101CB40000F008F9102000F005F9FFF795FE98B937
:101CC40067489AE76748FFF7E1F8F6E74FF40070D2
:101CD40000F004F90028CFD1082000F0F3F8102018
:101CE40000F0F0F8FFF73AFE4FF4005000F0F6F879
:101CF40004464FF4805000F0F1F8400040EA8400BC
:101D0400C4B24FF4006000F0E9F82043C0B20728E1
:101D1400C3B20DD14FF4006000F0D4F84FF48050FA
:101D240000F0D0F84FF4005000F0CCF84E4864E7CF
:101D34000133DBB2023B4FF40060052B11D8DFE81E
:101D440003F00C1003100C1000F0BCF84FF480509A
:101D540000F0B8F84FF4005003E000F0B3F84FF48B
:101D6400805000F0A3F8FFF751FD384B3F485D6801
:101D74001E68FFF76FF82846FFF796F83C48FFF710
:101D840069F80022930003F1604303F561430132D3
:101D94004FF0FF31082AC3F88010C3F88011F1D145
:101DA400344B4FF4801200241A635C639C631C64FC
:101DB4005C6400F02FFD3048012100F0C3FD214692
:101DC4002D4800F0BFFDF120012100F0C7FD2146A0
:101DD400F12000F0C3FD0120014600F0CBFD2146B7
:101DE400012000F0C7FD2548012100F0CFFD214668
:101DF400224800F0CBFD2248012100F0D3FD204809
:101E0400214600F0CFFD63B64FF0FF3EB5462847AC
:101E14009C32000884350008A9320008C03200084A
:101E2400D932000807330008363300086633000847
:101E340097330008C9330008FB3300082C3400082A
:101E4400014550FE024550FE593400080040000888
:101E54008B3400089E340008B6340008D6340008D9
:101E6400034550FE4A350008044550FE6935000814
:101E74007D350008003802400010E022FFC9FEF65C
:101E8400337F7704082000F029F820B10548FEF7D5
:101E9400FDFF102003E00448FEF7F8FF082000F0DF
:101EA40005F81FE7FE3400082435000810B5044681
:101EB400002000F0A7FD40EA04010020BDE8104026
:101EC40000F090BD10B50446002000F09BFD20EA10
:101ED40004010020BDE8104000F084BD10B50446A4
:101EE400002000F08FFD204214BF0120002010BD0F
:101EF40008B54FF08050012100F00CFD012000F0E6
:101F040069FC0120FFF7EAFF20B90121BDE8084080
:101F140000F068BD08BD7047022000F073BD0000EA
:101F240008B5FFF7F9FF054B1968884204D0022071
:101F3400BDE8084000F056BD08BD00BF840100089C
:101F440000BEFDE71FB504460C2201A8FEF71CFCE9
:101F540001AB03CB20601868A0602046616004B028
:101F640010BD0068A0F10C035842584170470000AE
:101F740080B50646174610480D461C46FEF76AFF14
:101F84003846FEF767FF0D48FEF764FF3046FEF75C
:101F940061FF0B48FEF75EFF2846FEF785FF2CB174
:101FA4000848FEF757FF2046FEF754FF0648FEF7A1
:101FB4006DFFFFF7C5FF00BF853500088E350008AB
:101FC400913500088F350008843500081FB506AA2E
:101FD40052F8044B039200921A462346FFF7C8FFB7
:101FE4000CB41FB506AA52F8043B03920092014AAE
:101FF400FFF7BEFF9335000807B500230093724630
:10200400014BFFF7E3FF00BF9A350008744608B59B
:102014000548FEF71FFF2046FEF746FF0348FEF77C
:1020240035FFFFF78DFF00BFA23500088435000897
:10203400BFF34F8F0449054BCA6802F4E0621343AF
:10204400CB60BFF34F8FFEE700ED00E00400FA051C
:1020540008B5FEF791FBFFF7EBFF08B5FFF7E8FFC4
:10206400F0B50646002401202546034694421DD0BF
:1020740011F804C000F1010EBCF1000F03D1735537
:10208400774605460DE00133DBB2FF2B774606F8B1
:1020940000C007D102F1FF3C644506D07355871C8C
:1020A4007546012301343846E0E770467355F0BDA8
:1020B40030B5C9B1C0430A44914213D011F8013B71
:1020C4000A4D83EA000404F00F0455F8244084EA1E
:1020D400101080EA131303F00F0355F8233083EA3A
:1020E4001010E9E7C04330BD084630BDC82D0008D4
:1020F400162358430138FDD1704710B504462CB15E
:102104004FF47A70FFF7F4FF013CF8E710BD10B507
:10211400B0FA80F400F027F801280CBFC4F11F00C6
:10212400C4F1200010BD0A2A10B51BDD0C46302373
:1021340004F8023B78234B701C220F239340034086
:10214400D340092B01D8303302E00F2B02D8573388
:10215400DBB200E02023043A04F8013B131DECD168
:1021640000238B7210BD00F0AA33A0EB530000F0E3
:10217400CC3300F0333000EB930000EB101000F090
:102184000F3000EB102000EB104000F03F007047D0
:102194002D4AD2F8883043F47003C2F888302B4BB0
:1021A4001A68002142F001021A6099601A6822F04C
:1021B400847222F480321A60254A5A601A6822F422
:1021C40080221A60D9601A6C224942F080521A6443
:1021D4000A6842F440420A609A689A609A689A606F
:1021E4009A6842F480529A601B4A5A601A6842F014
:1021F40080721A601968154A8901FBD5174B40F2A1
:1022040003611960936823F003039360936843F0B8
:10221400020393600D4B9A6802F00C02082AF9D16C
:102224009A6822F400029A600D4AC3F884201A685E
:1022340042F080621A60054B1B681B01FBD5024B00
:102244004FF000629A60704700ED00E000380240F1
:1022540010300024007000401040010F003C024088
:1022640000300050C278037810B512B3164AD16812
:102274004278C943C1F30221C1F10404E4B2A2408B
:10228400D4B20F220A4181780A40224303F1604309
:1022940003F561431201D2B283F8002303780122CB
:1022A400590903F01F0302FA03F3084A42F82130E4
:1022B40010BD5A09012103F01F03994002F12003C4
:1022C400024A42F8231010BD00ED00E000E100E0F6
:1022D400014B01229A60704700300240014B1860A4
:1022E400186870470030024000EB81018842044BBB
:1022F40003D050F8042B1A60F8E71868704700BF41
:1023040000300240014B1868704700BF00300240A3
:10231400044B9A6809B1104301E022EA0000986076
:10232400704700BF002004E0044B1A69002ABFBFB5
:10233400034A5A6002F188325A607047003C0240F6
:1023440023016745024A136943F000431361704750
:10235400003C0240014BD860704700BF003C024083
:102364000E4BDA68D20310D4DA68D1060FD4DA68D7
:10237400D2050ED4DA6812F0EF0F0CD1DB6813F03B
:10238400020F14BF0820092070470120704706205F
:102394007047022070470720704700BF003C02408E
:1023A40007B509238DF80730FFF7DAFF8DF807002A
:1023B4009DF80730012BF7D09DF8070003B05DF8B6
:1023C40004FB000070B5064641B1012908D002297A
:1023D4000CBF4FF400754FF4407503E00D4601E067
:1023E4004FF48075FFF7DCFF09281ED10F4C2369D9
:1023F40023F440732361216929432161236923F074
:10240400F8032361236943F002031E432661236911
:1024140043F480332361FFF7C3FF236923F00203EE
:102424002361236923F0F803236170BD003C02405B
:1024340070B505460E46FFF7B3FF092811D1094CC4
:10244400236923F44073236123692361236943F0DF
:10245400010323612E70FFF7A3FF236923F0010317
:10246400236170BD003C024070B543688668856A8C
:102474000468416B46EA0302C3681A4303691A43BA
:1024840043691A4383691A43C3691A43036A1A43A3
:10249400436A1343C26A2B431A43036B1343A200D8
:1024A40002F120420B43082E136002BF136843F06D
:1024B40040031360B1F5801F816B12D18CB14FF0D2
:1024C40020435C681E6846F480161E601E6846F44D
:1024D40080761E600E6924F47004013E44EA0654BA
:1024E4005C608C690B6823434C6843EA04138C6872
:1024F40043EA0423CC6843EA04430C69496943EA88
:10250400045343EA0163B5F5804F536010D1C16BA6
:1025140088690B680343486843EA0013886843EA00
:1025240000230869496943EA005343EA016301E06F
:102534006FF07043C2F8043170BD0000800000F1F8
:10254400204019B1036843F0010302E00268024B22
:1025540013400360704700BFFEFF0F00F0B50E6824
:1025640000220123934003EA060E9E452AD155001A
:1025740003230468AB40DB431C4004600C79076808
:1025840004FA05FC013C4CEA0707012C076011D84A
:1025940084684F791C4084608468AF402743876017
:1025A400446824EA0E0444608C7947689440A4B2D9
:1025B4003C434460C4682340C360CB79C468AB40E7
:1025C4002343C3600132102ACBD1F0BD4FF6FF7311
:1025D40003600023037143718371C37170470369FE
:1025E400194214BF0120002070470AB101837047CB
:1025F4004183704701F00703C90800EB810010B55F
:102604009B00046A0F21994024EA01010162016AD6
:102614009A401143016210BD08B5134B984207D18B
:102624004FF40010012100F0B1F94FF4001014E050
:102634000E4B984207D14FF48000012100F0A6F917
:102644004FF4800009E00A4B98420BD14FF400008C
:10265400012100F09BF94FF400000021BDE808407F
:1026640000F094B908BD00BF005400400058004079
:10267400005C00407FB5868826F03F060446360499
:1026840068460D46360C00F0E9F8029A2C48B2FB75
:10269400F0F081B20E43A68023882A4E23F0010372
:1026A4001B041B0C23802B68B3420AD85B00013146
:1026B400B2FBF3F39BB2032B89B298BF04232184AA
:1026C40023E0EE884BF6FF718E421BBF19214B436A
:1026D40003EB4303B2FBF3F315BF9BB2B2FBF3F37B
:1026E40043F480439BB2C3F30B020AB943F00103E2
:1026F4004FF4967101FB00F24FF47A7192FBF1F200
:10270400013292B243F400432284A383238869896B
:10271400AA889BB243F001032380238823F48163B6
:1027240023F002031B040A431B0C13439BB22380B4
:102734002A89AB8913439BB2238104B070BD00BFC7
:1027440040420F00A086010041F288330360002359
:1027540083804BF6FF72038143814FF48043C28030
:1027640083817047038819B19BB243F0010303E0EE
:1027740023F001031B041B0C03807047038819B169
:102784009BB243F4806303E023F480631B041B0CBB
:1027940003807047838A9AB2038B10B542EA0343DD
:1027A40021F07F4404EA0300431A5842584110BD03
:1027B400014B1860704700BF00300040014B586067
:1027C400704700BF00300040014B9860704700BF65
:1027D40000300040014B1860704700BF20000E42DB
:1027E400034B5B68184214BF01200020704700BFF0
:1027F40000700040064BB0F5402F15BF1A685A68A8
:1028040042EA800042F4402214BF18605A607047C4
:10281400007000400E4B1A68002142F001021A6059
:1028240099601A6822F0A85222F410221A60094A08
:102834005A60094AC3F8842002F18062C3F88820F0
:102844001A6822F480221A60D960C3F88C10704789
:102854000038024010300024003000201D4A9368E4
:1028640003F00C03042B10B503D0082B03D01A4B30
:1028740018E01A4B16E05168536811F4800F03F006
:102884003F03516814BF154A134AB2FBF3F3114ACC
:102894005268C2F30142C1F3881101324B43520022
:1028A400B3FBF2F30B4A036093680D49C3F30313BC
:1028B400CC5C0368E34043609468C4F382240C5DF9
:1028C40023FA04F484609268C2F342328A5CD340EF
:1028D400C36010BD003802400024F40040787D013C
:1028E40001000020044B1A6B09B1104301E022EAF5
:1028F40000001863704700BF00380240044B9A6B15
:1029040009B1104301E022EA00009863704700BF58
:1029140000380240044B1A6C09B1104301E022EA6A
:1029240000001864704700BF00380240044B5A6C22
:1029340009B1104301E022EA00005864704700BF67
:1029440000380240044B1A6909B1104301E022EA3D
:1029540000001861704700BF00380240044B5A69F8
:1029640009B1104301E022EA00005861704700BF3A
:1029740000380240044B9A6909B1104301E022EA8D
:1029840000009861704700BF00380240044B1A6A87
:1029940009B1104301E022EA00001862704700BF49
:1029A40000380240044B5A6A09B1104301E022EA9C
:1029B40000005862704700BF003802404209012AF3
:1029C400074B01D11B6803E0022A0CBF1B6F5B6F2E
:1029D40000F01F0023FA00F000F00100704700BF70
:1029E4000038024082B000230193054B0193019B00
:1029F40003EB80000190019B196002B0704700BF97
:102A04005028004082B000230193054B0193019BA1
:102A140003EB80000190019B186802B0704700BF6F
:102A24005028004008B5254B984207D14FF48050F8
:102A34000121FFF7B7FF4FF4805039E0204B984253
:102A440007D14FF480400121FFF7A0FF4FF48040ED
:102A540009E01C4B98420BD14FF400400121FFF7D1
:102A640095FF4FF400400021BDE80840FFF78EBFFA
:102A7400154B984207D14FF400500121FFF792FF04
:102A84004FF4005014E0114B984207D14FF48010DA
:102A94000121FFF787FF4FF4801009E00C4B9842A7
:102AA4000BD14FF400100121FFF77CFF4FF400100D
:102AB4000021BDE80840FFF775BF08BD00300140A4
:102AC40000380040003C0040003401400050014008
:102AD4000054014003884A8810B503F441540B881C
:102AE40013438A881343CA8813430A8913434A89C0
:102AF40013438A891343CA89134323439BB2038034
:102B0400838B23F400631B041B0C83830B8A0382D3
:102B140010BD0023038043808380C38003814381ED
:102B24008381C381072303827047038819B19BB251
:102B340043F0400303E023F040031B041B0C038019
:102B44007047808980B27047818170470389194238
:102B540014BF0120002070477FB5038ACA889BB246
:102B640023F440531343038283890E469BB223F418
:102B7400B053098923F00C02B3880B4371890B43CA
:102B84009BB213438381838AB2899BB223F440733B
:102B94001343838204466846FFF760FE1A4B9C4247
:102BA40003D003F580639C4201D1039D00E0029DA4
:102BB400A38931681BB2002B4FF0190202FB05F206
:102BC400B4BF4D008D00B2FBF5F5A2896426B5FBB8
:102BD400F6F00001010912B2002A06FB1153ADBF41
:102BE4001A01D90032313232B5BFB1FBF6F2B2FB71
:102BF400F6F302F0070203F00F03B4BF10431843C7
:102C040080B2208104B070BD00100140838919B1E5
:102C14009BB243F4005303E023F400531B041B0C46
:102C240083817047C1F3080181807047038819428A
:102C340014BF01200020704710B5431E0A4491427E
:102C440004D011F8014B03F8014FF8E710BD02441A
:102C54000346934202D003F8011BFAE770470000D1
:102C64000400000001030000010000000100000056
:102C740003000000010000000F0000000F0000002E
:102C840000000000AE2F00080018024010000000F1
:102C940006040000B32F00080018024008000000DA
:102CA40006030100B62F00080018024002000000CD
:102CB40006010100BD2F00080018024004000000B6
:102CC40006020100000000000000000001424F4F16
:102CD400544C4F414445520000000000002A2A0091
:102CE400000000000000000000000000005400404C
:102CF40000040240400000000600040000040240FA
:102D0400000200000900040000002000801A0600F0
:102D1400004000001F200000000000000000000030
:102D240000580040001402400200000001000400AA
:102D340000140240010000000000040000004000F4
:102D4400801A0600FFBF00002122000000000000DE
:102D54000116000801000300820007008400070038
:102D6400010003000200030040000300800007008C
:102D740084000700000001000000000000000008BB
:102D8400004000080080000800C00008000001089E
:102D940000000208000004080000060800000808FB
:102DA40000000A0800000C0800000E0800000800DB
:102DB40010001800200028003000380040004800AF
:102DC40050005800000000006410B71DC8206E3B7E
:102DD400AC30D9269041DC76F4516B6B5861B24D1E
:102DE4003C7105502083B8ED44930FF0E8A3D6D688
:102DF4008CB361CBB0C2649BD4D2D38678E20AA0F0
:102E04001CF2BDBD537475636B20627574746F6E70
:102E140020726567697374657220697320696E76C0
:102E2400616C69642C20636C656172696E672E0045
:102E3400427574746F6E206973207075736865646D
:102E440020617420626F6F740069636534306C7044
:102E54002E630043444F4E45206E6F74206C6F7791
:102E640020647572696E67207265736574004352DD
:102E740045534554206E6F742068696768206475F3
:102E840072696E6720726573657400446973706C4F
:102E9400617920627573792D776169742074696D25
:102EA400656F757420657870697265642100436F7D
:102EB4006E6669677572696E672046504741206681
:102EC400726F6D2062697473747265616D20696ECE
:102ED40020666C6173682E2E2E004E6F204650477C
:102EE400412062697473747265616D20696E206635
:102EF4006C6173682E0046616C6C696E6720626158
:102F0400636B20746F204E56434D2E00465047414C
:102F14002043444F4E452074696D656F7574206578
:102F240078706972656421004650474120636F6E72
:102F340066696775726174696F6E206661696C6534
:102F4400642E204973207468697320612062696764
:102F5400626F6172643F0046504741207665727328
:102F6400696F6E3A2000446973706C617920696EF0
:102F7400697469616C697A6564206166746572203C
:102F84000020726574726965732E00446973706CF5
:102F9400617920696E697469616C697A6174696FB9
:102FA4006E206661696C65642E004261636B005536
:102FB400700053656C65637400446F776E006372D0
:102FC400632E63006932632E6300493243206465D3
:102FD40076696365204944206F7574206F662062AA
:102FE4006F756E647320256420286D61783A2025FE
:102FF4006429006F6E007370692E6300206973206A
:103004006F7574736964652073797374656D206674
:103014006C6173680D0A0073797374656D5F666C17
:103024006173685F657261736528002C2000290D47
:103034000A006661696C656420746F20657261734F
:103044006520736563746F72200073797374656DA2
:103054005F666C6173685F77726974652800666186
:10306400696C656420746F2077726974652061648B
:1030740064726573732000496E76616C69642066BE
:1030840069726D77617265206465736372697074C7
:10309400696F6E2100436865636B73756D6D696E4E
:1030A40067206669726D77617265207570646174FA
:1030B4006500496E76616C6964206669726D77613A
:1030C40072652043524320696E2053504920666C38
:1030D400617368210065726173655F6F6C645F661C
:1030E40069726D776172650077726974655F6E6588
:1030F400775F6669726D7761726500436865636BBB
:1031040073756D6D696E6720002062797465730D47
:103114000A00436865636B73756D202D2077616EBB
:10312400746564200020676F7420004F75722069F5
:103134006E7465726E616C20666C61736820636F77
:103144006E74656E747320617265206261642028F8
:10315400636865636B73756D206661696C6564296A
:10316400212054686973206973207265616C6C79DD
:103174002062616421004F75722070726576696FF8
:103184007573206669726D7761726520757064610C
:103194007465206661696C65642C2061626F727469
:1031A400696E67207570646174652E004E657720C2
:1031B4006669726D776172652069732061766169F1
:1031C4006C61626C6521004C6F6164696E6720728A
:1031D40065636F76657279206669726D7761726571
:1031E400004661696C656420746F206C6F616420B3
:1031F4007265636F76657279206669726D77617244
:10320400652C20737472696B65206F6E652E205473
:10321400727920616761696E2E004661696C65642C
:1032240020746F206C6F6164207265636F766572C1
:1032340079206669726D776172652C207374726986
:103244006B652074776F2E205472792061676169F1
:103254006E2E004661696C656420746F206C6F612A
:1032640064207265636F76657279206669726D7722
:103274006172652C20737472696B65207468726561
:10328400652E20534144205741544348004841523D
:1032940044204641554C5400657869742073746128
:1032A4006E64627900205F5F5F5F20202020202011
:1032B4002020202020202020205F5F002F5C202061
:1032C4005F605C20202020202020202020202F2729
:1032D4005F5F605C005C205C2C5C4C5C5F5C20206D
:1032E40020205F5F5F202F5C205C2F5C205C20200F
:1032F4005F5F20205F5F20205F5F20205F5F2020D2
:103304005F5F00205C2F5F5C5F5F205C20202F27C5
:10331400205F20605C205C205C205C205C2F5C20B3
:103324005C2F5C205C2F5C205C2F5C205C2F5C207D
:103334005C002020202F5C205C4C5C205C2F5C20F7
:103344005C2F5C205C205C205C5F5C205C205C204B
:103354005C5F2F205C5F2F205C205C205C5F5C2026
:103364005C002020205C20605C5F5F5F5F5C205C11
:103374005F5C205C5F5C205C5F5F5F5F2F5C205C58
:103384005F5F5F785F5F5F2F275C2F605F5F5F5FCA
:10339400205C00202020205C2F5F5F5F5F5F2F5C3C
:1033A4002F5F2F5C2F5F2F5C2F5F5F5F2F20205CD0
:1033B4002F5F5F2F2F5F5F2F202020602F5F5F5FC5
:1033C4002F3E205C002020202020202020202020B0
:1033D40020202020202020202020202020202020E9
:1033E40020202020202020202020202020202020D9
:1033F4002F5C5F5F5F2F00202020202020202020D2
:1034040020202020202020202020202020202020B8
:1034140020202020202020202020202020202020A8
:1034240020205C2F5F5F2F004C61737420666972EB
:103434006D7761726520626F6F742077617320739A
:103444007461626C653B20636C6561722073747295
:10345400696B657300486F6C6420646F776E2055E8
:1034640050202B204241434B20666F72203520733D
:103474006563732E20746F20666F7263652D626FAF
:103484006F7420505246004669726D7761726520F0
:10349400697320657261736564005761746368645D
:1034A4006F6720636175736564206120726573655D
:1034B4007400536F667477617265206661696C7518
:1034C400726520636175736564206120726573653C
:1034D40074004661696C656420746F207374617252
:1034E40074206669726D776172652C2073747269D9
:1034F4006B652074687265652E004661696C65644D
:1035040020746F207374617274206669726D7761C0
:1035140072652C20737472696B652074776F2E004A
:103524004661696C656420746F20737461727420E1
:103534006669726D776172652C20737472696B654C
:10354400206F6E652E00466F7263652D626F6F7417
:10355400696E67207265636F76657279206D6F643A
:10356400652E2E2E00426F6F74696E672066697235
:103574006D77617265204020002E2E2E0D0A0D0AF3
:10358400004153534552543A20002020003A004150
:103594005353455254004153534552544E002A2A22
:1035A4002A20575446200053544D33320053544D6F
:1035B4003332207065726970686572616C206C6961
:1035C4006272617279207472697070656420616ED0
:1035D400206173736572740043524F414B204F4F07
:0435E4004D00000096
:1035E800FF000000000102030401020304060708AB
:0435F80009000000C6
:04000005080001B43A
:00000001FF

View file

@ -0,0 +1,869 @@
:020000040800F2
:1000000070210020B5010008F9010008A51A0008B8
:10001000F9010008F9010008F901000800000000DA
:10002000000000000000000000000000F9010008CE
:10003000F901000800000000F9010008F9010008BA
:10004000F9010008F9010008F9010008F9010008A8
:10005000F9010008F9010008F9010008F901000898
:10006000F9010008F9010008F9010008F901000888
:10007000F9010008F9010008F9010008F901000878
:10008000F9010008F9010008F9010008F901000868
:10009000F9010008F9010008F9010008F901000858
:1000A000F9010008F9010008F9010008F901000848
:1000B000F9010008F9010008F9010008D11500084C
:1000C000DD150008E9150008F5150008F90100081C
:1000D000F9010008F9010008F9010008F901000818
:1000E000F9010008F9010008F9010008F901000808
:1000F000F9010008F9010008F9010008F9010008F8
:10010000F9010008F9010008F9010008F9010008E7
:10011000F9010008F9010008F9010008F9010008D7
:10012000F9010008F9010008F9010008F9010008C7
:10013000F9010008F9010008F9010008F9010008B7
:10014000F9010008F9010008F9010008F9010008A7
:10015000F9010008F9010008F9010008F901000897
:10016000F9010008F9010008F9010008F901000887
:10017000F9010008F9010008F9010008F901000877
:04018000F901000879
:100184008BB8185876342E332D616C706861322D1B
:1001940033342D6738663564383732000000000088
:0F01A40000000000386635643837320000000173
:1001B400002103E00A4B5B584350043109480A4BC1
:1001C40042189A42F6D3094A02E0002342F8043B5B
:1001D400074B9A42F9D301F0DBFF01F093FC70471F
:1001E400E83500080000002014000020140000205E
:1001F4006C010020FEE7000030B501208BB002F056
:1002040001FC002401902546E0B200F049FC01AA5B
:1002140008B9105519E0135D042B10DD164800F0E1
:1002240035FE02A92022019801F07DFF02A800F00A
:100234002DFE0120002102F0D5FB00201AE001333D
:10024400DBB2052B135528BF01250134042CDBD167
:10025400019C54B1094800F019FE204602A920224D
:1002640001F061FF02A800F011FE0120214602F016
:10027400B9FB28460BB030BD082E0008342E000808
:1002840008B500F017FB80F00100C0B208BD000003
:1002940008B54FF48061034802F0A1F9003018BF9B
:1002A400012008BD001802402DE9F0434A4C89B0F2
:1002B400204600F005FE20460D21052202F09AF9A1
:1002C40020460E21052208AE02F094F905222046AC
:1002D4000C2102F08FF94FF4005346F81C3D002521
:1002E40001274FF00209204631468DF80A508DF857
:1002F4000B508DF808908DF8097002F02FF94FF427
:10030400804320463146019302F028F94FF480538C
:100314002046314601934FF4007802F01FF920463D
:1003240031468DF808508DF80B70CDF8048002F03A
:1003340015F94FF480632046314601938DF8085037
:100344008DF80B5002F00AF94FF4807320463146C1
:1003540001938DF808708DF80B5002F0FFF84FF4FC
:1003640000432046314601938DF80A708DF80B50F6
:1003740002F0F4F839464FF4001002F0D7FAA4F56D
:100384004444164B164E1E60204602F04BFB03A855
:1003940002F0BFFB4FF4827339463046ADF80E309D
:1003A400ADF80C50ADF81050ADF81290ADF81470D3
:1003B400ADF8168001F024F903A9ADF81800204621
:1003C400ADF81A5002F086FB2046394602F0ADFB28
:1003D40009B0BDE8F08300BF0018024014000020FB
:1003E4000024F40008B5022001F087FE012000F08B
:1003F40045FB022001F081FE0120BDE8084000F029
:100404002BBB000010B504460548022102F09EFBF8
:100414000028F9D021460248BDE8104002F094BB00
:100424000054014038B5012204460D4629484FF4D2
:10043400807102F0DAF8012001F05FFE25484FF4E4
:100444000041002202F0D1F84FF4807100222148CB
:1004540002F0CBF8012001F050FE4FF400411D489A
:10046400012202F0C2F8012001F047FE19484FF4BE
:10047400007102F0B4F818B11748184A6A210AE06A
:1004840014484FF4004102F0AAF808B1254404E0EE
:100494001148134A6B2101F0A3FDAC4204D014F8B7
:1004A400010BFFF7AFFFF8E70A484FF48071012210
:1004B40002F09BF808240020FFF7A4FF013CFAD1C6
:1004C4004FF40071034802F08AF8003018BF01208D
:1004D40038BD00BF001802404D2E0008572E0008FA
:1004E400722E000810B504460B4802F02AFB0A4895
:1004F400022102F02BFB0028F9D00748214602F024
:1005040023FB0548012102F021FB0028F9D0024811
:1005140002F017FBC0B210BD0054014010B54FF4F7
:10052400807104460022054802F05FF8642001F05F
:10053400DFFD2046BDE81040FFF764BF001802400D
:1005440008B50748802102F001FB0028F9D10548CD
:100554004FF480710122BDE8084002F046B800BFA4
:10056400005401400018024010B540F2F514FFF7A2
:100574008FFE50B1013C04D1054800F087FC2046B1
:1005840010BD642001F0B4FDF1E7012010BD00BFEF
:100594008F2E000810B5224C638822884FF6FF7115
:1005A400DB438A429BB20BD09A4209D11D4800F02A
:1005B4006DFC1D482188FFF735FF20B1012010BDD7
:1005C4001A4800F063FC1A4800F060FC19484FF424
:1005D4008071012202F009F84FF40041002215480D
:1005E40002F003F8012001F088FD12484FF40041A5
:1005F400012201F0FAFF40F2E9340E484FF4007191
:1006040001F0EDFF0028D9D1013C04D10A4800F0E3
:100614003DFC204610BD642001F06AFDEDE700BFFB
:1006240000000F60B22E000804000F60DE2E0008E8
:10063400FA2E000800180240102F000810B50446D6
:100644000420FFF76BFF2046FFF7DCFEBDE81040F7
:10065400FFF776BF10B504460120FFF75FFFE0B255
:10066400FFF7D0FEC4F30720FFF7CCFEC4F3074026
:10067400FFF7C8FE200EFFF7C5FEBDE81040FFF7E8
:100684005FBF000010B5FFF70FFEFFF783FF08B947
:10069400224830E0224800F0DDFB4FF48071002254
:1006A400204801F0A2FF642001F022FD0020FFF7A2
:1006B40019FF4FF48071012204461A4801F095FF96
:1006C400204600F0F1FB184800F0E0FBFFF78AFE3B
:1006D40000240120FFF7B2FFFFF746FF78B10320A3
:1006E400FFF71CFFFFF72CFF104800F0B3FB204678
:1006F40000F0DAFB0E48BDE8104000F0C7BB01343F
:10070400FFF748FF152CE4D10A4800F0BFFB022094
:10071400FFF704FFBDE81040FFF712BF2C2F0008BD
:100724005B2F000800180240843500086A2F000877
:10073400852F00088F2F000808B55D235843094B07
:100744004A1C00EB52001A78B0FBF1F0C0B28242AE
:1007540007D01870FFF77EFF0220BDE80840FFF7BE
:100764006DBF08BD0000002008B5FFF773FF03202C
:10077400BDE80840FFF762BF08B50220FFF7CEFED0
:10078400BDE80840FFF7DCBE01F1C04102F054BAF5
:1007940070B543489AB000F093FB424800F090FBD8
:1007A400414800F08DFB414B93E8030001AD85E81F
:1007B40003003C48294601F0D1FE3A4804210122B5
:1007C40001F013FF00240223029435488DF8083009
:1007D400072103230C228DF80930019401F00AFF4C
:1007E40080232F480193294601F0B8FE022C04D03F
:1007F4002C48A1B20C2201F0FDFE0134102CF5D1DD
:100804004FF6FB7327480193294601F0A7FE022601
:100814003146013624480C22B6B201F0EBFE102E0C
:10082400F6D14FF6FC7329461F48019301F096FE5A
:10083400042100221B481E4D01F0D7FE0A2001F0BE
:1008440057FC01220421174801F0CFFE1E2001F0BD
:100854004FFC0120014602F051F80FCD03AC0FC448
:1008640095E8070084E80700402200210AA802F066
:10087400EEF902230B9308230C934FF48053129345
:100884004FF4005313930AA803AB18930D9601F089
:10089400EBFD0020012101F051FE1AB070BD00BF34
:1008A40000040240000C024000100240642C0008C6
:1008B4006C2C00080D4B98221A80A3F68A231B88FF
:1008C400DBB2512B0CD10A4B1B88DBB2522B07D164
:1008D400084B1888C0B2A0F159035842584100E0AF
:1008E4000020024BF0221A80704700BFAA0A006061
:1008F400220000602400006002460B4604205021C0
:1009040000F045BE02460B460420502100F054BEC0
:10091400032873B50E4603D0042804D001F076FBF7
:1009240014241C4D01E01C4D162420460DF1070132
:10093400FFF7E2FF08B900202AE02B78AEB10BB133
:10094400013323E09DF8071021F0060141F0020174
:1009540020468DF80710FFF7D5FF0028EBD00124BF
:1009640003202C7001F0C9FB11E05AB2012A0CDCFF
:100974009DF80710204601F0F9018DF80710FFF7E4
:10098400C1FF0028D7D02E7001E0013B2B7001205D
:1009940002B070BD180000201900002073B525486E
:1009A40000F08EFA02254FF410730024012621482A
:1009B400009369468DF804508DF805508DF8066053
:1009C4008DF8074001F0CAFD1A480621042201F0FF
:1009D40011FE04220921174801F00CFE154800F00D
:1009E40087FA154800F06CFA42F20C036946124883
:1009F40000938DF805508DF804608DF806408DF84D
:100A0400074001F0ABFD0C4800F072FA042000F03E
:100A140057FD20466946FFF76FFF9DF80050B54229
:100A240005D103202946FFF773FF284600E020463E
:100A340002B070BD000402400014024010B5044628
:100A4400042000F03DFD21460420FFF761FF04204F
:100A5400BDE8104000F066BD38B5074C0546204699
:100A640000F02EFA20462A46042101F0BEFD20465D
:100A7400BDE8384000F03CBA0014024038B5074CD9
:100A84000546204600F01CFA20462A46082101F0BB
:100A9400ACFD2046BDE8384000F02ABA00140240FC
:100AA40038B5094C04EB00146568284600F008FAD0
:100AB4002189284601F093FD0446284600F018FADF
:100AC400B4FA84F0400938BD882C000838B50024F5
:100AD4002546E0B2FFF7E4FFA04001340543042CAF
:100AE400EDB2F6D1284638BDF7B54FF48040012168
:100AF400134C01F01BFF04F140076568284600F021
:100B0400DFF9684601F062FD02238DF80530A37B0E
:100B14008DF807302846A3680093694600268DF8AF
:100B24000460103401F01AFD284600F0E1F9BC42DB
:100B3400E3D14FF48040314601F0F8FE03B0F0BD3C
:100B4400882C000808B5054B1B781BB904483221D2
:100B540001F052FABDE8084001F0C6BB1A000020BB
:100B6400C22F0008124B1B7870B505460C461BB902
:100B74001048382101F040FA032906D98E0831467D
:100B8400FFF7E0FFB6003544A41B6CB12B462C44A0
:100B94000020A34204D013F8012B42EA0020F8E716
:100BA400BDE8704001F09ABBBDE8704001F0AABBFB
:100BB4001A000020C22F0008024B1A780AB9012239
:100BC4001A7070471A00002008B5084B1A781AB931
:100BD40007482B2101F010FA01214FF4805059707D
:100BE40001F080FEBDE8084001F072BB1A0000204D
:100BF400C22F000808B5074B1A781AB906485121C4
:100C040001F0FAF9002159704FF48050BDE8084012
:100C140001F068BE1A000020C22F000870B50C460F
:100C24000546A608FFF7D0FF28463146FFF78AFF9E
:100C340004F0030105EB8600FFF794FF0446FFF779
:100C4400D9FF204670BD70B5A0B00D460646FFF72B
:100C5400BBFF2C467119802CA1EB0401684608D90E
:100C64008022FFF791FD68462021FFF76BFF803C4F
:100C7400F0E72246FFF788FD21466846FFF772FF3A
:100C84000446FFF7B7FF204620B070BD0A4B1B781F
:100C940010B504467BB10948402101F0C7FF002884
:100CA400F9D00648214601F0BDFF0448402101F077
:100CB400BDFF0028F9D010BD1C00002000480040F2
:100CC4002DE9F043334D83B06C6804F12E0323F017
:100CD400070300AFADEB030D50238DF80030212343
:100CE4008DF8013000238DF8023003238DF8033092
:100CF40004F121035BBAADF80430274B04F1270853
:100D04006E460DF1060203F11C0153F8040B42F880
:100D1400040B8B42F9D11B78137004F1230922468A
:100D240006F123001D4901F087FF31464A460020A1
:100D340001F0BEF907F1080304F5927443F8040DB9
:100D4400186846F80900FE23B4FBF3F34344073361
:100D540023F00703ADEB030D31464246684601F02C
:100D64007FF904465520FFF791FF6E466C44A64276
:100D740007D016F8010B552808BF0020FFF786FF9F
:100D8400F5E75520FFF782FF00230C376B60BD4663
:100D9400BDE8F0831C000020D02C000824000020B3
:100DA4002DE9F041274C86B0204600F089F84FF435
:100DB4008020012101F0AEFD20460A21072201F026
:100DC40019FC06AE072220460B2101F013FC4FF458
:100DD400806346F8183D002501274FF0020820469D
:100DE40031468DF806508DF807708DF804808DF823
:100DF400058001F0B3FB4FF40063204631460093B5
:100E04008DF8048001F0AAFBADF80C50ADF80E503B
:100E1400ADF81050ADF814500B4D0C4B029328460E
:100E24000C2302A9ADF8123001F096FE284639468B
:100E340001F0ECFE204600F05BF8054B1F7006B095
:100E4400BDE8F081000802400048004040420F0025
:100E54001C00002038B50C4B1A781C469AB1451E6C
:100E640015F8012F7AB163680749FF2B0BD80A2ABA
:100E740002D1FFF725FFF3E70D2A1FBF581C5B18AB
:100E840048601A72ECE738BD1C00002008B5054B19
:100E94001B782BB1FFF7DEFFBDE80840FFF710BF5A
:100EA40008BD00BF1C0000201FB50C2201A901F0E1
:100EB4003AF901A8FFF7CEFF05B05DF804FB000086
:100EC40000F13F4000F57E00C0F3872008280AD8CF
:100ED400054A135C591C11542BB9044901230A6BAC
:100EE400834013430B637047240100200038024001
:100EF40000F13F4000F57E00C0F3872008280DD89C
:100F0400074A135C53B1013BDBB2135433B90549AF
:100F140001230A6B834022EA03030B63704700BF7B
:100F2400240100200038024002460068838823F42C
:100F3400E0631B041B0C838003889BB243F400739F
:100F4400038008230020517513751076704737B558
:100F540004460D46FFF7B4FF0023204669468DF88A
:100F640004308DF805308DF80730009501F0F6FA5D
:100F74002046FFF7BDFF03B030BD000010B50B4C99
:100F8400342300FB0344236B7BB10A2001F0B5F842
:100F94006068A168FFF7DBFF20696169FFF7D7FF8D
:100FA400236B0120BDE81040184710BDF02C000849
:100FB400F7B5044616460F461D46FFF781FF02218A
:100FC40001238DF804108DF805108DF806302046A5
:100FD400002369468DF80730009701F0BFFA2046D8
:100FE40031462A4601F006FB2046FFF781FF03B095
:100FF400F0BD0000027D082A10B5044607D102683E
:10100400938823F4C0631B041B0C938084E0434B3C
:10101400006803EB8203996E01F0BCFB00287BD0CF
:10102400237D072B72D8DFE803F0040B1921323B30
:101034005A6E237A226803F0FE03138201232DE003
:101044002268A37A1382637A0BB1022326E0938881
:101054009BB243F48063938006231FE022681388C5
:101064009BB243F480731380032317E0237A22682E
:1010740043F001031382E37A012B01BF138823F4A5
:1010840080631B041B0C08BF1380042306E0226842
:1010940093889BB243F480639380052323753BE0DC
:1010A40023682269198A237BD154237BE27A013392
:1010B400DBB2591C9142237307D12268138823F4AD
:1010C40080631B041B0C138026E0934224D1226806
:1010D400938823F480631B041B0C938013E0237B0D
:1010E40021692268CB5C1382237BE17A0133DBB272
:1010F4009942237310D1938823F480631B041B0C3F
:1011040093800723CAE72046012101E020460021FD
:10111400BDE81040FFF708BF002010BDF02C000808
:101124007FB51D4D1C2303FB005306461B790BB9E9
:10113400FFF724FF194C342306FB03446068A168BD
:10114400A289A37BFFF734FF228BA37E2069616908
:10115400FFF72EFFE069012101F0DCFB684601F096
:10116400F3FA0F4A236A009393424FF48063ADF875
:101174000A304FF01C0384BF626AADF8062003FBFB
:1011840006F46946285901F075FA2859012101F03D
:10119400E9FA04B070BD00BF30010020F02C000853
:1011A400A086010073B504460E460025FFF788FEAD
:1011B4000123204669468DF8043000968DF80550C9
:1011C4008DF8075001F0CAF92046B1B22A4601F061
:1011D4000CFA2046FFF78CFE02B070BD10B5094C26
:1011E400342300FB0344236B5BB100209847606801
:1011F400A168FFF7D7FF20696169BDE81040FFF7D8
:10120400D1BF10BDF02C00081C23104A434370B515
:1012140005460F4CD058D61801F0FEF9342305FBCF
:1012240003440021E06901F075FB337923B92846B2
:10123400BDE87040FFF7D2BF6068A168FFF787FE82
:1012440020696169BDE87040FFF781BE300100206C
:10125400F02C00082DE9F347504C9A4694F83830A6
:10126400884691461BB94E4840F2951104E0042883
:1012740004D94B484FF4CB7100F0BEFE494B1844DF
:101284001C2590F88860754363191B790BB90020FD
:1012940081E063591B8B9F0716D41C2070432718C9
:1012A40000259DF828300B9A87F8089087F80AA043
:1012B40087F80980FB723D733D753A61FD822058C1
:1012C400012101F05BFA2AE03046FFF79DFF30462A
:1012D400FFF726FF6159344B0A8B9007DDD5013B9C
:1012E400FAD1D4E71C2303FB06431B7E23B1019BE5
:1012F4005A1E0192002BF5D11C2303FB0643002246
:101304001A76019903F1100239B3117908291AD117
:1013140055791C2303FB06431B7D082B2BD01C2370
:101324007343E018E1580A8892B242F480720A804A
:10133400E25893889BB243F440739380012303766D
:10134400194B0193D3E7D188B1F57A7F05D20131E6
:10135400D180012000F0D1FEDBE719688B8823F4EB
:10136400E0631B041B0C8B800B889BB243F400735B
:101374000B80082313711C237343E1580A4B0A8B17
:10138400920707D5013BFAD13046FFF73DFF3046BF
:10139400FFF7C6FE284602B0BDE8F0873001002002
:1013A400C82F0008F02C000880841E00017D03680B
:1013B400082906D19A8822F480721204120C9A80A9
:1013C40038E09A8A120541BF9A8A22F40062120414
:1013D400120C48BF9A829A8AD20541BF9A8A22F493
:1013E40080721204120C48BF9A829A8A52051ED542
:1013F4009A8A22F480621204120C04299A820AD175
:10140400032202759A8822F4E0621204120C9A8074
:10141400002303760EE0012909D19A8822F4E062C0
:1014240012040021120C01759A80017602E0002159
:10143400FFF77ABD002070472DE9F3411D4C1E4E85
:1014440000251E4F56F8283C44F8043C1C2202FB9D
:1014540005720023237013760822227432788DF8E3
:1014640004204FF001080C2201A82372E371E36009
:101474008DF805208DF806308DF8078000F0F2FE17
:1014840073788DF8043001A800F0ECFE54F8040CD5
:1014940001F0C2F8454504F11C0406F1340601D0FC
:1014A4004546CEE7284687F83850FFF797FE02B046
:1014B400BDE8F08134010020182D0008300100201F
:1014C40073B5144C94F838200346254622B91248C3
:1014D40040F2331100F090FD042807D90522009250
:1014E4000D480E4A40F2351100F07AFD0C4A1344BF
:1014F40093F888401C2303FB04521E46127912B948
:101504002046FFF70DFE06FB0454237901332371B3
:1015140002B070BD30010020C82F0008CE2F000893
:10152400F02C0008104A08B592F838301BB90F485F
:1015340040F2451104E0042804D90C484FF4A37187
:1015440000F05AFD0A4B18441C2390F8880003FB52
:10155400002213793BB1013BDBB213711BB9BDE827
:101564000840FFF751BE08BD30010020C82F000815
:10157400F02C000837B50D4614460093069B0193E2
:1015840001212A462346FFF765FE03B030BD07B5A7
:1015940000930123FFF7EEFF03B05DF804FB37B5BA
:1015A4000D4614460093069B019300212A462346C8
:1015B400FFF750FE03B030BD1FB504AC04F8013D85
:1015C40001230094FFF7EBFF04B010BD0148FFF7BF
:1015D40011BD00BF300100200148FFF7E7BE00BF86
:1015E400300100200148FFF705BD00BF4C01002079
:1015F4000148FFF7DBBE00BF4C010020FFF71EBA15
:1016040030B585B004460D46684601F027F90DB99A
:10161400029805E0012D01D1039801E000F0F6FCE9
:10162400B4EB500F0ED8B0FBF4F000F070FD0028BE
:1016340002DC0748272103E0082804DD04482821A8
:1016440000F0DAFC01200138C00080B205B030BDE2
:10165400FA2F0008B0F1006F10B504460BD20C4805
:10166400FFF7F8FB2046FFF71FFC0A48FFF7F2FBE1
:101674004FF0FF3010BD084B002053F8042BA2425A
:1016840002D81A68944202D301300B28F5D110BD58
:101694007230000800300008802D00082DE9F8435E
:1016A40006462A480C4617469846FFF7D3FB3046B1
:1016B400FFF7FAFB2648FFF7CDFB2046FFF7F4FBC4
:1016C4002448FFF7C7FBD4B33046FFF7C3FF0546F2
:1016D400601E3044FFF7BEFF002D814632DB002838
:1016E40030DB461B01361FB1002031464246B84765
:1016F40000F01AFE2C464C451FDCF32000F02AFEB5
:10170400154B002133F8140000F05CFE09280BD0BF
:101714001248FFF79FFB2046FFF7C6FB1048FFF770
:10172400B5FB00F00FFE0DE02FB1C5F10100204420
:1017340031464246B8470134DDE700F003FE01209C
:10174400BDE8F8830020BDE8F88300BF1B30000823
:101754002F30000832300008B02D00083630000861
:10176400843500082DE9F0470646234814460D4603
:101774001F46FFF76FFB3046FFF796FB1F48FFF746
:1017840069FB2046FFF790FB1D48FFF763FB00F061
:10179400CBFDF32000F0DEFD4FEAD41805EB04097D
:1017A4002C464C45C5EB040A20D0701B204414F889
:1017B400011B00F03DFE09280DD01248FFF74AFB3B
:1017C4003046FFF771FB1048FFF760FB00F0BAFDED
:1017D4000020BDE8F087002FE3D01AF07F0FE0D19E
:1017E4004FEADA104146089AB847DAE700F0AAFD52
:1017F4000120BDE8F08700BF4E3000082F300008FC
:1018040032300008623000088435000808B545F21B
:10181400555000F0CDFF042000F0D0FF40F6FF70DB
:1018240000F0D2FF002000F0C3FF4FF480500121EC
:10183400BDE8084000F06CBD08B57D2001F0BEF89D
:10184400003018BF012008BD4900FEF775BF4B08E2
:1018540003EB5000FEF770BF70B586B00546FFF786
:10186400ABF901210020FEF767FF042000F01EFB06
:1018740003A8294600F066FB03A800F072FB08B930
:1018840028480BE02848FFF701FB05F10C000499F8
:10189400FFF7D9F9059B984204D02448FFF7F6FADC
:1018A40001203DE0049C2248FFF7F0FA2146214A3A
:1018B40021480023FFF7F2FE049E2048FFF7E6FAD2
:1018C400002405F1C0411E4B009432460C311A48E5
:1018D400FFF748FF1B48FFF7BDFA0498FFF7E4FA47
:1018E4001948FFF7B7FA04991348FFF797F9054623
:1018F4001648FFF7AFFA0598FFF7D6FA1448FFF732
:10190400A9FA2846FFF7D0FA1248FFF7BFFA059B59
:101914009D4204D01048FFF7B9FA022000E02046A7
:1019240006B070BD7B30000899300008B63000085E
:10193400D93000084D18000800400008EC300008B9
:1019440053180008FF3000080D3100081631000854
:1019540029310008843500082F31000808B5022019
:1019640000F0BCFAD8B3042000F0B8FA70B11C48F7
:10197400FFF78CFA042000F0A5FA022000F0A2FA86
:101984004FF40040BDE8084000F09CBA1548FFF74A
:101994007DFA082000F096FA102000F093FA202037
:1019A40000F090FA402000F08DFA4FF48010FFF719
:1019B40053FF022807D1082000F078FA102000F025
:1019C40075FA00F045FB042000F07CFA022000F0D8
:1019D40079FA4FF40040BDE8084000F067BA08BD4A
:1019E4007A310008B031000810B52548FFF74EFAE7
:1019F4004FF40010FFF730FF10B102283AD809E085
:101A0400202000F05FFA402000F05CFA802000F013
:101A14004DFA2FE0082000F049FA102000F046FAB1
:101A2400202000F05BFA20B91648FFF72FFA202097
:101A340007E0402000F052FA58B91348FFF726FA9D
:101A4400402000F033FA4FF4007000F02FFA00F059
:101A5400FFFA0E48FFF71AFA082000F033FA1020B4
:101A640000F030FA202000F02DFA402000F02AFA8D
:101A7400002400E00124042000F024FA204610BDD4
:101A8400CB310008E53100081E3200085732000847
:101A940008B50248FFF7FAF900BEFEE791320008E4
:101AA4001EF0040F0CBFEFF30880EFF30980FFF77B
:101AB400EFBF70471FB504461048FFF7E7F901A9C7
:101AC4000C22204600F02FFB01A8FFF7DFF9204687
:101AD400FEF74AFEFEF7FAFF094B20F004001870E7
:101AE4001C46FEF7F3FF237800F0FB00834201D08D
:101AF40000F0AEFA0A2000F000FBF2E7873200089B
:101B0400690100207FB54FF08050012100F002FFF1
:101B1400022000F065FE012807D1022000F06AFED1
:101B2400BB48FFF7B3F900F098FA00214FF080505A
:101B340000F0F0FEFFF734F9B648FFF7A7F9B6480E
:101B4400FFF7A4F9B548FFF7A1F9B548FFF79EF9E7
:101B5400B448FFF79BF9B448FFF798F9B348FFF787
:101B640095F9B348FFF792F9B248FFF78FF9B248F5
:101B7400FFF78CF9FFF760FCFEF710FF00F0B8F9EF
:101B840000F0CEF900210C2201A801F060F800F069
:101B9400C3F901A90C2200F0C6FA01A8FFF776F9EF
:101BA4009C48FFF773F99B48FFF770F94FF48040A6
:101BB40000F094F990B1A148FFF768F94FF4804020
:101BC40000F080F9082000F07DF9102000F07AF987
:101BD400202000F077F9402000F074F9FEF7D8FDDA
:101BE400FEF782FFFEF74EFDFEF706FB08B19448B0
:101BF40003E0FEF745FB10B19248FFF75BFF00F0EE
:101C04008AF9802000F06AF918B1802000F05AF9AE
:101C140056E04FF4003000F061F9044620B14FF46F
:101C2400003000F04FF94DE00120FEF739FFB0B16C
:101C34002046FEF735FF90B18348FFF727F941F2BC
:101C440088340120FEF72CFF98B10020FEF728FF0E
:101C540078B1012000F051FA013CF2D132E07B4B23
:101C64000CCB013301D0013203D17948FFF70EF9CF
:101C740028E0FFF7E1FD48B3FFF7DEFD10B175483A
:101C8400FFF704F94FF4007000F028F910B172481E
:101C9400FFF7FCF84FF4007000F014F9102000F086
:101CA4001DF9002800F0EE806C48FFF7EFF80820DB
:101CB40000F008F9102000F005F9FFF795FE98B937
:101CC40067489AE76748FFF7E1F8F6E74FF40070D2
:101CD40000F004F90028CFD1082000F0F3F8102018
:101CE40000F0F0F8FFF73AFE4FF4005000F0F6F879
:101CF40004464FF4805000F0F1F8400040EA8400BC
:101D0400C4B24FF4006000F0E9F82043C0B20728E1
:101D1400C3B20DD14FF4006000F0D4F84FF48050FA
:101D240000F0D0F84FF4005000F0CCF84E4864E7CF
:101D34000133DBB2023B4FF40060052B11D8DFE81E
:101D440003F00C1003100C1000F0BCF84FF480509A
:101D540000F0B8F84FF4005003E000F0B3F84FF48B
:101D6400805000F0A3F8FFF751FD384B3F485D6801
:101D74001E68FFF76FF82846FFF796F83C48FFF710
:101D840069F80022930003F1604303F561430132D3
:101D94004FF0FF31082AC3F88010C3F88011F1D145
:101DA400344B4FF4801200241A635C639C631C64FC
:101DB4005C6400F02FFD3048012100F0C3FD214692
:101DC4002D4800F0BFFDF120012100F0C7FD2146A0
:101DD400F12000F0C3FD0120014600F0CBFD2146B7
:101DE400012000F0C7FD2548012100F0CFFD214668
:101DF400224800F0CBFD2248012100F0D3FD204809
:101E0400214600F0CFFD63B64FF0FF3EB5462847AC
:101E14009C32000884350008A9320008C03200084A
:101E2400D932000807330008363300086633000847
:101E340097330008C9330008FB3300082C3400082A
:101E4400014550FE024550FE593400080040000888
:101E54008B3400089E340008B6340008D6340008D9
:101E6400034550FE4A350008044550FE6935000814
:101E74007D350008003802400010E022FFC9FEF65C
:101E8400337F7704082000F029F820B10548FEF7D5
:101E9400FDFF102003E00448FEF7F8FF082000F0DF
:101EA40005F81FE7FE3400082435000810B5044681
:101EB400002000F0A7FD40EA04010020BDE8104026
:101EC40000F090BD10B50446002000F09BFD20EA10
:101ED40004010020BDE8104000F084BD10B50446A4
:101EE400002000F08FFD204214BF0120002010BD0F
:101EF40008B54FF08050012100F00CFD012000F0E6
:101F040069FC0120FFF7EAFF20B90121BDE8084080
:101F140000F068BD08BD7047022000F073BD0000EA
:101F240008B5FFF7F9FF054B1968884204D0022071
:101F3400BDE8084000F056BD08BD00BF840100089C
:101F440000BEFDE71FB504460C2201A8FEF71CFCE9
:101F540001AB03CB20601868A0602046616004B028
:101F640010BD0068A0F10C035842584170470000AE
:101F740080B50646174610480D461C46FEF76AFF14
:101F84003846FEF767FF0D48FEF764FF3046FEF75C
:101F940061FF0B48FEF75EFF2846FEF785FF2CB174
:101FA4000848FEF757FF2046FEF754FF0648FEF7A1
:101FB4006DFFFFF7C5FF00BF853500088E350008AB
:101FC400913500088F350008843500081FB506AA2E
:101FD40052F8044B039200921A462346FFF7C8FFB7
:101FE4000CB41FB506AA52F8043B03920092014AAE
:101FF400FFF7BEFF9335000807B500230093724630
:10200400014BFFF7E3FF00BF9A350008744608B59B
:102014000548FEF71FFF2046FEF746FF0348FEF77C
:1020240035FFFFF78DFF00BFA23500088435000897
:10203400BFF34F8F0449054BCA6802F4E0621343AF
:10204400CB60BFF34F8FFEE700ED00E00400FA051C
:1020540008B5FEF791FBFFF7EBFF08B5FFF7E8FFC4
:10206400F0B50646002401202546034694421DD0BF
:1020740011F804C000F1010EBCF1000F03D1735537
:10208400774605460DE00133DBB2FF2B774606F8B1
:1020940000C007D102F1FF3C644506D07355871C8C
:1020A4007546012301343846E0E770467355F0BDA8
:1020B40030B5C9B1C0430A44914213D011F8013B71
:1020C4000A4D83EA000404F00F0455F8244084EA1E
:1020D400101080EA131303F00F0355F8233083EA3A
:1020E4001010E9E7C04330BD084630BDC82D0008D4
:1020F400162358430138FDD1704710B504462CB15E
:102104004FF47A70FFF7F4FF013CF8E710BD10B507
:10211400B0FA80F400F027F801280CBFC4F11F00C6
:10212400C4F1200010BD0A2A10B51BDD0C46302373
:1021340004F8023B78234B701C220F239340034086
:10214400D340092B01D8303302E00F2B02D8573388
:10215400DBB200E02023043A04F8013B131DECD168
:1021640000238B7210BD00F0AA33A0EB530000F0E3
:10217400CC3300F0333000EB930000EB101000F090
:102184000F3000EB102000EB104000F03F007047D0
:102194002D4AD2F8883043F47003C2F888302B4BB0
:1021A4001A68002142F001021A6099601A6822F04C
:1021B400847222F480321A60254A5A601A6822F422
:1021C40080221A60D9601A6C224942F080521A6443
:1021D4000A6842F440420A609A689A609A689A606F
:1021E4009A6842F480529A601B4A5A601A6842F014
:1021F40080721A601968154A8901FBD5174B40F2A1
:1022040003611960936823F003039360936843F0B8
:10221400020393600D4B9A6802F00C02082AF9D16C
:102224009A6822F400029A600D4AC3F884201A685E
:1022340042F080621A60054B1B681B01FBD5024B00
:102244004FF000629A60704700ED00E000380240F1
:1022540010300024007000401040010F003C024088
:1022640000300050C278037810B512B3164AD16812
:102274004278C943C1F30221C1F10404E4B2A2408B
:10228400D4B20F220A4181780A40224303F1604309
:1022940003F561431201D2B283F8002303780122CB
:1022A400590903F01F0302FA03F3084A42F82130E4
:1022B40010BD5A09012103F01F03994002F12003C4
:1022C400024A42F8231010BD00ED00E000E100E0F6
:1022D400014B01229A60704700300240014B1860A4
:1022E400186870470030024000EB81018842044BBB
:1022F40003D050F8042B1A60F8E71868704700BF41
:1023040000300240014B1868704700BF00300240A3
:10231400044B9A6809B1104301E022EA0000986076
:10232400704700BF002004E0044B1A69002ABFBFB5
:10233400034A5A6002F188325A607047003C0240F6
:1023440023016745024A136943F000431361704750
:10235400003C0240014BD860704700BF003C024083
:102364000E4BDA68D20310D4DA68D1060FD4DA68D7
:10237400D2050ED4DA6812F0EF0F0CD1DB6813F03B
:10238400020F14BF0820092070470120704706205F
:102394007047022070470720704700BF003C02408E
:1023A40007B509238DF80730FFF7DAFF8DF807002A
:1023B4009DF80730012BF7D09DF8070003B05DF8B6
:1023C40004FB000070B5064641B1012908D002297A
:1023D4000CBF4FF400754FF4407503E00D4601E067
:1023E4004FF48075FFF7DCFF09281ED10F4C2369D9
:1023F40023F440732361216929432161236923F074
:10240400F8032361236943F002031E432661236911
:1024140043F480332361FFF7C3FF236923F00203EE
:102424002361236923F0F803236170BD003C02405B
:1024340070B505460E46FFF7B3FF092811D1094CC4
:10244400236923F44073236123692361236943F0DF
:10245400010323612E70FFF7A3FF236923F0010317
:10246400236170BD003C024070B543688668856A8C
:102474000468416B46EA0302C3681A4303691A43BA
:1024840043691A4383691A43C3691A43036A1A43A3
:10249400436A1343C26A2B431A43036B1343A200D8
:1024A40002F120420B43082E136002BF136843F06D
:1024B40040031360B1F5801F816B12D18CB14FF0D2
:1024C40020435C681E6846F480161E601E6846F44D
:1024D40080761E600E6924F47004013E44EA0654BA
:1024E4005C608C690B6823434C6843EA04138C6872
:1024F40043EA0423CC6843EA04430C69496943EA88
:10250400045343EA0163B5F5804F536010D1C16BA6
:1025140088690B680343486843EA0013886843EA00
:1025240000230869496943EA005343EA016301E06F
:102534006FF07043C2F8043170BD0000800000F1F8
:10254400204019B1036843F0010302E00268024B22
:1025540013400360704700BFFEFF0F00F0B50E6824
:1025640000220123934003EA060E9E452AD155001A
:1025740003230468AB40DB431C4004600C79076808
:1025840004FA05FC013C4CEA0707012C076011D84A
:1025940084684F791C4084608468AF402743876017
:1025A400446824EA0E0444608C7947689440A4B2D9
:1025B4003C434460C4682340C360CB79C468AB40E7
:1025C4002343C3600132102ACBD1F0BD4FF6FF7311
:1025D40003600023037143718371C37170470369FE
:1025E400194214BF0120002070470AB101837047CB
:1025F4004183704701F00703C90800EB810010B55F
:102604009B00046A0F21994024EA01010162016AD6
:102614009A401143016210BD08B5134B984207D18B
:102624004FF40010012100F0B1F94FF4001014E050
:102634000E4B984207D14FF48000012100F0A6F917
:102644004FF4800009E00A4B98420BD14FF400008C
:10265400012100F09BF94FF400000021BDE808407F
:1026640000F094B908BD00BF005400400058004079
:10267400005C00407FB5868826F03F060446360499
:1026840068460D46360C00F0E9F8029A2C48B2FB75
:10269400F0F081B20E43A68023882A4E23F0010372
:1026A4001B041B0C23802B68B3420AD85B00013146
:1026B400B2FBF3F39BB2032B89B298BF04232184AA
:1026C40023E0EE884BF6FF718E421BBF19214B436A
:1026D40003EB4303B2FBF3F315BF9BB2B2FBF3F37B
:1026E40043F480439BB2C3F30B020AB943F00103E2
:1026F4004FF4967101FB00F24FF47A7192FBF1F200
:10270400013292B243F400432284A383238869896B
:10271400AA889BB243F001032380238823F48163B6
:1027240023F002031B040A431B0C13439BB22380B4
:102734002A89AB8913439BB2238104B070BD00BFC7
:1027440040420F00A086010041F288330360002359
:1027540083804BF6FF72038143814FF48043C28030
:1027640083817047038819B19BB243F0010303E0EE
:1027740023F001031B041B0C03807047038819B169
:102784009BB243F4806303E023F480631B041B0CBB
:1027940003807047838A9AB2038B10B542EA0343DD
:1027A40021F07F4404EA0300431A5842584110BD03
:1027B400014B1860704700BF00300040014B586067
:1027C400704700BF00300040014B9860704700BF65
:1027D40000300040014B1860704700BF20000E42DB
:1027E400034B5B68184214BF01200020704700BFF0
:1027F40000700040064BB0F5402F15BF1A685A68A8
:1028040042EA800042F4402214BF18605A607047C4
:10281400007000400E4B1A68002142F001021A6059
:1028240099601A6822F0A85222F410221A60094A08
:102834005A60094AC3F8842002F18062C3F88820F0
:102844001A6822F480221A60D960C3F88C10704789
:102854000038024010300024003000201D4A9368E4
:1028640003F00C03042B10B503D0082B03D01A4B30
:1028740018E01A4B16E05168536811F4800F03F006
:102884003F03516814BF154A134AB2FBF3F3114ACC
:102894005268C2F30142C1F3881101324B43520022
:1028A400B3FBF2F30B4A036093680D49C3F30313BC
:1028B400CC5C0368E34043609468C4F382240C5DF9
:1028C40023FA04F484609268C2F342328A5CD340EF
:1028D400C36010BD003802400024F40040787D013C
:1028E40001000020044B1A6B09B1104301E022EAF5
:1028F40000001863704700BF00380240044B9A6B15
:1029040009B1104301E022EA00009863704700BF58
:1029140000380240044B1A6C09B1104301E022EA6A
:1029240000001864704700BF00380240044B5A6C22
:1029340009B1104301E022EA00005864704700BF67
:1029440000380240044B1A6909B1104301E022EA3D
:1029540000001861704700BF00380240044B5A69F8
:1029640009B1104301E022EA00005861704700BF3A
:1029740000380240044B9A6909B1104301E022EA8D
:1029840000009861704700BF00380240044B1A6A87
:1029940009B1104301E022EA00001862704700BF49
:1029A40000380240044B5A6A09B1104301E022EA9C
:1029B40000005862704700BF003802404209012AF3
:1029C400074B01D11B6803E0022A0CBF1B6F5B6F2E
:1029D40000F01F0023FA00F000F00100704700BF70
:1029E4000038024082B000230193054B0193019B00
:1029F40003EB80000190019B196002B0704700BF97
:102A04005028004082B000230193054B0193019BA1
:102A140003EB80000190019B186802B0704700BF6F
:102A24005028004008B5254B984207D14FF48050F8
:102A34000121FFF7B7FF4FF4805039E0204B984253
:102A440007D14FF480400121FFF7A0FF4FF48040ED
:102A540009E01C4B98420BD14FF400400121FFF7D1
:102A640095FF4FF400400021BDE80840FFF78EBFFA
:102A7400154B984207D14FF400500121FFF792FF04
:102A84004FF4005014E0114B984207D14FF48010DA
:102A94000121FFF787FF4FF4801009E00C4B9842A7
:102AA4000BD14FF400100121FFF77CFF4FF400100D
:102AB4000021BDE80840FFF775BF08BD00300140A4
:102AC40000380040003C0040003401400050014008
:102AD4000054014003884A8810B503F441540B881C
:102AE40013438A881343CA8813430A8913434A89C0
:102AF40013438A891343CA89134323439BB2038034
:102B0400838B23F400631B041B0C83830B8A0382D3
:102B140010BD0023038043808380C38003814381ED
:102B24008381C381072303827047038819B19BB251
:102B340043F0400303E023F040031B041B0C038019
:102B44007047808980B27047818170470389194238
:102B540014BF0120002070477FB5038ACA889BB246
:102B640023F440531343038283890E469BB223F418
:102B7400B053098923F00C02B3880B4371890B43CA
:102B84009BB213438381838AB2899BB223F440733B
:102B94001343838204466846FFF760FE1A4B9C4247
:102BA40003D003F580639C4201D1039D00E0029DA4
:102BB400A38931681BB2002B4FF0190202FB05F206
:102BC400B4BF4D008D00B2FBF5F5A2896426B5FBB8
:102BD400F6F00001010912B2002A06FB1153ADBF41
:102BE4001A01D90032313232B5BFB1FBF6F2B2FB71
:102BF400F6F302F0070203F00F03B4BF10431843C7
:102C040080B2208104B070BD00100140838919B1E5
:102C14009BB243F4005303E023F400531B041B0C46
:102C240083817047C1F3080181807047038819428A
:102C340014BF01200020704710B5431E0A4491427E
:102C440004D011F8014B03F8014FF8E710BD02441A
:102C54000346934202D003F8011BFAE770470000D1
:102C64000400000001030000010000000100000056
:102C740003000000010000000F0000000F0000002E
:102C840000000000AE2F00080018024010000000F1
:102C940006040000B32F00080018024008000000DA
:102CA40006030100B62F00080018024002000000CD
:102CB40006010100BD2F00080018024004000000B6
:102CC40006020100000000000000000001424F4F16
:102CD400544C4F414445520000000000002A2A0091
:102CE400000000000000000000000000005400404C
:102CF40000040240400000000600040000040240FA
:102D0400000200000900040000002000801A0600F0
:102D1400004000001F200000000000000000000030
:102D240000580040001402400200000001000400AA
:102D340000140240010000000000040000004000F4
:102D4400801A0600FFBF00002122000000000000DE
:102D54000116000801000300820007008400070038
:102D6400010003000200030040000300800007008C
:102D740084000700000001000000000000000008BB
:102D8400004000080080000800C00008000001089E
:102D940000000208000004080000060800000808FB
:102DA40000000A0800000C0800000E0800000800DB
:102DB40010001800200028003000380040004800AF
:102DC40050005800000000006410B71DC8206E3B7E
:102DD400AC30D9269041DC76F4516B6B5861B24D1E
:102DE4003C7105502083B8ED44930FF0E8A3D6D688
:102DF4008CB361CBB0C2649BD4D2D38678E20AA0F0
:102E04001CF2BDBD537475636B20627574746F6E70
:102E140020726567697374657220697320696E76C0
:102E2400616C69642C20636C656172696E672E0045
:102E3400427574746F6E206973207075736865646D
:102E440020617420626F6F740069636534306C7044
:102E54002E630043444F4E45206E6F74206C6F7791
:102E640020647572696E67207265736574004352DD
:102E740045534554206E6F742068696768206475F3
:102E840072696E6720726573657400446973706C4F
:102E9400617920627573792D776169742074696D25
:102EA400656F757420657870697265642100436F7D
:102EB4006E6669677572696E672046504741206681
:102EC400726F6D2062697473747265616D20696ECE
:102ED40020666C6173682E2E2E004E6F204650477C
:102EE400412062697473747265616D20696E206635
:102EF4006C6173682E0046616C6C696E6720626158
:102F0400636B20746F204E56434D2E00465047414C
:102F14002043444F4E452074696D656F7574206578
:102F240078706972656421004650474120636F6E72
:102F340066696775726174696F6E206661696C6534
:102F4400642E204973207468697320612062696764
:102F5400626F6172643F0046504741207665727328
:102F6400696F6E3A2000446973706C617920696EF0
:102F7400697469616C697A6564206166746572203C
:102F84000020726574726965732E00446973706CF5
:102F9400617920696E697469616C697A6174696FB9
:102FA4006E206661696C65642E004261636B005536
:102FB400700053656C65637400446F776E006372D0
:102FC400632E63006932632E6300493243206465D3
:102FD40076696365204944206F7574206F662062AA
:102FE4006F756E647320256420286D61783A2025FE
:102FF4006429006F6E007370692E6300206973206A
:103004006F7574736964652073797374656D206674
:103014006C6173680D0A0073797374656D5F666C17
:103024006173685F657261736528002C2000290D47
:103034000A006661696C656420746F20657261734F
:103044006520736563746F72200073797374656DA2
:103054005F666C6173685F77726974652800666186
:10306400696C656420746F2077726974652061648B
:1030740064726573732000496E76616C69642066BE
:1030840069726D77617265206465736372697074C7
:10309400696F6E2100436865636B73756D6D696E4E
:1030A40067206669726D77617265207570646174FA
:1030B4006500496E76616C6964206669726D77613A
:1030C40072652043524320696E2053504920666C38
:1030D400617368210065726173655F6F6C645F661C
:1030E40069726D776172650077726974655F6E6588
:1030F400775F6669726D7761726500436865636BBB
:1031040073756D6D696E6720002062797465730D47
:103114000A00436865636B73756D202D2077616EBB
:10312400746564200020676F7420004F75722069F5
:103134006E7465726E616C20666C61736820636F77
:103144006E74656E747320617265206261642028F8
:10315400636865636B73756D206661696C6564296A
:10316400212054686973206973207265616C6C79DD
:103174002062616421004F75722070726576696FF8
:103184007573206669726D7761726520757064610C
:103194007465206661696C65642C2061626F727469
:1031A400696E67207570646174652E004E657720C2
:1031B4006669726D776172652069732061766169F1
:1031C4006C61626C6521004C6F6164696E6720728A
:1031D40065636F76657279206669726D7761726571
:1031E400004661696C656420746F206C6F616420B3
:1031F4007265636F76657279206669726D77617244
:10320400652C20737472696B65206F6E652E205473
:10321400727920616761696E2E004661696C65642C
:1032240020746F206C6F6164207265636F766572C1
:1032340079206669726D776172652C207374726986
:103244006B652074776F2E205472792061676169F1
:103254006E2E004661696C656420746F206C6F612A
:1032640064207265636F76657279206669726D7722
:103274006172652C20737472696B65207468726561
:10328400652E20534144205741544348004841523D
:1032940044204641554C5400657869742073746128
:1032A4006E64627900205F5F5F5F20202020202011
:1032B4002020202020202020205F5F002F5C202061
:1032C4005F605C20202020202020202020202F2729
:1032D4005F5F605C005C205C2C5C4C5C5F5C20206D
:1032E40020205F5F5F202F5C205C2F5C205C20200F
:1032F4005F5F20205F5F20205F5F20205F5F2020D2
:103304005F5F00205C2F5F5C5F5F205C20202F27C5
:10331400205F20605C205C205C205C205C2F5C20B3
:103324005C2F5C205C2F5C205C2F5C205C2F5C207D
:103334005C002020202F5C205C4C5C205C2F5C20F7
:103344005C2F5C205C205C205C5F5C205C205C204B
:103354005C5F2F205C5F2F205C205C205C5F5C2026
:103364005C002020205C20605C5F5F5F5F5C205C11
:103374005F5C205C5F5C205C5F5F5F5F2F5C205C58
:103384005F5F5F785F5F5F2F275C2F605F5F5F5FCA
:10339400205C00202020205C2F5F5F5F5F5F2F5C3C
:1033A4002F5F2F5C2F5F2F5C2F5F5F5F2F20205CD0
:1033B4002F5F5F2F2F5F5F2F202020602F5F5F5FC5
:1033C4002F3E205C002020202020202020202020B0
:1033D40020202020202020202020202020202020E9
:1033E40020202020202020202020202020202020D9
:1033F4002F5C5F5F5F2F00202020202020202020D2
:1034040020202020202020202020202020202020B8
:1034140020202020202020202020202020202020A8
:1034240020205C2F5F5F2F004C61737420666972EB
:103434006D7761726520626F6F742077617320739A
:103444007461626C653B20636C6561722073747295
:10345400696B657300486F6C6420646F776E2055E8
:1034640050202B204241434B20666F72203520733D
:103474006563732E20746F20666F7263652D626FAF
:103484006F7420505246004669726D7761726520F0
:10349400697320657261736564005761746368645D
:1034A4006F6720636175736564206120726573655D
:1034B4007400536F667477617265206661696C7518
:1034C400726520636175736564206120726573653C
:1034D40074004661696C656420746F207374617252
:1034E40074206669726D776172652C2073747269D9
:1034F4006B652074687265652E004661696C65644D
:1035040020746F207374617274206669726D7761C0
:1035140072652C20737472696B652074776F2E004A
:103524004661696C656420746F20737461727420E1
:103534006669726D776172652C20737472696B654C
:10354400206F6E652E00466F7263652D626F6F7417
:10355400696E67207265636F76657279206D6F643A
:10356400652E2E2E00426F6F74696E672066697235
:103574006D77617265204020002E2E2E0D0A0D0AF3
:10358400004153534552543A20002020003A004150
:103594005353455254004153534552544E002A2A22
:1035A4002A20575446200053544D33320053544D6F
:1035B4003332207065726970686572616C206C6961
:1035C4006272617279207472697070656420616ED0
:1035D400206173736572740043524F414B204F4F07
:0435E4004D00000096
:1035E800FF000000000102030401020304060708AB
:0435F80009000000C6
:04000005080001B43A
:00000001FF

View file

@ -0,0 +1,869 @@
:020000040800F2
:1000000070210020B5010008F9010008A51A0008B8
:10001000F9010008F9010008F901000800000000DA
:10002000000000000000000000000000F9010008CE
:10003000F901000800000000F9010008F9010008BA
:10004000F9010008F9010008F9010008F9010008A8
:10005000F9010008F9010008F9010008F901000898
:10006000F9010008F9010008F9010008F901000888
:10007000F9010008F9010008F9010008F901000878
:10008000F9010008F9010008F9010008F901000868
:10009000F9010008F9010008F9010008F901000858
:1000A000F9010008F9010008F9010008F901000848
:1000B000F9010008F9010008F9010008D11500084C
:1000C000DD150008E9150008F5150008F90100081C
:1000D000F9010008F9010008F9010008F901000818
:1000E000F9010008F9010008F9010008F901000808
:1000F000F9010008F9010008F9010008F9010008F8
:10010000F9010008F9010008F9010008F9010008E7
:10011000F9010008F9010008F9010008F9010008D7
:10012000F9010008F9010008F9010008F9010008C7
:10013000F9010008F9010008F9010008F9010008B7
:10014000F9010008F9010008F9010008F9010008A7
:10015000F9010008F9010008F9010008F901000897
:10016000F9010008F9010008F9010008F901000887
:10017000F9010008F9010008F9010008F901000877
:04018000F901000879
:100184008BB8185876342E332D616C706861322D1B
:1001940033342D6738663564383732000000000088
:0F01A40000000000386635643837320000000173
:1001B400002103E00A4B5B584350043109480A4BC1
:1001C40042189A42F6D3094A02E0002342F8043B5B
:1001D400074B9A42F9D301F0DBFF01F093FC70471F
:1001E400E83500080000002014000020140000205E
:1001F4006C010020FEE7000030B501208BB002F056
:1002040001FC002401902546E0B200F049FC01AA5B
:1002140008B9105519E0135D042B10DD164800F0E1
:1002240035FE02A92022019801F07DFF02A800F00A
:100234002DFE0120002102F0D5FB00201AE001333D
:10024400DBB2052B135528BF01250134042CDBD167
:10025400019C54B1094800F019FE204602A920224D
:1002640001F061FF02A800F011FE0120214602F016
:10027400B9FB28460BB030BD082E0008342E000808
:1002840008B500F017FB80F00100C0B208BD000003
:1002940008B54FF48061034802F0A1F9003018BF9B
:1002A400012008BD001802402DE9F0434A4C89B0F2
:1002B400204600F005FE20460D21052202F09AF9A1
:1002C40020460E21052208AE02F094F905222046AC
:1002D4000C2102F08FF94FF4005346F81C3D002521
:1002E40001274FF00209204631468DF80A508DF857
:1002F4000B508DF808908DF8097002F02FF94FF427
:10030400804320463146019302F028F94FF480538C
:100314002046314601934FF4007802F01FF920463D
:1003240031468DF808508DF80B70CDF8048002F03A
:1003340015F94FF480632046314601938DF8085037
:100344008DF80B5002F00AF94FF4807320463146C1
:1003540001938DF808708DF80B5002F0FFF84FF4FC
:1003640000432046314601938DF80A708DF80B50F6
:1003740002F0F4F839464FF4001002F0D7FAA4F56D
:100384004444164B164E1E60204602F04BFB03A855
:1003940002F0BFFB4FF4827339463046ADF80E309D
:1003A400ADF80C50ADF81050ADF81290ADF81470D3
:1003B400ADF8168001F024F903A9ADF81800204621
:1003C400ADF81A5002F086FB2046394602F0ADFB28
:1003D40009B0BDE8F08300BF0018024014000020FB
:1003E4000024F40008B5022001F087FE012000F08B
:1003F40045FB022001F081FE0120BDE8084000F029
:100404002BBB000010B504460548022102F09EFBF8
:100414000028F9D021460248BDE8104002F094BB00
:100424000054014038B5012204460D4629484FF4D2
:10043400807102F0DAF8012001F05FFE25484FF4E4
:100444000041002202F0D1F84FF4807100222148CB
:1004540002F0CBF8012001F050FE4FF400411D489A
:10046400012202F0C2F8012001F047FE19484FF4BE
:10047400007102F0B4F818B11748184A6A210AE06A
:1004840014484FF4004102F0AAF808B1254404E0EE
:100494001148134A6B2101F0A3FDAC4204D014F8B7
:1004A400010BFFF7AFFFF8E70A484FF48071012210
:1004B40002F09BF808240020FFF7A4FF013CFAD1C6
:1004C4004FF40071034802F08AF8003018BF01208D
:1004D40038BD00BF001802404D2E0008572E0008FA
:1004E400722E000810B504460B4802F02AFB0A4895
:1004F400022102F02BFB0028F9D00748214602F024
:1005040023FB0548012102F021FB0028F9D0024811
:1005140002F017FBC0B210BD0054014010B54FF4F7
:10052400807104460022054802F05FF8642001F05F
:10053400DFFD2046BDE81040FFF764BF001802400D
:1005440008B50748802102F001FB0028F9D10548CD
:100554004FF480710122BDE8084002F046B800BFA4
:10056400005401400018024010B540F2F514FFF7A2
:100574008FFE50B1013C04D1054800F087FC2046B1
:1005840010BD642001F0B4FDF1E7012010BD00BFEF
:100594008F2E000810B5224C638822884FF6FF7115
:1005A400DB438A429BB20BD09A4209D11D4800F02A
:1005B4006DFC1D482188FFF735FF20B1012010BDD7
:1005C4001A4800F063FC1A4800F060FC19484FF424
:1005D4008071012202F009F84FF40041002215480D
:1005E40002F003F8012001F088FD12484FF40041A5
:1005F400012201F0FAFF40F2E9340E484FF4007191
:1006040001F0EDFF0028D9D1013C04D10A4800F0E3
:100614003DFC204610BD642001F06AFDEDE700BFFB
:1006240000000F60B22E000804000F60DE2E0008E8
:10063400FA2E000800180240102F000810B50446D6
:100644000420FFF76BFF2046FFF7DCFEBDE81040F7
:10065400FFF776BF10B504460120FFF75FFFE0B255
:10066400FFF7D0FEC4F30720FFF7CCFEC4F3074026
:10067400FFF7C8FE200EFFF7C5FEBDE81040FFF7E8
:100684005FBF000010B5FFF70FFEFFF783FF08B947
:10069400224830E0224800F0DDFB4FF48071002254
:1006A400204801F0A2FF642001F022FD0020FFF7A2
:1006B40019FF4FF48071012204461A4801F095FF96
:1006C400204600F0F1FB184800F0E0FBFFF78AFE3B
:1006D40000240120FFF7B2FFFFF746FF78B10320A3
:1006E400FFF71CFFFFF72CFF104800F0B3FB204678
:1006F40000F0DAFB0E48BDE8104000F0C7BB01343F
:10070400FFF748FF152CE4D10A4800F0BFFB022094
:10071400FFF704FFBDE81040FFF712BF2C2F0008BD
:100724005B2F000800180240843500086A2F000877
:10073400852F00088F2F000808B55D235843094B07
:100744004A1C00EB52001A78B0FBF1F0C0B28242AE
:1007540007D01870FFF77EFF0220BDE80840FFF7BE
:100764006DBF08BD0000002008B5FFF773FF03202C
:10077400BDE80840FFF762BF08B50220FFF7CEFED0
:10078400BDE80840FFF7DCBE01F1C04102F054BAF5
:1007940070B543489AB000F093FB424800F090FBD8
:1007A400414800F08DFB414B93E8030001AD85E81F
:1007B40003003C48294601F0D1FE3A4804210122B5
:1007C40001F013FF00240223029435488DF8083009
:1007D400072103230C228DF80930019401F00AFF4C
:1007E40080232F480193294601F0B8FE022C04D03F
:1007F4002C48A1B20C2201F0FDFE0134102CF5D1DD
:100804004FF6FB7327480193294601F0A7FE022601
:100814003146013624480C22B6B201F0EBFE102E0C
:10082400F6D14FF6FC7329461F48019301F096FE5A
:10083400042100221B481E4D01F0D7FE0A2001F0BE
:1008440057FC01220421174801F0CFFE1E2001F0BD
:100854004FFC0120014602F051F80FCD03AC0FC448
:1008640095E8070084E80700402200210AA802F066
:10087400EEF902230B9308230C934FF48053129345
:100884004FF4005313930AA803AB18930D9601F089
:10089400EBFD0020012101F051FE1AB070BD00BF34
:1008A40000040240000C024000100240642C0008C6
:1008B4006C2C00080D4B98221A80A3F68A231B88FF
:1008C400DBB2512B0CD10A4B1B88DBB2522B07D164
:1008D400084B1888C0B2A0F159035842584100E0AF
:1008E4000020024BF0221A80704700BFAA0A006061
:1008F400220000602400006002460B4604205021C0
:1009040000F045BE02460B460420502100F054BEC0
:10091400032873B50E4603D0042804D001F076FBF7
:1009240014241C4D01E01C4D162420460DF1070132
:10093400FFF7E2FF08B900202AE02B78AEB10BB133
:10094400013323E09DF8071021F0060141F0020174
:1009540020468DF80710FFF7D5FF0028EBD00124BF
:1009640003202C7001F0C9FB11E05AB2012A0CDCFF
:100974009DF80710204601F0F9018DF80710FFF7E4
:10098400C1FF0028D7D02E7001E0013B2B7001205D
:1009940002B070BD180000201900002073B525486E
:1009A40000F08EFA02254FF410730024012621482A
:1009B400009369468DF804508DF805508DF8066053
:1009C4008DF8074001F0CAFD1A480621042201F0FF
:1009D40011FE04220921174801F00CFE154800F00D
:1009E40087FA154800F06CFA42F20C036946124883
:1009F40000938DF805508DF804608DF806408DF84D
:100A0400074001F0ABFD0C4800F072FA042000F03E
:100A140057FD20466946FFF76FFF9DF80050B54229
:100A240005D103202946FFF773FF284600E020463E
:100A340002B070BD000402400014024010B5044628
:100A4400042000F03DFD21460420FFF761FF04204F
:100A5400BDE8104000F066BD38B5074C0546204699
:100A640000F02EFA20462A46042101F0BEFD20465D
:100A7400BDE8384000F03CBA0014024038B5074CD9
:100A84000546204600F01CFA20462A46082101F0BB
:100A9400ACFD2046BDE8384000F02ABA00140240FC
:100AA40038B5094C04EB00146568284600F008FAD0
:100AB4002189284601F093FD0446284600F018FADF
:100AC400B4FA84F0400938BD882C000838B50024F5
:100AD4002546E0B2FFF7E4FFA04001340543042CAF
:100AE400EDB2F6D1284638BDF7B54FF48040012168
:100AF400134C01F01BFF04F140076568284600F021
:100B0400DFF9684601F062FD02238DF80530A37B0E
:100B14008DF807302846A3680093694600268DF8AF
:100B24000460103401F01AFD284600F0E1F9BC42DB
:100B3400E3D14FF48040314601F0F8FE03B0F0BD3C
:100B4400882C000808B5054B1B781BB904483221D2
:100B540001F052FABDE8084001F0C6BB1A000020BB
:100B6400C22F0008124B1B7870B505460C461BB902
:100B74001048382101F040FA032906D98E0831467D
:100B8400FFF7E0FFB6003544A41B6CB12B462C44A0
:100B94000020A34204D013F8012B42EA0020F8E716
:100BA400BDE8704001F09ABBBDE8704001F0AABBFB
:100BB4001A000020C22F0008024B1A780AB9012239
:100BC4001A7070471A00002008B5084B1A781AB931
:100BD40007482B2101F010FA01214FF4805059707D
:100BE40001F080FEBDE8084001F072BB1A0000204D
:100BF400C22F000808B5074B1A781AB906485121C4
:100C040001F0FAF9002159704FF48050BDE8084012
:100C140001F068BE1A000020C22F000870B50C460F
:100C24000546A608FFF7D0FF28463146FFF78AFF9E
:100C340004F0030105EB8600FFF794FF0446FFF779
:100C4400D9FF204670BD70B5A0B00D460646FFF72B
:100C5400BBFF2C467119802CA1EB0401684608D90E
:100C64008022FFF791FD68462021FFF76BFF803C4F
:100C7400F0E72246FFF788FD21466846FFF772FF3A
:100C84000446FFF7B7FF204620B070BD0A4B1B781F
:100C940010B504467BB10948402101F0C7FF002884
:100CA400F9D00648214601F0BDFF0448402101F077
:100CB400BDFF0028F9D010BD1C00002000480040F2
:100CC4002DE9F043334D83B06C6804F12E0323F017
:100CD400070300AFADEB030D50238DF80030212343
:100CE4008DF8013000238DF8023003238DF8033092
:100CF40004F121035BBAADF80430274B04F1270853
:100D04006E460DF1060203F11C0153F8040B42F880
:100D1400040B8B42F9D11B78137004F1230922468A
:100D240006F123001D4901F087FF31464A460020A1
:100D340001F0BEF907F1080304F5927443F8040DB9
:100D4400186846F80900FE23B4FBF3F34344073361
:100D540023F00703ADEB030D31464246684601F02C
:100D64007FF904465520FFF791FF6E466C44A64276
:100D740007D016F8010B552808BF0020FFF786FF9F
:100D8400F5E75520FFF782FF00230C376B60BD4663
:100D9400BDE8F0831C000020D02C000824000020B3
:100DA4002DE9F041274C86B0204600F089F84FF435
:100DB4008020012101F0AEFD20460A21072201F026
:100DC40019FC06AE072220460B2101F013FC4FF458
:100DD400806346F8183D002501274FF0020820469D
:100DE40031468DF806508DF807708DF804808DF823
:100DF400058001F0B3FB4FF40063204631460093B5
:100E04008DF8048001F0AAFBADF80C50ADF80E503B
:100E1400ADF81050ADF814500B4D0C4B029328460E
:100E24000C2302A9ADF8123001F096FE284639468B
:100E340001F0ECFE204600F05BF8054B1F7006B095
:100E4400BDE8F081000802400048004040420F0025
:100E54001C00002038B50C4B1A781C469AB1451E6C
:100E640015F8012F7AB163680749FF2B0BD80A2ABA
:100E740002D1FFF725FFF3E70D2A1FBF581C5B18AB
:100E840048601A72ECE738BD1C00002008B5054B19
:100E94001B782BB1FFF7DEFFBDE80840FFF710BF5A
:100EA40008BD00BF1C0000201FB50C2201A901F0E1
:100EB4003AF901A8FFF7CEFF05B05DF804FB000086
:100EC40000F13F4000F57E00C0F3872008280AD8CF
:100ED400054A135C591C11542BB9044901230A6BAC
:100EE400834013430B637047240100200038024001
:100EF40000F13F4000F57E00C0F3872008280DD89C
:100F0400074A135C53B1013BDBB2135433B90549AF
:100F140001230A6B834022EA03030B63704700BF7B
:100F2400240100200038024002460068838823F42C
:100F3400E0631B041B0C838003889BB243F400739F
:100F4400038008230020517513751076704737B558
:100F540004460D46FFF7B4FF0023204669468DF88A
:100F640004308DF805308DF80730009501F0F6FA5D
:100F74002046FFF7BDFF03B030BD000010B50B4C99
:100F8400342300FB0344236B7BB10A2001F0B5F842
:100F94006068A168FFF7DBFF20696169FFF7D7FF8D
:100FA400236B0120BDE81040184710BDF02C000849
:100FB400F7B5044616460F461D46FFF781FF02218A
:100FC40001238DF804108DF805108DF806302046A5
:100FD400002369468DF80730009701F0BFFA2046D8
:100FE40031462A4601F006FB2046FFF781FF03B095
:100FF400F0BD0000027D082A10B5044607D102683E
:10100400938823F4C0631B041B0C938084E0434B3C
:10101400006803EB8203996E01F0BCFB00287BD0CF
:10102400237D072B72D8DFE803F0040B1921323B30
:101034005A6E237A226803F0FE03138201232DE003
:101044002268A37A1382637A0BB1022326E0938881
:101054009BB243F48063938006231FE022681388C5
:101064009BB243F480731380032317E0237A22682E
:1010740043F001031382E37A012B01BF138823F4A5
:1010840080631B041B0C08BF1380042306E0226842
:1010940093889BB243F480639380052323753BE0DC
:1010A40023682269198A237BD154237BE27A013392
:1010B400DBB2591C9142237307D12268138823F4AD
:1010C40080631B041B0C138026E0934224D1226806
:1010D400938823F480631B041B0C938013E0237B0D
:1010E40021692268CB5C1382237BE17A0133DBB272
:1010F4009942237310D1938823F480631B041B0C3F
:1011040093800723CAE72046012101E020460021FD
:10111400BDE81040FFF708BF002010BDF02C000808
:101124007FB51D4D1C2303FB005306461B790BB9E9
:10113400FFF724FF194C342306FB03446068A168BD
:10114400A289A37BFFF734FF228BA37E2069616908
:10115400FFF72EFFE069012101F0DCFB684601F096
:10116400F3FA0F4A236A009393424FF48063ADF875
:101174000A304FF01C0384BF626AADF8062003FBFB
:1011840006F46946285901F075FA2859012101F03D
:10119400E9FA04B070BD00BF30010020F02C000853
:1011A400A086010073B504460E460025FFF788FEAD
:1011B4000123204669468DF8043000968DF80550C9
:1011C4008DF8075001F0CAF92046B1B22A4601F061
:1011D4000CFA2046FFF78CFE02B070BD10B5094C26
:1011E400342300FB0344236B5BB100209847606801
:1011F400A168FFF7D7FF20696169BDE81040FFF7D8
:10120400D1BF10BDF02C00081C23104A434370B515
:1012140005460F4CD058D61801F0FEF9342305FBCF
:1012240003440021E06901F075FB337923B92846B2
:10123400BDE87040FFF7D2BF6068A168FFF787FE82
:1012440020696169BDE87040FFF781BE300100206C
:10125400F02C00082DE9F347504C9A4694F83830A6
:10126400884691461BB94E4840F2951104E0042883
:1012740004D94B484FF4CB7100F0BEFE494B1844DF
:101284001C2590F88860754363191B790BB90020FD
:1012940081E063591B8B9F0716D41C2070432718C9
:1012A40000259DF828300B9A87F8089087F80AA043
:1012B40087F80980FB723D733D753A61FD822058C1
:1012C400012101F05BFA2AE03046FFF79DFF30462A
:1012D400FFF726FF6159344B0A8B9007DDD5013B9C
:1012E400FAD1D4E71C2303FB06431B7E23B1019BE5
:1012F4005A1E0192002BF5D11C2303FB0643002246
:101304001A76019903F1100239B3117908291AD117
:1013140055791C2303FB06431B7D082B2BD01C2370
:101324007343E018E1580A8892B242F480720A804A
:10133400E25893889BB243F440739380012303766D
:10134400194B0193D3E7D188B1F57A7F05D20131E6
:10135400D180012000F0D1FEDBE719688B8823F4EB
:10136400E0631B041B0C8B800B889BB243F400735B
:101374000B80082313711C237343E1580A4B0A8B17
:10138400920707D5013BFAD13046FFF73DFF3046BF
:10139400FFF7C6FE284602B0BDE8F0873001002002
:1013A400C82F0008F02C000880841E00017D03680B
:1013B400082906D19A8822F480721204120C9A80A9
:1013C40038E09A8A120541BF9A8A22F40062120414
:1013D400120C48BF9A829A8AD20541BF9A8A22F493
:1013E40080721204120C48BF9A829A8A52051ED542
:1013F4009A8A22F480621204120C04299A820AD175
:10140400032202759A8822F4E0621204120C9A8074
:10141400002303760EE0012909D19A8822F4E062C0
:1014240012040021120C01759A80017602E0002159
:10143400FFF77ABD002070472DE9F3411D4C1E4E85
:1014440000251E4F56F8283C44F8043C1C2202FB9D
:1014540005720023237013760822227432788DF8E3
:1014640004204FF001080C2201A82372E371E36009
:101474008DF805208DF806308DF8078000F0F2FE17
:1014840073788DF8043001A800F0ECFE54F8040CD5
:1014940001F0C2F8454504F11C0406F1340601D0FC
:1014A4004546CEE7284687F83850FFF797FE02B046
:1014B400BDE8F08134010020182D0008300100201F
:1014C40073B5144C94F838200346254622B91248C3
:1014D40040F2331100F090FD042807D90522009250
:1014E4000D480E4A40F2351100F07AFD0C4A1344BF
:1014F40093F888401C2303FB04521E46127912B948
:101504002046FFF70DFE06FB0454237901332371B3
:1015140002B070BD30010020C82F0008CE2F000893
:10152400F02C0008104A08B592F838301BB90F485F
:1015340040F2451104E0042804D90C484FF4A37187
:1015440000F05AFD0A4B18441C2390F8880003FB52
:10155400002213793BB1013BDBB213711BB9BDE827
:101564000840FFF751BE08BD30010020C82F000815
:10157400F02C000837B50D4614460093069B0193E2
:1015840001212A462346FFF765FE03B030BD07B5A7
:1015940000930123FFF7EEFF03B05DF804FB37B5BA
:1015A4000D4614460093069B019300212A462346C8
:1015B400FFF750FE03B030BD1FB504AC04F8013D85
:1015C40001230094FFF7EBFF04B010BD0148FFF7BF
:1015D40011BD00BF300100200148FFF7E7BE00BF86
:1015E400300100200148FFF705BD00BF4C01002079
:1015F4000148FFF7DBBE00BF4C010020FFF71EBA15
:1016040030B585B004460D46684601F027F90DB99A
:10161400029805E0012D01D1039801E000F0F6FCE9
:10162400B4EB500F0ED8B0FBF4F000F070FD0028BE
:1016340002DC0748272103E0082804DD04482821A8
:1016440000F0DAFC01200138C00080B205B030BDE2
:10165400FA2F0008B0F1006F10B504460BD20C4805
:10166400FFF7F8FB2046FFF71FFC0A48FFF7F2FBE1
:101674004FF0FF3010BD084B002053F8042BA2425A
:1016840002D81A68944202D301300B28F5D110BD58
:101694007230000800300008802D00082DE9F8435E
:1016A40006462A480C4617469846FFF7D3FB3046B1
:1016B400FFF7FAFB2648FFF7CDFB2046FFF7F4FBC4
:1016C4002448FFF7C7FBD4B33046FFF7C3FF0546F2
:1016D400601E3044FFF7BEFF002D814632DB002838
:1016E40030DB461B01361FB1002031464246B84765
:1016F40000F01AFE2C464C451FDCF32000F02AFEB5
:10170400154B002133F8140000F05CFE09280BD0BF
:101714001248FFF79FFB2046FFF7C6FB1048FFF770
:10172400B5FB00F00FFE0DE02FB1C5F10100204420
:1017340031464246B8470134DDE700F003FE01209C
:10174400BDE8F8830020BDE8F88300BF1B30000823
:101754002F30000832300008B02D00083630000861
:10176400843500082DE9F0470646234814460D4603
:101774001F46FFF76FFB3046FFF796FB1F48FFF746
:1017840069FB2046FFF790FB1D48FFF763FB00F061
:10179400CBFDF32000F0DEFD4FEAD41805EB04097D
:1017A4002C464C45C5EB040A20D0701B204414F889
:1017B400011B00F03DFE09280DD01248FFF74AFB3B
:1017C4003046FFF771FB1048FFF760FB00F0BAFDED
:1017D4000020BDE8F087002FE3D01AF07F0FE0D19E
:1017E4004FEADA104146089AB847DAE700F0AAFD52
:1017F4000120BDE8F08700BF4E3000082F300008FC
:1018040032300008623000088435000808B545F21B
:10181400555000F0CDFF042000F0D0FF40F6FF70DB
:1018240000F0D2FF002000F0C3FF4FF480500121EC
:10183400BDE8084000F06CBD08B57D2001F0BEF89D
:10184400003018BF012008BD4900FEF775BF4B08E2
:1018540003EB5000FEF770BF70B586B00546FFF786
:10186400ABF901210020FEF767FF042000F01EFB06
:1018740003A8294600F066FB03A800F072FB08B930
:1018840028480BE02848FFF701FB05F10C000499F8
:10189400FFF7D9F9059B984204D02448FFF7F6FADC
:1018A40001203DE0049C2248FFF7F0FA2146214A3A
:1018B40021480023FFF7F2FE049E2048FFF7E6FAD2
:1018C400002405F1C0411E4B009432460C311A48E5
:1018D400FFF748FF1B48FFF7BDFA0498FFF7E4FA47
:1018E4001948FFF7B7FA04991348FFF797F9054623
:1018F4001648FFF7AFFA0598FFF7D6FA1448FFF732
:10190400A9FA2846FFF7D0FA1248FFF7BFFA059B59
:101914009D4204D01048FFF7B9FA022000E02046A7
:1019240006B070BD7B30000899300008B63000085E
:10193400D93000084D18000800400008EC300008B9
:1019440053180008FF3000080D3100081631000854
:1019540029310008843500082F31000808B5022019
:1019640000F0BCFAD8B3042000F0B8FA70B11C48F7
:10197400FFF78CFA042000F0A5FA022000F0A2FA86
:101984004FF40040BDE8084000F09CBA1548FFF74A
:101994007DFA082000F096FA102000F093FA202037
:1019A40000F090FA402000F08DFA4FF48010FFF719
:1019B40053FF022807D1082000F078FA102000F025
:1019C40075FA00F045FB042000F07CFA022000F0D8
:1019D40079FA4FF40040BDE8084000F067BA08BD4A
:1019E4007A310008B031000810B52548FFF74EFAE7
:1019F4004FF40010FFF730FF10B102283AD809E085
:101A0400202000F05FFA402000F05CFA802000F013
:101A14004DFA2FE0082000F049FA102000F046FAB1
:101A2400202000F05BFA20B91648FFF72FFA202097
:101A340007E0402000F052FA58B91348FFF726FA9D
:101A4400402000F033FA4FF4007000F02FFA00F059
:101A5400FFFA0E48FFF71AFA082000F033FA1020B4
:101A640000F030FA202000F02DFA402000F02AFA8D
:101A7400002400E00124042000F024FA204610BDD4
:101A8400CB310008E53100081E3200085732000847
:101A940008B50248FFF7FAF900BEFEE791320008E4
:101AA4001EF0040F0CBFEFF30880EFF30980FFF77B
:101AB400EFBF70471FB504461048FFF7E7F901A9C7
:101AC4000C22204600F02FFB01A8FFF7DFF9204687
:101AD400FEF74AFEFEF7FAFF094B20F004001870E7
:101AE4001C46FEF7F3FF237800F0FB00834201D08D
:101AF40000F0AEFA0A2000F000FBF2E7873200089B
:101B0400690100207FB54FF08050012100F002FFF1
:101B1400022000F065FE012807D1022000F06AFED1
:101B2400BB48FFF7B3F900F098FA00214FF080505A
:101B340000F0F0FEFFF734F9B648FFF7A7F9B6480E
:101B4400FFF7A4F9B548FFF7A1F9B548FFF79EF9E7
:101B5400B448FFF79BF9B448FFF798F9B348FFF787
:101B640095F9B348FFF792F9B248FFF78FF9B248F5
:101B7400FFF78CF9FFF760FCFEF710FF00F0B8F9EF
:101B840000F0CEF900210C2201A801F060F800F069
:101B9400C3F901A90C2200F0C6FA01A8FFF776F9EF
:101BA4009C48FFF773F99B48FFF770F94FF48040A6
:101BB40000F094F990B1A148FFF768F94FF4804020
:101BC40000F080F9082000F07DF9102000F07AF987
:101BD400202000F077F9402000F074F9FEF7D8FDDA
:101BE400FEF782FFFEF74EFDFEF706FB08B19448B0
:101BF40003E0FEF745FB10B19248FFF75BFF00F0EE
:101C04008AF9802000F06AF918B1802000F05AF9AE
:101C140056E04FF4003000F061F9044620B14FF46F
:101C2400003000F04FF94DE00120FEF739FFB0B16C
:101C34002046FEF735FF90B18348FFF727F941F2BC
:101C440088340120FEF72CFF98B10020FEF728FF0E
:101C540078B1012000F051FA013CF2D132E07B4B23
:101C64000CCB013301D0013203D17948FFF70EF9CF
:101C740028E0FFF7E1FD48B3FFF7DEFD10B175483A
:101C8400FFF704F94FF4007000F028F910B172481E
:101C9400FFF7FCF84FF4007000F014F9102000F086
:101CA4001DF9002800F0EE806C48FFF7EFF80820DB
:101CB40000F008F9102000F005F9FFF795FE98B937
:101CC40067489AE76748FFF7E1F8F6E74FF40070D2
:101CD40000F004F90028CFD1082000F0F3F8102018
:101CE40000F0F0F8FFF73AFE4FF4005000F0F6F879
:101CF40004464FF4805000F0F1F8400040EA8400BC
:101D0400C4B24FF4006000F0E9F82043C0B20728E1
:101D1400C3B20DD14FF4006000F0D4F84FF48050FA
:101D240000F0D0F84FF4005000F0CCF84E4864E7CF
:101D34000133DBB2023B4FF40060052B11D8DFE81E
:101D440003F00C1003100C1000F0BCF84FF480509A
:101D540000F0B8F84FF4005003E000F0B3F84FF48B
:101D6400805000F0A3F8FFF751FD384B3F485D6801
:101D74001E68FFF76FF82846FFF796F83C48FFF710
:101D840069F80022930003F1604303F561430132D3
:101D94004FF0FF31082AC3F88010C3F88011F1D145
:101DA400344B4FF4801200241A635C639C631C64FC
:101DB4005C6400F02FFD3048012100F0C3FD214692
:101DC4002D4800F0BFFDF120012100F0C7FD2146A0
:101DD400F12000F0C3FD0120014600F0CBFD2146B7
:101DE400012000F0C7FD2548012100F0CFFD214668
:101DF400224800F0CBFD2248012100F0D3FD204809
:101E0400214600F0CFFD63B64FF0FF3EB5462847AC
:101E14009C32000884350008A9320008C03200084A
:101E2400D932000807330008363300086633000847
:101E340097330008C9330008FB3300082C3400082A
:101E4400014550FE024550FE593400080040000888
:101E54008B3400089E340008B6340008D6340008D9
:101E6400034550FE4A350008044550FE6935000814
:101E74007D350008003802400010E022FFC9FEF65C
:101E8400337F7704082000F029F820B10548FEF7D5
:101E9400FDFF102003E00448FEF7F8FF082000F0DF
:101EA40005F81FE7FE3400082435000810B5044681
:101EB400002000F0A7FD40EA04010020BDE8104026
:101EC40000F090BD10B50446002000F09BFD20EA10
:101ED40004010020BDE8104000F084BD10B50446A4
:101EE400002000F08FFD204214BF0120002010BD0F
:101EF40008B54FF08050012100F00CFD012000F0E6
:101F040069FC0120FFF7EAFF20B90121BDE8084080
:101F140000F068BD08BD7047022000F073BD0000EA
:101F240008B5FFF7F9FF054B1968884204D0022071
:101F3400BDE8084000F056BD08BD00BF840100089C
:101F440000BEFDE71FB504460C2201A8FEF71CFCE9
:101F540001AB03CB20601868A0602046616004B028
:101F640010BD0068A0F10C035842584170470000AE
:101F740080B50646174610480D461C46FEF76AFF14
:101F84003846FEF767FF0D48FEF764FF3046FEF75C
:101F940061FF0B48FEF75EFF2846FEF785FF2CB174
:101FA4000848FEF757FF2046FEF754FF0648FEF7A1
:101FB4006DFFFFF7C5FF00BF853500088E350008AB
:101FC400913500088F350008843500081FB506AA2E
:101FD40052F8044B039200921A462346FFF7C8FFB7
:101FE4000CB41FB506AA52F8043B03920092014AAE
:101FF400FFF7BEFF9335000807B500230093724630
:10200400014BFFF7E3FF00BF9A350008744608B59B
:102014000548FEF71FFF2046FEF746FF0348FEF77C
:1020240035FFFFF78DFF00BFA23500088435000897
:10203400BFF34F8F0449054BCA6802F4E0621343AF
:10204400CB60BFF34F8FFEE700ED00E00400FA051C
:1020540008B5FEF791FBFFF7EBFF08B5FFF7E8FFC4
:10206400F0B50646002401202546034694421DD0BF
:1020740011F804C000F1010EBCF1000F03D1735537
:10208400774605460DE00133DBB2FF2B774606F8B1
:1020940000C007D102F1FF3C644506D07355871C8C
:1020A4007546012301343846E0E770467355F0BDA8
:1020B40030B5C9B1C0430A44914213D011F8013B71
:1020C4000A4D83EA000404F00F0455F8244084EA1E
:1020D400101080EA131303F00F0355F8233083EA3A
:1020E4001010E9E7C04330BD084630BDC82D0008D4
:1020F400162358430138FDD1704710B504462CB15E
:102104004FF47A70FFF7F4FF013CF8E710BD10B507
:10211400B0FA80F400F027F801280CBFC4F11F00C6
:10212400C4F1200010BD0A2A10B51BDD0C46302373
:1021340004F8023B78234B701C220F239340034086
:10214400D340092B01D8303302E00F2B02D8573388
:10215400DBB200E02023043A04F8013B131DECD168
:1021640000238B7210BD00F0AA33A0EB530000F0E3
:10217400CC3300F0333000EB930000EB101000F090
:102184000F3000EB102000EB104000F03F007047D0
:102194002D4AD2F8883043F47003C2F888302B4BB0
:1021A4001A68002142F001021A6099601A6822F04C
:1021B400847222F480321A60254A5A601A6822F422
:1021C40080221A60D9601A6C224942F080521A6443
:1021D4000A6842F440420A609A689A609A689A606F
:1021E4009A6842F480529A601B4A5A601A6842F014
:1021F40080721A601968154A8901FBD5174B40F2A1
:1022040003611960936823F003039360936843F0B8
:10221400020393600D4B9A6802F00C02082AF9D16C
:102224009A6822F400029A600D4AC3F884201A685E
:1022340042F080621A60054B1B681B01FBD5024B00
:102244004FF000629A60704700ED00E000380240F1
:1022540010300024007000401040010F003C024088
:1022640000300050C278037810B512B3164AD16812
:102274004278C943C1F30221C1F10404E4B2A2408B
:10228400D4B20F220A4181780A40224303F1604309
:1022940003F561431201D2B283F8002303780122CB
:1022A400590903F01F0302FA03F3084A42F82130E4
:1022B40010BD5A09012103F01F03994002F12003C4
:1022C400024A42F8231010BD00ED00E000E100E0F6
:1022D400014B01229A60704700300240014B1860A4
:1022E400186870470030024000EB81018842044BBB
:1022F40003D050F8042B1A60F8E71868704700BF41
:1023040000300240014B1868704700BF00300240A3
:10231400044B9A6809B1104301E022EA0000986076
:10232400704700BF002004E0044B1A69002ABFBFB5
:10233400034A5A6002F188325A607047003C0240F6
:1023440023016745024A136943F000431361704750
:10235400003C0240014BD860704700BF003C024083
:102364000E4BDA68D20310D4DA68D1060FD4DA68D7
:10237400D2050ED4DA6812F0EF0F0CD1DB6813F03B
:10238400020F14BF0820092070470120704706205F
:102394007047022070470720704700BF003C02408E
:1023A40007B509238DF80730FFF7DAFF8DF807002A
:1023B4009DF80730012BF7D09DF8070003B05DF8B6
:1023C40004FB000070B5064641B1012908D002297A
:1023D4000CBF4FF400754FF4407503E00D4601E067
:1023E4004FF48075FFF7DCFF09281ED10F4C2369D9
:1023F40023F440732361216929432161236923F074
:10240400F8032361236943F002031E432661236911
:1024140043F480332361FFF7C3FF236923F00203EE
:102424002361236923F0F803236170BD003C02405B
:1024340070B505460E46FFF7B3FF092811D1094CC4
:10244400236923F44073236123692361236943F0DF
:10245400010323612E70FFF7A3FF236923F0010317
:10246400236170BD003C024070B543688668856A8C
:102474000468416B46EA0302C3681A4303691A43BA
:1024840043691A4383691A43C3691A43036A1A43A3
:10249400436A1343C26A2B431A43036B1343A200D8
:1024A40002F120420B43082E136002BF136843F06D
:1024B40040031360B1F5801F816B12D18CB14FF0D2
:1024C40020435C681E6846F480161E601E6846F44D
:1024D40080761E600E6924F47004013E44EA0654BA
:1024E4005C608C690B6823434C6843EA04138C6872
:1024F40043EA0423CC6843EA04430C69496943EA88
:10250400045343EA0163B5F5804F536010D1C16BA6
:1025140088690B680343486843EA0013886843EA00
:1025240000230869496943EA005343EA016301E06F
:102534006FF07043C2F8043170BD0000800000F1F8
:10254400204019B1036843F0010302E00268024B22
:1025540013400360704700BFFEFF0F00F0B50E6824
:1025640000220123934003EA060E9E452AD155001A
:1025740003230468AB40DB431C4004600C79076808
:1025840004FA05FC013C4CEA0707012C076011D84A
:1025940084684F791C4084608468AF402743876017
:1025A400446824EA0E0444608C7947689440A4B2D9
:1025B4003C434460C4682340C360CB79C468AB40E7
:1025C4002343C3600132102ACBD1F0BD4FF6FF7311
:1025D40003600023037143718371C37170470369FE
:1025E400194214BF0120002070470AB101837047CB
:1025F4004183704701F00703C90800EB810010B55F
:102604009B00046A0F21994024EA01010162016AD6
:102614009A401143016210BD08B5134B984207D18B
:102624004FF40010012100F0B1F94FF4001014E050
:102634000E4B984207D14FF48000012100F0A6F917
:102644004FF4800009E00A4B98420BD14FF400008C
:10265400012100F09BF94FF400000021BDE808407F
:1026640000F094B908BD00BF005400400058004079
:10267400005C00407FB5868826F03F060446360499
:1026840068460D46360C00F0E9F8029A2C48B2FB75
:10269400F0F081B20E43A68023882A4E23F0010372
:1026A4001B041B0C23802B68B3420AD85B00013146
:1026B400B2FBF3F39BB2032B89B298BF04232184AA
:1026C40023E0EE884BF6FF718E421BBF19214B436A
:1026D40003EB4303B2FBF3F315BF9BB2B2FBF3F37B
:1026E40043F480439BB2C3F30B020AB943F00103E2
:1026F4004FF4967101FB00F24FF47A7192FBF1F200
:10270400013292B243F400432284A383238869896B
:10271400AA889BB243F001032380238823F48163B6
:1027240023F002031B040A431B0C13439BB22380B4
:102734002A89AB8913439BB2238104B070BD00BFC7
:1027440040420F00A086010041F288330360002359
:1027540083804BF6FF72038143814FF48043C28030
:1027640083817047038819B19BB243F0010303E0EE
:1027740023F001031B041B0C03807047038819B169
:102784009BB243F4806303E023F480631B041B0CBB
:1027940003807047838A9AB2038B10B542EA0343DD
:1027A40021F07F4404EA0300431A5842584110BD03
:1027B400014B1860704700BF00300040014B586067
:1027C400704700BF00300040014B9860704700BF65
:1027D40000300040014B1860704700BF20000E42DB
:1027E400034B5B68184214BF01200020704700BFF0
:1027F40000700040064BB0F5402F15BF1A685A68A8
:1028040042EA800042F4402214BF18605A607047C4
:10281400007000400E4B1A68002142F001021A6059
:1028240099601A6822F0A85222F410221A60094A08
:102834005A60094AC3F8842002F18062C3F88820F0
:102844001A6822F480221A60D960C3F88C10704789
:102854000038024010300024003000201D4A9368E4
:1028640003F00C03042B10B503D0082B03D01A4B30
:1028740018E01A4B16E05168536811F4800F03F006
:102884003F03516814BF154A134AB2FBF3F3114ACC
:102894005268C2F30142C1F3881101324B43520022
:1028A400B3FBF2F30B4A036093680D49C3F30313BC
:1028B400CC5C0368E34043609468C4F382240C5DF9
:1028C40023FA04F484609268C2F342328A5CD340EF
:1028D400C36010BD003802400024F40040787D013C
:1028E40001000020044B1A6B09B1104301E022EAF5
:1028F40000001863704700BF00380240044B9A6B15
:1029040009B1104301E022EA00009863704700BF58
:1029140000380240044B1A6C09B1104301E022EA6A
:1029240000001864704700BF00380240044B5A6C22
:1029340009B1104301E022EA00005864704700BF67
:1029440000380240044B1A6909B1104301E022EA3D
:1029540000001861704700BF00380240044B5A69F8
:1029640009B1104301E022EA00005861704700BF3A
:1029740000380240044B9A6909B1104301E022EA8D
:1029840000009861704700BF00380240044B1A6A87
:1029940009B1104301E022EA00001862704700BF49
:1029A40000380240044B5A6A09B1104301E022EA9C
:1029B40000005862704700BF003802404209012AF3
:1029C400074B01D11B6803E0022A0CBF1B6F5B6F2E
:1029D40000F01F0023FA00F000F00100704700BF70
:1029E4000038024082B000230193054B0193019B00
:1029F40003EB80000190019B196002B0704700BF97
:102A04005028004082B000230193054B0193019BA1
:102A140003EB80000190019B186802B0704700BF6F
:102A24005028004008B5254B984207D14FF48050F8
:102A34000121FFF7B7FF4FF4805039E0204B984253
:102A440007D14FF480400121FFF7A0FF4FF48040ED
:102A540009E01C4B98420BD14FF400400121FFF7D1
:102A640095FF4FF400400021BDE80840FFF78EBFFA
:102A7400154B984207D14FF400500121FFF792FF04
:102A84004FF4005014E0114B984207D14FF48010DA
:102A94000121FFF787FF4FF4801009E00C4B9842A7
:102AA4000BD14FF400100121FFF77CFF4FF400100D
:102AB4000021BDE80840FFF775BF08BD00300140A4
:102AC40000380040003C0040003401400050014008
:102AD4000054014003884A8810B503F441540B881C
:102AE40013438A881343CA8813430A8913434A89C0
:102AF40013438A891343CA89134323439BB2038034
:102B0400838B23F400631B041B0C83830B8A0382D3
:102B140010BD0023038043808380C38003814381ED
:102B24008381C381072303827047038819B19BB251
:102B340043F0400303E023F040031B041B0C038019
:102B44007047808980B27047818170470389194238
:102B540014BF0120002070477FB5038ACA889BB246
:102B640023F440531343038283890E469BB223F418
:102B7400B053098923F00C02B3880B4371890B43CA
:102B84009BB213438381838AB2899BB223F440733B
:102B94001343838204466846FFF760FE1A4B9C4247
:102BA40003D003F580639C4201D1039D00E0029DA4
:102BB400A38931681BB2002B4FF0190202FB05F206
:102BC400B4BF4D008D00B2FBF5F5A2896426B5FBB8
:102BD400F6F00001010912B2002A06FB1153ADBF41
:102BE4001A01D90032313232B5BFB1FBF6F2B2FB71
:102BF400F6F302F0070203F00F03B4BF10431843C7
:102C040080B2208104B070BD00100140838919B1E5
:102C14009BB243F4005303E023F400531B041B0C46
:102C240083817047C1F3080181807047038819428A
:102C340014BF01200020704710B5431E0A4491427E
:102C440004D011F8014B03F8014FF8E710BD02441A
:102C54000346934202D003F8011BFAE770470000D1
:102C64000400000001030000010000000100000056
:102C740003000000010000000F0000000F0000002E
:102C840000000000AE2F00080018024010000000F1
:102C940006040000B32F00080018024008000000DA
:102CA40006030100B62F00080018024002000000CD
:102CB40006010100BD2F00080018024004000000B6
:102CC40006020100000000000000000001424F4F16
:102CD400544C4F414445520000000000002A2A0091
:102CE400000000000000000000000000005400404C
:102CF40000040240400000000600040000040240FA
:102D0400000200000900040000002000801A0600F0
:102D1400004000001F200000000000000000000030
:102D240000580040001402400200000001000400AA
:102D340000140240010000000000040000004000F4
:102D4400801A0600FFBF00002122000000000000DE
:102D54000116000801000300820007008400070038
:102D6400010003000200030040000300800007008C
:102D740084000700000001000000000000000008BB
:102D8400004000080080000800C00008000001089E
:102D940000000208000004080000060800000808FB
:102DA40000000A0800000C0800000E0800000800DB
:102DB40010001800200028003000380040004800AF
:102DC40050005800000000006410B71DC8206E3B7E
:102DD400AC30D9269041DC76F4516B6B5861B24D1E
:102DE4003C7105502083B8ED44930FF0E8A3D6D688
:102DF4008CB361CBB0C2649BD4D2D38678E20AA0F0
:102E04001CF2BDBD537475636B20627574746F6E70
:102E140020726567697374657220697320696E76C0
:102E2400616C69642C20636C656172696E672E0045
:102E3400427574746F6E206973207075736865646D
:102E440020617420626F6F740069636534306C7044
:102E54002E630043444F4E45206E6F74206C6F7791
:102E640020647572696E67207265736574004352DD
:102E740045534554206E6F742068696768206475F3
:102E840072696E6720726573657400446973706C4F
:102E9400617920627573792D776169742074696D25
:102EA400656F757420657870697265642100436F7D
:102EB4006E6669677572696E672046504741206681
:102EC400726F6D2062697473747265616D20696ECE
:102ED40020666C6173682E2E2E004E6F204650477C
:102EE400412062697473747265616D20696E206635
:102EF4006C6173682E0046616C6C696E6720626158
:102F0400636B20746F204E56434D2E00465047414C
:102F14002043444F4E452074696D656F7574206578
:102F240078706972656421004650474120636F6E72
:102F340066696775726174696F6E206661696C6534
:102F4400642E204973207468697320612062696764
:102F5400626F6172643F0046504741207665727328
:102F6400696F6E3A2000446973706C617920696EF0
:102F7400697469616C697A6564206166746572203C
:102F84000020726574726965732E00446973706CF5
:102F9400617920696E697469616C697A6174696FB9
:102FA4006E206661696C65642E004261636B005536
:102FB400700053656C65637400446F776E006372D0
:102FC400632E63006932632E6300493243206465D3
:102FD40076696365204944206F7574206F662062AA
:102FE4006F756E647320256420286D61783A2025FE
:102FF4006429006F6E007370692E6300206973206A
:103004006F7574736964652073797374656D206674
:103014006C6173680D0A0073797374656D5F666C17
:103024006173685F657261736528002C2000290D47
:103034000A006661696C656420746F20657261734F
:103044006520736563746F72200073797374656DA2
:103054005F666C6173685F77726974652800666186
:10306400696C656420746F2077726974652061648B
:1030740064726573732000496E76616C69642066BE
:1030840069726D77617265206465736372697074C7
:10309400696F6E2100436865636B73756D6D696E4E
:1030A40067206669726D77617265207570646174FA
:1030B4006500496E76616C6964206669726D77613A
:1030C40072652043524320696E2053504920666C38
:1030D400617368210065726173655F6F6C645F661C
:1030E40069726D776172650077726974655F6E6588
:1030F400775F6669726D7761726500436865636BBB
:1031040073756D6D696E6720002062797465730D47
:103114000A00436865636B73756D202D2077616EBB
:10312400746564200020676F7420004F75722069F5
:103134006E7465726E616C20666C61736820636F77
:103144006E74656E747320617265206261642028F8
:10315400636865636B73756D206661696C6564296A
:10316400212054686973206973207265616C6C79DD
:103174002062616421004F75722070726576696FF8
:103184007573206669726D7761726520757064610C
:103194007465206661696C65642C2061626F727469
:1031A400696E67207570646174652E004E657720C2
:1031B4006669726D776172652069732061766169F1
:1031C4006C61626C6521004C6F6164696E6720728A
:1031D40065636F76657279206669726D7761726571
:1031E400004661696C656420746F206C6F616420B3
:1031F4007265636F76657279206669726D77617244
:10320400652C20737472696B65206F6E652E205473
:10321400727920616761696E2E004661696C65642C
:1032240020746F206C6F6164207265636F766572C1
:1032340079206669726D776172652C207374726986
:103244006B652074776F2E205472792061676169F1
:103254006E2E004661696C656420746F206C6F612A
:1032640064207265636F76657279206669726D7722
:103274006172652C20737472696B65207468726561
:10328400652E20534144205741544348004841523D
:1032940044204641554C5400657869742073746128
:1032A4006E64627900205F5F5F5F20202020202011
:1032B4002020202020202020205F5F002F5C202061
:1032C4005F605C20202020202020202020202F2729
:1032D4005F5F605C005C205C2C5C4C5C5F5C20206D
:1032E40020205F5F5F202F5C205C2F5C205C20200F
:1032F4005F5F20205F5F20205F5F20205F5F2020D2
:103304005F5F00205C2F5F5C5F5F205C20202F27C5
:10331400205F20605C205C205C205C205C2F5C20B3
:103324005C2F5C205C2F5C205C2F5C205C2F5C207D
:103334005C002020202F5C205C4C5C205C2F5C20F7
:103344005C2F5C205C205C205C5F5C205C205C204B
:103354005C5F2F205C5F2F205C205C205C5F5C2026
:103364005C002020205C20605C5F5F5F5F5C205C11
:103374005F5C205C5F5C205C5F5F5F5F2F5C205C58
:103384005F5F5F785F5F5F2F275C2F605F5F5F5FCA
:10339400205C00202020205C2F5F5F5F5F5F2F5C3C
:1033A4002F5F2F5C2F5F2F5C2F5F5F5F2F20205CD0
:1033B4002F5F5F2F2F5F5F2F202020602F5F5F5FC5
:1033C4002F3E205C002020202020202020202020B0
:1033D40020202020202020202020202020202020E9
:1033E40020202020202020202020202020202020D9
:1033F4002F5C5F5F5F2F00202020202020202020D2
:1034040020202020202020202020202020202020B8
:1034140020202020202020202020202020202020A8
:1034240020205C2F5F5F2F004C61737420666972EB
:103434006D7761726520626F6F742077617320739A
:103444007461626C653B20636C6561722073747295
:10345400696B657300486F6C6420646F776E2055E8
:1034640050202B204241434B20666F72203520733D
:103474006563732E20746F20666F7263652D626FAF
:103484006F7420505246004669726D7761726520F0
:10349400697320657261736564005761746368645D
:1034A4006F6720636175736564206120726573655D
:1034B4007400536F667477617265206661696C7518
:1034C400726520636175736564206120726573653C
:1034D40074004661696C656420746F207374617252
:1034E40074206669726D776172652C2073747269D9
:1034F4006B652074687265652E004661696C65644D
:1035040020746F207374617274206669726D7761C0
:1035140072652C20737472696B652074776F2E004A
:103524004661696C656420746F20737461727420E1
:103534006669726D776172652C20737472696B654C
:10354400206F6E652E00466F7263652D626F6F7417
:10355400696E67207265636F76657279206D6F643A
:10356400652E2E2E00426F6F74696E672066697235
:103574006D77617265204020002E2E2E0D0A0D0AF3
:10358400004153534552543A20002020003A004150
:103594005353455254004153534552544E002A2A22
:1035A4002A20575446200053544D33320053544D6F
:1035B4003332207065726970686572616C206C6961
:1035C4006272617279207472697070656420616ED0
:1035D400206173736572740043524F414B204F4F07
:0435E4004D00000096
:1035E800FF000000000102030401020304060708AB
:0435F80009000000C6
:04000005080001B43A
:00000001FF

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

27
bin/boot/wscript Normal file
View file

@ -0,0 +1,27 @@
def configure(cfg):
variant = ''
if cfg.options.nowatchdog:
variant = 'nowatchdog_'
if cfg.options.board in ('snowy_bb2', 'snowy_s3', 'spalding_bb2'):
bootloader_board = 'snowy_dvt'
elif cfg.is_silk():
bootloader_board = 'silk'
elif cfg.is_cutts():
bootloader_board = 'robert_bb'
else:
bootloader_board = cfg.options.board
boot_file_pattern = '%sboot_%s@*.hex' % (variant, bootloader_board)
boot_node = cfg.path.ant_glob(boot_file_pattern)
if not boot_node:
cfg.end_msg('Not found')
elif len(boot_node) > 1:
cfg.fatal('Multiple bootloader binaries matching "%s": %s' % (
boot_file_pattern, ', '.join(str(n) for n in boot_node)))
else:
cfg.env.BOOTLOADER_HEX = boot_node[0].abspath()
cfg.end_msg(cfg.env.BOOTLOADER_HEX)
# vim:filetype=python

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more