Merge with trunk, revision 28446 - 28528.
authorJoerg Mueller <nexyon@gmail.com>
Sat, 1 May 2010 16:18:05 +0000 (16:18 +0000)
committerJoerg Mueller <nexyon@gmail.com>
Sat, 1 May 2010 16:18:05 +0000 (16:18 +0000)
84 files changed:
intern/guardedalloc/MEM_guardedalloc.h
intern/guardedalloc/intern/mallocn.c
projectfiles_vc9/blender/editors/ED_editors.vcproj
release/scripts/io/netrender/client.py
release/scripts/io/netrender/master.py
release/scripts/io/netrender/master_html.py
release/scripts/io/netrender/model.py
release/scripts/io/netrender/netrender.css
release/scripts/io/netrender/slave.py
release/scripts/io/netrender/ui.py
release/scripts/io/netrender/utils.py
release/scripts/modules/graphviz_export.py
release/scripts/op/uvcalc_smart_project.py
release/scripts/templates/operator_modal_draw.py
release/scripts/ui/space_userpref.py
release/scripts/ui/space_view3d.py
source/blender/blenkernel/BKE_constraint.h
source/blender/blenkernel/intern/action.c
source/blender/blenkernel/intern/armature.c
source/blender/blenkernel/intern/blender.c
source/blender/blenkernel/intern/brush.c
source/blender/blenkernel/intern/constraint.c
source/blender/blenkernel/intern/ipo.c
source/blender/blenkernel/intern/library.c
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/pointcache.c
source/blender/blenkernel/intern/sequencer.c
source/blender/blenkernel/intern/smoke.c
source/blender/blenkernel/intern/texture.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/animation/anim_channels_defines.c
source/blender/editors/armature/poseobject.c
source/blender/editors/curve/editcurve.c
source/blender/editors/datafiles/B.blend.c
source/blender/editors/gpencil/drawgpencil.c
source/blender/editors/include/ED_gpencil.h
source/blender/editors/include/ED_logic.h [new file with mode: 0644]
source/blender/editors/include/ED_physics.h
source/blender/editors/include/UI_resources.h
source/blender/editors/interface/interface_handlers.c
source/blender/editors/interface/interface_templates.c
source/blender/editors/interface/resources.c
source/blender/editors/object/object_constraint.c
source/blender/editors/object/object_edit.c
source/blender/editors/object/object_select.c
source/blender/editors/physics/particle_edit.c
source/blender/editors/physics/physics_intern.h
source/blender/editors/physics/physics_ops.c
source/blender/editors/space_api/spacetypes.c
source/blender/editors/space_file/filelist.c
source/blender/editors/space_file/space_file.c
source/blender/editors/space_image/image_draw.c
source/blender/editors/space_logic/logic_intern.h
source/blender/editors/space_logic/logic_ops.c [new file with mode: 0644]
source/blender/editors/space_logic/logic_window.c
source/blender/editors/space_nla/nla_draw.c
source/blender/editors/space_node/node_draw.c
source/blender/editors/space_node/node_select.c
source/blender/editors/space_node/space_node.c
source/blender/editors/space_sequencer/sequencer_draw.c
source/blender/editors/space_view3d/drawobject.c
source/blender/editors/space_view3d/drawvolume.c
source/blender/editors/space_view3d/view3d_draw.c
source/blender/editors/space_view3d/view3d_header.c
source/blender/editors/space_view3d/view3d_select.c
source/blender/makesdna/DNA_curve_types.h
source/blender/makesdna/DNA_userdef_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/RNA_enum_types.h
source/blender/makesrna/intern/rna_fcurve.c
source/blender/makesrna/intern/rna_object.c
source/blender/makesrna/intern/rna_sensor.c
source/blender/makesrna/intern/rna_space.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/python/generic/mathutils.c
source/blender/python/generic/mathutils.h
source/blender/python/generic/mathutils_matrix.c
source/blender/python/intern/bpy_rna.c
source/blender/windowmanager/intern/wm_files.c
source/creator/creator.c
source/gameengine/Converter/BL_ArmatureObject.cpp
source/gameengine/Ketsji/KX_GameObject.cpp
source/gameengine/Ketsji/KX_ObjectActuator.cpp

index 45c2e04..705f099 100644 (file)
@@ -66,7 +66,7 @@ extern "C" {
        /** Returns the lenght of the allocated memory segment pointed at
         * by vmemh. If the pointer was not previously allocated by this
         * module, the result is undefined.*/
-       int MEM_allocN_len(void *vmemh);
+       size_t MEM_allocN_len(void *vmemh);
 
        /**
         * Release memory previously allocatred by this module. 
@@ -89,23 +89,23 @@ extern "C" {
          * allocated block, the old one is freed. this is not as optimized
          * as a system realloc but just makes a new allocation and copies
          * over from existing memory. */
-       void *MEM_reallocN(void *vmemh, unsigned int len);
+       void *MEM_reallocN(void *vmemh, size_t len);
 
        /**
         * Allocate a block of memory of size len, with tag name str. The
         * memory is cleared. The name must be static, because only a
         * pointer to it is stored ! */
-       void *MEM_callocN(unsigned int len, const char * str);
+       void *MEM_callocN(size_t len, const char * str);
        
        /** Allocate a block of memory of size len, with tag name str. The
                * name must be a static, because only a pointer to it is stored !
                * */
-       void *MEM_mallocN(unsigned int len, const char * str);
+       void *MEM_mallocN(size_t len, const char * str);
        
        /** Same as callocN, clears memory and uses mmap (disk cached) if supported.
                Can be free'd with MEM_freeN as usual.
                * */
-       void *MEM_mapallocN(unsigned int len, const char * str);
+       void *MEM_mapallocN(size_t len, const char * str);
 
        /** Print a list of the names and sizes of all allocated memory
         * blocks. as a python dict for easy investigation */ 
index 94453e9..9f2f57e 100644 (file)
 #include <stdlib.h>
 #include <string.h>    /* memcpy */
 #include <stdarg.h>
+#include <sys/types.h>
+/* Blame Microsoft for LLP64 and no inttypes.h, quick workaround needed: */
+#if defined(WIN64)
+#define SIZET_FORMAT "%I64u"
+#define SIZET_ARG(a) ((unsigned long long)(a))
+#else
+#define SIZET_FORMAT "%lu"
+#define SIZET_ARG(a) ((unsigned long)(a))
+#endif
 
 /* mmap exception */
 #if defined(WIN32)
-#include <sys/types.h>
 #include "mmap_win.h"
 #else
-#include <sys/types.h>
 #include <sys/mman.h>
 #endif
 
@@ -82,7 +89,7 @@ typedef struct localListBase
        /* note: keep this struct aligned (e.g., irix/gcc) - Hos */
 typedef struct MemHead {
        int tag1;
-       int len;
+       size_t len;
        struct MemHead *next,*prev;
        const char * name;
        const char * nextname;
@@ -213,7 +220,7 @@ void MEM_set_memory_debug(void)
        malloc_debug_memset= 1;
 }
 
-int MEM_allocN_len(void *vmemh)
+size_t MEM_allocN_len(void *vmemh)
 {
        if (vmemh) {
                MemHead *memh= vmemh;
@@ -245,7 +252,7 @@ void *MEM_dupallocN(void *vmemh)
        return newp;
 }
 
-void *MEM_reallocN(void *vmemh, unsigned int len)
+void *MEM_reallocN(void *vmemh, size_t len)
 {
        void *newp= NULL;
        
@@ -267,7 +274,7 @@ void *MEM_reallocN(void *vmemh, unsigned int len)
        return newp;
 }
 
-static void make_memhead_header(MemHead *memh, unsigned int len, const char *str)
+static void make_memhead_header(MemHead *memh, size_t len, const char *str)
 {
        MemTail *memt;
        
@@ -288,7 +295,7 @@ static void make_memhead_header(MemHead *memh, unsigned int len, const char *str
        mem_in_use += len;
 }
 
-void *MEM_mallocN(unsigned int len, const char *str)
+void *MEM_mallocN(size_t len, const char *str)
 {
        MemHead *memh;
 
@@ -312,11 +319,11 @@ void *MEM_mallocN(unsigned int len, const char *str)
                return (++memh);
        }
        mem_unlock_thread();
-       print_error("Malloc returns nill: len=%d in %s, total %u\n",len, str, mem_in_use);
+       print_error("Malloc returns null: len=" SIZET_FORMAT " in %s, total %u\n", SIZET_ARG(len), str, mem_in_use);
        return NULL;
 }
 
-void *MEM_callocN(unsigned int len, const char *str)
+void *MEM_callocN(size_t len, const char *str)
 {
        MemHead *memh;
 
@@ -337,12 +344,12 @@ void *MEM_callocN(unsigned int len, const char *str)
                return (++memh);
        }
        mem_unlock_thread();
-       print_error("Calloc returns nill: len=%d in %s, total %u\n",len, str, mem_in_use);
+       print_error("Calloc returns null: len=" SIZET_FORMAT " in %s, total %u\n", SIZET_ARG(len), str, mem_in_use);
        return 0;
 }
 
 /* note; mmap returns zero'd memory */
-void *MEM_mapallocN(unsigned int len, const char *str)
+void *MEM_mapallocN(size_t len, const char *str)
 {
        MemHead *memh;
 
@@ -380,7 +387,7 @@ void *MEM_mapallocN(unsigned int len, const char *str)
        }
        else {
                mem_unlock_thread();
-               print_error("Mapalloc returns nill, fallback to regular malloc: len=%d in %s, total %u\n",len, str, mmap_in_use);
+               print_error("Mapalloc returns null, fallback to regular malloc: len=" SIZET_FORMAT " in %s, total %u\n", SIZET_ARG(len), str, mmap_in_use);
                return MEM_callocN(len, str);
        }
 }
@@ -492,12 +499,12 @@ static void MEM_printmemlist_internal( int pydict )
        }
        while(membl) {
                if (pydict) {
-                       fprintf(stderr, "{'len':%i, 'name':'''%s''', 'pointer':'%p'},\\\n", membl->len, membl->name, membl+1);
+                       fprintf(stderr, "{'len':" SIZET_FORMAT ", 'name':'''%s''', 'pointer':'%p'},\\\n", SIZET_ARG(membl->len), membl->name, membl+1);
                } else {
 #ifdef DEBUG_MEMCOUNTER
-                       print_error("%s len: %d %p, count: %d\n",membl->name,membl->len, membl+1, membl->_count);
+                       print_error("%s len: " SIZET_FORMAT " %p, count: %d\n", membl->name, SIZET_ARG(membl->len), membl+1, membl->_count);
 #else
-                       print_error("%s len: %d %p\n",membl->name,membl->len, membl+1);
+                       print_error("%s len: " SIZET_FORMAT " %p\n", membl->name, SIZET_ARG(membl->len), membl+1);
 #endif
                }
                if(membl->next)
index 7bfaf43..819d0ca 100644 (file)
                                RelativePath="..\..\..\source\blender\editors\include\ED_keyframing.h"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\..\source\blender\editors\include\ED_logic.h"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\..\source\blender\editors\include\ED_markers.h"\r
                                >\r
                                RelativePath="..\..\..\source\blender\editors\space_logic\logic_intern.h"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\..\source\blender\editors\space_logic\logic_ops.c"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\..\source\blender\editors\space_logic\logic_window.c"\r
                                >\r
index e49a1a2..5c01884 100644 (file)
@@ -125,6 +125,10 @@ def clientSendJob(conn, scene, anim = False):
             file_path = bpy.utils.expandpath(image.filename)
             if os.path.exists(file_path):
                 job.addFile(file_path)
+                
+                tex_path = os.path.splitext(file_path)[0] + ".tex"
+                if os.path.exists(tex_path):
+                    job.addFile(tex_path)
 
     ###########################
     # FLUID + POINT CACHE
@@ -144,6 +148,9 @@ def clientSendJob(conn, scene, anim = False):
                 addPointCache(job, object, modifier.domain_settings.point_cache_low, default_path)
                 if modifier.domain_settings.highres:
                     addPointCache(job, object, modifier.domain_settings.point_cache_high, default_path)
+            elif modifier.type == "MULTIRES" and modifier.external:
+                file_path = bpy.utils.expandpath(modifier.filename)
+                job.addFile(file_path)
 
         # particles modifier are stupid and don't contain data
         # we have to go through the object property
index 019f330..324d046 100644 (file)
@@ -27,12 +27,16 @@ import netrender.balancing
 import netrender.master_html
 
 class MRenderFile(netrender.model.RenderFile):
-    def __init__(self, filepath, index, start, end):
-        super().__init__(filepath, index, start, end)
+    def __init__(self, filepath, index, start, end, signature):
+        super().__init__(filepath, index, start, end, signature)
         self.found = False
 
     def test(self):
         self.found = os.path.exists(self.filepath)
+        if self.found:
+            found_signature = hashFile(self.filepath)
+            self.found = self.signature == found_signature
+            
         return self.found
 
 
@@ -74,7 +78,7 @@ class MRenderJob(netrender.model.RenderJob):
         # special server properties
         self.last_update = 0
         self.save_path = ""
-        self.files = [MRenderFile(rfile.filepath, rfile.index, rfile.start, rfile.end) for rfile in job_info.files]
+        self.files = [MRenderFile(rfile.filepath, rfile.index, rfile.start, rfile.end, rfile.signature) for rfile in job_info.files]
 
         self.resolution = None
 
@@ -190,6 +194,11 @@ pause_pattern = re.compile("/pause_([a-zA-Z0-9]+)")
 edit_pattern = re.compile("/edit_([a-zA-Z0-9]+)")
 
 class RenderHandler(http.server.BaseHTTPRequestHandler):
+    def log_message(self, format, *args):
+        # override because the original calls self.address_string(), which
+        # is extremely slow due to some timeout..
+        sys.stderr.write("[%s] %s\n" % (self.log_date_time_string(), format%args))
+
     def send_head(self, code = http.client.OK, headers = {}, content = "application/octet-stream"):
         self.send_response(code)
         self.send_header("Content-type", content)
@@ -711,7 +720,7 @@ class RenderHandler(http.server.BaseHTTPRequestHandler):
                         buf = self.rfile.read(length)
 
                         # add same temp file + renames as slave
-
+                        
                         f = open(file_path, "wb")
                         f.write(buf)
                         f.close()
@@ -870,7 +879,7 @@ class RenderMasterServer(socketserver.ThreadingMixIn, http.server.HTTPServer):
         self.job_id = 0
         self.path = path + "master_" + str(os.getpid()) + os.sep
 
-        self.slave_timeout = 30 # 30 mins: need a parameter for that
+        self.slave_timeout = 5 # 5 mins: need a parameter for that
 
         self.balancer = netrender.balancing.Balancer()
         self.balancer.addRule(netrender.balancing.RatingUsageByCategory(self.getJobs))
@@ -1010,7 +1019,7 @@ def runMaster(address, broadcast, clear, path, update_stats, test_break):
             s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
             s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
 
-        start_time = time.time()
+        start_time = time.time() - 2
 
         while not test_break():
             try:
@@ -1018,7 +1027,7 @@ def runMaster(address, broadcast, clear, path, update_stats, test_break):
             except select.error:
                 pass
 
-            if time.time() - start_time >= 10: # need constant here
+            if time.time() - start_time >= 2: # need constant here
                 httpd.timeoutSlaves()
 
                 httpd.updateUsage()
@@ -1031,3 +1040,4 @@ def runMaster(address, broadcast, clear, path, update_stats, test_break):
         httpd.server_close()
         if clear:
             clearMaster(httpd.path)
+
index e5feac8..c3695cd 100644 (file)
@@ -29,6 +29,7 @@ def get(handler):
 
     def head(title):
         output("<html><head>")
+        output("<meta http-equiv='refresh' content=5>")
         output("<script src='/html/netrender.js' type='text/javascript'></script>")
 #              output("<script src='/html/json2.js' type='text/javascript'></script>")
         output("<title>")
@@ -105,53 +106,6 @@ def get(handler):
         handler.send_head(content = "text/html")
         head("NetRender")
 
-        output("<h2>Master</h2>")
-
-        output("""<button title="remove all jobs" onclick="clear_jobs();">CLEAR JOB LIST</button>""")
-
-        startTable(caption = "Rules", class_style = "rules")
-
-        headerTable("type", "enabled", "description", "limit")
-
-        for rule in handler.server.balancer.rules:
-            rowTable(
-                        "rating",
-                        checkbox("", rule.enabled, "balance_enable('%i', '%s')" % (id(rule), str(not rule.enabled))),
-                        rule,
-                        rule.str_limit() +
-                        """<button title="edit limit" onclick="balance_edit('%i', '%s');">edit</button>""" % (id(rule), str(rule.limit)) if hasattr(rule, "limit") else "&nbsp;"
-                    )
-
-        for rule in handler.server.balancer.priorities:
-            rowTable(
-                        "priority",
-                        checkbox("", rule.enabled, "balance_enable('%i', '%s')" % (id(rule), str(not rule.enabled))),
-                        rule,
-                        rule.str_limit() +
-                        """<button title="edit limit" onclick="balance_edit('%i', '%s');">edit</button>""" % (id(rule), str(rule.limit)) if hasattr(rule, "limit") else "&nbsp;"
-                    )
-
-        for rule in handler.server.balancer.exceptions:
-            rowTable(
-                        "exception",
-                        checkbox("", rule.enabled, "balance_enable('%i', '%s')" % (id(rule), str(not rule.enabled))),
-                        rule,
-                        rule.str_limit() +
-                        """<button title="edit limit" onclick="balance_edit('%i', '%s');">edit</button>""" % (id(rule), str(rule.limit)) if hasattr(rule, "limit") else "&nbsp;"
-                    )
-
-        endTable()
-
-        output("<h2>Slaves</h2>")
-
-        startTable()
-        headerTable("name", "address", "last seen", "stats", "job")
-
-        for slave in handler.server.slaves:
-            rowTable(slave.name, slave.address[0], time.ctime(slave.last_seen), slave.stats, link(slave.job.name, "/html/job" + slave.job.id) if slave.job else "None")
-
-        endTable()
-
         output("<h2>Jobs</h2>")
 
         startTable()
@@ -203,6 +157,53 @@ def get(handler):
                     )
 
         endTable()
+        
+        output("<h2>Slaves</h2>")
+
+        startTable()
+        headerTable("name", "address", "last seen", "stats", "job")
+
+        for slave in handler.server.slaves:
+            rowTable(slave.name, slave.address[0], time.ctime(slave.last_seen), slave.stats, link(slave.job.name, "/html/job" + slave.job.id) if slave.job else "None")
+
+        endTable()
+
+        output("<h2>Configuration</h2>")
+
+        output("""<button title="remove all jobs" onclick="clear_jobs();">CLEAR JOB LIST</button>""")
+
+        startTable(caption = "Rules", class_style = "rules")
+
+        headerTable("type", "enabled", "description", "limit")
+
+        for rule in handler.server.balancer.rules:
+            rowTable(
+                        "rating",
+                        checkbox("", rule.enabled, "balance_enable('%i', '%s')" % (id(rule), str(not rule.enabled))),
+                        rule,
+                        rule.str_limit() +
+                        """<button title="edit limit" onclick="balance_edit('%i', '%s');">edit</button>""" % (id(rule), str(rule.limit)) if hasattr(rule, "limit") else "&nbsp;"
+                    )
+
+        for rule in handler.server.balancer.priorities:
+            rowTable(
+                        "priority",
+                        checkbox("", rule.enabled, "balance_enable('%i', '%s')" % (id(rule), str(not rule.enabled))),
+                        rule,
+                        rule.str_limit() +
+                        """<button title="edit limit" onclick="balance_edit('%i', '%s');">edit</button>""" % (id(rule), str(rule.limit)) if hasattr(rule, "limit") else "&nbsp;"
+                    )
+
+        for rule in handler.server.balancer.exceptions:
+            rowTable(
+                        "exception",
+                        checkbox("", rule.enabled, "balance_enable('%i', '%s')" % (id(rule), str(not rule.enabled))),
+                        rule,
+                        rule.str_limit() +
+                        """<button title="edit limit" onclick="balance_edit('%i', '%s');">edit</button>""" % (id(rule), str(rule.limit)) if hasattr(rule, "limit") else "&nbsp;"
+                    )
+
+        endTable()
 
         output("</body></html>")
 
@@ -234,13 +235,17 @@ def get(handler):
             tot_cache = 0
             tot_fluid = 0
 
+            rowTable(job.files[0].filepath)
+            rowTable("Other Files", class_style = "toggle", extra = "onclick='toggleDisplay(&quot;.other&quot;, &quot;none&quot;, &quot;table-row&quot;)'")
+
             for file in job.files:
                 if file.filepath.endswith(".bphys"):
                     tot_cache += 1
                 elif file.filepath.endswith(".bobj.gz") or file.filepath.endswith(".bvel.gz"):
                     tot_fluid += 1
                 else:
-                    rowTable(file.filepath)
+                    if file != job.files[0]:
+                        rowTable(file.filepath, class_style = "other")
 
             if tot_cache > 0:
                 rowTable("%i physic cache files" % tot_cache, class_style = "toggle", extra = "onclick='toggleDisplay(&quot;.cache&quot;, &quot;none&quot;, &quot;table-row&quot;)'")
@@ -256,9 +261,9 @@ def get(handler):
 
             endTable()
 
-            output("<h2>Blacklist</h2>")
-
             if job.blacklist:
+                output("<h2>Blacklist</h2>")
+
                 startTable()
                 headerTable("name", "address")
 
@@ -267,8 +272,6 @@ def get(handler):
                     rowTable(slave.name, slave.address[0])
 
                 endTable()
-            else:
-                output("<i>Empty</i>")
 
             output("<h2>Frames</h2>")
 
index 8b0f50b..a2912c7 100644 (file)
@@ -103,8 +103,9 @@ JOB_TYPES = {
                         }
 
 class RenderFile:
-    def __init__(self, filepath = "", index = 0, start = -1, end = -1):
+    def __init__(self, filepath = "", index = 0, start = -1, end = -1, signature=0):
         self.filepath = filepath
+        self.signature = signature
         self.index = index
         self.start = start
         self.end = end
@@ -114,7 +115,8 @@ class RenderFile:
                     "filepath": self.filepath,
                     "index": self.index,
                     "start": self.start,
