texlive[73825] Build/source/utils: asy 2.98 sources
commits+karl at tug.org
commits+karl at tug.org
Sun Feb 9 22:47:37 CET 2025
Revision: 73825
https://tug.org/svn/texlive?view=revision&revision=73825
Author: karl
Date: 2025-02-09 22:47:36 +0100 (Sun, 09 Feb 2025)
Log Message:
-----------
asy 2.98 sources
Modified Paths:
--------------
trunk/Build/source/utils/README
trunk/Build/source/utils/asymptote/ChangeLog
trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/Doxyfile
trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/src/libnetwork-uri.a
trunk/Build/source/utils/asymptote/Makefile.in
trunk/Build/source/utils/asymptote/README
trunk/Build/source/utils/asymptote/ReleaseNotes
trunk/Build/source/utils/asymptote/asy-keywords.el
trunk/Build/source/utils/asymptote/asy.list
trunk/Build/source/utils/asymptote/asymptote.spec
trunk/Build/source/utils/asymptote/build-scripts/build-asymptote-CTAN
trunk/Build/source/utils/asymptote/configure
trunk/Build/source/utils/asymptote/configure.ac
trunk/Build/source/utils/asymptote/doc/CAD.pdf
trunk/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
trunk/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf
trunk/Build/source/utils/asymptote/doc/asy-latex.pdf
trunk/Build/source/utils/asymptote/doc/asyRefCard.pdf
trunk/Build/source/utils/asymptote/doc/asymptote.pdf
trunk/Build/source/utils/asymptote/doc/asymptote.texi
trunk/Build/source/utils/asymptote/doc/png/asymptote.info
trunk/Build/source/utils/asymptote/entry.h
trunk/Build/source/utils/asymptote/fileio.cc
trunk/Build/source/utils/asymptote/gc/autom4te.cache/requests
trunk/Build/source/utils/asymptote/prc/writePRC.cc
trunk/Build/source/utils/asymptote/revision.cc
trunk/Build/source/utils/asymptote/runtime.pl
trunk/Build/source/utils/asymptote/tinyexr/test/unit/vcbuild.bat
trunk/Build/source/utils/asymptote/tinyexr/vcbuild.bat
trunk/Build/source/utils/asymptote/tinyexr/vcsetup2019.bat
trunk/Build/source/utils/asymptote/windows/EnvVarUpdate.nsh
trunk/Build/source/utils/asymptote/windows/lnkX64IconFix.nsh
Added Paths:
-----------
trunk/Build/source/utils/asymptote/GUI/xasyicons/
trunk/Build/source/utils/asymptote/GUI/xasyicons/icons_rc.py
trunk/Build/source/utils/asymptote/GUI/xasyqtui/
trunk/Build/source/utils/asymptote/GUI/xasyqtui/custMatTransform.py
trunk/Build/source/utils/asymptote/GUI/xasyqtui/labelTextEditor.py
trunk/Build/source/utils/asymptote/GUI/xasyqtui/setCustomAnchor.py
trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_addLabel.py
trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_addPolyOpt.py
trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_editBezier.py
trunk/Build/source/utils/asymptote/GUI/xasyqtui/widgetPointEditor.py
trunk/Build/source/utils/asymptote/GUI/xasyqtui/window1.py
trunk/Build/source/utils/asymptote/GUI/xasyversion/
trunk/Build/source/utils/asymptote/GUI/xasyversion/version.py
Removed Paths:
-------------
trunk/Build/source/utils/asymptote/LspCpp/cmake_install.cmake
trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/Makefile
trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/cmake_install.cmake
trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/src/Makefile
trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
trunk/Build/source/utils/asymptote/__pycache__/
Modified: trunk/Build/source/utils/README
===================================================================
--- trunk/Build/source/utils/README 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/README 2025-02-09 21:47:36 UTC (rev 73825)
@@ -4,7 +4,7 @@
Extra utilities we (optionally) compile for TeX Live.
See comments in ../texk/README.
-asymptote 2.96 - checked 8feb25
+asymptote 2.98 - checked 9feb25
update to TL from CTAN, to include prebuilt doc.
see https://tug.org/texlive/build.html#asymptote
and tlpkg/bin/tl-update-asy
Modified: trunk/Build/source/utils/asymptote/ChangeLog
===================================================================
--- trunk/Build/source/utils/asymptote/ChangeLog 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/ChangeLog 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,3 +1,103 @@
+commit 83de5cbc8268d689b52c07c87927cae3ab94e245
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sun Feb 9 10:01:51 2025 -0800
+
+ Distribute prebuilt GUI files.
+
+commit 23b2d7e2391f1b4a180778d6c1c98f6703fca10e
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 22:13:41 2025 -0800
+
+ Increment version to 2.98.
+
+commit ab5e4e770bd96978ae5b211b752eab81433874c8
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 22:13:00 2025 -0700
+
+ Revert "Move -std=c++17 to Makefile."
+
+ This reverts commit 71b86dfe8d509eceb5ab4adce66b273135c0b4ca.
+
+commit 10be59fbd725216c3221c62fa64cac251dcd7131
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 22:11:39 2025 -0700
+
+ Revert "Apply -std=c++17 only to C++ compilation."
+
+ This reverts commit dcc187b1f97b317fc0aa11aac27606dc5aa3ba86.
+
+commit 6a0277facfaefa82a001b02e38b074cf1267b431
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 20:57:47 2025 -0800
+
+ Fix clang warning.
+
+commit dcc187b1f97b317fc0aa11aac27606dc5aa3ba86
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 20:50:39 2025 -0800
+
+ Apply -std=c++17 only to C++ compilation.
+
+commit 8df48262a3e2a149774f8fdbe0a1a0b315052d51
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 20:41:03 2025 -0800
+
+ Fix runtime.pl warnings.
+
+commit 71b86dfe8d509eceb5ab4adce66b273135c0b4ca
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 19:41:04 2025 -0800
+
+ Move -std=c++17 to Makefile.
+
+commit 3e1e10f75af1d549c40320c57763690c08b22c62
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 17:30:38 2025 -0800
+
+ Allow compilation without libtirpc-devel (not recommended though as this would disable XDR and V3D support).
+
+commit 5736020c97ce62282e25d0c94c8bb2793f27c381
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 17:00:20 2025 -0800
+
+ Fix symbolic link.
+
+commit 46532008179a304c517e0d467d3d1d23d88c8153
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 12:28:25 2025 -0800
+
+ Qualify nullptr.
+
+commit 0ab6a0d09fac84efbe8d443d782d06f518f1aea2
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 11:26:24 2025 -0800
+
+ Fix last revision.
+
+commit fd7ae5be14a71d6080a5b7f497551c8c369693b1
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 11:03:46 2025 -0800
+
+ Clean up symbolic link and hidden directories.
+
+commit 071af187de37bef85987ad4af9e75f31d117cf5b
+Author: John Bowman <bowman at ualberta.ca>
+Date: Sat Feb 8 10:14:25 2025 -0800
+
+ Clean up Python caches.
+
+commit ea26e0d22416de4510b6cc5b5f929c3d5a480c57
+Author: John Bowman <bowman at ualberta.ca>
+Date: Fri Feb 7 09:24:41 2025 -0800
+
+ Remove empty and temporary files and directories.
+
+commit e2917d5092263d49f7cb9bbe34dbbb7b74a6ac34
+Author: John Bowman <bowman at ualberta.ca>
+Date: Thu Feb 6 22:44:25 2025 -0800
+
+ Increment version to 2.97.
+
commit a867372f32b18d9943a5b21430d2652f69e6854b
Author: John Bowman <bowman at ualberta.ca>
Date: Thu Feb 6 23:04:45 2025 -0700
Added: trunk/Build/source/utils/asymptote/GUI/xasyicons/icons_rc.py
===================================================================
--- trunk/Build/source/utils/asymptote/GUI/xasyicons/icons_rc.py (rev 0)
+++ trunk/Build/source/utils/asymptote/GUI/xasyicons/icons_rc.py 2025-02-09 21:47:36 UTC (rev 73825)
@@ -0,0 +1,2903 @@
+# -*- coding: utf-8 -*-
+
+# Resource object code
+#
+# Created by: The Resource Compiler for PyQt5 (Qt v5.15.15)
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore
+
+qt_resource_data = b"\
+\x00\x00\x07\x6b\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x31\x39\x33\x2e\x34\x36\x2c\x32\x34\x39\x2e\x30\
+\x35\x36\x63\x33\x2e\x37\x32\x33\x2d\x30\x2e\x36\x37\x2c\x37\x2e\
+\x35\x38\x39\x2d\x31\x2e\x30\x34\x31\x2c\x31\x31\x2e\x35\x38\x36\
+\x2d\x31\x2e\x30\x34\x31\x4c\x32\x30\x31\x2e\x39\x32\x34\x2c\x32\
+\x34\x38\x68\x31\x30\x33\x2e\x38\x32\x33\x63\x34\x2e\x35\x30\x33\
+\x2c\x30\x2c\x38\x2e\x38\x30\x36\x2d\x30\x2e\x36\x31\x37\x2c\x31\
+\x32\x2e\x39\x30\x38\x2d\x31\x2e\x37\x35\x34\x0a\x09\x09\x63\x31\
+\x39\x2e\x33\x37\x2d\x35\x2e\x33\x36\x33\x2c\x33\x33\x2e\x33\x34\
+\x35\x2d\x32\x32\x2e\x35\x33\x37\x2c\x33\x33\x2e\x33\x34\x35\x2d\
+\x34\x33\x2e\x36\x36\x33\x76\x2d\x33\x30\x2e\x38\x32\x32\x76\x2d\
+\x35\x36\x2e\x34\x30\x32\x63\x30\x2d\x32\x34\x2e\x38\x33\x32\x2d\
+\x32\x31\x2e\x31\x35\x2d\x34\x33\x2e\x34\x38\x34\x2d\x34\x36\x2e\
+\x32\x38\x39\x2d\x34\x37\x2e\x36\x30\x36\x0a\x09\x09\x63\x2d\x31\
+\x35\x2e\x39\x33\x31\x2d\x32\x2e\x36\x32\x34\x2d\x33\x39\x2e\x32\
+\x35\x38\x2d\x33\x2e\x38\x32\x37\x2d\x35\x35\x2e\x30\x38\x39\x2d\
+\x33\x2e\x37\x34\x39\x63\x2d\x31\x35\x2e\x38\x32\x39\x2c\x30\x2e\
+\x30\x38\x36\x2d\x33\x30\x2e\x39\x38\x31\x2c\x31\x2e\x34\x30\x34\
+\x2d\x34\x34\x2e\x32\x37\x37\x2c\x33\x2e\x37\x34\x39\x43\x31\x36\
+\x37\x2e\x31\x34\x33\x2c\x37\x34\x2e\x35\x37\x36\x2c\x31\x36\x30\
+\x2c\x38\x38\x2e\x39\x32\x38\x2c\x31\x36\x30\x2c\x31\x31\x35\x2e\
+\x33\x35\x39\x56\x31\x34\x34\x68\x39\x36\x0a\x09\x09\x76\x31\x36\
+\x48\x31\x32\x38\x2e\x38\x32\x63\x2d\x33\x35\x2e\x36\x32\x38\x2c\
+\x30\x2d\x36\x34\x2e\x35\x33\x38\x2c\x34\x32\x2e\x35\x37\x31\x2d\
+\x36\x34\x2e\x38\x31\x33\x2c\x39\x35\x2e\x32\x34\x32\x43\x36\x34\
+\x2e\x30\x30\x35\x2c\x32\x35\x35\x2e\x34\x39\x35\x2c\x36\x34\x2c\
+\x32\x35\x35\x2e\x37\x34\x37\x2c\x36\x34\x2c\x32\x35\x36\x63\x30\
+\x2c\x39\x2e\x35\x32\x33\x2c\x30\x2e\x39\x34\x2c\x31\x38\x2e\x37\
+\x32\x2c\x32\x2e\x36\x38\x35\x2c\x32\x37\x2e\x34\x30\x34\x0a\x09\
+\x09\x43\x37\x34\x2e\x36\x34\x38\x2c\x33\x32\x33\x2e\x30\x37\x2c\
+\x39\x39\x2e\x34\x35\x31\x2c\x33\x35\x32\x2c\x31\x32\x38\x2e\x38\
+\x32\x2c\x33\x35\x32\x48\x31\x34\x34\x76\x2d\x32\x2e\x36\x36\x32\
+\x76\x2d\x34\x33\x2e\x32\x37\x33\x43\x31\x34\x34\x2c\x32\x37\x39\
+\x2e\x32\x33\x38\x2c\x31\x36\x34\x2e\x31\x34\x36\x2c\x32\x35\x34\
+\x2e\x33\x33\x32\x2c\x31\x39\x33\x2e\x34\x36\x2c\x32\x34\x39\x2e\
+\x30\x35\x36\x7a\x20\x4d\x32\x30\x33\x2e\x36\x35\x36\x2c\x31\x32\
+\x37\x2e\x30\x30\x32\x0a\x09\x09\x63\x2d\x39\x2e\x35\x39\x32\x2c\
+\x30\x2d\x31\x37\x2e\x33\x38\x34\x2d\x37\x2e\x37\x38\x35\x2d\x31\
+\x37\x2e\x33\x38\x34\x2d\x31\x37\x2e\x34\x30\x33\x63\x30\x2d\x39\
+\x2e\x36\x36\x34\x2c\x37\x2e\x37\x37\x34\x2d\x31\x37\x2e\x35\x32\
+\x2c\x31\x37\x2e\x33\x38\x34\x2d\x31\x37\x2e\x35\x32\x63\x39\x2e\
+\x35\x37\x34\x2c\x30\x2c\x31\x37\x2e\x33\x39\x39\x2c\x37\x2e\x38\
+\x35\x35\x2c\x31\x37\x2e\x33\x39\x39\x2c\x31\x37\x2e\x35\x32\x0a\
+\x09\x09\x43\x32\x32\x31\x2e\x30\x35\x36\x2c\x31\x31\x39\x2e\x32\
+\x31\x37\x2c\x32\x31\x33\x2e\x32\x34\x36\x2c\x31\x32\x37\x2e\x30\
+\x30\x32\x2c\x32\x30\x33\x2e\x36\x35\x36\x2c\x31\x32\x37\x2e\x30\
+\x30\x32\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x22\x4d\x34\x34\x33\x2e\x39\x35\x31\x2c\x32\x32\x32\x2e\x35\x34\
+\x33\x43\x34\x33\x34\x2e\x37\x38\x2c\x31\x38\x36\x2e\x30\x32\x31\
+\x2c\x34\x31\x31\x2e\x30\x33\x33\x2c\x31\x36\x30\x2c\x33\x38\x33\
+\x2e\x31\x38\x2c\x31\x36\x30\x48\x33\x36\x38\x76\x32\x2e\x36\x32\
+\x36\x76\x33\x38\x2e\x30\x34\x36\x63\x30\x2c\x33\x33\x2e\x39\x31\
+\x35\x2d\x32\x32\x2e\x32\x38\x36\x2c\x35\x38\x2e\x34\x37\x34\x2d\
+\x34\x39\x2e\x34\x38\x39\x2c\x36\x32\x2e\x36\x38\x31\x0a\x09\x09\
+\x63\x2d\x32\x2e\x37\x33\x37\x2c\x30\x2e\x34\x32\x34\x2d\x35\x2e\
+\x34\x38\x33\x2c\x30\x2e\x36\x34\x36\x2d\x38\x2e\x33\x30\x31\x2c\
+\x30\x2e\x36\x34\x36\x48\x32\x30\x36\x2e\x33\x35\x31\x63\x2d\x34\
+\x2e\x35\x31\x38\x2c\x30\x2d\x38\x2e\x39\x30\x34\x2c\x30\x2e\x35\
+\x38\x34\x2d\x31\x33\x2e\x30\x34\x39\x2c\x31\x2e\x36\x37\x32\x43\
+\x31\x37\x34\x2e\x31\x38\x2c\x32\x37\x30\x2e\x36\x38\x39\x2c\x31\
+\x36\x30\x2c\x32\x38\x36\x2e\x36\x2c\x31\x36\x30\x2c\x33\x30\x37\
+\x2e\x32\x33\x36\x76\x33\x32\x2e\x39\x32\x32\x0a\x09\x09\x76\x35\
+\x34\x2e\x33\x30\x35\x63\x30\x2c\x32\x34\x2e\x38\x33\x32\x2c\x32\
+\x34\x2e\x39\x37\x37\x2c\x33\x39\x2e\x34\x32\x36\x2c\x34\x39\x2e\
+\x34\x38\x31\x2c\x34\x36\x2e\x35\x35\x31\x63\x32\x39\x2e\x33\x32\
+\x37\x2c\x38\x2e\x35\x33\x31\x2c\x36\x31\x2e\x32\x36\x37\x2c\x31\
+\x30\x2e\x30\x36\x38\x2c\x39\x36\x2e\x33\x36\x36\x2c\x30\x43\x33\
+\x32\x39\x2e\x31\x35\x2c\x34\x33\x34\x2e\x33\x35\x34\x2c\x33\x35\
+\x32\x2c\x34\x32\x30\x2e\x38\x39\x33\x2c\x33\x35\x32\x2c\x33\x39\
+\x34\x2e\x34\x36\x33\x56\x33\x36\x38\x0a\x09\x09\x68\x2d\x39\x36\
+\x76\x2d\x31\x36\x68\x31\x32\x37\x2e\x31\x38\x63\x32\x35\x2e\x32\
+\x34\x2c\x30\x2c\x34\x37\x2e\x31\x30\x37\x2d\x32\x31\x2e\x33\x36\
+\x35\x2c\x35\x37\x2e\x38\x31\x34\x2d\x35\x32\x2e\x35\x34\x39\x43\
+\x34\x34\x35\x2e\x34\x37\x34\x2c\x32\x38\x36\x2e\x34\x30\x34\x2c\
+\x34\x34\x38\x2c\x32\x37\x31\x2e\x36\x34\x31\x2c\x34\x34\x38\x2c\
+\x32\x35\x36\x0a\x09\x09\x43\x34\x34\x38\x2c\x32\x34\x34\x2e\x32\
+\x33\x32\x2c\x34\x34\x36\x2e\x35\x36\x37\x2c\x32\x33\x32\x2e\x39\
+\x36\x32\x2c\x34\x34\x33\x2e\x39\x35\x31\x2c\x32\x32\x32\x2e\x35\
+\x34\x33\x7a\x20\x4d\x33\x30\x37\x2e\x38\x36\x37\x2c\x33\x38\x32\
+\x2e\x38\x32\x63\x39\x2e\x35\x39\x2c\x30\x2c\x31\x37\x2e\x33\x38\
+\x31\x2c\x37\x2e\x37\x38\x35\x2c\x31\x37\x2e\x33\x38\x31\x2c\x31\
+\x37\x2e\x34\x0a\x09\x09\x63\x30\x2c\x39\x2e\x36\x35\x2d\x37\x2e\
+\x37\x39\x31\x2c\x31\x37\x2e\x35\x32\x31\x2d\x31\x37\x2e\x33\x38\
+\x31\x2c\x31\x37\x2e\x35\x32\x31\x63\x2d\x39\x2e\x35\x37\x37\x2c\
+\x30\x2d\x31\x37\x2e\x33\x39\x39\x2d\x37\x2e\x38\x37\x31\x2d\x31\
+\x37\x2e\x33\x39\x39\x2d\x31\x37\x2e\x35\x32\x31\x43\x32\x39\x30\
+\x2e\x34\x36\x38\x2c\x33\x39\x30\x2e\x35\x39\x2c\x32\x39\x38\x2e\
+\x32\x37\x34\x2c\x33\x38\x32\x2e\x38\x32\x2c\x33\x30\x37\x2e\x38\
+\x36\x37\x2c\x33\x38\x32\x2e\x38\x32\x7a\x22\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x05\x9c\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x33\x2e\x39\x39\x39\x36\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x33\x2e\x39\x39\x39\x36\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x32\x34\x2e\x35\x32\
+\x39\x31\x43\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x32\x30\x2e\x33\
+\x33\x36\x38\x20\x34\x34\x2e\x36\x39\x36\x39\x20\x31\x36\x2e\x39\
+\x33\x38\x33\x20\x33\x32\x2e\x31\x32\x20\x31\x36\x2e\x39\x33\x38\
+\x33\x43\x20\x31\x39\x2e\x35\x34\x33\x31\x20\x31\x36\x2e\x39\x33\
+\x38\x33\x20\x39\x2e\x33\x34\x37\x34\x32\x20\x32\x30\x2e\x33\x33\
+\x36\x38\x20\x39\x2e\x33\x34\x37\x34\x32\x20\x32\x34\x2e\x35\x32\
+\x39\x31\x43\x20\x39\x2e\x33\x34\x37\x34\x32\x20\x32\x38\x2e\x37\
+\x32\x31\x35\x20\x31\x39\x2e\x35\x34\x33\x31\x20\x33\x32\x2e\x31\
+\x32\x20\x33\x32\x2e\x31\x32\x20\x33\x32\x2e\x31\x32\x43\x20\x34\
+\x34\x2e\x36\x39\x36\x39\x20\x33\x32\x2e\x31\x32\x20\x35\x34\x2e\
+\x38\x39\x32\x36\x20\x32\x38\x2e\x37\x32\x31\x35\x20\x35\x34\x2e\
+\x38\x39\x32\x36\x20\x32\x34\x2e\x35\x32\x39\x31\x5a\x27\x20\x66\
+\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\
+\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\
+\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\
+\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\
+\x64\x74\x68\x3d\x27\x33\x2e\x35\x31\x33\x31\x32\x27\x2f\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
+\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\
+\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\
+\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x39\x2e\x33\x34\x37\x34\x32\
+\x20\x32\x34\x2e\x35\x32\x39\x31\x4c\x20\x39\x2e\x33\x34\x37\x34\
+\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x4c\x20\x39\x2e\x33\x34\x37\
+\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x43\x20\x39\x2e\x33\x34\
+\x37\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x39\x2e\x33\x34\
+\x37\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x39\x2e\x33\x34\
+\x37\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x43\x20\x39\x2e\x33\
+\x34\x37\x34\x32\x20\x35\x39\x2e\x30\x38\x34\x39\x20\x31\x39\x2e\
+\x35\x34\x33\x31\x20\x36\x32\x2e\x34\x38\x33\x34\x20\x33\x32\x2e\
+\x31\x32\x20\x36\x32\x2e\x34\x38\x33\x34\x43\x20\x34\x34\x2e\x36\
+\x39\x36\x39\x20\x36\x32\x2e\x34\x38\x33\x34\x20\x35\x34\x2e\x38\
+\x39\x32\x36\x20\x35\x39\x2e\x30\x38\x34\x39\x20\x35\x34\x2e\x38\
+\x39\x32\x36\x20\x35\x34\x2e\x38\x39\x32\x36\x4c\x20\x35\x34\x2e\
+\x38\x39\x32\x36\x20\x35\x34\x2e\x38\x39\x32\x36\x4c\x20\x35\x34\
+\x2e\x38\x39\x32\x36\x20\x32\x34\x2e\x35\x32\x39\x31\x27\x20\x66\
+\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\
+\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\
+\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\
+\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\
+\x64\x74\x68\x3d\x27\x33\x2e\x35\x31\x33\x31\x32\x27\x2f\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
+\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\
+\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\
+\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x35\x34\x2e\x38\x39\x32\x36\
+\x20\x32\x34\x2e\x35\x32\x39\x31\x43\x20\x35\x34\x2e\x38\x39\x32\
+\x36\x20\x31\x31\x2e\x39\x35\x32\x32\x20\x34\x34\x2e\x36\x39\x36\
+\x39\x20\x31\x2e\x37\x35\x36\x35\x36\x20\x33\x32\x2e\x31\x32\x20\
+\x31\x2e\x37\x35\x36\x35\x36\x43\x20\x31\x39\x2e\x35\x34\x33\x31\
+\x20\x31\x2e\x37\x35\x36\x35\x36\x20\x39\x2e\x33\x34\x37\x34\x32\
+\x20\x31\x31\x2e\x39\x35\x32\x32\x20\x39\x2e\x33\x34\x37\x34\x32\
+\x20\x32\x34\x2e\x35\x32\x39\x31\x27\x20\x66\x69\x6c\x6c\x3d\x27\
+\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\
+\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\
+\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\
+\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\
+\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\
+\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\
+\x33\x2e\x35\x31\x33\x31\x32\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x00\x00\x02\x72\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x38\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\
+\x74\x68\x20\x64\x3d\x22\x4d\x34\x32\x37\x2c\x32\x33\x34\x2e\x36\
+\x32\x35\x48\x31\x36\x37\x2e\x32\x39\x36\x6c\x31\x31\x39\x2e\x37\
+\x30\x32\x2d\x31\x31\x39\x2e\x37\x30\x32\x4c\x32\x35\x36\x2c\x38\
+\x35\x4c\x38\x35\x2c\x32\x35\x36\x6c\x31\x37\x31\x2c\x31\x37\x31\
+\x6c\x32\x39\x2e\x39\x32\x32\x2d\x32\x39\x2e\x39\x32\x34\x4c\x31\
+\x36\x37\x2e\x32\x39\x36\x2c\x32\x37\x37\x2e\x33\x37\x35\x48\x34\
+\x32\x37\x56\x32\x33\x34\x2e\x36\x32\x35\x7a\x22\x2f\x3e\x0a\x09\
+\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x0a\
+\x00\x00\x03\x1b\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x32\x35\x36\x2c\x33\x38\x38\x63\x2d\x37\x32\x2e\
+\x35\x39\x37\x2c\x30\x2d\x31\x33\x32\x2d\x35\x39\x2e\x34\x30\x35\
+\x2d\x31\x33\x32\x2d\x31\x33\x32\x63\x30\x2d\x37\x32\x2e\x36\x30\
+\x31\x2c\x35\x39\x2e\x34\x30\x33\x2d\x31\x33\x32\x2c\x31\x33\x32\
+\x2d\x31\x33\x32\x63\x33\x36\x2e\x33\x2c\x30\x2c\x36\x39\x2e\x32\
+\x39\x39\x2c\x31\x35\x2e\x34\x2c\x39\x32\x2e\x34\x30\x36\x2c\x33\
+\x39\x2e\x36\x30\x31\x4c\x32\x37\x38\x2c\x32\x33\x34\x68\x31\x35\
+\x34\x56\x38\x30\x0a\x09\x09\x6c\x2d\x35\x31\x2e\x36\x39\x38\x2c\
+\x35\x31\x2e\x37\x30\x32\x43\x33\x34\x38\x2e\x34\x30\x36\x2c\x39\
+\x39\x2e\x37\x39\x38\x2c\x33\x30\x34\x2e\x34\x30\x36\x2c\x38\x30\
+\x2c\x32\x35\x36\x2c\x38\x30\x63\x2d\x39\x36\x2e\x37\x39\x37\x2c\
+\x30\x2d\x31\x37\x36\x2c\x37\x39\x2e\x32\x30\x33\x2d\x31\x37\x36\
+\x2c\x31\x37\x36\x73\x37\x38\x2e\x30\x39\x34\x2c\x31\x37\x36\x2c\
+\x31\x37\x36\x2c\x31\x37\x36\x0a\x09\x09\x63\x38\x31\x2e\x30\x34\
+\x35\x2c\x30\x2c\x31\x34\x38\x2e\x32\x38\x37\x2d\x35\x34\x2e\x31\
+\x33\x34\x2c\x31\x36\x39\x2e\x34\x30\x31\x2d\x31\x32\x38\x48\x33\
+\x37\x38\x2e\x38\x35\x43\x33\x36\x30\x2e\x31\x30\x35\x2c\x33\x35\
+\x33\x2e\x35\x36\x31\x2c\x33\x31\x31\x2e\x37\x31\x32\x2c\x33\x38\
+\x38\x2c\x32\x35\x36\x2c\x33\x38\x38\x7a\x22\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xe8\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x68\x65\x76\x72\x6f\x6e\x5f\x63\x69\x72\x63\x6c\x65\x64\x5f\x6c\
+\x65\x66\x74\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
+\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
+\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
+\x6b\x22\x0a\x09\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\x22\
+\x30\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
+\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\x30\
+\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\
+\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x30\x32\x2c\x36\x2e\x37\x37\
+\x36\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x31\x39\x37\x2d\x30\
+\x2e\x35\x31\x35\x2d\x30\x2e\x31\x39\x37\x2d\x30\x2e\x37\x31\x2c\
+\x30\x4c\x37\x2e\x37\x38\x35\x2c\x39\x2e\x36\x34\x31\x63\x2d\x30\
+\x2e\x31\x39\x36\x2c\x30\x2e\x31\x39\x39\x2d\x30\x2e\x31\x39\x36\
+\x2c\x30\x2e\x35\x32\x2c\x30\x2c\x30\x2e\x37\x31\x37\x6c\x32\x2e\
+\x38\x30\x37\x2c\x32\x2e\x38\x36\x34\x0a\x09\x63\x30\x2e\x31\x39\
+\x35\x2c\x30\x2e\x31\x39\x39\x2c\x30\x2e\x35\x31\x34\x2c\x30\x2e\
+\x31\x39\x38\x2c\x30\x2e\x37\x31\x2c\x30\x63\x30\x2e\x31\x39\x36\
+\x2d\x30\x2e\x31\x39\x37\x2c\x30\x2e\x31\x39\x36\x2d\x30\x2e\x35\
+\x31\x38\x2c\x30\x2d\x30\x2e\x37\x31\x37\x4c\x39\x2c\x31\x30\x6c\
+\x32\x2e\x33\x30\x32\x2d\x32\x2e\x35\x30\x36\x43\x31\x31\x2e\x34\
+\x39\x38\x2c\x37\x2e\x32\x39\x36\x2c\x31\x31\x2e\x34\x39\x38\x2c\
+\x36\x2e\x39\x37\x36\x2c\x31\x31\x2e\x33\x30\x32\x2c\x36\x2e\x37\
+\x37\x36\x7a\x0a\x09\x20\x4d\x31\x30\x2c\x30\x2e\x34\x63\x2d\x35\
+\x2e\x33\x30\x32\x2c\x30\x2d\x39\x2e\x36\x2c\x34\x2e\x32\x39\x38\
+\x2d\x39\x2e\x36\x2c\x39\x2e\x36\x63\x30\x2c\x35\x2e\x33\x30\x33\
+\x2c\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2c\x39\x2e\x36\x2c\x39\
+\x2e\x36\x73\x39\x2e\x36\x2d\x34\x2e\x32\x39\x37\x2c\x39\x2e\x36\
+\x2d\x39\x2e\x36\x43\x31\x39\x2e\x36\x2c\x34\x2e\x36\x39\x38\x2c\
+\x31\x35\x2e\x33\x30\x32\x2c\x30\x2e\x34\x2c\x31\x30\x2c\x30\x2e\
+\x34\x7a\x20\x4d\x31\x30\x2c\x31\x38\x2e\x33\x35\x34\x0a\x09\x63\
+\x2d\x34\x2e\x36\x31\x35\x2c\x30\x2d\x38\x2e\x33\x35\x34\x2d\x33\
+\x2e\x37\x34\x2d\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x63\
+\x30\x2d\x34\x2e\x36\x31\x34\x2c\x33\x2e\x37\x33\x39\x2d\x38\x2e\
+\x33\x35\x34\x2c\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x63\
+\x34\x2e\x36\x31\x33\x2c\x30\x2c\x38\x2e\x33\x35\x34\x2c\x33\x2e\
+\x37\x34\x2c\x38\x2e\x33\x35\x34\x2c\x38\x2e\x33\x35\x34\x0a\x09\
+\x43\x31\x38\x2e\x33\x35\x34\x2c\x31\x34\x2e\x36\x31\x34\x2c\x31\
+\x34\x2e\x36\x31\x33\x2c\x31\x38\x2e\x33\x35\x34\x2c\x31\x30\x2c\
+\x31\x38\x2e\x33\x35\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\x1f\
+\x00\
+\x00\x07\x5c\x78\x9c\xdd\x53\x3d\x6f\xdb\x30\x10\xdd\xfd\x2b\xae\
+\xc8\xc0\x64\xf0\x89\x5f\xa2\xc4\xc0\x74\x80\x1a\xe8\x94\x6e\xc9\
+\xd2\x4d\xb6\x68\x99\x8d\x2c\x19\x92\x2a\xb9\xff\xbe\x88\x2d\xd2\
+\xae\xda\xa0\x4b\x86\x22\x1a\x08\xbd\x77\x7a\xa7\x7b\x77\xbc\xc5\
+\xc3\x71\x5f\x42\x6f\x9b\xd6\xd5\x95\x21\x0c\x29\x01\x5b\x6d\xea\
+\xdc\x55\x85\x21\xcf\x4f\x5f\xe6\x29\x79\x58\xce\x16\x9f\xe6\x73\
+\x78\xda\xb9\x16\xb6\xae\xb4\x30\x64\x2d\x14\xb6\xb2\x4d\xd6\xd9\
+\x1c\xd6\x3f\x21\xef\x5d\xdb\x17\x7b\xe0\xc8\x18\x32\x98\xcf\x97\
+\xb3\x45\xdb\x17\xd7\x89\x19\x81\xe3\xbe\xac\x5a\x43\x76\x5d\x77\
+\xb8\x8f\xa2\x61\x18\x70\x10\x58\x37\x45\xc4\x29\xa5\x51\xdb\x17\
+\xe3\x27\xf7\xc7\xd2\x55\x2f\x7f\xfb\x90\x69\xad\xa3\x53\x94\xc0\
+\xe0\xf2\x6e\x67\x88\x12\xa8\xb5\x56\x87\x8e\xc0\xce\xba\x62\xd7\
+\x19\xa2\xe4\x2b\xea\x9d\x1d\x3e\xd7\x47\x43\x62\x85\x92\x6a\x09\
+\x8c\x25\x98\xc6\x29\x8c\x0a\x50\x92\x2c\x67\x8b\x02\x5c\x6e\xc8\
+\x21\x2b\x2c\x3b\xc3\xae\xc9\xaa\x76\x5b\x37\x7b\x43\x4e\xaf\x65\
+\xd6\xd9\xdb\x49\x8e\xbb\x76\x93\x95\xf6\x16\xb5\x56\x5c\xc9\xbb\
+\x57\xe1\x21\xeb\x76\x90\x1b\xf2\x15\x34\x0a\x99\x48\x0e\x92\x63\
+\x22\x13\xfe\x18\x88\x58\x62\xaa\xb9\xfa\x83\x58\x4d\x89\x7f\xe1\
+\x2b\x81\x46\x9a\x4a\x0d\x4c\x63\x2c\x05\x03\xc5\x51\xa6\x42\x82\
+\xe0\xc8\xb8\x47\x2b\x90\x12\x95\x56\x3a\x84\x7d\x5e\x2f\x0f\xd8\
+\x57\xf8\x26\x11\x4c\x79\x42\x50\x54\x94\xa5\xab\x40\xf0\x53\xab\
+\xe2\xf0\x4f\x2e\x90\x32\x36\x56\x74\x06\xab\x50\xef\x18\xf4\x76\
+\xbc\xd6\xe3\x31\xf9\xe3\xb4\xa7\xdf\xc8\xeb\x45\x2c\x0d\xb9\x59\
+\x6f\xd7\xdb\xed\x96\x44\xcb\xd9\x22\x2a\xde\x67\x7e\xc1\x88\xc4\
+\x98\x6b\x76\xe5\x8c\xa2\x10\x2a\x0d\xce\x98\x42\x2d\x52\x31\x5a\
+\x1b\xd1\xc5\x9b\x0f\x07\x73\xa3\x3c\x60\x9f\x3f\x10\x29\x26\x9c\
+\xc5\x21\xc1\x39\xef\xd5\x79\x19\xe4\x99\x0c\x85\x8d\xc2\x49\xe5\
+\xa1\x4b\x55\x5d\x59\x02\x6d\xd7\xd4\x2f\xd6\x90\x1b\x7a\x7a\x3c\
+\x31\x2f\x5d\x65\x37\xd9\xc1\x90\xa6\xfe\x51\xe5\xbf\xd1\xdf\x6b\
+\x57\x4d\xf9\xbd\xeb\x6c\x53\xba\xbd\xeb\x0c\x61\x14\xa9\x48\xe2\
+\x10\x1b\x77\x52\x60\xcc\x04\xe3\xef\x3a\x95\x49\xd7\x3e\xd6\x56\
+\x8d\xa6\x3e\xd2\xbc\xde\xdc\x22\xc6\x50\xc7\x9c\x5f\xb6\x08\x93\
+\x58\xc5\xca\x6f\xd1\x19\x5d\x6d\xd1\x18\xf6\xb3\xf1\xf2\xc9\x7d\
+\xf8\x6f\x5a\x77\x3e\xda\xbe\x58\xfe\x02\xb3\x30\xdb\xa9\
+\x00\x00\x03\x2a\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x6f\x6c\x79\x67\
+\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x33\x39\x36\x2e\x37\
+\x39\x35\x2c\x33\x39\x36\x2e\x38\x20\x33\x32\x30\x2c\x33\x39\x36\
+\x2e\x38\x20\x33\x32\x30\x2c\x34\x34\x38\x20\x34\x34\x38\x2c\x34\
+\x34\x38\x20\x34\x34\x38\x2c\x33\x32\x30\x20\x33\x39\x36\x2e\x37\
+\x39\x35\x2c\x33\x32\x30\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\
+\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x33\x39\
+\x36\x2e\x38\x2c\x31\x31\x35\x2e\x32\x30\x35\x20\x33\x39\x36\x2e\
+\x38\x2c\x31\x39\x32\x20\x34\x34\x38\x2c\x31\x39\x32\x20\x34\x34\
+\x38\x2c\x36\x34\x20\x33\x32\x30\x2c\x36\x34\x20\x33\x32\x30\x2c\
+\x31\x31\x35\x2e\x32\x30\x35\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\
+\x6f\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x31\
+\x31\x35\x2e\x32\x30\x35\x2c\x31\x31\x35\x2e\x32\x20\x31\x39\x32\
+\x2c\x31\x31\x35\x2e\x32\x20\x31\x39\x32\x2c\x36\x34\x20\x36\x34\
+\x2c\x36\x34\x20\x36\x34\x2c\x31\x39\x32\x20\x31\x31\x35\x2e\x32\
+\x30\x35\x2c\x31\x39\x32\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\
+\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x31\x31\
+\x35\x2e\x32\x2c\x33\x39\x36\x2e\x37\x39\x35\x20\x31\x31\x35\x2e\
+\x32\x2c\x33\x32\x30\x20\x36\x34\x2c\x33\x32\x30\x20\x36\x34\x2c\
+\x34\x34\x38\x20\x31\x39\x32\x2c\x34\x34\x38\x20\x31\x39\x32\x2c\
+\x33\x39\x36\x2e\x37\x39\x35\x20\x09\x22\x2f\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x17\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x69\x73\x6f\
+\x2d\x38\x38\x35\x39\x2d\x31\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\
+\x47\x65\x6e\x65\x72\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\
+\x20\x49\x6c\x6c\x75\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x39\x2e\
+\x30\x2e\x30\x2c\x20\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\
+\x50\x6c\x75\x67\x2d\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\
+\x72\x73\x69\x6f\x6e\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\
+\x64\x20\x30\x29\x20\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\
+\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\
+\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\
+\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\
+\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\
+\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\
+\x79\x3d\x22\x30\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x22\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\x20\x34\
+\x32\x33\x2e\x37\x35\x34\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\x65\
+\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
+\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\
+\x20\x34\x32\x33\x2e\x37\x35\x34\x3b\x22\x20\x78\x6d\x6c\x3a\x73\
+\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x33\x35\x34\x2e\x32\
+\x34\x2c\x34\x37\x2e\x34\x6c\x33\x39\x2e\x38\x37\x39\x2d\x33\x39\
+\x2e\x38\x37\x39\x48\x32\x37\x32\x2e\x31\x39\x36\x76\x31\x32\x31\
+\x2e\x39\x32\x34\x6c\x36\x30\x2e\x38\x30\x31\x2d\x36\x30\x2e\x38\
+\x30\x31\x63\x35\x36\x2c\x35\x30\x2e\x30\x36\x36\x2c\x37\x37\x2e\
+\x32\x35\x31\x2c\x31\x33\x32\x2e\x30\x30\x34\x2c\x34\x36\x2e\x39\
+\x31\x38\x2c\x32\x30\x35\x2e\x32\x33\x35\x0a\x09\x63\x2d\x31\x38\
+\x2e\x35\x38\x35\x2c\x34\x34\x2e\x38\x36\x39\x2d\x35\x33\x2e\x35\
+\x33\x31\x2c\x37\x39\x2e\x38\x31\x35\x2d\x39\x38\x2e\x34\x2c\x39\
+\x38\x2e\x34\x63\x2d\x34\x34\x2e\x38\x36\x36\x2c\x31\x38\x2e\x35\
+\x38\x35\x2d\x39\x34\x2e\x32\x38\x38\x2c\x31\x38\x2e\x35\x38\x35\
+\x2d\x31\x33\x39\x2e\x31\x35\x38\x2c\x30\x63\x2d\x34\x34\x2e\x38\
+\x36\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x37\x39\x2e\x38\x31\x35\
+\x2d\x35\x33\x2e\x35\x33\x31\x2d\x39\x38\x2e\x34\x2d\x39\x38\x2e\
+\x34\x0a\x09\x63\x2d\x31\x38\x2e\x35\x38\x35\x2d\x34\x34\x2e\x38\
+\x36\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x39\x34\x2e\x32\x39\x2c\
+\x30\x2d\x31\x33\x39\x2e\x31\x35\x39\x6c\x2d\x32\x37\x2e\x37\x31\
+\x37\x2d\x31\x31\x2e\x34\x38\x63\x2d\x32\x31\x2e\x36\x35\x31\x2c\
+\x35\x32\x2e\x32\x37\x32\x2d\x32\x31\x2e\x36\x35\x31\x2c\x31\x30\
+\x39\x2e\x38\x34\x38\x2c\x30\x2c\x31\x36\x32\x2e\x31\x32\x0a\x09\
+\x63\x32\x31\x2e\x36\x35\x32\x2c\x35\x32\x2e\x32\x37\x32\x2c\x36\
+\x32\x2e\x33\x36\x34\x2c\x39\x32\x2e\x39\x38\x34\x2c\x31\x31\x34\
+\x2e\x36\x33\x37\x2c\x31\x31\x34\x2e\x36\x33\x36\x63\x32\x36\x2e\
+\x31\x34\x2c\x31\x30\x2e\x38\x32\x37\x2c\x35\x33\x2e\x35\x39\x35\
+\x2c\x31\x36\x2e\x32\x34\x2c\x38\x31\x2e\x30\x36\x2c\x31\x36\x2e\
+\x32\x33\x39\x63\x32\x37\x2e\x34\x35\x39\x2d\x30\x2e\x30\x30\x31\
+\x2c\x35\x34\x2e\x39\x32\x37\x2d\x35\x2e\x34\x31\x34\x2c\x38\x31\
+\x2e\x30\x36\x31\x2d\x31\x36\x2e\x32\x33\x39\x0a\x09\x63\x35\x32\
+\x2e\x32\x37\x31\x2d\x32\x31\x2e\x36\x35\x32\x2c\x39\x32\x2e\x39\
+\x38\x33\x2d\x36\x32\x2e\x33\x36\x34\x2c\x31\x31\x34\x2e\x36\x33\
+\x36\x2d\x31\x31\x34\x2e\x36\x33\x36\x43\x34\x34\x32\x2e\x37\x33\
+\x39\x2c\x32\x30\x30\x2e\x36\x2c\x34\x31\x38\x2e\x35\x33\x32\x2c\
+\x31\x30\x35\x2e\x38\x32\x36\x2c\x33\x35\x34\x2e\x32\x34\x2c\x34\
+\x37\x2e\x34\x7a\x22\x2f\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\
+\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\
+\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\xa3\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x43\
+\x20\x34\x2e\x33\x35\x34\x33\x38\x20\x32\x34\x2e\x39\x32\x38\x37\
+\x20\x38\x2e\x34\x33\x32\x31\x37\x20\x31\x38\x2e\x30\x30\x31\x34\
+\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
+\x43\x20\x33\x31\x2e\x37\x33\x33\x39\x20\x2d\x33\x2e\x33\x31\x36\
+\x37\x35\x20\x35\x37\x2e\x32\x39\x34\x33\x20\x33\x2e\x35\x39\x37\
+\x39\x37\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\
+\x37\x38\x43\x20\x35\x38\x2e\x36\x37\x38\x38\x20\x33\x30\x2e\x38\
+\x30\x31\x39\x20\x35\x31\x2e\x31\x37\x38\x33\x20\x33\x37\x2e\x36\
+\x34\x34\x31\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\
+\x31\x31\x39\x43\x20\x32\x37\x2e\x34\x36\x34\x36\x20\x34\x39\x2e\
+\x30\x38\x31\x38\x20\x39\x2e\x32\x36\x34\x35\x31\x20\x34\x36\x2e\
+\x30\x39\x36\x34\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\
+\x32\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
+\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
+\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\
+\x37\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
+\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
+\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
+\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\
+\x2e\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\
+\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\
+\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\
+\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\
+\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\
+\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\
+\x63\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\
+\x20\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\
+\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\
+\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\
+\x63\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\
+\x27\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\
+\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\
+\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\
+\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\
+\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\
+\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\
+\x34\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\
+\x37\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\
+\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
+\x67\x3e\
+\x00\x00\x04\x73\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x43\
+\x20\x36\x2e\x32\x32\x30\x37\x32\x20\x32\x34\x2e\x39\x36\x35\x35\
+\x20\x39\x2e\x30\x34\x39\x38\x39\x20\x31\x38\x2e\x31\x33\x35\x33\
+\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
+\x43\x20\x32\x39\x2e\x35\x30\x36\x32\x20\x2d\x33\x2e\x34\x38\x36\
+\x38\x36\x20\x35\x35\x2e\x33\x36\x37\x33\x20\x32\x2e\x36\x39\x39\
+\x35\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
+\x38\x43\x20\x35\x39\x2e\x36\x39\x32\x32\x20\x33\x31\x2e\x35\x38\
+\x38\x31\x20\x35\x32\x2e\x36\x35\x30\x38\x20\x34\x30\x2e\x36\x37\
+\x37\x39\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
+\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
+\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
+\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\
+\x37\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
+\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
+\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
+\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\
+\x2e\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\
+\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\
+\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\
+\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\
+\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\
+\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\
+\x63\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\
+\x20\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\
+\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\
+\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\
+\x63\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\
+\x27\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\
+\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\
+\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\
+\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\
+\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\
+\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\
+\x34\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\
+\x37\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\
+\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
+\x67\x3e\
+\x00\x00\x04\x9c\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x6f\x64\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
+\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
+\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
+\x6b\x22\x20\x78\x3d\x22\x32\x34\x70\x78\x22\x20\x79\x3d\x22\x32\
+\x34\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\
+\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\
+\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\
+\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\
+\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\
+\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\
+\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\
+\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x3c\x70\x61\x74\
+\x68\x20\x64\x3d\x22\x4d\x35\x2e\x37\x31\x39\x2c\x31\x34\x2e\x37\
+\x35\x63\x2d\x30\x2e\x32\x33\x36\x2c\x30\x2d\x30\x2e\x34\x37\x34\
+\x2d\x30\x2e\x30\x38\x33\x2d\x30\x2e\x36\x36\x34\x2d\x30\x2e\x32\
+\x35\x32\x4c\x2d\x30\x2e\x30\x30\x35\x2c\x31\x30\x6c\x35\x2e\x33\
+\x34\x31\x2d\x34\x2e\x37\x34\x38\x43\x35\x2e\x37\x34\x38\x2c\x34\
+\x2e\x38\x38\x37\x2c\x36\x2e\x33\x38\x2c\x34\x2e\x39\x32\x32\x2c\
+\x36\x2e\x37\x34\x37\x2c\x35\x2e\x33\x33\x35\x0a\x09\x63\x30\x2e\
+\x33\x36\x37\x2c\x30\x2e\x34\x31\x33\x2c\x30\x2e\x33\x33\x2c\x31\
+\x2e\x30\x34\x35\x2d\x30\x2e\x30\x38\x33\x2c\x31\x2e\x34\x31\x32\
+\x4c\x33\x2e\x30\x30\x35\x2c\x31\x30\x6c\x33\x2e\x33\x37\x38\x2c\
+\x33\x2e\x30\x30\x32\x63\x30\x2e\x34\x31\x33\x2c\x30\x2e\x33\x36\
+\x37\x2c\x30\x2e\x34\x35\x2c\x30\x2e\x39\x39\x39\x2c\x30\x2e\x30\
+\x38\x33\x2c\x31\x2e\x34\x31\x32\x0a\x09\x43\x36\x2e\x32\x36\x39\
+\x2c\x31\x34\x2e\x36\x33\x37\x2c\x35\x2e\x39\x39\x34\x2c\x31\x34\
+\x2e\x37\x35\x2c\x35\x2e\x37\x31\x39\x2c\x31\x34\x2e\x37\x35\x7a\
+\x20\x4d\x31\x34\x2e\x36\x36\x34\x2c\x31\x34\x2e\x37\x34\x38\x4c\
+\x32\x30\x2e\x30\x30\x35\x2c\x31\x30\x6c\x2d\x35\x2e\x30\x36\x2d\
+\x34\x2e\x34\x39\x38\x63\x2d\x30\x2e\x34\x31\x33\x2d\x30\x2e\x33\
+\x36\x37\x2d\x31\x2e\x30\x34\x35\x2d\x30\x2e\x33\x33\x2d\x31\x2e\
+\x34\x31\x31\x2c\x30\x2e\x30\x38\x33\x0a\x09\x63\x2d\x30\x2e\x33\
+\x36\x37\x2c\x30\x2e\x34\x31\x33\x2d\x30\x2e\x33\x33\x2c\x31\x2e\
+\x30\x34\x35\x2c\x30\x2e\x30\x38\x33\x2c\x31\x2e\x34\x31\x32\x4c\
+\x31\x36\x2e\x39\x39\x35\x2c\x31\x30\x6c\x2d\x33\x2e\x36\x35\x39\
+\x2c\x33\x2e\x32\x35\x32\x63\x2d\x30\x2e\x34\x31\x33\x2c\x30\x2e\
+\x33\x36\x37\x2d\x30\x2e\x34\x35\x2c\x30\x2e\x39\x39\x39\x2d\x30\
+\x2e\x30\x38\x33\x2c\x31\x2e\x34\x31\x32\x43\x31\x33\x2e\x34\x35\
+\x2c\x31\x34\x2e\x38\x38\x37\x2c\x31\x33\x2e\x37\x32\x35\x2c\x31\
+\x35\x2c\x31\x34\x2c\x31\x35\x0a\x09\x43\x31\x34\x2e\x32\x33\x36\
+\x2c\x31\x35\x2c\x31\x34\x2e\x34\x37\x34\x2c\x31\x34\x2e\x39\x31\
+\x37\x2c\x31\x34\x2e\x36\x36\x34\x2c\x31\x34\x2e\x37\x34\x38\x7a\
+\x20\x4d\x39\x2e\x39\x38\x36\x2c\x31\x36\x2e\x31\x36\x35\x6c\x32\
+\x2d\x31\x32\x63\x30\x2e\x30\x39\x31\x2d\x30\x2e\x35\x34\x35\x2d\
+\x30\x2e\x32\x37\x37\x2d\x31\x2e\x30\x36\x2d\x30\x2e\x38\x32\x32\
+\x2d\x31\x2e\x31\x35\x31\x0a\x09\x63\x2d\x30\x2e\x35\x34\x37\x2d\
+\x30\x2e\x30\x39\x32\x2d\x31\x2e\x30\x36\x31\x2c\x30\x2e\x32\x37\
+\x37\x2d\x31\x2e\x31\x35\x2c\x30\x2e\x38\x32\x32\x6c\x2d\x32\x2c\
+\x31\x32\x63\x2d\x30\x2e\x30\x39\x31\x2c\x30\x2e\x35\x34\x35\x2c\
+\x30\x2e\x32\x37\x37\x2c\x31\x2e\x30\x36\x2c\x30\x2e\x38\x32\x32\
+\x2c\x31\x2e\x31\x35\x31\x43\x38\x2e\x38\x39\x32\x2c\x31\x36\x2e\
+\x39\x39\x36\x2c\x38\x2e\x39\x34\x36\x2c\x31\x37\x2c\x39\x2e\x30\
+\x30\x31\x2c\x31\x37\x0a\x09\x43\x39\x2e\x34\x38\x31\x2c\x31\x37\
+\x2c\x39\x2e\x39\x30\x35\x2c\x31\x36\x2e\x36\x35\x33\x2c\x39\x2e\
+\x39\x38\x36\x2c\x31\x36\x2e\x31\x36\x35\x7a\x22\x2f\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\xc1\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x6f\x6c\
+\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x34\x38\x30\
+\x2c\x32\x35\x36\x20\x33\x38\x34\x2c\x31\x36\x30\x20\x33\x38\x34\
+\x2c\x32\x33\x36\x20\x32\x37\x36\x2c\x32\x33\x36\x20\x32\x37\x36\
+\x2c\x31\x32\x38\x20\x33\x35\x32\x2c\x31\x32\x38\x20\x32\x35\x36\
+\x2c\x33\x32\x20\x31\x36\x30\x2c\x31\x32\x38\x20\x32\x33\x36\x2c\
+\x31\x32\x38\x20\x32\x33\x36\x2c\x32\x33\x36\x20\x31\x32\x38\x2c\
+\x32\x33\x36\x20\x31\x32\x38\x2c\x31\x36\x30\x20\x33\x32\x2c\x32\
+\x35\x36\x20\x31\x32\x38\x2c\x33\x35\x32\x20\x0a\x09\x31\x32\x38\
+\x2c\x32\x37\x36\x20\x32\x33\x36\x2c\x32\x37\x36\x20\x32\x33\x36\
+\x2c\x33\x38\x34\x20\x31\x36\x30\x2c\x33\x38\x34\x20\x32\x35\x36\
+\x2c\x34\x38\x30\x20\x33\x35\x32\x2c\x33\x38\x34\x20\x32\x37\x35\
+\x2e\x38\x2c\x33\x38\x34\x20\x32\x37\x35\x2e\x34\x2c\x32\x37\x35\
+\x2e\x35\x20\x33\x38\x34\x2c\x32\x37\x35\x2e\x38\x20\x33\x38\x34\
+\x2c\x33\x35\x32\x20\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\
+\x00\x00\x04\xca\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x39\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x0a\x09\x20\x69\x64\x3d\
+\x22\x73\x76\x67\x34\x36\x31\x39\x22\x20\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x3a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x30\x2e\x39\x31\
+\x2b\x64\x65\x76\x65\x6c\x2b\x6f\x73\x78\x6d\x65\x6e\x75\x20\x72\
+\x31\x32\x39\x31\x31\x22\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\
+\x64\x6f\x63\x6e\x61\x6d\x65\x3d\x22\x74\x72\x69\x61\x6e\x67\x6c\
+\x65\x2d\x73\x74\x72\x6f\x6b\x65\x64\x2d\x31\x35\x2e\x73\x76\x67\
+\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x63\x63\x3d\x22\x68\x74\x74\x70\
+\x3a\x2f\x2f\x63\x72\x65\x61\x74\x69\x76\x65\x63\x6f\x6d\x6d\x6f\
+\x6e\x73\x2e\x6f\x72\x67\x2f\x6e\x73\x23\x22\x20\x78\x6d\x6c\x6e\
+\x73\x3a\x64\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\
+\x6c\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\
+\x73\x2f\x31\x2e\x31\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x69\x6e\
+\x6b\x73\x63\x61\x70\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\
+\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x73\x2f\x69\x6e\x6b\x73\x63\
+\x61\x70\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\
+\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\
+\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\
+\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x20\x78\x6d\x6c\
+\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\x68\x74\x74\
+\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\x73\x6f\x75\
+\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\x44\x54\x44\
+\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\x74\x64\x22\
+\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
+\x30\x30\x2f\x73\x76\x67\x22\x0a\x09\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\
+\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\
+\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\
+\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\
+\x79\x3d\x22\x30\x70\x78\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x36\
+\x34\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x36\x34\x70\
+\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x31\x35\x20\x31\x35\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\
+\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x31\x35\x20\x31\x35\x3b\
+\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\
+\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\x68\x20\x69\x64\
+\x3d\x22\x72\x65\x63\x74\x33\x33\x33\x38\x22\x20\x69\x6e\x6b\x73\
+\x63\x61\x70\x65\x3a\x63\x6f\x6e\x6e\x65\x63\x74\x6f\x72\x2d\x63\
+\x75\x72\x76\x61\x74\x75\x72\x65\x3d\x22\x30\x22\x20\x73\x6f\x64\
+\x69\x70\x6f\x64\x69\x3a\x6e\x6f\x64\x65\x74\x79\x70\x65\x73\x3d\
+\x22\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x63\x22\x20\x64\
+\x3d\x22\x4d\x37\x2e\x35\x32\x34\x33\x2c\x31\x2e\x35\x30\x30\x34\
+\x0a\x09\x43\x37\x2e\x32\x34\x32\x39\x2c\x31\x2e\x34\x39\x31\x33\
+\x2c\x36\x2e\x39\x37\x38\x37\x2c\x31\x2e\x36\x34\x32\x33\x2c\x36\
+\x2e\x38\x33\x33\x36\x2c\x31\x2e\x38\x39\x35\x32\x6c\x2d\x35\x2e\
+\x35\x2c\x39\x2e\x38\x36\x39\x32\x43\x31\x2e\x30\x32\x31\x38\x2c\
+\x31\x32\x2e\x33\x30\x37\x38\x2c\x31\x2e\x33\x39\x35\x2c\x31\x32\
+\x2e\x39\x39\x39\x39\x2c\x32\x2c\x31\x33\x68\x31\x31\x0a\x09\x63\
+\x30\x2e\x36\x30\x35\x2d\x30\x2e\x30\x30\x30\x31\x2c\x30\x2e\x39\
+\x37\x38\x32\x2d\x30\x2e\x36\x39\x32\x32\x2c\x30\x2e\x36\x36\x36\
+\x34\x2d\x31\x2e\x32\x33\x35\x35\x6c\x2d\x35\x2e\x35\x2d\x39\x2e\
+\x38\x36\x39\x32\x43\x38\x2e\x30\x33\x30\x32\x2c\x31\x2e\x36\x35\
+\x37\x39\x2c\x37\x2e\x37\x38\x38\x34\x2c\x31\x2e\x35\x30\x39\x32\
+\x2c\x37\x2e\x35\x32\x34\x33\x2c\x31\x2e\x35\x30\x30\x34\x7a\x20\
+\x4d\x37\x2e\x35\x2c\x33\x2e\x38\x39\x39\x33\x6c\x34\x2e\x31\x32\
+\x36\x37\x2c\x37\x2e\x34\x37\x30\x34\x0a\x09\x48\x33\x2e\x33\x37\
+\x33\x33\x4c\x37\x2e\x35\x2c\x33\x2e\x38\x39\x39\x33\x7a\x22\x2f\
+\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x05\xbb\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\
+\x35\x30\x2e\x36\x37\x39\x2c\x32\x37\x33\x2e\x35\x63\x2d\x31\x34\
+\x2e\x35\x38\x35\x2d\x31\x34\x2e\x35\x37\x37\x2d\x33\x36\x2e\x30\
+\x35\x34\x2d\x31\x35\x2e\x38\x39\x2d\x35\x30\x2e\x36\x33\x39\x2d\
+\x31\x2e\x33\x31\x32\x6c\x2d\x34\x31\x2e\x36\x38\x37\x2c\x34\x31\
+\x2e\x36\x36\x34\x63\x2d\x31\x30\x2e\x38\x35\x32\x2c\x31\x30\x2e\
+\x38\x33\x36\x2d\x32\x33\x2e\x39\x33\x2c\x31\x30\x2e\x38\x35\x39\
+\x2d\x33\x31\x2e\x35\x36\x34\x2c\x31\x2e\x38\x35\x32\x0a\x09\x63\
+\x2d\x35\x2e\x30\x35\x37\x2d\x35\x2e\x39\x36\x38\x2d\x33\x2e\x30\
+\x36\x31\x2d\x32\x34\x2e\x33\x37\x34\x2d\x31\x2e\x36\x34\x34\x2d\
+\x33\x36\x2e\x30\x34\x39\x6c\x32\x30\x2e\x39\x30\x37\x2d\x31\x37\
+\x31\x2e\x38\x34\x39\x63\x31\x2e\x38\x36\x37\x2d\x31\x35\x2e\x33\
+\x35\x33\x2d\x39\x2e\x30\x37\x2d\x33\x30\x2e\x31\x38\x35\x2d\x32\
+\x34\x2e\x34\x33\x2d\x33\x32\x2e\x30\x35\x31\x0a\x09\x63\x2d\x31\
+\x35\x2e\x33\x35\x38\x2d\x31\x2e\x38\x36\x37\x2d\x32\x39\x2e\x33\
+\x32\x32\x2c\x39\x2e\x39\x33\x39\x2d\x33\x31\x2e\x31\x39\x31\x2c\
+\x32\x35\x2e\x32\x38\x39\x4c\x32\x36\x37\x2e\x33\x37\x2c\x32\x33\
+\x36\x2e\x30\x32\x31\x63\x2d\x31\x2e\x32\x30\x35\x2c\x33\x2e\x33\
+\x35\x38\x2d\x33\x2e\x37\x39\x2c\x33\x2e\x39\x33\x38\x2d\x34\x2e\
+\x30\x38\x31\x2d\x30\x2e\x35\x38\x32\x4c\x32\x35\x35\x2e\x34\x34\
+\x2c\x36\x30\x0a\x09\x63\x30\x2d\x31\x35\x2e\x34\x36\x35\x2d\x31\
+\x32\x2e\x35\x34\x32\x2d\x32\x38\x2d\x32\x38\x2e\x30\x31\x34\x2d\
+\x32\x38\x63\x2d\x31\x35\x2e\x34\x37\x33\x2c\x30\x2d\x32\x38\x2e\
+\x30\x31\x35\x2c\x31\x32\x2e\x35\x33\x35\x2d\x32\x38\x2e\x30\x31\
+\x35\x2c\x32\x38\x6c\x2d\x30\x2e\x35\x35\x32\x2c\x31\x37\x36\x2e\
+\x37\x35\x32\x63\x30\x2e\x31\x34\x36\x2c\x32\x2e\x30\x34\x2d\x31\
+\x2e\x36\x30\x34\x2c\x32\x2e\x36\x32\x34\x2d\x31\x2e\x39\x32\x2c\
+\x30\x2e\x32\x39\x34\x4c\x31\x37\x32\x2e\x30\x31\x36\x2c\x39\x39\
+\x2e\x30\x37\x37\x0a\x09\x63\x2d\x32\x2e\x37\x35\x2d\x31\x35\x2e\
+\x32\x31\x39\x2d\x31\x37\x2e\x33\x32\x33\x2d\x32\x36\x2e\x32\x30\
+\x33\x2d\x33\x32\x2e\x35\x34\x38\x2d\x32\x33\x2e\x34\x35\x33\x63\
+\x2d\x31\x35\x2e\x32\x32\x37\x2c\x32\x2e\x37\x34\x38\x2d\x32\x35\
+\x2e\x33\x33\x39\x2c\x31\x38\x2e\x31\x38\x37\x2d\x32\x32\x2e\x35\
+\x39\x31\x2c\x33\x33\x2e\x34\x30\x33\x6c\x32\x32\x2e\x31\x39\x33\
+\x2c\x31\x36\x31\x2e\x34\x35\x35\x0a\x09\x63\x30\x2e\x30\x32\x33\
+\x2c\x32\x2e\x38\x37\x32\x2d\x30\x2e\x39\x34\x31\x2c\x34\x2e\x35\
+\x31\x33\x2d\x32\x2e\x33\x30\x38\x2c\x30\x2e\x38\x33\x31\x6c\x2d\
+\x33\x33\x2e\x31\x30\x39\x2d\x38\x38\x2e\x35\x31\x37\x63\x2d\x35\
+\x2e\x31\x38\x2d\x31\x34\x2e\x35\x37\x32\x2d\x32\x31\x2e\x31\x39\
+\x36\x2d\x32\x33\x2e\x30\x36\x35\x2d\x33\x35\x2e\x37\x37\x36\x2d\
+\x31\x37\x2e\x38\x38\x39\x0a\x09\x63\x2d\x31\x34\x2e\x35\x37\x39\
+\x2c\x35\x2e\x31\x37\x37\x2d\x32\x32\x2e\x32\x30\x31\x2c\x32\x32\
+\x2e\x30\x36\x31\x2d\x31\x37\x2e\x30\x32\x33\x2c\x33\x36\x2e\x36\
+\x33\x31\x6c\x35\x38\x2e\x30\x34\x32\x2c\x31\x38\x39\x2e\x36\x32\
+\x35\x63\x30\x2e\x33\x30\x33\x2c\x31\x2e\x30\x34\x36\x2c\x30\x2e\
+\x36\x32\x34\x2c\x32\x2e\x30\x38\x35\x2c\x30\x2e\x39\x35\x33\x2c\
+\x33\x2e\x31\x31\x38\x6c\x30\x2e\x31\x32\x31\x2c\x30\x2e\x33\x39\
+\x0a\x09\x63\x30\x2e\x30\x31\x31\x2c\x30\x2e\x30\x33\x31\x2c\x30\
+\x2e\x30\x32\x35\x2c\x30\x2e\x30\x35\x38\x2c\x30\x2e\x30\x33\x35\
+\x2c\x30\x2e\x30\x38\x38\x43\x31\x32\x36\x2e\x30\x37\x39\x2c\x34\
+\x34\x34\x2e\x32\x33\x33\x2c\x31\x37\x32\x2e\x35\x37\x2c\x34\x38\
+\x30\x2c\x32\x32\x37\x2e\x34\x32\x37\x2c\x34\x38\x30\x63\x33\x35\
+\x2e\x31\x31\x36\x2c\x30\x2c\x37\x31\x2e\x35\x39\x31\x2d\x31\x32\
+\x2e\x33\x37\x38\x2c\x39\x39\x2e\x33\x35\x37\x2d\x33\x33\x2e\x36\
+\x37\x32\x0a\x09\x63\x30\x2e\x30\x30\x31\x2c\x30\x2c\x30\x2e\x30\
+\x30\x33\x2d\x30\x2e\x30\x30\x32\x2c\x30\x2e\x30\x30\x33\x2d\x30\
+\x2e\x30\x30\x32\x63\x32\x39\x2e\x39\x39\x2d\x31\x38\x2e\x30\x35\
+\x31\x2c\x31\x32\x36\x2e\x30\x37\x31\x2d\x31\x32\x31\x2e\x33\x34\
+\x37\x2c\x31\x32\x36\x2e\x30\x37\x31\x2d\x31\x32\x31\x2e\x33\x34\
+\x37\x43\x34\x36\x37\x2e\x34\x34\x35\x2c\x33\x31\x30\x2e\x34\x30\
+\x32\x2c\x34\x36\x35\x2e\x32\x36\x36\x2c\x32\x38\x38\x2e\x30\x38\
+\x2c\x34\x35\x30\x2e\x36\x37\x39\x2c\x32\x37\x33\x2e\x35\x7a\x22\
+\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xd9\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x68\x65\x76\x72\x6f\x6e\x5f\x63\x69\x72\x63\x6c\x65\x64\x5f\x72\
+\x69\x67\x68\x74\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\
+\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\
+\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\
+\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\
+\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\
+\x6e\x6b\x22\x0a\x09\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\
+\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\
+\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\
+\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\
+\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\
+\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\
+\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\
+\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\
+\x68\x20\x64\x3d\x22\x4d\x31\x31\x2c\x31\x30\x4c\x38\x2e\x36\x39\
+\x38\x2c\x37\x2e\x34\x39\x34\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\
+\x2e\x31\x39\x38\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x35\x31\x39\
+\x2c\x30\x2d\x30\x2e\x37\x31\x38\x63\x30\x2e\x31\x39\x36\x2d\x30\
+\x2e\x31\x39\x37\x2c\x30\x2e\x35\x31\x35\x2d\x30\x2e\x31\x39\x37\
+\x2c\x30\x2e\x37\x31\x2c\x30\x6c\x32\x2e\x38\x30\x37\x2c\x32\x2e\
+\x38\x36\x34\x0a\x09\x63\x30\x2e\x31\x39\x36\x2c\x30\x2e\x31\x39\
+\x39\x2c\x30\x2e\x31\x39\x36\x2c\x30\x2e\x35\x32\x2c\x30\x2c\x30\
+\x2e\x37\x31\x37\x6c\x2d\x32\x2e\x38\x30\x37\x2c\x32\x2e\x38\x36\
+\x34\x63\x2d\x30\x2e\x31\x39\x35\x2c\x30\x2e\x31\x39\x39\x2d\x30\
+\x2e\x35\x31\x34\x2c\x30\x2e\x31\x39\x38\x2d\x30\x2e\x37\x31\x2c\
+\x30\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x31\x39\x37\x2d\x30\
+\x2e\x31\x39\x36\x2d\x30\x2e\x35\x31\x38\x2c\x30\x2d\x30\x2e\x37\
+\x31\x37\x4c\x31\x31\x2c\x31\x30\x7a\x20\x4d\x31\x30\x2c\x30\x2e\
+\x34\x0a\x09\x63\x35\x2e\x33\x30\x32\x2c\x30\x2c\x39\x2e\x36\x2c\
+\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2c\x39\x2e\x36\x63\x30\x2c\
+\x35\x2e\x33\x30\x33\x2d\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2d\
+\x39\x2e\x36\x2c\x39\x2e\x36\x53\x30\x2e\x34\x2c\x31\x35\x2e\x33\
+\x30\x33\x2c\x30\x2e\x34\x2c\x31\x30\x43\x30\x2e\x34\x2c\x34\x2e\
+\x36\x39\x38\x2c\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x31\x30\
+\x2c\x30\x2e\x34\x7a\x20\x4d\x31\x30\x2c\x31\x38\x2e\x33\x35\x34\
+\x0a\x09\x63\x34\x2e\x36\x31\x33\x2c\x30\x2c\x38\x2e\x33\x35\x34\
+\x2d\x33\x2e\x37\x34\x2c\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\
+\x34\x63\x30\x2d\x34\x2e\x36\x31\x34\x2d\x33\x2e\x37\x34\x31\x2d\
+\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\
+\x34\x63\x2d\x34\x2e\x36\x31\x35\x2c\x30\x2d\x38\x2e\x33\x35\x34\
+\x2c\x33\x2e\x37\x34\x2d\x38\x2e\x33\x35\x34\x2c\x38\x2e\x33\x35\
+\x34\x0a\x09\x43\x31\x2e\x36\x34\x35\x2c\x31\x34\x2e\x36\x31\x34\
+\x2c\x35\x2e\x33\x38\x35\x2c\x31\x38\x2e\x33\x35\x34\x2c\x31\x30\
+\x2c\x31\x38\x2e\x33\x35\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\
+\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x13\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x4c\
+\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
+\x4c\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
+\x38\x4c\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
+\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
+\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
+\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\
+\x37\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
+\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
+\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
+\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\
+\x2e\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\
+\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\
+\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\
+\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\
+\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\
+\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\
+\x63\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\
+\x20\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\
+\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\
+\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\
+\x63\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\
+\x27\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\
+\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\
+\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\
+\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\
+\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\
+\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\
+\x34\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\
+\x37\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\
+\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
+\x67\x3e\
+\x00\x00\x03\x48\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\
+\x33\x37\x2e\x33\x33\x34\x2c\x31\x34\x34\x48\x32\x35\x36\x2e\x30\
+\x30\x36\x6c\x2d\x34\x32\x2e\x36\x36\x38\x2d\x34\x38\x48\x37\x34\
+\x2e\x36\x36\x36\x43\x35\x31\x2e\x31\x39\x37\x2c\x39\x36\x2c\x33\
+\x32\x2c\x31\x31\x35\x2e\x31\x39\x38\x2c\x33\x32\x2c\x31\x33\x38\
+\x2e\x36\x36\x37\x76\x32\x33\x34\x2e\x36\x36\x36\x43\x33\x32\x2c\
+\x33\x39\x36\x2e\x38\x30\x32\x2c\x35\x31\x2e\x31\x39\x37\x2c\x34\
+\x31\x36\x2c\x37\x34\x2e\x36\x36\x36\x2c\x34\x31\x36\x68\x33\x36\
+\x32\x2e\x36\x36\x38\x0a\x09\x43\x34\x36\x30\x2e\x38\x30\x33\x2c\
+\x34\x31\x36\x2c\x34\x38\x30\x2c\x33\x39\x36\x2e\x38\x30\x32\x2c\
+\x34\x38\x30\x2c\x33\x37\x33\x2e\x33\x33\x33\x56\x31\x38\x36\x2e\
+\x36\x36\x37\x43\x34\x38\x30\x2c\x31\x36\x33\x2e\x31\x39\x38\x2c\
+\x34\x36\x30\x2e\x38\x30\x33\x2c\x31\x34\x34\x2c\x34\x33\x37\x2e\
+\x33\x33\x34\x2c\x31\x34\x34\x7a\x20\x4d\x34\x34\x38\x2c\x33\x37\
+\x33\x2e\x33\x33\x33\x0a\x09\x63\x30\x2c\x35\x2e\x37\x38\x32\x2d\
+\x34\x2e\x38\x38\x35\x2c\x31\x30\x2e\x36\x36\x37\x2d\x31\x30\x2e\
+\x36\x36\x36\x2c\x31\x30\x2e\x36\x36\x37\x48\x37\x34\x2e\x36\x36\
+\x36\x43\x36\x38\x2e\x38\x38\x34\x2c\x33\x38\x34\x2c\x36\x34\x2c\
+\x33\x37\x39\x2e\x31\x31\x35\x2c\x36\x34\x2c\x33\x37\x33\x2e\x33\
+\x33\x33\x56\x31\x37\x36\x68\x33\x37\x33\x2e\x33\x33\x34\x63\x35\
+\x2e\x37\x38\x31\x2c\x30\x2c\x31\x30\x2e\x36\x36\x36\x2c\x34\x2e\
+\x38\x38\x35\x2c\x31\x30\x2e\x36\x36\x36\x2c\x31\x30\x2e\x36\x36\
+\x37\x0a\x09\x56\x33\x37\x33\x2e\x33\x33\x33\x7a\x22\x2f\x3e\x0a\
+\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\x98\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x31\x32\x38\x2c\x34\x30\x35\x2e\x34\x32\x39\x43\
+\x31\x32\x38\x2c\x34\x32\x38\x2e\x38\x34\x36\x2c\x31\x34\x37\x2e\
+\x31\x39\x38\x2c\x34\x34\x38\x2c\x31\x37\x30\x2e\x36\x36\x37\x2c\
+\x34\x34\x38\x68\x31\x37\x30\x2e\x36\x36\x37\x43\x33\x36\x34\x2e\
+\x38\x30\x32\x2c\x34\x34\x38\x2c\x33\x38\x34\x2c\x34\x32\x38\x2e\
+\x38\x34\x36\x2c\x33\x38\x34\x2c\x34\x30\x35\x2e\x34\x32\x39\x56\
+\x31\x36\x30\x48\x31\x32\x38\x56\x34\x30\x35\x2e\x34\x32\x39\x7a\
+\x20\x4d\x34\x31\x36\x2c\x39\x36\x0a\x09\x09\x68\x2d\x38\x30\x6c\
+\x2d\x32\x36\x2e\x37\x38\x35\x2d\x33\x32\x48\x32\x30\x32\x2e\x37\
+\x38\x36\x4c\x31\x37\x36\x2c\x39\x36\x48\x39\x36\x76\x33\x32\x68\
+\x33\x32\x30\x56\x39\x36\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x16\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x63\x69\x72\x63\x6c\
+\x65\x20\x63\x78\x3d\x22\x32\x35\x36\x22\x20\x63\x79\x3d\x22\x32\
+\x38\x30\x22\x20\x72\x3d\x22\x36\x33\x22\x2f\x3e\x0a\x09\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x34\x30\x2c\x39\x36\x68\x2d\
+\x38\x38\x6c\x2d\x33\x32\x2d\x33\x32\x48\x31\x39\x32\x6c\x2d\x33\
+\x32\x2c\x33\x32\x48\x37\x32\x63\x2d\x32\x32\x2e\x30\x39\x32\x2c\
+\x30\x2d\x34\x30\x2c\x31\x37\x2e\x39\x30\x38\x2d\x34\x30\x2c\x34\
+\x30\x76\x32\x37\x32\x63\x30\x2c\x32\x32\x2e\x30\x39\x32\x2c\x31\
+\x37\x2e\x39\x30\x38\x2c\x34\x30\x2c\x34\x30\x2c\x34\x30\x68\x33\
+\x36\x38\x63\x32\x32\x2e\x30\x39\x32\x2c\x30\x2c\x34\x30\x2d\x31\
+\x37\x2e\x39\x30\x38\x2c\x34\x30\x2d\x34\x30\x0a\x09\x09\x56\x31\
+\x33\x36\x43\x34\x38\x30\x2c\x31\x31\x33\x2e\x39\x30\x38\x2c\x34\
+\x36\x32\x2e\x30\x39\x32\x2c\x39\x36\x2c\x34\x34\x30\x2c\x39\x36\
+\x7a\x20\x4d\x32\x35\x36\x2c\x33\x39\x32\x63\x2d\x36\x31\x2e\x38\
+\x35\x35\x2c\x30\x2d\x31\x31\x32\x2d\x35\x30\x2e\x31\x34\x35\x2d\
+\x31\x31\x32\x2d\x31\x31\x32\x73\x35\x30\x2e\x31\x34\x35\x2d\x31\
+\x31\x32\x2c\x31\x31\x32\x2d\x31\x31\x32\x73\x31\x31\x32\x2c\x35\
+\x30\x2e\x31\x34\x35\x2c\x31\x31\x32\x2c\x31\x31\x32\x0a\x09\x09\
+\x53\x33\x31\x37\x2e\x38\x35\x35\x2c\x33\x39\x32\x2c\x32\x35\x36\
+\x2c\x33\x39\x32\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
+\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xfe\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x33\x2e\x39\x39\x39\x36\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x33\x2e\x39\x39\x39\x36\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x36\x32\x2e\x32\x33\
+\x32\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x32\x2e\x30\x30\
+\x37\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x32\x2e\x30\x30\x37\
+\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
+\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
+\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\
+\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\
+\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
+\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\
+\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x32\x2e\x30\x30\
+\x37\x35\x20\x33\x32\x2e\x31\x32\x4c\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x20\x33\x32\x2e\x31\x32\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\
+\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\
+\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\
+\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\
+\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\
+\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\
+\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x34\
+\x2e\x30\x31\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\
+\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\
+\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\
+\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\
+\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x27\x4d\
+\x20\x33\x32\x2e\x31\x32\x20\x36\x32\x2e\x32\x33\x32\x35\x4c\x20\
+\x33\x32\x2e\x31\x32\x20\x32\x2e\x30\x30\x37\x35\x27\x20\x66\x69\
+\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\x65\
+\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\x64\
+\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\
+\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\
+\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\x2e\
+\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\
+\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x00\x00\x02\xf0\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x32\x30\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x34\x38\x43\x31\
+\x34\x31\x2e\x36\x30\x31\x2c\x34\x38\x2c\x34\x38\x2c\x31\x34\x31\
+\x2e\x36\x30\x31\x2c\x34\x38\x2c\x32\x35\x36\x73\x39\x33\x2e\x36\
+\x30\x31\x2c\x32\x30\x38\x2c\x32\x30\x38\x2c\x32\x30\x38\x73\x32\
+\x30\x38\x2d\x39\x33\x2e\x36\x30\x31\x2c\x32\x30\x38\x2d\x32\x30\
+\x38\x53\x33\x37\x30\x2e\x33\x39\x39\x2c\x34\x38\x2c\x32\x35\x36\
+\x2c\x34\x38\x7a\x20\x4d\x32\x35\x36\x2c\x34\x32\x32\x2e\x33\x39\
+\x39\x0a\x09\x09\x09\x63\x2d\x39\x31\x2e\x35\x31\x38\x2c\x30\x2d\
+\x31\x36\x36\x2e\x33\x39\x39\x2d\x37\x34\x2e\x38\x38\x32\x2d\x31\
+\x36\x36\x2e\x33\x39\x39\x2d\x31\x36\x36\x2e\x33\x39\x39\x53\x31\
+\x36\x34\x2e\x34\x38\x32\x2c\x38\x39\x2e\x36\x2c\x32\x35\x36\x2c\
+\x38\x39\x2e\x36\x53\x34\x32\x32\x2e\x34\x2c\x31\x36\x34\x2e\x34\
+\x38\x32\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\x36\x53\x33\x34\x37\
+\x2e\x35\x31\x38\x2c\x34\x32\x32\x2e\x33\x39\x39\x2c\x32\x35\x36\
+\x2c\x34\x32\x32\x2e\x33\x39\x39\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\x97\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x53\
+\x61\x76\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
+\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
+\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
+\x6b\x22\x20\x78\x3d\x22\x35\x31\x32\x70\x78\x22\x20\x79\x3d\x22\
+\x35\x31\x32\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\
+\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\
+\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
+\x3d\x22\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\
+\x32\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\
+\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\
+\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\
+\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\
+\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x31\x35\x2e\x31\x37\x33\x2c\
+\x32\x48\x34\x43\x32\x2e\x38\x39\x39\x2c\x32\x2c\x32\x2c\x32\x2e\
+\x39\x2c\x32\x2c\x34\x76\x31\x32\x63\x30\x2c\x31\x2e\x31\x2c\x30\
+\x2e\x38\x39\x39\x2c\x32\x2c\x32\x2c\x32\x68\x31\x32\x63\x31\x2e\
+\x31\x30\x31\x2c\x30\x2c\x32\x2d\x30\x2e\x39\x2c\x32\x2d\x32\x56\
+\x35\x2e\x31\x32\x37\x4c\x31\x35\x2e\x31\x37\x33\x2c\x32\x7a\x20\
+\x4d\x31\x34\x2c\x38\x63\x30\x2c\x30\x2e\x35\x34\x39\x2d\x30\x2e\
+\x34\x35\x2c\x31\x2d\x31\x2c\x31\x48\x37\x0a\x09\x43\x36\x2e\x34\
+\x35\x2c\x39\x2c\x36\x2c\x38\x2e\x35\x34\x39\x2c\x36\x2c\x38\x56\
+\x33\x68\x38\x56\x38\x7a\x20\x4d\x31\x33\x2c\x34\x68\x2d\x32\x76\
+\x34\x68\x32\x56\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\x6c\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x31\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x67\x3e\
+\x0a\x09\x09\x09\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\
+\x6e\x74\x73\x3d\x22\x31\x38\x36\x2e\x33\x30\x31\x2c\x33\x33\x39\
+\x2e\x38\x39\x33\x20\x39\x36\x2c\x32\x34\x39\x2e\x34\x36\x31\x20\
+\x36\x34\x2c\x32\x37\x39\x2e\x39\x36\x38\x20\x31\x38\x36\x2e\x33\
+\x30\x31\x2c\x34\x30\x32\x20\x34\x34\x38\x2c\x31\x34\x30\x2e\x35\
+\x30\x36\x20\x34\x31\x36\x2c\x31\x31\x30\x20\x09\x09\x09\x22\x2f\
+\x3e\x0a\x09\x09\x3c\x2f\x67\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x01\xdd\
+\x00\
+\x00\x06\xc4\x78\x9c\xcd\x51\x4d\x8f\x9b\x30\x14\x3c\xc3\xaf\x78\
+\xf5\xad\x12\xfe\x82\x85\x24\x14\xb2\x6a\x3e\x14\x45\xda\xb6\x91\
+\x36\x4d\xd5\x53\x45\xc0\x05\xb4\x2c\x20\x70\x80\xf4\xd7\x57\x76\
+\xd2\x6a\x2b\x6d\xae\x4b\x0f\xf6\x93\x67\xde\x9b\x37\xd6\x04\xf7\
+\xc3\x73\x01\x9d\x68\xda\xbc\x2a\x43\xc4\x09\x43\x20\xca\xb8\x4a\
+\xf2\x32\x0d\xd1\x49\xfe\xc4\x53\x74\x3f\x37\x83\x77\x18\xc3\x46\
+\x94\xa2\x89\x64\xd5\xf8\xf0\x31\xa9\x8e\x02\xb6\x45\x71\x6a\xa5\
+\x86\x80\x7b\xc4\x26\xdc\x82\xc7\xc3\x06\xd6\x43\x5d\x35\x12\x76\
+\xc5\x29\xc5\xdb\x12\x88\x06\x0f\x97\x1d\x3e\x78\x84\x31\x58\x9c\
+\xf2\x22\x01\xf6\x1e\x00\x63\x25\xbf\xfa\xb2\xdc\x7f\xdf\xad\xa1\
+\xed\x52\xd8\x7d\x5d\x3c\x6c\x97\x80\x30\xa5\xdf\x9c\x25\xa5\xab\
+\xfd\x4a\x2b\x70\xc2\x29\x5d\x7f\x46\x80\x32\x29\x6b\x9f\xd2\xbe\
+\xef\x49\xef\x90\xaa\x49\xe9\xa6\x89\xea\x2c\x8f\x5b\xfa\x78\xd8\
+\x50\xd5\xb8\xda\xaf\x68\xdb\xa5\x9c\x93\x44\x26\x68\x6e\x06\x4a\
+\xf9\xc5\x3f\x39\x82\x3c\x09\xd1\x43\x74\x16\xcd\x0f\x8e\x60\x78\
+\x2e\xca\x36\x7c\x45\xd9\x66\x8c\x29\xa5\x6b\x8b\x3f\x14\x79\xf9\
+\xf4\x5a\x23\x9f\xcd\x66\x54\xb3\x08\x86\x10\xb1\x7a\x40\x70\xbe\
+\x54\xd3\x80\x3e\x4f\x64\x16\x22\x97\xdb\x0a\xcf\x44\x9e\x66\xf2\
+\xef\xb3\xcb\x45\xbf\xa8\xd4\x10\x30\x70\xb9\xad\x0e\x82\x56\x9e\
+\x0b\x11\x22\x51\x46\xc7\x42\xe0\x63\x14\x3f\xa5\x4d\x75\x2a\x13\
+\xbf\x14\x3d\xbc\xe8\xfc\xa0\xad\xf9\x6d\x1d\xc5\x22\x44\x75\x23\
+\x5a\xd1\x74\x42\xfd\x39\x9d\x9b\x86\xbe\x8c\xa0\x8e\x64\x06\x49\
+\x88\x3e\x71\x8f\x59\xdc\x75\x88\x13\x33\xcb\x21\x13\xec\x58\x1e\
+\x99\x60\x8f\x4c\x54\xcd\xb0\xcb\x88\x1b\x63\x87\x4c\x2c\xa6\x40\
+\xec\xe0\x2b\xdd\x5d\x28\xa6\x39\xe7\xcf\x80\xaa\x99\x26\xf4\x88\
+\x82\x2c\xad\xa8\xce\x41\xef\xf9\x85\x4c\xc3\x30\xe8\xbf\x2e\xec\
+\xe9\xf4\x3f\x70\x71\xc7\xbd\xb1\x5c\x04\xf4\x56\x38\xf6\x94\xbf\
+\x89\x21\xbd\xe7\x66\x38\xe3\xbb\x50\xe1\x8c\xe4\xe2\x76\x38\x77\
+\x6c\xf6\x26\x86\xf4\x9e\x9b\xe1\x8c\xef\x42\x85\x33\x92\x0b\x1d\
+\xce\xf5\x6a\xbb\x74\x6e\xfe\x06\x44\x1a\x94\x79\
+\x00\x00\x03\x3d\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\
+\x68\x20\x64\x3d\x22\x4d\x34\x33\x37\x2e\x35\x2c\x33\x38\x36\x2e\
+\x36\x4c\x33\x30\x36\x2e\x39\x2c\x32\x35\x36\x6c\x31\x33\x30\x2e\
+\x36\x2d\x31\x33\x30\x2e\x36\x63\x31\x34\x2e\x31\x2d\x31\x34\x2e\
+\x31\x2c\x31\x34\x2e\x31\x2d\x33\x36\x2e\x38\x2c\x30\x2d\x35\x30\
+\x2e\x39\x63\x2d\x31\x34\x2e\x31\x2d\x31\x34\x2e\x31\x2d\x33\x36\
+\x2e\x38\x2d\x31\x34\x2e\x31\x2d\x35\x30\x2e\x39\x2c\x30\x4c\x32\
+\x35\x36\x2c\x32\x30\x35\x2e\x31\x4c\x31\x32\x35\x2e\x34\x2c\x37\
+\x34\x2e\x35\x0a\x09\x63\x2d\x31\x34\x2e\x31\x2d\x31\x34\x2e\x31\
+\x2d\x33\x36\x2e\x38\x2d\x31\x34\x2e\x31\x2d\x35\x30\x2e\x39\x2c\
+\x30\x63\x2d\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2d\x31\x34\x2e\
+\x31\x2c\x33\x36\x2e\x38\x2c\x30\x2c\x35\x30\x2e\x39\x4c\x32\x30\
+\x35\x2e\x31\x2c\x32\x35\x36\x4c\x37\x34\x2e\x35\x2c\x33\x38\x36\
+\x2e\x36\x63\x2d\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2d\x31\x34\
+\x2e\x31\x2c\x33\x36\x2e\x38\x2c\x30\x2c\x35\x30\x2e\x39\x0a\x09\
+\x63\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2c\x33\x36\x2e\x38\x2c\
+\x31\x34\x2e\x31\x2c\x35\x30\x2e\x39\x2c\x30\x4c\x32\x35\x36\x2c\
+\x33\x30\x36\x2e\x39\x6c\x31\x33\x30\x2e\x36\x2c\x31\x33\x30\x2e\
+\x36\x63\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2c\x33\x36\x2e\x38\
+\x2c\x31\x34\x2e\x31\x2c\x35\x30\x2e\x39\x2c\x30\x43\x34\x35\x31\
+\x2e\x35\x2c\x34\x32\x33\x2e\x34\x2c\x34\x35\x31\x2e\x35\x2c\x34\
+\x30\x30\x2e\x36\x2c\x34\x33\x37\x2e\x35\x2c\x33\x38\x36\x2e\x36\
+\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\xe7\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x69\x72\x63\x6c\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\
+\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\
+\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\
+\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
+\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\
+\x69\x6e\x6b\x22\x20\x78\x3d\x22\x35\x31\x32\x70\x78\x22\x20\x79\
+\x3d\x22\x35\x31\x32\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\
+\x6f\x78\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\
+\x20\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\
+\x6e\x64\x3d\x22\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\
+\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\
+\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\
+\x32\x34\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x31\x30\x2c\x30\x2e\
+\x34\x43\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x30\x2e\x34\x2c\
+\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x31\x30\x43\x30\x2e\x34\
+\x2c\x31\x35\x2e\x33\x30\x32\x2c\x34\x2e\x36\x39\x38\x2c\x31\x39\
+\x2e\x36\x2c\x31\x30\x2c\x31\x39\x2e\x36\x63\x35\x2e\x33\x30\x31\
+\x2c\x30\x2c\x39\x2e\x36\x2d\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\
+\x2d\x39\x2e\x36\x30\x31\x0a\x09\x43\x31\x39\x2e\x36\x2c\x34\x2e\
+\x36\x39\x38\x2c\x31\x35\x2e\x33\x30\x31\x2c\x30\x2e\x34\x2c\x31\
+\x30\x2c\x30\x2e\x34\x7a\x20\x4d\x31\x30\x2c\x31\x37\x2e\x35\x39\
+\x39\x63\x2d\x34\x2e\x31\x39\x37\x2c\x30\x2d\x37\x2e\x36\x2d\x33\
+\x2e\x34\x30\x32\x2d\x37\x2e\x36\x2d\x37\x2e\x36\x53\x35\x2e\x38\
+\x30\x32\x2c\x32\x2e\x34\x2c\x31\x30\x2c\x32\x2e\x34\x63\x34\x2e\
+\x31\x39\x37\x2c\x30\x2c\x37\x2e\x36\x30\x31\x2c\x33\x2e\x34\x30\
+\x32\x2c\x37\x2e\x36\x30\x31\x2c\x37\x2e\x36\x0a\x09\x53\x31\x34\
+\x2e\x31\x39\x37\x2c\x31\x37\x2e\x35\x39\x39\x2c\x31\x30\x2c\x31\
+\x37\x2e\x35\x39\x39\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\x72\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x38\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\
+\x74\x68\x20\x64\x3d\x22\x4d\x38\x35\x2c\x32\x37\x37\x2e\x33\x37\
+\x35\x68\x32\x35\x39\x2e\x37\x30\x34\x4c\x32\x32\x35\x2e\x30\x30\
+\x32\x2c\x33\x39\x37\x2e\x30\x37\x37\x4c\x32\x35\x36\x2c\x34\x32\
+\x37\x6c\x31\x37\x31\x2d\x31\x37\x31\x4c\x32\x35\x36\x2c\x38\x35\
+\x6c\x2d\x32\x39\x2e\x39\x32\x32\x2c\x32\x39\x2e\x39\x32\x34\x6c\
+\x31\x31\x38\x2e\x36\x32\x36\x2c\x31\x31\x39\x2e\x37\x30\x31\x48\
+\x38\x35\x56\x32\x37\x37\x2e\x33\x37\x35\x7a\x22\x2f\x3e\x0a\x09\
+\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x0a\
+\x00\x00\x03\x5a\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x33\x2e\x39\x39\x39\x36\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x33\x2e\x39\x39\x39\x36\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x36\x32\x2e\x32\x33\
+\x32\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x32\x2e\x30\x30\
+\x37\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x32\x2e\x30\x30\x37\
+\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
+\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
+\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\
+\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\
+\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
+\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\
+\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x34\x37\x2e\x31\
+\x37\x36\x32\x20\x33\x32\x2e\x31\x32\x43\x20\x34\x37\x2e\x31\x37\
+\x36\x32\x20\x32\x33\x2e\x38\x30\x34\x37\x20\x34\x30\x2e\x34\x33\
+\x35\x33\x20\x31\x37\x2e\x30\x36\x33\x37\x20\x33\x32\x2e\x31\x32\
+\x20\x31\x37\x2e\x30\x36\x33\x37\x43\x20\x32\x33\x2e\x38\x30\x34\
+\x37\x20\x31\x37\x2e\x30\x36\x33\x37\x20\x31\x37\x2e\x30\x36\x33\
+\x37\x20\x32\x33\x2e\x38\x30\x34\x37\x20\x31\x37\x2e\x30\x36\x33\
+\x37\x20\x33\x32\x2e\x31\x32\x43\x20\x31\x37\x2e\x30\x36\x33\x37\
+\x20\x34\x30\x2e\x34\x33\x35\x33\x20\x32\x33\x2e\x38\x30\x34\x37\
+\x20\x34\x37\x2e\x31\x37\x36\x32\x20\x33\x32\x2e\x31\x32\x20\x34\
+\x37\x2e\x31\x37\x36\x32\x43\x20\x34\x30\x2e\x34\x33\x35\x33\x20\
+\x34\x37\x2e\x31\x37\x36\x32\x20\x34\x37\x2e\x31\x37\x36\x32\x20\
+\x34\x30\x2e\x34\x33\x35\x33\x20\x34\x37\x2e\x31\x37\x36\x32\x20\
+\x33\x32\x2e\x31\x32\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x30\
+\x30\x30\x30\x30\x30\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x00\x00\x03\x5f\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x0a\x09\x09\x3c\x72\x65\
+\x63\x74\x20\x78\x3d\x22\x31\x37\x38\x2e\x38\x34\x36\x22\x20\x79\
+\x3d\x22\x39\x32\x2e\x30\x38\x37\x22\x20\x74\x72\x61\x6e\x73\x66\
+\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x2d\x30\x2e\x37\
+\x30\x37\x31\x20\x2d\x30\x2e\x37\x30\x37\x31\x20\x30\x2e\x37\x30\
+\x37\x31\x20\x2d\x30\x2e\x37\x30\x37\x31\x20\x32\x32\x34\x2e\x33\
+\x34\x37\x36\x20\x36\x33\x31\x2e\x31\x34\x39\x38\x29\x22\x20\x77\
+\x69\x64\x74\x68\x3d\x22\x31\x32\x38\x2e\x30\x38\x35\x22\x20\x68\
+\x65\x69\x67\x68\x74\x3d\x22\x33\x35\x34\x2e\x30\x34\x39\x22\x2f\
+\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x37\x31\
+\x2e\x37\x32\x33\x2c\x38\x38\x2e\x33\x39\x33\x6c\x2d\x34\x38\x2e\
+\x31\x31\x35\x2d\x34\x38\x2e\x31\x31\x34\x63\x2d\x31\x31\x2e\x37\
+\x32\x33\x2d\x31\x31\x2e\x37\x32\x34\x2d\x33\x31\x2e\x35\x35\x38\
+\x2d\x31\x30\x2e\x38\x39\x36\x2d\x34\x34\x2e\x33\x30\x34\x2c\x31\
+\x2e\x38\x35\x6c\x2d\x34\x35\x2e\x32\x30\x32\x2c\x34\x35\x2e\x32\
+\x30\x33\x6c\x39\x30\x2e\x35\x36\x39\x2c\x39\x30\x2e\x35\x36\x38\
+\x6c\x34\x35\x2e\x32\x30\x32\x2d\x34\x35\x2e\x32\x30\x32\x0a\x09\
+\x09\x43\x34\x38\x32\x2e\x36\x31\x36\x2c\x31\x31\x39\x2e\x39\x35\
+\x32\x2c\x34\x38\x33\x2e\x34\x34\x35\x2c\x31\x30\x30\x2e\x31\x31\
+\x36\x2c\x34\x37\x31\x2e\x37\x32\x33\x2c\x38\x38\x2e\x33\x39\x33\
+\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x20\x70\
+\x6f\x69\x6e\x74\x73\x3d\x22\x36\x34\x2e\x30\x32\x31\x2c\x33\x36\
+\x33\x2e\x32\x35\x32\x20\x33\x32\x2c\x34\x38\x30\x20\x31\x34\x38\
+\x2e\x37\x33\x37\x2c\x34\x34\x37\x2e\x39\x37\x39\x20\x09\x22\x2f\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x03\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x68\x65\x63\x6b\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\
+\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\
+\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\
+\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\
+\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\
+\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\x22\x30\
+\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\
+\x20\x30\x20\x32\x30\x20\x32\x30\x22\x20\x65\x6e\x61\x62\x6c\x65\
+\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\x77\
+\x20\x30\x20\x30\x20\x32\x30\x20\x32\x30\x22\x20\x78\x6d\x6c\x3a\
+\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\
+\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x38\x2e\x32\x39\
+\x34\x2c\x31\x36\x2e\x39\x39\x38\x63\x2d\x30\x2e\x34\x33\x35\x2c\
+\x30\x2d\x30\x2e\x38\x34\x37\x2d\x30\x2e\x32\x30\x33\x2d\x31\x2e\
+\x31\x31\x31\x2d\x30\x2e\x35\x35\x33\x4c\x33\x2e\x36\x31\x2c\x31\
+\x31\x2e\x37\x32\x34\x63\x2d\x30\x2e\x34\x36\x35\x2d\x30\x2e\x36\
+\x31\x33\x2d\x30\x2e\x33\x34\x34\x2d\x31\x2e\x34\x38\x36\x2c\x30\
+\x2e\x32\x37\x2d\x31\x2e\x39\x35\x31\x0a\x09\x63\x30\x2e\x36\x31\
+\x35\x2d\x30\x2e\x34\x36\x37\x2c\x31\x2e\x34\x38\x38\x2d\x30\x2e\
+\x33\x34\x34\x2c\x31\x2e\x39\x35\x33\x2c\x30\x2e\x32\x37\x6c\x32\
+\x2e\x33\x35\x31\x2c\x33\x2e\x31\x30\x34\x6c\x35\x2e\x39\x31\x31\
+\x2d\x39\x2e\x34\x39\x32\x63\x30\x2e\x34\x30\x37\x2d\x30\x2e\x36\
+\x35\x32\x2c\x31\x2e\x32\x36\x37\x2d\x30\x2e\x38\x35\x32\x2c\x31\
+\x2e\x39\x32\x31\x2d\x30\x2e\x34\x34\x35\x0a\x09\x63\x30\x2e\x36\
+\x35\x33\x2c\x30\x2e\x34\x30\x36\x2c\x30\x2e\x38\x35\x34\x2c\x31\
+\x2e\x32\x36\x36\x2c\x30\x2e\x34\x34\x36\x2c\x31\x2e\x39\x32\x4c\
+\x39\x2e\x34\x37\x38\x2c\x31\x36\x2e\x33\x34\x63\x2d\x30\x2e\x32\
+\x34\x32\x2c\x30\x2e\x33\x39\x31\x2d\x30\x2e\x36\x36\x31\x2c\x30\
+\x2e\x36\x33\x35\x2d\x31\x2e\x31\x32\x2c\x30\x2e\x36\x35\x36\x43\
+\x38\x2e\x33\x33\x36\x2c\x31\x36\x2e\x39\x39\x38\x2c\x38\x2e\x33\
+\x31\x36\x2c\x31\x36\x2e\x39\x39\x38\x2c\x38\x2e\x32\x39\x34\x2c\
+\x31\x36\x2e\x39\x39\x38\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\
+\x3e\x0a\
+\x00\x00\x04\x42\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x69\x73\x6f\
+\x2d\x38\x38\x35\x39\x2d\x31\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\
+\x47\x65\x6e\x65\x72\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\
+\x20\x49\x6c\x6c\x75\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x39\x2e\
+\x30\x2e\x30\x2c\x20\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\
+\x50\x6c\x75\x67\x2d\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\
+\x72\x73\x69\x6f\x6e\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\
+\x64\x20\x30\x29\x20\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\
+\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\
+\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\
+\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\
+\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\
+\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\
+\x79\x3d\x22\x30\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x22\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\x20\x34\
+\x32\x33\x2e\x37\x35\x34\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\x65\
+\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
+\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\
+\x20\x34\x32\x33\x2e\x37\x35\x34\x3b\x22\x20\x78\x6d\x6c\x3a\x73\
+\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x30\x37\x2e\x35\
+\x31\x36\x2c\x31\x32\x33\x2e\x32\x33\x39\x6c\x2d\x32\x37\x2e\x37\
+\x31\x37\x2c\x31\x31\x2e\x34\x38\x63\x31\x38\x2e\x35\x38\x35\x2c\
+\x34\x34\x2e\x38\x36\x39\x2c\x31\x38\x2e\x35\x38\x35\x2c\x39\x34\
+\x2e\x32\x39\x31\x2c\x30\x2c\x31\x33\x39\x2e\x31\x35\x39\x63\x2d\
+\x31\x38\x2e\x35\x38\x35\x2c\x34\x34\x2e\x38\x36\x39\x2d\x35\x33\
+\x2e\x35\x33\x31\x2c\x37\x39\x2e\x38\x31\x35\x2d\x39\x38\x2e\x34\
+\x2c\x39\x38\x2e\x34\x0a\x09\x63\x2d\x32\x32\x2e\x34\x33\x38\x2c\
+\x39\x2e\x32\x39\x33\x2d\x34\x36\x2e\x30\x30\x34\x2c\x31\x33\x2e\
+\x39\x34\x2d\x36\x39\x2e\x35\x37\x39\x2c\x31\x33\x2e\x39\x33\x39\
+\x63\x2d\x32\x33\x2e\x35\x36\x39\x2d\x30\x2e\x30\x30\x31\x2d\x34\
+\x37\x2e\x31\x34\x37\x2d\x34\x2e\x36\x34\x37\x2d\x36\x39\x2e\x35\
+\x37\x39\x2d\x31\x33\x2e\x39\x33\x39\x63\x2d\x34\x34\x2e\x38\x36\
+\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x37\x39\x2e\x38\x31\x35\x2d\
+\x35\x33\x2e\x35\x33\x31\x2d\x39\x38\x2e\x34\x2d\x39\x38\x2e\x34\
+\x0a\x09\x43\x31\x33\x2e\x35\x30\x37\x2c\x32\x30\x30\x2e\x36\x34\
+\x37\x2c\x33\x34\x2e\x37\x35\x38\x2c\x31\x31\x38\x2e\x37\x31\x2c\
+\x39\x30\x2e\x37\x35\x38\x2c\x36\x38\x2e\x36\x34\x34\x6c\x36\x30\
+\x2e\x38\x30\x31\x2c\x36\x30\x2e\x38\x30\x31\x56\x37\x2e\x35\x32\
+\x31\x48\x32\x39\x2e\x36\x33\x35\x4c\x36\x39\x2e\x35\x31\x34\x2c\
+\x34\x37\x2e\x34\x43\x35\x2e\x32\x32\x32\x2c\x31\x30\x35\x2e\x38\
+\x32\x36\x2d\x31\x38\x2e\x39\x38\x35\x2c\x32\x30\x30\x2e\x36\x2c\
+\x31\x36\x2e\x31\x32\x33\x2c\x32\x38\x35\x2e\x33\x35\x39\x0a\x09\
+\x63\x32\x31\x2e\x36\x35\x32\x2c\x35\x32\x2e\x32\x37\x32\x2c\x36\
+\x32\x2e\x33\x36\x34\x2c\x39\x32\x2e\x39\x38\x34\x2c\x31\x31\x34\
+\x2e\x36\x33\x36\x2c\x31\x31\x34\x2e\x36\x33\x36\x63\x32\x36\x2e\
+\x31\x33\x37\x2c\x31\x30\x2e\x38\x32\x36\x2c\x35\x33\x2e\x35\x39\
+\x39\x2c\x31\x36\x2e\x32\x33\x39\x2c\x38\x31\x2e\x30\x36\x31\x2c\
+\x31\x36\x2e\x32\x33\x39\x73\x35\x34\x2e\x39\x32\x34\x2d\x35\x2e\
+\x34\x31\x33\x2c\x38\x31\x2e\x30\x36\x2d\x31\x36\x2e\x32\x33\x39\
+\x0a\x09\x63\x35\x32\x2e\x32\x37\x32\x2d\x32\x31\x2e\x36\x35\x32\
+\x2c\x39\x32\x2e\x39\x38\x34\x2d\x36\x32\x2e\x33\x36\x34\x2c\x31\
+\x31\x34\x2e\x36\x33\x37\x2d\x31\x31\x34\x2e\x36\x33\x36\x43\x34\
+\x32\x39\x2e\x31\x36\x37\x2c\x32\x33\x33\x2e\x30\x38\x37\x2c\x34\
+\x32\x39\x2e\x31\x36\x37\x2c\x31\x37\x35\x2e\x35\x31\x31\x2c\x34\
+\x30\x37\x2e\x35\x31\x36\x2c\x31\x32\x33\x2e\x32\x33\x39\x7a\x22\
+\x2f\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\
+\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\
+\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x0a\
+\x00\x00\x02\x77\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x6f\x6c\
+\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x32\x38\x38\
+\x2c\x39\x36\x20\x33\x33\x37\x2e\x39\x2c\x31\x34\x35\x2e\x39\x20\
+\x32\x37\x34\x2c\x32\x30\x39\x2e\x37\x20\x32\x37\x34\x2c\x32\x30\
+\x39\x2e\x37\x20\x31\x34\x35\x2e\x39\x2c\x33\x33\x37\x2e\x39\x20\
+\x39\x36\x2c\x32\x38\x38\x20\x39\x36\x2c\x34\x31\x36\x20\x32\x32\
+\x34\x2c\x34\x31\x36\x20\x31\x37\x34\x2e\x31\x2c\x33\x36\x36\x2e\
+\x31\x20\x33\x35\x37\x2e\x34\x2c\x31\x38\x32\x2e\x39\x20\x33\x36\
+\x36\x2e\x31\x2c\x31\x37\x34\x2e\x31\x20\x0a\x09\x34\x31\x36\x2c\
+\x32\x32\x34\x20\x34\x31\x36\x2c\x39\x36\x20\x22\x2f\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x54\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\x37\x36\x63\x2d\x34\x34\x2e\
+\x30\x30\x34\x2c\x30\x2d\x38\x30\x2e\x30\x30\x31\x2c\x33\x36\x2d\
+\x38\x30\x2e\x30\x30\x31\x2c\x38\x30\x63\x30\x2c\x34\x34\x2e\x30\
+\x30\x34\x2c\x33\x35\x2e\x39\x39\x37\x2c\x38\x30\x2c\x38\x30\x2e\
+\x30\x30\x31\x2c\x38\x30\x63\x34\x34\x2e\x30\x30\x35\x2c\x30\x2c\
+\x37\x39\x2e\x39\x39\x39\x2d\x33\x35\x2e\x39\x39\x36\x2c\x37\x39\
+\x2e\x39\x39\x39\x2d\x38\x30\x0a\x09\x09\x09\x43\x33\x33\x35\x2e\
+\x39\x39\x39\x2c\x32\x31\x32\x2c\x33\x30\x30\x2e\x30\x30\x35\x2c\
+\x31\x37\x36\x2c\x32\x35\x36\x2c\x31\x37\x36\x7a\x20\x4d\x34\x34\
+\x36\x2e\x39\x33\x38\x2c\x32\x33\x34\x2e\x36\x36\x37\x63\x2d\x39\
+\x2e\x36\x30\x35\x2d\x38\x38\x2e\x35\x33\x31\x2d\x38\x31\x2e\x30\
+\x37\x34\x2d\x31\x36\x30\x2d\x31\x36\x39\x2e\x36\x30\x35\x2d\x31\
+\x36\x39\x2e\x35\x39\x39\x56\x33\x32\x68\x2d\x34\x32\x2e\x36\x36\
+\x36\x76\x33\x33\x2e\x30\x36\x37\x0a\x09\x09\x09\x63\x2d\x38\x38\
+\x2e\x35\x33\x31\x2c\x39\x2e\x35\x39\x39\x2d\x31\x36\x30\x2c\x38\
+\x31\x2e\x30\x36\x38\x2d\x31\x36\x39\x2e\x36\x30\x34\x2c\x31\x36\
+\x39\x2e\x35\x39\x39\x48\x33\x32\x76\x34\x32\x2e\x36\x36\x37\x68\
+\x33\x33\x2e\x30\x36\x32\x63\x39\x2e\x36\x30\x34\x2c\x38\x38\x2e\
+\x35\x33\x31\x2c\x38\x31\x2e\x30\x37\x32\x2c\x31\x36\x30\x2c\x31\
+\x36\x39\x2e\x36\x30\x34\x2c\x31\x36\x39\x2e\x36\x30\x34\x56\x34\
+\x38\x30\x68\x34\x32\x2e\x36\x36\x36\x76\x2d\x33\x33\x2e\x30\x36\
+\x32\x0a\x09\x09\x09\x63\x38\x38\x2e\x35\x33\x31\x2d\x39\x2e\x36\
+\x30\x34\x2c\x31\x36\x30\x2d\x38\x31\x2e\x30\x37\x33\x2c\x31\x36\
+\x39\x2e\x36\x30\x35\x2d\x31\x36\x39\x2e\x36\x30\x34\x48\x34\x38\
+\x30\x76\x2d\x34\x32\x2e\x36\x36\x37\x48\x34\x34\x36\x2e\x39\x33\
+\x38\x7a\x20\x4d\x32\x35\x36\x2c\x34\x30\x35\x2e\x33\x33\x33\x63\
+\x2d\x38\x32\x2e\x31\x33\x37\x2c\x30\x2d\x31\x34\x39\x2e\x33\x33\
+\x34\x2d\x36\x37\x2e\x31\x39\x38\x2d\x31\x34\x39\x2e\x33\x33\x34\
+\x2d\x31\x34\x39\x2e\x33\x33\x33\x0a\x09\x09\x09\x63\x30\x2d\x38\
+\x32\x2e\x31\x33\x36\x2c\x36\x37\x2e\x31\x39\x37\x2d\x31\x34\x39\
+\x2e\x33\x33\x33\x2c\x31\x34\x39\x2e\x33\x33\x34\x2d\x31\x34\x39\
+\x2e\x33\x33\x33\x63\x38\x32\x2e\x31\x33\x35\x2c\x30\x2c\x31\x34\
+\x39\x2e\x33\x33\x32\x2c\x36\x37\x2e\x31\x39\x38\x2c\x31\x34\x39\
+\x2e\x33\x33\x32\x2c\x31\x34\x39\x2e\x33\x33\x33\x43\x34\x30\x35\
+\x2e\x33\x33\x32\x2c\x33\x33\x38\x2e\x31\x33\x35\x2c\x33\x33\x38\
+\x2e\x31\x33\x35\x2c\x34\x30\x35\x2e\x33\x33\x33\x2c\x32\x35\x36\
+\x2c\x34\x30\x35\x2e\x33\x33\x33\x7a\x0a\x09\x09\x09\x22\x2f\x3e\
+\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
+\x67\x3e\x0a\
+\x00\x00\x03\xda\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x30\x2e\x30\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x34\x38\x2e\x34\x35\x31\x2c\x34\x36\x34\x2e\x38\
+\x32\x38\x63\x34\x30\x2e\x30\x32\x33\x2d\x30\x2e\x33\x31\x35\x2c\
+\x34\x35\x2e\x30\x31\x2d\x39\x2e\x39\x35\x35\x2c\x35\x38\x2e\x30\
+\x35\x32\x2d\x35\x30\x2e\x31\x33\x32\x63\x32\x34\x2e\x30\x35\x37\
+\x2d\x36\x33\x2e\x34\x30\x38\x2c\x31\x33\x32\x2e\x34\x31\x39\x2c\
+\x31\x36\x2e\x35\x39\x31\x2c\x36\x35\x2e\x32\x36\x39\x2c\x34\x34\
+\x2e\x33\x37\x34\x0a\x09\x09\x43\x31\x30\x34\x2e\x36\x32\x32\x2c\
+\x34\x38\x36\x2e\x38\x35\x32\x2c\x38\x2e\x34\x32\x38\x2c\x34\x36\
+\x35\x2e\x31\x34\x33\x2c\x34\x38\x2e\x34\x35\x31\x2c\x34\x36\x34\
+\x2e\x38\x32\x38\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x34\x35\x38\x2e\x38\x35\x37\x2c\x34\x36\x2e\x39\
+\x30\x32\x63\x2d\x31\x39\x2e\x34\x31\x37\x2d\x31\x35\x2e\x36\x34\
+\x37\x2d\x35\x31\x2e\x35\x39\x32\x2d\x37\x2e\x39\x33\x38\x2d\x37\
+\x31\x2e\x38\x36\x34\x2c\x31\x37\x2e\x32\x31\x39\x4c\x31\x38\x31\
+\x2e\x36\x34\x35\x2c\x33\x35\x35\x2e\x38\x34\x39\x63\x2d\x32\x30\
+\x2e\x32\x37\x32\x2c\x32\x35\x2e\x31\x35\x34\x2d\x32\x30\x2e\x31\
+\x37\x31\x2c\x32\x30\x2e\x33\x34\x37\x2d\x30\x2e\x37\x35\x34\x2c\
+\x33\x35\x2e\x39\x39\x32\x0a\x09\x09\x63\x31\x39\x2e\x34\x31\x37\
+\x2c\x31\x35\x2e\x36\x34\x38\x2c\x31\x34\x2e\x37\x33\x38\x2c\x31\
+\x36\x2e\x37\x37\x2c\x33\x35\x2e\x30\x31\x31\x2d\x38\x2e\x33\x38\
+\x38\x6c\x32\x34\x31\x2e\x34\x30\x36\x2d\x32\x36\x32\x2e\x36\x36\
+\x39\x43\x34\x37\x37\x2e\x35\x38\x31\x2c\x39\x35\x2e\x36\x32\x38\
+\x2c\x34\x37\x38\x2e\x32\x37\x35\x2c\x36\x32\x2e\x35\x35\x2c\x34\
+\x35\x38\x2e\x38\x35\x37\x2c\x34\x36\x2e\x39\x30\x32\x7a\x20\x4d\
+\x34\x30\x36\x2e\x30\x36\x35\x2c\x38\x31\x2e\x38\x32\x35\x0a\x09\
+\x09\x63\x30\x2c\x30\x2d\x33\x2d\x33\x2e\x35\x2d\x31\x33\x2d\x31\
+\x31\x2e\x35\x63\x31\x35\x2d\x32\x34\x2e\x35\x2c\x34\x34\x2e\x35\
+\x2d\x32\x30\x2c\x34\x34\x2e\x35\x2d\x32\x30\x43\x34\x30\x39\x2e\
+\x35\x36\x35\x2c\x36\x36\x2e\x38\x32\x35\x2c\x34\x30\x36\x2e\x30\
+\x36\x35\x2c\x38\x31\x2e\x38\x32\x35\x2c\x34\x30\x36\x2e\x30\x36\
+\x35\x2c\x38\x31\x2e\x38\x32\x35\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x22\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x4c\
+\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
+\x4c\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
+\x38\x4c\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
+\x31\x39\x4c\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\
+\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\
+\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\
+\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\
+\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\
+\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\x37\
+\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\
+\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\
+\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\
+\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\
+\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\x2e\
+\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\x27\
+\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\
+\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\
+\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\
+\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\
+\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\
+\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\x20\
+\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\x6c\
+\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\
+\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
+\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\
+\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\
+\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\
+\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\
+\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\x27\
+\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\
+\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\
+\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
+\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
+\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
+\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x34\
+\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\x37\
+\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\
+\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\
+\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\
+\x3e\
+\x00\x00\x02\xab\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x35\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x6f\
+\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x34\x30\
+\x35\x2c\x31\x33\x36\x2e\x37\x39\x38\x20\x33\x37\x35\x2e\x32\x30\
+\x32\x2c\x31\x30\x37\x20\x32\x35\x36\x2c\x32\x32\x36\x2e\x32\x30\
+\x32\x20\x31\x33\x36\x2e\x37\x39\x38\x2c\x31\x30\x37\x20\x31\x30\
+\x37\x2c\x31\x33\x36\x2e\x37\x39\x38\x20\x32\x32\x36\x2e\x32\x30\
+\x32\x2c\x32\x35\x36\x20\x31\x30\x37\x2c\x33\x37\x35\x2e\x32\x30\
+\x32\x20\x31\x33\x36\x2e\x37\x39\x38\x2c\x34\x30\x35\x20\x32\x35\
+\x36\x2c\x32\x38\x35\x2e\x37\x39\x38\x20\x0a\x09\x09\x09\x33\x37\
+\x35\x2e\x32\x30\x32\x2c\x34\x30\x35\x20\x34\x30\x35\x2c\x33\x37\
+\x35\x2e\x32\x30\x32\x20\x32\x38\x35\x2e\x37\x39\x38\x2c\x32\x35\
+\x36\x20\x09\x09\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x01\x1c\
+\x3c\
+\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\x32\
+\x70\x78\x22\x0a\x20\x20\x20\x20\x20\x76\x69\x65\x77\x42\x6f\x78\
+\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x3e\x0a\
+\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\
+\x74\x72\x69\x78\x28\x34\x38\x20\x30\x20\x30\x20\x34\x38\x20\x34\
+\x38\x20\x34\x38\x29\x27\x3e\x0a\x20\x20\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x30\x20\x30\x76\x32\x68\x2e\x35\x63\x30\x2d\x2e\
+\x35\x35\x2e\x34\x35\x2d\x31\x20\x31\x2d\x31\x68\x31\x2e\x35\x76\
+\x35\x2e\x35\x63\x30\x20\x2e\x32\x38\x2d\x2e\x32\x32\x2e\x35\x2d\
+\x2e\x35\x2e\x35\x68\x2d\x2e\x35\x76\x31\x68\x34\x76\x2d\x31\x68\
+\x2d\x2e\x35\x63\x2d\x2e\x32\x38\x20\x30\x2d\x2e\x35\x2d\x2e\x32\
+\x32\x2d\x2e\x35\x2d\x2e\x35\x76\x2d\x35\x2e\x35\x68\x31\x2e\x35\
+\x63\x2e\x35\x35\x20\x30\x20\x31\x20\x2e\x34\x35\x20\x31\x20\x31\
+\x68\x2e\x35\x76\x2d\x32\x68\x2d\x38\x7a\x22\x20\x2f\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xdc\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\
+\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\
+\x32\x38\x63\x2d\x38\x31\x2e\x39\x2c\x30\x2d\x31\x34\x35\x2e\x37\
+\x2c\x34\x38\x2e\x38\x2d\x32\x32\x34\x2c\x31\x32\x38\x63\x36\x37\
+\x2e\x34\x2c\x36\x37\x2e\x37\x2c\x31\x32\x34\x2c\x31\x32\x38\x2c\
+\x32\x32\x34\x2c\x31\x32\x38\x63\x39\x39\x2e\x39\x2c\x30\x2c\x31\
+\x37\x33\x2e\x34\x2d\x37\x36\x2e\x34\x2c\x32\x32\x34\x2d\x31\x32\
+\x36\x2e\x36\x0a\x09\x09\x43\x34\x32\x38\x2e\x32\x2c\x31\x39\x38\
+\x2e\x36\x2c\x33\x35\x34\x2e\x38\x2c\x31\x32\x38\x2c\x32\x35\x36\
+\x2c\x31\x32\x38\x7a\x20\x4d\x32\x35\x36\x2c\x33\x34\x37\x2e\x33\
+\x63\x2d\x34\x39\x2e\x34\x2c\x30\x2d\x38\x39\x2e\x36\x2d\x34\x31\
+\x2d\x38\x39\x2e\x36\x2d\x39\x31\x2e\x33\x63\x30\x2d\x35\x30\x2e\
+\x34\x2c\x34\x30\x2e\x32\x2d\x39\x31\x2e\x33\x2c\x38\x39\x2e\x36\
+\x2d\x39\x31\x2e\x33\x73\x38\x39\x2e\x36\x2c\x34\x31\x2c\x38\x39\
+\x2e\x36\x2c\x39\x31\x2e\x33\x0a\x09\x09\x43\x33\x34\x35\x2e\x36\
+\x2c\x33\x30\x36\x2e\x34\x2c\x33\x30\x35\x2e\x34\x2c\x33\x34\x37\
+\x2e\x33\x2c\x32\x35\x36\x2c\x33\x34\x37\x2e\x33\x7a\x22\x2f\x3e\
+\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x22\x4d\x32\x35\x36\x2c\x32\x32\x34\x63\x30\x2d\x37\x2e\x39\x2c\
+\x32\x2e\x39\x2d\x31\x35\x2e\x31\x2c\x37\x2e\x36\x2d\x32\x30\x2e\
+\x37\x63\x2d\x32\x2e\x35\x2d\x30\x2e\x34\x2d\x35\x2d\x30\x2e\x36\
+\x2d\x37\x2e\x36\x2d\x30\x2e\x36\x63\x2d\x32\x38\x2e\x38\x2c\x30\
+\x2d\x35\x32\x2e\x33\x2c\x32\x33\x2e\x39\x2d\x35\x32\x2e\x33\x2c\
+\x35\x33\x2e\x33\x63\x30\x2c\x32\x39\x2e\x34\x2c\x32\x33\x2e\x35\
+\x2c\x35\x33\x2e\x33\x2c\x35\x32\x2e\x33\x2c\x35\x33\x2e\x33\x0a\
+\x09\x09\x09\x73\x35\x32\x2e\x33\x2d\x32\x33\x2e\x39\x2c\x35\x32\
+\x2e\x33\x2d\x35\x33\x2e\x33\x63\x30\x2d\x32\x2e\x33\x2d\x30\x2e\
+\x32\x2d\x34\x2e\x36\x2d\x30\x2e\x34\x2d\x36\x2e\x39\x63\x2d\x35\
+\x2e\x35\x2c\x34\x2e\x33\x2d\x31\x32\x2e\x33\x2c\x36\x2e\x39\x2d\
+\x31\x39\x2e\x38\x2c\x36\x2e\x39\x43\x32\x37\x30\x2e\x33\x2c\x32\
+\x35\x36\x2c\x32\x35\x36\x2c\x32\x34\x31\x2e\x37\x2c\x32\x35\x36\
+\x2c\x32\x32\x34\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x3f\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x32\x31\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\x35\x32\x63\
+\x2d\x35\x37\x2e\x32\x2c\x30\x2d\x31\x30\x34\x2c\x34\x36\x2e\x38\
+\x2d\x31\x30\x34\x2c\x31\x30\x34\x73\x34\x36\x2e\x38\x2c\x31\x30\
+\x34\x2c\x31\x30\x34\x2c\x31\x30\x34\x73\x31\x30\x34\x2d\x34\x36\
+\x2e\x38\x2c\x31\x30\x34\x2d\x31\x30\x34\x53\x33\x31\x33\x2e\x32\
+\x2c\x31\x35\x32\x2c\x32\x35\x36\x2c\x31\x35\x32\x7a\x20\x4d\x32\
+\x35\x36\x2c\x34\x38\x0a\x09\x09\x09\x43\x31\x34\x31\x2e\x36\x30\
+\x31\x2c\x34\x38\x2c\x34\x38\x2c\x31\x34\x31\x2e\x36\x30\x31\x2c\
+\x34\x38\x2c\x32\x35\x36\x73\x39\x33\x2e\x36\x30\x31\x2c\x32\x30\
+\x38\x2c\x32\x30\x38\x2c\x32\x30\x38\x73\x32\x30\x38\x2d\x39\x33\
+\x2e\x36\x30\x31\x2c\x32\x30\x38\x2d\x32\x30\x38\x53\x33\x37\x30\
+\x2e\x33\x39\x39\x2c\x34\x38\x2c\x32\x35\x36\x2c\x34\x38\x7a\x20\
+\x4d\x32\x35\x36\x2c\x34\x32\x32\x2e\x34\x0a\x09\x09\x09\x63\x2d\
+\x39\x31\x2e\x35\x31\x38\x2c\x30\x2d\x31\x36\x36\x2e\x34\x2d\x37\
+\x34\x2e\x38\x38\x33\x2d\x31\x36\x36\x2e\x34\x2d\x31\x36\x36\x2e\
+\x34\x53\x31\x36\x34\x2e\x34\x38\x32\x2c\x38\x39\x2e\x36\x2c\x32\
+\x35\x36\x2c\x38\x39\x2e\x36\x53\x34\x32\x32\x2e\x34\x2c\x31\x36\
+\x34\x2e\x34\x38\x32\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\x36\x53\
+\x33\x34\x37\x2e\x35\x31\x38\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\
+\x36\x2c\x34\x32\x32\x2e\x34\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x01\x69\
+\x3c\
+\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\x32\
+\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\
+\x20\x35\x31\x32\x20\x35\x31\x32\x22\x3e\x3c\x67\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\
+\x34\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x3c\
+\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x2e\x33\x34\x20\x31\x35\
+\x2e\x36\x36\x41\x37\x2e\x39\x37\x20\x37\x2e\x39\x37\x20\x30\x20\
+\x30\x20\x30\x20\x39\x20\x31\x37\x2e\x39\x34\x56\x31\x30\x48\x35\
+\x56\x38\x68\x34\x56\x35\x2e\x38\x33\x61\x33\x20\x33\x20\x30\x20\
+\x31\x20\x31\x20\x32\x20\x30\x56\x38\x68\x34\x76\x32\x68\x2d\x34\
+\x76\x37\x2e\x39\x34\x61\x37\x2e\x39\x37\x20\x37\x2e\x39\x37\x20\
+\x30\x20\x30\x20\x30\x20\x34\x2e\x36\x36\x2d\x32\x2e\x32\x38\x6c\
+\x2d\x31\x2e\x34\x32\x2d\x31\x2e\x34\x32\x68\x35\x2e\x36\x36\x6c\
+\x2d\x32\x2e\x38\x33\x20\x32\x2e\x38\x33\x61\x31\x30\x20\x31\x30\
+\x20\x30\x20\x30\x20\x31\x2d\x31\x34\x2e\x31\x34\x20\x30\x4c\x2e\
+\x31\x20\x31\x34\x2e\x32\x34\x68\x35\x2e\x36\x36\x6c\x2d\x31\x2e\
+\x34\x32\x20\x31\x2e\x34\x32\x7a\x4d\x31\x30\x20\x34\x61\x31\x20\
+\x31\x20\x30\x20\x31\x20\x30\x20\x30\x2d\x32\x20\x31\x20\x31\x20\
+\x30\x20\x30\x20\x30\x20\x30\x20\x32\x7a\x22\x2f\x3e\x3c\x2f\x67\
+\x3e\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xb7\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4d\
+\x61\x67\x6e\x69\x66\x79\x69\x6e\x67\x5f\x67\x6c\x61\x73\x73\x22\
+\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\
+\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\
+\x3d\x22\x30\x70\x78\x22\x0a\x09\x20\x79\x3d\x22\x30\x70\x78\x22\
+\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x35\x31\
+\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\
+\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\x77\x20\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\x6d\x6c\x3a\x73\
+\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
+\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\
+\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\x30\x20\x32\x34\x20\
+\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\
+\x4d\x31\x37\x2e\x35\x34\x35\x2c\x31\x35\x2e\x34\x36\x37\x6c\x2d\
+\x33\x2e\x37\x37\x39\x2d\x33\x2e\x37\x37\x39\x63\x30\x2e\x35\x37\
+\x2d\x30\x2e\x39\x33\x35\x2c\x30\x2e\x38\x39\x38\x2d\x32\x2e\x30\
+\x33\x35\x2c\x30\x2e\x38\x39\x38\x2d\x33\x2e\x32\x31\x63\x30\x2d\
+\x33\x2e\x34\x31\x37\x2d\x32\x2e\x39\x36\x31\x2d\x36\x2e\x33\x37\
+\x37\x2d\x36\x2e\x33\x37\x38\x2d\x36\x2e\x33\x37\x37\x0a\x09\x43\
+\x34\x2e\x38\x36\x39\x2c\x32\x2e\x31\x2c\x32\x2e\x31\x2c\x34\x2e\
+\x38\x37\x2c\x32\x2e\x31\x2c\x38\x2e\x32\x38\x37\x63\x30\x2c\x33\
+\x2e\x34\x31\x36\x2c\x32\x2e\x39\x36\x31\x2c\x36\x2e\x33\x37\x37\
+\x2c\x36\x2e\x33\x37\x37\x2c\x36\x2e\x33\x37\x37\x63\x31\x2e\x31\
+\x33\x37\x2c\x30\x2c\x32\x2e\x32\x2d\x30\x2e\x33\x30\x39\x2c\x33\
+\x2e\x31\x31\x35\x2d\x30\x2e\x38\x34\x34\x6c\x33\x2e\x37\x39\x39\
+\x2c\x33\x2e\x38\x30\x31\x0a\x09\x63\x30\x2e\x33\x37\x32\x2c\x30\
+\x2e\x33\x37\x31\x2c\x30\x2e\x39\x37\x35\x2c\x30\x2e\x33\x37\x31\
+\x2c\x31\x2e\x33\x34\x36\x2c\x30\x6c\x30\x2e\x39\x34\x33\x2d\x30\
+\x2e\x39\x34\x33\x43\x31\x38\x2e\x30\x35\x31\x2c\x31\x36\x2e\x33\
+\x30\x37\x2c\x31\x37\x2e\x39\x31\x36\x2c\x31\x35\x2e\x38\x33\x38\
+\x2c\x31\x37\x2e\x35\x34\x35\x2c\x31\x35\x2e\x34\x36\x37\x7a\x20\
+\x4d\x34\x2e\x30\x30\x34\x2c\x38\x2e\x32\x38\x37\x0a\x09\x63\x30\
+\x2d\x32\x2e\x33\x36\x36\x2c\x31\x2e\x39\x31\x37\x2d\x34\x2e\x32\
+\x38\x33\x2c\x34\x2e\x32\x38\x32\x2d\x34\x2e\x32\x38\x33\x63\x32\
+\x2e\x33\x36\x36\x2c\x30\x2c\x34\x2e\x34\x37\x34\x2c\x32\x2e\x31\
+\x30\x37\x2c\x34\x2e\x34\x37\x34\x2c\x34\x2e\x34\x37\x34\x63\x30\
+\x2c\x32\x2e\x33\x36\x35\x2d\x31\x2e\x39\x31\x38\x2c\x34\x2e\x32\
+\x38\x33\x2d\x34\x2e\x32\x38\x33\x2c\x34\x2e\x32\x38\x33\x0a\x09\
+\x43\x36\x2e\x31\x31\x31\x2c\x31\x32\x2e\x37\x36\x2c\x34\x2e\x30\
+\x30\x34\x2c\x31\x30\x2e\x36\x35\x32\x2c\x34\x2e\x30\x30\x34\x2c\
+\x38\x2e\x32\x38\x37\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x00\x6c\
+\x3c\
+\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\
+\x30\x20\x30\x20\x32\x30\x20\x32\x30\x22\x3e\x3c\x70\x61\x74\x68\
+\x20\x64\x3d\x22\x4d\x31\x38\x20\x31\x32\x76\x31\x48\x38\x76\x35\
+\x6c\x2d\x36\x2d\x36\x20\x36\x2d\x36\x76\x35\x68\x38\x56\x32\x68\
+\x32\x7a\x22\x2f\x3e\x3c\x2f\x73\x76\x67\x3e\
+\x00\x00\x02\xee\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\
+\x68\x20\x64\x3d\x22\x4d\x34\x31\x37\x2e\x34\x2c\x32\x32\x34\x48\
+\x32\x38\x38\x56\x39\x34\x2e\x36\x63\x30\x2d\x31\x36\x2e\x39\x2d\
+\x31\x34\x2e\x33\x2d\x33\x30\x2e\x36\x2d\x33\x32\x2d\x33\x30\x2e\
+\x36\x63\x2d\x31\x37\x2e\x37\x2c\x30\x2d\x33\x32\x2c\x31\x33\x2e\
+\x37\x2d\x33\x32\x2c\x33\x30\x2e\x36\x56\x32\x32\x34\x48\x39\x34\
+\x2e\x36\x43\x37\x37\x2e\x37\x2c\x32\x32\x34\x2c\x36\x34\x2c\x32\
+\x33\x38\x2e\x33\x2c\x36\x34\x2c\x32\x35\x36\x0a\x09\x63\x30\x2c\
+\x31\x37\x2e\x37\x2c\x31\x33\x2e\x37\x2c\x33\x32\x2c\x33\x30\x2e\
+\x36\x2c\x33\x32\x48\x32\x32\x34\x76\x31\x32\x39\x2e\x34\x63\x30\
+\x2c\x31\x36\x2e\x39\x2c\x31\x34\x2e\x33\x2c\x33\x30\x2e\x36\x2c\
+\x33\x32\x2c\x33\x30\x2e\x36\x63\x31\x37\x2e\x37\x2c\x30\x2c\x33\
+\x32\x2d\x31\x33\x2e\x37\x2c\x33\x32\x2d\x33\x30\x2e\x36\x56\x32\
+\x38\x38\x68\x31\x32\x39\x2e\x34\x63\x31\x36\x2e\x39\x2c\x30\x2c\
+\x33\x30\x2e\x36\x2d\x31\x34\x2e\x33\x2c\x33\x30\x2e\x36\x2d\x33\
+\x32\x0a\x09\x43\x34\x34\x38\x2c\x32\x33\x38\x2e\x33\x2c\x34\x33\
+\x34\x2e\x33\x2c\x32\x32\x34\x2c\x34\x31\x37\x2e\x34\x2c\x32\x32\
+\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x05\x16\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x31\x32\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x36\x34\x43\x31\
+\x35\x30\x2e\x34\x30\x31\x2c\x36\x34\x2c\x36\x34\x2c\x31\x35\x30\
+\x2e\x34\x30\x31\x2c\x36\x34\x2c\x32\x35\x36\x63\x30\x2c\x31\x30\
+\x35\x2e\x36\x30\x34\x2c\x38\x36\x2e\x34\x30\x31\x2c\x31\x39\x32\
+\x2c\x31\x39\x32\x2c\x31\x39\x32\x63\x31\x38\x2e\x31\x33\x36\x2c\
+\x30\x2c\x33\x32\x2d\x31\x33\x2e\x38\x36\x34\x2c\x33\x32\x2d\x33\
+\x32\x0a\x09\x09\x09\x63\x30\x2d\x38\x2e\x35\x33\x31\x2d\x33\x2e\
+\x31\x39\x38\x2d\x31\x36\x2d\x38\x2e\x35\x33\x31\x2d\x32\x31\x2e\
+\x33\x33\x33\x63\x2d\x35\x2e\x33\x33\x33\x2d\x35\x2e\x33\x33\x34\
+\x2d\x38\x2e\x35\x33\x31\x2d\x31\x32\x2e\x38\x30\x33\x2d\x38\x2e\
+\x35\x33\x31\x2d\x32\x31\x2e\x33\x33\x34\x63\x30\x2d\x31\x38\x2e\
+\x31\x33\x35\x2c\x31\x33\x2e\x38\x36\x34\x2d\x33\x32\x2c\x33\x32\
+\x2d\x33\x32\x68\x33\x38\x2e\x33\x39\x36\x0a\x09\x09\x09\x63\x35\
+\x38\x2e\x36\x36\x37\x2c\x30\x2c\x31\x30\x36\x2e\x36\x36\x37\x2d\
+\x34\x38\x2c\x31\x30\x36\x2e\x36\x36\x37\x2d\x31\x30\x36\x2e\x36\
+\x36\x36\x43\x34\x34\x38\x2c\x31\x34\x30\x2e\x38\x30\x32\x2c\x33\
+\x36\x31\x2e\x36\x30\x34\x2c\x36\x34\x2c\x32\x35\x36\x2c\x36\x34\
+\x7a\x20\x4d\x31\x33\x38\x2e\x36\x36\x37\x2c\x32\x35\x36\x63\x2d\
+\x31\x38\x2e\x31\x33\x36\x2c\x30\x2d\x33\x32\x2d\x31\x33\x2e\x38\
+\x36\x34\x2d\x33\x32\x2d\x33\x32\x73\x31\x33\x2e\x38\x36\x34\x2d\
+\x33\x32\x2c\x33\x32\x2d\x33\x32\x0a\x09\x09\x09\x63\x31\x38\x2e\
+\x31\x33\x35\x2c\x30\x2c\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\x2c\
+\x33\x32\x2c\x33\x32\x53\x31\x35\x36\x2e\x38\x30\x32\x2c\x32\x35\
+\x36\x2c\x31\x33\x38\x2e\x36\x36\x37\x2c\x32\x35\x36\x7a\x20\x4d\
+\x32\x30\x32\x2e\x36\x36\x37\x2c\x31\x37\x30\x2e\x36\x36\x37\x63\
+\x2d\x31\x38\x2e\x31\x33\x36\x2c\x30\x2d\x33\x32\x2d\x31\x33\x2e\
+\x38\x36\x35\x2d\x33\x32\x2d\x33\x32\x63\x30\x2d\x31\x38\x2e\x31\
+\x33\x36\x2c\x31\x33\x2e\x38\x36\x34\x2d\x33\x32\x2c\x33\x32\x2d\
+\x33\x32\x0a\x09\x09\x09\x63\x31\x38\x2e\x31\x33\x35\x2c\x30\x2c\
+\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\x2c\x33\x32\x2c\x33\x32\x43\
+\x32\x33\x34\x2e\x36\x36\x37\x2c\x31\x35\x36\x2e\x38\x30\x32\x2c\
+\x32\x32\x30\x2e\x38\x30\x32\x2c\x31\x37\x30\x2e\x36\x36\x37\x2c\
+\x32\x30\x32\x2e\x36\x36\x37\x2c\x31\x37\x30\x2e\x36\x36\x37\x7a\
+\x20\x4d\x33\x30\x39\x2e\x33\x33\x33\x2c\x31\x37\x30\x2e\x36\x36\
+\x37\x63\x2d\x31\x38\x2e\x31\x33\x35\x2c\x30\x2d\x33\x32\x2d\x31\
+\x33\x2e\x38\x36\x35\x2d\x33\x32\x2d\x33\x32\x0a\x09\x09\x09\x63\
+\x30\x2d\x31\x38\x2e\x31\x33\x36\x2c\x31\x33\x2e\x38\x36\x35\x2d\
+\x33\x32\x2c\x33\x32\x2d\x33\x32\x63\x31\x38\x2e\x31\x33\x36\x2c\
+\x30\x2c\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\x2c\x33\x32\x2c\x33\
+\x32\x43\x33\x34\x31\x2e\x33\x33\x33\x2c\x31\x35\x36\x2e\x38\x30\
+\x32\x2c\x33\x32\x37\x2e\x34\x36\x39\x2c\x31\x37\x30\x2e\x36\x36\
+\x37\x2c\x33\x30\x39\x2e\x33\x33\x33\x2c\x31\x37\x30\x2e\x36\x36\
+\x37\x7a\x20\x4d\x33\x37\x33\x2e\x33\x33\x33\x2c\x32\x35\x36\x0a\
+\x09\x09\x09\x63\x2d\x31\x38\x2e\x31\x33\x35\x2c\x30\x2d\x33\x32\
+\x2d\x31\x33\x2e\x38\x36\x34\x2d\x33\x32\x2d\x33\x32\x73\x31\x33\
+\x2e\x38\x36\x35\x2d\x33\x32\x2c\x33\x32\x2d\x33\x32\x63\x31\x38\
+\x2e\x31\x33\x36\x2c\x30\x2c\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\
+\x2c\x33\x32\x2c\x33\x32\x53\x33\x39\x31\x2e\x34\x36\x39\x2c\x32\
+\x35\x36\x2c\x33\x37\x33\x2e\x33\x33\x33\x2c\x32\x35\x36\x7a\x22\
+\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
+\x73\x76\x67\x3e\x0a\
+"
+
+qt_resource_name = b"\
+\x00\x05\
+\x00\x6f\xa6\x53\
+\x00\x69\
+\x00\x63\x00\x6f\x00\x6e\x00\x73\
+\x00\x11\
+\x01\x60\xbc\x47\
+\x00\x73\
+\x00\x6f\x00\x63\x00\x69\x00\x61\x00\x6c\x00\x2d\x00\x70\x00\x79\x00\x74\x00\x68\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\
+\x00\x0a\
+\x01\xca\x6d\x87\
+\x00\x62\
+\x00\x75\x00\x63\x00\x6b\x00\x65\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x16\
+\x01\xfb\x76\x27\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x62\x00\x61\x00\x63\
+\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x13\
+\x03\x24\x75\x47\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x65\x00\x66\x00\x72\x00\x65\x00\x73\x00\x68\x00\x2e\x00\x73\
+\x00\x76\x00\x67\
+\x00\x1c\
+\x04\x66\xe1\x67\
+\x00\x63\
+\x00\x68\x00\x65\x00\x76\x00\x72\x00\x6f\x00\x6e\x00\x2d\x00\x77\x00\x69\x00\x74\x00\x68\x00\x2d\x00\x63\x00\x69\x00\x72\x00\x63\
+\x00\x6c\x00\x65\x00\x2d\x00\x6c\x00\x65\x00\x66\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x10\
+\x04\xa9\x22\xc7\
+\x00\x66\
+\x00\x69\x00\x6c\x00\x6c\x00\x65\x00\x64\x00\x62\x00\x75\x00\x63\x00\x6b\x00\x65\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x12\
+\x04\xb2\x21\x47\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x65\x00\x78\x00\x70\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\
+\x00\x67\
+\x00\x08\
+\x04\xb2\x55\x47\
+\x00\x75\
+\x00\x6e\x00\x64\x00\x6f\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0f\
+\x04\xf2\xa7\x87\
+\x00\x63\
+\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x63\x00\x75\x00\x72\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0d\
+\x05\x20\xce\x87\
+\x00\x6f\
+\x00\x70\x00\x65\x00\x6e\x00\x63\x00\x75\x00\x72\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x05\xa8\x57\x87\
+\x00\x63\
+\x00\x6f\x00\x64\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0e\
+\x05\xed\x38\x67\
+\x00\x61\
+\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x6d\x00\x6f\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x17\
+\x06\xc6\x02\xa7\
+\x00\x74\
+\x00\x72\x00\x69\x00\x61\x00\x6e\x00\x67\x00\x6c\x00\x65\x00\x2d\x00\x73\x00\x74\x00\x72\x00\x6f\x00\x6b\x00\x65\x00\x64\x00\x2d\
+\x00\x31\x00\x35\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x10\
+\x06\xe3\xaf\xe7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x68\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x1d\
+\x06\xec\xf4\xc7\
+\x00\x63\
+\x00\x68\x00\x65\x00\x76\x00\x72\x00\x6f\x00\x6e\x00\x2d\x00\x77\x00\x69\x00\x74\x00\x68\x00\x2d\x00\x63\x00\x69\x00\x72\x00\x63\
+\x00\x6c\x00\x65\x00\x2d\x00\x72\x00\x69\x00\x67\x00\x68\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0f\
+\x07\x0e\xc4\x87\
+\x00\x6f\
+\x00\x70\x00\x65\x00\x6e\x00\x70\x00\x6f\x00\x6c\x00\x79\x00\x67\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x17\
+\x07\x87\x48\x27\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x66\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x6f\x00\x70\
+\x00\x65\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x12\
+\x08\x55\xef\xc7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x64\x00\x65\x00\x6c\x00\x65\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\
+\x00\x67\
+\x00\x12\
+\x08\x79\x97\xe7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x61\x00\x6d\x00\x65\x00\x72\x00\x61\x00\x2e\x00\x73\x00\x76\
+\x00\x67\
+\x00\x10\
+\x08\x89\xfa\x47\
+\x00\x63\
+\x00\x65\x00\x6e\x00\x74\x00\x65\x00\x72\x00\x6f\x00\x72\x00\x69\x00\x67\x00\x69\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x1c\
+\x08\x8a\x79\x07\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x61\x00\x64\x00\x69\x00\x6f\x00\x2d\x00\x62\x00\x75\x00\x74\
+\x00\x74\x00\x6f\x00\x6e\x00\x2d\x00\x6f\x00\x66\x00\x66\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x08\xc8\x55\xe7\
+\x00\x73\
+\x00\x61\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x10\
+\x08\xe4\xaf\x47\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x64\x00\x6f\x00\x6e\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x08\xf7\x57\x07\
+\x00\x67\
+\x00\x72\x00\x69\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0f\
+\x09\x76\x60\xc7\
+\x00\x63\
+\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x2d\x00\x72\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0a\
+\x0a\x2d\x1b\xc7\
+\x00\x63\
+\x00\x69\x00\x72\x00\x63\x00\x6c\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x19\
+\x0a\x43\x45\xc7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x66\x00\x6f\x00\x72\
+\x00\x77\x00\x61\x00\x72\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0a\
+\x0a\xc8\x62\x67\
+\x00\x63\
+\x00\x65\x00\x6e\x00\x74\x00\x65\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x0b\x07\x57\xa7\
+\x00\x65\
+\x00\x64\x00\x69\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x09\
+\x0b\x9e\x89\x07\
+\x00\x63\
+\x00\x68\x00\x65\x00\x63\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x0b\xb2\x55\xc7\
+\x00\x72\
+\x00\x65\x00\x64\x00\x6f\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x10\
+\x0c\x57\x65\x47\
+\x00\x61\
+\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x72\x00\x65\x00\x73\x00\x69\x00\x7a\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x12\
+\x0c\x5e\xd4\xa7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x6c\x00\x6f\x00\x63\x00\x61\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\
+\x00\x67\
+\x00\x09\
+\x0c\x9b\x89\xe7\
+\x00\x62\
+\x00\x72\x00\x75\x00\x73\x00\x68\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x11\
+\x0c\xa7\xc7\x47\
+\x00\x63\
+\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x70\x00\x6f\x00\x6c\x00\x79\x00\x67\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\
+\x00\x11\
+\x0c\xdb\x38\xe7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\
+\x00\x08\
+\x0c\xf7\x55\x87\
+\x00\x74\
+\x00\x65\x00\x78\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x07\
+\x0c\xf8\x5a\x07\
+\x00\x65\
+\x00\x79\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x1b\
+\x0e\xb5\x68\xe7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x61\x00\x64\x00\x69\x00\x6f\x00\x2d\x00\x62\x00\x75\x00\x74\
+\x00\x74\x00\x6f\x00\x6e\x00\x2d\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0a\
+\x0f\x68\x53\xe7\
+\x00\x61\
+\x00\x6e\x00\x63\x00\x68\x00\x6f\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x14\
+\x0f\xa5\xe0\xc7\
+\x00\x6d\
+\x00\x61\x00\x67\x00\x6e\x00\x69\x00\x66\x00\x79\x00\x69\x00\x6e\x00\x67\x00\x2d\x00\x67\x00\x6c\x00\x61\x00\x73\x00\x73\x00\x2e\
+\x00\x73\x00\x76\x00\x67\
+\x00\x15\
+\x0f\xc4\x59\xe7\
+\x00\x73\
+\x00\x75\x00\x62\x00\x64\x00\x69\x00\x72\x00\x65\x00\x63\x00\x74\x00\x6f\x00\x72\x00\x79\x00\x2d\x00\x6c\x00\x65\x00\x66\x00\x74\
+\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0e\
+\x0f\xcb\xd5\xc7\
+\x00\x70\
+\x00\x6c\x00\x75\x00\x73\x00\x2d\x00\x72\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x19\
+\x0f\xef\x7b\xe7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x6f\x00\x6c\x00\x6f\x00\x72\x00\x2d\x00\x70\x00\x61\x00\x6c\
+\x00\x65\x00\x74\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+"
+
+qt_resource_struct_v1 = b"\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x2c\x00\x00\x00\x02\
+\x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
+\x00\x00\x00\x38\x00\x00\x00\x00\x00\x01\x00\x00\x07\x6f\
+\x00\x00\x00\x52\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x0f\
+\x00\x00\x00\x84\x00\x00\x00\x00\x00\x01\x00\x00\x0f\x85\
+\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x12\xa4\
+\x00\x00\x00\xee\x00\x01\x00\x00\x00\x01\x00\x00\x16\x90\
+\x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x00\x18\xb3\
+\x00\x00\x01\x3e\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xe1\
+\x00\x00\x01\x54\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xfc\
+\x00\x00\x01\x78\x00\x00\x00\x00\x00\x01\x00\x00\x24\xa3\
+\x00\x00\x01\x98\x00\x00\x00\x00\x00\x01\x00\x00\x29\x1a\
+\x00\x00\x01\xae\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xba\
+\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x30\x7f\
+\x00\x00\x02\x04\x00\x00\x00\x00\x00\x01\x00\x00\x35\x4d\
+\x00\x00\x02\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x3b\x0c\
+\x00\x00\x02\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x3e\xe9\
+\x00\x00\x02\x8e\x00\x00\x00\x00\x00\x01\x00\x00\x43\x00\
+\x00\x00\x02\xc2\x00\x00\x00\x00\x00\x01\x00\x00\x46\x4c\
+\x00\x00\x02\xec\x00\x00\x00\x00\x00\x01\x00\x00\x48\xe8\
+\x00\x00\x03\x16\x00\x00\x00\x00\x00\x01\x00\x00\x4c\x02\
+\x00\x00\x03\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x50\x04\
+\x00\x00\x03\x7a\x00\x00\x00\x00\x00\x01\x00\x00\x52\xf8\
+\x00\x00\x03\x90\x00\x00\x00\x00\x00\x01\x00\x00\x55\x93\
+\x00\x00\x03\xb6\x00\x01\x00\x00\x00\x01\x00\x00\x58\x03\
+\x00\x00\x03\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x59\xe4\
+\x00\x00\x03\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x25\
+\x00\x00\x04\x0a\x00\x00\x00\x00\x00\x01\x00\x00\x60\x10\
+\x00\x00\x04\x42\x00\x00\x00\x00\x00\x01\x00\x00\x62\x86\
+\x00\x00\x04\x5c\x00\x00\x00\x00\x00\x01\x00\x00\x65\xe4\
+\x00\x00\x04\x72\x00\x00\x00\x00\x00\x01\x00\x00\x69\x47\
+\x00\x00\x04\x8a\x00\x00\x00\x00\x00\x01\x00\x00\x6c\x4e\
+\x00\x00\x04\xa0\x00\x00\x00\x00\x00\x01\x00\x00\x70\x94\
+\x00\x00\x04\xc6\x00\x00\x00\x00\x00\x01\x00\x00\x73\x0f\
+\x00\x00\x04\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x77\x67\
+\x00\x00\x05\x08\x00\x00\x00\x00\x00\x01\x00\x00\x7b\x45\
+\x00\x00\x05\x30\x00\x00\x00\x00\x00\x01\x00\x00\x7f\x6b\
+\x00\x00\x05\x58\x00\x00\x00\x00\x00\x01\x00\x00\x82\x1a\
+\x00\x00\x05\x6e\x00\x00\x00\x00\x00\x01\x00\x00\x83\x3a\
+\x00\x00\x05\x82\x00\x00\x00\x00\x00\x01\x00\x00\x87\x1a\
+\x00\x00\x05\xbe\x00\x00\x00\x00\x00\x01\x00\x00\x8a\x5d\
+\x00\x00\x05\xd8\x00\x00\x00\x00\x00\x01\x00\x00\x8b\xca\
+\x00\x00\x06\x06\x00\x00\x00\x00\x00\x01\x00\x00\x8f\x85\
+\x00\x00\x06\x36\x00\x00\x00\x00\x00\x01\x00\x00\x8f\xf5\
+\x00\x00\x06\x58\x00\x00\x00\x00\x00\x01\x00\x00\x92\xe7\
+"
+
+qt_resource_struct_v2 = b"\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
+\x00\x00\x00\x00\x00\x00\x00\x00\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x2c\x00\x00\x00\x02\
+\x00\x00\x00\x00\x00\x00\x00\x00\
+\x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
+\x00\x00\x01\x94\xec\x03\xf6\x15\
+\x00\x00\x00\x38\x00\x00\x00\x00\x00\x01\x00\x00\x07\x6f\
+\x00\x00\x01\x94\xec\x03\xf6\x13\
+\x00\x00\x00\x52\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x0f\
+\x00\x00\x01\x94\xec\x03\xf6\x11\
+\x00\x00\x00\x84\x00\x00\x00\x00\x00\x01\x00\x00\x0f\x85\
+\x00\x00\x01\x94\xec\x03\xf6\x13\
+\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x12\xa4\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x00\xee\x00\x01\x00\x00\x00\x01\x00\x00\x16\x90\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x00\x18\xb3\
+\x00\x00\x01\x94\xec\x03\xf6\x12\
+\x00\x00\x01\x3e\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xe1\
+\x00\x00\x01\x94\xec\x03\xf6\x15\
+\x00\x00\x01\x54\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xfc\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x01\x78\x00\x00\x00\x00\x00\x01\x00\x00\x24\xa3\
+\x00\x00\x01\x94\xec\x03\xf6\x15\
+\x00\x00\x01\x98\x00\x00\x00\x00\x00\x01\x00\x00\x29\x1a\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x01\xae\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xba\
+\x00\x00\x01\x94\xec\x03\xf6\x13\
+\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x30\x7f\
+\x00\x00\x01\x94\xec\x03\xf6\x15\
+\x00\x00\x02\x04\x00\x00\x00\x00\x00\x01\x00\x00\x35\x4d\
+\x00\x00\x01\x94\xec\x03\xf6\x12\
+\x00\x00\x02\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x3b\x0c\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x02\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x3e\xe9\
+\x00\x00\x01\x94\xec\x03\xf6\x15\
+\x00\x00\x02\x8e\x00\x00\x00\x00\x00\x01\x00\x00\x43\x00\
+\x00\x00\x01\x94\xec\x03\xf6\x12\
+\x00\x00\x02\xc2\x00\x00\x00\x00\x00\x01\x00\x00\x46\x4c\
+\x00\x00\x01\x94\xec\x03\xf6\x12\
+\x00\x00\x02\xec\x00\x00\x00\x00\x00\x01\x00\x00\x48\xe8\
+\x00\x00\x01\x94\xec\x03\xf6\x12\
+\x00\x00\x03\x16\x00\x00\x00\x00\x00\x01\x00\x00\x4c\x02\
+\x00\x00\x01\x94\xec\x03\xf6\x13\
+\x00\x00\x03\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x50\x04\
+\x00\x00\x01\x94\xec\x03\xf6\x12\
+\x00\x00\x03\x7a\x00\x00\x00\x00\x00\x01\x00\x00\x52\xf8\
+\x00\x00\x01\x94\xec\x03\xf6\x15\
+\x00\x00\x03\x90\x00\x00\x00\x00\x00\x01\x00\x00\x55\x93\
+\x00\x00\x01\x94\xec\x03\xf6\x12\
+\x00\x00\x03\xb6\x00\x01\x00\x00\x00\x01\x00\x00\x58\x03\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x03\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x59\xe4\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x03\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x25\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x04\x0a\x00\x00\x00\x00\x00\x01\x00\x00\x60\x10\
+\x00\x00\x01\x94\xec\x03\xf6\x12\
+\x00\x00\x04\x42\x00\x00\x00\x00\x00\x01\x00\x00\x62\x86\
+\x00\x00\x01\x94\xec\x03\xf6\x13\
+\x00\x00\x04\x5c\x00\x00\x00\x00\x00\x01\x00\x00\x65\xe4\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x04\x72\x00\x00\x00\x00\x00\x01\x00\x00\x69\x47\
+\x00\x00\x01\x94\xec\x03\xf6\x13\
+\x00\x00\x04\x8a\x00\x00\x00\x00\x00\x01\x00\x00\x6c\x4e\
+\x00\x00\x01\x94\xec\x03\xf6\x15\
+\x00\x00\x04\xa0\x00\x00\x00\x00\x00\x01\x00\x00\x70\x94\
+\x00\x00\x01\x94\xec\x03\xf6\x13\
+\x00\x00\x04\xc6\x00\x00\x00\x00\x00\x01\x00\x00\x73\x0f\
+\x00\x00\x01\x94\xec\x03\xf6\x12\
+\x00\x00\x04\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x77\x67\
+\x00\x00\x01\x94\xec\x03\xf6\x13\
+\x00\x00\x05\x08\x00\x00\x00\x00\x00\x01\x00\x00\x7b\x45\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x05\x30\x00\x00\x00\x00\x00\x01\x00\x00\x7f\x6b\
+\x00\x00\x01\x94\xec\x03\xf6\x12\
+\x00\x00\x05\x58\x00\x00\x00\x00\x00\x01\x00\x00\x82\x1a\
+\x00\x00\x01\x94\xec\x03\xf6\x15\
+\x00\x00\x05\x6e\x00\x00\x00\x00\x00\x01\x00\x00\x83\x3a\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x05\x82\x00\x00\x00\x00\x00\x01\x00\x00\x87\x1a\
+\x00\x00\x01\x94\xec\x03\xf6\x13\
+\x00\x00\x05\xbe\x00\x00\x00\x00\x00\x01\x00\x00\x8a\x5d\
+\x00\x00\x01\x94\xec\x03\xf6\x11\
+\x00\x00\x05\xd8\x00\x00\x00\x00\x00\x01\x00\x00\x8b\xca\
+\x00\x00\x01\x94\xec\x03\xf6\x14\
+\x00\x00\x06\x06\x00\x00\x00\x00\x00\x01\x00\x00\x8f\x85\
+\x00\x00\x01\x94\xec\x03\xf6\x15\
+\x00\x00\x06\x36\x00\x00\x00\x00\x00\x01\x00\x00\x8f\xf5\
+\x00\x00\x01\x94\xec\x03\xf6\x15\
+\x00\x00\x06\x58\x00\x00\x00\x00\x00\x01\x00\x00\x92\xe7\
+\x00\x00\x01\x94\xec\x03\xf6\x12\
+"
+
+qt_version = [int(v) for v in QtCore.qVersion().split('.')]
+if qt_version < [5, 8, 0]:
+ rcc_version = 1
+ qt_resource_struct = qt_resource_struct_v1
+else:
+ rcc_version = 2
+ qt_resource_struct = qt_resource_struct_v2
+
+def qInitResources():
+ QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)
+
+def qCleanupResources():
+ QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)
+
+qInitResources()
Property changes on: trunk/Build/source/utils/asymptote/GUI/xasyicons/icons_rc.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/utils/asymptote/GUI/xasyqtui/custMatTransform.py
===================================================================
--- trunk/Build/source/utils/asymptote/GUI/xasyqtui/custMatTransform.py (rev 0)
+++ trunk/Build/source/utils/asymptote/GUI/xasyqtui/custMatTransform.py 2025-02-09 21:47:36 UTC (rev 73825)
@@ -0,0 +1,175 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'windows/custMatTransform.ui'
+#
+# Created by: PyQt5 UI code generator 5.15.10
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic5 is
+# run again. Do not edit this file unless you know what you are doing.
+
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName("Dialog")
+ Dialog.resize(500, 320)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth())
+ Dialog.setSizePolicy(sizePolicy)
+ Dialog.setMinimumSize(QtCore.QSize(500, 320))
+ Dialog.setMaximumSize(QtCore.QSize(500, 320))
+ Dialog.setMouseTracking(False)
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(":/icons/android-expand.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ Dialog.setWindowIcon(icon)
+ Dialog.setSizeGripEnabled(True)
+ Dialog.setModal(False)
+ self.centralFrame = QtWidgets.QFrame(Dialog)
+ self.centralFrame.setGeometry(QtCore.QRect(20, 20, 461, 271))
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.centralFrame.sizePolicy().hasHeightForWidth())
+ self.centralFrame.setSizePolicy(sizePolicy)
+ self.centralFrame.setBaseSize(QtCore.QSize(0, 0))
+ self.centralFrame.setObjectName("centralFrame")
+ self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.centralFrame)
+ self.verticalLayout_3.setSpacing(4)
+ self.verticalLayout_3.setObjectName("verticalLayout_3")
+ self.horizontalLayout = QtWidgets.QHBoxLayout()
+ self.horizontalLayout.setObjectName("horizontalLayout")
+ self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+ self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+ self.verticalLayout = QtWidgets.QVBoxLayout()
+ self.verticalLayout.setObjectName("verticalLayout")
+ self.label = QtWidgets.QLabel(self.centralFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+ self.label.setSizePolicy(sizePolicy)
+ self.label.setObjectName("label")
+ self.verticalLayout.addWidget(self.label)
+ self.gridFrame = QtWidgets.QFrame(self.centralFrame)
+ self.gridFrame.setFrameShape(QtWidgets.QFrame.Box)
+ self.gridFrame.setObjectName("gridFrame")
+ self.gridLayout = QtWidgets.QGridLayout(self.gridFrame)
+ self.gridLayout.setObjectName("gridLayout")
+ self.lineMat00 = QtWidgets.QLineEdit(self.gridFrame)
+ self.lineMat00.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.lineMat00.setObjectName("lineMat00")
+ self.gridLayout.addWidget(self.lineMat00, 1, 0, 1, 1)
+ self.lineMat11 = QtWidgets.QLineEdit(self.gridFrame)
+ self.lineMat11.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.lineMat11.setObjectName("lineMat11")
+ self.gridLayout.addWidget(self.lineMat11, 2, 1, 1, 1)
+ self.lineMat10 = QtWidgets.QLineEdit(self.gridFrame)
+ self.lineMat10.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.lineMat10.setObjectName("lineMat10")
+ self.gridLayout.addWidget(self.lineMat10, 2, 0, 1, 1)
+ self.lineMat01 = QtWidgets.QLineEdit(self.gridFrame)
+ self.lineMat01.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.lineMat01.setObjectName("lineMat01")
+ self.gridLayout.addWidget(self.lineMat01, 1, 1, 1, 1)
+ self.verticalLayout.addWidget(self.gridFrame)
+ self.horizontalLayout_3.addLayout(self.verticalLayout)
+ spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout_3.addItem(spacerItem)
+ self.verticalLayout_4 = QtWidgets.QVBoxLayout()
+ self.verticalLayout_4.setObjectName("verticalLayout_4")
+ self.label_3 = QtWidgets.QLabel(self.centralFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
+ self.label_3.setSizePolicy(sizePolicy)
+ self.label_3.setObjectName("label_3")
+ self.verticalLayout_4.addWidget(self.label_3)
+ self.gridFrame_2 = QtWidgets.QFrame(self.centralFrame)
+ self.gridFrame_2.setFrameShape(QtWidgets.QFrame.Box)
+ self.gridFrame_2.setObjectName("gridFrame_2")
+ self.gridLayout_2 = QtWidgets.QGridLayout(self.gridFrame_2)
+ self.gridLayout_2.setObjectName("gridLayout_2")
+ self.lineMatTy = QtWidgets.QLineEdit(self.gridFrame_2)
+ self.lineMatTy.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.lineMatTy.setObjectName("lineMatTy")
+ self.gridLayout_2.addWidget(self.lineMatTy, 2, 1, 1, 1)
+ self.lineMatTx = QtWidgets.QLineEdit(self.gridFrame_2)
+ self.lineMatTx.setMaximumSize(QtCore.QSize(70, 16777215))
+ self.lineMatTx.setObjectName("lineMatTx")
+ self.gridLayout_2.addWidget(self.lineMatTx, 1, 1, 1, 1)
+ self.verticalLayout_4.addWidget(self.gridFrame_2)
+ self.horizontalLayout_3.addLayout(self.verticalLayout_4)
+ self.horizontalLayout.addLayout(self.horizontalLayout_3)
+ spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem1)
+ self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+ self.verticalLayout_2.setObjectName("verticalLayout_2")
+ self.label_2 = QtWidgets.QLabel(self.centralFrame)
+ self.label_2.setObjectName("label_2")
+ self.verticalLayout_2.addWidget(self.label_2)
+ self.imgPreview = QtWidgets.QLabel(self.centralFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.imgPreview.sizePolicy().hasHeightForWidth())
+ self.imgPreview.setSizePolicy(sizePolicy)
+ self.imgPreview.setMinimumSize(QtCore.QSize(150, 150))
+ self.imgPreview.setBaseSize(QtCore.QSize(300, 300))
+ self.imgPreview.setFrameShape(QtWidgets.QFrame.Box)
+ self.imgPreview.setText("")
+ self.imgPreview.setObjectName("imgPreview")
+ self.verticalLayout_2.addWidget(self.imgPreview)
+ self.horizontalLayout.addLayout(self.verticalLayout_2)
+ self.verticalLayout_3.addLayout(self.horizontalLayout)
+ self.lblAnchor = QtWidgets.QLabel(self.centralFrame)
+ self.lblAnchor.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.lblAnchor.setObjectName("lblAnchor")
+ self.verticalLayout_3.addWidget(self.lblAnchor)
+ self.lblCoordsMode = QtWidgets.QLabel(self.centralFrame)
+ self.lblCoordsMode.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+ self.lblCoordsMode.setObjectName("lblCoordsMode")
+ self.verticalLayout_3.addWidget(self.lblCoordsMode)
+ spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+ self.verticalLayout_3.addItem(spacerItem2)
+ self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+ self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+ spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout_2.addItem(spacerItem3)
+ self.btnReset = QtWidgets.QPushButton(self.centralFrame)
+ self.btnReset.setObjectName("btnReset")
+ self.horizontalLayout_2.addWidget(self.btnReset)
+ self.btnCancel = QtWidgets.QPushButton(self.centralFrame)
+ self.btnCancel.setObjectName("btnCancel")
+ self.horizontalLayout_2.addWidget(self.btnCancel)
+ self.btnAccept = QtWidgets.QPushButton(self.centralFrame)
+ self.btnAccept.setObjectName("btnAccept")
+ self.horizontalLayout_2.addWidget(self.btnAccept)
+ self.verticalLayout_3.addLayout(self.horizontalLayout_2)
+
+ self.retranslateUi(Dialog)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ _translate = QtCore.QCoreApplication.translate
+ Dialog.setWindowTitle(_translate("Dialog", "Set Custom Transformation"))
+ self.label.setText(_translate("Dialog", "Transformation Matrix"))
+ self.lineMat00.setText(_translate("Dialog", "1"))
+ self.lineMat11.setText(_translate("Dialog", "1"))
+ self.lineMat10.setText(_translate("Dialog", "0"))
+ self.lineMat01.setText(_translate("Dialog", "0"))
+ self.label_3.setText(_translate("Dialog", "Translation"))
+ self.lineMatTy.setText(_translate("Dialog", "0"))
+ self.lineMatTx.setText(_translate("Dialog", "0"))
+ self.label_2.setText(_translate("Dialog", "Preview:"))
+ self.imgPreview.setToolTip(_translate("Dialog", "Shows a red square if transformation determinant is negative."))
+ self.lblAnchor.setText(_translate("Dialog", "Anchor: Top Left"))
+ self.lblCoordsMode.setText(_translate("Dialog", "Coordinates: Global"))
+ self.btnReset.setText(_translate("Dialog", "Reset"))
+ self.btnCancel.setText(_translate("Dialog", "Cancel"))
+ self.btnAccept.setText(_translate("Dialog", "Accept"))
+from xasyicons import icons_rc
Property changes on: trunk/Build/source/utils/asymptote/GUI/xasyqtui/custMatTransform.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/utils/asymptote/GUI/xasyqtui/labelTextEditor.py
===================================================================
--- trunk/Build/source/utils/asymptote/GUI/xasyqtui/labelTextEditor.py (rev 0)
+++ trunk/Build/source/utils/asymptote/GUI/xasyqtui/labelTextEditor.py 2025-02-09 21:47:36 UTC (rev 73825)
@@ -0,0 +1,121 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'windows/labelTextEditor.ui'
+#
+# Created by: PyQt5 UI code generator 5.15.10
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic5 is
+# run again. Do not edit this file unless you know what you are doing.
+
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName("Dialog")
+ Dialog.resize(473, 424)
+ self.verticalLayout = QtWidgets.QVBoxLayout(Dialog)
+ self.verticalLayout.setObjectName("verticalLayout")
+ self.frame = QtWidgets.QFrame(Dialog)
+ self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
+ self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
+ self.frame.setObjectName("frame")
+ self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.frame)
+ self.verticalLayout_3.setObjectName("verticalLayout_3")
+ self.gridLayout = QtWidgets.QGridLayout()
+ self.gridLayout.setContentsMargins(-1, 0, -1, -1)
+ self.gridLayout.setObjectName("gridLayout")
+ spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
+ self.chkMathMode = QtWidgets.QCheckBox(self.frame)
+ self.chkMathMode.setObjectName("chkMathMode")
+ self.gridLayout.addWidget(self.chkMathMode, 0, 0, 1, 1)
+ self.cmbMathStyle = QtWidgets.QComboBox(self.frame)
+ self.cmbMathStyle.setEnabled(False)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.cmbMathStyle.sizePolicy().hasHeightForWidth())
+ self.cmbMathStyle.setSizePolicy(sizePolicy)
+ self.cmbMathStyle.setMinimumSize(QtCore.QSize(100, 0))
+ self.cmbMathStyle.setObjectName("cmbMathStyle")
+ self.cmbMathStyle.addItem("")
+ self.cmbMathStyle.addItem("")
+ self.cmbMathStyle.addItem("")
+ self.gridLayout.addWidget(self.cmbMathStyle, 0, 1, 1, 1)
+ self.verticalLayout_3.addLayout(self.gridLayout)
+ self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+ self.verticalLayout_2.setObjectName("verticalLayout_2")
+ self.txtLabelEdit = QtWidgets.QPlainTextEdit(self.frame)
+ self.txtLabelEdit.setObjectName("txtLabelEdit")
+ self.verticalLayout_2.addWidget(self.txtLabelEdit)
+ self.verticalLayout_3.addLayout(self.verticalLayout_2)
+ self.verticalLayout_4 = QtWidgets.QVBoxLayout()
+ self.verticalLayout_4.setContentsMargins(-1, 0, -1, -1)
+ self.verticalLayout_4.setObjectName("verticalLayout_4")
+ self.label = QtWidgets.QLabel(self.frame)
+ self.label.setObjectName("label")
+ self.verticalLayout_4.addWidget(self.label)
+ self.lblLabelPreview = QtWidgets.QLabel(self.frame)
+ self.lblLabelPreview.setMinimumSize(QtCore.QSize(0, 100))
+ self.lblLabelPreview.setFrameShape(QtWidgets.QFrame.Box)
+ self.lblLabelPreview.setText("")
+ self.lblLabelPreview.setObjectName("lblLabelPreview")
+ self.verticalLayout_4.addWidget(self.lblLabelPreview)
+ self.verticalLayout_3.addLayout(self.verticalLayout_4)
+ self.horizontalLayout = QtWidgets.QHBoxLayout()
+ self.horizontalLayout.setObjectName("horizontalLayout")
+ spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem1)
+ self.btnGetText = QtWidgets.QPushButton(self.frame)
+ self.btnGetText.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnGetText.setText("")
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(":/icons/text.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnGetText.setIcon(icon)
+ self.btnGetText.setFlat(True)
+ self.btnGetText.setObjectName("btnGetText")
+ self.horizontalLayout.addWidget(self.btnGetText)
+ self.btnPreview = QtWidgets.QPushButton(self.frame)
+ self.btnPreview.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnPreview.setText("")
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(":/icons/eye.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnPreview.setIcon(icon1)
+ self.btnPreview.setFlat(True)
+ self.btnPreview.setObjectName("btnPreview")
+ self.horizontalLayout.addWidget(self.btnPreview)
+ self.btnCancel = QtWidgets.QPushButton(self.frame)
+ self.btnCancel.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnCancel.setText("")
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(":/icons/android-close.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnCancel.setIcon(icon2)
+ self.btnCancel.setFlat(True)
+ self.btnCancel.setObjectName("btnCancel")
+ self.horizontalLayout.addWidget(self.btnCancel)
+ self.btnAccept = QtWidgets.QPushButton(self.frame)
+ self.btnAccept.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnAccept.setText("")
+ icon3 = QtGui.QIcon()
+ icon3.addPixmap(QtGui.QPixmap(":/icons/android-done.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnAccept.setIcon(icon3)
+ self.btnAccept.setFlat(True)
+ self.btnAccept.setObjectName("btnAccept")
+ self.horizontalLayout.addWidget(self.btnAccept)
+ self.verticalLayout_3.addLayout(self.horizontalLayout)
+ self.verticalLayout.addWidget(self.frame)
+
+ self.retranslateUi(Dialog)
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ _translate = QtCore.QCoreApplication.translate
+ Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
+ self.chkMathMode.setText(_translate("Dialog", "Math Mode"))
+ self.cmbMathStyle.setItemText(0, _translate("Dialog", "Inline Style"))
+ self.cmbMathStyle.setItemText(1, _translate("Dialog", "Display Style"))
+ self.cmbMathStyle.setItemText(2, _translate("Dialog", "Script Style"))
+ self.label.setText(_translate("Dialog", "Preview"))
+from xasyicons import icons_rc
Property changes on: trunk/Build/source/utils/asymptote/GUI/xasyqtui/labelTextEditor.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/utils/asymptote/GUI/xasyqtui/setCustomAnchor.py
===================================================================
--- trunk/Build/source/utils/asymptote/GUI/xasyqtui/setCustomAnchor.py (rev 0)
+++ trunk/Build/source/utils/asymptote/GUI/xasyqtui/setCustomAnchor.py 2025-02-09 21:47:36 UTC (rev 73825)
@@ -0,0 +1,57 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'windows/setCustomAnchor.ui'
+#
+# Created by: PyQt5 UI code generator 5.15.10
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic5 is
+# run again. Do not edit this file unless you know what you are doing.
+
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+
+class Ui_Dialog(object):
+ def setupUi(self, Dialog):
+ Dialog.setObjectName("Dialog")
+ Dialog.resize(245, 161)
+ self.verticalLayoutWidget = QtWidgets.QWidget(Dialog)
+ self.verticalLayoutWidget.setGeometry(QtCore.QRect(20, 20, 201, 121))
+ self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
+ self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
+ self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+ self.verticalLayout.setObjectName("verticalLayout")
+ self.formLayout = QtWidgets.QFormLayout()
+ self.formLayout.setFieldGrowthPolicy(QtWidgets.QFormLayout.AllNonFixedFieldsGrow)
+ self.formLayout.setObjectName("formLayout")
+ self.label = QtWidgets.QLabel(self.verticalLayoutWidget)
+ self.label.setObjectName("label")
+ self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label)
+ self.lineEditX = QtWidgets.QLineEdit(self.verticalLayoutWidget)
+ self.lineEditX.setObjectName("lineEditX")
+ self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.lineEditX)
+ self.label_2 = QtWidgets.QLabel(self.verticalLayoutWidget)
+ self.label_2.setObjectName("label_2")
+ self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_2)
+ self.lineEditY = QtWidgets.QLineEdit(self.verticalLayoutWidget)
+ self.lineEditY.setObjectName("lineEditY")
+ self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.lineEditY)
+ self.verticalLayout.addLayout(self.formLayout)
+ self.buttonBox = QtWidgets.QDialogButtonBox(self.verticalLayoutWidget)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok|QtWidgets.QDialogButtonBox.Reset)
+ self.buttonBox.setObjectName("buttonBox")
+ self.verticalLayout.addWidget(self.buttonBox)
+
+ self.retranslateUi(Dialog)
+ self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
+ self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
+ QtCore.QMetaObject.connectSlotsByName(Dialog)
+
+ def retranslateUi(self, Dialog):
+ _translate = QtCore.QCoreApplication.translate
+ Dialog.setWindowTitle(_translate("Dialog", "Set Custom Anchor"))
+ self.label.setText(_translate("Dialog", "X:"))
+ self.lineEditX.setText(_translate("Dialog", "0"))
+ self.label_2.setText(_translate("Dialog", "Y:"))
+ self.lineEditY.setText(_translate("Dialog", "0"))
Property changes on: trunk/Build/source/utils/asymptote/GUI/xasyqtui/setCustomAnchor.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_addLabel.py
===================================================================
--- trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_addLabel.py (rev 0)
+++ trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_addLabel.py 2025-02-09 21:47:36 UTC (rev 73825)
@@ -0,0 +1,142 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'windows/widg_addLabel.ui'
+#
+# Created by: PyQt5 UI code generator 5.15.10
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic5 is
+# run again. Do not edit this file unless you know what you are doing.
+
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName("Form")
+ Form.setWindowModality(QtCore.Qt.NonModal)
+ Form.resize(599, 35)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth())
+ Form.setSizePolicy(sizePolicy)
+ Form.setMinimumSize(QtCore.QSize(0, 35))
+ Form.setMaximumSize(QtCore.QSize(16777215, 35))
+ self.horizontalLayout_2 = QtWidgets.QHBoxLayout(Form)
+ self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
+ self.horizontalLayout_2.setSpacing(0)
+ self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+ self.horizontalLayout = QtWidgets.QHBoxLayout()
+ self.horizontalLayout.setObjectName("horizontalLayout")
+ self.txtLabelText = QtWidgets.QLineEdit(Form)
+ self.txtLabelText.setObjectName("txtLabelText")
+ self.horizontalLayout.addWidget(self.txtLabelText)
+ self.btnAdvancedEdit = QtWidgets.QPushButton(Form)
+ self.btnAdvancedEdit.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnAdvancedEdit.setText("")
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(":/icons/edit.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnAdvancedEdit.setIcon(icon)
+ self.btnAdvancedEdit.setFlat(True)
+ self.btnAdvancedEdit.setObjectName("btnAdvancedEdit")
+ self.horizontalLayout.addWidget(self.btnAdvancedEdit)
+ self.label = QtWidgets.QLabel(Form)
+ self.label.setObjectName("label")
+ self.horizontalLayout.addWidget(self.label)
+ self.cmbAlign = QtWidgets.QComboBox(Form)
+ self.cmbAlign.setObjectName("cmbAlign")
+ self.cmbAlign.addItem("")
+ self.cmbAlign.addItem("")
+ self.cmbAlign.addItem("")
+ self.cmbAlign.addItem("")
+ self.cmbAlign.addItem("")
+ self.cmbAlign.addItem("")
+ self.cmbAlign.addItem("")
+ self.cmbAlign.addItem("")
+ self.cmbAlign.addItem("")
+ self.cmbAlign.addItem("")
+ self.horizontalLayout.addWidget(self.cmbAlign)
+ self.label_3 = QtWidgets.QLabel(Form)
+ self.label_3.setObjectName("label_3")
+ self.horizontalLayout.addWidget(self.label_3)
+ self.cmbFontSize = QtWidgets.QComboBox(Form)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.cmbFontSize.sizePolicy().hasHeightForWidth())
+ self.cmbFontSize.setSizePolicy(sizePolicy)
+ self.cmbFontSize.setEditable(True)
+ self.cmbFontSize.setObjectName("cmbFontSize")
+ self.cmbFontSize.addItem("")
+ self.cmbFontSize.addItem("")
+ self.cmbFontSize.addItem("")
+ self.cmbFontSize.addItem("")
+ self.cmbFontSize.addItem("")
+ self.cmbFontSize.addItem("")
+ self.cmbFontSize.addItem("")
+ self.cmbFontSize.addItem("")
+ self.cmbFontSize.addItem("")
+ self.cmbFontSize.addItem("")
+ self.cmbFontSize.addItem("")
+ self.horizontalLayout.addWidget(self.cmbFontSize)
+ self.label_2 = QtWidgets.QLabel(Form)
+ self.label_2.setObjectName("label_2")
+ self.horizontalLayout.addWidget(self.label_2)
+ self.txtShiftX = QtWidgets.QLineEdit(Form)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.txtShiftX.sizePolicy().hasHeightForWidth())
+ self.txtShiftX.setSizePolicy(sizePolicy)
+ self.txtShiftX.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.txtShiftX.setObjectName("txtShiftX")
+ self.horizontalLayout.addWidget(self.txtShiftX)
+ self.txtShiftY = QtWidgets.QLineEdit(Form)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.txtShiftY.sizePolicy().hasHeightForWidth())
+ self.txtShiftY.setSizePolicy(sizePolicy)
+ self.txtShiftY.setMaximumSize(QtCore.QSize(50, 16777215))
+ self.txtShiftY.setObjectName("txtShiftY")
+ self.horizontalLayout.addWidget(self.txtShiftY)
+ spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem)
+ self.horizontalLayout_2.addLayout(self.horizontalLayout)
+
+ self.retranslateUi(Form)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ _translate = QtCore.QCoreApplication.translate
+ Form.setWindowTitle(_translate("Form", "Form"))
+ self.txtLabelText.setToolTip(_translate("Form", "Number of Sides"))
+ self.txtLabelText.setPlaceholderText(_translate("Form", "Text"))
+ self.label.setText(_translate("Form", "Align"))
+ self.cmbAlign.setItemText(0, _translate("Form", "Center"))
+ self.cmbAlign.setItemText(1, _translate("Form", "N"))
+ self.cmbAlign.setItemText(2, _translate("Form", "E"))
+ self.cmbAlign.setItemText(3, _translate("Form", "W"))
+ self.cmbAlign.setItemText(4, _translate("Form", "S"))
+ self.cmbAlign.setItemText(5, _translate("Form", "NW"))
+ self.cmbAlign.setItemText(6, _translate("Form", "NE"))
+ self.cmbAlign.setItemText(7, _translate("Form", "SW"))
+ self.cmbAlign.setItemText(8, _translate("Form", "SE"))
+ self.cmbAlign.setItemText(9, _translate("Form", "Custom"))
+ self.label_3.setText(_translate("Form", "Font Size"))
+ self.cmbFontSize.setItemText(0, _translate("Form", "-"))
+ self.cmbFontSize.setItemText(1, _translate("Form", "8"))
+ self.cmbFontSize.setItemText(2, _translate("Form", "9"))
+ self.cmbFontSize.setItemText(3, _translate("Form", "10"))
+ self.cmbFontSize.setItemText(4, _translate("Form", "11"))
+ self.cmbFontSize.setItemText(5, _translate("Form", "12"))
+ self.cmbFontSize.setItemText(6, _translate("Form", "14"))
+ self.cmbFontSize.setItemText(7, _translate("Form", "18"))
+ self.cmbFontSize.setItemText(8, _translate("Form", "24"))
+ self.cmbFontSize.setItemText(9, _translate("Form", "48"))
+ self.cmbFontSize.setItemText(10, _translate("Form", "72"))
+ self.label_2.setText(_translate("Form", "Custom Align"))
+ self.txtShiftX.setPlaceholderText(_translate("Form", "Shift X"))
+ self.txtShiftY.setPlaceholderText(_translate("Form", "Shift Y"))
+from xasyicons import icons_rc
Property changes on: trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_addLabel.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_addPolyOpt.py
===================================================================
--- trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_addPolyOpt.py (rev 0)
+++ trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_addPolyOpt.py 2025-02-09 21:47:36 UTC (rev 73825)
@@ -0,0 +1,61 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'windows/widg_addPolyOpt.ui'
+#
+# Created by: PyQt5 UI code generator 5.15.10
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic5 is
+# run again. Do not edit this file unless you know what you are doing.
+
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName("Form")
+ Form.setWindowModality(QtCore.Qt.NonModal)
+ Form.resize(326, 35)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth())
+ Form.setSizePolicy(sizePolicy)
+ Form.setMinimumSize(QtCore.QSize(0, 35))
+ Form.setMaximumSize(QtCore.QSize(16777215, 35))
+ self.horizontalLayout_2 = QtWidgets.QHBoxLayout(Form)
+ self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
+ self.horizontalLayout_2.setSpacing(0)
+ self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+ self.horizontalLayout = QtWidgets.QHBoxLayout()
+ self.horizontalLayout.setObjectName("horizontalLayout")
+ self.chkInscribed = QtWidgets.QCheckBox(Form)
+ self.chkInscribed.setObjectName("chkInscribed")
+ self.horizontalLayout.addWidget(self.chkInscribed)
+ spacerItem = QtWidgets.QSpacerItem(19, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem)
+ self.label = QtWidgets.QLabel(Form)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+ self.label.setSizePolicy(sizePolicy)
+ self.label.setObjectName("label")
+ self.horizontalLayout.addWidget(self.label)
+ self.txtSides = QtWidgets.QLineEdit(Form)
+ self.txtSides.setObjectName("txtSides")
+ self.horizontalLayout.addWidget(self.txtSides)
+ spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem1)
+ self.horizontalLayout_2.addLayout(self.horizontalLayout)
+
+ self.retranslateUi(Form)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ _translate = QtCore.QCoreApplication.translate
+ Form.setWindowTitle(_translate("Form", "Form"))
+ self.chkInscribed.setText(_translate("Form", "Start at Vertex"))
+ self.label.setText(_translate("Form", "Sides: "))
+ self.txtSides.setToolTip(_translate("Form", "Number of Sides"))
+ self.txtSides.setPlaceholderText(_translate("Form", "Sides"))
Property changes on: trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_addPolyOpt.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_editBezier.py
===================================================================
--- trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_editBezier.py (rev 0)
+++ trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_editBezier.py 2025-02-09 21:47:36 UTC (rev 73825)
@@ -0,0 +1,96 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'windows/widg_editBezier.ui'
+#
+# Created by: PyQt5 UI code generator 5.15.10
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic5 is
+# run again. Do not edit this file unless you know what you are doing.
+
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName("Form")
+ Form.setWindowModality(QtCore.Qt.NonModal)
+ Form.resize(692, 35)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth())
+ Form.setSizePolicy(sizePolicy)
+ Form.setMinimumSize(QtCore.QSize(0, 35))
+ Form.setMaximumSize(QtCore.QSize(16777215, 35))
+ self.horizontalLayout_2 = QtWidgets.QHBoxLayout(Form)
+ self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
+ self.horizontalLayout_2.setSpacing(0)
+ self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+ self.horizontalLayout = QtWidgets.QHBoxLayout()
+ self.horizontalLayout.setObjectName("horizontalLayout")
+ self.cmbLockMode = QtWidgets.QComboBox(Form)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.cmbLockMode.sizePolicy().hasHeightForWidth())
+ self.cmbLockMode.setSizePolicy(sizePolicy)
+ self.cmbLockMode.setObjectName("cmbLockMode")
+ self.cmbLockMode.addItem("")
+ self.cmbLockMode.addItem("")
+ self.cmbLockMode.addItem("")
+ self.horizontalLayout.addWidget(self.cmbLockMode)
+ spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem)
+ self.chkRecompute = QtWidgets.QCheckBox(Form)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.chkRecompute.sizePolicy().hasHeightForWidth())
+ self.chkRecompute.setSizePolicy(sizePolicy)
+ self.chkRecompute.setObjectName("chkRecompute")
+ self.horizontalLayout.addWidget(self.chkRecompute)
+ self.btnForceRecompute = QtWidgets.QPushButton(Form)
+ self.btnForceRecompute.setObjectName("btnForceRecompute")
+ self.horizontalLayout.addWidget(self.btnForceRecompute)
+ self.btnOk = QtWidgets.QPushButton(Form)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnOk.sizePolicy().hasHeightForWidth())
+ self.btnOk.setSizePolicy(sizePolicy)
+ self.btnOk.setMaximumSize(QtCore.QSize(25, 25))
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(":/icons/check.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnOk.setIcon(icon)
+ self.btnOk.setFlat(True)
+ self.btnOk.setObjectName("btnOk")
+ self.horizontalLayout.addWidget(self.btnOk)
+ self.btnCancel = QtWidgets.QPushButton(Form)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnCancel.sizePolicy().hasHeightForWidth())
+ self.btnCancel.setSizePolicy(sizePolicy)
+ self.btnCancel.setMaximumSize(QtCore.QSize(25, 25))
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(":/icons/close-round.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnCancel.setIcon(icon1)
+ self.btnCancel.setFlat(True)
+ self.btnCancel.setObjectName("btnCancel")
+ self.horizontalLayout.addWidget(self.btnCancel)
+ self.horizontalLayout_2.addLayout(self.horizontalLayout)
+
+ self.retranslateUi(Form)
+ self.cmbLockMode.setCurrentIndex(1)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ _translate = QtCore.QCoreApplication.translate
+ Form.setWindowTitle(_translate("Form", "Form"))
+ self.cmbLockMode.setItemText(0, _translate("Form", "No Lock"))
+ self.cmbLockMode.setItemText(1, _translate("Form", "Lock Angle"))
+ self.cmbLockMode.setItemText(2, _translate("Form", "Lock Angle & Scale"))
+ self.chkRecompute.setText(_translate("Form", "Recompute Path"))
+ self.btnForceRecompute.setText(_translate("Form", "Recompute Once"))
+from xasyicons import icons_rc
Property changes on: trunk/Build/source/utils/asymptote/GUI/xasyqtui/widg_editBezier.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/utils/asymptote/GUI/xasyqtui/widgetPointEditor.py
===================================================================
--- trunk/Build/source/utils/asymptote/GUI/xasyqtui/widgetPointEditor.py (rev 0)
+++ trunk/Build/source/utils/asymptote/GUI/xasyqtui/widgetPointEditor.py 2025-02-09 21:47:36 UTC (rev 73825)
@@ -0,0 +1,98 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'windows/widgetPointEditor.ui'
+#
+# Created by: PyQt5 UI code generator 5.15.10
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic5 is
+# run again. Do not edit this file unless you know what you are doing.
+
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ Form.setObjectName("Form")
+ Form.resize(324, 67)
+ self.verticalLayout = QtWidgets.QVBoxLayout(Form)
+ self.verticalLayout.setObjectName("verticalLayout")
+ self.nameLabel = QtWidgets.QLabel(Form)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.nameLabel.sizePolicy().hasHeightForWidth())
+ self.nameLabel.setSizePolicy(sizePolicy)
+ self.nameLabel.setObjectName("nameLabel")
+ self.verticalLayout.addWidget(self.nameLabel)
+ self.horizontalLayout = QtWidgets.QHBoxLayout()
+ self.horizontalLayout.setObjectName("horizontalLayout")
+ self.lineXorA = QtWidgets.QLineEdit(Form)
+ self.lineXorA.setEnabled(False)
+ self.lineXorA.setReadOnly(False)
+ self.lineXorA.setObjectName("lineXorA")
+ self.horizontalLayout.addWidget(self.lineXorA)
+ self.lineYorM = QtWidgets.QLineEdit(Form)
+ self.lineYorM.setEnabled(False)
+ self.lineYorM.setAutoFillBackground(False)
+ self.lineYorM.setReadOnly(False)
+ self.lineYorM.setObjectName("lineYorM")
+ self.horizontalLayout.addWidget(self.lineYorM)
+ self.btnRelative = QtWidgets.QPushButton(Form)
+ self.btnRelative.setEnabled(False)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnRelative.sizePolicy().hasHeightForWidth())
+ self.btnRelative.setSizePolicy(sizePolicy)
+ self.btnRelative.setText("")
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(":/icons/android-locate.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnRelative.setIcon(icon)
+ self.btnRelative.setCheckable(True)
+ self.btnRelative.setFlat(False)
+ self.btnRelative.setObjectName("btnRelative")
+ self.horizontalLayout.addWidget(self.btnRelative)
+ self.btnPolar = QtWidgets.QPushButton(Form)
+ self.btnPolar.setEnabled(False)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnPolar.sizePolicy().hasHeightForWidth())
+ self.btnPolar.setSizePolicy(sizePolicy)
+ self.btnPolar.setText("")
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(":/icons/android-radio-button-off.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnPolar.setIcon(icon1)
+ self.btnPolar.setCheckable(True)
+ self.btnPolar.setFlat(False)
+ self.btnPolar.setObjectName("btnPolar")
+ self.horizontalLayout.addWidget(self.btnPolar)
+ self.btnManualAdj = QtWidgets.QPushButton(Form)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnManualAdj.sizePolicy().hasHeightForWidth())
+ self.btnManualAdj.setSizePolicy(sizePolicy)
+ self.btnManualAdj.setText("")
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(":/icons/edit.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnManualAdj.setIcon(icon2)
+ self.btnManualAdj.setCheckable(True)
+ self.btnManualAdj.setFlat(False)
+ self.btnManualAdj.setObjectName("btnManualAdj")
+ self.horizontalLayout.addWidget(self.btnManualAdj)
+ self.verticalLayout.addLayout(self.horizontalLayout)
+
+ self.retranslateUi(Form)
+ QtCore.QMetaObject.connectSlotsByName(Form)
+
+ def retranslateUi(self, Form):
+ _translate = QtCore.QCoreApplication.translate
+ Form.setWindowTitle(_translate("Form", "Form"))
+ self.nameLabel.setText(_translate("Form", "Left Control Point"))
+ self.lineXorA.setToolTip(_translate("Form", "X"))
+ self.lineXorA.setPlaceholderText(_translate("Form", "X"))
+ self.lineYorM.setToolTip(_translate("Form", "X"))
+ self.lineYorM.setPlaceholderText(_translate("Form", "Y"))
+from xasyicons import icons_rc
Property changes on: trunk/Build/source/utils/asymptote/GUI/xasyqtui/widgetPointEditor.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/utils/asymptote/GUI/xasyqtui/window1.py
===================================================================
--- trunk/Build/source/utils/asymptote/GUI/xasyqtui/window1.py (rev 0)
+++ trunk/Build/source/utils/asymptote/GUI/xasyqtui/window1.py 2025-02-09 21:47:36 UTC (rev 73825)
@@ -0,0 +1,1013 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'windows/window1.ui'
+#
+# Created by: PyQt5 UI code generator 5.15.10
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic5 is
+# run again. Do not edit this file unless you know what you are doing.
+
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MainWindow(object):
+ def setupUi(self, MainWindow):
+ MainWindow.setObjectName("MainWindow")
+ MainWindow.resize(1000, 600)
+ self.centralwidget = QtWidgets.QWidget(MainWindow)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth())
+ self.centralwidget.setSizePolicy(sizePolicy)
+ self.centralwidget.setMouseTracking(True)
+ self.centralwidget.setObjectName("centralwidget")
+ self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.centralwidget)
+ self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)
+ self.horizontalLayout_4.setSpacing(0)
+ self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+ self.mainWidget = QtWidgets.QWidget(self.centralwidget)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.mainWidget.sizePolicy().hasHeightForWidth())
+ self.mainWidget.setSizePolicy(sizePolicy)
+ self.mainWidget.setMouseTracking(True)
+ self.mainWidget.setObjectName("mainWidget")
+ self.verticalLayout = QtWidgets.QVBoxLayout(self.mainWidget)
+ self.verticalLayout.setContentsMargins(2, 2, 2, 2)
+ self.verticalLayout.setSpacing(4)
+ self.verticalLayout.setObjectName("verticalLayout")
+ self.menuFrame = QtWidgets.QFrame(self.mainWidget)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.menuFrame.sizePolicy().hasHeightForWidth())
+ self.menuFrame.setSizePolicy(sizePolicy)
+ self.menuFrame.setFrameShape(QtWidgets.QFrame.NoFrame)
+ self.menuFrame.setObjectName("menuFrame")
+ self.horizontalLayout = QtWidgets.QHBoxLayout(self.menuFrame)
+ self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetMinimumSize)
+ self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+ self.horizontalLayout.setSpacing(4)
+ self.horizontalLayout.setObjectName("horizontalLayout")
+ self.btnUndo = QtWidgets.QPushButton(self.menuFrame)
+ self.btnUndo.setEnabled(False)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnUndo.sizePolicy().hasHeightForWidth())
+ self.btnUndo.setSizePolicy(sizePolicy)
+ self.btnUndo.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnUndo.setBaseSize(QtCore.QSize(32, 32))
+ self.btnUndo.setText("")
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(":/icons/undo.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnUndo.setIcon(icon)
+ self.btnUndo.setIconSize(QtCore.QSize(16, 16))
+ self.btnUndo.setFlat(True)
+ self.btnUndo.setObjectName("btnUndo")
+ self.horizontalLayout.addWidget(self.btnUndo)
+ self.btnRedo = QtWidgets.QPushButton(self.menuFrame)
+ self.btnRedo.setEnabled(False)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnRedo.sizePolicy().hasHeightForWidth())
+ self.btnRedo.setSizePolicy(sizePolicy)
+ self.btnRedo.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnRedo.setBaseSize(QtCore.QSize(32, 32))
+ self.btnRedo.setText("")
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(":/icons/redo.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnRedo.setIcon(icon1)
+ self.btnRedo.setIconSize(QtCore.QSize(16, 16))
+ self.btnRedo.setFlat(True)
+ self.btnRedo.setObjectName("btnRedo")
+ self.horizontalLayout.addWidget(self.btnRedo)
+ self.btnLoadFile = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnLoadFile.sizePolicy().hasHeightForWidth())
+ self.btnLoadFile.setSizePolicy(sizePolicy)
+ self.btnLoadFile.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnLoadFile.setBaseSize(QtCore.QSize(32, 32))
+ self.btnLoadFile.setText("")
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(":/icons/android-folder-open.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnLoadFile.setIcon(icon2)
+ self.btnLoadFile.setIconSize(QtCore.QSize(16, 16))
+ self.btnLoadFile.setFlat(True)
+ self.btnLoadFile.setObjectName("btnLoadFile")
+ self.horizontalLayout.addWidget(self.btnLoadFile)
+ self.btnSave = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnSave.sizePolicy().hasHeightForWidth())
+ self.btnSave.setSizePolicy(sizePolicy)
+ self.btnSave.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnSave.setBaseSize(QtCore.QSize(32, 32))
+ self.btnSave.setText("")
+ icon3 = QtGui.QIcon()
+ icon3.addPixmap(QtGui.QPixmap(":/icons/save.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnSave.setIcon(icon3)
+ self.btnSave.setIconSize(QtCore.QSize(16, 16))
+ self.btnSave.setFlat(True)
+ self.btnSave.setObjectName("btnSave")
+ self.horizontalLayout.addWidget(self.btnSave)
+ self.btnViewCode = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnViewCode.sizePolicy().hasHeightForWidth())
+ self.btnViewCode.setSizePolicy(sizePolicy)
+ self.btnViewCode.setMaximumSize(QtCore.QSize(24, 24))
+ self.btnViewCode.setBaseSize(QtCore.QSize(20, 20))
+ self.btnViewCode.setText("")
+ icon4 = QtGui.QIcon()
+ icon4.addPixmap(QtGui.QPixmap(":/icons/code.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnViewCode.setIcon(icon4)
+ self.btnViewCode.setIconSize(QtCore.QSize(16, 16))
+ self.btnViewCode.setFlat(True)
+ self.btnViewCode.setObjectName("btnViewCode")
+ self.horizontalLayout.addWidget(self.btnViewCode)
+ self.btnQuickScreenshot = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnQuickScreenshot.sizePolicy().hasHeightForWidth())
+ self.btnQuickScreenshot.setSizePolicy(sizePolicy)
+ self.btnQuickScreenshot.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnQuickScreenshot.setBaseSize(QtCore.QSize(32, 32))
+ self.btnQuickScreenshot.setText("")
+ icon5 = QtGui.QIcon()
+ icon5.addPixmap(QtGui.QPixmap(":/icons/android-camera.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnQuickScreenshot.setIcon(icon5)
+ self.btnQuickScreenshot.setIconSize(QtCore.QSize(16, 16))
+ self.btnQuickScreenshot.setFlat(True)
+ self.btnQuickScreenshot.setObjectName("btnQuickScreenshot")
+ self.horizontalLayout.addWidget(self.btnQuickScreenshot)
+ spacerItem = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem)
+ self.btnDrawAxes = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnDrawAxes.sizePolicy().hasHeightForWidth())
+ self.btnDrawAxes.setSizePolicy(sizePolicy)
+ self.btnDrawAxes.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnDrawAxes.setBaseSize(QtCore.QSize(32, 32))
+ font = QtGui.QFont()
+ font.setFamily("Roboto")
+ font.setBold(True)
+ font.setWeight(75)
+ self.btnDrawAxes.setFont(font)
+ self.btnDrawAxes.setText("")
+ icon6 = QtGui.QIcon()
+ icon6.addPixmap(QtGui.QPixmap(":/icons/plus-round.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnDrawAxes.setIcon(icon6)
+ self.btnDrawAxes.setIconSize(QtCore.QSize(16, 16))
+ self.btnDrawAxes.setCheckable(True)
+ self.btnDrawAxes.setChecked(True)
+ self.btnDrawAxes.setFlat(True)
+ self.btnDrawAxes.setObjectName("btnDrawAxes")
+ self.horizontalLayout.addWidget(self.btnDrawAxes)
+ self.btnDrawGrid = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnDrawGrid.sizePolicy().hasHeightForWidth())
+ self.btnDrawGrid.setSizePolicy(sizePolicy)
+ self.btnDrawGrid.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnDrawGrid.setBaseSize(QtCore.QSize(32, 32))
+ font = QtGui.QFont()
+ font.setFamily("Roboto")
+ font.setBold(True)
+ font.setWeight(75)
+ self.btnDrawGrid.setFont(font)
+ self.btnDrawGrid.setText("")
+ icon7 = QtGui.QIcon()
+ icon7.addPixmap(QtGui.QPixmap(":/icons/grid.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnDrawGrid.setIcon(icon7)
+ self.btnDrawGrid.setIconSize(QtCore.QSize(16, 16))
+ self.btnDrawGrid.setCheckable(True)
+ self.btnDrawGrid.setChecked(False)
+ self.btnDrawGrid.setFlat(True)
+ self.btnDrawGrid.setObjectName("btnDrawGrid")
+ self.horizontalLayout.addWidget(self.btnDrawGrid)
+ self.btnSetZoom = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnSetZoom.sizePolicy().hasHeightForWidth())
+ self.btnSetZoom.setSizePolicy(sizePolicy)
+ self.btnSetZoom.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnSetZoom.setBaseSize(QtCore.QSize(32, 32))
+ self.btnSetZoom.setText("")
+ icon8 = QtGui.QIcon()
+ icon8.addPixmap(QtGui.QPixmap(":/icons/magnifying-glass.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnSetZoom.setIcon(icon8)
+ self.btnSetZoom.setIconSize(QtCore.QSize(16, 16))
+ self.btnSetZoom.setFlat(True)
+ self.btnSetZoom.setObjectName("btnSetZoom")
+ self.horizontalLayout.addWidget(self.btnSetZoom)
+ self.btnPanCenter = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnPanCenter.sizePolicy().hasHeightForWidth())
+ self.btnPanCenter.setSizePolicy(sizePolicy)
+ self.btnPanCenter.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnPanCenter.setBaseSize(QtCore.QSize(32, 32))
+ self.btnPanCenter.setText("")
+ icon9 = QtGui.QIcon()
+ icon9.addPixmap(QtGui.QPixmap(":/icons/center.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnPanCenter.setIcon(icon9)
+ self.btnPanCenter.setIconSize(QtCore.QSize(16, 16))
+ self.btnPanCenter.setFlat(True)
+ self.btnPanCenter.setObjectName("btnPanCenter")
+ self.horizontalLayout.addWidget(self.btnPanCenter)
+ self.btnResetPan = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnResetPan.sizePolicy().hasHeightForWidth())
+ self.btnResetPan.setSizePolicy(sizePolicy)
+ self.btnResetPan.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnResetPan.setBaseSize(QtCore.QSize(32, 32))
+ self.btnResetPan.setText("")
+ icon10 = QtGui.QIcon()
+ icon10.addPixmap(QtGui.QPixmap(":/icons/centerorigin.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnResetPan.setIcon(icon10)
+ self.btnResetPan.setIconSize(QtCore.QSize(16, 16))
+ self.btnResetPan.setFlat(True)
+ self.btnResetPan.setObjectName("btnResetPan")
+ self.horizontalLayout.addWidget(self.btnResetPan)
+ self.btnAlignX = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnAlignX.sizePolicy().hasHeightForWidth())
+ self.btnAlignX.setSizePolicy(sizePolicy)
+ self.btnAlignX.setMaximumSize(QtCore.QSize(32, 25))
+ self.btnAlignX.setBaseSize(QtCore.QSize(32, 32))
+ font = QtGui.QFont()
+ font.setFamily("Roboto")
+ font.setBold(True)
+ font.setWeight(75)
+ self.btnAlignX.setFont(font)
+ self.btnAlignX.setIconSize(QtCore.QSize(16, 16))
+ self.btnAlignX.setCheckable(True)
+ self.btnAlignX.setFlat(True)
+ self.btnAlignX.setObjectName("btnAlignX")
+ self.horizontalLayout.addWidget(self.btnAlignX)
+ self.btnAlignY = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnAlignY.sizePolicy().hasHeightForWidth())
+ self.btnAlignY.setSizePolicy(sizePolicy)
+ self.btnAlignY.setMaximumSize(QtCore.QSize(32, 25))
+ self.btnAlignY.setBaseSize(QtCore.QSize(32, 32))
+ font = QtGui.QFont()
+ font.setFamily("Roboto")
+ font.setBold(True)
+ font.setWeight(75)
+ self.btnAlignY.setFont(font)
+ self.btnAlignY.setIconSize(QtCore.QSize(16, 16))
+ self.btnAlignY.setCheckable(True)
+ self.btnAlignY.setFlat(True)
+ self.btnAlignY.setObjectName("btnAlignY")
+ self.horizontalLayout.addWidget(self.btnAlignY)
+ spacerItem1 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem1)
+ self.btnSelectEdit = QtWidgets.QPushButton(self.menuFrame)
+ self.btnSelectEdit.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnSelectEdit.sizePolicy().hasHeightForWidth())
+ self.btnSelectEdit.setSizePolicy(sizePolicy)
+ self.btnSelectEdit.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnSelectEdit.setText("")
+ icon11 = QtGui.QIcon()
+ icon11.addPixmap(QtGui.QPixmap(":/icons/edit.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnSelectEdit.setIcon(icon11)
+ self.btnSelectEdit.setIconSize(QtCore.QSize(16, 16))
+ self.btnSelectEdit.setCheckable(True)
+ self.btnSelectEdit.setFlat(True)
+ self.btnSelectEdit.setObjectName("btnSelectEdit")
+ self.horizontalLayout.addWidget(self.btnSelectEdit)
+ self.btnDeleteMode = QtWidgets.QPushButton(self.menuFrame)
+ self.btnDeleteMode.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnDeleteMode.sizePolicy().hasHeightForWidth())
+ self.btnDeleteMode.setSizePolicy(sizePolicy)
+ self.btnDeleteMode.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnDeleteMode.setBaseSize(QtCore.QSize(32, 32))
+ self.btnDeleteMode.setText("")
+ icon12 = QtGui.QIcon()
+ icon12.addPixmap(QtGui.QPixmap(":/icons/android-delete.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnDeleteMode.setIcon(icon12)
+ self.btnDeleteMode.setIconSize(QtCore.QSize(16, 16))
+ self.btnDeleteMode.setCheckable(True)
+ self.btnDeleteMode.setFlat(True)
+ self.btnDeleteMode.setObjectName("btnDeleteMode")
+ self.horizontalLayout.addWidget(self.btnDeleteMode)
+ spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem2)
+ self.btnPan = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnPan.sizePolicy().hasHeightForWidth())
+ self.btnPan.setSizePolicy(sizePolicy)
+ self.btnPan.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnPan.setBaseSize(QtCore.QSize(32, 32))
+ self.btnPan.setText("")
+ icon13 = QtGui.QIcon()
+ icon13.addPixmap(QtGui.QPixmap(":/icons/android-hand.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnPan.setIcon(icon13)
+ self.btnPan.setIconSize(QtCore.QSize(16, 16))
+ self.btnPan.setCheckable(True)
+ self.btnPan.setFlat(True)
+ self.btnPan.setObjectName("btnPan")
+ self.horizontalLayout.addWidget(self.btnPan)
+ self.btnTranslate = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnTranslate.sizePolicy().hasHeightForWidth())
+ self.btnTranslate.setSizePolicy(sizePolicy)
+ self.btnTranslate.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnTranslate.setBaseSize(QtCore.QSize(32, 32))
+ self.btnTranslate.setText("")
+ icon14 = QtGui.QIcon()
+ icon14.addPixmap(QtGui.QPixmap(":/icons/arrow-move.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnTranslate.setIcon(icon14)
+ self.btnTranslate.setIconSize(QtCore.QSize(16, 16))
+ self.btnTranslate.setCheckable(True)
+ self.btnTranslate.setChecked(True)
+ self.btnTranslate.setFlat(True)
+ self.btnTranslate.setObjectName("btnTranslate")
+ self.horizontalLayout.addWidget(self.btnTranslate)
+ self.btnScale = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnScale.sizePolicy().hasHeightForWidth())
+ self.btnScale.setSizePolicy(sizePolicy)
+ self.btnScale.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnScale.setBaseSize(QtCore.QSize(32, 32))
+ self.btnScale.setText("")
+ icon15 = QtGui.QIcon()
+ icon15.addPixmap(QtGui.QPixmap(":/icons/arrow-resize.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnScale.setIcon(icon15)
+ self.btnScale.setIconSize(QtCore.QSize(16, 16))
+ self.btnScale.setCheckable(True)
+ self.btnScale.setFlat(True)
+ self.btnScale.setObjectName("btnScale")
+ self.horizontalLayout.addWidget(self.btnScale)
+ self.btnRotate = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnRotate.sizePolicy().hasHeightForWidth())
+ self.btnRotate.setSizePolicy(sizePolicy)
+ self.btnRotate.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnRotate.setBaseSize(QtCore.QSize(32, 32))
+ self.btnRotate.setText("")
+ icon16 = QtGui.QIcon()
+ icon16.addPixmap(QtGui.QPixmap(":/icons/android-refresh.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnRotate.setIcon(icon16)
+ self.btnRotate.setIconSize(QtCore.QSize(16, 16))
+ self.btnRotate.setCheckable(True)
+ self.btnRotate.setFlat(True)
+ self.btnRotate.setObjectName("btnRotate")
+ self.horizontalLayout.addWidget(self.btnRotate)
+ spacerItem3 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem3)
+ self.btnAnchor = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnAnchor.sizePolicy().hasHeightForWidth())
+ self.btnAnchor.setSizePolicy(sizePolicy)
+ self.btnAnchor.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnAnchor.setBaseSize(QtCore.QSize(32, 32))
+ self.btnAnchor.setText("")
+ icon17 = QtGui.QIcon()
+ icon17.addPixmap(QtGui.QPixmap(":/icons/anchor.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnAnchor.setIcon(icon17)
+ self.btnAnchor.setIconSize(QtCore.QSize(16, 16))
+ self.btnAnchor.setCheckable(True)
+ self.btnAnchor.setChecked(False)
+ self.btnAnchor.setFlat(True)
+ self.btnAnchor.setObjectName("btnAnchor")
+ self.horizontalLayout.addWidget(self.btnAnchor)
+ self.comboAnchor = QtWidgets.QComboBox(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.comboAnchor.sizePolicy().hasHeightForWidth())
+ self.comboAnchor.setSizePolicy(sizePolicy)
+ self.comboAnchor.setMinimumSize(QtCore.QSize(127, 0))
+ self.comboAnchor.setMaximumSize(QtCore.QSize(127, 25))
+ self.comboAnchor.setLayoutDirection(QtCore.Qt.LeftToRight)
+ self.comboAnchor.setEditable(False)
+ self.comboAnchor.setInsertPolicy(QtWidgets.QComboBox.InsertAtCurrent)
+ self.comboAnchor.setSizeAdjustPolicy(QtWidgets.QComboBox.AdjustToContentsOnFirstShow)
+ self.comboAnchor.setIconSize(QtCore.QSize(0, 0))
+ self.comboAnchor.setDuplicatesEnabled(False)
+ self.comboAnchor.setFrame(False)
+ self.comboAnchor.setModelColumn(0)
+ self.comboAnchor.setObjectName("comboAnchor")
+ self.comboAnchor.addItem("")
+ self.comboAnchor.addItem("")
+ self.comboAnchor.addItem("")
+ self.comboAnchor.addItem("")
+ self.comboAnchor.addItem("")
+ self.comboAnchor.addItem("")
+ self.comboAnchor.addItem("")
+ self.horizontalLayout.addWidget(self.comboAnchor)
+ self.btnToggleVisible = QtWidgets.QPushButton(self.menuFrame)
+ self.btnToggleVisible.setEnabled(False)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnToggleVisible.sizePolicy().hasHeightForWidth())
+ self.btnToggleVisible.setSizePolicy(sizePolicy)
+ self.btnToggleVisible.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnToggleVisible.setBaseSize(QtCore.QSize(32, 32))
+ self.btnToggleVisible.setText("")
+ icon18 = QtGui.QIcon()
+ icon18.addPixmap(QtGui.QPixmap(":/icons/eye.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnToggleVisible.setIcon(icon18)
+ self.btnToggleVisible.setIconSize(QtCore.QSize(16, 16))
+ self.btnToggleVisible.setCheckable(False)
+ self.btnToggleVisible.setFlat(True)
+ self.btnToggleVisible.setObjectName("btnToggleVisible")
+ self.horizontalLayout.addWidget(self.btnToggleVisible)
+ self.btnCustTransform = QtWidgets.QPushButton(self.menuFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnCustTransform.sizePolicy().hasHeightForWidth())
+ self.btnCustTransform.setSizePolicy(sizePolicy)
+ self.btnCustTransform.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnCustTransform.setBaseSize(QtCore.QSize(32, 32))
+ self.btnCustTransform.setText("")
+ icon19 = QtGui.QIcon()
+ icon19.addPixmap(QtGui.QPixmap(":/icons/android-expand.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnCustTransform.setIcon(icon19)
+ self.btnCustTransform.setIconSize(QtCore.QSize(16, 16))
+ self.btnCustTransform.setFlat(True)
+ self.btnCustTransform.setObjectName("btnCustTransform")
+ self.horizontalLayout.addWidget(self.btnCustTransform)
+ self.btnSendBackwards = QtWidgets.QPushButton(self.menuFrame)
+ self.btnSendBackwards.setEnabled(False)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnSendBackwards.sizePolicy().hasHeightForWidth())
+ self.btnSendBackwards.setSizePolicy(sizePolicy)
+ self.btnSendBackwards.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnSendBackwards.setBaseSize(QtCore.QSize(32, 32))
+ self.btnSendBackwards.setText("")
+ icon20 = QtGui.QIcon()
+ icon20.addPixmap(QtGui.QPixmap(":/icons/chevron-with-circle-left.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnSendBackwards.setIcon(icon20)
+ self.btnSendBackwards.setIconSize(QtCore.QSize(16, 16))
+ self.btnSendBackwards.setFlat(True)
+ self.btnSendBackwards.setObjectName("btnSendBackwards")
+ self.horizontalLayout.addWidget(self.btnSendBackwards)
+ self.btnSendForwards = QtWidgets.QPushButton(self.menuFrame)
+ self.btnSendForwards.setEnabled(False)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnSendForwards.sizePolicy().hasHeightForWidth())
+ self.btnSendForwards.setSizePolicy(sizePolicy)
+ self.btnSendForwards.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnSendForwards.setBaseSize(QtCore.QSize(32, 32))
+ self.btnSendForwards.setText("")
+ icon21 = QtGui.QIcon()
+ icon21.addPixmap(QtGui.QPixmap(":/icons/chevron-with-circle-right.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnSendForwards.setIcon(icon21)
+ self.btnSendForwards.setIconSize(QtCore.QSize(16, 16))
+ self.btnSendForwards.setFlat(True)
+ self.btnSendForwards.setObjectName("btnSendForwards")
+ self.horizontalLayout.addWidget(self.btnSendForwards)
+ spacerItem4 = QtWidgets.QSpacerItem(40, 25, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+ self.horizontalLayout.addItem(spacerItem4)
+ self.btnUndo.raise_()
+ self.btnRedo.raise_()
+ self.btnLoadFile.raise_()
+ self.btnSave.raise_()
+ self.btnViewCode.raise_()
+ self.btnQuickScreenshot.raise_()
+ self.btnDrawAxes.raise_()
+ self.btnDrawGrid.raise_()
+ self.btnSetZoom.raise_()
+ self.btnPanCenter.raise_()
+ self.btnResetPan.raise_()
+ self.btnAlignX.raise_()
+ self.btnAlignY.raise_()
+ self.btnPan.raise_()
+ self.btnTranslate.raise_()
+ self.btnScale.raise_()
+ self.btnCustTransform.raise_()
+ self.btnSendBackwards.raise_()
+ self.btnSendForwards.raise_()
+ self.comboAnchor.raise_()
+ self.btnToggleVisible.raise_()
+ self.btnAnchor.raise_()
+ self.btnRotate.raise_()
+ self.btnSelectEdit.raise_()
+ self.btnDeleteMode.raise_()
+ self.verticalLayout.addWidget(self.menuFrame)
+ self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+ self.horizontalLayout_2.setSpacing(4)
+ self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+ self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+ self.verticalLayout_2.setSpacing(3)
+ self.verticalLayout_2.setObjectName("verticalLayout_2")
+ self.addOption = QtWidgets.QHBoxLayout()
+ self.addOption.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
+ self.addOption.setContentsMargins(6, -1, -1, 0)
+ self.addOption.setSpacing(6)
+ self.addOption.setObjectName("addOption")
+ self.btnFill = QtWidgets.QPushButton(self.mainWidget)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnFill.sizePolicy().hasHeightForWidth())
+ self.btnFill.setSizePolicy(sizePolicy)
+ self.btnFill.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnFill.setBaseSize(QtCore.QSize(32, 32))
+ self.btnFill.setAutoFillBackground(False)
+ self.btnFill.setStyleSheet("")
+ self.btnFill.setText("")
+ icon22 = QtGui.QIcon()
+ icon22.addPixmap(QtGui.QPixmap(":/icons/bucket.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ icon22.addPixmap(QtGui.QPixmap(":/icons/filledbucket.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On)
+ self.btnFill.setIcon(icon22)
+ self.btnFill.setIconSize(QtCore.QSize(16, 16))
+ self.btnFill.setCheckable(True)
+ self.btnFill.setDefault(False)
+ self.btnFill.setFlat(True)
+ self.btnFill.setObjectName("btnFill")
+ self.addOption.addWidget(self.btnFill)
+ self.addOptionLayout = QtWidgets.QGridLayout()
+ self.addOptionLayout.setSpacing(6)
+ self.addOptionLayout.setObjectName("addOptionLayout")
+ self.addOption.addLayout(self.addOptionLayout)
+ spacerItem5 = QtWidgets.QSpacerItem(40, 35, QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
+ self.addOption.addItem(spacerItem5)
+ self.label = QtWidgets.QLabel(self.mainWidget)
+ self.label.setObjectName("label")
+ self.addOption.addWidget(self.label)
+ self.txtLineWidth = QtWidgets.QLineEdit(self.mainWidget)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.txtLineWidth.sizePolicy().hasHeightForWidth())
+ self.txtLineWidth.setSizePolicy(sizePolicy)
+ self.txtLineWidth.setMaximumSize(QtCore.QSize(75, 16777215))
+ self.txtLineWidth.setObjectName("txtLineWidth")
+ self.addOption.addWidget(self.txtLineWidth)
+ self.frameCurrColor = QtWidgets.QFrame(self.mainWidget)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.frameCurrColor.sizePolicy().hasHeightForWidth())
+ self.frameCurrColor.setSizePolicy(sizePolicy)
+ self.frameCurrColor.setMinimumSize(QtCore.QSize(15, 15))
+ self.frameCurrColor.setAutoFillBackground(False)
+ self.frameCurrColor.setStyleSheet("QFrame{ \n"
+"padding: 4.0;\n"
+"border-radius: 3.0; \n"
+"background: rgb(0, 0, 0)\n"
+"}")
+ self.frameCurrColor.setFrameShape(QtWidgets.QFrame.StyledPanel)
+ self.frameCurrColor.setFrameShadow(QtWidgets.QFrame.Sunken)
+ self.frameCurrColor.setObjectName("frameCurrColor")
+ self.addOption.addWidget(self.frameCurrColor)
+ self.btnSelectColor = QtWidgets.QPushButton(self.mainWidget)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnSelectColor.sizePolicy().hasHeightForWidth())
+ self.btnSelectColor.setSizePolicy(sizePolicy)
+ self.btnSelectColor.setMaximumSize(QtCore.QSize(25, 25))
+ self.btnSelectColor.setBaseSize(QtCore.QSize(32, 32))
+ self.btnSelectColor.setAutoFillBackground(False)
+ self.btnSelectColor.setStyleSheet("")
+ self.btnSelectColor.setText("")
+ icon23 = QtGui.QIcon()
+ icon23.addPixmap(QtGui.QPixmap(":/icons/android-color-palette.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnSelectColor.setIcon(icon23)
+ self.btnSelectColor.setIconSize(QtCore.QSize(16, 16))
+ self.btnSelectColor.setDefault(False)
+ self.btnSelectColor.setFlat(True)
+ self.btnSelectColor.setObjectName("btnSelectColor")
+ self.addOption.addWidget(self.btnSelectColor)
+ self.verticalLayout_2.addLayout(self.addOption)
+ self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
+ self.horizontalLayout_7.setContentsMargins(-1, 6, -1, -1)
+ self.horizontalLayout_7.setSpacing(6)
+ self.horizontalLayout_7.setObjectName("horizontalLayout_7")
+ self.formFrame = QtWidgets.QFrame(self.mainWidget)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.formFrame.sizePolicy().hasHeightForWidth())
+ self.formFrame.setSizePolicy(sizePolicy)
+ self.formFrame.setFrameShape(QtWidgets.QFrame.NoFrame)
+ self.formFrame.setFrameShadow(QtWidgets.QFrame.Plain)
+ self.formFrame.setLineWidth(0)
+ self.formFrame.setObjectName("formFrame")
+ self.formLayout = QtWidgets.QFormLayout(self.formFrame)
+ self.formLayout.setContentsMargins(0, 0, 0, 0)
+ self.formLayout.setSpacing(0)
+ self.formLayout.setObjectName("formLayout")
+ self.btnOpenPoly = QtWidgets.QPushButton(self.formFrame)
+ self.btnOpenPoly.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnOpenPoly.sizePolicy().hasHeightForWidth())
+ self.btnOpenPoly.setSizePolicy(sizePolicy)
+ self.btnOpenPoly.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnOpenPoly.setText("")
+ icon24 = QtGui.QIcon()
+ icon24.addPixmap(QtGui.QPixmap(":/icons/openpolygon.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnOpenPoly.setIcon(icon24)
+ self.btnOpenPoly.setIconSize(QtCore.QSize(16, 16))
+ self.btnOpenPoly.setCheckable(True)
+ self.btnOpenPoly.setFlat(True)
+ self.btnOpenPoly.setObjectName("btnOpenPoly")
+ self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.btnOpenPoly)
+ self.btnClosedPoly = QtWidgets.QPushButton(self.formFrame)
+ self.btnClosedPoly.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnClosedPoly.sizePolicy().hasHeightForWidth())
+ self.btnClosedPoly.setSizePolicy(sizePolicy)
+ self.btnClosedPoly.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnClosedPoly.setText("")
+ icon25 = QtGui.QIcon()
+ icon25.addPixmap(QtGui.QPixmap(":/icons/closedpolygon.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnClosedPoly.setIcon(icon25)
+ self.btnClosedPoly.setIconSize(QtCore.QSize(16, 16))
+ self.btnClosedPoly.setCheckable(True)
+ self.btnClosedPoly.setFlat(True)
+ self.btnClosedPoly.setObjectName("btnClosedPoly")
+ self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.btnClosedPoly)
+ self.btnOpenCurve = QtWidgets.QPushButton(self.formFrame)
+ self.btnOpenCurve.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnOpenCurve.sizePolicy().hasHeightForWidth())
+ self.btnOpenCurve.setSizePolicy(sizePolicy)
+ self.btnOpenCurve.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnOpenCurve.setText("")
+ icon26 = QtGui.QIcon()
+ icon26.addPixmap(QtGui.QPixmap(":/icons/opencurve.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnOpenCurve.setIcon(icon26)
+ self.btnOpenCurve.setIconSize(QtCore.QSize(16, 16))
+ self.btnOpenCurve.setCheckable(True)
+ self.btnOpenCurve.setFlat(True)
+ self.btnOpenCurve.setObjectName("btnOpenCurve")
+ self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.btnOpenCurve)
+ self.btnClosedCurve = QtWidgets.QPushButton(self.formFrame)
+ self.btnClosedCurve.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnClosedCurve.sizePolicy().hasHeightForWidth())
+ self.btnClosedCurve.setSizePolicy(sizePolicy)
+ self.btnClosedCurve.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnClosedCurve.setText("")
+ icon27 = QtGui.QIcon()
+ icon27.addPixmap(QtGui.QPixmap(":/icons/closedcurve.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnClosedCurve.setIcon(icon27)
+ self.btnClosedCurve.setIconSize(QtCore.QSize(16, 16))
+ self.btnClosedCurve.setCheckable(True)
+ self.btnClosedCurve.setFlat(True)
+ self.btnClosedCurve.setObjectName("btnClosedCurve")
+ self.formLayout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.btnClosedCurve)
+ self.btnAddPoly = QtWidgets.QPushButton(self.formFrame)
+ self.btnAddPoly.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnAddPoly.sizePolicy().hasHeightForWidth())
+ self.btnAddPoly.setSizePolicy(sizePolicy)
+ self.btnAddPoly.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnAddPoly.setText("")
+ icon28 = QtGui.QIcon()
+ icon28.addPixmap(QtGui.QPixmap(":/icons/triangle-stroked-15.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnAddPoly.setIcon(icon28)
+ self.btnAddPoly.setIconSize(QtCore.QSize(16, 16))
+ self.btnAddPoly.setCheckable(True)
+ self.btnAddPoly.setFlat(True)
+ self.btnAddPoly.setObjectName("btnAddPoly")
+ self.formLayout.setWidget(8, QtWidgets.QFormLayout.LabelRole, self.btnAddPoly)
+ self.btnAddCircle = QtWidgets.QPushButton(self.formFrame)
+ self.btnAddCircle.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnAddCircle.sizePolicy().hasHeightForWidth())
+ self.btnAddCircle.setSizePolicy(sizePolicy)
+ self.btnAddCircle.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnAddCircle.setText("")
+ icon29 = QtGui.QIcon()
+ icon29.addPixmap(QtGui.QPixmap(":/icons/circle.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnAddCircle.setIcon(icon29)
+ self.btnAddCircle.setIconSize(QtCore.QSize(16, 16))
+ self.btnAddCircle.setCheckable(True)
+ self.btnAddCircle.setFlat(True)
+ self.btnAddCircle.setObjectName("btnAddCircle")
+ self.formLayout.setWidget(10, QtWidgets.QFormLayout.LabelRole, self.btnAddCircle)
+ self.btnAddLabel = QtWidgets.QPushButton(self.formFrame)
+ self.btnAddLabel.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnAddLabel.sizePolicy().hasHeightForWidth())
+ self.btnAddLabel.setSizePolicy(sizePolicy)
+ self.btnAddLabel.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnAddLabel.setText("")
+ icon30 = QtGui.QIcon()
+ icon30.addPixmap(QtGui.QPixmap(":/icons/text.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnAddLabel.setIcon(icon30)
+ self.btnAddLabel.setIconSize(QtCore.QSize(16, 16))
+ self.btnAddLabel.setCheckable(True)
+ self.btnAddLabel.setFlat(True)
+ self.btnAddLabel.setObjectName("btnAddLabel")
+ self.formLayout.setWidget(11, QtWidgets.QFormLayout.LabelRole, self.btnAddLabel)
+ self.btnAddFreehand = QtWidgets.QPushButton(self.formFrame)
+ self.btnAddFreehand.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnAddFreehand.sizePolicy().hasHeightForWidth())
+ self.btnAddFreehand.setSizePolicy(sizePolicy)
+ self.btnAddFreehand.setMaximumSize(QtCore.QSize(32, 32))
+ self.btnAddFreehand.setText("")
+ icon31 = QtGui.QIcon()
+ icon31.addPixmap(QtGui.QPixmap(":/icons/brush.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnAddFreehand.setIcon(icon31)
+ self.btnAddFreehand.setIconSize(QtCore.QSize(16, 16))
+ self.btnAddFreehand.setCheckable(True)
+ self.btnAddFreehand.setFlat(True)
+ self.btnAddFreehand.setObjectName("btnAddFreehand")
+ self.formLayout.setWidget(12, QtWidgets.QFormLayout.LabelRole, self.btnAddFreehand)
+ self.horizontalLayout_7.addWidget(self.formFrame)
+ self.imgFrame = QtWidgets.QFrame(self.mainWidget)
+ self.imgFrame.setMinimumSize(QtCore.QSize(0, 6))
+ self.imgFrame.setMouseTracking(True)
+ self.imgFrame.setFrameShape(QtWidgets.QFrame.NoFrame)
+ self.imgFrame.setFrameShadow(QtWidgets.QFrame.Raised)
+ self.imgFrame.setObjectName("imgFrame")
+ self.gridLayout = QtWidgets.QGridLayout(self.imgFrame)
+ self.gridLayout.setContentsMargins(0, 0, 0, 0)
+ self.gridLayout.setSpacing(0)
+ self.gridLayout.setObjectName("gridLayout")
+ self.imgLabel = QtWidgets.QLabel(self.imgFrame)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.imgLabel.sizePolicy().hasHeightForWidth())
+ self.imgLabel.setSizePolicy(sizePolicy)
+ self.imgLabel.setMouseTracking(True)
+ self.imgLabel.setFrameShape(QtWidgets.QFrame.Panel)
+ self.imgLabel.setText("")
+ self.imgLabel.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+ self.imgLabel.setObjectName("imgLabel")
+ self.gridLayout.addWidget(self.imgLabel, 0, 1, 1, 1)
+ self.horizontalLayout_7.addWidget(self.imgFrame)
+ self.verticalLayout_2.addLayout(self.horizontalLayout_7)
+ self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+ self.horizontalLayout_3.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
+ self.horizontalLayout_3.setContentsMargins(-1, 0, -1, -1)
+ self.horizontalLayout_3.setSpacing(0)
+ self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+ self.btnTogglePython = QtWidgets.QPushButton(self.mainWidget)
+ self.btnTogglePython.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnTogglePython.sizePolicy().hasHeightForWidth())
+ self.btnTogglePython.setSizePolicy(sizePolicy)
+ self.btnTogglePython.setText("")
+ icon32 = QtGui.QIcon()
+ icon32.addPixmap(QtGui.QPixmap(":/icons/social-python.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnTogglePython.setIcon(icon32)
+ self.btnTogglePython.setIconSize(QtCore.QSize(16, 16))
+ self.btnTogglePython.setCheckable(True)
+ self.btnTogglePython.setFlat(True)
+ self.btnTogglePython.setObjectName("btnTogglePython")
+ self.horizontalLayout_3.addWidget(self.btnTogglePython)
+ self.txtTerminalPrompt = QtWidgets.QLineEdit(self.mainWidget)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.txtTerminalPrompt.sizePolicy().hasHeightForWidth())
+ self.txtTerminalPrompt.setSizePolicy(sizePolicy)
+ self.txtTerminalPrompt.setObjectName("txtTerminalPrompt")
+ self.horizontalLayout_3.addWidget(self.txtTerminalPrompt)
+ self.btnEnterCommand = QtWidgets.QPushButton(self.mainWidget)
+ self.btnEnterCommand.setEnabled(True)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnEnterCommand.sizePolicy().hasHeightForWidth())
+ self.btnEnterCommand.setSizePolicy(sizePolicy)
+ self.btnEnterCommand.setText("")
+ icon33 = QtGui.QIcon()
+ icon33.addPixmap(QtGui.QPixmap(":/icons/subdirectory-left.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.btnEnterCommand.setIcon(icon33)
+ self.btnEnterCommand.setIconSize(QtCore.QSize(16, 16))
+ self.btnEnterCommand.setFlat(True)
+ self.btnEnterCommand.setObjectName("btnEnterCommand")
+ self.horizontalLayout_3.addWidget(self.btnEnterCommand)
+ self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+ self.horizontalLayout_2.addLayout(self.verticalLayout_2)
+ self.verticalLayout.addLayout(self.horizontalLayout_2)
+ self.horizontalLayout_4.addWidget(self.mainWidget)
+ MainWindow.setCentralWidget(self.centralwidget)
+ self.menubar = QtWidgets.QMenuBar(MainWindow)
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 1000, 26))
+ self.menubar.setObjectName("menubar")
+ self.menuFIle = QtWidgets.QMenu(self.menubar)
+ self.menuFIle.setObjectName("menuFIle")
+ self.menuOpenRecent = QtWidgets.QMenu(self.menuFIle)
+ self.menuOpenRecent.setObjectName("menuOpenRecent")
+ self.menuEdit = QtWidgets.QMenu(self.menubar)
+ self.menuEdit.setObjectName("menuEdit")
+ self.menuOptions = QtWidgets.QMenu(self.menubar)
+ self.menuOptions.setObjectName("menuOptions")
+ self.menuHelp = QtWidgets.QMenu(self.menubar)
+ self.menuHelp.setObjectName("menuHelp")
+ self.menuTools = QtWidgets.QMenu(self.menubar)
+ self.menuTools.setObjectName("menuTools")
+ MainWindow.setMenuBar(self.menubar)
+ self.statusbar = QtWidgets.QStatusBar(MainWindow)
+ self.statusbar.setSizeGripEnabled(False)
+ self.statusbar.setObjectName("statusbar")
+ MainWindow.setStatusBar(self.statusbar)
+ self.actionAbout = QtWidgets.QAction(MainWindow)
+ self.actionAbout.setObjectName("actionAbout")
+ self.actionManual = QtWidgets.QAction(MainWindow)
+ self.actionManual.setObjectName("actionManual")
+ self.actionSettings = QtWidgets.QAction(MainWindow)
+ self.actionSettings.setObjectName("actionSettings")
+ self.actionPause = QtWidgets.QAction(MainWindow)
+ self.actionPause.setObjectName("actionPause")
+ self.actionSaveAs = QtWidgets.QAction(MainWindow)
+ self.actionSaveAs.setObjectName("actionSaveAs")
+ self.actionEnterCommand = QtWidgets.QAction(MainWindow)
+ self.actionEnterCommand.setObjectName("actionEnterCommand")
+ self.actionQuit = QtWidgets.QAction(MainWindow)
+ self.actionQuit.setObjectName("actionQuit")
+ self.actionUndo = QtWidgets.QAction(MainWindow)
+ self.actionUndo.setEnabled(False)
+ self.actionUndo.setObjectName("actionUndo")
+ self.actionRedo = QtWidgets.QAction(MainWindow)
+ self.actionRedo.setEnabled(False)
+ self.actionRedo.setObjectName("actionRedo")
+ self.actionShow_Grid = QtWidgets.QAction(MainWindow)
+ self.actionShow_Grid.setObjectName("actionShow_Grid")
+ self.actionShow_Local_Grid = QtWidgets.QAction(MainWindow)
+ self.actionShow_Local_Grid.setObjectName("actionShow_Local_Grid")
+ self.actionTransform = QtWidgets.QAction(MainWindow)
+ self.actionTransform.setObjectName("actionTransform")
+ self.actionExportAsymptote = QtWidgets.QAction(MainWindow)
+ self.actionExportAsymptote.setObjectName("actionExportAsymptote")
+ self.actionSave = QtWidgets.QAction(MainWindow)
+ self.actionSave.setObjectName("actionSave")
+ self.actionOpen = QtWidgets.QAction(MainWindow)
+ self.actionOpen.setObjectName("actionOpen")
+ self.actionClearRecent = QtWidgets.QAction(MainWindow)
+ self.actionClearRecent.setObjectName("actionClearRecent")
+ self.actionNewFile = QtWidgets.QAction(MainWindow)
+ self.actionNewFile.setObjectName("actionNewFile")
+ self.actionExportToAsy = QtWidgets.QAction(MainWindow)
+ self.actionExportToAsy.setObjectName("actionExportToAsy")
+ self.actionKeymaps = QtWidgets.QAction(MainWindow)
+ self.actionKeymaps.setObjectName("actionKeymaps")
+ self.menuOpenRecent.addSeparator()
+ self.menuOpenRecent.addAction(self.actionClearRecent)
+ self.menuFIle.addAction(self.actionNewFile)
+ self.menuFIle.addAction(self.actionOpen)
+ self.menuFIle.addAction(self.menuOpenRecent.menuAction())
+ self.menuFIle.addAction(self.actionSave)
+ self.menuFIle.addAction(self.actionSaveAs)
+ self.menuFIle.addAction(self.actionExportToAsy)
+ self.menuFIle.addAction(self.actionExportAsymptote)
+ self.menuFIle.addSeparator()
+ self.menuFIle.addAction(self.actionQuit)
+ self.menuEdit.addAction(self.actionUndo)
+ self.menuEdit.addAction(self.actionRedo)
+ self.menuEdit.addSeparator()
+ self.menuOptions.addAction(self.actionSettings)
+ self.menuOptions.addAction(self.actionKeymaps)
+ self.menuHelp.addAction(self.actionManual)
+ self.menuHelp.addAction(self.actionAbout)
+ self.menuTools.addAction(self.actionEnterCommand)
+ self.menubar.addAction(self.menuFIle.menuAction())
+ self.menubar.addAction(self.menuEdit.menuAction())
+ self.menubar.addAction(self.menuOptions.menuAction())
+ self.menubar.addAction(self.menuTools.menuAction())
+ self.menubar.addAction(self.menuHelp.menuAction())
+
+ self.retranslateUi(MainWindow)
+ self.comboAnchor.setCurrentIndex(0)
+ QtCore.QMetaObject.connectSlotsByName(MainWindow)
+
+ def retranslateUi(self, MainWindow):
+ _translate = QtCore.QCoreApplication.translate
+ MainWindow.setWindowTitle(_translate("MainWindow", "xasy"))
+ self.btnUndo.setToolTip(_translate("MainWindow", "Undo"))
+ self.btnRedo.setToolTip(_translate("MainWindow", "Redo"))
+ self.btnLoadFile.setToolTip(_translate("MainWindow", "<html><head/><body><p>Open file</p></body></html>"))
+ self.btnSave.setToolTip(_translate("MainWindow", "<html><head/><body><p>Save file</p></body></html>"))
+ self.btnViewCode.setToolTip(_translate("MainWindow", "<html><head/><body><p>Edit code</p></body></html>"))
+ self.btnQuickScreenshot.setToolTip(_translate("MainWindow", "<html><head/><body><p>Screenshot</p></body></html>"))
+ self.btnDrawAxes.setToolTip(_translate("MainWindow", "<html><head/><body><p>Toggle display axes</p></body></html>"))
+ self.btnDrawGrid.setToolTip(_translate("MainWindow", "<html><head/><body><p>Toggle grid</p></body></html>"))
+ self.btnSetZoom.setToolTip(_translate("MainWindow", "Zoom"))
+ self.btnPanCenter.setToolTip(_translate("MainWindow", "<html><head/><body><p>Center</p></body></html>"))
+ self.btnResetPan.setToolTip(_translate("MainWindow", "<html><head/><body><p>Center about origin</p></body></html>"))
+ self.btnAlignX.setToolTip(_translate("MainWindow", "<html><head/><body><p>Lock transform to X axis</p></body></html>"))
+ self.btnAlignX.setText(_translate("MainWindow", "X"))
+ self.btnAlignY.setToolTip(_translate("MainWindow", "<html><head/><body><p>Lock transform to Y axis</p></body></html>"))
+ self.btnAlignY.setText(_translate("MainWindow", "Y"))
+ self.btnSelectEdit.setToolTip(_translate("MainWindow", "<html><head/><body><p>Bézier editor</p></body></html>"))
+ self.btnDeleteMode.setToolTip(_translate("MainWindow", "<html><head/><body><p>Delete</p></body></html>"))
+ self.btnPan.setToolTip(_translate("MainWindow", "Pan"))
+ self.btnTranslate.setToolTip(_translate("MainWindow", "Translate"))
+ self.btnScale.setToolTip(_translate("MainWindow", "Scale"))
+ self.btnRotate.setToolTip(_translate("MainWindow", "Rotate"))
+ self.btnAnchor.setToolTip(_translate("MainWindow", "<html><head/><body><p>Set custom anchor</p></body></html>"))
+ self.comboAnchor.setToolTip(_translate("MainWindow", "<html><head/><body><p>Anchor</p></body></html>"))
+ self.comboAnchor.setCurrentText(_translate("MainWindow", "Center"))
+ self.comboAnchor.setItemText(0, _translate("MainWindow", "Center"))
+ self.comboAnchor.setItemText(1, _translate("MainWindow", "Origin"))
+ self.comboAnchor.setItemText(2, _translate("MainWindow", "Top Left"))
+ self.comboAnchor.setItemText(3, _translate("MainWindow", "Top Right"))
+ self.comboAnchor.setItemText(4, _translate("MainWindow", "Bottom Right"))
+ self.comboAnchor.setItemText(5, _translate("MainWindow", "Bottom Left"))
+ self.comboAnchor.setItemText(6, _translate("MainWindow", "Custom"))
+ self.btnCustTransform.setToolTip(_translate("MainWindow", "<html><head/><body><p><br/></p></body></html>"))
+ self.btnSendBackwards.setToolTip(_translate("MainWindow", "<html><head/><body><p><br/></p></body></html>"))
+ self.btnSendForwards.setToolTip(_translate("MainWindow", "Translate"))
+ self.btnFill.setToolTip(_translate("MainWindow", "<html><head/><body><p>Toggle fill/outline</p></body></html>"))
+ self.label.setText(_translate("MainWindow", "Line Width:"))
+ self.txtLineWidth.setToolTip(_translate("MainWindow", "<html><head/><body><p>Current pen width</p></body></html>"))
+ self.frameCurrColor.setToolTip(_translate("MainWindow", "<html><head/><body><p>Current pen color</p></body></html>"))
+ self.btnSelectColor.setToolTip(_translate("MainWindow", "<html><head/><body><p>Set color</p></body></html>"))
+ self.btnOpenPoly.setToolTip(_translate("MainWindow", "<html><head/><body><p>Open polygon</p></body></html>"))
+ self.btnClosedPoly.setToolTip(_translate("MainWindow", "<html><head/><body><p>Closed polygon</p></body></html>"))
+ self.btnOpenCurve.setToolTip(_translate("MainWindow", "<html><head/><body><p>Open Bézier curve</p></body></html>"))
+ self.btnClosedCurve.setToolTip(_translate("MainWindow", "<html><head/><body><p>Closed Bézier curve</p></body></html>"))
+ self.btnAddPoly.setToolTip(_translate("MainWindow", "<html><head/><body><p>Regular polygon</p></body></html>"))
+ self.btnAddCircle.setToolTip(_translate("MainWindow", "<html><head/><body><p>Circle</p></body></html>"))
+ self.btnAddLabel.setToolTip(_translate("MainWindow", "<html><head/><body><p>Text</p></body></html>"))
+ self.btnAddFreehand.setToolTip(_translate("MainWindow", "<html><head/><body><p>Freehand</p></body></html>"))
+ self.menuFIle.setTitle(_translate("MainWindow", "&File"))
+ self.menuOpenRecent.setTitle(_translate("MainWindow", "Open Recent"))
+ self.menuEdit.setTitle(_translate("MainWindow", "&Edit"))
+ self.menuOptions.setTitle(_translate("MainWindow", "Optio&ns"))
+ self.menuHelp.setTitle(_translate("MainWindow", "&Help"))
+ self.menuTools.setTitle(_translate("MainWindow", "&Tools"))
+ self.actionAbout.setText(_translate("MainWindow", "&About"))
+ self.actionManual.setText(_translate("MainWindow", "&Manual"))
+ self.actionSettings.setText(_translate("MainWindow", "&Settings"))
+ self.actionPause.setText(_translate("MainWindow", "Pause "))
+ self.actionSaveAs.setText(_translate("MainWindow", "&Save as"))
+ self.actionEnterCommand.setText(_translate("MainWindow", "&Enter Command"))
+ self.actionQuit.setText(_translate("MainWindow", "&Quit"))
+ self.actionUndo.setText(_translate("MainWindow", "&Undo"))
+ self.actionRedo.setText(_translate("MainWindow", "&Redo"))
+ self.actionShow_Grid.setText(_translate("MainWindow", "&Show Grid"))
+ self.actionShow_Local_Grid.setText(_translate("MainWindow", "Show &Local Grid"))
+ self.actionTransform.setText(_translate("MainWindow", "&Transform"))
+ self.actionExportAsymptote.setText(_translate("MainWindow", "Export as..."))
+ self.actionSave.setText(_translate("MainWindow", "Save"))
+ self.actionOpen.setText(_translate("MainWindow", "Open"))
+ self.actionClearRecent.setText(_translate("MainWindow", "Clear Menu"))
+ self.actionNewFile.setText(_translate("MainWindow", "New File"))
+ self.actionExportToAsy.setText(_translate("MainWindow", "Export as Asy"))
+ self.actionKeymaps.setText(_translate("MainWindow", "&Keymaps"))
+from xasyicons import icons_rc
Property changes on: trunk/Build/source/utils/asymptote/GUI/xasyqtui/window1.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/utils/asymptote/GUI/xasyversion/version.py
===================================================================
--- trunk/Build/source/utils/asymptote/GUI/xasyversion/version.py (rev 0)
+++ trunk/Build/source/utils/asymptote/GUI/xasyversion/version.py 2025-02-09 21:47:36 UTC (rev 73825)
@@ -0,0 +1 @@
+VERSION="2.98"
Property changes on: trunk/Build/source/utils/asymptote/GUI/xasyversion/version.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Build/source/utils/asymptote/LspCpp/cmake_install.cmake
===================================================================
--- trunk/Build/source/utils/asymptote/LspCpp/cmake_install.cmake 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/LspCpp/cmake_install.cmake 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,67 +0,0 @@
-# Install script for directory: /usr/local/src/asymptote-2.96/LspCpp
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "0")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
-# Set path to fallback-tool for dependency-resolution.
-if(NOT DEFINED CMAKE_OBJDUMP)
- set(CMAKE_OBJDUMP "/bin/objdump")
-endif()
-
-if(NOT CMAKE_INSTALL_LOCAL_ONLY)
- # Include the install script for the subdirectory.
- include("/usr/local/src/asymptote-2.96/LspCpp/third_party/uri/cmake_install.cmake")
-endif()
-
-if(CMAKE_INSTALL_COMPONENT)
- if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$")
- set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
- else()
- string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}")
- set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt")
- unset(CMAKE_INST_COMP_HASH)
- endif()
-else()
- set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
-endif()
-
-if(NOT CMAKE_INSTALL_LOCAL_ONLY)
- string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
- "${CMAKE_INSTALL_MANIFEST_FILES}")
- file(WRITE "/usr/local/src/asymptote-2.96/LspCpp/${CMAKE_INSTALL_MANIFEST}"
- "${CMAKE_INSTALL_MANIFEST_CONTENT}")
-endif()
Modified: trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
===================================================================
--- trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake 2025-02-09 21:47:36 UTC (rev 73825)
@@ -2,8 +2,8 @@
# Generated by "Unix Makefiles" Generator, CMake Version 3.30
# Relative path conversion top directories.
-set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.96/LspCpp")
-set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.96/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.98/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.98/LspCpp")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
Modified: trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
===================================================================
--- trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make 2025-02-09 21:47:36 UTC (rev 73825)
@@ -56,10 +56,10 @@
EQUALS = =
# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.96/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.98/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.96/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.98/LspCpp
# Utility rule file for doc.
@@ -70,8 +70,8 @@
include third_party/uri/CMakeFiles/doc.dir/progress.make
third_party/uri/CMakeFiles/doc:
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/usr/local/src/asymptote-2.96/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating API documentation with Doxygen"
- cd /usr/local/src/asymptote-2.96/LspCpp/third_party/uri && /bin/doxygen /usr/local/src/asymptote-2.96/LspCpp/third_party/uri/Doxyfile
+ @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/usr/local/src/asymptote-2.98/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating API documentation with Doxygen"
+ cd /usr/local/src/asymptote-2.98/LspCpp/third_party/uri && /bin/doxygen /usr/local/src/asymptote-2.98/LspCpp/third_party/uri/Doxyfile
doc: third_party/uri/CMakeFiles/doc
doc: third_party/uri/CMakeFiles/doc.dir/build.make
@@ -82,10 +82,10 @@
.PHONY : third_party/uri/CMakeFiles/doc.dir/build
third_party/uri/CMakeFiles/doc.dir/clean:
- cd /usr/local/src/asymptote-2.96/LspCpp/third_party/uri && $(CMAKE_COMMAND) -P CMakeFiles/doc.dir/cmake_clean.cmake
+ cd /usr/local/src/asymptote-2.98/LspCpp/third_party/uri && $(CMAKE_COMMAND) -P CMakeFiles/doc.dir/cmake_clean.cmake
.PHONY : third_party/uri/CMakeFiles/doc.dir/clean
third_party/uri/CMakeFiles/doc.dir/depend:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.96/LspCpp /usr/local/src/asymptote-2.96/LspCpp/third_party/uri /usr/local/src/asymptote-2.96/LspCpp /usr/local/src/asymptote-2.96/LspCpp/third_party/uri /usr/local/src/asymptote-2.96/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake "--color=$(COLOR)"
+ cd /usr/local/src/asymptote-2.98/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.98/LspCpp /usr/local/src/asymptote-2.98/LspCpp/third_party/uri /usr/local/src/asymptote-2.98/LspCpp /usr/local/src/asymptote-2.98/LspCpp/third_party/uri /usr/local/src/asymptote-2.98/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake "--color=$(COLOR)"
.PHONY : third_party/uri/CMakeFiles/doc.dir/depend
Modified: trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/Doxyfile
===================================================================
--- trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/Doxyfile 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/Doxyfile 2025-02-09 21:47:36 UTC (rev 73825)
@@ -128,7 +128,7 @@
# If left blank the directory from which doxygen is run is used as the
# path to strip.
-STRIP_FROM_PATH = /usr/local/src/asymptote-2.96/LspCpp/third_party/uri/include/
+STRIP_FROM_PATH = /usr/local/src/asymptote-2.98/LspCpp/third_party/uri/include/
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
# the path mentioned in the documentation of a class, which tells
@@ -626,7 +626,7 @@
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
-INPUT = /usr/local/src/asymptote-2.96/LspCpp/third_party/uri/include
+INPUT = /usr/local/src/asymptote-2.98/LspCpp/third_party/uri/include
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -658,7 +658,7 @@
# Note that relative paths are relative to the directory from which doxygen is
# run.
-EXCLUDE = /usr/local/src/asymptote-2.96/LspCpp/third_party/uri/include/network/uri/detail
+EXCLUDE = /usr/local/src/asymptote-2.98/LspCpp/third_party/uri/include/network/uri/detail
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
@@ -821,7 +821,7 @@
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
# should be ignored while generating the index headers.
-IGNORE_PREFIX = /usr/local/src/asymptote-2.96/LspCpp/third_party/uri/uri/src/
+IGNORE_PREFIX = /usr/local/src/asymptote-2.98/LspCpp/third_party/uri/uri/src/
#---------------------------------------------------------------------------
# configuration options related to the HTML output
Deleted: trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/Makefile
===================================================================
--- trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/Makefile 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/Makefile 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,207 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.30
-
-# Default target executed when no arguments are given to make.
-default_target: all
-.PHONY : default_target
-
-# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-.NOTPARALLEL:
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-# Disable VCS-based implicit rules.
-% : %,v
-
-# Disable VCS-based implicit rules.
-% : RCS/%
-
-# Disable VCS-based implicit rules.
-% : RCS/%,v
-
-# Disable VCS-based implicit rules.
-% : SCCS/s.%
-
-# Disable VCS-based implicit rules.
-% : s.%
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-# Produce verbose output by default.
-VERBOSE = 1
-
-# Command-line flag to silence nested $(MAKE).
-$(VERBOSE)MAKESILENT = -s
-
-#Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-# A target that is always out of date.
-cmake_force:
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/bin/cmake
-
-# The command to remove a file.
-RM = /usr/bin/cmake -E rm -f
-
-# Escaping for special characters.
-EQUALS = =
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.96/LspCpp
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.96/LspCpp
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target edit_cache
-edit_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
- /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-.PHONY : edit_cache/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
- /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-.PHONY : rebuild_cache/fast
-
-# Special rule for the target list_install_components
-list_install_components:
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-.PHONY : list_install_components/fast
-
-# Special rule for the target install
-install: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target install/local
-install/local: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local/fast
-
-# Special rule for the target install/strip
-install/strip: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip/fast
-
-# The main all target
-all: cmake_check_build_system
- cd /usr/local/src/asymptote-2.96/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.96/LspCpp/CMakeFiles /usr/local/src/asymptote-2.96/LspCpp/third_party/uri//CMakeFiles/progress.marks
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/all
- $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.96/LspCpp/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Convenience name for target.
-third_party/uri/CMakeFiles/doc.dir/rule:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/CMakeFiles/doc.dir/rule
-.PHONY : third_party/uri/CMakeFiles/doc.dir/rule
-
-# Convenience name for target.
-doc: third_party/uri/CMakeFiles/doc.dir/rule
-.PHONY : doc
-
-# fast build rule for target.
-doc/fast:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/CMakeFiles/doc.dir/build.make third_party/uri/CMakeFiles/doc.dir/build
-.PHONY : doc/fast
-
-# Help Target
-help:
- @echo "The following are some of the valid targets for this Makefile:"
- @echo "... all (the default if no target is provided)"
- @echo "... clean"
- @echo "... depend"
- @echo "... edit_cache"
- @echo "... install"
- @echo "... install/local"
- @echo "... install/strip"
- @echo "... list_install_components"
- @echo "... rebuild_cache"
- @echo "... doc"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-
Deleted: trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/cmake_install.cmake
===================================================================
--- trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/cmake_install.cmake 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/cmake_install.cmake 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,54 +0,0 @@
-# Install script for directory: /usr/local/src/asymptote-2.96/LspCpp/third_party/uri
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "0")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
-# Set path to fallback-tool for dependency-resolution.
-if(NOT DEFINED CMAKE_OBJDUMP)
- set(CMAKE_OBJDUMP "/bin/objdump")
-endif()
-
-if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE DIRECTORY FILES "/usr/local/src/asymptote-2.96/LspCpp/third_party/uri/include")
-endif()
-
-if(NOT CMAKE_INSTALL_LOCAL_ONLY)
- # Include the install script for each subdirectory.
- include("/usr/local/src/asymptote-2.96/LspCpp/third_party/uri/src/cmake_install.cmake")
-
-endif()
-
Deleted: trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/src/Makefile
===================================================================
--- trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/src/Makefile 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/src/Makefile 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,423 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.30
-
-# Default target executed when no arguments are given to make.
-default_target: all
-.PHONY : default_target
-
-# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-.NOTPARALLEL:
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-# Disable VCS-based implicit rules.
-% : %,v
-
-# Disable VCS-based implicit rules.
-% : RCS/%
-
-# Disable VCS-based implicit rules.
-% : RCS/%,v
-
-# Disable VCS-based implicit rules.
-% : SCCS/s.%
-
-# Disable VCS-based implicit rules.
-% : s.%
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-# Produce verbose output by default.
-VERBOSE = 1
-
-# Command-line flag to silence nested $(MAKE).
-$(VERBOSE)MAKESILENT = -s
-
-#Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-# A target that is always out of date.
-cmake_force:
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/bin/cmake
-
-# The command to remove a file.
-RM = /usr/bin/cmake -E rm -f
-
-# Escaping for special characters.
-EQUALS = =
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.96/LspCpp
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.96/LspCpp
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target edit_cache
-edit_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
- /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-.PHONY : edit_cache/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
- /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-.PHONY : rebuild_cache/fast
-
-# Special rule for the target list_install_components
-list_install_components:
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-.PHONY : list_install_components/fast
-
-# Special rule for the target install
-install: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target install/local
-install/local: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local/fast
-
-# Special rule for the target install/strip
-install/strip: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip/fast
-
-# The main all target
-all: cmake_check_build_system
- cd /usr/local/src/asymptote-2.96/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.96/LspCpp/CMakeFiles /usr/local/src/asymptote-2.96/LspCpp/third_party/uri/src//CMakeFiles/progress.marks
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/all
- $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.96/LspCpp/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Convenience name for target.
-third_party/uri/src/CMakeFiles/network-uri.dir/rule:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/CMakeFiles/network-uri.dir/rule
-.PHONY : third_party/uri/src/CMakeFiles/network-uri.dir/rule
-
-# Convenience name for target.
-network-uri: third_party/uri/src/CMakeFiles/network-uri.dir/rule
-.PHONY : network-uri
-
-# fast build rule for target.
-network-uri/fast:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/build
-.PHONY : network-uri/fast
-
-detail/uri_advance_parts.o: detail/uri_advance_parts.cpp.o
-.PHONY : detail/uri_advance_parts.o
-
-# target to build an object file
-detail/uri_advance_parts.cpp.o:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
-.PHONY : detail/uri_advance_parts.cpp.o
-
-detail/uri_advance_parts.i: detail/uri_advance_parts.cpp.i
-.PHONY : detail/uri_advance_parts.i
-
-# target to preprocess a source file
-detail/uri_advance_parts.cpp.i:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i
-.PHONY : detail/uri_advance_parts.cpp.i
-
-detail/uri_advance_parts.s: detail/uri_advance_parts.cpp.s
-.PHONY : detail/uri_advance_parts.s
-
-# target to generate assembly for a file
-detail/uri_advance_parts.cpp.s:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s
-.PHONY : detail/uri_advance_parts.cpp.s
-
-detail/uri_normalize.o: detail/uri_normalize.cpp.o
-.PHONY : detail/uri_normalize.o
-
-# target to build an object file
-detail/uri_normalize.cpp.o:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
-.PHONY : detail/uri_normalize.cpp.o
-
-detail/uri_normalize.i: detail/uri_normalize.cpp.i
-.PHONY : detail/uri_normalize.i
-
-# target to preprocess a source file
-detail/uri_normalize.cpp.i:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i
-.PHONY : detail/uri_normalize.cpp.i
-
-detail/uri_normalize.s: detail/uri_normalize.cpp.s
-.PHONY : detail/uri_normalize.s
-
-# target to generate assembly for a file
-detail/uri_normalize.cpp.s:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s
-.PHONY : detail/uri_normalize.cpp.s
-
-detail/uri_parse.o: detail/uri_parse.cpp.o
-.PHONY : detail/uri_parse.o
-
-# target to build an object file
-detail/uri_parse.cpp.o:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
-.PHONY : detail/uri_parse.cpp.o
-
-detail/uri_parse.i: detail/uri_parse.cpp.i
-.PHONY : detail/uri_parse.i
-
-# target to preprocess a source file
-detail/uri_parse.cpp.i:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i
-.PHONY : detail/uri_parse.cpp.i
-
-detail/uri_parse.s: detail/uri_parse.cpp.s
-.PHONY : detail/uri_parse.s
-
-# target to generate assembly for a file
-detail/uri_parse.cpp.s:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s
-.PHONY : detail/uri_parse.cpp.s
-
-detail/uri_parse_authority.o: detail/uri_parse_authority.cpp.o
-.PHONY : detail/uri_parse_authority.o
-
-# target to build an object file
-detail/uri_parse_authority.cpp.o:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
-.PHONY : detail/uri_parse_authority.cpp.o
-
-detail/uri_parse_authority.i: detail/uri_parse_authority.cpp.i
-.PHONY : detail/uri_parse_authority.i
-
-# target to preprocess a source file
-detail/uri_parse_authority.cpp.i:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i
-.PHONY : detail/uri_parse_authority.cpp.i
-
-detail/uri_parse_authority.s: detail/uri_parse_authority.cpp.s
-.PHONY : detail/uri_parse_authority.s
-
-# target to generate assembly for a file
-detail/uri_parse_authority.cpp.s:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s
-.PHONY : detail/uri_parse_authority.cpp.s
-
-detail/uri_resolve.o: detail/uri_resolve.cpp.o
-.PHONY : detail/uri_resolve.o
-
-# target to build an object file
-detail/uri_resolve.cpp.o:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
-.PHONY : detail/uri_resolve.cpp.o
-
-detail/uri_resolve.i: detail/uri_resolve.cpp.i
-.PHONY : detail/uri_resolve.i
-
-# target to preprocess a source file
-detail/uri_resolve.cpp.i:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i
-.PHONY : detail/uri_resolve.cpp.i
-
-detail/uri_resolve.s: detail/uri_resolve.cpp.s
-.PHONY : detail/uri_resolve.s
-
-# target to generate assembly for a file
-detail/uri_resolve.cpp.s:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s
-.PHONY : detail/uri_resolve.cpp.s
-
-uri.o: uri.cpp.o
-.PHONY : uri.o
-
-# target to build an object file
-uri.cpp.o:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
-.PHONY : uri.cpp.o
-
-uri.i: uri.cpp.i
-.PHONY : uri.i
-
-# target to preprocess a source file
-uri.cpp.i:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.i
-.PHONY : uri.cpp.i
-
-uri.s: uri.cpp.s
-.PHONY : uri.s
-
-# target to generate assembly for a file
-uri.cpp.s:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.s
-.PHONY : uri.cpp.s
-
-uri_builder.o: uri_builder.cpp.o
-.PHONY : uri_builder.o
-
-# target to build an object file
-uri_builder.cpp.o:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
-.PHONY : uri_builder.cpp.o
-
-uri_builder.i: uri_builder.cpp.i
-.PHONY : uri_builder.i
-
-# target to preprocess a source file
-uri_builder.cpp.i:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.i
-.PHONY : uri_builder.cpp.i
-
-uri_builder.s: uri_builder.cpp.s
-.PHONY : uri_builder.s
-
-# target to generate assembly for a file
-uri_builder.cpp.s:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.s
-.PHONY : uri_builder.cpp.s
-
-uri_errors.o: uri_errors.cpp.o
-.PHONY : uri_errors.o
-
-# target to build an object file
-uri_errors.cpp.o:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
-.PHONY : uri_errors.cpp.o
-
-uri_errors.i: uri_errors.cpp.i
-.PHONY : uri_errors.i
-
-# target to preprocess a source file
-uri_errors.cpp.i:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.i
-.PHONY : uri_errors.cpp.i
-
-uri_errors.s: uri_errors.cpp.s
-.PHONY : uri_errors.s
-
-# target to generate assembly for a file
-uri_errors.cpp.s:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.s
-.PHONY : uri_errors.cpp.s
-
-# Help Target
-help:
- @echo "The following are some of the valid targets for this Makefile:"
- @echo "... all (the default if no target is provided)"
- @echo "... clean"
- @echo "... depend"
- @echo "... edit_cache"
- @echo "... install"
- @echo "... install/local"
- @echo "... install/strip"
- @echo "... list_install_components"
- @echo "... rebuild_cache"
- @echo "... network-uri"
- @echo "... detail/uri_advance_parts.o"
- @echo "... detail/uri_advance_parts.i"
- @echo "... detail/uri_advance_parts.s"
- @echo "... detail/uri_normalize.o"
- @echo "... detail/uri_normalize.i"
- @echo "... detail/uri_normalize.s"
- @echo "... detail/uri_parse.o"
- @echo "... detail/uri_parse.i"
- @echo "... detail/uri_parse.s"
- @echo "... detail/uri_parse_authority.o"
- @echo "... detail/uri_parse_authority.i"
- @echo "... detail/uri_parse_authority.s"
- @echo "... detail/uri_resolve.o"
- @echo "... detail/uri_resolve.i"
- @echo "... detail/uri_resolve.s"
- @echo "... uri.o"
- @echo "... uri.i"
- @echo "... uri.s"
- @echo "... uri_builder.o"
- @echo "... uri_builder.i"
- @echo "... uri_builder.s"
- @echo "... uri_errors.o"
- @echo "... uri_errors.i"
- @echo "... uri_errors.s"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
- cd /usr/local/src/asymptote-2.96/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-
Deleted: trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
===================================================================
--- trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,48 +0,0 @@
-# Install script for directory: /usr/local/src/asymptote-2.96/LspCpp/third_party/uri/src
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "0")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
-# Set path to fallback-tool for dependency-resolution.
-if(NOT DEFINED CMAKE_OBJDUMP)
- set(CMAKE_OBJDUMP "/bin/objdump")
-endif()
-
-if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/usr/local/src/asymptote-2.96/LspCpp/third_party/uri/src/libnetwork-uri.a")
-endif()
-
Modified: trunk/Build/source/utils/asymptote/LspCpp/third_party/uri/src/libnetwork-uri.a
===================================================================
(Binary files differ)
Modified: trunk/Build/source/utils/asymptote/Makefile.in
===================================================================
--- trunk/Build/source/utils/asymptote/Makefile.in 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/Makefile.in 2025-02-09 21:47:36 UTC (rev 73825)
@@ -176,8 +176,8 @@
all: asy sty man faq asy-keywords.el
$(GCLIB):
- ln -sf ../libatomic_ops libatomic_ops
- cd $(GC) && ./configure CC="$(CC)" CXX="$(CXX)" $(GCOPTIONS)
+ cd $(GC) && ln -sf ../libatomic_ops . && \
+ ./configure CC="$(CC)" CXX="$(CXX)" $(GCOPTIONS)
$(MAKE) -C $(GC) check
sty: doc/version.texi
@@ -367,18 +367,22 @@
clean: FORCE
-rm -f asy asymptote.so *.pic.o *.o *.d *.raw.i *mon.out $(CLEAN)
- -rm -f LspCpp/liblspcpp.a LspCpp/Makefile LspCpp/CMakeFiles
-cd LspCpp && $(MAKE) distclean
+ -cd LspCpp && rm -rf liblspcpp.a Makefile CMakeFiles third_party/uri/src/CMakeFiles
-cd tinyexr && $(MAKE) clean
- -cd GUI && $(PYTHON) buildtool.py clean
gc-clean: FORCE clean
-$(MAKE) -C $(GC) clean
cleaner: FORCE clean
+ -rm -rf __pycache__
+ -rm -rf GUI/__pycache__
+ -rm -rf GUI/pyUIClass/__pycache__
+ -rm -rf GUI/configs/__pycache__
-$(MAKE) -C $(GC) distclean
+ -cd $(GC) && rm -rf libatomic_ops .deps cord/.deps cord/tests/.deps extra/.deps tests/.deps
-rm -f Makefile config.h config.log config.status errors.temp
- -rm -f LspCpp/CMakeCache.txt
+ -rm -rf LspCpp/CMakeCache.txt
cd doc && $(MAKE) clean
cd tests && $(MAKE) distclean
@@ -389,6 +393,7 @@
maintainer-clean: FORCE distclean
-rm -f configure config.h.in $(DIST)
-rm -rf autom4te.cache
+ -cd GUI && $(PYTHON) buildtool.py clean
-rm -rf GUI/pyUIClass
-rm -rf vcpkg_installed
Modified: trunk/Build/source/utils/asymptote/README
===================================================================
--- trunk/Build/source/utils/asymptote/README 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/README 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,5 +1,5 @@
ASYMPTOTE
- Copyright 2004-24 Andy Hammerlindl, John Bowman, and Tom Prince
+ Copyright 2004-25 Andy Hammerlindl, John Bowman, and Tom Prince
Asymptote is a powerful descriptive vector graphics language for technical
drawing, inspired by MetaPost but with an improved C++-like
Modified: trunk/Build/source/utils/asymptote/ReleaseNotes
===================================================================
--- trunk/Build/source/utils/asymptote/ReleaseNotes 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/ReleaseNotes 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,3 +1,11 @@
+Release Notes for Version 2.98
+
+Prebuilt Xasy support files are distributed again.
+
+Release Notes for Version 2.97
+
+Build issues were fixed.
+
Release Notes for Version 2.96
New keywords autounravel and using were added.
Modified: trunk/Build/source/utils/asymptote/asy-keywords.el
===================================================================
--- trunk/Build/source/utils/asymptote/asy-keywords.el 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/asy-keywords.el 2025-02-09 21:47:36 UTC (rev 73825)
@@ -2,7 +2,7 @@
;; This file is automatically generated by asy-list.py.
;; Changes will be overwritten.
;;
-(defvar asy-keywords-version "2.96")
+(defvar asy-keywords-version "2.98")
(defvar asy-keyword-name '(
and controls tension atleast curl if else while for do return break continue struct typedef using new access import unravel from include quote static autounravel public private restricted this explicit true false null cycle newframe operator ))
Modified: trunk/Build/source/utils/asymptote/asy.list
===================================================================
--- trunk/Build/source/utils/asymptote/asy.list 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/asy.list 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1985,9 +1985,9 @@
path section(path p, real t1, real t2, bool loop=<default>);
path removeDuplicates(path p);
void connect(path[] paths, path[] result, path[] patch);
+int countIntersections(path[] p, pair start, pair end);
bool checkSegment(path g, pair p, pair q);
path uncycle(path p, real t);
-int countIntersections(path[] p, pair start, pair end);
path subdivide(path p);
real fuzz;
real duplicateFuzz;
@@ -1994,21 +1994,21 @@
key nil;
real minDistDefault;
binarytreeNode binarytreeNode(int key);
+binarytreeNode operator init();
real nodeMarginDefault;
key operator cast(int n);
int operator cast(key k);
int[] operator cast(key[] k);
binarytree binarytree(... key[] keys);
+binarytree searchtree(... int[] keys);
key key(int n, bool active=<default>);
object draw(picture pic=<default>, binarytreeNode node, pair pos, int height, real minDist, real levelDist, real nodeDiameter, pen p=<default>, bool condensed=<default>);
void draw(picture pic=<default>, binarytree tree, real minDist=<default>, real nodeMargin=<default>, pen p=<default>, bool condensed=<default>);
-binarytreeNode operator init();
-binarytree searchtree(... int[] keys);
real epsilon;
-splitface split(face a, face cut, projection P);
line intersection(face a, face b);
picture operator cast(face f);
face operator cast(path3 p);
+splitface split(face a, face cut, projection P);
void add(picture pic=<default>, face[] faces, projection P=<default>);
list_data viridis;
list_data twilight;
@@ -2031,32 +2031,33 @@
list_data Set2;
list_data Reds;
list_data cividis;
-list_data Purples;
+list_data tab20b;
list_data inferno;
list_data RdPu;
list_data tab20;
seg_data summer;
+seg_data pink;
seg_data gray;
list_data twilight_shifted;
+seg_data bone;
list_data plasma;
seg_data spring;
+list_data Paired;
+list_data Purples;
+list_data tab10;
+list_data Pastel1;
seg_data autumn;
+list_data RdBu;
seg_data hsv;
-list_data RdBu;
-seg_data bone;
-list_data Greys;
-list_data tab10;
-list_data Pastel1;
seg_data coolwarm;
real[] makeMappingArray(int N, triple[] data, real gamma=<default>);
-list_data Paired;
+list_data Greys;
list_data Spectral;
-list_data tab20b;
list_data Set1;
list_data Set3;
-seg_data pink;
list_data magma;
list_data YlGnBu;
+list_data Greens;
list_data BrBG;
list_data OrRd;
list_data PuRd;
@@ -2063,7 +2064,6 @@
list_data PuBuGn;
list_data RdGy;
list_data YlOrBr;
-list_data Greens;
list_data Pastel2;
seg_data jet;
list_data Accent;
@@ -2101,8 +2101,8 @@
void addseg(pair[][] gds, segment seg);
void draw(picture pic=<default>, Label[] L=<default>, guide[][] g, pen[] p);
void draw(picture pic=<default>, Label[] L=<default>, guide[][] g, pen p=<default>);
+pen[] extend(pen[] palette, pen below, pen above);
void fill(picture pic=<default>, guide[][] g, pen[][] palette);
-pen[] extend(pen[] palette, pen below, pen above);
void drawAll(TreeNode node, frame f);
real layout(int level, TreeNode node);
real treeMinNodeWidth;
@@ -2139,19 +2139,17 @@
path photon(path p, real amp=<default>, real width=<default>);
void drawVertexBoxX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
path gluon(path p, real amp=<default>, real width=<default>);
-string includegraphicscommand;
-real linemargin;
+bool currentarrow(picture, path, pen, marginT(path, pen));
void drawDoubleLine(picture pic=<default>, path p, pen fgpen=<default>, real dlspacing=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>);
pen photonpen;
pen ghostpen;
+bool overpaint;
+real momarrowsize(pen p=<default>);
real momarrowoffset;
real doublelinespacing;
-bool currentmomarrow(picture, path, pen, marginT(path, pen));
-real momarrowsize(pen p=<default>);
-bool overpaint;
real gluonratio;
pen vertexpen;
-bool currentarrow(picture, path, pen, marginT(path, pen));
+bool currentmomarrow(picture, path, pen, marginT(path, pen));
real bigvertexsize;
void do_overpaint(picture pic, path p, pen bgpen, real halfwidth, real vertexangle);
real vertexsize;
@@ -2158,6 +2156,8 @@
bool YAlign;
pen momarrowpen;
pen bigvertexpen;
+string includegraphicscommand;
+real linemargin;
real gluonamplitude;
real photonratio;
real photonamplitude;
@@ -2425,9 +2425,10 @@
real EPS;
real binomial(real n, real k);
real Infinity;
+pair coordinates(point M);
void markangle(picture pic=<default>, Label L=<default>, int n=<default>, real radius=<default>, real space=<default>, explicit line l1, explicit line l2, explicit pair align=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, pen p=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>, marker marker=<default>);
void markangle(picture pic=<default>, Label L=<default>, int n=<default>, real radius=<default>, real space=<default>, explicit line l1, explicit line l2, explicit vector align, bool arrow(picture, path, pen, marginT(path, pen))=<default>, pen p=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>, marker marker=<default>);
-pair coordinates(point M);
+transform yscaleO(real x);
triangle triangleAbc(real alpha, real b, real c, real angle=<default>, point A=<default>);
int angularsystem;
transform scale(real k, point M);
@@ -2439,6 +2440,10 @@
bqe changecoordsys(coordsys R, bqe bqe);
conic changecoordsys(coordsys R, conic co);
int conicnodesfactor;
+bqe equation(ellipse el);
+bqe equation(parabola p);
+bqe equation(hyperbola h);
+bqe equation(explicit conic co);
point isotomicconjugate(triangle t, point M);
point operator +(explicit point P1, explicit point P2);
point operator +(explicit point P1, explicit pair p2);
@@ -2529,6 +2534,8 @@
point[] intersectionpoints(arc a1, arc a2);
point[] intersectionpoints(line l, arc a);
point[] intersectionpoints(arc a, line l);
+point midpoint(segment s);
+point midpoint(side side);
pair attract(pair m, path g, real fuzz=<default>);
point attract(point M, path g, real fuzz=<default>);
bool finite(explicit point p);
@@ -2535,28 +2542,17 @@
transform vprojection(line l, bool safe=<default>);
triangle medial(triangle t);
int[] numarray;
+path arctopath(arc a, int n);
bool byfoci;
-void label(picture pic=<default>, Label L, explicit mass M, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>);
-void label(picture pic=<default>, Label L, vertex V, pair align=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>);
-void label(picture pic=<default>, Label LA=<default>, Label LB=<default>, Label LC=<default>, triangle t, real alignAngle=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>);
-point midpoint(segment s);
-point midpoint(side side);
-line isotomic(vertex V, point M);
-point isotomic(side side, point M);
-triangle isotomic(triangle t, point M);
-int hyperbolanodesnumberfactor;
-int ellipsenodesnumber(real a, real b);
-int ellipsenodesnumber(real a, real b, real angle1, real angle2, bool dir);
+ellipse ellipse(point F1, point F2, real a);
+ellipse ellipse(point F1, point F2, point M);
+ellipse ellipse(point C, real a, real b, real angle=<default>);
+ellipse ellipse(bqe bqe);
+ellipse ellipse(point M1, point M2, point M3, point M4, point M5);
line reverse(line l);
arc reverse(arc a);
-void dot(picture pic=<default>, Label L, explicit point Z, align align=<default>, string format=<default>, pen p=<default>);
-real dot(point A, point B);
-real dot(point A, explicit pair B);
-real dot(explicit pair A, point B);
-void dot(picture pic=<default>, Label L, explicit mass M, align align=<default>, string format=<default>, pen p=<default>);
-void dot(picture pic=<default>, triangle t, pen p=<default>);
-bool isparabola(bqe bqe);
-real sharpdegrees(line l1, line l2);
+bool simeq(point A, point B, real fuzz=<default>);
+bool simeq(point a, real b, real fuzz=<default>);
real arclength(circle c);
real arclength(ellipse el);
real arclength(ellipse el, real angle1, real angle2, bool direction=<default>, path polarconicroutine(conic co, real angle1, real angle2, int n, bool direction)=<default>);
@@ -2572,47 +2568,9 @@
void write(explicit segment s);
void write(trilinear tri);
path arcfromfocus(conic co, real angle1, real angle2, int n=<default>, bool direction=<default>);
-void perpendicularmark(picture pic=<default>, point z, explicit pair align, explicit pair dir=<default>, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
-void perpendicularmark(picture pic=<default>, point z, vector align, vector dir=<default>, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
-void perpendicularmark(picture pic=<default>, point z, explicit pair align, path g, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
-void perpendicularmark(picture pic=<default>, point z, vector align, path g, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
-void perpendicularmark(picture pic=<default>, line l1, line l2, real size=<default>, pen p=<default>, int quarter=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
-string defaultmassformat;
-point relpoint(line l, real x);
-point relpoint(explicit circle c, real x);
-point relpoint(explicit ellipse el, real x);
-point relpoint(explicit parabola p, real x);
-point relpoint(explicit hyperbola h, real x);
-point relpoint(explicit conic co, explicit real x);
-point relpoint(explicit conic co, explicit int x);
-point relpoint(arc a, real x);
-arc arcsubtended(point A, point B, real angle);
-line[] operator ^^(line l1, line l2);
-line[] operator ^^(line l1, line[] l2);
-line[] operator ^^(line[] l2, line l1);
-line[] operator ^^(line[] l1, line[] l2);
-triangle[] operator ^^(triangle[] t1, triangle t2);
-triangle[] operator ^^(... triangle[] t);
-string conictype(bqe bqe);
-void fill(picture pic=<default>, circle c, pen p=<default>);
-void fill(picture pic=<default>, ellipse el, pen p=<default>);
-void fill(picture pic=<default>, triangle t, pen p=<default>);
-void fill(picture pic=<default>, triangle[] ts, pen p=<default>);
-segment segment(point A, point B);
-segment segment(line l);
-segment segment(explicit side side);
-int circlenodesnumber(real r);
-int circlenodesnumber(real r, real angle1, real angle2);
-line[] tangents(circle c, point M);
-line[] tangents(ellipse el, point M);
-line[] tangents(parabola p, point M);
-line[] tangents(hyperbola h, point M);
-bool sameside(point M, point N, point O);
-bool sameside(point M, point P, line l);
-point[] sameside(point M, line l1, line l2);
-path arctopath(arc a, int n);
-bool simeq(point A, point B, real fuzz=<default>);
-bool simeq(point a, real b, real fuzz=<default>);
+bqe bqe(coordsys R=<default>, real a, real b, real c, real d, real e, real f);
+bqe bqe(point M1, point M2, point M3, point M4, point M5);
+bool onpath(picture pic=<default>, path g, point M, pen p=<default>);
void addMargins(picture pic=<default>, real lmargin=<default>, real bmargin=<default>, real rmargin=<default>, real tmargin=<default>, bool rigid=<default>, bool allObject=<default>);
point point(coordsys R, pair p, real m=<default>);
point point(explicit pair p, real m);
@@ -2644,21 +2602,30 @@
point point(trilinear tri);
point point(circle c, point M);
point point(circle c, explicit vector v);
-triangle triangle(line l1, line l2, line l3);
-void draw(picture pic=<default>, Label L=<default>, line l, bool dirA=<default>, bool dirB=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label legend=<default>, marker marker=<default>, path pathModifier(path)=<default>);
-void draw(picture pic=<default>, Label[] L=<default>, line[] l, align align=<default>, pen[] p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label[] legend=<default>, marker marker=<default>, path pathModifier(path)=<default>);
-void draw(picture pic=<default>, Label[] L=<default>, line[] l, align align=<default>, pen p, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label[] legend=<default>, marker marker=<default>, path pathModifier(path)=<default>);
-void draw(picture pic=<default>, Label L=<default>, circle c, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
-void draw(picture pic=<default>, Label L=<default>, ellipse el, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
-void draw(picture pic=<default>, Label L=<default>, parabola parabola, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
-void draw(picture pic=<default>, Label L=<default>, hyperbola h, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
-void draw(picture pic=<default>, Label L=<default>, explicit conic co, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
-void draw(picture pic=<default>, Label L=<default>, arc a, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
-void draw(picture pic=<default>, triangle t, pen p=<default>, marker marker=<default>);
-void draw(picture pic=<default>, triangle[] ts, pen p=<default>, marker marker=<default>);
-bool onpath(picture pic=<default>, path g, point M, pen p=<default>);
-bqe bqe(coordsys R=<default>, real a, real b, real c, real d, real e, real f);
-bqe bqe(point M1, point M2, point M3, point M4, point M5);
+point relpoint(line l, real x);
+point relpoint(explicit circle c, real x);
+point relpoint(explicit ellipse el, real x);
+point relpoint(explicit parabola p, real x);
+point relpoint(explicit hyperbola h, real x);
+point relpoint(explicit conic co, explicit real x);
+point relpoint(explicit conic co, explicit int x);
+point relpoint(arc a, real x);
+arc arcsubtended(point A, point B, real angle);
+line[] operator ^^(line l1, line l2);
+line[] operator ^^(line l1, line[] l2);
+line[] operator ^^(line[] l2, line l1);
+line[] operator ^^(line[] l1, line[] l2);
+triangle[] operator ^^(triangle[] t1, triangle t2);
+triangle[] operator ^^(... triangle[] t);
+int circlenodesnumber(real r);
+int circlenodesnumber(real r, real angle1, real angle2);
+line[] tangents(circle c, point M);
+line[] tangents(ellipse el, point M);
+line[] tangents(parabola p, point M);
+line[] tangents(hyperbola h, point M);
+bool sameside(point M, point N, point O);
+bool sameside(point M, point P, line l);
+point[] sameside(point M, line l1, line l2);
pair operator *(coordsys R, pair p);
path operator *(coordsys R, path g);
coordsys operator *(transform t, coordsys R);
@@ -2746,8 +2713,6 @@
point operator cast(trilinear tri);
circle operator cast(inversion i);
inversion operator cast(circle c);
-bool inside(ellipse el, point M);
-bool inside(parabola p, point M);
real[] realquarticroots(real a, real b, real c, real d, real e);
path square(pair z1, pair z2);
real epsgeo;
@@ -2754,7 +2719,30 @@
bool degenerate(conic c);
bool degenerate(circle c);
bool degenerate(ellipse el);
-transform yscaleO(real x);
+triangle triangle(line l1, line l2, line l3);
+void draw(picture pic=<default>, Label L=<default>, line l, bool dirA=<default>, bool dirB=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label legend=<default>, marker marker=<default>, path pathModifier(path)=<default>);
+void draw(picture pic=<default>, Label[] L=<default>, line[] l, align align=<default>, pen[] p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label[] legend=<default>, marker marker=<default>, path pathModifier(path)=<default>);
+void draw(picture pic=<default>, Label[] L=<default>, line[] l, align align=<default>, pen p, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label[] legend=<default>, marker marker=<default>, path pathModifier(path)=<default>);
+void draw(picture pic=<default>, Label L=<default>, circle c, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
+void draw(picture pic=<default>, Label L=<default>, ellipse el, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
+void draw(picture pic=<default>, Label L=<default>, parabola parabola, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
+void draw(picture pic=<default>, Label L=<default>, hyperbola h, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
+void draw(picture pic=<default>, Label L=<default>, explicit conic co, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
+void draw(picture pic=<default>, Label L=<default>, arc a, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
+void draw(picture pic=<default>, triangle t, pen p=<default>, marker marker=<default>);
+void draw(picture pic=<default>, triangle[] ts, pen p=<default>, marker marker=<default>);
+line isotomic(vertex V, point M);
+point isotomic(side side, point M);
+triangle isotomic(triangle t, point M);
+int hyperbolanodesnumberfactor;
+int ellipsenodesnumber(real a, real b);
+int ellipsenodesnumber(real a, real b, real angle1, real angle2, bool dir);
+void perpendicularmark(picture pic=<default>, point z, explicit pair align, explicit pair dir=<default>, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
+void perpendicularmark(picture pic=<default>, point z, vector align, vector dir=<default>, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
+void perpendicularmark(picture pic=<default>, point z, explicit pair align, path g, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
+void perpendicularmark(picture pic=<default>, point z, vector align, path g, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
+void perpendicularmark(picture pic=<default>, line l1, line l2, real size=<default>, pen p=<default>, int quarter=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
+string defaultmassformat;
pair operator /(pair p, coordsys R);
point operator /(explicit point P, real x);
point operator /(real x, explicit point P);
@@ -2774,18 +2762,25 @@
circle circumcircle(point A, point B, point C);
circle circumcircle(triangle t);
real elle(real phi, real k);
+string conictype(bqe bqe);
+void fill(picture pic=<default>, circle c, pen p=<default>);
+void fill(picture pic=<default>, ellipse el, pen p=<default>);
+void fill(picture pic=<default>, triangle t, pen p=<default>);
+void fill(picture pic=<default>, triangle[] ts, pen p=<default>);
+segment segment(point A, point B);
+segment segment(line l);
+segment segment(explicit side side);
void filldraw(picture pic=<default>, circle c, pen fillpen=<default>, pen drawpen=<default>);
void filldraw(picture pic=<default>, ellipse el, pen fillpen=<default>, pen drawpen=<default>);
void filldraw(picture pic=<default>, triangle t, pen fillpen=<default>, pen drawpen=<default>);
void filldraw(picture pic=<default>, triangle[] ts, pen fillpen=<default>, pen drawpen=<default>);
-path operator ecast(segment s);
-circle operator ecast(ellipse el);
-ellipse operator ecast(conic co);
-parabola operator ecast(conic co);
-hyperbola operator ecast(conic co);
-circle operator ecast(conic c);
-real approximate(real t);
-real[] approximate(real[] T);
+real sharpdegrees(line l1, line l2);
+void dot(picture pic=<default>, Label L, explicit point Z, align align=<default>, string format=<default>, pen p=<default>);
+real dot(point A, point B);
+real dot(point A, explicit pair B);
+real dot(explicit pair A, point B);
+void dot(picture pic=<default>, Label L, explicit mass M, align align=<default>, string format=<default>, pen p=<default>);
+void dot(picture pic=<default>, triangle t, pen p=<default>);
arc arccircle(point A, point M, point B);
arc arccircle(point A, point B, real angle, bool direction=<default>);
int nodesystem;
@@ -2792,6 +2787,9 @@
transform rotate(explicit pair dir);
transform rotate(explicit vector dir);
transform rotate(explicit point dir);
+void label(picture pic=<default>, Label L, explicit mass M, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>);
+void label(picture pic=<default>, Label L, vertex V, pair align=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>);
+void label(picture pic=<default>, Label LA=<default>, Label LB=<default>, Label LC=<default>, triangle t, real alignAngle=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>);
transform xscaleO(real x);
real degrees(explicit point M, coordsys R=<default>, bool warn=<default>);
real degrees(vector v, coordsys R=<default>, bool warn=<default>);
@@ -2798,26 +2796,30 @@
real degrees(line l, coordsys R=<default>);
real degrees(line l1, line l2);
real degrees(arc a);
-bqe equation(ellipse el);
-bqe equation(parabola p);
-bqe equation(hyperbola h);
-bqe equation(explicit conic co);
+bool isparabola(bqe bqe);
+path operator ecast(segment s);
+circle operator ecast(ellipse el);
+ellipse operator ecast(conic co);
+parabola operator ecast(conic co);
+hyperbola operator ecast(conic co);
+circle operator ecast(conic c);
+real approximate(real t);
+real[] approximate(real[] T);
point orthocentercenter(point A, point B, point C);
point orthocentercenter(triangle t);
bool between(point M, point O, point N);
-string massformat(string format=<default>, string s, mass M);
-conic conic(point F, line l, real e);
-conic conic(point M1, point M2, point M3, point M4, point M5);
-conic conic(bqe bqe);
path NoModifier(path);
transform projection(point A, point B);
transform projection(point A, point B, point C, point D, bool safe=<default>);
transform projection(line l);
transform projection(line l1, line l2, bool safe=<default>);
+string massformat(string format=<default>, string s, mass M);
+conic conic(point F, line l, real e);
+conic conic(point M1, point M2, point M3, point M4, point M5);
+conic conic(bqe bqe);
triangle tangential(triangle t);
side opposite(vertex V);
vertex opposite(side side);
-path compassmark(pair O, pair A, real position, real angle=<default>);
transform xscale(real k, point M);
real rf(real x, real y, real z);
mass mass(point M, real m);
@@ -2825,9 +2827,6 @@
mass mass(coordsys R, explicit pair p, real m);
pen addpenline;
pen addpenline(pen p);
-void drawline(picture pic=<default>, triangle t, pen p=<default>);
-real linemargin;
-real linemargin();
bool concurrent(... line[] l);
int conicnodesnumber(conic co, real angle1, real angle2, bool dir=<default>);
point[] standardizecoordsys(coordsys R=<default>, bool warn=<default> ... point[] M);
@@ -2840,16 +2839,16 @@
circle circle(inversion i);
point incenter(point A, point B, point C);
point incenter(triangle t);
-void lineinversion();
+path compassmark(pair O, pair A, real position, real angle=<default>);
+bool inside(ellipse el, point M);
+bool inside(parabola p, point M);
+void drawline(picture pic=<default>, triangle t, pen p=<default>);
point ppoint(arc a, real x);
-ellipse ellipse(point F1, point F2, real a);
-ellipse ellipse(point F1, point F2, point M);
-ellipse ellipse(point C, real a, real b, real angle=<default>);
-ellipse ellipse(bqe bqe);
-ellipse ellipse(point M1, point M2, point M3, point M4, point M5);
path fromCenter(conic co, real angle1, real angle2, int n, bool direction);
point bisectorpoint(side side);
bool byvertices;
+real linemargin;
+real linemargin();
int[] tricoef(side side);
real angle(explicit point M, coordsys R=<default>, bool warn=<default>);
real angle(explicit vector v, coordsys R=<default>, bool warn=<default>);
@@ -2858,6 +2857,7 @@
real angle(arc a);
real[] intersect(path g, explicit pair p, real fuzz=<default>);
real[] intersect(path g, explicit point P, real fuzz=<default>);
+void lineinversion();
bool operator !=(explicit point M, explicit point N);
bool operator !=(line l1, line l2);
triangle extouch(triangle t);
@@ -2906,6 +2906,7 @@
void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>, projection P);
void Bounds(picture, axisT)(int type=<default>, int type2=<default>, triple align=<default>, bool extend=<default>);
void Bounds(picture, axisT);
+void labeltick(picture pic, real[][] T, path3 g, ticklocate locate, real val, int sign, real Size, string ticklabel(real), Label F, real norm=<default>);
void limits(picture pic=<default>, triple min, triple max);
void labelaxis(picture pic, real[][] T, Label L, path3 g, ticklocate locate=<default>, int sign=<default>, bool ticklabels=<default>);
ticklocate ticklocate(real a, real b, autoscaleT S=<default>, real tickmin=<default>, real tickmax=<default>, real time(real)=<default>, triple dir(real));
@@ -2916,24 +2917,27 @@
path3 Circle(triple c, real r, triple normal=<default>, int n=<default>);
real ytrans(real[][] t, real y);
real xtrans(real[][] t, real x);
-void labely(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>);
-void labeltick(picture pic, real[][] T, path3 g, ticklocate locate, real val, int sign, real Size, string ticklabel(real), Label F, real norm=<default>);
void Straight(flatguide3)(... void(flatguide3)[]);
void polargraph(flatguide3)(real r(real, real), real theta(real), real phi(real), int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
void NoTicks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>, projection P)();
void NoTicks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>, projection P);
-void labelx(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>);
+void labely(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>);
+void Spline(flatguide3)(... void(flatguide3)[]);
real ScaleX(picture pic=<default>, real x);
-void Spline(flatguide3)(... void(flatguide3)[]);
void drawtick(picture pic, real[][] T, path3 g, path3 g2, ticklocate locate, real val, real Size, int sign, pen p, bool extend);
void axis(picture pic=<default>, Label L=<default>, path3 g, path3 g2=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>, projection P), ticklocate locate, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, int[] divisor=<default>, bool above=<default>, bool opposite=<default>);
void xtick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>);
void xtick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
+void labelx(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>);
void ytick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>);
void ytick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
path3 Arc(triple c, triple v1, triple v2, triple normal=<default>, bool direction=<default>, int n=<default>);
path3 Arc(triple c, real r, real theta1, real phi1, real theta2, real phi2, triple normal=<default>, bool direction, int n=<default>);
path3 Arc(triple c, real r, real theta1, real phi1, real theta2, real phi2, triple normal=<default>, int n=<default>);
+void tick(picture pic=<default>, triple v, triple dir, real size=<default>, pen p=<default>);
+void tick(picture pic=<default>, Label L, real value, triple v, triple dir, string format=<default>, real size=<default>, pen p=<default>);
+void ztick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>);
+void ztick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
triple polar(real r, real theta, real phi);
void graph(flatguide3)(triple F(real), real, real, int)(void join(flatguide3)(... void(flatguide3)[]));
void(flatguide3)[] graph(triple F(real), real, real, int)(void join(flatguide3)(... void(flatguide3)[]), bool3 cond(real));
@@ -2950,19 +2954,15 @@
void graph(flatguide3)(picture pic=<default>, real f(pair), path p, int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
void graph(flatguide3)(real f(pair), path p, int n=<default>, real T(pair), void join(flatguide3)(... void(flatguide3)[])=<default>);
void xaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>, projection P)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, projection P=<default>);
-path3[] segment(triple[] v, bool[] cond, void join(flatguide3)(... void(flatguide3)[])=<default>);
void labelx3(picture pic=<default>, Label L=<default>, real x, align align=<default>, string format=<default>, pen p=<default>);
+void draw(picture pic=<default>, Label[] L=<default>, void(flatguide3)[][] g, pen[] p, light light=<default>, string name=<default>, render render=<default>, interaction interaction=<default>);
+void draw(picture pic=<default>, Label[] L=<default>, void(flatguide3)[][] g, pen p=<default>, light light=<default>, string name=<default>, render render=<default>, interaction interaction=<default>);
picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b, int nu=<default>, int nv=<default>, bool truesize=<default>, real maxlength=<default>, bool cond(pair z)=<default>, pen p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, string name=<default>, render render=<default>);
triple Scale(picture pic=<default>, triple v);
triple[][] Scale(picture pic=<default>, triple[][] P);
-void draw(picture pic=<default>, Label[] L=<default>, void(flatguide3)[][] g, pen[] p, light light=<default>, string name=<default>, render render=<default>, interaction interaction=<default>);
-void draw(picture pic=<default>, Label[] L=<default>, void(flatguide3)[][] g, pen p=<default>, light light=<default>, string name=<default>, render render=<default>, interaction interaction=<default>);
-void tick(picture pic=<default>, triple v, triple dir, real size=<default>, pen p=<default>);
-void tick(picture pic=<default>, Label L, real value, triple v, triple dir, string format=<default>, real size=<default>, pen p=<default>);
+path3[] segment(triple[] v, bool[] cond, void join(flatguide3)(... void(flatguide3)[])=<default>);
+void label(picture pic, Label L, triple v, real x, align align, string format, pen p);
void yaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>, projection P)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>, projection P=<default>);
-void label(picture pic, Label L, triple v, real x, align align, string format, pen p);
-void ztick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>);
-void ztick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
void xtick3(picture pic=<default>, real x, triple dir=<default>, real size=<default>, pen p=<default>);
void xtick3(picture pic=<default>, Label L, real x, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
real[] uniform(real T(real x), real Tinv(real x), real a, real b, int n);
@@ -3070,11 +3070,10 @@
scaleT Log(bool automin=<default>, bool automax=<default>);
guide Spline(... guide[]);
void errorbar(picture pic, pair z, pair dp, pair dm, pen p=<default>, real size=<default>);
-void yaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>);
-void yequals(picture pic=<default>, Label L=<default>, real y, bool extend=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
tickvalues None(tickvalues v);
string conditionlength;
pair polar(real r, real theta);
+void yaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>);
void scale(picture pic=<default>, scaleT x, scaleT y=<default>, scaleT z=<default>);
void scale(picture pic=<default>, bool xautoscale=<default>, bool yautoscale=<default>, bool zautoscale=<default>);
guide graph(pair f(real), real, real, int)(guide join(... guide[]));
@@ -3095,6 +3094,10 @@
path[] segment(pair[] z, bool[] cond, guide join(... guide[])=<default>);
string trailingzero;
void xlimits(picture pic=<default>, real min=<default>, real max=<default>, bool crop=<default>);
+bool logaxiscoverage(int N, transform T, path g, ticklocate locate, pair side, int sign, real Size, Label F, string ticklabel(real), real limit, int first, int last);
+void label(picture pic, Label L, pair z, real x, align align, string format, pen p);
+scaleT Linear;
+scaleT Linear(bool automin=<default>, bool automax=<default>, real s=<default>, real intercept=<default>);
void NoTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)();
void NoTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>);
tickvalues OmitTick(tickvalues)(... real[] x);
@@ -3101,22 +3104,20 @@
picture vectorfield(path vector(real), path g, int n, bool truesize=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>);
picture vectorfield(path vector(pair), pair a, pair b, int nx=<default>, int ny=<default>, bool truesize=<default>, bool cond(pair z)=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>);
pair Scale(picture pic=<default>, pair z);
-bool logaxiscoverage(int N, transform T, path g, ticklocate locate, pair side, int sign, real Size, Label F, string ticklabel(real), real limit, int first, int last);
+void XEquals(picture, axisT)(real x, bool extend=<default>);
+string OmitFormat(real)(string s=<default> ... real[] x);
void Bottom(picture, axisT)(bool extend=<default>);
void Bottom(picture, axisT);
-void XEquals(picture, axisT)(real x, bool extend=<default>);
-string OmitFormat(real)(string s=<default> ... real[] x);
-scaleT Linear;
-scaleT Linear(bool automin=<default>, bool automax=<default>, real s=<default>, real intercept=<default>);
void yaxis(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool autorotate=<default>);
real linear(real)(real S(real)=<default>, real Min, real Max);
+void xequals(picture pic=<default>, Label L=<default>, real x, bool extend=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
+void xaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>);
void tick(picture pic=<default>, pair z, pair dir, real size=<default>, pen p=<default>);
void tick(picture pic=<default>, Label L, real value, explicit pair z, pair dir, string format=<default>, real size=<default>, pen p=<default>);
void YZero(picture, axisT)(bool extend=<default>);
void YZero(picture, axisT);
-void xaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>);
-void label(picture pic, Label L, pair z, real x, align align, string format, pen p);
-void xequals(picture pic=<default>, Label L=<default>, real x, bool extend=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
+int Value;
+void yequals(picture pic=<default>, Label L=<default>, real y, bool extend=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
void Top(picture, axisT)(bool extend=<default>);
void Top(picture, axisT);
tickvalues OmitTickInterval(tickvalues)(real a, real b);
@@ -3128,7 +3129,6 @@
void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks, real[] ticks=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>);
-int Value;
Label Break;
tickvalues Break(tickvalues)(real, real);
real zerotickfuzz;
@@ -3181,40 +3181,40 @@
grid3 ZXgrid(picture pic);
grid3 XYgrid(picture pic)(position pos=<default>);
grid3 XYgrid(picture pic);
+void yaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>);
grid3(picture pic)[] XYXgrid(position pos=<default>);
grid3(picture pic)[] XYXgrid;
-void zaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>);
-void yaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>);
position bottom;
grid3(picture pic)[] ZXZgrid(position pos=<default>);
grid3(picture pic)[] ZXZgrid;
-ticksgridT OutTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>);
-ticksgridT InTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>);
grid3(picture pic)[] YXYgrid(position pos=<default>);
grid3(picture pic)[] YXYgrid;
+ticksgridT OutTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>);
grid3(picture pic)[] YX_YZgrid(position posa=<default>, position posb=<default>);
grid3(picture pic)[] YX_YZgrid;
triple X(picture pic);
+ticksgridT InTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>);
triple YZ(picture pic);
triple Z(picture pic);
ticksgridT InOutTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>);
triple XY(picture pic);
triple ZX(picture pic);
-position top;
void xaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>);
grid3 YXgrid(picture pic)(position pos=<default>);
grid3 YXgrid(picture pic);
-grid3 YZgrid(picture pic)(position pos=<default>);
-grid3 YZgrid(picture pic);
grid3(picture pic)[] operator cast(grid3 gridroutine(picture pic));
grid3(picture pic)[][] operator cast(grid3(picture pic)[] gridroutine);
grid3(picture pic)[][] operator cast(grid3 gridroutine(picture pic));
+triple Y(picture pic);
position middle;
grid3 XZgrid(picture pic)(position pos=<default>);
grid3 XZgrid(picture pic);
grid3(picture pic)[] XZXgrid(position pos=<default>);
grid3(picture pic)[] XZXgrid;
-triple Y(picture pic);
+grid3 YZgrid(picture pic)(position pos=<default>);
+grid3 YZgrid(picture pic);
+position top;
+void zaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>);
real fspline(real)(real[] x, real[] y, real[] splinetype(real[], real[])=<default>);
real pwhermite(real)(real[] x, real[] y, real[] dy);
horner diffdiv(real[] x, real[] y);
@@ -3264,25 +3264,25 @@
frame tildeframe;
real tildemarksize(pen p=<default>);
real tildemarksizefactor;
-real stickmarkspace(pen p=<default>);
frame stickframe(int n=<default>, real size=<default>, pair space=<default>, real angle=<default>, pair offset=<default>, pen p=<default>);
frame stickframe;
frame circlebarframe(int n=<default>, real barsize=<default>, real radius=<default>, real angle=<default>, pair offset=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
real barmarksize(pen p=<default>);
real markangleradiusfactor;
+real markanglespacefactor;
marker StickIntervalMarker(int i=<default>, int n=<default>, real size=<default>, real space=<default>, real angle=<default>, pair offset=<default>, bool rotated=<default>, pen p=<default>, frame uniform=<default>, bool above=<default>);
void markangle(picture pic=<default>, Label L=<default>, int n=<default>, real radius=<default>, real space=<default>, pair A, pair O, pair B, bool arrow(picture, path, pen, marginT(path, pen))=<default>, pen p=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>, marker marker=<default>);
+marker operator *(transform T, marker m);
real circlemarkradiusfactor;
-marker operator *(transform T, marker m);
real crossmarksize(pen p=<default>);
real markangleradius(pen p=<default>);
real markangleradius;
frame duplicate(path g, int n=<default>, pair space=<default>, pen p=<default>);
+real stickmarkspace(pen p=<default>);
real circlemarkradius(pen p=<default>);
real stickmarksize(pen p=<default>);
-real markanglespacefactor;
+frame crossframe(int n=<default>, real size=<default>, pair space=<default>, real angle=<default>, pair offset=<default>, pen p=<default>);
marker CircleBarIntervalMarker(int i=<default>, int n=<default>, real barsize=<default>, real radius=<default>, real angle=<default>, pair offset=<default>, bool rotated=<default>, pen p=<default>, filltype filltype=<default>, bool circleabove=<default>, frame uniform=<default>, bool above=<default>);
-frame crossframe(int n=<default>, real size=<default>, pair space=<default>, real angle=<default>, pair offset=<default>, pen p=<default>);
real crossmarksizefactor;
real stickmarkspacefactor;
void markinterval(picture pic=<default>, frame f, path g)(int n=<default>, frame f, bool rotated=<default>);
@@ -3290,23 +3290,23 @@
real[] leastsquares(real[][] A, real[] b, bool warn=<default>);
real[] zero(int n);
real[][] zero(int n, int m);
-real interpolate(real[] x, real[] y, real x0, int i);
-real interpolate(real[] x, real[] y, real x0);
pair[][] fft(pair[][] a, int sign=<default>);
-int[][] segment(bool[] b);
real asec(real x);
bool increasing(real[] a, bool strict=<default>);
bool lexorder(pair a, pair b);
bool lexorder(triple a, triple b);
+int[][] segment(bool[] b);
+real interpolate(real[] x, real[] y, real x0, int i);
+real interpolate(real[] x, real[] y, real x0);
+triple intersectionpoint(triple n0, triple P0, triple n1, triple P1);
bool polygon(path p);
-triple intersectionpoint(triple n0, triple P0, triple n1, triple P1);
real csc(real x);
+void drawline(picture pic=<default>, pair P, pair Q, pen p=<default>);
real slope(path g, real x, int n=<default>, real fuzz=<default>);
real slope(path g, explicit pair z, int n=<default>, real fuzz=<default>);
bool rectangular(real[][] m);
bool rectangular(pair[][] m);
bool rectangular(triple[][] m);
-void drawline(picture pic=<default>, pair P, pair Q, pen p=<default>);
int unique(real[] a, real x);
int unique(string[] a, string x);
real intersect(pair p, pair q, pair z);
@@ -3352,20 +3352,20 @@
RKTableau RK3;
RKTableau Euler;
void expfactors(real x, coefficients a);
+real[] newton(int iterations=<default>, real[] f(real[]), real[][] jacobian(real[]), real[] t);
+real phi4(real x);
+real phi3(real x);
+void report(real old, real h, real t);
+real adjust(real h, real error, real tolmin, real tolmax, RKTableau tableau);
+RKTableau E_Euler;
real[] Coeff;
-real phi3(real x);
RKTableau E_RK3BS;
-RKTableau E_Euler;
void write(solution S);
void write(Solution S);
-real adjust(real h, real error, real tolmin, real tolmax, RKTableau tableau);
-void report(real old, real h, real t);
-real[] newton(int iterations=<default>, real[] f(real[]), real[][] jacobian(real[]), real[] t);
real phi2(real x);
RKTableau RK5;
real phi1(real x);
real[][] finiteDifferenceJacobian(real[] f(real[]), real[] t, real[] h=<default>);
-real phi4(real x);
solution integrate(real y, real c=<default>, real f(real t, real y), real a, real b=<default>, real h=<default>, int n=<default>, bool dynamic=<default>, real tolmin=<default>, real tolmax=<default>, real dtmin=<default>, real dtmax=<default>, RKTableau tableau, bool verbose=<default>);
Solution integrate(real[] y, real[] f(real t, real[] y), real a, real b=<default>, real h=<default>, int n=<default>, bool dynamic=<default>, real tolmin=<default>, real tolmax=<default>, real dtmin=<default>, real dtmax=<default>, RKTableau tableau, bool verbose=<default>);
pen[] BWRainbow2(int NColors=<default>);
@@ -3403,8 +3403,8 @@
real hatchepsilon;
picture brick(real Hx=<default>, real Hy=<default>, pen p=<default>);
void add(string name, picture pic, pair lb=<default>, pair rt=<default>);
+picture hatch(real H=<default>, pair dir=<default>, pen p=<default>);
picture checker(real Hx=<default>, real Hy=<default>, pen p=<default>);
-picture hatch(real H=<default>, pair dir=<default>, pen p=<default>);
void gsave(picture pic=<default>);
pen textpen;
void grestore(picture pic=<default>);
@@ -3419,24 +3419,24 @@
bool[] operator <(rational[] r, rational s);
bool[] operator >(rational[] r, rational s);
rational abs(rational r);
-bool[] operator >=(rational[] r, rational s);
-bool[] operator <=(rational[] r, rational s);
bool rectangular(rational[][] m);
+int gcd(int m, int n);
+rational[] operator *(rational[] r, rational[] s);
rational[][] rationalidentity(int n);
-rational[] operator *(rational[] r, rational[] s);
rational[] operator /(rational[] r, rational[] s);
+bool[] operator ==(rational[] r, rational s);
+bool operator ==(rational[] r, rational[] s);
+bool operator ==(rational[][] r, rational[][] s);
void write(file fout, string s=<default>, rational r, void suffix(file)=<default>);
void write(string s=<default>, rational r, void suffix(file)=<default>);
void write(file fout=<default>, string s=<default>, rational[] a, void suffix(file)=<default>);
void write(file fout=<default>, string s=<default>, rational[][] a, void suffix(file)=<default>);
-bool[] operator ==(rational[] r, rational s);
-bool operator ==(rational[] r, rational[] s);
-bool operator ==(rational[][] r, rational[][] s);
rational min(rational a, rational b);
-int gcd(int m, int n);
rational max(rational a, rational b);
rational max(rational[] a);
rational[] operator +(rational[] r, rational[] s);
+bool[] operator <=(rational[] r, rational s);
+bool[] operator >=(rational[] r, rational s);
void simplexPhase2();
void simplexPhase1(rational[] c, rational[][] A, rational[] b, int[] Bindices);
void simplexTableau(rational[][] E, int[] Bindices, int I=<default>, int J=<default>, int n=<default>);
@@ -3571,13 +3571,12 @@
positionedvector[][] slice(positionedvector[][] a, int start1, int end1, int start2, int end2);
positionedvector[][][] slice(positionedvector[][][] a, int start1, int end1, int start2, int end2, int start3, int end3);
real B03(real t);
-int ZLOW;
triple nGrad(triple)(real f(triple));
real angledegrees(triple a, triple b);
path3 bisector(path3 edgecycle, int[] savevertices);
+real(real)[] bernstein;
bool checkpt(triple testpt, real f(triple), triple grad(triple), triple a, triple b);
int XHIGH;
-real(real)[] bernstein;
int ZHIGH;
string operator cast(edge e);
string operator cast(edge[] edges);
@@ -3586,6 +3585,7 @@
patch[] quadpatches(path3 edgecycle, positionedvector[] corners, real f(triple), triple grad(triple), triple a, triple b, bool usetriangles);
int NULL_VERTEX;
real B33(real t);
+int ZLOW;
real B13(real t);
bool operator ==(edge a, edge b);
revolution sphere(triple c=<default>, real r, int n=<default>);
@@ -3592,12 +3592,12 @@
path line(path p, path q, real[] t);
pen defaultbackpen;
real[] tangent(path p, path q, bool side);
+path[] cylinder(path3 base, real h, triple axis=<default>, projection P);
+revolution cylinder(triple c=<default>, real r, real h, triple axis=<default>);
void draw(picture pic=<default>, revolution r, int m=<default>, int n=<default>, pen frontpen=<default>, pen backpen=<default>, pen longitudinalpen=<default>, pen longitudinalbackpen=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>);
revolution operator *(real[][] t, revolution r);
+revolution cone(triple c=<default>, real r, real h, triple axis=<default>, int n=<default>);
surface surface(revolution r, int n=<default>, pen color(int i, real j)=<default>);
-path[] cylinder(path3 base, real h, triple axis=<default>, projection P);
-revolution cylinder(triple c=<default>, real r, real h, triple axis=<default>);
-revolution cone(triple c=<default>, real r, real h, triple axis=<default>, int n=<default>);
linefit leastsquares(real[] x, real[] y);
linefit leastsquares(real[] x, real[] y, real[] w);
int bins(real[] data, int max=<default>);
@@ -3616,8 +3616,8 @@
real legendmarkersize;
real Gaussrand();
pair Gaussrandpair();
+real mean(real[] A);
real variancebiased(real[] A);
-real mean(real[] A);
real stdev(real[] A);
real Gaussian(real x, real sigma);
real Gaussian(real x);
@@ -3658,30 +3658,30 @@
pen Violet;
pen Plum;
pen Lavender;
-pen White;
+pen RedOrange;
pen Black;
pen BlueGreen;
pen Cerulean;
-pen Apricot;
pen RawSienna;
-pen Rhodamine;
-pen Red;
+pen Bittersweet;
+pen Cyan;
pen Gray;
pen GreenYellow;
pen YellowOrange;
+pen Apricot;
+pen White;
pen ForestGreen;
pen BurntOrange;
+pen Rhodamine;
+pen Red;
+pen Emerald;
pen Turquoise;
-pen RedOrange;
pen DarkOrchid;
+pen RoyalPurple;
pen Melon;
+pen CadetBlue;
pen Orange;
-pen RoyalPurple;
-pen CadetBlue;
pen Dandelion;
-pen Emerald;
-pen Cyan;
-pen Bittersweet;
pen Orchid;
pen BrickRed;
pen CornflowerBlue;
@@ -3881,17 +3881,20 @@
int PRCsphere;
real Single;
real Zero;
-marginT3 EndDotMargin3(path3, pen);
pair minbound(triple[] A, projection P);
pair minbound(triple[][] A, projection P);
real[][] shift(triple v);
real[][] shift(real x, real y, real z);
real[][] shift(real[][] t);
+triple Y;
+interaction Billboard;
+marginT3 TrueMargin3(path3, pen)(real begin, real end);
pair xypart(triple v);
real[][] yscale3(real y);
real Medium;
+bool ArcArrow3(picture, path3, material, marginT3(path3, pen), light, light)(arrowhead3 arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>, material arrowheadpen=<default>);
+bool ArcArrow3(picture, path3, material, marginT3(path3, pen), light, light);
bool None(picture, path3, material, marginT3(path3, pen), light, light);
-void unitcylinderDraw(frame f, real[][] t=<default>, material[] m, light light=<default>, render render=<default>)(bool core);
real[][] intersections(path3 p, patch s, real fuzz=<default>);
real[][] intersections(path3 p, surface s, real fuzz=<default>);
triple arcdir(path3 p, real L);
@@ -3900,18 +3903,20 @@
triple point(frame f, triple dir);
triple point(picture pic=<default>, triple dir, bool user=<default>, projection P=<default>);
void nullpath3(flatguide3);
-triple[][] subpatchend(triple[][] P, real u, real v);
-void addStereoViews(picture dest, picture src, bool group=<default>, filltype filltype=<default>, real eyetoview=<default>, bool leftright=<default>, projection P=<default>);
-void addStereoViews(picture src, bool group=<default>, filltype filltype=<default>, real eyetoview=<default>, bool leftright=<default>, projection P=<default>);
real[][] scale(triple v, real s);
path3 interp(path3 a, path3 b, real t);
marginT3 operator +(path3, pen)(marginT3 ma(path3, pen), marginT3 mb(path3, pen));
path3 trim(path3 g, real begin, real end);
+path3[] box(triple v1, triple v2);
+surface extrude(path3 p, path3 q);
+surface extrude(path3 p, triple axis=<default>);
+surface extrude(path p, triple plane(pair)=<default>, triple axis=<default>);
+surface extrude(explicit path[] p, triple axis=<default>);
+surface extrude(Label L, triple axis=<default>);
+marginT3 EndDotMargin3(path3, pen);
path3 operator &(path3 p, cycleToken tok);
void tensorshade(transform t=<default>, frame f, patch s, material m, light light=<default>, projection P);
void operator ::(flatguide3)(... void(flatguide3)[]);
-triple truepoint(picture pic=<default>, triple dir, bool user=<default>, projection P=<default>);
-triple[][][] hsplit(triple[][] P, real v=<default>);
pair dir(triple v, triple dir, projection P);
triple dir(real theta, triple d0, triple d1, triple reference);
triple dir(path3 p);
@@ -3918,7 +3923,6 @@
triple dir(path3 p, path3 h);
void operator --(flatguide3)(... void(flatguide3)[] g);
triple endpoint(path3 p);
-marginT3 TrueMargin3(path3, pen)(real begin, real end);
int length(void g(flatguide3));
path3 arc(triple c, triple v1, triple v2, triple normal=<default>, bool direction=<default>);
path3 arc(triple c, real r, real theta1, real phi1, real theta2, real phi2, triple normal=<default>, bool direction);
@@ -3930,25 +3934,29 @@
triple[] intersectionpoints(explicit path3[] p, explicit path3[] q, real fuzz=<default>);
triple[] intersectionpoints(path3 p, patch s, real fuzz=<default>);
triple[] intersectionpoints(path3 p, surface s, real fuzz=<default>);
-triple midpoint(path3 p);
+void unitcylinderDraw(frame f, real[][] t=<default>, material[] m, light light=<default>, render render=<default>)(bool core);
triple beginpoint(path3 p);
+real[][] transform3(triple u, triple v, triple w=<default>);
+real[][] transform3(projection P=<default>);
+void drawTessellation(frame f, surface s, material surfacepen=<default>, pen meshpen=<default>, light light=<default>, light meshlight=<default>, string name=<default>, render render=<default>);
+void drawTessellation(picture pic=<default>, surface s, material surfacepen=<default>, pen meshpen=<default>, light light=<default>, light meshlight=<default>, string name=<default>, render render=<default>);
+void operator ..(flatguide3)(... void(flatguide3)[] g);
void aim(flatguide3 g, int N);
void aim(flatguide3 g, int i, int n);
-triple reldir(path3 p, real l);
-triple max(explicit path3[] p);
-triple max(surface s);
-pair max(surface s, projection P);
-pair max(path3 p, projection P);
-pair max(frame f, projection P);
-picture arrow(arrowhead3 arrowhead=<default>, path3 g, material p=<default>, material arrowheadpen=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>, bool forwards=<default>, marginT3 margin(path3, pen)=<default>, bool center=<default>, light light=<default>, light arrowheadlight=<default>);
-void arrow(picture pic=<default>, Label L=<default>, triple b, triple dir, real length=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, light light=<default>, light arrowheadlight=<default>, string name=<default>, render render=<default>);
-void arrow(picture pic=<default>, Label L=<default>, triple b, pair dir, real length=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, light light=<default>, light arrowheadlight=<default>, string name=<default>, render render=<default>, projection P=<default>);
-void operator ..(flatguide3)(... void(flatguide3)[] g);
string partname(int i, render render=<default>);
-projection LeftView;
+void dot(frame f, triple v, material p=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>);
+void dot(frame f, triple[] v, material p=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>);
+void dot(frame f, path3 g, material p=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>);
+void dot(frame f, path3[] g, material p=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>);
+void dot(picture pic=<default>, triple v, material p=<default>, light light=<default>, string name=<default>, render render=<default>);
+void dot(picture pic=<default>, triple[] v, material p=<default>, light light=<default>, string name=<default>, render render=<default>);
+void dot(picture pic=<default>, explicit path3 g, material p=<default>, light light=<default>, string name=<default>, render render=<default>);
+void dot(picture pic=<default>, path3[] g, material p=<default>, light light=<default>, string name=<default>, render render=<default>);
+void dot(picture pic=<default>, Label L, triple v, align align=<default>, string format=<default>, material p=<default>, light light=<default>, string name=<default>, render render=<default>);
void reverse(flatguide3)(void g(flatguide3));
patch reverse(patch s);
triple size3(picture pic, bool user=<default>, projection P=<default>);
+picture arrow2(arrowhead3 arrowhead=<default>, path3 g, material p=<default>, material arrowheadpen=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT3 margin(path3, pen)=<default>, light light=<default>, light arrowheadlight=<default>);
surface unitdisk;
triple min(explicit path3[] p);
triple min(surface s);
@@ -3968,24 +3976,13 @@
void write(string s=<default>, explicit void(flatguide3)[] x, void suffix(file)=<default>);
void write(file file, string s=<default>, material x, void suffix(file)=<default>);
void write(string s=<default>, material x, void suffix(file)=<default>);
-light White;
-void addArrow(picture pic, arrowhead3 arrowhead, path3 g, pen p, real size, real angle, filltype filltype, real position);
-bool EndBar3(picture, path3, material, marginT3(path3, pen), light, light)(real size=<default>, triple dir=<default>);
-bool EndBar3(picture, path3, material, marginT3(path3, pen), light, light);
-triple relpoint(path3 p, real l);
-path3[] operator ^^(path3 p, path3 q);
-path3[] operator ^^(path3 p, explicit path3[] q);
-path3[] operator ^^(explicit path3[] p, path3 q);
-path3[] operator ^^(explicit path3[] p, explicit path3[] q);
-pen color(triple normal, material m, light light, real[][] T=<default>);
+real[][] align(triple u);
+Label align(Label L, triple dir);
+path3[] align(path3[] g, real[][] t=<default>, triple position, triple align, pen p=<default>);
+surface align(surface s, real[][] t=<default>, triple position, triple align, pen p=<default>);
+projection[][] ThreeViews;
+void add2(picture pic, arrowhead3 arrowhead, real size, real angle, filltype filltype, material arrowheadpen, path3 g, material p, marginT3 margin(path3, pen), light light, light arrowheadlight);
triple min3(picture pic, projection P=<default>);
-triple cross(triple d0, triple d1, triple reference);
-pen[] nullpens;
-triple max3(picture pic, projection P=<default>);
-real defaultshininess;
-marginT3 PenMargins2(path3, pen);
-void drawTessellation(frame f, surface s, material surfacepen=<default>, pen meshpen=<default>, light light=<default>, light meshlight=<default>, string name=<default>, render render=<default>);
-void drawTessellation(picture pic=<default>, surface s, material surfacepen=<default>, pen meshpen=<default>, light light=<default>, light meshlight=<default>, string name=<default>, render render=<default>);
void draw(frame f, path3 g, material p=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>);
void draw(frame f, triple[] v, int[][] vi, triple[] n=<default>, int[][] ni=<default>, material m=<default>, pen[] p=<default>, int[][] pi=<default>, light light=<default>, render render=<default>);
void draw(picture pic=<default>, triple[] v, int[][] vi, triple[] n=<default>, int[][] ni=<default>, material m=<default>, pen[] p=<default>, int[][] pi=<default>, light light=<default>, render render=<default>);
@@ -4001,17 +3998,27 @@
void draw(picture pic=<default>, explicit path3[] g, material p=<default>, marginT3 margin(path3, pen)=<default>, light light=<default>, string name=<default>, render render=<default>);
void draw(picture pic=<default>, Label L=<default>, path3 g, align align=<default>, material p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light), bool bar(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, light light=<default>, light arrowheadlight=<default>, string name=<default>, render render=<default>);
void draw(frame f, path3 g, material p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light), light light=<default>, light arrowheadlight=<default>, string name=<default>, render render=<default>, projection P=<default>);
-real[][] align(triple u);
-Label align(Label L, triple dir);
-path3[] align(path3[] g, real[][] t=<default>, triple position, triple align, pen p=<default>);
-surface align(surface s, real[][] t=<default>, triple position, triple align, pen p=<default>);
-projection[][] ThreeViews;
-void add2(picture pic, arrowhead3 arrowhead, real size, real angle, filltype filltype, material arrowheadpen, path3 g, material p, marginT3 margin(path3, pen), light light, light arrowheadlight);
+triple cross(triple d0, triple d1, triple reference);
+triple relpoint(path3 p, real l);
+path3[] operator ^^(path3 p, path3 q);
+path3[] operator ^^(path3 p, explicit path3[] q);
+path3[] operator ^^(explicit path3[] p, path3 q);
+path3[] operator ^^(explicit path3[] p, explicit path3[] q);
material material(material m, light light, bool colors=<default>);
arrowhead3 HookHead3(real dir=<default>, real barb=<default>);
arrowhead3 HookHead3;
-control nocontrol;
-surface unitsphere;
+pen color(triple normal, material m, light light, real[][] T=<default>);
+triple[][] subpatchend(triple[][] P, real u, real v);
+void addStereoViews(picture dest, picture src, bool group=<default>, filltype filltype=<default>, real eyetoview=<default>, bool leftright=<default>, projection P=<default>);
+void addStereoViews(picture src, bool group=<default>, filltype filltype=<default>, real eyetoview=<default>, bool leftright=<default>, projection P=<default>);
+triple max(explicit path3[] p);
+triple max(surface s);
+pair max(surface s, projection P);
+pair max(path3 p, projection P);
+pair max(frame f, projection P);
+void draw3D(frame f, patch s, material m, light light=<default>, render render=<default>, bool primitive=<default>);
+triple arcpoint(path3 p, real L);
+triple intersectionpoint(path3 p, path3 q, real fuzz=<default>);
material emissive(material m, bool colors=<default>);
bool MidArrow3(picture, path3, material, marginT3(path3, pen), light, light)(arrowhead3 arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, material arrowheadpen=<default>);
bool MidArrow3(picture, path3, material, marginT3(path3, pen), light, light);
@@ -4034,9 +4041,6 @@
material[] operator cast(pen[] p);
light operator cast(triple v);
surface operator cast(surface[] s);
-void draw3D(frame f, patch s, material m, light light=<default>, render render=<default>, bool primitive=<default>);
-triple arcpoint(path3 p, real L);
-triple intersectionpoint(path3 p, path3 q, real fuzz=<default>);
triple invert(pair z, triple normal, triple point, projection P=<default>);
triple invert(pair z, projection P=<default>);
triple invert(pair dir, triple v, projection P=<default>);
@@ -4049,54 +4053,39 @@
triple[][] degenerate(triple[][] P);
triple[] split(triple z0, triple c0, triple c1, triple z1, real t=<default>);
triple[][][][] split(triple[][] P, real u=<default>, real v=<default>);
-path3 arrowbase(path3 r, triple y, real t, real size);
+projection operator *(real[][] t, projection P);
+control operator *(real[][] t, control c);
+dir operator *(real[][] t, dir d);
+path3[] operator *(real[][] t, explicit path3[] p);
+triple[] operator *(real[][] t, triple[] v);
+triple[][] operator *(real[][] t, triple[][] v);
+light operator *(real[][] t, light light);
+patch operator *(real[][] t, patch s);
+surface operator *(real[][] t, surface s);
+real defaultshininess;
pair viewportmargin(pair lambda);
-real[] curlSpecifier(void g(flatguide3), int t);
-real relative(Label L, path3 g);
-real[][] transform3(triple u, triple v, triple w=<default>);
-real[][] transform3(projection P=<default>);
-void drawarrow(picture pic, arrowhead3 arrowhead=<default>, path3 g, material p=<default>, material arrowheadpen=<default>, real size=<default>, real angle=<default>, position position=<default>, filltype filltype=<default>, bool forwards=<default>, marginT3 margin(path3, pen)=<default>, bool center=<default>, light light=<default>, light arrowheadlight=<default>, projection P=<default>);
+surface unitsphere;
path3 plane(triple u, triple v, triple O=<default>);
+bool EndBar3(picture, path3, material, marginT3(path3, pen), light, light)(real size=<default>, triple dir=<default>);
+bool EndBar3(picture, path3, material, marginT3(path3, pen), light, light);
+control nocontrol;
+projection perspective(triple camera, triple up=<default>, triple target=<default>, real zoom=<default>, real angle=<default>, pair viewportshift=<default>, bool showtarget=<default>, bool autoadjust=<default>, bool center=<default>);
+projection perspective(real x, real y, real z, triple up=<default>, triple target=<default>, real zoom=<default>, real angle=<default>, pair viewportshift=<default>, bool showtarget=<default>, bool autoadjust=<default>, bool center=<default>);
+projection perspective(string s);
bool MidArcArrow3(picture, path3, material, marginT3(path3, pen), light, light)(arrowhead3 arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, material arrowheadpen=<default>);
bool MidArcArrow3(picture, path3, material, marginT3(path3, pen), light, light);
triple[][] operator /(triple[][] a, real[][] b);
+triple truepoint(picture pic=<default>, triple dir, bool user=<default>, projection P=<default>);
+picture arrow(arrowhead3 arrowhead=<default>, path3 g, material p=<default>, material arrowheadpen=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>, bool forwards=<default>, marginT3 margin(path3, pen)=<default>, bool center=<default>, light light=<default>, light arrowheadlight=<default>);
+void arrow(picture pic=<default>, Label L=<default>, triple b, triple dir, real length=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, light light=<default>, light arrowheadlight=<default>, string name=<default>, render render=<default>);
+void arrow(picture pic=<default>, Label L=<default>, triple b, pair dir, real length=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, light light=<default>, light arrowheadlight=<default>, string name=<default>, render render=<default>, projection P=<default>);
real reltime(path3 p, real l);
-void bar(picture pic, triple a, triple d, triple perp=<default>, material p=<default>, light light=<default>);
-picture bar(triple a, triple dir, triple perp=<default>, material p=<default>);
arrowhead3 HookHead2(real dir=<default>, real barb=<default>, triple normal=<default>);
arrowhead3 HookHead2;
projection BackView;
string format(triple v, string sep=<default>);
-void _draw(frame f, path3 g, triple center=<default>, material m, light light=<default>, interaction interaction=<default>);
-void drawarrow2(picture pic, arrowhead3 arrowhead=<default>, path3 g, material p=<default>, material arrowheadpen=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT3 margin(path3, pen)=<default>, light light=<default>, light arrowheadlight=<default>, projection P=<default>);
-projection perspective(triple camera, triple up=<default>, triple target=<default>, real zoom=<default>, real angle=<default>, pair viewportshift=<default>, bool showtarget=<default>, bool autoadjust=<default>, bool center=<default>);
-projection perspective(real x, real y, real z, triple up=<default>, triple target=<default>, real zoom=<default>, real angle=<default>, pair viewportshift=<default>, bool showtarget=<default>, bool autoadjust=<default>, bool center=<default>);
-projection perspective(string s);
-projection operator *(real[][] t, projection P);
-control operator *(real[][] t, control c);
-dir operator *(real[][] t, dir d);
-path3[] operator *(real[][] t, explicit path3[] p);
-triple[] operator *(real[][] t, triple[] v);
-triple[][] operator *(real[][] t, triple[][] v);
-light operator *(real[][] t, light light);
-patch operator *(real[][] t, patch s);
-surface operator *(real[][] t, surface s);
-pen operator ecast(material m);
-real acos1(real x);
-void exitfunction();
-void dot(frame f, triple v, material p=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>);
-void dot(frame f, triple[] v, material p=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>);
-void dot(frame f, path3 g, material p=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>);
-void dot(frame f, path3[] g, material p=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>);
-void dot(picture pic=<default>, triple v, material p=<default>, light light=<default>, string name=<default>, render render=<default>);
-void dot(picture pic=<default>, triple[] v, material p=<default>, light light=<default>, string name=<default>, render render=<default>);
-void dot(picture pic=<default>, explicit path3 g, material p=<default>, light light=<default>, string name=<default>, render render=<default>);
-void dot(picture pic=<default>, path3[] g, material p=<default>, light light=<default>, string name=<default>, render render=<default>);
-void dot(picture pic=<default>, Label L, triple v, align align=<default>, string format=<default>, material p=<default>, light light=<default>, string name=<default>, render render=<default>);
-real[][] xscale3(real x);
-real[][] rotate(real angle, triple v);
-real[][] rotate(real angle, triple u, triple v);
-real[][] zscale3(real z);
+pen[] nullpens;
+triple max3(picture pic, projection P=<default>);
void add(picture pic=<default>, void d(picture, real[][]), bool exact=<default>);
void add(picture pic, arrowhead3 arrowhead, real size, real angle, filltype filltype, position position, material arrowheadpen, path3 g, material p, bool forwards=<default>, marginT3 margin(path3, pen), bool center=<default>, light light, light arrowheadlight);
void add(picture dest, picture src, triple position, bool group=<default>, bool above=<default>);
@@ -4103,6 +4092,11 @@
void add(picture src, triple position, bool group=<default>, bool above=<default>);
void add(picture dest=<default>, object src, pair position=<default>, pair align=<default>, bool group=<default>, filltype filltype=<default>, bool above=<default>);
void add(picture dest=<default>, frame src, triple position);
+real[][] xscale3(real x);
+real[][] rotate(real angle, triple v);
+real[][] rotate(real angle, triple u, triple v);
+real[][] zscale3(real z);
+triple midpoint(path3 p);
projection obliqueZ(real angle=<default>);
projection obliqueZ;
void label(frame f, Label L, triple position, align align=<default>, pen p=<default>, light light=<default>, string name=<default>, render render=<default>, interaction interaction=<default>, projection P=<default>);
@@ -4109,41 +4103,46 @@
void label(picture pic=<default>, Label L, triple position, align align=<default>, pen p=<default>, light light=<default>, string name=<default>, render render=<default>, interaction interaction=<default>);
void label(picture pic=<default>, Label L, path3 g, align align=<default>, pen p=<default>, light light=<default>, string name=<default>, interaction interaction=<default>);
void operator ---(flatguide3)(... void(flatguide3)[]);
-path3 approach(path3 p, int n, real radix=<default>);
-bool ArcArrow3(picture, path3, material, marginT3(path3, pen), light, light)(arrowhead3 arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>, material arrowheadpen=<default>);
-bool ArcArrow3(picture, path3, material, marginT3(path3, pen), light, light);
-real High;
render operator init();
Tension operator init();
void operator init(flatguide3)();
material operator init();
+path3 approach(path3 p, int n, real radix=<default>);
+marginT3 PenMargins2(path3, pen);
+pen operator ecast(material m);
+real acos1(real x);
+void exitfunction();
real angleprecision;
real Low;
bool Blank(picture, path3, material, marginT3(path3, pen), light, light);
bool ArcArrows3(picture, path3, material, marginT3(path3, pen), light, light)(arrowhead3 arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, material arrowheadpen=<default>);
bool ArcArrows3(picture, path3, material, marginT3(path3, pen), light, light);
-marginT3 BeginPenMargin3(path3, pen);
-surface extrude(path3 p, path3 q);
-surface extrude(path3 p, triple axis=<default>);
-surface extrude(path p, triple plane(pair)=<default>, triple axis=<default>);
-surface extrude(explicit path[] p, triple axis=<default>);
-surface extrude(Label L, triple axis=<default>);
+void bar(picture pic, triple a, triple d, triple perp=<default>, material p=<default>, light light=<default>);
+picture bar(triple a, triple dir, triple perp=<default>, material p=<default>);
+light White;
+void addArrow(picture pic, arrowhead3 arrowhead, path3 g, pen p, real size, real angle, filltype filltype, real position);
+path3 arrowbase(path3 r, triple y, real t, real size);
+triple reldir(path3 p, real l);
void operator controls(flatguide3)(triple post, triple pre);
void operator controls(flatguide3)(triple v);
real asin1(real x);
-triple Y;
-interaction Billboard;
int adjustedIndex(int i, int n, bool cycles);
-picture arrow2(arrowhead3 arrowhead=<default>, path3 g, material p=<default>, material arrowheadpen=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT3 margin(path3, pen)=<default>, light light=<default>, light arrowheadlight=<default>);
int computeNormals(triple[] v, int[][] vi, triple[] n, int[][] ni);
real[][] YX;
real[][] YX(projection P=<default>);
+projection LeftView;
+real relative(Label L, path3 g);
+real[] curlSpecifier(void g(flatguide3), int t);
void addViews(picture dest, picture src, projection[][] views=<default>, bool group=<default>, filltype filltype=<default>);
void addViews(picture src, projection[][] views=<default>, bool group=<default>, filltype filltype=<default>);
+triple[][][] hsplit(triple[][] P, real v=<default>);
path3 circle(triple c, real r, triple normal=<default>);
+marginT3 BeginPenMargin3(path3, pen);
surface unitcube;
+real High;
surface cone(path3 base, triple vertex);
int size(void g(flatguide3));
+void drawarrow2(picture pic, arrowhead3 arrowhead=<default>, path3 g, material p=<default>, material arrowheadpen=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT3 margin(path3, pen)=<default>, light light=<default>, light arrowheadlight=<default>, projection P=<default>);
string defaultembed3Doptions;
real camerafactor;
real[][] bend(path3 g, real t);
@@ -4150,9 +4149,6 @@
triple bend(triple p, path3 g, real scale);
void bend(surface s, path3 g, real L);
surface nullsurface;
-path3[] box(triple v1, triple v2);
-patch unitfrustum1(real ta, real tb);
-projection projection();
light Viewport;
real[][] t2;
real position(position position, real size, path3 g, bool center);
@@ -4161,8 +4157,12 @@
real[] intersect(path3 p, surface s, real fuzz=<default>);
void pixel(picture pic=<default>, triple v, pen p=<default>, real width=<default>);
real[][] flip(real[][] t, triple X, triple Y, triple Z, projection P);
+void _draw(frame f, path3 g, triple center=<default>, material m, light light=<default>, interaction interaction=<default>);
arrowhead3 TeXHead2(triple normal=<default>);
arrowhead3 TeXHead2;
+patch unitfrustum1(real ta, real tb);
+projection projection();
+void drawarrow(picture pic, arrowhead3 arrowhead=<default>, path3 g, material p=<default>, material arrowheadpen=<default>, real size=<default>, real angle=<default>, position position=<default>, filltype filltype=<default>, bool forwards=<default>, marginT3 margin(path3, pen)=<default>, bool center=<default>, light light=<default>, light arrowheadlight=<default>, projection P=<default>);
bool operator ==(material m, material n);
triple rectify(triple dir);
string defaultembed3Dscript;
@@ -4173,22 +4173,22 @@
int lookup(tree t, int key);
bool contains(tree t, int key);
tree newtree();
+void write(file out=<default>, tree t);
tree add(tree t, int key, int value);
-void write(file out=<default>, tree t);
real trembleFrequency;
real trembleRandom;
+real trembleAngle;
real magneticRadius;
-real trembleAngle;
real trembleFuzz();
int coloredNodes;
path3 roundedpath(path3 A, real r);
surface tube(path3 g, coloredpath section, transform T(real)=<default>, real corner=<default>, real relstep=<default>);
+int coloredSegments;
real tubegranularity;
coloredpath operator cast(path p);
coloredpath operator cast(guide p);
surface surface(rmf[] R, real[] t, coloredpath cp, transform T(real), bool cyclic);
real degrees(rmf a, rmf b);
-int coloredSegments;
real[] sample(path3 g, real r, real relstep=<default>);
void render(path3 s, real r, void f(path3, real));
void importv3d(string name);
@@ -4259,50 +4259,52 @@
pen DarkSlateBlue;
pen DarkSeaGreen;
pen DarkSalmon;
-pen Aquamarine;
+pen Brown;
+pen SlateBlue;
pen FireBrick;
-pen White;
-pen Lime;
pen Black;
-pen LightGreen;
pen DeepPink;
pen LightPink;
-pen LightSeaGreen;
pen Navy;
-pen SlateBlue;
+pen Aquamarine;
+pen SlateGray;
+pen LightYellow;
pen LightGrey;
pen LemonChiffon;
pen Wheat;
pen Cyan;
-pen Brown;
-pen AliceBlue;
-pen Teal;
pen Salmon;
pen DimGray;
+pen Teal;
pen Gray;
pen DarkCyan;
-pen Peru;
-pen DarkGray;
+pen Sienna;
+pen White;
pen AntiqueWhite;
pen ForestGreen;
-pen Turquoise;
-pen DarkOrange;
-pen Sienna;
-pen LightYellow;
+pen Lime;
+pen Peru;
pen Ivory;
pen BlueViolet;
-pen SlateGray;
+pen AliceBlue;
+pen Coral;
+pen DarkRed;
+pen Crimson;
+pen Turquoise;
+pen Aqua;
+pen DarkOrchid;
pen CadetBlue;
+pen Red;
+pen Azure;
pen LightSteelBlue;
pen MediumAquamarine;
-pen Red;
-pen Azure;
+pen DarkOrange;
+pen DarkGray;
+pen LightSeaGreen;
pen MediumBlue;
-pen Coral;
pen MediumOrchid;
+pen LightGreen;
pen Blue;
-pen DarkOrchid;
-pen Aqua;
pen MediumSeaGreen;
pen Orchid;
pen PaleGreen;
@@ -4311,8 +4313,6 @@
pen Yellow;
pen SandyBrown;
pen Chocolate;
-pen DarkRed;
-pen Crimson;
pen Indigo;
pen Tan;
pen MediumVioletRed;
@@ -4320,10 +4320,10 @@
pen DarkBlue;
pen OliveDrab;
pen Magenta;
-pen RoyalBlue;
pen MistyRose;
pen Honeydew;
pen Chartreuse;
+pen RoyalBlue;
pen DarkOliveGreen;
pen SeaGreen;
pen DarkTurquoise;
Modified: trunk/Build/source/utils/asymptote/asymptote.spec
===================================================================
--- trunk/Build/source/utils/asymptote/asymptote.spec 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/asymptote.spec 2025-02-09 21:47:36 UTC (rev 73825)
@@ -3,7 +3,7 @@
%global __python %{__python3}
Name: asymptote
-Version: 2.96
+Version: 2.98
Release: 1%{?dist}
Summary: Descriptive vector graphics language
Modified: trunk/Build/source/utils/asymptote/build-scripts/build-asymptote-CTAN
===================================================================
--- trunk/Build/source/utils/asymptote/build-scripts/build-asymptote-CTAN 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/build-scripts/build-asymptote-CTAN 2025-02-09 21:47:36 UTC (rev 73825)
@@ -19,6 +19,8 @@
rm -rf asymptote-$VERSION
tar -zxf $SRC
cd asymptote-$VERSION
+find . -name ".[^.]*" -exec rm -rf {} \;
+rm -rf libatomic_ops/m4
mkdir -p binaries/$BINDIR/texlive
cd binaries/$BINDIR
cp $SHARED/CTAN/asy.exe texlive
Modified: trunk/Build/source/utils/asymptote/configure
===================================================================
--- trunk/Build/source/utils/asymptote/configure 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/configure 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for Asymptote 2.96.
+# Generated by GNU Autoconf 2.71 for Asymptote 2.98.
#
# Report bugs to <https://github.com/vectorgraphics/asymptote/issues>.
#
@@ -611,8 +611,8 @@
# Identity of this package.
PACKAGE_NAME='Asymptote'
PACKAGE_TARNAME='asymptote'
-PACKAGE_VERSION='2.96'
-PACKAGE_STRING='Asymptote 2.96'
+PACKAGE_VERSION='2.98'
+PACKAGE_STRING='Asymptote 2.98'
PACKAGE_BUGREPORT='https://github.com/vectorgraphics/asymptote/issues'
PACKAGE_URL=''
@@ -1338,7 +1338,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Asymptote 2.96 to adapt to many kinds of systems.
+\`configure' configures Asymptote 2.98 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1405,7 +1405,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Asymptote 2.96:";;
+ short | recursive ) echo "Configuration of Asymptote 2.98:";;
esac
cat <<\_ACEOF
@@ -1530,7 +1530,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Asymptote configure 2.96
+Asymptote configure 2.98
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2010,7 +2010,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Asymptote $as_me 2.96, which was
+It was created by Asymptote $as_me 2.98, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -10590,7 +10590,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Asymptote $as_me 2.96, which was
+This file was extended by Asymptote $as_me 2.98, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -10654,7 +10654,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-Asymptote config.status 2.96
+Asymptote config.status 2.98
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
Modified: trunk/Build/source/utils/asymptote/configure.ac
===================================================================
--- trunk/Build/source/utils/asymptote/configure.ac 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/configure.ac 2025-02-09 21:47:36 UTC (rev 73825)
@@ -3,7 +3,7 @@
# this file.
AC_PREREQ([2.71])
-AC_INIT([Asymptote],[2.96],[https://github.com/vectorgraphics/asymptote/issues])
+AC_INIT([Asymptote],[2.98],[https://github.com/vectorgraphics/asymptote/issues])
VERSION=$PACKAGE_VERSION
AC_SUBST(VERSION)
m4_include([ax_pthread.m4])
Modified: trunk/Build/source/utils/asymptote/doc/CAD.pdf
===================================================================
(Binary files differ)
Modified: trunk/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
===================================================================
--- trunk/Build/source/utils/asymptote/doc/FAQ/asy-faq.info 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/doc/FAQ/asy-faq.info 2025-02-09 21:47:36 UTC (rev 73825)
@@ -10,7 +10,7 @@
File: asy-faq.info, Node: Top, Next: Question 1.1, Up: (dir)
ASYMPTOTE FREQUENTLY ASKED QUESTIONS
- 2025-02-07
+ 2025-02-09
This is the list of Frequently Asked Questions about Asymptote (asy).
Modified: trunk/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf
===================================================================
(Binary files differ)
Modified: trunk/Build/source/utils/asymptote/doc/asy-latex.pdf
===================================================================
(Binary files differ)
Modified: trunk/Build/source/utils/asymptote/doc/asyRefCard.pdf
===================================================================
(Binary files differ)
Modified: trunk/Build/source/utils/asymptote/doc/asymptote.pdf
===================================================================
(Binary files differ)
Modified: trunk/Build/source/utils/asymptote/doc/asymptote.texi
===================================================================
--- trunk/Build/source/utils/asymptote/doc/asymptote.texi 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/doc/asymptote.texi 2025-02-09 21:47:36 UTC (rev 73825)
@@ -11,7 +11,7 @@
@url{https://asymptote.sourceforge.io}
-Copyright @copyright{} 2004-24 Andy Hammerlindl, John Bowman, and Tom Prince.
+Copyright @copyright{} 2004-25 Andy Hammerlindl, John Bowman, and Tom Prince.
@quotation
Permission is granted to copy, distribute and/or modify this document
Modified: trunk/Build/source/utils/asymptote/doc/png/asymptote.info
===================================================================
--- trunk/Build/source/utils/asymptote/doc/png/asymptote.info 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/doc/png/asymptote.info 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,11 +1,11 @@
This is asymptote.info, produced by makeinfo version 7.1 from
asymptote.texi.
-This file documents ‘Asymptote’, version 2.96.
+This file documents ‘Asymptote’, version 2.98.
<https://asymptote.sourceforge.io>
- Copyright © 2004-24 Andy Hammerlindl, John Bowman, and Tom Prince.
+ Copyright © 2004-25 Andy Hammerlindl, John Bowman, and Tom Prince.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Lesser General Public License
@@ -22,11 +22,11 @@
Asymptote
*********
-This file documents ‘Asymptote’, version 2.96.
+This file documents ‘Asymptote’, version 2.98.
<https://asymptote.sourceforge.io>
- Copyright © 2004-24 Andy Hammerlindl, John Bowman, and Tom Prince.
+ Copyright © 2004-25 Andy Hammerlindl, John Bowman, and Tom Prince.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Lesser General Public License
Modified: trunk/Build/source/utils/asymptote/entry.h
===================================================================
--- trunk/Build/source/utils/asymptote/entry.h 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/entry.h 2025-02-09 21:47:36 UTC (rev 73825)
@@ -390,7 +390,7 @@
// record (if any) becomes available.
mem::list<mem::pair<symbol, varEntry *>> autoUnravels;
mem::unordered_map<mem::pair<symbol, ty*>,
- nullptr_t,
+ std::nullptr_t,
SigHash,
SigEquiv> nonShadowableAutoUnravels;
Modified: trunk/Build/source/utils/asymptote/fileio.cc
===================================================================
--- trunk/Build/source/utils/asymptote/fileio.cc 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/fileio.cc 2025-02-09 21:47:36 UTC (rev 73825)
@@ -421,6 +421,8 @@
if(errorstream::interrupt) throw interrupted();
}
+#ifdef HAVE_LIBTIRPC
+
void igzxfile::open()
{
name=locatefile(inpath(name));
@@ -447,5 +449,6 @@
processData().ixfile.remove(index);
}
}
+#endif
} // namespace camp
Modified: trunk/Build/source/utils/asymptote/gc/autom4te.cache/requests
===================================================================
--- trunk/Build/source/utils/asymptote/gc/autom4te.cache/requests 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/gc/autom4te.cache/requests 2025-02-09 21:47:36 UTC (rev 73825)
@@ -43,188 +43,188 @@
'configure.ac'
],
{
- 'LT_LIB_M' => 1,
+ 'LT_PROG_GO' => 1,
+ 'LT_LANG' => 1,
+ 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
+ 'AC_LIBTOOL_DLOPEN_SELF' => 1,
+ '_LT_AC_LANG_GCJ' => 1,
+ 'AM_PROG_LD' => 1,
+ 'AC_LIBTOOL_CONFIG' => 1,
+ '_LT_AC_SYS_LIBPATH_AIX' => 1,
+ 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+ '_LT_AC_LANG_RC_CONFIG' => 1,
+ '_LT_COMPILER_OPTION' => 1,
+ 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
+ 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
+ '_LT_AC_LANG_F77_CONFIG' => 1,
+ 'LT_INIT' => 1,
+ 'AC_LTDL_SHLIBEXT' => 1,
+ 'AM_PROG_INSTALL_SH' => 1,
+ '_LT_PROG_CXX' => 1,
+ 'AC_LTDL_SYSSEARCHPATH' => 1,
+ 'AC_DEPLIBS_CHECK_METHOD' => 1,
+ 'AM_MISSING_HAS_RUN' => 1,
+ 'AC_LIBTOOL_DLOPEN' => 1,
+ 'LT_SYS_MODULE_EXT' => 1,
+ '_LT_AC_CHECK_DLFCN' => 1,
+ 'LT_SYS_SYMBOL_USCORE' => 1,
+ 'AC_LIBTOOL_LANG_C_CONFIG' => 1,
'_LT_PROG_FC' => 1,
- 'LTVERSION_VERSION' => 1,
- '_LT_AC_LANG_CXX_CONFIG' => 1,
- 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
- '_AM_DEPENDENCIES' => 1,
- '_AM_SET_OPTIONS' => 1,
+ 'AC_LIBTOOL_CXX' => 1,
+ 'AC_LTDL_ENABLE_INSTALL' => 1,
+ 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
+ 'LT_WITH_LTDL' => 1,
+ 'LT_SYS_DLOPEN_DEPLIBS' => 1,
+ 'LT_FUNC_ARGZ' => 1,
+ '_LT_CC_BASENAME' => 1,
+ 'LT_SUPPORTED_TAG' => 1,
+ 'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
+ '_LT_PROG_LTMAIN' => 1,
+ 'AM_PROG_CC_C_O' => 1,
+ '_AC_PROG_LIBTOOL' => 1,
+ 'AM_DISABLE_SHARED' => 1,
+ 'AM_SUBST_NOTMAKE' => 1,
'AM_DEP_TRACK' => 1,
- 'AM_PROG_NM' => 1,
- 'AC_LIBTOOL_GCJ' => 1,
- 'LTDL_INIT' => 1,
- 'AC_PROG_EGREP' => 1,
- 'AM_MISSING_PROG' => 1,
- 'LT_FUNC_ARGZ' => 1,
- 'AC_PATH_MAGIC' => 1,
- '_LT_AC_LANG_F77_CONFIG' => 1,
'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
+ '_AM_SET_OPTIONS' => 1,
+ 'm4_pattern_allow' => 1,
+ 'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
+ 'AC_LTDL_DLSYM_USCORE' => 1,
+ 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
+ 'LT_OUTPUT' => 1,
+ 'AC_DEFUN' => 1,
+ '_LT_AC_LANG_CXX_CONFIG' => 1,
+ 'LTDL_INSTALLABLE' => 1,
+ 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
+ 'AC_DISABLE_FAST_INSTALL' => 1,
+ 'LTOPTIONS_VERSION' => 1,
+ 'AC_LIB_LTDL' => 1,
+ 'LT_LIB_DLLOAD' => 1,
+ 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
+ 'LT_FUNC_DLSYM_USCORE' => 1,
+ 'AM_CONDITIONAL' => 1,
+ 'AC_DEFUN_ONCE' => 1,
+ '_LT_AC_SYS_COMPILER' => 1,
'AC_CONFIG_MACRO_DIR' => 1,
- 'm4_pattern_forbid' => 1,
- 'AM_MAINTAINER_MODE' => 1,
- 'LT_AC_PROG_RC' => 1,
- 'AC_DISABLE_SHARED' => 1,
+ 'AC_PROG_LIBTOOL' => 1,
+ '_LT_AC_TAGVAR' => 1,
+ 'AC_LTDL_SYMBOL_USCORE' => 1,
+ 'AC_LIBTOOL_LINKER_OPTION' => 1,
+ '_AM_MANGLE_OPTION' => 1,
+ '_LT_COMPILER_BOILERPLATE' => 1,
+ 'AC_PROG_LD_RELOAD_FLAG' => 1,
'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
- 'AC_WITH_LTDL' => 1,
- '_LT_AC_SYS_COMPILER' => 1,
- 'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
- '_AM_CONFIG_MACRO_DIRS' => 1,
- 'AC_LTDL_PREOPEN' => 1,
- 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- '_LT_AC_TAGCONFIG' => 1,
- '_AM_PROG_CC_C_O' => 1,
- '_LT_AC_LANG_GCJ_CONFIG' => 1,
- 'AM_PROG_LD' => 1,
- 'LT_LANG' => 1,
- 'AM_ENABLE_STATIC' => 1,
- '_LT_PROG_CXX' => 1,
'LTSUGAR_VERSION' => 1,
- 'LT_SYS_DLOPEN_DEPLIBS' => 1,
- 'AC_LIBTOOL_DLOPEN_SELF' => 1,
- '_LT_AC_CHECK_DLFCN' => 1,
- 'LTDL_INSTALLABLE' => 1,
- 'LTDL_CONVENIENCE' => 1,
- '_LT_AC_SHELL_INIT' => 1,
- 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
- 'LT_CONFIG_LTDL_DIR' => 1,
- 'LT_PROG_GO' => 1,
- '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
+ 'LTOBSOLETE_VERSION' => 1,
+ '_LT_WITH_SYSROOT' => 1,
+ 'AU_DEFUN' => 1,
+ 'AC_ENABLE_STATIC' => 1,
+ 'LT_AC_PROG_GCJ' => 1,
+ 'AM_PROG_NM' => 1,
+ 'm4_pattern_forbid' => 1,
'LT_AC_PROG_EGREP' => 1,
- 'AC_LIBTOOL_F77' => 1,
- 'LT_SYS_MODULE_PATH' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
+ 'AM_DISABLE_STATIC' => 1,
'AC_ENABLE_SHARED' => 1,
- 'AC_LIBTOOL_FC' => 1,
- 'AC_LIBTOOL_COMPILER_OPTION' => 1,
- 'AM_MAKE_INCLUDE' => 1,
- 'AM_PROG_LIBTOOL' => 1,
- 'AM_PROG_INSTALL_SH' => 1,
- 'AC_LTDL_SYMBOL_USCORE' => 1,
- 'LT_OUTPUT' => 1,
- 'm4_pattern_allow' => 1,
+ '_AM_AUTOCONF_VERSION' => 1,
+ '_AM_IF_OPTION' => 1,
+ 'AC_LIBTOOL_WIN32_DLL' => 1,
+ '_LT_LIBOBJ' => 1,
+ '_LT_LINKER_BOILERPLATE' => 1,
+ 'LTVERSION_VERSION' => 1,
+ 'AC_LIBTOOL_RC' => 1,
+ 'AM_AUX_DIR_EXPAND' => 1,
+ 'AC_PATH_MAGIC' => 1,
+ 'AC_WITH_LTDL' => 1,
+ 'LT_PROG_RC' => 1,
+ '_LT_AC_FILE_LTDLL_C' => 1,
+ 'AC_LTDL_DLLIB' => 1,
+ '_LTDL_SETUP' => 1,
+ '_LT_PROG_F77' => 1,
+ 'AC_DISABLE_SHARED' => 1,
+ 'LT_SYS_DLOPEN_SELF' => 1,
+ '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
+ 'LT_LIB_M' => 1,
+ 'AM_MISSING_PROG' => 1,
+ '_AM_PROG_TAR' => 1,
+ 'LT_CMD_MAX_LEN' => 1,
+ 'AC_LIBLTDL_CONVENIENCE' => 1,
+ '_AM_SET_OPTION' => 1,
+ 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
+ 'AC_LIBTOOL_PROG_CC_C_O' => 1,
+ 'LT_PATH_NM' => 1,
+ 'AC_LIBTOOL_SETUP' => 1,
+ 'AM_MAINTAINER_MODE' => 1,
+ 'AM_SILENT_RULES' => 1,
+ '_LT_LINKER_OPTION' => 1,
+ 'AM_RUN_LOG' => 1,
+ '_LT_AC_PROG_CXXCPP' => 1,
'AC_PROG_LD_GNU' => 1,
+ 'AC_PROG_LD' => 1,
+ '_AM_SUBST_NOTMAKE' => 1,
'_AC_AM_CONFIG_HEADER_HOOK' => 1,
- 'AC_PROG_LD_RELOAD_FLAG' => 1,
- '_AM_IF_OPTION' => 1,
- '_LT_PROG_LTMAIN' => 1,
- '_LT_AC_SYS_LIBPATH_AIX' => 1,
+ 'AC_LIBTOOL_FC' => 1,
+ 'AC_PATH_TOOL_PREFIX' => 1,
+ 'AC_LIBTOOL_OBJDIR' => 1,
+ 'LT_SYS_MODULE_PATH' => 1,
+ 'AC_LIBLTDL_INSTALLABLE' => 1,
+ 'include' => 1,
+ 'LTDL_CONVENIENCE' => 1,
+ 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
+ 'LTDL_INIT' => 1,
+ '_LT_REQUIRED_DARWIN_CHECKS' => 1,
+ 'AC_LIBTOOL_PICMODE' => 1,
+ '_LT_PATH_TOOL_PREFIX' => 1,
+ 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
+ 'AC_LTDL_OBJDIR' => 1,
+ '_AM_CONFIG_MACRO_DIRS' => 1,
+ 'AC_PROG_EGREP' => 1,
'AC_LTDL_SHLIBPATH' => 1,
- 'AC_LTDL_SHLIBEXT' => 1,
- 'LT_INIT' => 1,
- '_LT_COMPILER_OPTION' => 1,
+ '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+ 'AM_PROG_INSTALL_STRIP' => 1,
+ 'GC_SET_VERSION' => 1,
+ 'AM_SET_DEPDIR' => 1,
+ '_LT_AC_SHELL_INIT' => 1,
+ 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
'AC_ENABLE_FAST_INSTALL' => 1,
- '_LT_AC_PROG_CXXCPP' => 1,
- 'AC_LIBLTDL_INSTALLABLE' => 1,
- 'AC_DISABLE_STATIC' => 1,
- 'AC_LIBTOOL_SETUP' => 1,
- 'LT_SYS_DLSEARCH_PATH' => 1,
- 'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
- 'LT_CMD_MAX_LEN' => 1,
- 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
- '_LT_LINKER_OPTION' => 1,
- 'AM_PROG_INSTALL_STRIP' => 1,
- '_AM_PROG_TAR' => 1,
- 'LT_AC_PROG_SED' => 1,
- '_LT_AC_FILE_LTDLL_C' => 1,
'LT_PROG_GCJ' => 1,
- '_LTDL_SETUP' => 1,
- 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
- 'LT_FUNC_DLSYM_USCORE' => 1,
- '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- '_AM_SUBST_NOTMAKE' => 1,
- 'AC_LTDL_OBJDIR' => 1,
- 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
'AM_ENABLE_SHARED' => 1,
- 'AC_PROG_LIBTOOL' => 1,
- 'AC_LIBTOOL_PICMODE' => 1,
- 'AC_LIBTOOL_OBJDIR' => 1,
- 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
- '_LT_LINKER_BOILERPLATE' => 1,
- '_LT_AC_TRY_DLOPEN_SELF' => 1,
+ '_LT_AC_TAGCONFIG' => 1,
+ '_LT_AC_LANG_C_CONFIG' => 1,
+ 'AM_ENABLE_STATIC' => 1,
+ 'LT_AC_PROG_SED' => 1,
+ 'AC_PROG_NM' => 1,
+ '_AM_PROG_CC_C_O' => 1,
+ '_LT_PREPARE_SED_QUOTE_VARS' => 1,
+ 'AC_DISABLE_STATIC' => 1,
'_m4_warn' => 1,
- '_LT_COMPILER_BOILERPLATE' => 1,
- 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
- '_LT_CC_BASENAME' => 1,
- 'm4_include' => 1,
- 'LT_PATH_LD' => 1,
- 'AM_SUBST_NOTMAKE' => 1,
- 'LT_SYS_MODULE_EXT' => 1,
- 'GC_SET_VERSION' => 1,
- 'AM_SET_DEPDIR' => 1,
+ '_LT_AC_LANG_GCJ_CONFIG' => 1,
+ 'AM_SET_LEADING_DOT' => 1,
+ 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
+ '_AM_DEPENDENCIES' => 1,
'AM_PROG_AS' => 1,
- '_LT_PROG_F77' => 1,
- 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
+ '_LT_AC_LOCK' => 1,
+ '_LT_AC_LANG_F77' => 1,
+ 'AM_SANITY_CHECK' => 1,
+ 'AC_LIBTOOL_GCJ' => 1,
+ 'AC_LIBTOOL_COMPILER_OPTION' => 1,
'_LT_PROG_ECHO_BACKSLASH' => 1,
+ 'AC_CHECK_LIBM' => 1,
+ 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
'_LT_DLL_DEF_P' => 1,
- 'AC_LIBTOOL_PROG_CC_C_O' => 1,
- 'AC_LIBTOOL_WIN32_DLL' => 1,
- 'AM_DISABLE_STATIC' => 1,
- 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
- '_LT_LIBOBJ' => 1,
- 'AU_DEFUN' => 1,
- '_LT_AC_LANG_C_CONFIG' => 1,
- 'AC_PATH_TOOL_PREFIX' => 1,
- '_AM_SET_OPTION' => 1,
- 'LT_PROG_RC' => 1,
- 'AM_SET_LEADING_DOT' => 1,
- 'AM_PROG_CC_C_O' => 1,
- 'AC_DEFUN' => 1,
- 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
- 'AM_AUX_DIR_EXPAND' => 1,
- 'AC_LIBTOOL_CXX' => 1,
- 'LT_PATH_NM' => 1,
- 'include' => 1,
- 'AC_LIBTOOL_LINKER_OPTION' => 1,
- 'LT_WITH_LTDL' => 1,
- 'LT_SUPPORTED_TAG' => 1,
- '_AM_AUTOCONF_VERSION' => 1,
- 'AC_LTDL_DLSYM_USCORE' => 1,
- 'AM_SILENT_RULES' => 1,
- 'LTOPTIONS_VERSION' => 1,
- 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
- 'AC_PROG_NM' => 1,
- 'LTOBSOLETE_VERSION' => 1,
- 'AM_SANITY_CHECK' => 1,
- 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
- '_LT_PREPARE_SED_QUOTE_VARS' => 1,
- 'AC_LIBTOOL_RC' => 1,
- 'AM_CONDITIONAL' => 1,
- '_AM_MANGLE_OPTION' => 1,
+ 'AC_LTDL_PREOPEN' => 1,
'AM_AUTOMAKE_VERSION' => 1,
- '_LT_AC_LANG_GCJ' => 1,
- 'AM_MISSING_HAS_RUN' => 1,
- '_LT_AC_LANG_RC_CONFIG' => 1,
- 'LT_SYS_SYMBOL_USCORE' => 1,
- 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
- 'AM_RUN_LOG' => 1,
- 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
- 'LT_AC_PROG_GCJ' => 1,
- 'AC_DEPLIBS_CHECK_METHOD' => 1,
- 'AC_ENABLE_STATIC' => 1,
- 'AM_INIT_AUTOMAKE' => 1,
- 'AC_DEFUN_ONCE' => 1,
- 'AC_PROG_LD' => 1,
- 'AC_LIB_LTDL' => 1,
+ 'LT_PATH_LD' => 1,
+ 'LT_AC_PROG_RC' => 1,
+ 'AM_MAKE_INCLUDE' => 1,
+ 'm4_include' => 1,
+ 'AC_LIBTOOL_F77' => 1,
+ '_LT_AC_TRY_DLOPEN_SELF' => 1,
+ 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
+ 'LT_CONFIG_LTDL_DIR' => 1,
+ 'LT_SYS_DLSEARCH_PATH' => 1,
'_LT_AC_LANG_CXX' => 1,
- '_LT_WITH_SYSROOT' => 1,
- '_LT_PATH_TOOL_PREFIX' => 1,
- 'AC_LIBTOOL_CONFIG' => 1,
- 'AC_LIBTOOL_LANG_C_CONFIG' => 1,
- 'AC_DISABLE_FAST_INSTALL' => 1,
- 'LT_SYS_DLOPEN_SELF' => 1,
- '_AC_PROG_LIBTOOL' => 1,
- 'AC_LIBLTDL_CONVENIENCE' => 1,
- 'AC_CHECK_LIBM' => 1,
- '_LT_AC_TAGVAR' => 1,
- '_LT_REQUIRED_DARWIN_CHECKS' => 1,
- 'AC_LIBTOOL_DLOPEN' => 1,
- 'AC_LTDL_SYSSEARCHPATH' => 1,
- 'AC_LTDL_ENABLE_INSTALL' => 1,
- 'AC_LTDL_DLLIB' => 1,
- 'AM_DISABLE_SHARED' => 1,
- '_LT_AC_LANG_F77' => 1,
- '_LT_AC_LOCK' => 1,
- 'LT_LIB_DLLOAD' => 1
+ 'AM_PROG_LIBTOOL' => 1
}
], 'Autom4te::Request' ),
bless( [
@@ -239,69 +239,69 @@
'configure.ac'
],
{
+ '_m4_warn' => 1,
+ 'AC_SUBST_TRACE' => 1,
+ 'AC_FC_FREEFORM' => 1,
+ 'AC_CONFIG_LINKS' => 1,
+ '_AM_MAKEFILE_INCLUDE' => 1,
+ 'IT_PROG_INTLTOOL' => 1,
+ 'AM_PATH_GUILE' => 1,
+ 'AM_CONDITIONAL' => 1,
+ 'AC_LIBSOURCE' => 1,
+ 'AM_PROG_FC_C_O' => 1,
'AM_GNU_GETTEXT' => 1,
- 'AC_CANONICAL_BUILD' => 1,
- 'LT_INIT' => 1,
- 'AC_CONFIG_AUX_DIR' => 1,
+ 'AC_FC_PP_DEFINE' => 1,
+ '_LT_AC_TAGCONFIG' => 1,
+ 'AC_INIT' => 1,
+ 'AC_FC_PP_SRCEXT' => 1,
+ 'AM_POT_TOOLS' => 1,
'_AM_COND_ELSE' => 1,
- 'AM_XGETTEXT_OPTION' => 1,
- 'AM_POT_TOOLS' => 1,
- 'AC_FC_FREEFORM' => 1,
- 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
- 'AC_SUBST_TRACE' => 1,
+ 'AM_MAINTAINER_MODE' => 1,
+ 'AM_SILENT_RULES' => 1,
+ '_AM_COND_IF' => 1,
+ 'AC_DEFINE_TRACE_LITERAL' => 1,
+ 'AM_PROG_MOC' => 1,
+ 'AC_FC_SRCEXT' => 1,
+ 'AC_CANONICAL_TARGET' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_CONFIG_SUBDIRS' => 1,
- 'AM_MAINTAINER_MODE' => 1,
- 'AM_EXTRA_RECURSIVE_TARGETS' => 1,
- 'AM_PROG_MKDIR_P' => 1,
- 'm4_pattern_forbid' => 1,
- 'AM_INIT_AUTOMAKE' => 1,
- 'AM_PROG_F77_C_O' => 1,
- 'm4_sinclude' => 1,
- 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
- '_LT_AC_TAGCONFIG' => 1,
- 'AM_PATH_GUILE' => 1,
- 'AM_PROG_CC_C_O' => 1,
+ 'LT_INIT' => 1,
+ 'AC_PROG_LIBTOOL' => 1,
+ 'GTK_DOC_CHECK' => 1,
+ 'AC_REQUIRE_AUX_FILE' => 1,
+ 'AM_AUTOMAKE_VERSION' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'sinclude' => 1,
- 'AM_MAKEFILE_INCLUDE' => 1,
- 'AH_OUTPUT' => 1,
- 'AC_DEFINE_TRACE_LITERAL' => 1,
- 'AC_FC_PP_SRCEXT' => 1,
- 'IT_PROG_INTLTOOL' => 1,
- '_m4_warn' => 1,
- 'AC_LIBSOURCE' => 1,
- '_AM_MAKEFILE_INCLUDE' => 1,
- 'AM_SILENT_RULES' => 1,
- 'AC_CONFIG_LINKS' => 1,
- 'AM_PROG_FC_C_O' => 1,
+ 'include' => 1,
+ 'AM_ENABLE_MULTILIB' => 1,
+ 'AM_PROG_CC_C_O' => 1,
'AC_CANONICAL_HOST' => 1,
- '_AM_SUBST_NOTMAKE' => 1,
+ 'm4_sinclude' => 1,
+ 'm4_pattern_forbid' => 1,
'LT_SUPPORTED_TAG' => 1,
- 'AC_PROG_LIBTOOL' => 1,
- 'AM_ENABLE_MULTILIB' => 1,
- 'LT_CONFIG_LTDL_DIR' => 1,
- 'GTK_DOC_CHECK' => 1,
- 'AM_PROG_CXX_C_O' => 1,
- 'AC_INIT' => 1,
- 'AM_PROG_AR' => 1,
- '_AM_COND_IF' => 1,
- 'include' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
+ 'AH_OUTPUT' => 1,
'AM_NLS' => 1,
- 'AC_REQUIRE_AUX_FILE' => 1,
- '_AM_COND_ENDIF' => 1,
- 'AC_FC_SRCEXT' => 1,
+ 'AM_PROG_F77_C_O' => 1,
+ '_AM_SUBST_NOTMAKE' => 1,
+ 'AC_CANONICAL_BUILD' => 1,
+ 'AC_CONFIG_FILES' => 1,
+ 'AM_PROG_MKDIR_P' => 1,
'AC_SUBST' => 1,
- 'm4_pattern_allow' => 1,
+ 'AM_PROG_AR' => 1,
+ 'AM_XGETTEXT_OPTION' => 1,
'AM_PROG_LIBTOOL' => 1,
+ 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
+ '_AM_COND_ENDIF' => 1,
+ 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
+ 'AC_CONFIG_AUX_DIR' => 1,
+ 'AM_EXTRA_RECURSIVE_TARGETS' => 1,
'AC_CONFIG_HEADERS' => 1,
+ 'AM_MAKEFILE_INCLUDE' => 1,
+ 'LT_CONFIG_LTDL_DIR' => 1,
+ 'AM_PROG_CXX_C_O' => 1,
'm4_include' => 1,
- 'AC_CONFIG_FILES' => 1,
- 'AC_FC_PP_DEFINE' => 1,
- 'AM_AUTOMAKE_VERSION' => 1,
- 'AM_PROG_MOC' => 1,
- 'AM_CONDITIONAL' => 1,
- 'AC_CANONICAL_TARGET' => 1
+ 'm4_pattern_allow' => 1
}
], 'Autom4te::Request' ),
bless( [
@@ -344,188 +344,188 @@
'configure.ac'
],
{
- 'AC_LTDL_DLSYM_USCORE' => 1,
- 'LT_SUPPORTED_TAG' => 1,
- '_AM_AUTOCONF_VERSION' => 1,
- 'include' => 1,
- 'AC_LIBTOOL_LINKER_OPTION' => 1,
- 'LT_WITH_LTDL' => 1,
- 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
- 'LTOBSOLETE_VERSION' => 1,
- 'AM_SANITY_CHECK' => 1,
- 'LTOPTIONS_VERSION' => 1,
- 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
- 'AC_PROG_NM' => 1,
- 'AM_SILENT_RULES' => 1,
'AM_AUTOMAKE_VERSION' => 1,
- '_AM_MANGLE_OPTION' => 1,
- 'AC_LIBTOOL_RC' => 1,
- 'AM_CONDITIONAL' => 1,
- '_LT_PREPARE_SED_QUOTE_VARS' => 1,
- 'LT_SYS_SYMBOL_USCORE' => 1,
+ '_LT_DLL_DEF_P' => 1,
+ 'AC_LTDL_PREOPEN' => 1,
'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
- 'AM_RUN_LOG' => 1,
- '_LT_AC_LANG_RC_CONFIG' => 1,
- 'AM_MISSING_HAS_RUN' => 1,
- '_LT_AC_LANG_GCJ' => 1,
- 'AC_LIB_LTDL' => 1,
- 'AC_DEFUN_ONCE' => 1,
- 'AM_INIT_AUTOMAKE' => 1,
- 'AC_PROG_LD' => 1,
- 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
- 'LT_AC_PROG_GCJ' => 1,
- 'AC_DEPLIBS_CHECK_METHOD' => 1,
- 'AC_ENABLE_STATIC' => 1,
- '_LT_WITH_SYSROOT' => 1,
- '_LT_PATH_TOOL_PREFIX' => 1,
- 'AC_LIBTOOL_CONFIG' => 1,
- '_LT_AC_LANG_CXX' => 1,
- 'AC_LIBLTDL_CONVENIENCE' => 1,
- '_AC_PROG_LIBTOOL' => 1,
- 'LT_SYS_DLOPEN_SELF' => 1,
'AC_CHECK_LIBM' => 1,
- 'AC_DISABLE_FAST_INSTALL' => 1,
- 'AC_LIBTOOL_LANG_C_CONFIG' => 1,
- '_LT_AC_LOCK' => 1,
- 'LT_LIB_DLLOAD' => 1,
- 'AC_LIBTOOL_DLOPEN' => 1,
- 'AC_LTDL_SYSSEARCHPATH' => 1,
- 'AC_LTDL_ENABLE_INSTALL' => 1,
- 'AM_DISABLE_SHARED' => 1,
- 'AC_LTDL_DLLIB' => 1,
- '_LT_AC_LANG_F77' => 1,
- '_LT_REQUIRED_DARWIN_CHECKS' => 1,
- '_LT_AC_TAGVAR' => 1,
- 'AM_ENABLE_SHARED' => 1,
- 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
- 'AC_LTDL_OBJDIR' => 1,
- 'AC_PROG_LIBTOOL' => 1,
- 'AC_LIBTOOL_PICMODE' => 1,
- '_AM_SUBST_NOTMAKE' => 1,
- '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
- '_LT_COMPILER_BOILERPLATE' => 1,
- '_m4_warn' => 1,
- '_LT_AC_TRY_DLOPEN_SELF' => 1,
- 'AC_LIBTOOL_OBJDIR' => 1,
- 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
- '_LT_LINKER_BOILERPLATE' => 1,
- 'm4_include' => 1,
- 'LT_PATH_LD' => 1,
- 'AM_SUBST_NOTMAKE' => 1,
- 'LT_SYS_MODULE_EXT' => 1,
- '_LT_CC_BASENAME' => 1,
- 'AM_SET_DEPDIR' => 1,
- 'GC_SET_VERSION' => 1,
- 'AC_LIBTOOL_PROG_CC_C_O' => 1,
- '_LT_DLL_DEF_P' => 1,
- '_LT_PROG_F77' => 1,
- 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
- 'AM_PROG_AS' => 1,
+ 'AC_LIBTOOL_GCJ' => 1,
'_LT_PROG_ECHO_BACKSLASH' => 1,
- 'AC_LIBTOOL_WIN32_DLL' => 1,
- 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
- 'AM_DISABLE_STATIC' => 1,
- '_LT_LIBOBJ' => 1,
- 'AU_DEFUN' => 1,
- 'AM_AUX_DIR_EXPAND' => 1,
- 'AM_PROG_CC_C_O' => 1,
- 'LT_PROG_RC' => 1,
- 'AM_SET_LEADING_DOT' => 1,
- 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
- 'AC_DEFUN' => 1,
- '_AM_SET_OPTION' => 1,
- '_LT_AC_LANG_C_CONFIG' => 1,
- 'AC_PATH_TOOL_PREFIX' => 1,
- 'LT_PATH_NM' => 1,
- 'AC_LIBTOOL_CXX' => 1,
- 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
- 'LT_CONFIG_LTDL_DIR' => 1,
- '_LT_AC_SHELL_INIT' => 1,
- '_LT_AC_CHECK_DLFCN' => 1,
- 'LTDL_INSTALLABLE' => 1,
- 'LTDL_CONVENIENCE' => 1,
- 'LTSUGAR_VERSION' => 1,
- '_LT_PROG_CXX' => 1,
- 'LT_SYS_DLOPEN_DEPLIBS' => 1,
- 'AC_LIBTOOL_DLOPEN_SELF' => 1,
- '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
- 'LT_AC_PROG_EGREP' => 1,
- 'LT_PROG_GO' => 1,
- 'LT_SYS_MODULE_PATH' => 1,
- 'AC_LIBTOOL_F77' => 1,
- 'm4_pattern_allow' => 1,
- 'LT_OUTPUT' => 1,
- 'AC_LIBTOOL_FC' => 1,
- 'AC_ENABLE_SHARED' => 1,
'AC_LIBTOOL_COMPILER_OPTION' => 1,
'AM_PROG_LIBTOOL' => 1,
+ 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
+ 'LT_CONFIG_LTDL_DIR' => 1,
+ 'LT_SYS_DLSEARCH_PATH' => 1,
+ '_LT_AC_LANG_CXX' => 1,
'AM_MAKE_INCLUDE' => 1,
- 'AM_PROG_INSTALL_SH' => 1,
- 'AC_LTDL_SYMBOL_USCORE' => 1,
- '_LT_PROG_LTMAIN' => 1,
- 'AC_PROG_LD_RELOAD_FLAG' => 1,
- '_AM_IF_OPTION' => 1,
- '_AC_AM_CONFIG_HEADER_HOOK' => 1,
- 'AC_PROG_LD_GNU' => 1,
- '_LT_COMPILER_OPTION' => 1,
- 'LT_INIT' => 1,
- 'AC_LTDL_SHLIBPATH' => 1,
- 'AC_LTDL_SHLIBEXT' => 1,
- '_LT_AC_SYS_LIBPATH_AIX' => 1,
- 'LT_CMD_MAX_LEN' => 1,
- 'LT_SYS_DLSEARCH_PATH' => 1,
- 'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
+ 'LT_AC_PROG_RC' => 1,
+ 'LT_PATH_LD' => 1,
+ 'm4_include' => 1,
+ 'AC_LIBTOOL_F77' => 1,
+ '_LT_AC_TRY_DLOPEN_SELF' => 1,
'AC_DISABLE_STATIC' => 1,
- 'AC_LIBTOOL_SETUP' => 1,
+ '_LT_PREPARE_SED_QUOTE_VARS' => 1,
+ '_LT_AC_LANG_GCJ_CONFIG' => 1,
+ '_m4_warn' => 1,
+ 'AM_ENABLE_STATIC' => 1,
+ 'LT_AC_PROG_SED' => 1,
+ 'AC_PROG_NM' => 1,
+ '_AM_PROG_CC_C_O' => 1,
+ '_LT_AC_TAGCONFIG' => 1,
+ '_LT_AC_LANG_C_CONFIG' => 1,
+ 'LT_PROG_GCJ' => 1,
'AC_ENABLE_FAST_INSTALL' => 1,
+ 'AM_ENABLE_SHARED' => 1,
+ '_LT_AC_LANG_F77' => 1,
+ 'AM_SANITY_CHECK' => 1,
+ '_LT_AC_LOCK' => 1,
+ 'AM_PROG_AS' => 1,
+ '_AM_DEPENDENCIES' => 1,
+ 'AM_SET_LEADING_DOT' => 1,
+ 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
+ 'LTDL_INIT' => 1,
+ '_LT_REQUIRED_DARWIN_CHECKS' => 1,
+ 'AC_LIBTOOL_PICMODE' => 1,
+ 'include' => 1,
+ 'AC_LIBLTDL_INSTALLABLE' => 1,
+ 'LTDL_CONVENIENCE' => 1,
+ 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
+ 'AC_PATH_TOOL_PREFIX' => 1,
+ 'AC_LIBTOOL_FC' => 1,
+ 'LT_SYS_MODULE_PATH' => 1,
+ 'AC_LIBTOOL_OBJDIR' => 1,
'_LT_AC_PROG_CXXCPP' => 1,
- 'AC_LIBLTDL_INSTALLABLE' => 1,
- 'LT_FUNC_DLSYM_USCORE' => 1,
- '_LTDL_SETUP' => 1,
- 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
- '_LT_AC_FILE_LTDLL_C' => 1,
- 'LT_PROG_GCJ' => 1,
+ 'AM_RUN_LOG' => 1,
+ '_LT_LINKER_OPTION' => 1,
+ 'AC_PROG_LD' => 1,
+ 'AC_PROG_LD_GNU' => 1,
+ '_AC_AM_CONFIG_HEADER_HOOK' => 1,
+ '_AM_SUBST_NOTMAKE' => 1,
+ 'GC_SET_VERSION' => 1,
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
- '_LT_LINKER_OPTION' => 1,
+ 'AM_SET_DEPDIR' => 1,
+ '_LT_AC_SHELL_INIT' => 1,
+ '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
'AM_PROG_INSTALL_STRIP' => 1,
+ 'AC_LTDL_SHLIBPATH' => 1,
+ 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
+ '_LT_PATH_TOOL_PREFIX' => 1,
+ 'AC_LTDL_OBJDIR' => 1,
+ 'AC_PROG_EGREP' => 1,
+ '_AM_CONFIG_MACRO_DIRS' => 1,
'_AM_PROG_TAR' => 1,
- 'LT_AC_PROG_SED' => 1,
- 'LTVERSION_VERSION' => 1,
- '_LT_PROG_FC' => 1,
'LT_LIB_M' => 1,
- '_LT_AC_LANG_CXX_CONFIG' => 1,
- 'AC_LIBTOOL_GCJ' => 1,
- 'LTDL_INIT' => 1,
- 'AM_PROG_NM' => 1,
- '_AM_SET_OPTIONS' => 1,
- 'AM_DEP_TRACK' => 1,
- 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
- '_AM_DEPENDENCIES' => 1,
- '_LT_AC_LANG_F77_CONFIG' => 1,
- 'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
'AM_MISSING_PROG' => 1,
- 'LT_FUNC_ARGZ' => 1,
- 'AC_PATH_MAGIC' => 1,
- 'AC_PROG_EGREP' => 1,
'AC_DISABLE_SHARED' => 1,
- 'LT_AC_PROG_RC' => 1,
+ '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
+ 'LT_SYS_DLOPEN_SELF' => 1,
'AM_MAINTAINER_MODE' => 1,
- 'AC_CONFIG_MACRO_DIR' => 1,
+ 'AC_LIBTOOL_SETUP' => 1,
+ 'AM_SILENT_RULES' => 1,
+ 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
+ 'LT_PATH_NM' => 1,
+ 'AC_LIBTOOL_PROG_CC_C_O' => 1,
+ 'LT_CMD_MAX_LEN' => 1,
+ 'AC_LIBLTDL_CONVENIENCE' => 1,
+ '_AM_SET_OPTION' => 1,
+ '_AM_IF_OPTION' => 1,
+ 'AC_LIBTOOL_WIN32_DLL' => 1,
+ '_LT_LIBOBJ' => 1,
+ '_AM_AUTOCONF_VERSION' => 1,
+ 'AC_ENABLE_SHARED' => 1,
+ 'LT_AC_PROG_EGREP' => 1,
'm4_pattern_forbid' => 1,
+ 'AM_DISABLE_STATIC' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
+ 'LTOBSOLETE_VERSION' => 1,
+ '_LT_WITH_SYSROOT' => 1,
+ 'AC_ENABLE_STATIC' => 1,
+ 'AU_DEFUN' => 1,
+ 'LT_AC_PROG_GCJ' => 1,
+ 'AM_PROG_NM' => 1,
+ '_LTDL_SETUP' => 1,
+ 'AC_LTDL_DLLIB' => 1,
+ '_LT_PROG_F77' => 1,
+ 'AC_PATH_MAGIC' => 1,
'AC_WITH_LTDL' => 1,
+ 'LT_PROG_RC' => 1,
+ '_LT_AC_FILE_LTDLL_C' => 1,
+ '_LT_LINKER_BOILERPLATE' => 1,
+ 'AC_LIBTOOL_RC' => 1,
+ 'LTVERSION_VERSION' => 1,
+ 'AM_AUX_DIR_EXPAND' => 1,
+ 'AC_DEFUN_ONCE' => 1,
+ 'AC_LIB_LTDL' => 1,
+ 'LT_LIB_DLLOAD' => 1,
+ 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
+ 'AM_CONDITIONAL' => 1,
+ 'LT_FUNC_DLSYM_USCORE' => 1,
+ 'LTOPTIONS_VERSION' => 1,
+ 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
+ 'AC_DISABLE_FAST_INSTALL' => 1,
+ '_AM_MANGLE_OPTION' => 1,
+ '_LT_COMPILER_BOILERPLATE' => 1,
+ 'LTSUGAR_VERSION' => 1,
+ 'AC_PROG_LD_RELOAD_FLAG' => 1,
+ 'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
+ 'AC_LIBTOOL_LINKER_OPTION' => 1,
+ 'AC_LTDL_SYMBOL_USCORE' => 1,
+ '_LT_AC_TAGVAR' => 1,
+ 'AC_CONFIG_MACRO_DIR' => 1,
+ 'AC_PROG_LIBTOOL' => 1,
'_LT_AC_SYS_COMPILER' => 1,
- 'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
- 'AC_LTDL_PREOPEN' => 1,
- '_AM_CONFIG_MACRO_DIRS' => 1,
+ 'AM_SUBST_NOTMAKE' => 1,
+ 'AM_DEP_TRACK' => 1,
+ 'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
+ '_LT_PROG_LTMAIN' => 1,
+ 'AM_PROG_CC_C_O' => 1,
+ '_AC_PROG_LIBTOOL' => 1,
+ 'AM_DISABLE_SHARED' => 1,
+ 'LT_SYS_DLOPEN_DEPLIBS' => 1,
+ 'LT_FUNC_ARGZ' => 1,
+ 'LT_SUPPORTED_TAG' => 1,
+ '_LT_CC_BASENAME' => 1,
'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
- 'LT_LANG' => 1,
- 'AM_ENABLE_STATIC' => 1,
- '_AM_PROG_CC_C_O' => 1,
- '_LT_AC_LANG_GCJ_CONFIG' => 1,
+ 'AC_LTDL_ENABLE_INSTALL' => 1,
+ 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
+ 'LT_WITH_LTDL' => 1,
+ 'LTDL_INSTALLABLE' => 1,
+ 'AC_DEFUN' => 1,
+ '_LT_AC_LANG_CXX_CONFIG' => 1,
+ 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
+ 'LT_OUTPUT' => 1,
+ 'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
+ 'AC_LTDL_DLSYM_USCORE' => 1,
+ '_AM_SET_OPTIONS' => 1,
+ 'm4_pattern_allow' => 1,
+ '_LT_COMPILER_OPTION' => 1,
'AM_PROG_LD' => 1,
+ '_LT_AC_SYS_LIBPATH_AIX' => 1,
+ 'AC_LIBTOOL_CONFIG' => 1,
+ '_LT_AC_LANG_RC_CONFIG' => 1,
'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- '_LT_AC_TAGCONFIG' => 1
+ 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
+ 'AC_LIBTOOL_DLOPEN_SELF' => 1,
+ '_LT_AC_LANG_GCJ' => 1,
+ 'LT_PROG_GO' => 1,
+ 'LT_LANG' => 1,
+ '_LT_AC_CHECK_DLFCN' => 1,
+ 'AC_LIBTOOL_LANG_C_CONFIG' => 1,
+ 'LT_SYS_SYMBOL_USCORE' => 1,
+ '_LT_PROG_FC' => 1,
+ 'AC_LIBTOOL_CXX' => 1,
+ 'AC_LTDL_SYSSEARCHPATH' => 1,
+ 'AC_DEPLIBS_CHECK_METHOD' => 1,
+ 'AM_MISSING_HAS_RUN' => 1,
+ 'AC_LIBTOOL_DLOPEN' => 1,
+ 'LT_SYS_MODULE_EXT' => 1,
+ 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
+ '_LT_AC_LANG_F77_CONFIG' => 1,
+ 'AC_LTDL_SHLIBEXT' => 1,
+ 'LT_INIT' => 1,
+ 'AM_PROG_INSTALL_SH' => 1,
+ '_LT_PROG_CXX' => 1,
+ 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1
}
], 'Autom4te::Request' ),
bless( [
@@ -541,69 +541,69 @@
'configure.ac'
],
{
- 'AM_PROG_CXX_C_O' => 1,
- 'AC_INIT' => 1,
+ 'LT_INIT' => 1,
+ 'AC_PROG_LIBTOOL' => 1,
+ 'AC_CONFIG_SUBDIRS' => 1,
'GTK_DOC_CHECK' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
- 'AM_PROG_AR' => 1,
+ 'AM_MAINTAINER_MODE' => 1,
+ '_AM_COND_ELSE' => 1,
+ 'AM_SILENT_RULES' => 1,
'_AM_COND_IF' => 1,
- 'include' => 1,
- 'AM_NLS' => 1,
- '_AM_SUBST_NOTMAKE' => 1,
- 'LT_SUPPORTED_TAG' => 1,
- 'AC_CANONICAL_HOST' => 1,
- 'LT_CONFIG_LTDL_DIR' => 1,
- 'AC_PROG_LIBTOOL' => 1,
- 'AM_ENABLE_MULTILIB' => 1,
- 'AM_SILENT_RULES' => 1,
+ 'AC_FC_SRCEXT' => 1,
+ 'AC_CANONICAL_TARGET' => 1,
+ 'AM_PROG_MOC' => 1,
+ 'AC_DEFINE_TRACE_LITERAL' => 1,
+ 'AC_CANONICAL_SYSTEM' => 1,
+ 'AM_GNU_GETTEXT' => 1,
+ 'AC_FC_PP_DEFINE' => 1,
+ '_LT_AC_TAGCONFIG' => 1,
+ 'AC_INIT' => 1,
+ 'AC_FC_PP_SRCEXT' => 1,
+ 'AM_POT_TOOLS' => 1,
+ 'AC_FC_FREEFORM' => 1,
+ '_m4_warn' => 1,
+ 'AC_SUBST_TRACE' => 1,
+ '_AM_MAKEFILE_INCLUDE' => 1,
+ 'IT_PROG_INTLTOOL' => 1,
'AC_CONFIG_LINKS' => 1,
+ 'AM_PATH_GUILE' => 1,
+ 'AM_CONDITIONAL' => 1,
'AC_LIBSOURCE' => 1,
- '_AM_MAKEFILE_INCLUDE' => 1,
'AM_PROG_FC_C_O' => 1,
- '_m4_warn' => 1,
- 'AM_PROG_MOC' => 1,
- 'AM_CONDITIONAL' => 1,
- 'AC_CANONICAL_TARGET' => 1,
- 'AC_CONFIG_FILES' => 1,
- 'AC_FC_PP_DEFINE' => 1,
+ 'AC_CONFIG_HEADERS' => 1,
+ 'AM_MAKEFILE_INCLUDE' => 1,
+ 'LT_CONFIG_LTDL_DIR' => 1,
+ 'm4_pattern_allow' => 1,
+ 'AM_PROG_CXX_C_O' => 1,
'm4_include' => 1,
- 'AC_CONFIG_HEADERS' => 1,
- 'AM_AUTOMAKE_VERSION' => 1,
+ 'AM_PROG_AR' => 1,
'AM_PROG_LIBTOOL' => 1,
- 'AC_SUBST' => 1,
+ 'AM_XGETTEXT_OPTION' => 1,
+ 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
'_AM_COND_ENDIF' => 1,
- 'AC_FC_SRCEXT' => 1,
- 'm4_pattern_allow' => 1,
- 'AM_PROG_MKDIR_P' => 1,
+ 'AC_CONFIG_AUX_DIR' => 1,
+ 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
'AM_EXTRA_RECURSIVE_TARGETS' => 1,
+ 'LT_SUPPORTED_TAG' => 1,
'm4_pattern_forbid' => 1,
+ 'AM_NLS' => 1,
+ 'AH_OUTPUT' => 1,
'AM_INIT_AUTOMAKE' => 1,
- 'AC_SUBST_TRACE' => 1,
- 'AC_CONFIG_SUBDIRS' => 1,
- 'AM_MAINTAINER_MODE' => 1,
- 'AC_CANONICAL_SYSTEM' => 1,
- 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
- 'AM_XGETTEXT_OPTION' => 1,
- 'AC_FC_FREEFORM' => 1,
- 'AM_POT_TOOLS' => 1,
- 'LT_INIT' => 1,
+ 'AM_PROG_F77_C_O' => 1,
'AC_CANONICAL_BUILD' => 1,
- 'AM_GNU_GETTEXT' => 1,
- '_AM_COND_ELSE' => 1,
- 'AC_CONFIG_AUX_DIR' => 1,
- 'AC_FC_PP_SRCEXT' => 1,
- 'IT_PROG_INTLTOOL' => 1,
- 'AM_PROG_CC_C_O' => 1,
- 'AH_OUTPUT' => 1,
- 'AC_DEFINE_TRACE_LITERAL' => 1,
+ 'AC_CONFIG_FILES' => 1,
+ '_AM_SUBST_NOTMAKE' => 1,
+ 'AM_PROG_MKDIR_P' => 1,
+ 'AC_SUBST' => 1,
+ 'AM_AUTOMAKE_VERSION' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
- 'AM_MAKEFILE_INCLUDE' => 1,
+ 'AM_ENABLE_MULTILIB' => 1,
'sinclude' => 1,
- 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
- 'AM_PATH_GUILE' => 1,
- '_LT_AC_TAGCONFIG' => 1,
- 'AM_PROG_F77_C_O' => 1,
- 'm4_sinclude' => 1
+ 'include' => 1,
+ 'AC_CANONICAL_HOST' => 1,
+ 'm4_sinclude' => 1,
+ 'AM_PROG_CC_C_O' => 1
}
], 'Autom4te::Request' )
);
Modified: trunk/Build/source/utils/asymptote/prc/writePRC.cc
===================================================================
--- trunk/Build/source/utils/asymptote/prc/writePRC.cc 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/prc/writePRC.cc 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1375,7 +1375,7 @@
for(uint32_t i=0;i<number_of_control_point_in_u;i++)
for(uint32_t j=0;j<number_of_control_point_in_v;j++)
P[i][j] = control_point[i*number_of_control_point_in_v+j];
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(__clang__)
itriple compressed_control_point[number_of_control_point_in_u][number_of_control_point_in_v];
uint32_t control_point_type[number_of_control_point_in_u][number_of_control_point_in_v];
#else
Modified: trunk/Build/source/utils/asymptote/revision.cc
===================================================================
--- trunk/Build/source/utils/asymptote/revision.cc 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/revision.cc 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,2 +1,2 @@
-const char *REVISION="2.96";
+const char *REVISION="2.98";
const char *AsyGLVersion="1.02";
Modified: trunk/Build/source/utils/asymptote/runtime.pl
===================================================================
--- trunk/Build/source/utils/asymptote/runtime.pl 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/runtime.pl 2025-02-09 21:47:36 UTC (rev 73825)
@@ -302,9 +302,13 @@
push @header, "}\n\n";
undef $/;
-open my $HEADER, "<", $outHeaderFile;
-my $orig_header = <$HEADER>;
-close $HEADER;
+my $orig_header = "";
+my $HEADER;
+if (-e $outHeaderFile) {
+ open $HEADER, "<", $outHeaderFile;
+ $orig_header = <$HEADER>;
+ close $HEADER;
+}
my $new_header = join "", @header;
if ($new_header ne $orig_header) {
Modified: trunk/Build/source/utils/asymptote/tinyexr/test/unit/vcbuild.bat
===================================================================
--- trunk/Build/source/utils/asymptote/tinyexr/test/unit/vcbuild.bat 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/tinyexr/test/unit/vcbuild.bat 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,4 +1,4 @@
-chcp 437
-python kuroga.py config-msvc.py
-call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86_amd64
-ninja
+chcp 437
+python kuroga.py config-msvc.py
+call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86_amd64
+ninja
Modified: trunk/Build/source/utils/asymptote/tinyexr/vcbuild.bat
===================================================================
--- trunk/Build/source/utils/asymptote/tinyexr/vcbuild.bat 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/tinyexr/vcbuild.bat 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,11 +1,11 @@
-rem Run
-rem
-rem > python.py kuroga.py config-msvc.py
-rem
-rem before to generate build.ninja
-rem
-
-chcp 437
-rem call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86_amd64
-call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
-ninja
+rem Run
+rem
+rem > python.py kuroga.py config-msvc.py
+rem
+rem before to generate build.ninja
+rem
+
+chcp 437
+rem call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86_amd64
+call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
+ninja
Modified: trunk/Build/source/utils/asymptote/tinyexr/vcsetup2019.bat
===================================================================
--- trunk/Build/source/utils/asymptote/tinyexr/vcsetup2019.bat 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/tinyexr/vcsetup2019.bat 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,4 +1,4 @@
-rmdir /q /s build
-mkdir build
-
-cmake.exe -G "Visual Studio 16 2019" -A x64 -Bbuild .
+rmdir /q /s build
+mkdir build
+
+cmake.exe -G "Visual Studio 16 2019" -A x64 -Bbuild .
Modified: trunk/Build/source/utils/asymptote/windows/EnvVarUpdate.nsh
===================================================================
--- trunk/Build/source/utils/asymptote/windows/EnvVarUpdate.nsh 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/windows/EnvVarUpdate.nsh 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,327 +1,327 @@
-/**
- * EnvVarUpdate.nsh
- * : Environmental Variables: append, prepend, and remove entries
- *
- * WARNING: If you use StrFunc.nsh header then include it before this file
- * with all required definitions. This is to avoid conflicts
- *
- * Usage:
- * ${EnvVarUpdate} "ResultVar" "EnvVarName" "Action" "RegLoc" "PathString"
- *
- * Credits:
- * Version 1.0
- * * Cal Turney (turnec2)
- * * Amir Szekely (KiCHiK) and e-circ for developing the forerunners of this
- * function: AddToPath, un.RemoveFromPath, AddToEnvVar, un.RemoveFromEnvVar,
- * WriteEnvStr, and un.DeleteEnvStr
- * * Diego Pedroso (deguix) for StrTok
- * * Kevin English (kenglish_hi) for StrContains
- * * Hendri Adriaens (Smile2Me), Diego Pedroso (deguix), and Dan Fuhry
- * (dandaman32) for StrReplace
- *
- * Version 1.1 (compatibility with StrFunc.nsh)
- * * techtonik
- *
- * http://nsis.sourceforge.net/Environmental_Variables:_append%2C_prepend%2C_and_remove_entries
- *
- */
-
-
-!ifndef ENVVARUPDATE_FUNCTION
-!define ENVVARUPDATE_FUNCTION
-!verbose push
-!verbose 3
-!include "LogicLib.nsh"
-!include "WinMessages.NSH"
-!include "StrFunc.nsh"
-
-; ---- Fix for conflict if StrFunc.nsh is already includes in main file -----------------------
-!macro _IncludeStrFunction StrFuncName
- !ifndef ${StrFuncName}_INCLUDED
- ${${StrFuncName}}
- !endif
- !ifndef Un${StrFuncName}_INCLUDED
- ${Un${StrFuncName}}
- !endif
- !define un.${StrFuncName} "${Un${StrFuncName}}"
-!macroend
-
-!insertmacro _IncludeStrFunction StrTok
-!insertmacro _IncludeStrFunction StrStr
-!insertmacro _IncludeStrFunction StrRep
-
-; ---------------------------------- Macro Definitions ----------------------------------------
-!macro _EnvVarUpdateConstructor ResultVar EnvVarName Action Regloc PathString
- Push "${EnvVarName}"
- Push "${Action}"
- Push "${RegLoc}"
- Push "${PathString}"
- Call EnvVarUpdate
- Pop "${ResultVar}"
-!macroend
-!define EnvVarUpdate '!insertmacro "_EnvVarUpdateConstructor"'
-
-!macro _unEnvVarUpdateConstructor ResultVar EnvVarName Action Regloc PathString
- Push "${EnvVarName}"
- Push "${Action}"
- Push "${RegLoc}"
- Push "${PathString}"
- Call un.EnvVarUpdate
- Pop "${ResultVar}"
-!macroend
-!define un.EnvVarUpdate '!insertmacro "_unEnvVarUpdateConstructor"'
-; ---------------------------------- Macro Definitions end-------------------------------------
-
-;----------------------------------- EnvVarUpdate start----------------------------------------
-!define hklm_all_users 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
-!define hkcu_current_user 'HKCU "Environment"'
-
-!macro EnvVarUpdate UN
-
-Function ${UN}EnvVarUpdate
-
- Push $0
- Exch 4
- Exch $1
- Exch 3
- Exch $2
- Exch 2
- Exch $3
- Exch
- Exch $4
- Push $5
- Push $6
- Push $7
- Push $8
- Push $9
- Push $R0
-
- /* After this point:
- -------------------------
- $0 = ResultVar (returned)
- $1 = EnvVarName (input)
- $2 = Action (input)
- $3 = RegLoc (input)
- $4 = PathString (input)
- $5 = Orig EnvVar (read from registry)
- $6 = Len of $0 (temp)
- $7 = tempstr1 (temp)
- $8 = Entry counter (temp)
- $9 = tempstr2 (temp)
- $R0 = tempChar (temp) */
-
- ; Step 1: Read contents of EnvVarName from RegLoc
- ;
- ; Check for empty EnvVarName
- ${If} $1 == ""
- SetErrors
- DetailPrint "ERROR: EnvVarName is blank"
- Goto EnvVarUpdate_Restore_Vars
- ${EndIf}
-
- ; Check for valid Action
- ${If} $2 != "A"
- ${AndIf} $2 != "P"
- ${AndIf} $2 != "R"
- SetErrors
- DetailPrint "ERROR: Invalid Action - must be A, P, or R"
- Goto EnvVarUpdate_Restore_Vars
- ${EndIf}
-
- ${If} $3 == HKLM
- ReadRegStr $5 ${hklm_all_users} $1 ; Get EnvVarName from all users into $5
- ${ElseIf} $3 == HKCU
- ReadRegStr $5 ${hkcu_current_user} $1 ; Read EnvVarName from current user into $5
- ${Else}
- SetErrors
- DetailPrint 'ERROR: Action is [$3] but must be "HKLM" or HKCU"'
- Goto EnvVarUpdate_Restore_Vars
- ${EndIf}
-
- ; Check for empty PathString
- ${If} $4 == ""
- SetErrors
- DetailPrint "ERROR: PathString is blank"
- Goto EnvVarUpdate_Restore_Vars
- ${EndIf}
-
- ; Make sure we've got some work to do
- ${If} $5 == ""
- ${AndIf} $2 == "R"
- SetErrors
- DetailPrint "$1 is empty - Nothing to remove"
- Goto EnvVarUpdate_Restore_Vars
- ${EndIf}
-
- ; Step 2: Scrub EnvVar
- ;
- StrCpy $0 $5 ; Copy the contents to $0
- ; Remove spaces around semicolons (NOTE: spaces before the 1st entry or
- ; after the last one are not removed here but instead in Step 3)
- ${If} $0 != "" ; If EnvVar is not empty ...
- ${Do}
- ${${UN}StrStr} $7 $0 " ;"
- ${If} $7 == ""
- ${ExitDo}
- ${EndIf}
- ${${UN}StrRep} $0 $0 " ;" ";" ; Remove '<space>;'
- ${Loop}
- ${Do}
- ${${UN}StrStr} $7 $0 "; "
- ${If} $7 == ""
- ${ExitDo}
- ${EndIf}
- ${${UN}StrRep} $0 $0 "; " ";" ; Remove ';<space>'
- ${Loop}
- ${Do}
- ${${UN}StrStr} $7 $0 ";;"
- ${If} $7 == ""
- ${ExitDo}
- ${EndIf}
- ${${UN}StrRep} $0 $0 ";;" ";"
- ${Loop}
-
- ; Remove a leading or trailing semicolon from EnvVar
- StrCpy $7 $0 1 0
- ${If} $7 == ";"
- StrCpy $0 $0 "" 1 ; Change ';<EnvVar>' to '<EnvVar>'
- ${EndIf}
- StrLen $6 $0
- IntOp $6 $6 - 1
- StrCpy $7 $0 1 $6
- ${If} $7 == ";"
- StrCpy $0 $0 $6 ; Change ';<EnvVar>' to '<EnvVar>'
- ${EndIf}
- ; DetailPrint "Scrubbed $1: [$0]" ; Uncomment to debug
- ${EndIf}
-
- /* Step 3. Remove all instances of the target path/string (even if "A" or "P")
- $6 = bool flag (1 = found and removed PathString)
- $7 = a string (e.g. path) delimited by semicolon(s)
- $8 = entry counter starting at 0
- $9 = copy of $0
- $R0 = tempChar */
-
- ${If} $5 != "" ; If EnvVar is not empty ...
- StrCpy $9 $0
- StrCpy $0 ""
- StrCpy $8 0
- StrCpy $6 0
-
- ${Do}
- ${${UN}StrTok} $7 $9 ";" $8 "0" ; $7 = next entry, $8 = entry counter
-
- ${If} $7 == "" ; If we've run out of entries,
- ${ExitDo} ; were done
- ${EndIf} ;
-
- ; Remove leading and trailing spaces from this entry (critical step for Action=Remove)
- ${Do}
- StrCpy $R0 $7 1
- ${If} $R0 != " "
- ${ExitDo}
- ${EndIf}
- StrCpy $7 $7 "" 1 ; Remove leading space
- ${Loop}
- ${Do}
- StrCpy $R0 $7 1 -1
- ${If} $R0 != " "
- ${ExitDo}
- ${EndIf}
- StrCpy $7 $7 -1 ; Remove trailing space
- ${Loop}
- ${If} $7 == $4 ; If string matches, remove it by not appending it
- StrCpy $6 1 ; Set 'found' flag
- ${ElseIf} $7 != $4 ; If string does NOT match
- ${AndIf} $0 == "" ; and the 1st string being added to $0,
- StrCpy $0 $7 ; copy it to $0 without a prepended semicolon
- ${ElseIf} $7 != $4 ; If string does NOT match
- ${AndIf} $0 != "" ; and this is NOT the 1st string to be added to $0,
- StrCpy $0 $0;$7 ; append path to $0 with a prepended semicolon
- ${EndIf} ;
-
- IntOp $8 $8 + 1 ; Bump counter
- ${Loop} ; Check for duplicates until we run out of paths
- ${EndIf}
-
- ; Step 4: Perform the requested Action
- ;
- ${If} $2 != "R" ; If Append or Prepend
- ${If} $6 == 1 ; And if we found the target
- DetailPrint "Target is already present in $1. It will be removed and"
- ${EndIf}
- ${If} $0 == "" ; If EnvVar is (now) empty
- StrCpy $0 $4 ; just copy PathString to EnvVar
- ${If} $6 == 0 ; If found flag is either 0
- ${OrIf} $6 == "" ; or blank (if EnvVarName is empty)
- DetailPrint "$1 was empty and has been updated with the target"
- ${EndIf}
- ${ElseIf} $2 == "A" ; If Append (and EnvVar is not empty),
- StrCpy $0 $0;$4 ; append PathString
- ${If} $6 == 1
- DetailPrint "appended to $1"
- ${Else}
- DetailPrint "Target was appended to $1"
- ${EndIf}
- ${Else} ; If Prepend (and EnvVar is not empty),
- StrCpy $0 $4;$0 ; prepend PathString
- ${If} $6 == 1
- DetailPrint "prepended to $1"
- ${Else}
- DetailPrint "Target was prepended to $1"
- ${EndIf}
- ${EndIf}
- ${Else} ; If Action = Remove
- ${If} $6 == 1 ; and we found the target
- DetailPrint "Target was found and removed from $1"
- ${Else}
- DetailPrint "Target was NOT found in $1 (nothing to remove)"
- ${EndIf}
- ${If} $0 == ""
- DetailPrint "$1 is now empty"
- ${EndIf}
- ${EndIf}
-
- ; Step 5: Update the registry at RegLoc with the updated EnvVar and announce the change
- ;
- ClearErrors
- ${If} $3 == HKLM
- WriteRegExpandStr ${hklm_all_users} $1 $0 ; Write it in all users section
- ${ElseIf} $3 == HKCU
- WriteRegExpandStr ${hkcu_current_user} $1 $0 ; Write it to current user section
- ${EndIf}
-
- IfErrors 0 +4
- MessageBox MB_OK|MB_ICONEXCLAMATION "Could not write updated $1 to $3"
- DetailPrint "Could not write updated $1 to $3"
- Goto EnvVarUpdate_Restore_Vars
-
- ; "Export" our change
- SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
-
- EnvVarUpdate_Restore_Vars:
- ;
- ; Restore the user's variables and return ResultVar
- Pop $R0
- Pop $9
- Pop $8
- Pop $7
- Pop $6
- Pop $5
- Pop $4
- Pop $3
- Pop $2
- Pop $1
- Push $0 ; Push my $0 (ResultVar)
- Exch
- Pop $0 ; Restore his $0
-
-FunctionEnd
-
-!macroend ; EnvVarUpdate UN
-!insertmacro EnvVarUpdate ""
-!insertmacro EnvVarUpdate "un."
-;----------------------------------- EnvVarUpdate end----------------------------------------
-
-!verbose pop
-!endif
+/**
+ * EnvVarUpdate.nsh
+ * : Environmental Variables: append, prepend, and remove entries
+ *
+ * WARNING: If you use StrFunc.nsh header then include it before this file
+ * with all required definitions. This is to avoid conflicts
+ *
+ * Usage:
+ * ${EnvVarUpdate} "ResultVar" "EnvVarName" "Action" "RegLoc" "PathString"
+ *
+ * Credits:
+ * Version 1.0
+ * * Cal Turney (turnec2)
+ * * Amir Szekely (KiCHiK) and e-circ for developing the forerunners of this
+ * function: AddToPath, un.RemoveFromPath, AddToEnvVar, un.RemoveFromEnvVar,
+ * WriteEnvStr, and un.DeleteEnvStr
+ * * Diego Pedroso (deguix) for StrTok
+ * * Kevin English (kenglish_hi) for StrContains
+ * * Hendri Adriaens (Smile2Me), Diego Pedroso (deguix), and Dan Fuhry
+ * (dandaman32) for StrReplace
+ *
+ * Version 1.1 (compatibility with StrFunc.nsh)
+ * * techtonik
+ *
+ * http://nsis.sourceforge.net/Environmental_Variables:_append%2C_prepend%2C_and_remove_entries
+ *
+ */
+
+
+!ifndef ENVVARUPDATE_FUNCTION
+!define ENVVARUPDATE_FUNCTION
+!verbose push
+!verbose 3
+!include "LogicLib.nsh"
+!include "WinMessages.NSH"
+!include "StrFunc.nsh"
+
+; ---- Fix for conflict if StrFunc.nsh is already includes in main file -----------------------
+!macro _IncludeStrFunction StrFuncName
+ !ifndef ${StrFuncName}_INCLUDED
+ ${${StrFuncName}}
+ !endif
+ !ifndef Un${StrFuncName}_INCLUDED
+ ${Un${StrFuncName}}
+ !endif
+ !define un.${StrFuncName} "${Un${StrFuncName}}"
+!macroend
+
+!insertmacro _IncludeStrFunction StrTok
+!insertmacro _IncludeStrFunction StrStr
+!insertmacro _IncludeStrFunction StrRep
+
+; ---------------------------------- Macro Definitions ----------------------------------------
+!macro _EnvVarUpdateConstructor ResultVar EnvVarName Action Regloc PathString
+ Push "${EnvVarName}"
+ Push "${Action}"
+ Push "${RegLoc}"
+ Push "${PathString}"
+ Call EnvVarUpdate
+ Pop "${ResultVar}"
+!macroend
+!define EnvVarUpdate '!insertmacro "_EnvVarUpdateConstructor"'
+
+!macro _unEnvVarUpdateConstructor ResultVar EnvVarName Action Regloc PathString
+ Push "${EnvVarName}"
+ Push "${Action}"
+ Push "${RegLoc}"
+ Push "${PathString}"
+ Call un.EnvVarUpdate
+ Pop "${ResultVar}"
+!macroend
+!define un.EnvVarUpdate '!insertmacro "_unEnvVarUpdateConstructor"'
+; ---------------------------------- Macro Definitions end-------------------------------------
+
+;----------------------------------- EnvVarUpdate start----------------------------------------
+!define hklm_all_users 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
+!define hkcu_current_user 'HKCU "Environment"'
+
+!macro EnvVarUpdate UN
+
+Function ${UN}EnvVarUpdate
+
+ Push $0
+ Exch 4
+ Exch $1
+ Exch 3
+ Exch $2
+ Exch 2
+ Exch $3
+ Exch
+ Exch $4
+ Push $5
+ Push $6
+ Push $7
+ Push $8
+ Push $9
+ Push $R0
+
+ /* After this point:
+ -------------------------
+ $0 = ResultVar (returned)
+ $1 = EnvVarName (input)
+ $2 = Action (input)
+ $3 = RegLoc (input)
+ $4 = PathString (input)
+ $5 = Orig EnvVar (read from registry)
+ $6 = Len of $0 (temp)
+ $7 = tempstr1 (temp)
+ $8 = Entry counter (temp)
+ $9 = tempstr2 (temp)
+ $R0 = tempChar (temp) */
+
+ ; Step 1: Read contents of EnvVarName from RegLoc
+ ;
+ ; Check for empty EnvVarName
+ ${If} $1 == ""
+ SetErrors
+ DetailPrint "ERROR: EnvVarName is blank"
+ Goto EnvVarUpdate_Restore_Vars
+ ${EndIf}
+
+ ; Check for valid Action
+ ${If} $2 != "A"
+ ${AndIf} $2 != "P"
+ ${AndIf} $2 != "R"
+ SetErrors
+ DetailPrint "ERROR: Invalid Action - must be A, P, or R"
+ Goto EnvVarUpdate_Restore_Vars
+ ${EndIf}
+
+ ${If} $3 == HKLM
+ ReadRegStr $5 ${hklm_all_users} $1 ; Get EnvVarName from all users into $5
+ ${ElseIf} $3 == HKCU
+ ReadRegStr $5 ${hkcu_current_user} $1 ; Read EnvVarName from current user into $5
+ ${Else}
+ SetErrors
+ DetailPrint 'ERROR: Action is [$3] but must be "HKLM" or HKCU"'
+ Goto EnvVarUpdate_Restore_Vars
+ ${EndIf}
+
+ ; Check for empty PathString
+ ${If} $4 == ""
+ SetErrors
+ DetailPrint "ERROR: PathString is blank"
+ Goto EnvVarUpdate_Restore_Vars
+ ${EndIf}
+
+ ; Make sure we've got some work to do
+ ${If} $5 == ""
+ ${AndIf} $2 == "R"
+ SetErrors
+ DetailPrint "$1 is empty - Nothing to remove"
+ Goto EnvVarUpdate_Restore_Vars
+ ${EndIf}
+
+ ; Step 2: Scrub EnvVar
+ ;
+ StrCpy $0 $5 ; Copy the contents to $0
+ ; Remove spaces around semicolons (NOTE: spaces before the 1st entry or
+ ; after the last one are not removed here but instead in Step 3)
+ ${If} $0 != "" ; If EnvVar is not empty ...
+ ${Do}
+ ${${UN}StrStr} $7 $0 " ;"
+ ${If} $7 == ""
+ ${ExitDo}
+ ${EndIf}
+ ${${UN}StrRep} $0 $0 " ;" ";" ; Remove '<space>;'
+ ${Loop}
+ ${Do}
+ ${${UN}StrStr} $7 $0 "; "
+ ${If} $7 == ""
+ ${ExitDo}
+ ${EndIf}
+ ${${UN}StrRep} $0 $0 "; " ";" ; Remove ';<space>'
+ ${Loop}
+ ${Do}
+ ${${UN}StrStr} $7 $0 ";;"
+ ${If} $7 == ""
+ ${ExitDo}
+ ${EndIf}
+ ${${UN}StrRep} $0 $0 ";;" ";"
+ ${Loop}
+
+ ; Remove a leading or trailing semicolon from EnvVar
+ StrCpy $7 $0 1 0
+ ${If} $7 == ";"
+ StrCpy $0 $0 "" 1 ; Change ';<EnvVar>' to '<EnvVar>'
+ ${EndIf}
+ StrLen $6 $0
+ IntOp $6 $6 - 1
+ StrCpy $7 $0 1 $6
+ ${If} $7 == ";"
+ StrCpy $0 $0 $6 ; Change ';<EnvVar>' to '<EnvVar>'
+ ${EndIf}
+ ; DetailPrint "Scrubbed $1: [$0]" ; Uncomment to debug
+ ${EndIf}
+
+ /* Step 3. Remove all instances of the target path/string (even if "A" or "P")
+ $6 = bool flag (1 = found and removed PathString)
+ $7 = a string (e.g. path) delimited by semicolon(s)
+ $8 = entry counter starting at 0
+ $9 = copy of $0
+ $R0 = tempChar */
+
+ ${If} $5 != "" ; If EnvVar is not empty ...
+ StrCpy $9 $0
+ StrCpy $0 ""
+ StrCpy $8 0
+ StrCpy $6 0
+
+ ${Do}
+ ${${UN}StrTok} $7 $9 ";" $8 "0" ; $7 = next entry, $8 = entry counter
+
+ ${If} $7 == "" ; If we've run out of entries,
+ ${ExitDo} ; were done
+ ${EndIf} ;
+
+ ; Remove leading and trailing spaces from this entry (critical step for Action=Remove)
+ ${Do}
+ StrCpy $R0 $7 1
+ ${If} $R0 != " "
+ ${ExitDo}
+ ${EndIf}
+ StrCpy $7 $7 "" 1 ; Remove leading space
+ ${Loop}
+ ${Do}
+ StrCpy $R0 $7 1 -1
+ ${If} $R0 != " "
+ ${ExitDo}
+ ${EndIf}
+ StrCpy $7 $7 -1 ; Remove trailing space
+ ${Loop}
+ ${If} $7 == $4 ; If string matches, remove it by not appending it
+ StrCpy $6 1 ; Set 'found' flag
+ ${ElseIf} $7 != $4 ; If string does NOT match
+ ${AndIf} $0 == "" ; and the 1st string being added to $0,
+ StrCpy $0 $7 ; copy it to $0 without a prepended semicolon
+ ${ElseIf} $7 != $4 ; If string does NOT match
+ ${AndIf} $0 != "" ; and this is NOT the 1st string to be added to $0,
+ StrCpy $0 $0;$7 ; append path to $0 with a prepended semicolon
+ ${EndIf} ;
+
+ IntOp $8 $8 + 1 ; Bump counter
+ ${Loop} ; Check for duplicates until we run out of paths
+ ${EndIf}
+
+ ; Step 4: Perform the requested Action
+ ;
+ ${If} $2 != "R" ; If Append or Prepend
+ ${If} $6 == 1 ; And if we found the target
+ DetailPrint "Target is already present in $1. It will be removed and"
+ ${EndIf}
+ ${If} $0 == "" ; If EnvVar is (now) empty
+ StrCpy $0 $4 ; just copy PathString to EnvVar
+ ${If} $6 == 0 ; If found flag is either 0
+ ${OrIf} $6 == "" ; or blank (if EnvVarName is empty)
+ DetailPrint "$1 was empty and has been updated with the target"
+ ${EndIf}
+ ${ElseIf} $2 == "A" ; If Append (and EnvVar is not empty),
+ StrCpy $0 $0;$4 ; append PathString
+ ${If} $6 == 1
+ DetailPrint "appended to $1"
+ ${Else}
+ DetailPrint "Target was appended to $1"
+ ${EndIf}
+ ${Else} ; If Prepend (and EnvVar is not empty),
+ StrCpy $0 $4;$0 ; prepend PathString
+ ${If} $6 == 1
+ DetailPrint "prepended to $1"
+ ${Else}
+ DetailPrint "Target was prepended to $1"
+ ${EndIf}
+ ${EndIf}
+ ${Else} ; If Action = Remove
+ ${If} $6 == 1 ; and we found the target
+ DetailPrint "Target was found and removed from $1"
+ ${Else}
+ DetailPrint "Target was NOT found in $1 (nothing to remove)"
+ ${EndIf}
+ ${If} $0 == ""
+ DetailPrint "$1 is now empty"
+ ${EndIf}
+ ${EndIf}
+
+ ; Step 5: Update the registry at RegLoc with the updated EnvVar and announce the change
+ ;
+ ClearErrors
+ ${If} $3 == HKLM
+ WriteRegExpandStr ${hklm_all_users} $1 $0 ; Write it in all users section
+ ${ElseIf} $3 == HKCU
+ WriteRegExpandStr ${hkcu_current_user} $1 $0 ; Write it to current user section
+ ${EndIf}
+
+ IfErrors 0 +4
+ MessageBox MB_OK|MB_ICONEXCLAMATION "Could not write updated $1 to $3"
+ DetailPrint "Could not write updated $1 to $3"
+ Goto EnvVarUpdate_Restore_Vars
+
+ ; "Export" our change
+ SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
+
+ EnvVarUpdate_Restore_Vars:
+ ;
+ ; Restore the user's variables and return ResultVar
+ Pop $R0
+ Pop $9
+ Pop $8
+ Pop $7
+ Pop $6
+ Pop $5
+ Pop $4
+ Pop $3
+ Pop $2
+ Pop $1
+ Push $0 ; Push my $0 (ResultVar)
+ Exch
+ Pop $0 ; Restore his $0
+
+FunctionEnd
+
+!macroend ; EnvVarUpdate UN
+!insertmacro EnvVarUpdate ""
+!insertmacro EnvVarUpdate "un."
+;----------------------------------- EnvVarUpdate end----------------------------------------
+
+!verbose pop
+!endif
Modified: trunk/Build/source/utils/asymptote/windows/lnkX64IconFix.nsh
===================================================================
--- trunk/Build/source/utils/asymptote/windows/lnkX64IconFix.nsh 2025-02-09 21:20:44 UTC (rev 73824)
+++ trunk/Build/source/utils/asymptote/windows/lnkX64IconFix.nsh 2025-02-09 21:47:36 UTC (rev 73825)
@@ -1,74 +1,74 @@
-/******************************************************************************
- WORKAROUND - lnkX64IconFix
- This snippet was developed to address an issue with Windows
- x64 incorrectly redirecting the shortcuts icon from $PROGRAMFILES32
- to $PROGRAMFILES64.
-
- See Forum post: http://forums.winamp.com/newreply.php?do=postreply&t=327806
-
- Example:
- CreateShortcut "$SMPROGRAMS\My App\My App.lnk" "$INSTDIR\My App.exe" "" "$INSTDIR\My App.exe"
- ${lnkX64IconFix} "$SMPROGRAMS\My App\My App.lnk"
-
- Original Code by Anders [http://forums.winamp.com/member.php?u=70852]
- ******************************************************************************/
-!ifndef ___lnkX64IconFix___
- !verbose push
- !verbose 0
-
- !include "LogicLib.nsh"
- !include "x64.nsh"
-
- !define ___lnkX64IconFix___
- !define lnkX64IconFix `!insertmacro _lnkX64IconFix`
- !macro _lnkX64IconFix _lnkPath
- !verbose push
- !verbose 0
- ${If} ${RunningX64}
- DetailPrint "WORKAROUND: 64bit OS Detected, Attempting to apply lnkX64IconFix"
- Push "${_lnkPath}"
- Call lnkX64IconFix
- ${EndIf}
- !verbose pop
- !macroend
-
- Function lnkX64IconFix ; _lnkPath
- Exch $5
- Push $0
- Push $1
- Push $2
- Push $3
- Push $4
- System::Call 'OLE32::CoCreateInstance(g "{00021401-0000-0000-c000-000000000046}",i 0,i 1,g "{000214ee-0000-0000-c000-000000000046}",*i.r1)i'
- ${If} $1 <> 0
- System::Call '$1->0(g "{0000010b-0000-0000-C000-000000000046}",*i.r2)'
- ${If} $2 <> 0
- System::Call '$2->5(w r5,i 2)i.r0'
- ${If} $0 = 0
- System::Call '$1->0(g "{45e2b4ae-b1c3-11d0-b92f-00a0c90312e1}",*i.r3)i.r0'
- ${If} $3 <> 0
- System::Call '$3->5(i 0xA0000007)i.r0'
- System::Call '$3->6(*i.r4)i.r0'
- ${If} $0 = 0
- IntOp $4 $4 & 0xffffBFFF
- System::Call '$3->7(ir4)i.r0'
- ${If} $0 = 0
- System::Call '$2->6(i0,i0)'
- DetailPrint "WORKAROUND: lnkX64IconFix Applied successfully"
- ${EndIf}
- ${EndIf}
- System::Call $3->2()
- ${EndIf}
- ${EndIf}
- System::Call $2->2()
- ${EndIf}
- System::Call $1->2()
- ${EndIf}
- Pop $4
- Pop $3
- Pop $2
- Pop $1
- Pop $0
- FunctionEnd
- !verbose pop
-!endif
+/******************************************************************************
+ WORKAROUND - lnkX64IconFix
+ This snippet was developed to address an issue with Windows
+ x64 incorrectly redirecting the shortcuts icon from $PROGRAMFILES32
+ to $PROGRAMFILES64.
+
+ See Forum post: http://forums.winamp.com/newreply.php?do=postreply&t=327806
+
+ Example:
+ CreateShortcut "$SMPROGRAMS\My App\My App.lnk" "$INSTDIR\My App.exe" "" "$INSTDIR\My App.exe"
+ ${lnkX64IconFix} "$SMPROGRAMS\My App\My App.lnk"
+
+ Original Code by Anders [http://forums.winamp.com/member.php?u=70852]
+ ******************************************************************************/
+!ifndef ___lnkX64IconFix___
+ !verbose push
+ !verbose 0
+
+ !include "LogicLib.nsh"
+ !include "x64.nsh"
+
+ !define ___lnkX64IconFix___
+ !define lnkX64IconFix `!insertmacro _lnkX64IconFix`
+ !macro _lnkX64IconFix _lnkPath
+ !verbose push
+ !verbose 0
+ ${If} ${RunningX64}
+ DetailPrint "WORKAROUND: 64bit OS Detected, Attempting to apply lnkX64IconFix"
+ Push "${_lnkPath}"
+ Call lnkX64IconFix
+ ${EndIf}
+ !verbose pop
+ !macroend
+
+ Function lnkX64IconFix ; _lnkPath
+ Exch $5
+ Push $0
+ Push $1
+ Push $2
+ Push $3
+ Push $4
+ System::Call 'OLE32::CoCreateInstance(g "{00021401-0000-0000-c000-000000000046}",i 0,i 1,g "{000214ee-0000-0000-c000-000000000046}",*i.r1)i'
+ ${If} $1 <> 0
+ System::Call '$1->0(g "{0000010b-0000-0000-C000-000000000046}",*i.r2)'
+ ${If} $2 <> 0
+ System::Call '$2->5(w r5,i 2)i.r0'
+ ${If} $0 = 0
+ System::Call '$1->0(g "{45e2b4ae-b1c3-11d0-b92f-00a0c90312e1}",*i.r3)i.r0'
+ ${If} $3 <> 0
+ System::Call '$3->5(i 0xA0000007)i.r0'
+ System::Call '$3->6(*i.r4)i.r0'
+ ${If} $0 = 0
+ IntOp $4 $4 & 0xffffBFFF
+ System::Call '$3->7(ir4)i.r0'
+ ${If} $0 = 0
+ System::Call '$2->6(i0,i0)'
+ DetailPrint "WORKAROUND: lnkX64IconFix Applied successfully"
+ ${EndIf}
+ ${EndIf}
+ System::Call $3->2()
+ ${EndIf}
+ ${EndIf}
+ System::Call $2->2()
+ ${EndIf}
+ System::Call $1->2()
+ ${EndIf}
+ Pop $4
+ Pop $3
+ Pop $2
+ Pop $1
+ Pop $0
+ FunctionEnd
+ !verbose pop
+!endif
More information about the tex-live-commits
mailing list.