-                    "end": self.end
+                    "end": self.end,
+                    "signature": self.signature
                 }
 
     @staticmethod
@@ -122,7 +124,7 @@ class RenderFile:
         if not data:
             return None
 
-        rfile = RenderFile(data["filepath"], data["index"], data["start"], data["end"])
+        rfile = RenderFile(data["filepath"], data["index"], data["start"], data["end"], data["signature"])
 
         return rfile
 
@@ -153,7 +155,8 @@ class RenderJob:
             self.blacklist = job_info.blacklist
 
     def addFile(self, file_path, start=-1, end=-1):
-        self.files.append(RenderFile(file_path, len(self.files), start, end))
+        signature = hashFile(file_path)
+        self.files.append(RenderFile(file_path, len(self.files), start, end, signature))
 
     def addFrame(self, frame_number, command = ""):
         frame = RenderFrame(frame_number, command)
index cc8a93b..0c54690 100644 (file)
@@ -68,6 +68,10 @@ button {
        display: none;
 }
 
+.other {
+       display: none;
+}
+
 .rules {
        width: 60em;
        text-align: left;
index d244903..43420c1 100644 (file)
@@ -64,12 +64,21 @@ def testCancel(conn, job_id, frame_number):
         else:
             return False
 
-def testFile(conn, job_id, slave_id, file_index, JOB_PREFIX, file_path, main_path = None):
-    job_full_path = prefixPath(JOB_PREFIX, file_path, main_path)
-
-    if not os.path.exists(job_full_path):
+def testFile(conn, job_id, slave_id, rfile, JOB_PREFIX, main_path = None):
+    job_full_path = prefixPath(JOB_PREFIX, rfile.filepath, main_path)
+    
+    found = os.path.exists(job_full_path)
+    
+    if found:
+        found_signature = hashFile(job_full_path)
+        found = found_signature == rfile.signature
+        
+        if not found:
+            print("Found file %s at %s but signature mismatch!" % (rfile.filepath, job_full_path))
+
+    if not found:
         temp_path = JOB_PREFIX + "slave.temp.blend"
-        conn.request("GET", fileURL(job_id, file_index), headers={"slave-id":slave_id})
+        conn.request("GET", fileURL(job_id, rfile.index), headers={"slave-id":slave_id})
         response = conn.getresponse()
 
         if response.status != http.client.OK:
@@ -105,6 +114,8 @@ def render_slave(engine, netsettings, threads):
         if not os.path.exists(NODE_PREFIX):
             os.mkdir(NODE_PREFIX)
 
+        engine.update_stats("", "Network render connected to master, waiting for jobs")
+
         while not engine.test_break():
             conn.request("GET", "/job", headers={"slave-id":slave_id})
             response = conn.getresponse()
@@ -113,6 +124,7 @@ def render_slave(engine, netsettings, threads):
                 timeout = 1 # reset timeout on new job
 
                 job = netrender.model.RenderJob.materialize(eval(str(response.read(), encoding='utf8')))
+                engine.update_stats("", "Network render processing job from master")
 
                 JOB_PREFIX = NODE_PREFIX + "job_" + job.id + os.sep
                 if not os.path.exists(JOB_PREFIX):
@@ -123,14 +135,14 @@ def render_slave(engine, netsettings, threads):
                     job_path = job.files[0].filepath # path of main file
                     main_path, main_file = os.path.split(job_path)
 
-                    job_full_path = testFile(conn, job.id, slave_id, 0, JOB_PREFIX, job_path)
+                    job_full_path = testFile(conn, job.id, slave_id, job.files[0], JOB_PREFIX)
                     print("Fullpath", job_full_path)
                     print("File:", main_file, "and %i other files" % (len(job.files) - 1,))
                     engine.update_stats("", "Render File "+ main_file+ " for job "+ job.id)
 
                     for rfile in job.files[1:]:
                         print("\t", rfile.filepath)
-                        testFile(conn, job.id, slave_id, rfile.index, JOB_PREFIX, rfile.filepath, main_path)
+                        testFile(conn, job.id, slave_id, rfile, JOB_PREFIX, main_path)
 
                 # announce log to master
                 logfile = netrender.model.LogFile(job.id, slave_id, [frame.number for frame in job.frames])
@@ -175,6 +187,10 @@ def render_slave(engine, netsettings, threads):
                             # (only need to update on one frame, they are linked
                             conn.request("PUT", logURL(job.id, first_frame), stdout, headers=headers)
                             response = conn.getresponse()
+                            
+                            # Also output on console
+                            if netsettings.slave_thumb:
+                                print(str(stdout, encoding='utf8'), end="")
 
                             stdout = bytes()
 
@@ -191,6 +207,17 @@ def render_slave(engine, netsettings, threads):
                         process.terminate()
                     continue # to next frame
 
+                # flush the rest of the logs
+                if stdout:
+                    # Also output on console
+                    if netsettings.slave_thumb:
+                        print(str(stdout, encoding='utf8'), end="")
+                    
+                    # (only need to update on one frame, they are linked
+                    conn.request("PUT", logURL(job.id, first_frame), stdout, headers=headers)
+                    if conn.getresponse().status == http.client.NO_CONTENT:
+                        continue
+
                 total_t = time.time() - start_t
 
                 avg_t = total_t / len(job.frames)
@@ -199,13 +226,6 @@ def render_slave(engine, netsettings, threads):
 
                 print("status", status)
 
-                # flush the rest of the logs
-                if stdout:
-                    # (only need to update on one frame, they are linked
-                    conn.request("PUT", logURL(job.id, first_frame), stdout, headers=headers)
-                    if conn.getresponse().status == http.client.NO_CONTENT:
-                        continue
-
                 headers = {"job-id":job.id, "slave-id":slave_id, "job-time":str(avg_t)}
 
 
@@ -245,6 +265,8 @@ def render_slave(engine, netsettings, threads):
                         conn.request("PUT", "/render", headers=headers)
                         if conn.getresponse().status == http.client.NO_CONTENT:
                             continue
+
+                engine.update_stats("", "Network render connected to master, waiting for jobs")
             else:
                 if timeout < MAX_TIMEOUT:
                     timeout += INCREMENT_TIMEOUT
index f8b29fd..cef2c54 100644 (file)
@@ -76,7 +76,7 @@ def verify_address(netsettings):
         else:
             netsettings.server_address = "[default]"
 
-class RenderButtonsPanel(bpy.types.Panel):
+class RenderButtonsPanel():
     bl_space_type = "PROPERTIES"
     bl_region_type = "WINDOW"
     bl_context = "render"
@@ -88,7 +88,7 @@ class RenderButtonsPanel(bpy.types.Panel):
 
 # Setting panel, use in the scene for now.
 @rnaType
-class RENDER_PT_network_settings(RenderButtonsPanel):
+class RENDER_PT_network_settings(bpy.types.Panel, RenderButtonsPanel):
     bl_label = "Network Settings"
     COMPAT_ENGINES = {'NET_RENDER'}
 
@@ -123,7 +123,7 @@ class RENDER_PT_network_settings(RenderButtonsPanel):
         layout.operator("render.netclientweb", icon='QUESTION')
 
 @rnaType
-class RENDER_PT_network_slave_settings(RenderButtonsPanel):
+class RENDER_PT_network_slave_settings(bpy.types.Panel, RenderButtonsPanel):
     bl_label = "Slave Settings"
     COMPAT_ENGINES = {'NET_RENDER'}
 
@@ -141,13 +141,14 @@ class RENDER_PT_network_slave_settings(RenderButtonsPanel):
 
         layout.prop(netsettings, "slave_clear")
         layout.prop(netsettings, "slave_thumb")
+        layout.prop(netsettings, "slave_outputlog")
         layout.label(text="Threads:")
         layout.prop(rd, "threads_mode", expand=True)
         sub = layout.column()
         sub.enabled = rd.threads_mode == 'FIXED'
         sub.prop(rd, "threads")
 @rnaType
-class RENDER_PT_network_master_settings(RenderButtonsPanel):
+class RENDER_PT_network_master_settings(bpy.types.Panel, RenderButtonsPanel):
     bl_label = "Master Settings"
     COMPAT_ENGINES = {'NET_RENDER'}
 
@@ -166,7 +167,7 @@ class RENDER_PT_network_master_settings(RenderButtonsPanel):
         layout.prop(netsettings, "master_clear")
 
 @rnaType
-class RENDER_PT_network_job(RenderButtonsPanel):
+class RENDER_PT_network_job(bpy.types.Panel, RenderButtonsPanel):
     bl_label = "Job Settings"
     COMPAT_ENGINES = {'NET_RENDER'}
 
@@ -206,16 +207,17 @@ class RENDER_PT_network_job(RenderButtonsPanel):
         row.prop(netsettings, "chunks")
 
 @rnaType
-class RENDER_PT_network_slaves(RenderButtonsPanel):
+class RENDER_PT_network_slaves(bpy.types.Panel, RenderButtonsPanel):
     bl_label = "Slaves Status"
     COMPAT_ENGINES = {'NET_RENDER'}
 
     def poll(self, context):
         scene = context.scene
         netsettings = scene.network_render
+        if netsettings.mode != "RENDER_CLIENT":
+            return False
         verify_address(netsettings)
         return (super().poll(context)
-                and netsettings.mode == "RENDER_CLIENT"
                 and netsettings.server_address != "[default]")
 
     def draw(self, context):
@@ -244,16 +246,17 @@ class RENDER_PT_network_slaves(RenderButtonsPanel):
             layout.label(text="Stats: " + slave.stats)
 
 @rnaType
-class RENDER_PT_network_slaves_blacklist(RenderButtonsPanel):
+class RENDER_PT_network_slaves_blacklist(bpy.types.Panel, RenderButtonsPanel):
     bl_label = "Slaves Blacklist"
     COMPAT_ENGINES = {'NET_RENDER'}
 
     def poll(self, context):
         scene = context.scene
         netsettings = scene.network_render
+        if netsettings.mode != "RENDER_CLIENT":
+            return False
         verify_address(netsettings)
         return (super().poll(context)
-                and netsettings.mode == "RENDER_CLIENT"
                 and netsettings.server_address != "[default]")
 
     def draw(self, context):
@@ -281,16 +284,17 @@ class RENDER_PT_network_slaves_blacklist(RenderButtonsPanel):
             layout.label(text="Stats: " + slave.stats)
 
 @rnaType
-class RENDER_PT_network_jobs(RenderButtonsPanel):
+class RENDER_PT_network_jobs(bpy.types.Panel, RenderButtonsPanel):
     bl_label = "Jobs"
     COMPAT_ENGINES = {'NET_RENDER'}
 
     def poll(self, context):
         scene = context.scene
         netsettings = scene.network_render
+        if netsettings.mode != "RENDER_CLIENT":
+            return False
         verify_address(netsettings)
         return (super().poll(context)
-                and netsettings.mode == "RENDER_CLIENT"
                 and netsettings.server_address != "[default]")
 
     def draw(self, context):
@@ -362,6 +366,11 @@ NetRenderSettings.BoolProperty( attr="slave_thumb",
                 description="Generate thumbnails on slaves instead of master",
                 default = False)
 
+NetRenderSettings.BoolProperty( attr="slave_outputlog",
+                name="Output render log on console",
+                description="Output render text log to console as well as sending it to the master",
+                default = True)
+
 NetRenderSettings.BoolProperty( attr="master_clear",
                 name="Clear on exit",
                 description="delete saved files on exit",
index 3778773..acd4517 100644 (file)
@@ -19,7 +19,7 @@
 import sys, os
 import re
 import http, http.client, http.server, urllib, socket
-import subprocess, shutil, time, hashlib
+import subprocess, shutil, time, hashlib, zlib
 
 import netrender.model
 
@@ -154,6 +154,18 @@ def renderURL(job_id, frame_number):
 def cancelURL(job_id):
     return "/cancel_%s" % (job_id)
 
+def hashFile(path):
+    f = open(path, "rb")
+    value = hashData(f.read())
+    f.close()
+    return value
+    
+def hashData(data):
+    m = hashlib.md5()
+    m.update(data)
+    return m.hexdigest()
+    
+
 def prefixPath(prefix_directory, file_path, prefix_path):
     if os.path.isabs(file_path):
         # if an absolute path, make sure path exists, if it doesn't, use relative local path
index 1e7c7ad..fd32a7e 100644 (file)
@@ -157,17 +157,18 @@ def graph_armature(obj, path, FAKE_PARENT=True, CONSTRAINTS=True, DRIVERS=True,
                 pbone = rna_path_as_pbone(rna_path)
 
                 if pbone:
-                    for target in fcurve_driver.driver.targets:
-                        pbone_target = rna_path_as_pbone(target.data_path)
-                        rna_path_target = target.data_path
-                        if pbone_target:
-                            opts = ['dir=forward', "weight=1", "arrowhead=normal", "arrowtail=none", "constraint=false", 'color="blue"', "labelfontsize=4"] # ,
-                            display_source = rna_path.replace("pose.bones", "")
-                            display_target = rna_path_target.replace("pose.bones", "")
-                            if XTRA_INFO:
-                                label = "%s\\n%s" % (display_source, display_target)
-                                opts.append('label="%s"' % compat_str(label))
-                            fw('"%s" -> "%s" [%s] ;\n' % (pbone_target.name, pbone.name, ','.join(opts)))
+                    for var in fcurve_driver.driver.variables:
+                        for target in var.targets:
+                            pbone_target = rna_path_as_pbone(target.data_path)
+                            rna_path_target = target.data_path
+                            if pbone_target:
+                                opts = ['dir=forward', "weight=1", "arrowhead=normal", "arrowtail=none", "constraint=false", 'color="blue"', "labelfontsize=4"] # ,
+                                display_source = rna_path.replace("pose.bones", "")
+                                display_target = rna_path_target.replace("pose.bones", "")
+                                if XTRA_INFO:
+                                    label = "%s\\n%s" % (display_source, display_target)
+                                    opts.append('label="%s"' % compat_str(label))
+                                fw('"%s" -> "%s" [%s] ;\n' % (pbone_target.name, pbone.name, ','.join(opts)))
 
     fw(footer)
     fileobject.close()
index 916940d..e0854f3 100644 (file)
@@ -963,7 +963,7 @@ def main(context, island_margin, projection_limit):
                     newProjectMeshFaces.append(tempMeshFaces.pop(fIdx))
 
             # Add the average of all these faces normals as a projectionVec
-            averageVec = Vector(0.0, 0.0, 0.0)
+            averageVec = Vector((0.0, 0.0, 0.0))
             if USER_AREA_WEIGHT:
                 for fprop in newProjectMeshFaces:
                     averageVec += (fprop.no * fprop.area)
index 3c7c440..98efa38 100644 (file)
@@ -4,10 +4,12 @@ import blf
 def draw_callback_px(self, context):
     print("mouse points", len(self.mouse_path))
 
+    font_id = 0 # XXX, need to find out how best to get this.
+
     # draw some text
-    blf.position(15, 30, 0)
-    blf.size(20, 72)
-    blf.draw("Hello Word " + str(len(self.mouse_path)))
+    blf.position(font_id, 15, 30, 0)
+    blf.size(font_id, 20, 72)
+    blf.draw(font_id, "Hello Word " + str(len(self.mouse_path)))
 
     # 50% alpha, 2 pixel width line
     bgl.glEnable(bgl.GL_BLEND)
index 0c84058..e00754f 100644 (file)
@@ -612,6 +612,7 @@ class USERPREF_PT_theme(bpy.types.Panel):
             col.prop(v3d, "handle_sel_vect")
             col.prop(v3d, "handle_sel_align")
             col.prop(v3d, "act_spline")
+            col.prop(v3d, "lastsel_point")
 
             col = split.column()
             col.prop(v3d, "vertex")
index f775340..16e4141 100644 (file)
@@ -453,8 +453,8 @@ class VIEW3D_MT_select_particle(bpy.types.Menu):
 
         layout.separator()
 
-        layout.operator("particle.select_first", text="Roots")
-        layout.operator("particle.select_last", text="Tips")
+        layout.operator("particle.select_roots", text="Roots")
+        layout.operator("particle.select_tips", text="Tips")
 
 
 class VIEW3D_MT_select_edit_mesh(bpy.types.Menu):
@@ -1832,7 +1832,7 @@ class VIEW3D_MT_edit_armature_roll(bpy.types.Menu):
 # ********** Panel **********
 
 
-class VIEW3D_PT_3dview_properties(bpy.types.Panel):
+class VIEW3D_PT_view3d_properties(bpy.types.Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "View"
@@ -1848,8 +1848,6 @@ class VIEW3D_PT_3dview_properties(bpy.types.Panel):
         scene = context.scene
 
         col = layout.column()
-        col.label(text="Camera:")
-        col.prop(view, "camera", text="")
         col.prop(view, "lens")
         col.label(text="Lock to Object:")
         col.prop(view, "lock_object", text="")
@@ -1861,10 +1859,15 @@ class VIEW3D_PT_3dview_properties(bpy.types.Panel):
         col.prop(view, "clip_start", text="Start")
         col.prop(view, "clip_end", text="End")
 
+        subcol = col.column()
+        subcol.enabled = not view.lock_camera_and_layers
+        subcol.label(text="Local Camera:")
+        subcol.prop(view, "camera", text="")
+
         layout.column().prop(view, "cursor_location")
 
 
-class VIEW3D_PT_3dview_name(bpy.types.Panel):
+class VIEW3D_PT_view3d_name(bpy.types.Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Item"
@@ -1888,7 +1891,7 @@ class VIEW3D_PT_3dview_name(bpy.types.Panel):
                 row.prop(bone, "name", text="")
 
 
-class VIEW3D_PT_3dview_display(bpy.types.Panel):
+class VIEW3D_PT_view3d_display(bpy.types.Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Display"
@@ -1956,7 +1959,7 @@ class VIEW3D_PT_3dview_display(bpy.types.Panel):
             row.prop(region, "box_clip")
 
 
-class VIEW3D_PT_3dview_meshdisplay(bpy.types.Panel):
+class VIEW3D_PT_view3d_meshdisplay(bpy.types.Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Mesh Display"
@@ -1992,7 +1995,7 @@ class VIEW3D_PT_3dview_meshdisplay(bpy.types.Panel):
         col.prop(mesh, "draw_face_area")
 
 
-class VIEW3D_PT_3dview_curvedisplay(bpy.types.Panel):
+class VIEW3D_PT_view3d_curvedisplay(bpy.types.Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Curve Display"
@@ -2260,11 +2263,11 @@ classes = [
     VIEW3D_MT_armature_specials, # Only as a menu for keybindings
 
    # Panels
-    VIEW3D_PT_3dview_properties,
-    VIEW3D_PT_3dview_display,
-    VIEW3D_PT_3dview_name,
-    VIEW3D_PT_3dview_meshdisplay,
-    VIEW3D_PT_3dview_curvedisplay,
+    VIEW3D_PT_view3d_properties,
+    VIEW3D_PT_view3d_display,
+    VIEW3D_PT_view3d_name,
+    VIEW3D_PT_view3d_meshdisplay,
+    VIEW3D_PT_view3d_curvedisplay,
     VIEW3D_PT_background_image,
     VIEW3D_PT_transform_orientations,
     VIEW3D_PT_etch_a_ton,
index 94863e1..64e9636 100644 (file)
@@ -122,7 +122,7 @@ bConstraintTypeInfo *get_constraint_typeinfo(int type);
 void unique_constraint_name(struct bConstraint *con, struct ListBase *list);
 
 void free_constraints(struct ListBase *list);
-void copy_constraints(struct ListBase *dst, const struct ListBase *src);
+void copy_constraints(struct ListBase *dst, const struct ListBase *src, int do_extern);
 void relink_constraints(struct ListBase *list);
 void id_loop_constraints(struct ListBase *list, ConstraintIDFunc func, void *userdata);
 void free_constraint_data(struct bConstraint *con);
index 253da25..c5705a0 100644 (file)
@@ -493,7 +493,7 @@ void copy_pose (bPose **dst, bPose *src, int copycon)
        for (pchan=outPose->chanbase.first; pchan; pchan=pchan->next) {
                // TODO: rename this argument...
                if (copycon) {
-                       copy_constraints(&listb, &pchan->constraints);  // copy_constraints NULLs listb
+                       copy_constraints(&listb, &pchan->constraints, TRUE);  // copy_constraints NULLs listb
                        pchan->constraints= listb;
                        pchan->path= NULL; // XXX remove this line when the new motionpaths are ready... (depreceated code)
                        pchan->mpath= NULL; /* motion paths should not get copied yet... */
@@ -667,7 +667,7 @@ void duplicate_pose_channel_data(bPoseChannel *pchan, const bPoseChannel *pchan_
        pchan->iklinweight= pchan_from->iklinweight;
 
        /* constraints */
-       copy_constraints(&pchan->constraints, &pchan_from->constraints);
+       copy_constraints(&pchan->constraints, &pchan_from->constraints, TRUE);
 
        /* id-properties */
        if(pchan->prop) {
index a2dbaa9..4f9b943 100644 (file)
@@ -1568,9 +1568,11 @@ static void pose_proxy_synchronize(Object *ob, Object *from, int layer_protected
                         *      1. extract constraints not from proxy (CONSTRAINT_PROXY_LOCAL) from pchan's constraints
                         *      2. copy proxy-pchan's constraints on-to new
                         *      3. add extracted local constraints back on top 
+                        *
+                        *  note for copy_constraints: when copying constraints, disable 'do_extern' otherwise we get the libs direct linked in this blend.
                         */
                        extract_proxylocal_constraints(&proxylocal_constraints, &pchan->constraints);
-                       copy_constraints(&pchanw.constraints, &pchanp->constraints);
+                       copy_constraints(&pchanw.constraints, &pchanp->constraints, FALSE);
                        addlisttolist(&pchanw.constraints, &proxylocal_constraints);
                        
                        /* constraints - set target ob pointer to own object */
index fd6db37..3ccf068 100644 (file)
@@ -276,6 +276,8 @@ static void setup_app_data(bContext *C, BlendFileData *bfd, char *filename)
        else bfd->globalf &= ~G_DEBUG;
        if (G.f & G_SWAP_EXCHANGE) bfd->globalf |= G_SWAP_EXCHANGE;
        else bfd->globalf &= ~G_SWAP_EXCHANGE;
+       if (G.f & G_SCRIPT_AUTOEXEC) bfd->globalf |= G_SCRIPT_AUTOEXEC;
+       else bfd->globalf &= ~G_SCRIPT_AUTOEXEC;
 
        G.f= bfd->globalf;
 
index dedf82b..538012c 100644 (file)
@@ -75,7 +75,7 @@ Brush *add_brush(const char *name)
        brush->rgb[2]= 1.0f;
        brush->alpha= 0.2f;
        brush->size= 25;
-       brush->spacing= 7.5f;
+       brush->spacing= 3.5f;
        brush->smooth_stroke_radius= 75;
        brush->smooth_stroke_factor= 0.9;
        brush->rate= 0.1f;
index 18504ba..a3f1cb0 100644 (file)
@@ -4131,7 +4131,7 @@ static void con_extern_cb(bConstraint *con, ID **idpoin, void *userdata)
 }
 
 /* duplicate all of the constraints in a constraint stack */
-void copy_constraints (ListBase *dst, const ListBase *src)
+void copy_constraints (ListBase *dst, const ListBase *src, int do_extern)
 {
        bConstraint *con, *srccon;
        
@@ -4149,10 +4149,13 @@ void copy_constraints (ListBase *dst, const ListBase *src)
                        /* perform custom copying operations if needed */
                        if (cti->copy_data)
                                cti->copy_data(con, srccon);
-                       
-                       /* go over used ID-links for this constraint to ensure that they are valid for proxies */
-                       if (cti->id_looper)
-                               cti->id_looper(con, con_extern_cb, NULL);
+
+                       /* for proxies we dont want to make extern */
+                       if(do_extern) {
+                               /* go over used ID-links for this constraint to ensure that they are valid for proxies */
+                               if (cti->id_looper)
+                                       cti->id_looper(con, con_extern_cb, NULL);
+                       }
                }
        }
 }
index f96100b..7f2ac50 100644 (file)
@@ -67,7 +67,7 @@
 #include "BKE_global.h"
 #include "BKE_main.h"
 #include "BKE_nla.h"
-
+#include "BKE_sequencer.h"
 
 
 /* *************************************************** */
@@ -792,12 +792,12 @@ static char *particle_adrcodes_to_paths (int adrcode, int *array_index)
 /* Allocate memory for RNA-path for some property given a blocktype, adrcode, and 'root' parts of path
  *     Input:
  *             - blocktype, adrcode    - determines setting to get
- *             - actname, constname    - used to build path
+ *             - actname, constname,seq - used to build path
  *     Output:
  *             - array_index                   - index in property's array (if applicable) to use
  *             - return                                - the allocated path...
  */
-static char *get_rna_access (int blocktype, int adrcode, char actname[], char constname[], int *array_index)
+static char *get_rna_access (int blocktype, int adrcode, char actname[], char constname[], Sequence * seq, int *array_index)
 {
        DynStr *path= BLI_dynstr_new();
        char *propname=NULL, *rpath=NULL;
@@ -919,6 +919,11 @@ static char *get_rna_access (int blocktype, int adrcode, char actname[], char co
                /* Constraint in Object */
                sprintf(buf, "constraints[\"%s\"]", constname);
        }
+       else if (seq) {
+               /* Sequence names in Scene */
+               sprintf(buf, "sequence_editor.sequences_all[\"%s\"]", 
+                       seq->name+2);
+       }
        else
                strcpy(buf, ""); /* empty string */
        BLI_dynstr_append(path, buf);
@@ -1111,8 +1116,9 @@ static void fcurve_add_to_list (ListBase *groups, ListBase *list, FCurve *fcu, c
  * is not relevant, BUT do not free the IPO-Curve itself...
  *     actname: name of Action-Channel (if applicable) that IPO-Curve's IPO-block belonged to
  *     constname: name of Constraint-Channel (if applicable) that IPO-Curve's IPO-block belonged to
+ *      seq: sequencer-strip (if applicable) that IPO-Curve's IPO-block belonged to
  */
-static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve *icu, char *actname, char *constname, int muteipo)
+static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve *icu, char *actname, char *constname, Sequence * seq, int muteipo)
 {
        AdrBit2Path *abp;
        FCurve *fcu;
@@ -1235,7 +1241,7 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve *
                /* get rna-path
                 *      - we will need to set the 'disabled' flag if no path is able to be made (for now)
                 */
-               fcu->rna_path= get_rna_access(icu->blocktype, icu->adrcode, actname, constname, &fcu->array_index);
+               fcu->rna_path= get_rna_access(icu->blocktype, icu->adrcode, actname, constname, seq, &fcu->array_index);
                if (fcu->rna_path == NULL)
                        fcu->flag |= FCURVE_DISABLED;
                
@@ -1307,6 +1313,24 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve *
                                                dst->vec[2][0] *= fac;
                                        }
                                }
+                               
+                               /* correct values for sequencer curves,
+                                  that were not locked to frame */
+
+                               if (seq && 
+                                   (seq->flag & SEQ_IPO_FRAME_LOCKED) == 0) {
+                                       double mul= (seq->enddisp-seq->startdisp)/100.0f;
+                                       double offset= seq->startdisp;
+                                       
+                                       dst->vec[0][0] *= mul;
+                                       dst->vec[0][0] += offset;
+
+                                       dst->vec[1][0] *= mul;
+                                       dst->vec[1][0] += offset;
+
+                                       dst->vec[2][0] *= mul;
+                                       dst->vec[2][0] += offset;
+                               }
                        }
                }
                else if (icu->bp) {
@@ -1326,7 +1350,7 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve *
  * This does not assume that any ID or AnimData uses it, but does assume that
  * it is given two lists, which it will perform driver/animation-data separation.
  */
-static void ipo_to_animato (ID *id, Ipo *ipo, char actname[], char constname[], ListBase *animgroups, ListBase *anim, ListBase *drivers)
+static void ipo_to_animato (ID *id, Ipo *ipo, char actname[], char constname[], Sequence * seq, ListBase *animgroups, ListBase *anim, ListBase *drivers)
 {
        IpoCurve *icu;
        
@@ -1357,7 +1381,7 @@ static void ipo_to_animato (ID *id, Ipo *ipo, char actname[], char constname[],
                if (icu->driver) {
                        /* Blender 2.4x allowed empty drivers, but we don't now, since they cause more trouble than they're worth */
                        if ((icu->driver->ob) || (icu->driver->type == IPO_DRIVER_TYPE_PYTHON)) {
-                               icu_to_fcurves(id, NULL, drivers, icu, actname, constname, ipo->muteipo);
+                               icu_to_fcurves(id, NULL, drivers, icu, actname, constname, seq, ipo->muteipo);
                        }
                        else {
                                MEM_freeN(icu->driver);
@@ -1365,7 +1389,7 @@ static void ipo_to_animato (ID *id, Ipo *ipo, char actname[], char constname[],
                        }
                }
                else
-                       icu_to_fcurves(id, animgroups, anim, icu, actname, constname, ipo->muteipo);
+                       icu_to_fcurves(id, animgroups, anim, icu, actname, constname, seq, ipo->muteipo);
        }
        
        /* if this IPO block doesn't have any users after this one, free... */
@@ -1417,7 +1441,7 @@ static void action_to_animato (ID *id, bAction *act, ListBase *groups, ListBase
                
                /* convert Action Channel's IPO data */
                if (achan->ipo) {
-                       ipo_to_animato(id, achan->ipo, achan->name, NULL, groups, curves, drivers);
+                       ipo_to_animato(id, achan->ipo, achan->name, NULL, NULL, groups, curves, drivers);
                        achan->ipo->id.us--;
                        achan->ipo= NULL;
                }
@@ -1429,7 +1453,7 @@ static void action_to_animato (ID *id, bAction *act, ListBase *groups, ListBase
                        
                        /* convert Constraint Channel's IPO data */
                        if (conchan->ipo) {
-                               ipo_to_animato(id, conchan->ipo, achan->name, conchan->name, groups, curves, drivers);
+                               ipo_to_animato(id, conchan->ipo, achan->name, conchan->name, NULL, groups, curves, drivers);
                                conchan->ipo->id.us--;
                                conchan->ipo= NULL;
                        }
@@ -1450,7 +1474,7 @@ static void action_to_animato (ID *id, bAction *act, ListBase *groups, ListBase
  * This assumes that AnimData has been added already. Separation of drivers
  * from animation data is accomplished here too...
  */
-static void ipo_to_animdata (ID *id, Ipo *ipo, char actname[], char constname[])
+static void ipo_to_animdata (ID *id, Ipo *ipo, char actname[], char constname[], Sequence * seq)
 {
        AnimData *adt= BKE_animdata_from_id(id);
        ListBase anim = {NULL, NULL};
@@ -1465,8 +1489,8 @@ static void ipo_to_animdata (ID *id, Ipo *ipo, char actname[], char constname[])
        }
        
        if (G.f & G_DEBUG) {
-               printf("ipo to animdata - ID:%s, IPO:%s, actname:%s constname:%s  curves:%d \n", 
-                       id->name+2, ipo->id.name+2, (actname)?actname:"<None>", (constname)?constname:"<None>", 
+               printf("ipo to animdata - ID:%s, IPO:%s, actname:%s constname:%s seqname:%s  curves:%d \n", 
+                      id->name+2, ipo->id.name+2, (actname)?actname:"<None>", (constname)?constname:"<None>", (seq)?(seq->name+2):"<None>",
                        BLI_countlist(&ipo->curve));
        }
        
@@ -1474,7 +1498,7 @@ static void ipo_to_animdata (ID *id, Ipo *ipo, char actname[], char constname[])
         * and the try to put these lists in the right places, but do not free the lists here
         */
        // XXX there shouldn't be any need for the groups, so don't supply pointer for that now... 
-       ipo_to_animato(id, ipo, actname, constname, NULL, &anim, &drivers);
+       ipo_to_animato(id, ipo, actname, constname, seq, NULL, &anim, &drivers);
        
        /* deal with animation first */
        if (anim.first) {
@@ -1651,7 +1675,7 @@ void do_versions_ipos_to_animato(Main *main)
                        
                        /* IPO first to take into any non-NLA'd Object Animation */
                        if (ob->ipo) {
-                               ipo_to_animdata(id, ob->ipo, NULL, NULL);
+                               ipo_to_animdata(id, ob->ipo, NULL, NULL, NULL);
                                
                                ob->ipo->id.us--;
                                ob->ipo= NULL;
@@ -1685,7 +1709,7 @@ void do_versions_ipos_to_animato(Main *main)
                        
                        /* IPO second... */
                        if (ob->ipo) {
-                               ipo_to_animdata(id, ob->ipo, NULL, NULL);
+                               ipo_to_animdata(id, ob->ipo, NULL, NULL, NULL);
                                ob->ipo->id.us--;
                                ob->ipo= NULL;
                        }
@@ -1705,7 +1729,7 @@ void do_versions_ipos_to_animato(Main *main)
                                                /* although this was the constraint's local IPO, we still need to provide pchan + con 
                                                 * so that drivers can be added properly...
                                                 */
-                                               ipo_to_animdata(id, con->ipo, pchan->name, con->name);
+                                               ipo_to_animdata(id, con->ipo, pchan->name, con->name, NULL);
                                                con->ipo->id.us--;
                                                con->ipo= NULL;
                                        }
@@ -1725,7 +1749,7 @@ void do_versions_ipos_to_animato(Main *main)
                                /* although this was the constraint's local IPO, we still need to provide con 
                                 * so that drivers can be added properly...
                                 */
-                               ipo_to_animdata(id, con->ipo, NULL, con->name);
+                               ipo_to_animdata(id, con->ipo, NULL, con->name, NULL);
                                con->ipo->id.us--;
                                con->ipo= NULL;
                        }
@@ -1745,7 +1769,7 @@ void do_versions_ipos_to_animato(Main *main)
                                
                                /* convert Constraint Channel's IPO data */
                                if (conchan->ipo) {
-                                       ipo_to_animdata(id, conchan->ipo, NULL, conchan->name);
+                                       ipo_to_animdata(id, conchan->ipo, NULL, conchan->name, NULL);
                                        conchan->ipo->id.us--;
                                        conchan->ipo= NULL;
                                }
@@ -1771,7 +1795,7 @@ void do_versions_ipos_to_animato(Main *main)
                        adt= BKE_id_add_animdata(id);
                        
                        /* Convert Shapekey data... */
-                       ipo_to_animdata(id, key->ipo, NULL, NULL);
+                       ipo_to_animdata(id, key->ipo, NULL, NULL, NULL);
                        key->ipo->id.us--;
                        key->ipo= NULL;
                }
@@ -1789,7 +1813,7 @@ void do_versions_ipos_to_animato(Main *main)
                        adt= BKE_id_add_animdata(id);
                        
                        /* Convert Material data... */
-                       ipo_to_animdata(id, ma->ipo, NULL, NULL);
+                       ipo_to_animdata(id, ma->ipo, NULL, NULL, NULL);
                        ma->ipo->id.us--;
                        ma->ipo= NULL;
                }
@@ -1807,7 +1831,7 @@ void do_versions_ipos_to_animato(Main *main)
                        adt= BKE_id_add_animdata(id);
                        
                        /* Convert World data... */
-                       ipo_to_animdata(id, wo->ipo, NULL, NULL);
+                       ipo_to_animdata(id, wo->ipo, NULL, NULL, NULL);
                        wo->ipo->id.us--;
                        wo->ipo= NULL;
                }
@@ -1816,10 +1840,13 @@ void do_versions_ipos_to_animato(Main *main)
        /* sequence strips */
        for (id= main->scene.first; id; id= id->next) {
                Scene *scene = (Scene *)id;
-               if (scene->ed && scene->ed->seqbasep) {
+               Editing * ed = scene->ed;
+               if (ed && ed->seqbasep) {
                        Sequence * seq;
-                       
-                       for(seq = scene->ed->seqbasep->first; seq; seq = seq->next) {
+
+                       adt= BKE_id_add_animdata(id);
+
+                       SEQ_BEGIN(ed, seq) {
                                IpoCurve *icu = (seq->ipo) ? seq->ipo->curve.first : NULL;
                                short adrcode = SEQ_FAC1;
                                
@@ -1850,10 +1877,12 @@ void do_versions_ipos_to_animato(Main *main)
                                icu->adrcode = adrcode;
                                
                                /* convert IPO */
-                               ipo_to_animdata((ID *)seq, seq->ipo, NULL, NULL);
+                               ipo_to_animdata((ID *)scene, seq->ipo, 
+                                               NULL, NULL, seq);
                                seq->ipo->id.us--;
                                seq->ipo = NULL;
                        }
+                       SEQ_END
                }
        }
 
@@ -1870,7 +1899,7 @@ void do_versions_ipos_to_animato(Main *main)
                        adt= BKE_id_add_animdata(id);
                        
                        /* Convert Texture data... */
-                       ipo_to_animdata(id, te->ipo, NULL, NULL);
+                       ipo_to_animdata(id, te->ipo, NULL, NULL, NULL);
                        te->ipo->id.us--;
                        te->ipo= NULL;
                }
@@ -1888,7 +1917,7 @@ void do_versions_ipos_to_animato(Main *main)
                        adt= BKE_id_add_animdata(id);
                        
                        /* Convert Camera data... */
-                       ipo_to_animdata(id, ca->ipo, NULL, NULL);
+                       ipo_to_animdata(id, ca->ipo, NULL, NULL, NULL);
                        ca->ipo->id.us--;
                        ca->ipo= NULL;
                }
@@ -1906,7 +1935,7 @@ void do_versions_ipos_to_animato(Main *main)
                        adt= BKE_id_add_animdata(id);
                        
                        /* Convert Lamp data... */
-                       ipo_to_animdata(id, la->ipo, NULL, NULL);
+                       ipo_to_animdata(id, la->ipo, NULL, NULL, NULL);
                        la->ipo->id.us--;
                        la->ipo= NULL;
                }
@@ -1924,7 +1953,7 @@ void do_versions_ipos_to_animato(Main *main)
                        adt= BKE_id_add_animdata(id);
                        
                        /* Convert Curve data... */
-                       ipo_to_animdata(id, cu->ipo, NULL, NULL);
+                       ipo_to_animdata(id, cu->ipo, NULL, NULL, NULL);
                        cu->ipo->id.us--;
                        cu->ipo= NULL;
                }
@@ -1963,7 +1992,7 @@ void do_versions_ipos_to_animato(Main *main)
                        
                        /* add a new action for this, and convert all data into that action */
                        new_act= add_empty_action("ConvIPO_Action"); // XXX need a better name...
-                       ipo_to_animato(NULL, ipo, NULL, NULL, NULL, &new_act->curves, &drivers);
+                       ipo_to_animato(NULL, ipo, NULL, NULL, NULL, NULL, &new_act->curves, &drivers);
                }
                
                /* clear fake-users, and set user-count to zero to make sure it is cleared on file-save */
index cfee7dd..1381a3b 100644 (file)
@@ -650,7 +650,7 @@ void *copy_libblock(void *rt)
        ID *idn, *id;
        ListBase *lb;
        char *cp, *cpn;
-       int idn_len;
+       size_t idn_len;
        
        id= rt;
 
index 9ff7f1f..3d49548 100644 (file)
@@ -114,7 +114,8 @@ void ntreeInitTypes(bNodeTree *ntree)
                                }
                        }
                        node->typeinfo= stype;
-                       node->typeinfo->initfunc(node);
+                       if(node->typeinfo)
+                               node->typeinfo->initfunc(node);
                } else {
                        node->typeinfo= node_get_type(ntree, node->type, (bNodeTree *)node->id, NULL);
                }
index ce064a7..baa1cae 100644 (file)
@@ -1282,7 +1282,7 @@ Object *copy_object(Object *ob)
                        armature_rebuild_pose(obn, obn->data);
        }
        defgroup_copy_list(&obn->defbase, &ob->defbase);
-       copy_constraints(&obn->constraints, &ob->constraints);
+       copy_constraints(&obn->constraints, &ob->constraints, TRUE);
 
        obn->mode = 0;
        obn->sculpt = NULL;
index e14c46f..3d02f17 100644 (file)
@@ -1379,7 +1379,9 @@ static void ptcache_copy_data(void *from[], void *to[])
 {
        int i;
        for(i=0; i<BPHYS_TOT_DATA; i++) {
-               if(from[i])
+        /* note, durian file 03.4b_comp crashes if to[i] is not tested
+         * its NULL, not sure if this should be fixed elsewhere but for now its needed */
+               if(from[i] && to[i])
                        memcpy(to[i], from[i], ptcache_data_size[i]);
        }
 }
index 9b3c613..e48c4ea 100644 (file)
@@ -586,7 +586,7 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq)
 
        if (seq->type == SEQ_IMAGE) {
                /* Hack? */
-               int olen = MEM_allocN_len(seq->strip->stripdata)/sizeof(struct StripElem);
+               size_t olen = MEM_allocN_len(seq->strip->stripdata)/sizeof(struct StripElem);
                seq->len = olen;
                seq->len -= seq->anim_startofs;
                seq->len -= seq->anim_endofs;
@@ -2160,7 +2160,7 @@ static void do_build_seq_ibuf(Scene *scene, Sequence * seq, TStripElem *se, int
                           and since G.rendering is uhm, gone... (Peter)
                        */
 
-                       int rendering = 1;
+                       int rendering = G.rendering;
                        int doseq;
                        int doseq_gl= G.rendering ? (scene->r.seq_flag & R_SEQ_GL_REND) : (scene->r.seq_flag & R_SEQ_GL_PREV);
 
@@ -2832,7 +2832,7 @@ static pthread_cond_t  wakeup_cond         = PTHREAD_COND_INITIALIZER;
 static pthread_mutex_t frame_done_lock     = PTHREAD_MUTEX_INITIALIZER;
 static pthread_cond_t  frame_done_cond     = PTHREAD_COND_INITIALIZER;
 
-static volatile int seq_thread_shutdown = FALSE;
+static volatile int seq_thread_shutdown = TRUE; 
 static volatile int seq_last_given_monoton_cfra = 0;
 static int monoton_cfra = 0;
 
index aa513ab..ccb83c7 100644 (file)
@@ -717,7 +717,7 @@ void smokeModifier_createType(struct SmokeModifierData *smd)
                        smd->domain->strength = 2.0;
                        smd->domain->noise = MOD_SMOKE_NOISEWAVE;
                        smd->domain->diss_speed = 5;
-                       // init 3dview buffer
+                       // init view3d buffer
                        smd->domain->viewsettings = 0;
                        smd->domain->effector_weights = BKE_add_effector_weights(NULL);
                }
index 9937061..873a410 100644 (file)
@@ -245,7 +245,7 @@ void init_colorband(ColorBand *coba, int rangetype)
                coba->data[0].b= 0.0;
                coba->data[0].a= 0.0;
                
-               coba->data[1].r= 0.0;
+               coba->data[1].r= 1.0;
                coba->data[1].g= 1.0;
                coba->data[1].b= 1.0;
                coba->data[1].a= 1.0;
index f7dcbee..be19f7b 100644 (file)
@@ -1357,7 +1357,8 @@ static void test_pointer_array(FileData *fd, void **mat)
 #else
        long long *lpoin, *lmat;
 #endif
-       int len, *ipoin, *imat;
+       int *ipoin, *imat;
+       size_t len;
 
                /* manually convert the pointer array in
                 * the old dna format to a pointer array in
@@ -2753,7 +2754,7 @@ static void direct_link_curve(FileData *fd, Curve *cu)
        cu->bev.first=cu->bev.last= NULL;
        cu->disp.first=cu->disp.last= NULL;
        cu->editnurb= NULL;
-       cu->lastselbp= NULL;
+       cu->lastsel= NULL;
        cu->path= NULL;
        cu->editfont= NULL;
        
@@ -6539,6 +6540,21 @@ static void do_version_old_trackto_to_constraints(Object *ob)
        ob->track = NULL;
 }
 
+static void do_versions_seq_unique_name_all_strips(
+       Scene * sce, ListBase *seqbasep)
+{
+       Sequence * seq = seqbasep->first;
+
+       while(seq) {
+               seqbase_unique_name_recursive(&sce->ed->seqbase, seq);
+               if (seq->seqbase.first) {
+                       do_versions_seq_unique_name_all_strips(
+                               sce, &seq->seqbase);
+               }
+               seq=seq->next;
+       }
+}
+
 static void do_versions(FileData *fd, Library *lib, Main *main)
 {
        /* WATCH IT!!!: pointers from libdata have not been converted */
@@ -10208,22 +10224,16 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
                {
                        Scene *sce= main->scene.first;
                        while(sce) {
-                               Sequence *seq;
-                               
                                if(sce->r.frame_step==0)
                                        sce->r.frame_step= 1;
                                if (sce->r.mblur_samples==0)
                                        sce->r.mblur_samples = sce->r.osa;
                                
-                               if(sce->ed && sce->ed->seqbasep)
-                               {
-                                       seq=sce->ed->seqbasep->first;
-                                       while(seq) {
-                                               seqbase_unique_name_recursive(&sce->ed->seqbase, seq);
-                                               seq=seq->next;
-                                       }
+                               if (sce->ed && sce->ed->seqbase.first) {
+                                       do_versions_seq_unique_name_all_strips(
+                                               sce, &sce->ed->seqbase);
                                }
-                               
+                       
                                sce= sce->id.next;
                        }
                }
index abd8805..43a0c8d 100644 (file)
@@ -2334,8 +2334,8 @@ static void dummy_olddraw_gpencil ()
                                case SPACE_VIEW3D:
                                {
                                        /* this shouldn't cause any overflow... */
-                                       //sprintf(name, "3DView:%s", view3d_get_name(sa->spacedata.first)); // XXX missing func..
-                                       strcpy(name, "3dView");
+                                       //sprintf(name, "View3D:%s", view3d_get_name(sa->spacedata.first)); // XXX missing func..
+                                       strcpy(name, "View3D");
                                        special= ICON_VIEW3D;
                                }
                                        break;
index dcd59a3..24c3aff 100644 (file)
@@ -691,7 +691,7 @@ void pose_copy_menu(Scene *scene)
                                                /* copy constraints to tmpbase and apply 'local' tags before 
                                                 * appending to list of constraints for this channel
                                                 */
-                                               copy_constraints(&tmp_constraints, &pchanact->constraints);
+                                               copy_constraints(&tmp_constraints, &pchanact->constraints, TRUE);
                                                if ((ob->proxy) && (pchan->bone->layer & arm->layer_protected)) {
                                                        bConstraint *con;
                                                        
@@ -800,7 +800,7 @@ void pose_copy_menu(Scene *scene)
                                /* copy constraints to tmpbase and apply 'local' tags before 
                                 * appending to list of constraints for this channel
                                 */
-                               copy_constraints(&tmp_constraints, &const_copy);
+                               copy_constraints(&tmp_constraints, &const_copy, TRUE);
                                if ((ob->proxy) && (pchan->bone->layer & arm->layer_protected)) {
                                        bConstraint *con;
                                        
index e37363c..22976c7 100644 (file)
 #include "RNA_access.h"
 #include "RNA_define.h"
 
+/* Undo stuff */
+typedef struct {
+       ListBase nubase;
+       void *lastsel;
+} UndoCurve;
+
 void selectend_nurb(Object *obedit, short selfirst, short doswap, short selstatus);
 static void select_adjacent_cp(ListBase *editnurb, short next, short cont, short selstatus);
 
@@ -324,7 +330,7 @@ void make_editNurb(Object *obedit)
                        editnurb= cu->editnurb= MEM_callocN(sizeof(ListBase), "editnurb");
                
                nu= cu->nurb.first;
-               cu->lastselbp= NULL;   /* for select row */
+               cu->lastsel= NULL;   /* for select row */
                
                while(nu) {
                        newnu= duplicateNurb(nu);
@@ -389,6 +395,8 @@ void CU_select_swap(Object *obedit)
                BezTriple *bezt;
                int a;
 
+               cu->lastsel= NULL;
+
                for(nu= editnurb->first; nu; nu= nu->next) {
                        if(nu->type == CU_BEZIER) {
                                bezt= nu->bezt;
@@ -654,7 +662,7 @@ static int deleteflagNurb(bContext *C, wmOperator *op, int flag)
        if(obedit && obedit->type==OB_SURF);
        else return OPERATOR_CANCELLED;
 
-       cu->lastselbp= NULL;
+       cu->lastsel= NULL;
 
        nu= editnurb->first;
        while(nu) {
@@ -887,9 +895,12 @@ static void adduplicateflagNurb(Object *obedit, short flag)
        Nurb *nu, *newnu;
        BezTriple *bezt, *bezt1;
        BPoint *bp, *bp1;
+       Curve *cu= (Curve*)obedit->data;
        int a, b, starta, enda, newu, newv;
        char *usel;
 
+       cu->lastsel= NULL;
+
        nu= editnurb->last;
        while(nu) {
                if(nu->type == CU_BEZIER) {
@@ -1499,11 +1510,15 @@ void selectend_nurb(Object *obedit, short selfirst, short doswap, short selstatu
        Nurb *nu;
        BPoint *bp;
        BezTriple *bezt;
+       Curve *cu;
        int a;
        short sel;
-       
+
        if(obedit==0) return;
-       
+
+       cu= (Curve*)obedit->data;
+       cu->lastsel= NULL;
+
        for(nu= editnurb->first; nu; nu= nu->next) {
                sel= 0;
                if(nu->type == CU_BEZIER) {
@@ -1819,6 +1834,8 @@ static int select_inverse_exec(bContext *C, wmOperator *op)
        BezTriple *bezt;
        int a;
 
+       cu->lastsel= NULL;
+
        for(nu= editnurb->first; nu; nu= nu->next) {
                if(nu->type == CU_BEZIER) {
                        bezt= nu->bezt;
@@ -3183,12 +3200,18 @@ int mouse_nurb(bContext *C, short mval[2], int extend)
 
                        if(bezt) {
 
-                               if(hand==1) select_beztriple(bezt, SELECT, 1, HIDDEN);
-                               else if(hand==0) bezt->f1|= SELECT;
-                               else bezt->f3|= SELECT;
+                               if(hand==1) {
+                                       select_beztriple(bezt, SELECT, 1, HIDDEN);
+                                       cu->lastsel= bezt;
+                               } else {
+                                       if(hand==0) bezt->f1|= SELECT;
+                                       else bezt->f3|= SELECT;
+
+                                       cu->lastsel= NULL;
+                               }
                        }
                        else {
-                               cu->lastselbp= bp;
+                               cu->lastsel= bp;
                                select_bpoint(bp, SELECT, 1, HIDDEN);
                        }
 
@@ -3196,8 +3219,13 @@ int mouse_nurb(bContext *C, short mval[2], int extend)
                else {
                        if(bezt) {
                                if(hand==1) {
-                                       if(bezt->f2 & SELECT) select_beztriple(bezt, DESELECT, 1, HIDDEN);
-                                       else select_beztriple(bezt, SELECT, 1, HIDDEN);
+                                       if(bezt->f2 & SELECT) {
+                                               select_beztriple(bezt, DESELECT, 1, HIDDEN);
+                                               if (bezt == cu->lastsel) cu->lastsel = NULL;
+                                       } else {
+                                               select_beztriple(bezt, SELECT, 1, HIDDEN);
+                                               cu->lastsel= bezt;
+                                       }
                                } else if(hand==0) {
                                        bezt->f1 ^= SELECT;
                                } else {
@@ -3205,10 +3233,12 @@ int mouse_nurb(bContext *C, short mval[2], int extend)
                                }
                        }
                        else {
-                               if(bp->f1 & SELECT) select_bpoint(bp, DESELECT, 1, HIDDEN);
-                               else {
+                               if(bp->f1 & SELECT) {
+                                       select_bpoint(bp, DESELECT, 1, HIDDEN);
+                                       if (cu->lastsel == bp) cu->lastsel = NULL;
+                               } else {
                                        select_bpoint(bp, SELECT, 1, HIDDEN);
-                                       cu->lastselbp= bp;
+                                       cu->lastsel= bp;
                                }
                        }
 
@@ -3813,7 +3843,7 @@ static int select_row_exec(bContext *C, wmOperator *op)
 
        if(editnurb->first==0)
                return OPERATOR_CANCELLED;
-       if(cu->lastselbp==NULL)
+       if(cu->lastsel==NULL)
                return OPERATOR_CANCELLED;
 
        /* find the correct nurb and toggle with u of v */
@@ -3821,7 +3851,7 @@ static int select_row_exec(bContext *C, wmOperator *op)
                bp= nu->bp;
                for(v=0; v<nu->pntsv; v++) {
                        for(u=0; u<nu->pntsu; u++, bp++) {
-                               if(bp==cu->lastselbp) {
+                               if(bp==cu->lastsel) {
                                        if(bp->f1 & SELECT) {
                                                ok= 1;
                                                break;
@@ -3832,11 +3862,11 @@ static int select_row_exec(bContext *C, wmOperator *op)
                }
 
                if(ok) {
-                       if(last==cu->lastselbp) {
+                       if(last==cu->lastsel) {
                                direction= 1-direction;
                                setflagsNurb(editnurb, 0);
                        }
-                       last= cu->lastselbp;
+                       last= cu->lastsel;
 
                        bp= nu->bp;
                        for(a=0; a<nu->pntsv; a++) {
@@ -5190,49 +5220,87 @@ void CURVE_OT_tilt_clear(wmOperatorType *ot)
 
 /****************** undo for curves ****************/
 
-static void undoCurve_to_editCurve(void *lbu, void *lbe)
+static void *undo_check_lastsel(void *lastsel, Nurb *nu, Nurb *newnu)
+{
+       if (nu->bezt) {
+               BezTriple *lastbezt= (BezTriple*)lastsel;
+               if (lastbezt >= nu->bezt && lastbezt < nu->bezt + nu->pntsu) {
+                       return newnu->bezt + (lastbezt - nu->bezt);
+               }
+       } else {
+               BPoint *lastbp= (BPoint*)lastsel;
+               if (lastbp >= nu->bp && lastbp < nu->bp + nu->pntsu*nu->pntsv) {
+                       return newnu->bp + (lastbp - nu->bp);
+               }
+       }
+
+       return NULL;
+}
+
+static void undoCurve_to_editCurve(void *ucu, void *cue)
 {
-       ListBase *lb= lbu;
-       ListBase *editnurb= lbe;
+       Curve *cu= cue;
+       UndoCurve *undoCurve= ucu;
+       ListBase *undobase= &undoCurve->nubase;
+       ListBase *editbase= cu->editnurb;
        Nurb *nu, *newnu;
-       
-       freeNurblist(editnurb);
+       void *lastsel= NULL;
+
+       freeNurblist(editbase);
 
        /* copy  */
-       for(nu= lb->first; nu; nu= nu->next) {
+       for(nu= undobase->first; nu; nu= nu->next) {
                newnu= duplicateNurb(nu);
-               BLI_addtail(editnurb, newnu);
+
+               if (lastsel == NULL) {
+                       lastsel= undo_check_lastsel(undoCurve->lastsel, nu, newnu);
+               }
+
+               BLI_addtail(editbase, newnu);
        }
+
+       cu->lastsel= lastsel;
 }
 
-static void *editCurve_to_undoCurve(void *lbe)
+static void *editCurve_to_undoCurve(void *cue)
 {
-       ListBase *editnurb= lbe;
-       ListBase *lb;
+       Curve *cu= cue;
+       ListBase *nubase= cu->editnurb;
+       UndoCurve *undoCurve;
        Nurb *nu, *newnu;
+       void *lastsel= NULL;
+
+       undoCurve= MEM_callocN(sizeof(UndoCurve), "undoCurve");
 
-       lb= MEM_callocN(sizeof(ListBase), "listbase undo");
-       
        /* copy  */
-       for(nu= editnurb->first; nu; nu= nu->next) {
+       for(nu= nubase->first; nu; nu= nu->next) {
                newnu= duplicateNurb(nu);
-               BLI_addtail(lb, newnu);
+
+               if (lastsel == NULL) {
+                       lastsel= undo_check_lastsel(cu->lastsel, nu, newnu);
+               }
+
+               BLI_addtail(&undoCurve->nubase, newnu);
        }
-       return lb;
+
+       undoCurve->lastsel= lastsel;
+
+       return undoCurve;
 }
 
-static void free_undoCurve(void *lbv)
+static void free_undoCurve(void *ucv)
 {
-       ListBase *lb= lbv;
-       
-       freeNurblist(lb);
-       MEM_freeN(lb);
+       UndoCurve *undoCurve= ucv;
+
+       freeNurblist(&undoCurve->nubase);
+
+       MEM_freeN(undoCurve);
 }
 
 static void *get_data(bContext *C)
 {
        Object *obedit= CTX_data_edit_object(C);
-       return curve_get_editcurve(obedit);
+       return obedit->data;
 }
 
 /* and this is all the undo system needs to know */
index b624670..5ec1f58 100644 (file)
 /* DataToC output of file <B_blend> */
 
-int datatoc_B_blend_size= 406224;
+int datatoc_B_blend_size= 374536;
 char datatoc_B_blend[]= {
- 66, 76, 69, 78, 68, 69, 82, 45,118, 50, 53, 50, 82, 69, 78, 68,
- 32,  0,  0,  0,208,237,191, 95,255,127,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,250,  0,  0,  0, 83, 99,101,110,
-101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 71, 76, 79, 66, 24,  1,  0,  0,224,236,191, 95,
-255,127,  0,  0,200,  0,  0,  0,  1,  0,  0,  0, 32, 32, 32, 53,  5,  0,  0,  0,250,  0,  0,  0,  1,  0,  0,  1,144, 73, 76, 30,
-  1,  0,  0,  0, 48, 22,204, 29,  1,  0,  0,  0,  0, 16,  0,  0,128,  0,  4,  0, 60,109,101,109,111,114,121, 50, 62,  0,  0,  0,
-  0,  0,  0,  0,162,189,242,  1,  1,  0,  0,  0, 40,  0,  0,  0, 48,  0,  0,  0, 16,238,191, 95,255,127,  0,  0, 64,237,191, 95,
-255,127,  0,  0,208, 86,186, 30, 32,  0,  0,  0,208,237,191, 95,255,127,  0,  0, 96, 23,133, 22,  1,  0,  0,  0, 45,  0,  0,  0,
-  0,  0,  0,  0,118,  0,  0,  0,  0,  0,  0,  0,176,237,191, 95,255,127,  0,  0, 97, 39, 98,  0,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,208,237,191, 95,255,127,  0,  0, 32,  0,  0,  0, 82, 69, 78, 68, 96, 23,133, 22,  1,  0,  0,  0, 82, 69, 78, 68,
- 32,  0,  0,  0,208,237,191, 95,255,127,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,238,191, 95,255,127,  0,  0,  0,238,191, 95,
-255,127,  0,  0, 52, 46, 98,  0,  1,  0,  0,  0, 48,132,189, 29,  1,  0,  0,  0, 96, 23,133, 22,  1,  0,  0,  0,  1,  0,  0,  0,
-250,  0,  0,  0, 83, 99,101,110,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,144, 73, 76, 30,
-  1,  0,  0,  0, 87, 77,  0,  0, 16,  1,  0,  0,240,211, 72, 30,  1,  0,  0,  0,108,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 87, 77, 87,105,
-110, 77, 97,110,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 64,213, 72, 30,  1,  0,  0,  0, 64,213, 72, 30,
-  1,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,
-  2,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 64,111,128, 22,
-  1,  0,  0,  0, 64,111,128, 22,  1,  0,  0,  0, 64,111,128, 22,  1,  0,  0,  0,240,179,104, 29,  1,  0,  0,  0,240,179,104, 29,
-  1,  0,  0,  0,240,179,104, 29,  1,  0,  0,  0, 68, 65, 84, 65,224,  0,  0,  0, 64,213, 72, 30,  1,  0,  0,  0,109,  1,  0,  0,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16,126,128, 22,  1,  0,  0,  0,  1,  0,  0,  0,
-  0,  0,  0,  0,144, 73, 76, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,115, 99,114,101,101,110,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,  7,128,  4,  0,  0,  0,  0,
-  0,  0,238,  3,  0,  0,  0,  0,  0,  0,  0,  0,192,131,141, 22,  1,  0,  0,  0, 64,183,104, 29,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0, 32,184,104, 29,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,144,180,104, 29,  1,  0,  0,  0, 80,181,104, 29,  1,  0,  0,  0, 16,182,104, 29,  1,  0,  0,  0, 16,182,104, 29,
-  1,  0,  0,  0, 64,183,104, 29,  1,  0,  0,  0,176,225,104, 29,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 83, 78,  0,  0,208,  0,  0,  0, 96,214, 72, 30,  1,  0,  0,  0,194,  0,  0,  0,  1,  0,  0,  0,176,  4, 74, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83, 82, 65,110,
-105,109, 97,116,105,111,110,  0, 46, 48, 48, 49,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 96,135, 71, 30,  1,  0,  0,  0, 80,217, 33, 22,  1,  0,  0,  0, 96,191,142, 22,  1,  0,  0,  0,112,224, 72, 30,
-  1,  0,  0,  0,208,224, 72, 30,  1,  0,  0,  0,144, 60, 72, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 48, 22,204, 29,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0, 96,135, 71, 30,  1,  0,  0,  0,195,  0,  0,  0,
-  1,  0,  0,  0,192,160, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0,192,160, 74, 30,  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0,240,244, 72, 30,
-  1,  0,  0,  0, 96,135, 71, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,214,  2,  0,  0,  0,  0, 68, 65, 84, 65,
- 32,  0,  0,  0,240,244, 72, 30,  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0,176,247, 71, 30,  1,  0,  0,  0,192,160, 74, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,254,  4,214,  2,  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0,176,247, 71, 30,
-  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0,128, 46, 68, 30,  1,  0,  0,  0,240,244, 72, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,254,  4,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0,128, 46, 68, 30,  1,  0,  0,  0,195,  0,  0,  0,
-  1,  0,  0,  0,112,104, 68, 30,  1,  0,  0,  0,176,247, 71, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,187,  2,
-  1,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0,112,104, 68, 30,  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0, 80, 61, 74, 30,
-  1,  0,  0,  0,128, 46, 68, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,254,  4,187,  2,  1,  0,  0,  0, 68, 65, 84, 65,
- 32,  0,  0,  0, 80, 61, 74, 30,  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0,240, 47, 71, 30,  1,  0,  0,  0,112,104, 68, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,  4,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0,240, 47, 71, 30,
-  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0, 32,124, 74, 30,  1,  0,  0,  0, 80, 61, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 32,  4,187,  2,  1,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0, 32,124, 74, 30,  1,  0,  0,  0,195,  0,  0,  0,
-  1,  0,  0,  0,240,173, 74, 30,  1,  0,  0,  0,240, 47, 71, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,  4, 52,  1,
-  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0,240,173, 74, 30,  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0,144, 34, 74, 30,
-  1,  0,  0,  0, 32,124, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,254,  4, 52,  1,  0,  0,  0,  0, 68, 65, 84, 65,
- 32,  0,  0,  0,144, 34, 74, 30,  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0,112,170, 67, 30,  1,  0,  0,  0,240,173, 74, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 84,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0,112,170, 67, 30,
-  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0, 32,203, 67, 30,  1,  0,  0,  0,144, 34, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 32,  4, 84,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0, 32,203, 67, 30,  1,  0,  0,  0,195,  0,  0,  0,
-  1,  0,  0,  0,144,246, 73, 30,  1,  0,  0,  0,112,170, 67, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,192,  1, 84,  0,
-  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0,144,246, 73, 30,  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0,192,252, 73, 30,
-  1,  0,  0,  0, 32,203, 67, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,192,  1,187,  2,  1,  0,  0,  0, 68, 65, 84, 65,
- 32,  0,  0,  0,192,252, 73, 30,  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0,208, 88,141, 22,  1,  0,  0,  0,144,246, 73, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0,208, 88,141, 22,
-  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0,112, 61,141, 22,  1,  0,  0,  0,192,252, 73, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,192,  1,  0,  1,  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0,112, 61,141, 22,  1,  0,  0,  0,195,  0,  0,  0,
-  1,  0,  0,  0, 80,217, 33, 22,  1,  0,  0,  0,208, 88,141, 22,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,  4, 48,  2,
-  0,  0,  0,  0, 68, 65, 84, 65, 32,  0,  0,  0, 80,217, 33, 22,  1,  0,  0,  0,195,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,112, 61,141, 22,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,254,  4, 48,  2,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0, 96,191,142, 22,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,160, 70, 71, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,240,244, 72, 30,  1,  0,  0,  0,192,160, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,160, 70, 71, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,176, 23, 68, 30,  1,  0,  0,  0, 96,191,142, 22,
-  1,  0,  0,  0,128, 46, 68, 30,  1,  0,  0,  0,192,160, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,176, 23, 68, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0, 80,148, 71, 30,  1,  0,  0,  0,160, 70, 71, 30,
-  1,  0,  0,  0,112,104, 68, 30,  1,  0,  0,  0,240,244, 72, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0, 80,148, 71, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,112,215, 72, 30,  1,  0,  0,  0,176, 23, 68, 30,
-  1,  0,  0,  0,128, 46, 68, 30,  1,  0,  0,  0,112,104, 68, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,112,215, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,208,215, 72, 30,  1,  0,  0,  0, 80,148, 71, 30,
-  1,  0,  0,  0, 96,135, 71, 30,  1,  0,  0,  0, 80, 61, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,208,215, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0, 48,216, 72, 30,  1,  0,  0,  0,112,215, 72, 30,
-  1,  0,  0,  0,176,247, 71, 30,  1,  0,  0,  0, 80, 61, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0, 48,216, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,144,216, 72, 30,  1,  0,  0,  0,208,215, 72, 30,
-  1,  0,  0,  0,112,104, 68, 30,  1,  0,  0,  0,240, 47, 71, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,144,216, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,240,216, 72, 30,  1,  0,  0,  0, 48,216, 72, 30,
-  1,  0,  0,  0, 80, 61, 74, 30,  1,  0,  0,  0, 32,124, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,240,216, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0, 80,217, 72, 30,  1,  0,  0,  0,144,216, 72, 30,
-  1,  0,  0,  0,176,247, 71, 30,  1,  0,  0,  0,240,173, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0, 80,217, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,176,217, 72, 30,  1,  0,  0,  0,240,216, 72, 30,
-  1,  0,  0,  0, 32,124, 74, 30,  1,  0,  0,  0,240,173, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,176,217, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0, 16,218, 72, 30,  1,  0,  0,  0, 80,217, 72, 30,
-  1,  0,  0,  0, 96,135, 71, 30,  1,  0,  0,  0,144, 34, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0, 16,218, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,112,218, 72, 30,  1,  0,  0,  0,176,217, 72, 30,
-  1,  0,  0,  0,112,170, 67, 30,  1,  0,  0,  0,240, 47, 71, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,112,218, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,208,218, 72, 30,  1,  0,  0,  0, 16,218, 72, 30,
-  1,  0,  0,  0,112,170, 67, 30,  1,  0,  0,  0, 80, 61, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,208,218, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0, 48,219, 72, 30,  1,  0,  0,  0,112,218, 72, 30,
-  1,  0,  0,  0,112,170, 67, 30,  1,  0,  0,  0,144, 34, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0, 48,219, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,144,219, 72, 30,  1,  0,  0,  0,208,218, 72, 30,
-  1,  0,  0,  0, 32,203, 67, 30,  1,  0,  0,  0,144, 34, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,144,219, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,240,219, 72, 30,  1,  0,  0,  0, 48,219, 72, 30,
-  1,  0,  0,  0,112,170, 67, 30,  1,  0,  0,  0, 32,203, 67, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,240,219, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0, 80,220, 72, 30,  1,  0,  0,  0,144,219, 72, 30,
-  1,  0,  0,  0,128, 46, 68, 30,  1,  0,  0,  0,144,246, 73, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0, 80,220, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,176,220, 72, 30,  1,  0,  0,  0,240,219, 72, 30,
-  1,  0,  0,  0,240, 47, 71, 30,  1,  0,  0,  0,144,246, 73, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,176,220, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0, 16,221, 72, 30,  1,  0,  0,  0, 80,220, 72, 30,
-  1,  0,  0,  0, 32,203, 67, 30,  1,  0,  0,  0,144,246, 73, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0, 16,221, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,112,221, 72, 30,  1,  0,  0,  0,176,220, 72, 30,
-  1,  0,  0,  0,192,252, 73, 30,  1,  0,  0,  0,144, 34, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,112,221, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,208,221, 72, 30,  1,  0,  0,  0, 16,221, 72, 30,
-  1,  0,  0,  0,208, 88,141, 22,  1,  0,  0,  0, 32,203, 67, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,208,221, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0, 48,222, 72, 30,  1,  0,  0,  0,112,221, 72, 30,
-  1,  0,  0,  0,208, 88,141, 22,  1,  0,  0,  0,192,252, 73, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0, 48,222, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,144,222, 72, 30,  1,  0,  0,  0,208,221, 72, 30,
-  1,  0,  0,  0,112, 61,141, 22,  1,  0,  0,  0, 32,124, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,144,222, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,240,222, 72, 30,  1,  0,  0,  0, 48,222, 72, 30,
-  1,  0,  0,  0,112, 61,141, 22,  1,  0,  0,  0,240, 47, 71, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,240,222, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0, 80,223, 72, 30,  1,  0,  0,  0,144,222, 72, 30,
-  1,  0,  0,  0, 80,217, 33, 22,  1,  0,  0,  0,112,104, 68, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0, 80,223, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,176,223, 72, 30,  1,  0,  0,  0,240,222, 72, 30,
-  1,  0,  0,  0, 80,217, 33, 22,  1,  0,  0,  0,240,173, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,176,223, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0, 16,224, 72, 30,  1,  0,  0,  0, 80,223, 72, 30,
-  1,  0,  0,  0, 80,217, 33, 22,  1,  0,  0,  0,112, 61,141, 22,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0, 16,224, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,112,224, 72, 30,  1,  0,  0,  0,176,223, 72, 30,
-  1,  0,  0,  0,128, 46, 68, 30,  1,  0,  0,  0,192,252, 73, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 40,  0,  0,  0,112,224, 72, 30,  1,  0,  0,  0,196,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16,224, 72, 30,
-  1,  0,  0,  0,208, 88,141, 22,  1,  0,  0,  0,144,246, 73, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
-160,  0,  0,  0,208,224, 72, 30,  1,  0,  0,  0,198,  0,  0,  0,  1,  0,  0,  0,112,228, 72, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,128, 46, 68, 30,  1,  0,  0,  0,192,160, 74, 30,  1,  0,  0,  0,240,244, 72, 30,  1,  0,  0,  0,112,104, 68, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,254,  4,  0,  0,188,  2,  0,  0,214,  2,  0,  0,  7,  7,255,  4,
- 27,  0,  1,  0,  0,  0,  0,  0,  7,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 48,  4, 74, 30,  1,  0,  0,  0, 48,  4, 74, 30,
-  1,  0,  0,  0,176,225, 72, 30,  1,  0,  0,  0, 16,227, 72, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,176,225, 72, 30,
-  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0, 16,227, 72, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,224,162, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,224,159, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-254,  4,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,128,237, 68,  0,  0,200, 65,  0,128,237, 68,  0,  0,200, 65,  0,  0,128, 63,
-  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0,255,  4, 26,  0,255,  4, 26,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,254,  4,  0,  0,188,  2,  0,  0,213,  2,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  4, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0, 16,227, 72, 30,  1,  0,  0,  0,199,  0,  0,  0,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,176,225, 72, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,240,109, 69,  0,  0,128,192,
-  0,  0,  0,  0,  0,  0,  0,  0,255,255,109, 69,  0,  0,  0,192,  0,  0,  0,  0,112,  7,  0,  0,129,  7,  0,  0, 18,  0,  0,  0,
-  1,  0,  0,  0,  0,  0,  0,  0,111,  7,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0,111,  7,  0,  0, 18,  0,  0,  0,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 63,  0,  0,  0, 64, 10,  0,  0,  0,
-  1,  0,  7,  0, 18,  0,  0,  4,  6,  0,129,  7,  2,  0,112,  7,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,214,  2,  0,  0,214,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 66, 76, 69, 78, 68, 69, 82, 95,
+118, 50, 53, 50, 82, 69, 78, 68, 32,  0,  0,  0, 16,129,246,191,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,250,  0,  0,  0,
+ 83, 99,101,110,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 71, 76, 79, 66, 16,  1,  0,  0,
+ 16,129,246,191,200,  0,  0,  0,  1,  0,  0,  0, 32, 32, 32, 53,  5,  0,  0,  0,250,  0,  0,  0,  1,  0,  0,  1,232,181,107,  9,
+216,157,110,  9,  0, 16,  0,  0,128,  0,  4,  0, 60,109,101,109,111,114,121, 50, 62,  0,149,182, 40,168, 13,  8,  1,  0,  0,  0,
+244,159,  6,184, 48,168,  6,184,119,215,155,124, 36,130,246,191, 41, 75,  5,184, 20,130,246,191, 40,168, 13,  8,  8,130,246,191,
+212,167,  6,184, 24,  0,  0,  0,104, 82,113,181,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,143,132,246,191,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,130,246,191,  8,130,246,191,  0,  0,  0,  0,  0,  0,  0,  3,
+ 80,130,246,191,120,166,  6,184,185,217, 39,  8,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,
+255,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0, 24,213,103,  9, 64,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0, 32, 25,170,182,  0,  0,  0,  0, 25,  0,  0,  0,228,  3,  0,  0, 25,  0,  0,  0,
+137, 60,249,  8, 40,130,246,191, 66, 19,194,  8,128,133,246,191, 92,  0,  0,  0, 47,  0,  0,  0,120,166,  6,184, 87, 77,  0,  0,
+164,  0,  0,  0,112, 31,106,  9,108,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 87, 77, 87,105,110, 77, 97,110,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 64, 32,106,  9, 64, 32,106,  9, 64, 32,106,  9, 64, 32,106,  9,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  2,  0,  0,  0,  2,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80, 54,111,  9,
+ 80, 54,111,  9, 80, 54,111,  9, 24, 55,111,  9, 24, 55,111,  9, 24, 55,111,  9, 68, 65, 84, 65,148,  0,  0,  0, 64, 32,106,  9,
+109,  1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,136, 55,111,  9,  1,  0,  0,  0,  0,  0,  0,  0,232,181,107,  9,
+  0,  0,  0,  0,115, 99,114,101,101,110,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  4,  0, 28,  0,248,  4,203,  3,  0,  0,  0,  0,  1,  0,238,  3,  0,  0,  1,  0,  0,  0,  0,  0, 24, 18,116,  9,
+  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0,112, 52,116,  9,  0,176, 13, 10,  0,176, 13, 10,144, 29,116,  9,
+152, 30,116,  9,160, 31,116,  9,160, 31,116,  9, 24, 32,116,  9,112, 67,116,  9,  0,  0,  0,  0,  0,  0,  0,  0, 83, 78,  0,  0,
+140,  0,  0,  0,  0, 33,106,  9,194,  0,  0,  0,  1,  0,  0,  0, 32,  9,107,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 83, 82, 65,110,105,109, 97,116,105,111,110,  0, 46, 48, 48, 49,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,184, 33,106,  9,248, 37,106,  9, 56, 38,106,  9, 24, 46,106,  9, 96, 46,106,  9,160,249,106,  9,  0,  0,  0,  0,
+  0,  0,  0,  0,216,157,110,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+ 20,  0,  0,  0,184, 33,106,  9,195,  0,  0,  0,  1,  0,  0,  0,248, 33,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0,248, 33,106,  9,195,  0,  0,  0,  1,  0,  0,  0, 56, 34,106,  9,184, 33,106,  9,
+  0,  0,  0,  0,  0,  0,214,  2,  0,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0, 56, 34,106,  9,195,  0,  0,  0,  1,  0,  0,  0,
+120, 34,106,  9,248, 33,106,  9,  0,  0,  0,  0,254,  4,214,  2,  0,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0,120, 34,106,  9,
+195,  0,  0,  0,  1,  0,  0,  0,184, 34,106,  9, 56, 34,106,  9,  0,  0,  0,  0,254,  4,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+ 20,  0,  0,  0,184, 34,106,  9,195,  0,  0,  0,  1,  0,  0,  0,248, 34,106,  9,120, 34,106,  9,  0,  0,  0,  0,  0,  0,187,  2,
+  1,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0,248, 34,106,  9,195,  0,  0,  0,  1,  0,  0,  0, 56, 35,106,  9,184, 34,106,  9,
+  0,  0,  0,  0,254,  4,187,  2,  1,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0, 56, 35,106,  9,195,  0,  0,  0,  1,  0,  0,  0,
+120, 35,106,  9,248, 34,106,  9,  0,  0,  0,  0, 32,  4,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0,120, 35,106,  9,
+195,  0,  0,  0,  1,  0,  0,  0,184, 35,106,  9, 56, 35,106,  9,  0,  0,  0,  0, 32,  4,187,  2,  1,  0,  0,  0, 68, 65, 84, 65,
+ 20,  0,  0,  0,184, 35,106,  9,195,  0,  0,  0,  1,  0,  0,  0,248, 35,106,  9,120, 35,106,  9,  0,  0,  0,  0, 32,  4, 52,  1,
+  0,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0,248, 35,106,  9,195,  0,  0,  0,  1,  0,  0,  0, 56, 36,106,  9,184, 35,106,  9,
+  0,  0,  0,  0,254,  4, 52,  1,  0,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0, 56, 36,106,  9,195,  0,  0,  0,  1,  0,  0,  0,
+120, 36,106,  9,248, 35,106,  9,  0,  0,  0,  0,  0,  0, 84,  0,  0,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0,120, 36,106,  9,
+195,  0,  0,  0,  1,  0,  0,  0,184, 36,106,  9, 56, 36,106,  9,  0,  0,  0,  0, 32,  4, 84,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+ 20,  0,  0,  0,184, 36,106,  9,195,  0,  0,  0,  1,  0,  0,  0,248, 36,106,  9,120, 36,106,  9,  0,  0,  0,  0,192,  1, 84,  0,
+  0,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0,248, 36,106,  9,195,  0,  0,  0,  1,  0,  0,  0, 56, 37,106,  9,184, 36,106,  9,
+  0,  0,  0,  0,192,  1,187,  2,  1,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0, 56, 37,106,  9,195,  0,  0,  0,  1,  0,  0,  0,
+120, 37,106,  9,248, 36,106,  9,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0,120, 37,106,  9,
+195,  0,  0,  0,  1,  0,  0,  0,184, 37,106,  9, 56, 37,106,  9,  0,  0,  0,  0,192,  1,  0,  1,  0,  0,  0,  0, 68, 65, 84, 65,
+ 20,  0,  0,  0,184, 37,106,  9,195,  0,  0,  0,  1,  0,  0,  0,248, 37,106,  9,120, 37,106,  9,  0,  0,  0,  0, 32,  4, 48,  2,
+  0,  0,  0,  0, 68, 65, 84, 65, 20,  0,  0,  0,248, 37,106,  9,195,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,184, 37,106,  9,
+  0,  0,  0,  0,254,  4, 48,  2,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0, 56, 38,106,  9,196,  0,  0,  0,  1,  0,  0,  0,
+128, 38,106,  9,  0,  0,  0,  0,248, 33,106,  9, 56, 34,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,
+128, 38,106,  9,196,  0,  0,  0,  1,  0,  0,  0,200, 38,106,  9, 56, 38,106,  9,248, 33,106,  9,184, 34,106,  9,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,200, 38,106,  9,196,  0,  0,  0,  1,  0,  0,  0, 16, 39,106,  9,128, 38,106,  9,
+ 56, 34,106,  9,248, 34,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0, 16, 39,106,  9,196,  0,  0,  0,
+  1,  0,  0,  0, 88, 39,106,  9,200, 38,106,  9,184, 34,106,  9,248, 34,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+ 24,  0,  0,  0, 88, 39,106,  9,196,  0,  0,  0,  1,  0,  0,  0,160, 39,106,  9, 16, 39,106,  9,184, 33,106,  9, 56, 35,106,  9,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,160, 39,106,  9,196,  0,  0,  0,  1,  0,  0,  0,232, 39,106,  9,
+ 88, 39,106,  9,120, 34,106,  9, 56, 35,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,232, 39,106,  9,
+196,  0,  0,  0,  1,  0,  0,  0, 48, 40,106,  9,160, 39,106,  9,248, 34,106,  9,120, 35,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65, 24,  0,  0,  0, 48, 40,106,  9,196,  0,  0,  0,  1,  0,  0,  0,120, 40,106,  9,232, 39,106,  9, 56, 35,106,  9,
+184, 35,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,120, 40,106,  9,196,  0,  0,  0,  1,  0,  0,  0,
+192, 40,106,  9, 48, 40,106,  9,120, 34,106,  9,248, 35,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,
+192, 40,106,  9,196,  0,  0,  0,  1,  0,  0,  0,  8, 41,106,  9,120, 40,106,  9,184, 35,106,  9,248, 35,106,  9,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,  8, 41,106,  9,196,  0,  0,  0,  1,  0,  0,  0, 80, 41,106,  9,192, 40,106,  9,
+184, 33,106,  9, 56, 36,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0, 80, 41,106,  9,196,  0,  0,  0,
+  1,  0,  0,  0,152, 41,106,  9,  8, 41,106,  9,120, 35,106,  9,120, 36,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+ 24,  0,  0,  0,152, 41,106,  9,196,  0,  0,  0,  1,  0,  0,  0,224, 41,106,  9, 80, 41,106,  9, 56, 35,106,  9,120, 36,106,  9,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,224, 41,106,  9,196,  0,  0,  0,  1,  0,  0,  0, 40, 42,106,  9,
+152, 41,106,  9, 56, 36,106,  9,120, 36,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0, 40, 42,106,  9,
+196,  0,  0,  0,  1,  0,  0,  0,112, 42,106,  9,224, 41,106,  9, 56, 36,106,  9,184, 36,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65, 24,  0,  0,  0,112, 42,106,  9,196,  0,  0,  0,  1,  0,  0,  0,184, 42,106,  9, 40, 42,106,  9,120, 36,106,  9,
+184, 36,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,184, 42,106,  9,196,  0,  0,  0,  1,  0,  0,  0,
+  0, 43,106,  9,112, 42,106,  9,184, 34,106,  9,248, 36,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,
+  0, 43,106,  9,196,  0,  0,  0,  1,  0,  0,  0, 72, 43,106,  9,184, 42,106,  9,120, 35,106,  9,248, 36,106,  9,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0, 72, 43,106,  9,196,  0,  0,  0,  1,  0,  0,  0,144, 43,106,  9,  0, 43,106,  9,
+184, 36,106,  9,248, 36,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,144, 43,106,  9,196,  0,  0,  0,
+  1,  0,  0,  0,216, 43,106,  9, 72, 43,106,  9, 56, 36,106,  9, 56, 37,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+ 24,  0,  0,  0,216, 43,106,  9,196,  0,  0,  0,  1,  0,  0,  0, 32, 44,106,  9,144, 43,106,  9,184, 36,106,  9,120, 37,106,  9,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0, 32, 44,106,  9,196,  0,  0,  0,  1,  0,  0,  0,104, 44,106,  9,
+216, 43,106,  9, 56, 37,106,  9,120, 37,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,104, 44,106,  9,
+196,  0,  0,  0,  1,  0,  0,  0,176, 44,106,  9, 32, 44,106,  9,184, 35,106,  9,184, 37,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65, 24,  0,  0,  0,176, 44,106,  9,196,  0,  0,  0,  1,  0,  0,  0,248, 44,106,  9,104, 44,106,  9,120, 35,106,  9,
+184, 37,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,248, 44,106,  9,196,  0,  0,  0,  1,  0,  0,  0,
+ 64, 45,106,  9,176, 44,106,  9,248, 34,106,  9,248, 37,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,
+ 64, 45,106,  9,196,  0,  0,  0,  1,  0,  0,  0,136, 45,106,  9,248, 44,106,  9,248, 35,106,  9,248, 37,106,  9,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,136, 45,106,  9,196,  0,  0,  0,  1,  0,  0,  0,208, 45,106,  9, 64, 45,106,  9,
+184, 37,106,  9,248, 37,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 24,  0,  0,  0,208, 45,106,  9,196,  0,  0,  0,
+  1,  0,  0,  0, 24, 46,106,  9,136, 45,106,  9,184, 34,106,  9, 56, 37,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+ 24,  0,  0,  0, 24, 46,106,  9,196,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,208, 45,106,  9,248, 36,106,  9,120, 37,106,  9,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 96,  0,  0,  0, 96, 46,106,  9,198,  0,  0,  0,  1,  0,  0,  0, 48, 49,106,  9,
+  0,  0,  0,  0,184, 34,106,  9,248, 33,106,  9, 56, 34,106,  9,248, 34,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,254,  4,  0,  0,
+188,  2,  0,  0,214,  2,  0,  0,  7,  7,255,  4, 27,  0,  1,  0,  0,  0,  0,  0,  7,  0,  0,  0,  0,  0,  0,  0,192,  8,107,  9,
+192,  8,107,  9,240, 46,106,  9, 16, 48,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+240,  0,  0,  0,240, 46,106,  9,199,  0,  0,  0,  1,  0,  0,  0, 16, 48,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,224,162, 68,
+  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,224,159, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,254,  4,  0,  0,
+  0,  0,  0,  0, 25,  0,  0,  0,  0,128,237, 68,  0,  0,200, 65,  0,128,237, 68,  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,
+  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0,255,  4, 26,  0,255,  4, 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,254,  4,  0,  0,188,  2,  0,  0,213,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,255,  4, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 68, 65, 84, 65,160,  0,  0,  0,112,228, 72, 30,  1,  0,  0,  0,198,  0,  0,  0,  1,  0,  0,  0,208, 66, 69, 30,
-  1,  0,  0,  0,208,224, 72, 30,  1,  0,  0,  0, 80, 61, 74, 30,  1,  0,  0,  0, 32,124, 74, 30,  1,  0,  0,  0,240,173, 74, 30,
-  1,  0,  0,  0,176,247, 71, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 33,  4,  0,  0,254,  4,  0,  0,  0,  0,  0,  0,
- 51,  1,  0,  0,  4,  4,222,  0, 52,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,112, 61, 69, 30,
-  1,  0,  0,  0, 96, 65, 69, 30,  1,  0,  0,  0, 80,229, 72, 30,  1,  0,  0,  0, 16, 35, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 32,  1,  0,  0, 80,229, 72, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0, 16, 35, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,205, 67,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0, 55,  0,  0, 94, 67,  0,  0,  0,  0,
-  0,  0,248, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,221,  0,  0,  0,  0,  0,  0,  0, 30,  0,  0,  0,  0,128,137, 67,  0,  0,200, 65,  0,128,137, 67,
-  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0,222,  0, 31,  0,222,  0,
- 31,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 33,  4,  0,  0,254,  4,  0,  0, 21,  1,  0,  0,
- 51,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,222,  0, 31,  0,  0,  0,  1,  0,  1,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0, 16, 35, 69, 30,
-  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,229, 72, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0, 94, 67,  0, 64, 80,196,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, 77, 67,  1,128,138,195,  0,  0,  0,  0,205,  0,  0,  0,
-222,  0,  0,  0,  0,  0,  0,  0, 20,  1,  0,  0,  0,  0,  0,  0, 62,  1,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0,
-204,  0,  0,  0,  0,  0,  0,  0, 20,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 63,
-  0,  0,  0, 64, 10,  1,  0,  0,  1,  0,  7,  0, 18,  0,  0,  4,  6,  0,222,  0, 21,  1,205,  0, 21,  1,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 33,  4,  0,  0,254,  4,  0,  0,  0,  0,  0,  0, 20,  1,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,222,  0, 21,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,112, 36, 69, 30,
-  1,  0,  0,  0,224, 59, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0,112, 36, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0,  0, 38, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65,240,  0,  0,  0, 16, 48,106,  9,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,240, 46,106,  9,  0,  0,  0,  0,
+  0,240,109, 69,  0,  0,128,192,  0,  0,  0,  0,  0,  0,  0,  0,255,255,109, 69,  0,  0,  0,192,  0,  0,  0,  0,112,  7,  0,  0,
+129,  7,  0,  0, 18,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,111,  7,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0,
+111,  7,  0,  0, 18,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 63,
+  0,  0,  0, 64, 10,  0,  0,  0,  1,  0,  7,  0, 18,  0,  0,  4,  6,  0,129,  7,  2,  0,112,  7,  1,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,214,  2,  0,  0,214,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65, 96,  0,  0,  0, 48, 49,106,  9,198,  0,  0,  0,  1,  0,  0,  0,232, 82,106,  9, 96, 46,106,  9,
+ 56, 35,106,  9,184, 35,106,  9,248, 35,106,  9,120, 34,106,  9,  0,  0,  0,  0, 33,  4,  0,  0,254,  4,  0,  0,  0,  0,  0,  0,
+ 51,  1,  0,  0,  4,  4,222,  0, 52,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 75,106,  9,192, 81,106,  9,
+192, 49,106,  9,224, 50,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,
+192, 49,106,  9,199,  0,  0,  0,  1,  0,  0,  0,224, 50,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,205, 67,  0,  0,  0,  0,
+  0,  0,208, 65,  0,  0,  0, 55,  0,  0, 94, 67,  0,  0,  0,  0,  0,  0,248, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,221,  0,  0,  0,  0,  0,  0,  0,
+ 30,  0,  0,  0,  0,128,137, 67,  0,  0,200, 65,  0,128,137, 67,  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,
+  2,  0,  3,  3,  4,  0, 12,  4, 10,  0,222,  0, 31,  0,222,  0, 31,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 33,  4,  0,  0,254,  4,  0,  0, 21,  1,  0,  0, 51,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+222,  0, 31,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+240,  0,  0,  0,224, 50,106,  9,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,192, 49,106,  9,  0,  0,  0,  0,  0,  0, 94, 67,
+  0, 64, 80,196,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, 77, 67,  1,128,138,195,  0,  0,  0,  0,205,  0,  0,  0,222,  0,  0,  0,
+  0,  0,  0,  0, 20,  1,  0,  0,  0,  0,  0,  0, 62,  1,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0,204,  0,  0,  0,
+  0,  0,  0,  0, 20,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 63,  0,  0,  0, 64,
+ 10,  1,  0,  0,  1,  0,  7,  0, 18,  0,  0,  4,  6,  0,222,  0, 21,  1,205,  0, 21,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 33,  4,  0,  0,254,  4,  0,  0,  0,  0,  0,  0, 20,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,222,  0, 21,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0, 52,106,  9,144, 73,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65, 64,  1,  0,  0,  0, 52,106,  9,197,  0,  0,  0,  1,  0,  0,  0,112, 53,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
@@ -189,89 +142,82 @@ char datatoc_B_blend[]= {
   0,  0,  0,  0,  0,  0,220,255,205,  0, 36,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 88,  1,  0,  0,  0, 38, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,  1,  0,  0,  0,144, 39, 69, 30,  1,  0,  0,  0,112, 36, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115, 99,101,
-110,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115, 99,101,
-110,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83, 99,101,110,101,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,135,255, 63,  1, 61,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0, 12,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,112, 53,106,  9,
+197,  0,  0,  0,  1,  0,  0,  0,224, 54,106,  9,  0, 52,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84,
+ 95,115, 99,101,110,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84,
+ 95,115, 99,101,110,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83, 99,101,110,101,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,135,255, 63,  1, 61,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 12,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0,144, 39, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0, 32, 41, 69, 30,  1,  0,  0,  0,  0, 38, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,224, 54,106,  9,197,  0,  0,  0,  1,  0,  0,  0, 80, 56,106,  9,
+112, 53,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 85,110,105,116,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0, 50,255, 63,  1, 61,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 85,110,105,116,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 50,255, 63,  1, 61,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 88,  1,  0,  0, 32, 41, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,  1,  0,  0,  0,176, 42, 69, 30,  1,  0,  0,  0,144, 39, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,107,101,121,
-105,110,103, 95,115,101,116,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,107,101,121,
-105,110,103, 95,115,101,116,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 75,101,121,105,110,103, 32, 83,101,116,115,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,213,254, 63,  1, 69,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0, 14,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 64,  1,  0,  0, 80, 56,106,  9,197,  0,  0,  0,  1,  0,  0,  0,192, 57,106,  9,224, 54,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
+ 83, 67, 69, 78, 69, 95, 80, 84, 95,107,101,121,105,110,103, 95,115,101,116,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0,176, 42, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0, 64, 44, 69, 30,  1,  0,  0,  0, 32, 41, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 83, 67, 69, 78, 69, 95, 80, 84, 95,107,101,121,105,110,103, 95,115,101,116,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
75,101,121,105,110,103, 32, 83,101,116,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 71,114, 97,118,105,116,121,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,213,254, 63,  1, 69,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 14,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,153,254, 63,  1, 36,  0, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 15,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,192, 57,106,  9,197,  0,  0,  0,
+  1,  0,  0,  0, 48, 59,106,  9, 80, 56,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,
+115,105, 99,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,
+115,105, 99,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 71,114, 97,118,105,116,121,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,153,254, 63,  1, 36,  0, 20,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 88,  1,  0,  0, 64, 44, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,  1,  0,  0,  0,208, 45, 69, 30,  1,  0,  0,  0,176, 42, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,
-110,100,101,114,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,
-110,100,101,114,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82,101,110,100,101,114,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,135,255,205,  0, 61,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0, 48, 59,106,  9,197,  0,  0,  0,  1,  0,  0,  0,160, 60,106,  9,192, 57,106,  9,
+  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0,208, 45, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0, 96, 47, 69, 30,  1,  0,  0,  0, 64, 44, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 82,101,110,100,101,114,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 76, 97,121,101,114,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,135,255,205,  0, 61,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,111,255,205,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,
+160, 60,106,  9,197,  0,  0,  0,  1,  0,  0,  0, 16, 62,106,  9, 48, 59,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 76, 97,121,101,
+114,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,111,255,
+205,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
88,  1,  0,  0, 96, 47, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,  1,  0,  0,  0,240, 48, 69, 30,  1,  0,  0,  0,208, 45, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,
-109,101,110,115,105,111,110,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,
-109,101,110,115,105,111,110,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68,105,109,101,110,115,105,111,110,115,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140,254,205,  0,203,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0, 16, 62,106,  9,197,  0,  0,  0,  1,  0,  0,  0,
+128, 63,106,  9,160, 60,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,
+105,111,110,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,
+105,111,110,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68,105,109,101,110,115,105,111,110,115,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140,254,205,  0,203,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0,240, 48, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0,128, 50, 69, 30,  1,  0,  0,  0, 96, 47, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65, 64,  1,  0,  0,128, 63,106,  9,197,  0,  0,  0,  1,  0,  0,  0,240, 64,106,  9, 16, 62,106,  9,  0,  0,  0,  0,
   0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103,  0,  0,  0,  0,  0,  0,
@@ -281,355 +227,311 @@ char datatoc_B_blend[]= {
   0,  0,  0,  0,  0,  0, 58,254,205,  0, 58,  0, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 88,  1,  0,  0,128, 50, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,  1,  0,  0,  0, 16, 52, 69, 30,  1,  0,  0,  0,240, 48, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104,
- 97,100,105,110,103,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104,
- 97,100,105,110,103,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83,104, 97,100,105,110,103,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,164,253,205,  0,102,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,240, 64,106,  9,
+197,  0,  0,  0,  1,  0,  0,  0, 96, 66,106,  9,128, 63,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,115,104, 97,100,105,110,103,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,115,104, 97,100,105,110,103,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83,104, 97,100,105,110,103,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,164,253,205,  0,102,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0, 16, 52, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0,160, 53, 69, 30,  1,  0,  0,  0,128, 50, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0, 96, 66,106,  9,197,  0,  0,  0,  1,  0,  0,  0,208, 67,106,  9,
+240, 64,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 79,117,116,112,117,116,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0, 35,253,205,  0,105,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  7,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 79,117,116,112,117,116,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 35,253,205,  0,105,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  7,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 88,  1,  0,  0,160, 53, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,  1,  0,  0,  0, 48, 55, 69, 30,  1,  0,  0,  0, 16, 52, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,
-114,102,111,114,109, 97,110, 99,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,
-114,102,111,114,109, 97,110, 99,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,101,114,102,111,114,109, 97,110, 99,101,  0,
+ 64,  1,  0,  0,208, 67,106,  9,197,  0,  0,  0,  1,  0,  0,  0, 64, 69,106,  9, 96, 66,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 11,253,205,  0,  0,  0,  0,  0,  0,  0,
-  4,  0,  0,  0,  0,  0,  0,  0,  8,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 80,101,114,102,111,114,109, 97,110, 99,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0, 48, 55, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0,192, 56, 69, 30,  1,  0,  0,  0,160, 53, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103,  0,  0,  0,
+  0,  0, 11,253,205,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  8,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0, 64, 69,106,  9,197,  0,  0,  0,
+  1,  0,  0,  0,176, 70,106,  9,208, 67,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,
+115,116, 95,112,114,111, 99,101,115,115,105,110,103,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,
+115,116, 95,112,114,111, 99,101,115,115,105,110,103,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,
+105,110,103,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,243,252,205,  0,  0,  0,  0,  0,  0,  0,
+  4,  0,  0,  0,  0,  0,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,243,252,205,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  9,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,176, 70,106,  9,197,  0,  0,  0,  1,  0,  0,  0, 32, 72,106,  9, 64, 69,106,  9,
+  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 88,  1,  0,  0,192, 56, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,  1,  0,  0,  0, 80, 58, 69, 30,  1,  0,  0,  0, 48, 55, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116,
- 97,109,112,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116,
- 97,109,112,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 83,116, 97,109,112,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,219,252,205,  0,  0,  0, 20,  0,  0,  0,
-  4,  0,  0,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 83,116, 97,109,112,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,219,252,205,  0,  0,  0, 20,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0, 10,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0, 80, 58, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0,224, 59, 69, 30,  1,  0,  0,  0,192, 56, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,
+ 32, 72,106,  9,197,  0,  0,  0,  1,  0,  0,  0,144, 73,106,  9,176, 70,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 70,117,108,108,
+ 32, 83, 97,109,112,108,101, 32, 77,111,116,105,111,110, 32, 66,108,117,114,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 34,254,
+205,  0,  0,  0, 20,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 70,117,108,108, 32, 83, 97,109,112,108,101, 32, 77,111,116,105,111,110, 32, 66,108,117,114,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0, 34,254,205,  0,  0,  0, 20,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,144, 73,106,  9,197,  0,  0,  0,  1,  0,  0,  0,
+  0,  0,  0,  0, 32, 72,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 88,  1,  0,  0,224, 59, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80, 58, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,
-107,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,
-107,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 66, 97,107,101,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 66, 97,107,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,195,252,205,  0,  0,  0,  0,  0,  0,  0,
-  4,  0,  0,  0,  0,  0,  0,  0, 11,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,195,252,205,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,
+  0,  0,  0,  0, 11,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,248,  0,  0,  0,112, 61, 69, 30,  1,  0,  0,  0,165,  0,  0,  0,
-  1,  0,  0,  0, 96, 65, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65,216,  0,  0,  0,  0, 75,106,  9,165,  0,  0,  0,  1,  0,  0,  0,192, 81,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  1,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, 21,  0,  0,160,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 32,  1,  0,  0,160, 62, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,  0, 64, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 69, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,138, 67,  0,  0,  0,  0,
-  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0, 19,  1,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,128,237, 68,  0,  0,200, 65,  0,128,237, 68,
-  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0, 20,  1, 26,  0, 20,  1,
- 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 89,  6,  0,  0,108,  7,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+255, 21,  0,  0,160,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,  8, 76,106,  9,199,  0,  0,  0,  1,  0,  0,  0,
+ 40, 77,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 69, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,138, 67,
+  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 19,  1,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,128,237, 68,  0,  0,200, 65,
+  0,128,237, 68,  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0, 20,  1,
+ 26,  0, 20,  1, 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 89,  6,  0,  0,108,  7,  0,  0,  0,  0,  0,  0,
  25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,  1, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0, 40, 77,106,  9,199,  0,  0,  0,
+  1,  0,  0,  0,  0,  0,  0,  0,  8, 76,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,  0, 64, 69, 30,
-  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,160, 62, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 89,  6,  0,  0,108,  7,  0,  0, 26,  0,  0,  0, 80,  4,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,  1, 55,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 48, 28,184, 29,  1,  0,  0,  0, 68, 65, 84, 65,104,  3,  0,  0, 48, 28,184, 29,  1,  0,  0,  0,159,  0,  0,  0,
-  1,  0,  0,  0,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,128,  0,  0,  0,128,226,215,163,188,
-  0,  0,  0,128,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,193,
-  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,
-  0,  0,128, 63,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,184,175, 31, 65,
-  0,  0, 32, 65,237,122,111, 62,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,161, 14,106, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,209,252,249,195,115,253, 71,194,  0,  0,  0,  0,  0,  0,  0,  0, 98,127,249, 67,
-129,255, 71, 66,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,193,
-  0,  0,128, 63,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,184,175, 31, 65,
-  0,  0, 32, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,100, 32,222, 58,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  1,  0,  7,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 89,  6,  0,  0,108,  7,  0,  0,
+ 26,  0,  0,  0, 80,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,  1, 55,  4,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 72, 78,106,  9, 68, 65, 84, 65, 72,  3,  0,  0, 72, 78,106,  9,
+159,  0,  0,  0,  1,  0,  0,  0,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,128,  0,  0,  0,128,
+226,215,163,188,  0,  0,  0,128,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0, 32,193,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0, 32, 65,  0,  0,128, 63,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,
+184,175, 31, 65,  0,  0, 32, 65,237,122,111, 62,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,161, 14,106, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,209,252,249,195,115,253, 71,194,  0,  0,  0,  0,  0,  0,  0,  0,
+ 98,127,249, 67,129,255, 71, 66,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0, 32,193,  0,  0,128, 63,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,
+184,175, 31, 65,  0,  0, 32, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,100, 32,222, 58,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  1,  0,  7,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 48,  1,  0,  0, 96, 65, 69, 30,  1,  0,  0,  0,160,  0,  0,  0,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,112, 61, 69, 30,  1,  0,  0,  0,160, 62, 69, 30,  1,  0,  0,  0,  0, 64, 69, 30,
-  1,  0,  0,  0,  1,  0,  0,  0, 51, 51, 51, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  7,  0, 48, 44,204, 29,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  2,  0,  0,  0,  1,  0,  0,  0,  0,  0,  8,  0,
-  0,  0,  0,  0,  0,  0, 12, 66,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0, 10,215, 35, 60,  0,  0,250, 67,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16,  0,  0,  0,  7,  0, 10,  0,159,  0,  0,  0,
-  1,  0,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,160,  0,  0,  0,208, 66, 69, 30,
-  1,  0,  0,  0,198,  0,  0,  0,  1,  0,  0,  0,160, 75, 69, 30,  1,  0,  0,  0,112,228, 72, 30,  1,  0,  0,  0, 96,135, 71, 30,
-  1,  0,  0,  0,144, 34, 74, 30,  1,  0,  0,  0,112,170, 67, 30,  1,  0,  0,  0, 80, 61, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0, 31,  4,  0,  0,  0,  0,  0,  0, 83,  0,  0,  0, 15, 15, 32,  4, 84,  0,  1,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,112, 70, 69, 30,  1,  0,  0,  0, 48, 74, 69, 30,  1,  0,  0,  0,176, 67, 69, 30,
-  1,  0,  0,  0, 16, 69, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,176, 67, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,
-  1,  0,  0,  0, 16, 69, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,140, 68,  0,  0,  0,  0,
-  0,  0,208, 65,  0,  0,  0,  0,  0,  0,132, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 31,  4,  0,  0,  0,  0,  0,  0,
- 25,  0,  0,  0,  0,224,202, 68,  0,  0,200, 65,  0,224,202, 68,  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,
-  2,  0,  3,  3,  4,  0, 12,  4, 10,  0, 32,  4, 26,  0, 32,  4, 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0, 31,  4,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 32,  4, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,248,  0,  0,  0,192, 81,106,  9,160,  0,  0,  0,
+  1,  0,  0,  0,  0,  0,  0,  0,  0, 75,106,  9,  8, 76,106,  9, 40, 77,106,  9,  1,  0,  0,  0, 51, 51, 51, 63,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,
+  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  7,  0,  8,182,110,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0, 16, 69, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,176, 67, 69, 30,  1,  0,  0,  0,  0,  0, 64,192,  0,  0,126, 67,  0,  0,  0,  0,  0,  0, 72, 66,112,189, 17,192,
-246, 70,125, 67,  0,  0,  0,  0,  0,  0, 72, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
- 31,  4,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0, 31,  4,  0,  0, 18,  0,  0,  0, 57,  0,  0,  0,  0,  0,128, 63,
-  0,  0, 72, 66,  0,124,146, 72,  0,  0, 72, 66,205,204,204, 61,  0,  0, 32, 65, 72,  0,  0,  0,  0,  0,  0,  2,  4,  0,  0,  4,
-  8,  0, 32,  4, 58,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  2,  0,  0,  0,  1,  0,  0,  0,  0,  0,  8,  0,  0,  0,  0,  0,  0,  0, 12, 66,
+  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0, 10,215, 35, 60,  0,  0,250, 67,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16,  0,  0,  0,  7,  0, 10,  0,159,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
+ 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+ 96,  0,  0,  0,232, 82,106,  9,198,  0,  0,  0,  1,  0,  0,  0,112, 93,106,  9, 48, 49,106,  9,184, 33,106,  9, 56, 36,106,  9,
+120, 36,106,  9, 56, 35,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 31,  4,  0,  0,  0,  0,  0,  0, 83,  0,  0,  0, 15, 15, 32,  4,
+ 84,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,184, 85,106,  9, 72, 92,106,  9,120, 83,106,  9,152, 84,106,  9,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,120, 83,106,  9,199,  0,  0,  0,
+  1,  0,  0,  0,152, 84,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,140, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,
+  0,  0,132, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 31,  4,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,224,202, 68,
+  0,  0,200, 65,  0,224,202, 68,  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4,
+ 10,  0, 32,  4, 26,  0, 32,  4, 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 31,  4,  0,  0,
+  0,  0,  0,  0, 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,  4, 26,  0,  0,  0,  1,  0,
+  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,152, 84,106,  9,
+199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,120, 83,106,  9,  0,  0, 64,192,  0,  0,126, 67,  0,  0,  0,  0,  0,  0, 72, 66,
+112,189, 17,192,246, 70,125, 67,  0,  0,  0,  0,  0,  0, 72, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 31,  4,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0, 31,  4,  0,  0, 18,  0,  0,  0, 57,  0,  0,  0,
+  0,  0,128, 63,  0,  0, 72, 66,  0,124,146, 72,  0,  0, 72, 66,205,204,204, 61,  0,  0, 32, 65, 72,  0,  0,  0,  0,  0,  0,  2,
+  4,  0,  0,  4,  8,  0, 32,  4, 58,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  31,  4,  0,  0, 26,  0,  0,  0, 83,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,  4, 58,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
-192,  0,  0,  0,112, 70, 69, 30,  1,  0,  0,  0,175,  0,  0,  0,  1,  0,  0,  0, 48, 74, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,172,  0,  0,  0,
+184, 85,106,  9,175,  0,  0,  0,  1,  0,  0,  0, 72, 92,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 15,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  6,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,112, 71, 69, 30,
-  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,208, 72, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0, 69, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,203, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
- 87,  6,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,128,237, 68,  0,  0,200, 65,  0,128,237, 68,  0,  0,200, 65,  0,  0,128, 63,
-  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0, 88,  6, 26,  0, 88,  6, 26,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 87,  6,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 88,  6, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,208, 72, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,112, 71, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  6,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,
+144, 86,106,  9,199,  0,  0,  0,  1,  0,  0,  0,176, 87,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 69, 68,  0,  0,  0,  0,
+  0,  0,208, 65,  0,  0,  0,  0,  0,  0,203, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 87,  6,  0,  0,  0,  0,  0,  0,
+ 25,  0,  0,  0,  0,128,237, 68,  0,  0,200, 65,  0,128,237, 68,  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,
+  2,  0,  3,  3,  4,  0, 12,  4, 10,  0, 88,  6, 26,  0, 88,  6, 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 87,  6,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 88,  6, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+240,  0,  0,  0,176, 87,106,  9,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,144, 86,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0, 87,  6,  0,  0, 26,  0,  0,  0, 55,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0, 88,  6, 30,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,208, 88,106,  9,
+ 68, 65, 84, 65, 72,  3,  0,  0,208, 88,106,  9,159,  0,  0,  0,  1,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 87,213,108, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,
+  0,  0,128,191,  0,  0,  0,128,  0,  0,  0,128,226,215,163,188,  0,  0,  0,128,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,193,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,128, 63,  0,  0,140, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 87,213,108, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,
+  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,184,175, 31, 65,  0,  0, 32, 65,161, 14,106, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,224, 91,138, 60,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,209,252,249,195,
+115,253, 71,194,  0,  0,  0,  0,  0,  0,  0,  0, 98,127,249, 67,129,255, 71, 66,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,193,  0,  0,128, 63,  0,  0,140, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 87,213,108, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,
+  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,184,175, 31, 65,  0,  0, 32, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 48, 32,184, 29,
-  1,  0,  0,  0, 68, 65, 84, 65,104,  3,  0,  0, 48, 32,184, 29,  1,  0,  0,  0,159,  0,  0,  0,  1,  0,  0,  0,  0,  0,140, 63,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 87,213,108, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,128,  0,  0,  0,128,226,215,163,188,  0,  0,  0,128,  0,  0,128, 63,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,193,  0,  0,128, 63,  0,  0,128, 63,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,128, 63,  0,  0,140, 63,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 87,213,108, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,184,175, 31, 65,  0,  0, 32, 65,161, 14,106, 63,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,224, 91,138, 60,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,209,252,249,195,115,253, 71,194,  0,  0,  0,  0,  0,  0,  0,  0, 98,127,249, 67,129,255, 71, 66,  0,  0,128, 63,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,193,  0,  0,128, 63,  0,  0,140, 63,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 87,213,108, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,184,175, 31, 65,  0,  0, 32, 65,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 52,149,147, 58,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  7,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 52,149,147, 58,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  7,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 68, 65, 84, 65, 48,  1,  0,  0, 48, 74, 69, 30,  1,  0,  0,  0,160,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,112, 70, 69, 30,  1,  0,  0,  0,112, 71, 69, 30,  1,  0,  0,  0,208, 72, 69, 30,  1,  0,  0,  0,  1,  0,  0,  0,
- 51, 51, 51, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  7,  0, 48, 44,204, 29,  1,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  2,  0,  0,  0,  1,  0,  0,  0,  0,  0,  8,  0,  0,  0,  0,  0,  0,  0, 12, 66,
-  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0, 10,215, 35, 60,  0,  0,250, 67,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16,  0,  0,  0,  7,  0, 10,  0,159,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
- 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,160,  0,  0,  0,160, 75, 69, 30,  1,  0,  0,  0,198,  0,  0,  0,
-  1,  0,  0,  0, 80, 91, 69, 30,  1,  0,  0,  0,208, 66, 69, 30,  1,  0,  0,  0, 32,124, 74, 30,  1,  0,  0,  0,112, 61,141, 22,
-  1,  0,  0,  0, 80,217, 33, 22,  1,  0,  0,  0,240,173, 74, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 33,  4,  0,  0,
-254,  4,  0,  0, 53,  1,  0,  0, 47,  2,  0,  0,  3,  3,222,  0,251,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 64, 79, 69, 30,  1,  0,  0,  0,224, 89, 69, 30,  1,  0,  0,  0,128, 76, 69, 30,  1,  0,  0,  0,224, 77, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,128, 76, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,224, 77, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,163, 67,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,
-  0,  0, 94, 67,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,221,  0,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,  0, 66, 67,
-  0,  0,200, 65,  0,  0, 66, 67,  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4,
- 10,  0,222,  0, 26,  0,222,  0, 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 33,  4,  0,  0,
-254,  4,  0,  0, 22,  2,  0,  0, 47,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,222,  0, 26,  0,
-  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 32,  1,  0,  0,224, 77, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 76, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,128,131, 67,  0,  0,228,194,  0,  0,  0,  0,  0,  0,100, 66,  0,  0,131, 67,  0,  0, 79,195,
-  0,  0,  0,  0,205,  0,  0,  0,222,  0,  0,  0, 18,  0,  0,  0,224,  0,  0,  0,  0,  0,  0,  0,204,  0,  0,  0,  0,  0,  0,  0,
- 17,  0,  0,  0,  0,  0,  0,  0,204,  0,  0,  0, 18,  0,  0,  0,224,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,128, 63,  0,  0,128, 63, 18,  2,  0,  0,  2,  0,  3,  3,  0,  0,  0,  4,  6,  0,222,  0,225,  0,205,  0,
-207,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 33,  4,  0,  0,254,  4,  0,  0, 53,  1,  0,  0,
- 21,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,222,  0,225,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+248,  0,  0,  0, 72, 92,106,  9,160,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,184, 85,106,  9,144, 86,106,  9,176, 87,106,  9,
+  1,  0,  0,  0, 51, 51, 51, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  7,  0,  8,182,110,  9,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  2,  0,  0,  0,  1,  0,  0,  0,
+  0,  0,  8,  0,  0,  0,  0,  0,  0,  0, 12, 66,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0, 10,215, 35, 60,  0,  0,250, 67,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16,  0,  0,  0,  7,  0, 10,  0,
+159,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 96,  0,  0,  0,112, 93,106,  9,198,  0,  0,  0,  1,  0,  0,  0,144,108,106,  9,
+232, 82,106,  9,184, 35,106,  9,184, 37,106,  9,248, 37,106,  9,248, 35,106,  9,  0,  0,  0,  0, 33,  4,  0,  0,254,  4,  0,  0,
+ 53,  1,  0,  0, 47,  2,  0,  0,  3,  3,222,  0,251,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 64, 96,106,  9,
+104,107,106,  9,  0, 94,106,  9, 32, 95,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+240,  0,  0,  0,  0, 94,106,  9,199,  0,  0,  0,  1,  0,  0,  0, 32, 95,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,163, 67,
+  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0, 94, 67,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,221,  0,  0,  0,
+  0,  0,  0,  0, 25,  0,  0,  0,  0,  0, 66, 67,  0,  0,200, 65,  0,  0, 66, 67,  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,
+  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0,222,  0, 26,  0,222,  0, 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 33,  4,  0,  0,254,  4,  0,  0, 22,  2,  0,  0, 47,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,222,  0, 26,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0, 64, 79, 69, 30,
-  1,  0,  0,  0,169,  0,  0,  0,  1,  0,  0,  0,176, 81, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65,240,  0,  0,  0, 32, 95,106,  9,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0, 94,106,  9,  0,  0,  0,  0,
+  0,128,131, 67,  0,  0,228,194,  0,  0,  0,  0,  0,  0,100, 66,  0,  0,131, 67,  0,  0, 79,195,  0,  0,  0,  0,205,  0,  0,  0,
+222,  0,  0,  0, 18,  0,  0,  0,224,  0,  0,  0,  0,  0,  0,  0,204,  0,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0,
+204,  0,  0,  0, 18,  0,  0,  0,224,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
+  0,  0,128, 63, 18,  2,  0,  0,  2,  0,  3,  3,  0,  0,  0,  4,  6,  0,222,  0,225,  0,205,  0,207,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 33,  4,  0,  0,254,  4,  0,  0, 53,  1,  0,  0, 21,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,222,  0,225,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65,252,  0,  0,  0, 64, 96,106,  9,169,  0,  0,  0,  1,  0,  0,  0,168,100,106,  9,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,144,220, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0, 68, 65, 84, 65, 16,  0,  0,  0,144,220, 69, 30,  1,  0,  0,  0,222,  0,  0,  0,
-  1,  0,  0,  0, 13,  0,  0,  0, 13,  0,  0,  0,160, 80, 69, 30,  1,  0,  0,  0, 68, 65, 84, 65,208,  0,  0,  0,160, 80, 69, 30,
-  1,  0,  0,  0,221,  0,  0,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, 48, 22,204, 29,  1,  0,  0,  0, 19,  0,  0,  0,
-  1,  0,  1,  0, 48, 22,204, 29,  1,  0,  0,  0, 20,  0,  0,  0,  1,  0,  1,  0, 48, 22,204, 29,  1,  0,  0,  0, 21,  0,  1,  0,
-  1,  0,  1,  0, 48, 22,204, 29,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0, 48, 34,204, 29,  1,  0,  0,  0,  0,  0,  0,  0,
-  1,  0,  1,  0, 48, 50,204, 29,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,160,207, 78, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  1,  0,  1,  0, 48, 62,204, 29,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,160,205, 78, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  1,  0,  1,  0, 48, 56,204, 29,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0, 48, 30,204, 29,  1,  0,  0,  0,  0,  0,  0,  0,
-  1,  0,  1,  0, 48, 44,204, 29,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,240,199, 78, 30,  1,  0,  0,  0, 68, 65, 84, 65,
- 32,  1,  0,  0, 96, 84, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,192, 85, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,240, 67,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0, 55,  0,  0, 67, 67,  0,  0,  0,  0,
-  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,194,  0,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,128,137, 67,  0,  0,200, 65,  0,128,137, 67,
-  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0,195,  0, 26,  0,195,  0,
- 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 53,  4,  0,  0,247,  4,  0,  0, 69,  2,  0,  0,
- 94,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,195,  0, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,104, 97,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0, 68, 65, 84, 65, 12,  0,  0,  0,104, 97,106,  9,
+222,  0,  0,  0,  1,  0,  0,  0, 13,  0,  0,  0, 13,  0,  0,  0,160, 97,106,  9, 68, 65, 84, 65,156,  0,  0,  0,160, 97,106,  9,
+221,  0,  0,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,216,157,110,  9, 19,  0,  0,  0,  1,  0,  1,  0,216,157,110,  9,
+ 20,  0,  0,  0,  1,  0,  1,  0,216,157,110,  9, 21,  0,  1,  0,  1,  0,  1,  0,216,157,110,  9,  0,  0,  0,  0,  1,  0,  1,  0,
+240,174,110,  9,  0,  0,  0,  0,  1,  0,  1,  0, 16,186,110,  9,  0,  0,  0,  0,  1,  0,  1,  0,128,232,110,  9,  0,  0,  0,  0,
+  1,  0,  1,  0, 32,194,110,  9,  0,  0,  0,  0,  1,  0,  1,  0,168,214,110,  9,  0,  0,  0,  0,  1,  0,  1,  0, 24,190,110,  9,
+  0,  0,  0,  0,  1,  0,  1,  0, 96,171,110,  9,  0,  0,  0,  0,  1,  0,  1,  0,  8,182,110,  9,  0,  0,  0,  0,  1,  0,  1,  0,
+184,170,110,  9, 68, 65, 84, 65,240,  0,  0,  0,104, 98,106,  9,199,  0,  0,  0,  1,  0,  0,  0,136, 99,106,  9,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,240, 67,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0, 55,  0,  0, 67, 67,  0,  0,  0,  0,  0,  0,208, 65,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,192, 85, 69, 30,
-  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 96, 84, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,150, 67,  0,192,116,196,  0,  0,  0,  0,  0,  0,  0,  0,205, 85,150, 67,223,204, 35,196, 26, 85,207,195,  0,  0,  0,  0,
+  0,  0,  0,  0,194,  0,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,128,137, 67,  0,  0,200, 65,  0,128,137, 67,  0,  0,200, 65,
+  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0,195,  0, 26,  0,195,  0, 26,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 53,  4,  0,  0,247,  4,  0,  0, 69,  2,  0,  0, 94,  2,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,195,  0, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-194,  0,  0,  0,  0,  0,  0,  0,155,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 63,
-  0,  0,  0, 64,  0,  0,  0,  0,  1,  0,  3,  0,  2,  0,  0,  4,  6,  0,195,  0,156,  0,195,  0,156,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 53,  4,  0,  0,247,  4,  0,  0, 95,  2,  0,  0,250,  2,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,195,  0,156,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,136, 99,106,  9,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
+104, 98,106,  9,  0,  0,  0,  0,  0,  0,150, 67,  0,192,116,196,  0,  0,  0,  0,  0,  0,  0,  0,205, 85,150, 67,223,204, 35,196,
+ 26, 85,207,195,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,194,  0,  0,  0,  0,  0,  0,  0,155,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0, 63,  0,  0,  0, 64,  0,  0,  0,  0,  1,  0,  3,  0,  2,  0,  0,  4,  6,  0,195,  0,156,  0,195,  0,
+156,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 53,  4,  0,  0,247,  4,  0,  0, 95,  2,  0,  0,250,  2,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,195,  0,156,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,216,  0,  0,  0,168,100,106,  9,165,  0,  0,  0,  1,  0,  0,  0,
+104,107,106,  9, 64, 96,106,  9,104, 98,106,  9,136, 99,106,  9,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,248,  0,  0,  0,176, 81, 69, 30,  1,  0,  0,  0,165,  0,  0,  0,
-  1,  0,  0,  0,224, 89, 69, 30,  1,  0,  0,  0, 64, 79, 69, 30,  1,  0,  0,  0, 96, 84, 69, 30,  1,  0,  0,  0,192, 85, 69, 30,
-  1,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,
+  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,
+176,101,106,  9,199,  0,  0,  0,  1,  0,  0,  0,208,102,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 69, 68,  0,  0,  0,  0,
+  0,  0,208, 65,  0,  0,  0,  0,  0,  0,138, 67,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 19,  1,  0,  0,  0,  0,  0,  0,
+ 25,  0,  0,  0,  0,128,237, 68,  0,  0,200, 65,  0,128,237, 68,  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,
+  2,  0,  3,  3,  4,  0, 12,  4, 10,  0, 20,  1, 26,  0, 20,  1, 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 89,  6,  0,  0,108,  7,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 20,  1, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 32,  1,  0,  0, 32, 87, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,128, 88, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 69, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,138, 67,  0,  0,  0,  0,
-  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0, 19,  1,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,128,237, 68,  0,  0,200, 65,  0,128,237, 68,
-  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0, 20,  1, 26,  0, 20,  1,
- 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 89,  6,  0,  0,108,  7,  0,  0,  0,  0,  0,  0,
- 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,  1, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,
+240,  0,  0,  0,208,102,106,  9,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,176,101,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,128, 88, 69, 30,
-  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 87, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 89,  6,  0,  0,108,  7,  0,  0, 26,  0,  0,  0, 80,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 20,  1, 55,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,240,103,106,  9,
+ 68, 65, 84, 65, 72,  3,  0,  0,240,103,106,  9,159,  0,  0,  0,  1,  0,  0,  0,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,
+  0,  0,128,191,  0,  0,  0,128,  0,  0,  0,128,226,215,163,188,  0,  0,  0,128,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,193,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,128, 63,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,
+  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,184,175, 31, 65,  0,  0, 32, 65,237,122,111, 62,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,161, 14,106, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,209,252,249,195,
+115,253, 71,194,  0,  0,  0,  0,  0,  0,  0,  0, 98,127,249, 67,129,255, 71, 66,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,193,  0,  0,128, 63,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,
+  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,184,175, 31, 65,  0,  0, 32, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 89,  6,  0,  0,108,  7,  0,  0, 26,  0,  0,  0, 80,  4,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,  1, 55,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 48, 36,184, 29,  1,  0,  0,  0, 68, 65, 84, 65,104,  3,  0,  0, 48, 36,184, 29,  1,  0,  0,  0,159,  0,  0,  0,
-  1,  0,  0,  0,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,128,  0,  0,  0,128,226,215,163,188,
-  0,  0,  0,128,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,193,
-  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,
-  0,  0,128, 63,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,184,175, 31, 65,
-  0,  0, 32, 65,237,122,111, 62,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,161, 14,106, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,209,252,249,195,115,253, 71,194,  0,  0,  0,  0,  0,  0,  0,  0, 98,127,249, 67,
-129,255, 71, 66,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,193,
-  0,  0,128, 63,103,212,136, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80,  1,128,191,  0,  0,128,191,  0,  0,  0,  0,  0,  0,  0,  0,184,175, 31, 65,
-  0,  0, 32, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,100, 32,222, 58,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  1,  0,  7,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,100, 32,222, 58,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  7,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
@@ -637,121 +539,106 @@ char datatoc_B_blend[]= {
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 48,  1,  0,  0,224, 89, 69, 30,  1,  0,  0,  0,160,  0,  0,  0,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,176, 81, 69, 30,  1,  0,  0,  0, 32, 87, 69, 30,  1,  0,  0,  0,128, 88, 69, 30,
-  1,  0,  0,  0,  1,  0,  0,  0, 51, 51, 51, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  7,  0, 48, 44,204, 29,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+248,  0,  0,  0,104,107,106,  9,160,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,168,100,106,  9,176,101,106,  9,208,102,106,  9,
+  1,  0,  0,  0, 51, 51, 51, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  7,  0,  8,182,110,  9,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  2,  0,  0,  0,  1,  0,  0,  0,  0,  0,  8,  0,
-  0,  0,  0,  0,  0,  0, 12, 66,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0, 10,215, 35, 60,  0,  0,250, 67,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16,  0,  0,  0,  7,  0, 10,  0,159,  0,  0,  0,
-  1,  0,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,160,  0,  0,  0, 80, 91, 69, 30,
-  1,  0,  0,  0,198,  0,  0,  0,  1,  0,  0,  0, 48,115, 69, 30,  1,  0,  0,  0,160, 75, 69, 30,  1,  0,  0,  0, 32,203, 67, 30,
-  1,  0,  0,  0,144,246, 73, 30,  1,  0,  0,  0,240, 47, 71, 30,  1,  0,  0,  0,112,170, 67, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,193,  1,  0,  0, 31,  4,  0,  0, 85,  0,  0,  0,186,  2,  0,  0,  1,  1, 95,  2,102,  2,  1,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,110, 69, 30,  1,  0,  0,  0, 48,114, 69, 30,  1,  0,  0,  0, 48, 92, 69, 30,
-  1,  0,  0,  0,160,108, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0, 48, 92, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,
-  1,  0,  0,  0,144, 93, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,117, 68,  0,  0,  0,  0,
-  0,  0,208, 65,  0,  0,  0,  0,  0,192, 23, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 94,  2,  0,  0,  0,  0,  0,  0,
- 25,  0,  0,  0,  0,128,237, 68,  0,  0,200, 65,  0,128,237, 68,  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,
-  2,  0,  3,  3,  4,  0, 12,  4, 10,  0, 95,  2, 26,  0, 95,  2, 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  2,  0,  0,  0,  1,  0,  0,  0,
+  0,  0,  8,  0,  0,  0,  0,  0,  0,  0, 12, 66,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0, 10,215, 35, 60,  0,  0,250, 67,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16,  0,  0,  0,  7,  0, 10,  0,
+159,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 96,  0,  0,  0,144,108,106,  9,198,  0,  0,  0,  1,  0,  0,  0,136,132,106,  9,
+112, 93,106,  9,184, 36,106,  9,248, 36,106,  9,120, 35,106,  9,120, 36,106,  9,  0,  0,  0,  0,193,  1,  0,  0, 31,  4,  0,  0,
+ 85,  0,  0,  0,186,  2,  0,  0,  1,  1, 95,  2,102,  2,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 72,128,106,  9,
+176,131,106,  9, 32,109,106,  9,176,123,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
+240,  0,  0,  0, 32,109,106,  9,199,  0,  0,  0,  1,  0,  0,  0, 64,110,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,117, 68,
+  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,192, 23, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 94,  2,  0,  0,
+  0,  0,  0,  0, 25,  0,  0,  0,  0,128,237, 68,  0,  0,200, 65,  0,128,237, 68,  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,
+  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0, 95,  2, 26,  0, 95,  2, 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,193,  1,  0,  0, 31,  4,  0,  0, 85,  0,  0,  0,110,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0, 95,  2, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65,240,  0,  0,  0, 64,110,106,  9,199,  0,  0,  0,  1,  0,  0,  0, 96,111,106,  9, 32,109,106,  9,  0,  0,  0,  0,
+  0,  0, 15, 67,  0, 64, 70,196,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 15, 67,255,127, 70,196,  0,  0,  0,  0,143,  0,  0,  0,
+160,  0,  0,  0, 18,  0,  0,  0, 43,  3,  0,  0,  0,  0,  0,  0,142,  0,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0,
+142,  0,  0,  0, 18,  0,  0,  0, 43,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 63,
+  0,  0,  0, 64, 10,  0,  0,  0,  1,  0,  7,  0, 18,  0,  0,  0,  6,  0,160,  0, 44,  3,143,  0, 26,  3,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,193,  1,  0,  0,193,  1,  0,  0,111,  0,  0,  0,186,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, 76,  2,  0,  0,  5,  0,  3,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0, 96,111,106,  9,199,  0,  0,  0,  1,  0,  0,  0,128,112,106,  9, 64,110,106,  9,
+  0,  0,  0,  0,  0,  0, 16, 67,  0,  0,206,194,  0,  0,  0,  0,  0,  0,  0,  0,231,102, 16, 67,  0,  0,206,194,  0,  0,  0,  0,
+143,  0,  0,  0,160,  0,  0,  0, 18,  0,  0,  0,119,  0,  0,  0,  0,  0,  0,  0,142,  0,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,
+  0,  0,  0,  0,142,  0,  0,  0, 18,  0,  0,  0,119,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0, 63,  0,  0,  0, 64, 10,  0,  0,  0,  1,  0,  7,  0, 18,  0,  0,  4,  6,  0,160,  0,120,  0,143,  0,102,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,193,  1,  0,  0, 31,  4,  0,  0,111,  0,  0,  0,111,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  6,  0, 34,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,144, 93, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,240, 94, 69, 30,
-  1,  0,  0,  0, 48, 92, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, 15, 67,  0, 64, 70,196,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0, 15, 67,255,127, 70,196,  0,  0,  0,  0,143,  0,  0,  0,160,  0,  0,  0, 18,  0,  0,  0, 43,  3,  0,  0,  0,  0,  0,  0,
-142,  0,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0,142,  0,  0,  0, 18,  0,  0,  0, 43,  3,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 63,  0,  0,  0, 64, 10,  0,  0,  0,  1,  0,  7,  0, 18,  0,  0,  0,
-  6,  0,160,  0, 44,  3,143,  0, 26,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,193,  1,  0,  0,
-193,  1,  0,  0,111,  0,  0,  0,186,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, 76,  2,
-  0,  0,  5,  0,  3,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,128,112,106,  9,199,  0,  0,  0,  1,  0,  0,  0,176,123,106,  9,
+ 96,111,106,  9,  0,  0,  0,  0,  0,  0, 35, 67,  0,128, 96,196,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 35, 67,  0,128, 96,196,
+  0,  0,  0,  0,163,  0,  0,  0,180,  0,  0,  0, 18,  0,  0,  0,147,  3,  0,  0,  0,  0,  0,  0,162,  0,  0,  0,  0,  0,  0,  0,
+ 17,  0,  0,  0,  0,  0,  0,  0,162,  0,  0,  0, 18,  0,  0,  0,147,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0, 63,  0,  0,  0, 64, 10,  0,  0,  0,  1,  0,  7,  0, 18,  0,  0,  0,  6,  0,180,  0,148,  3,163,  0,
+130,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 31,  4,  0,  0, 31,  4,  0,  0,111,  0,  0,  0,186,  2,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  4,  0,  4,  0,  1,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,160,113,106,  9, 64,122,106,  9,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,160,113,106,  9,197,  0,  0,  0,  1,  0,  0,  0,
+ 16,115,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 32,  1,  0,  0,240, 94, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0, 80, 96, 69, 30,  1,  0,  0,  0,144, 93, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16, 67,  0,  0,206,194,  0,  0,  0,  0,  0,  0,  0,  0,231,102, 16, 67,  0,  0,206,194,
-  0,  0,  0,  0,143,  0,  0,  0,160,  0,  0,  0, 18,  0,  0,  0,119,  0,  0,  0,  0,  0,  0,  0,142,  0,  0,  0,  0,  0,  0,  0,
- 17,  0,  0,  0,  0,  0,  0,  0,142,  0,  0,  0, 18,  0,  0,  0,119,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0, 63,  0,  0,  0, 64, 10,  0,  0,  0,  1,  0,  7,  0, 18,  0,  0,  4,  6,  0,160,  0,120,  0,143,  0,
-102,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,193,  1,  0,  0, 31,  4,  0,  0,111,  0,  0,  0,
-111,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  6,  0, 34,  0,  2,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 84,114, 97,110,115,102,111,114,109,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0, 80, 96, 69, 30,
-  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,160,108, 69, 30,  1,  0,  0,  0,240, 94, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0, 35, 67,  0,128, 96,196,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 35, 67,  0,128, 96,196,  0,  0,  0,  0,163,  0,  0,  0,
-180,  0,  0,  0, 18,  0,  0,  0,147,  3,  0,  0,  0,  0,  0,  0,162,  0,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0,
-162,  0,  0,  0, 18,  0,  0,  0,147,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 63,
-  0,  0,  0, 64, 10,  0,  0,  0,  1,  0,  7,  0, 18,  0,  0,  0,  6,  0,180,  0,148,  3,163,  0,130,  3,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 31,  4,  0,  0, 31,  4,  0,  0,111,  0,  0,  0,186,  2,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  4,  0,  4,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,176, 97, 69, 30,
-  1,  0,  0,  0, 16,107, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0,176, 97, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0, 64, 99, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 62,254,163,  0,110,  1,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 84,114, 97,110,115,102,111,114,109,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65, 64,  1,  0,  0, 16,115,106,  9,197,  0,  0,  0,  1,  0,  0,  0,128,116,106,  9,160,113,106,  9,  0,  0,  0,  0,
+  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,101,110, 99,105,108,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0, 62,254,163,  0,110,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,101,110, 99,105,108,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 88,  1,  0,  0, 64, 99, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,  1,  0,  0,  0,208,100, 69, 30,  1,  0,  0,  0,176, 97, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,
-101,110, 99,105,108,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,
-101,110, 99,105,108,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,
-108,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 81,252,163,  0, 58,  0,  0,  0,  0,  0,
-  4,  0,  0,  0,  0,  0,  0,  0,  6,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0, 81,252,163,  0, 58,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  6,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0,208,100, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0, 96,102, 69, 30,  1,  0,  0,  0, 64, 99, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 51,100,118,105,101,119, 95,112,114,111,112,101,114,116,105,101,115,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,128,116,106,  9,
+197,  0,  0,  0,  1,  0,  0,  0,240,117,106,  9, 16,115,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80,
+ 84, 95, 51,100,118,105,101,119, 95,112,114,111,112,101,114,116,105,101,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80,
+ 84, 95, 51,100,118,105,101,119, 95,112,114,111,112,101,114,116,105,101,115,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 86,105,101,119,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 51,100,118,105,101,119, 95,112,114,111,112,101,114,116,105,101,115,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,235,252,163,  0, 59,  1,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 86,105,101,119,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,235,252,163,  0, 59,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,240,117,106,  9,197,  0,  0,  0,  1,  0,  0,  0, 96,119,106,  9,
+128,116,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 51,100,118,105,101,119, 95,100,105,115,
+112,108, 97,121,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 51,100,118,105,101,119, 95,100,105,115,
+112,108, 97,121,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68,105,115,112,108, 97,121,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,211,252,163,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,
+  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 88,  1,  0,  0, 96,102, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,  1,  0,  0,  0,240,103, 69, 30,  1,  0,  0,  0,208,100, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 51,100,
-118,105,101,119, 95,100,105,115,112,108, 97,121,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 51,100,
-118,105,101,119, 95,100,105,115,112,108, 97,121,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68,105,115,112,108, 97,121,  0,  0,  0,  0,  0,
+ 64,  1,  0,  0, 96,119,106,  9,197,  0,  0,  0,  1,  0,  0,  0,208,120,106,  9,240,117,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114,111,117,110,100, 95,105,109, 97,103,101,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,211,252,163,  0,  0,  0,  0,  0,  0,  0,
-  4,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114,111,117,110,100, 95,105,109, 97,103,101,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 66, 97, 99,107,103,114,111,117,110,100, 32, 73,109, 97,103,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0,240,103, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0,128,105, 69, 30,  1,  0,  0,  0, 96,102, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114,111,117,110,100, 95,105,109, 97,103,101,  0,  0,
+  0,  0,187,252,163,  0,  0,  0, 20,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114,111,117,110,100, 95,105,109, 97,103,101,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 66, 97, 99,107,103,114,111,117,110,100, 32, 73,109, 97,103,101,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,187,252,163,  0,  0,  0, 20,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 88,  1,  0,  0,128,105, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,  1,  0,  0,  0, 16,107, 69, 30,  1,  0,  0,  0,240,103, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,114,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0,208,120,106,  9,197,  0,  0,  0,
+  1,  0,  0,  0, 64,122,106,  9, 96,119,106,  9,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,114,
  97,110,115,102,111,114,109, 95,111,114,105,101,110,116, 97,116,105,111,110,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,114,
  97,110,115,102,111,114,109, 95,111,114,105,101,110,116, 97,116,105,111,110,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
@@ -761,184 +648,167 @@ char datatoc_B_blend[]= {
   4,  0,  0,  0,  0,  0,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 88,  1,  0,  0, 16,107, 69, 30,  1,  0,  0,  0,197,  0,  0,  0,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,105, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 51,100,118,105,101,119, 95,110, 97,109,101,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65, 64,  1,  0,  0, 64,122,106,  9,197,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,208,120,106,  9,
+  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 51,100,118,105,101,119, 95,110, 97,109,101,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 51,100,118,105,101,119, 95,110, 97,109,101,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 51,100,118,105,101,119, 95,110, 97,109,101,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 73,116,101,109,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 73,116,101,109,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,196,255,163,  0, 36,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,196,255,163,  0, 36,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 32,  1,  0,  0,160,108, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 80, 96, 69, 30,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,
+176,123,106,  9,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,128,112,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,193,  1,  0,  0, 31,  4,  0,  0,111,  0,  0,  0,
-186,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 95,  2, 76,  2,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+193,  1,  0,  0, 31,  4,  0,  0,111,  0,  0,  0,186,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 95,  2, 76,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,208,124,106,  9, 68, 65, 84, 65,
+ 72,  3,  0,  0,208,124,106,  9,159,  0,  0,  0,  1,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 25,134,144, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 28, 13,128,191,  0,  0,128,191,
+  0,  0,  0,  0,  0,  0,  0,  0, 74,215, 76,190,  0,  0,  0,  0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63,  0,  0,  0,  0,
+ 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190,  0,  0,  0,  0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,214,211,111,193,  0,  0,128, 63, 69,239,209, 62, 70,119,105, 63,176, 84, 89,188,  0,  0,  0,  0,
+ 53,177,205,190,142, 74, 70, 62,166, 33,101, 63,  0,  0,  0,  0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62,  0,  0,  0,  0,
+164, 96, 68, 65,111,121,173,192,248,209,213, 64,  0,  0,128, 63,178,157,229, 62,215, 62,232,190, 48,180, 81,191,184,158, 81,191,
+117, 90,127, 63,158,227, 95, 62, 26, 63,185, 62, 35, 44,185, 62,145,180,109,188,243, 90,129, 63,138, 84,228,190, 42, 61,228,190,
+  0,  0,  0,  0,  0,  0,  0,  0,  9,185,108, 65,214,211,111, 65, 99,240,191, 62,110,116, 85, 63, 80,185, 70,188,  0,  0, 82,180,
+206, 44,182,190,198,158, 47, 62, 36,239, 74, 63,  0,  0,  8,179, 67,108,117,194,183,204,216, 65,104,156,  5,194,212,247,159,192,
+235, 62,114, 66, 59,254,213,193,157,225,  3, 66, 55,  8,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63,  0,  0,  0,  0,
+ 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190,  0,  0,  0,  0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,214,211,111,193,  0,  0,128, 63,178,157,229, 62,215, 62,232,190, 48,180, 81,191,184,158, 81,191,
+117, 90,127, 63,158,227, 95, 62, 26, 63,185, 62, 35, 44,185, 62,145,180,109,188,243, 90,129, 63,138, 84,228,190, 42, 61,228,190,
+  0,  0,  0,  0,  0,  0,  0,  0,  9,185,108, 65,214,211,111, 65,255,189, 88, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,255,189, 88, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,189, 88, 64,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190,  3,236,234,190,
+214,211,111, 65,214,211,111, 65,  0,  0,  0,  0,  0,  0,  0,  0,234,108, 69, 59,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 48, 40,184, 29,  1,  0,  0,  0, 68, 65, 84, 65,104,  3,  0,  0, 48, 40,184, 29,
-  1,  0,  0,  0,159,  0,  0,  0,  1,  0,  0,  0,  0,  0,140, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
- 25,134,144, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 28, 13,128,191,  0,  0,128,191,  0,  0,  0,  0,
-  0,  0,  0,  0, 74,215, 76,190,  0,  0,  0,  0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63,  0,  0,  0,  0, 70,119,105, 63,
-143, 74, 70, 62, 35, 44,185,190,  0,  0,  0,  0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,214,211,111,193,  0,  0,128, 63, 69,239,209, 62, 70,119,105, 63,176, 84, 89,188,  0,  0,  0,  0, 53,177,205,190,
-142, 74, 70, 62,166, 33,101, 63,  0,  0,  0,  0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62,  0,  0,  0,  0,164, 96, 68, 65,
-111,121,173,192,248,209,213, 64,  0,  0,128, 63,178,157,229, 62,215, 62,232,190, 48,180, 81,191,184,158, 81,191,117, 90,127, 63,
-158,227, 95, 62, 26, 63,185, 62, 35, 44,185, 62,145,180,109,188,243, 90,129, 63,138, 84,228,190, 42, 61,228,190,  0,  0,  0,  0,
-  0,  0,  0,  0,  9,185,108, 65,214,211,111, 65, 99,240,191, 62,110,116, 85, 63, 80,185, 70,188,  0,  0, 82,180,206, 44,182,190,
-198,158, 47, 62, 36,239, 74, 63,  0,  0,  8,179, 67,108,117,194,183,204,216, 65,104,156,  5,194,212,247,159,192,235, 62,114, 66,
- 59,254,213,193,157,225,  3, 66, 55,  8,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63,  0,  0,  0,  0, 70,119,105, 63,
-143, 74, 70, 62, 35, 44,185,190,  0,  0,  0,  0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,214,211,111,193,  0,  0,128, 63,178,157,229, 62,215, 62,232,190, 48,180, 81,191,184,158, 81,191,117, 90,127, 63,
-158,227, 95, 62, 26, 63,185, 62, 35, 44,185, 62,145,180,109,188,243, 90,129, 63,138, 84,228,190, 42, 61,228,190,  0,  0,  0,  0,
-  0,  0,  0,  0,  9,185,108, 65,214,211,111, 65,255,189, 88, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-255,189, 88, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,189, 88, 64,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190,  3,236,234,190,214,211,111, 65,
-214,211,111, 65,  0,  0,  0,  0,  0,  0,  0,  0,234,108, 69, 59,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-255,255,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,128, 63, 32, 33, 12, 66, 85,152,137, 66,116, 27,126, 66,  0,  0,  0,  0, 68, 65, 84, 65,248,  0,  0,  0,
+ 72,128,106,  9,160,  0,  0,  0,  1,  0,  0,  0,176,131,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,
+ 51, 51, 51, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  7,  0,  8,182,110,  9,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  3,  0,  0,  0,  1,  0,  0,  0,  0,  0,  8,  8,
+  0,  0,  0,  0,  0,  0, 12, 66,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,205,204,204, 61,  0,  0,250, 67,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16,  0,  0,  0,  7,  0, 10,  0,  0,  0,  0,  0,
+  1,  0,  0,  0,  3,  0,255,255, 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,112,129,106,  9,199,  0,  0,  0,  1,  0,  0,  0,144,130,106,  9,  0,  0,  0,  0,
+  0,  0,  0,  0,  0, 64,129, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,147, 68,  0,  0,  0,  0,  0,  0,208, 65,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,128, 63, 32, 33, 12, 66, 85,152,137, 66,116, 27,126, 66,  0,  0,  0,  0, 68, 65, 84, 65, 48,  1,  0,  0,  0,110, 69, 30,
-  1,  0,  0,  0,160,  0,  0,  0,  1,  0,  0,  0, 48,114, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0, 51, 51, 51, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,128, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32, 65,  0,  0,  0,  0,  1,  0,  0,  0,
-  1,  0,  7,  0, 48, 44,204, 29,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,151,  4,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,224,202, 68,  0,  0,200, 65,  0,224,202, 68,  0,  0,200, 65,
+  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0,152,  4, 26,  0,152,  4, 26,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,151,  4,  0,  0,101,  0,  0,  0,126,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,152,  4, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  3,  0,  0,  0,
-  1,  0,  0,  0,  0,  0,  8,  8,  0,  0,  0,  0,  0,  0, 12, 66,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,205,204,204, 61,
-  0,  0,250, 67,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16,  0,  0,  0,
-  7,  0, 10,  0,  0,  0,  0,  0,  1,  0,  0,  0,  3,  0,255,255, 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 32,  1,  0,  0,112,111, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,208,112, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0, 64,129, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,147, 68,  0,  0,  0,  0,
-  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,151,  4,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,224,202, 68,  0,  0,200, 65,  0,224,202, 68,
-  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0,152,  4, 26,  0,152,  4,
- 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,151,  4,  0,  0,101,  0,  0,  0,
-126,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,152,  4, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,144,130,106,  9,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
+112,129,106,  9,  0,  0, 64,192,  0,  0,126, 67,  0,  0,  0,  0,  0,  0, 72, 66,112,189, 17,192,246, 70,125, 67,  0,  0,  0,  0,
+  0,  0, 72, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,151,  4,  0,  0,  0,  0,  0,  0,
+ 17,  0,  0,  0,  0,  0,  0,  0,151,  4,  0,  0, 18,  0,  0,  0,121,  2,  0,  0,  0,  0,128, 63,  0,  0, 72, 66,  0,124,146, 72,
+  0,  0, 72, 66,205,204,204, 61,  0,  0, 32, 65, 72,  0,  0,  0,  0,  0,  0,  2,  4,  0,  0,  4,  8,  0,152,  4,122,  2,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,151,  4,  0,  0,127,  0,  0,  0,248,  2,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,152,  4,122,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,172,  0,  0,  0,176,131,106,  9,175,  0,  0,  0,  1,  0,  0,  0,
+  0,  0,  0,  0, 72,128,106,  9,112,129,106,  9,144,130,106,  9, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,208,112, 69, 30,
-  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,112,111, 69, 30,  1,  0,  0,  0,  0,  0, 64,192,
-  0,  0,126, 67,  0,  0,  0,  0,  0,  0, 72, 66,112,189, 17,192,246, 70,125, 67,  0,  0,  0,  0,  0,  0, 72, 66,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,151,  4,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0,
-151,  4,  0,  0, 18,  0,  0,  0,121,  2,  0,  0,  0,  0,128, 63,  0,  0, 72, 66,  0,124,146, 72,  0,  0, 72, 66,205,204,204, 61,
-  0,  0, 32, 65, 72,  0,  0,  0,  0,  0,  0,  2,  4,  0,  0,  4,  8,  0,152,  4,122,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,151,  4,  0,  0,127,  0,  0,  0,248,  2,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,152,  4,122,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,192,  0,  0,  0, 48,114, 69, 30,  1,  0,  0,  0,175,  0,  0,  0,
-  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,110, 69, 30,  1,  0,  0,  0,112,111, 69, 30,  1,  0,  0,  0,208,112, 69, 30,
-  1,  0,  0,  0, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  1,  0,  0,  0,  6,  0,  0,  0, 68, 65, 84, 65, 96,  0,  0,  0,136,132,106,  9,198,  0,  0,  0,  1,  0,  0,  0,
+224,188,106,  9,144,108,106,  9, 56, 36,106,  9, 56, 37,106,  9,120, 37,106,  9,184, 36,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
+191,  1,  0,  0, 85,  0,  0,  0,255,  0,  0,  0,  2,  2,192,  1,171,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+152,137,106,  9,  8,188,106,  9, 24,133,106,  9,120,136,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+ 68, 65, 84, 65,240,  0,  0,  0, 24,133,106,  9,199,  0,  0,  0,  1,  0,  0,  0, 56,134,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,
+  0, 64, 93, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,224, 67,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+191,  1,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,192,103, 68,  0,  0,200, 65,  0,192,103, 68,  0,  0,200, 65,  0,  0,128, 63,
+  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0,192,  1, 26,  0,192,  1, 26,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,191,  1,  0,  0, 85,  0,  0,  0,110,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,192,  1, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,
-  6,  0,  0,  0, 68, 65, 84, 65,160,  0,  0,  0, 48,115, 69, 30,  1,  0,  0,  0,198,  0,  0,  0,  1,  0,  0,  0, 80,172, 69, 30,
-  1,  0,  0,  0, 80, 91, 69, 30,  1,  0,  0,  0,144, 34, 74, 30,  1,  0,  0,  0,192,252, 73, 30,  1,  0,  0,  0,208, 88,141, 22,
-  1,  0,  0,  0, 32,203, 67, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,191,  1,  0,  0, 85,  0,  0,  0,
-255,  0,  0,  0,  2,  2,192,  1,171,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,240,154, 69, 30,
-  1,  0,  0,  0, 80,171, 69, 30,  1,  0,  0,  0, 16,116, 69, 30,  1,  0,  0,  0, 48,120, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,
- 32,  1,  0,  0, 16,116, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,112,117, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0, 64, 93, 68,  0,  0,  0,  0,  0,  0,208, 65,  0,  0,  0,  0,  0,  0,224, 67,  0,  0,  0,  0,
-  0,  0,208, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,191,  1,  0,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,192,103, 68,  0,  0,200, 65,  0,192,103, 68,
-  0,  0,200, 65,  0,  0,128, 63,  0,  0,128, 63,  0,  0,  0,  0,  2,  0,  3,  3,  4,  0, 12,  4, 10,  0,192,  1, 26,  0,192,  1,
- 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,191,  1,  0,  0, 85,  0,  0,  0,
-110,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,192,  1, 26,  0,  0,  0,  1,  0,  2,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,112,117, 69, 30,
-  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,208,118, 69, 30,  1,  0,  0,  0, 16,116, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0, 72, 67,  0,  0,112,193,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 72, 67,  0,  0,254,194,  0,  0,  0,  0,200,  0,  0,  0,
-217,  0,  0,  0, 18,  0,  0,  0,144,  0,  0,  0,  0,  0,  0,  0,199,  0,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,  0,  0,  0,  0,
-199,  0,  0,  0, 18,  0,  0,  0,144,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128, 63,
-  0,  0,128, 63, 10,  6,  0,  0,  2,  0,  3,  3,  0,  0,  0,  4,  6,  0,217,  0,145,  0,200,  0,127,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0, 56,134,106,  9,199,  0,  0,  0,  1,  0,  0,  0, 88,135,106,  9, 24,133,106,  9,
+  0,  0,  0,  0,  0,  0, 72, 67,  0,  0,112,193,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 72, 67,  0,  0,254,194,  0,  0,  0,  0,
+200,  0,  0,  0,217,  0,  0,  0, 18,  0,  0,  0,144,  0,  0,  0,  0,  0,  0,  0,199,  0,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,
+  0,  0,  0,  0,199,  0,  0,  0, 18,  0,  0,  0,144,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,128, 63,  0,  0,128, 63, 10,  6,  0,  0,  2,  0,  3,  3,  0,  0,  0,  4,  6,  0,217,  0,145,  0,200,  0,127,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,216,  0,  0,  0,111,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,217,  0,145,  0,  0,  0,  2,  0,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0, 88,135,106,  9,199,  0,  0,  0,  1,  0,  0,  0,120,136,106,  9,
+ 56,134,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0,208,118, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,
-  1,  0,  0,  0, 48,120, 69, 30,  1,  0,  0,  0,112,117, 69, 30,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,191,  1,  0,  0,191,  1,  0,  0,111,  0,  0,  0,255,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  4,  0,  4,  0,  1,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,240,  0,  0,  0,120,136,106,  9,199,  0,  0,  0,  1,  0,  0,  0,
+  0,  0,  0,  0, 88,135,106,  9,  0,  0, 16,193,  0,  0,130, 67,  0,  0,160,192,  0,  0,160, 64,  0,  0,  0,  0,  0,  0,122, 67,
+  0,  0, 16,193,  0,  0, 32, 65,  0,  0,  0,  0, 17,  0,  0,  0, 18,  0,  0,  0,144,  0,  0,  0, 18,  0,  0,  0,230,  0,  0,  0,
+  0,  0,  0,  0, 17,  0,  0,  0, 18,  0,  0,  0,230,  0,  0,  0, 18,  0,  0,  0,144,  0,  0,  0,111, 18,131, 58,111, 18,131, 58,
+  0,124,146, 72,  0, 80, 67, 71,  0,  0,  0,  0,  0,  0,  0,  0,105,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,231,  0,
+145,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,217,  0,  0,  0,191,  1,  0,  0,111,  0,  0,  0,
+255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,231,  0,145,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,191,  1,  0,  0,191,  1,  0,  0,111,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  4,  0,  4,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 68, 65, 84, 65,208,  0,  0,  0,152,137,106,  9,164,  0,  0,  0,
+  1,  0,  0,  0, 64,142,106,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0, 68, 65, 84, 65, 32,  1,  0,  0, 48,120, 69, 30,  1,  0,  0,  0,199,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,208,118, 69, 30,  1,  0,  0,  0,  0,  0, 16,193,  0,  0,130, 67,  0,  0,160,192,  0,  0,160, 64,  0,  0,  0,  0,
-  0,  0,122, 67,  0,  0, 16,193,  0,  0, 32, 65,  0,  0,  0,  0, 17,  0,  0,  0, 18,  0,  0,  0,144,  0,  0,  0, 18,  0,  0,  0,
-230,  0,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0, 18,  0,  0,  0,230,  0,  0,  0,&nbs